Table of Contents | ||||
---|---|---|---|---|
|
...
Перевірити, що created_at, started_at, ended_at в форматі дати
в разі помилки повернути код 422 в повідомленні ("expected \"%{actual}\" to be a valid ISO 8601 date")
Перевірити ended_at >= started_at
якщо помилка - повернути код 422 (повідомлення: "Ended date must be >= Started date!")
Перевірити started_at` >= created_at
якщо помилка - повернути код 422 (повідомлення: "Started date must be >= Created date!")
Перевірити started_at >= current_date()
якщо помилка - повернути код 422 (повідомлення: "Started date must be >= current date!")
Перевірити created_at >= current_date() - mrr_delay_input
якщо помилка - повернути код 422 (повідомлення: "Create date must be = current date!")
Перевірити started_at у відповідності до частоти отримання препаратів
отримати $.medical_programs.medical_program_setting по medical_program_id з запиту
перевірити параметр skip_mnn_in_treatment_period
в разі skip_mnn_in_treatment_period == FALSE (or absent)
перевірити запит на відповідність: /wiki/spaces/MRIN/pages/2041217051
в разі skip_mnn_in_treatment_period == TRUE
пропустити перевірку періодичності отримання препаратів
Перевірити created_at у відповідності до періодичності отримання препаратів
отримати $.medical_programs.medical_program_setting по medical_program_id з запиту
перевірити параметр skip_mnn_in_treatment_period
в разі skip_mnn_in_treatment_period == FALSE (або відсутня)
перевірити запит у відповідності до логіки: /wiki/spaces/MRIN/pages/2041217051
в разі skip_mnn_in_treatment_period == TRUE
пропустити перевірку періодичності отримання препаратів
Перевірити тривалість періоду (ended_at - started_at):
Якщо медична программа була вказана:
перевірити запит на відповідність логіки: PreQualify Medication request: 7. Validate period
в іншому випадку:
Перевірити, що період рецепту меньше або дорівнює MEDICATION_REQUEST_MAX_PERIOD_DAY параментру з чартів
в разі помилки - повернути код 409 “Period length exceeds default maximum value“
...
Згенерувати номер для рецепту (See specs)
Code Block Structure number XXXX-1234-5678-9012-345-C , where: - XXXX - series: numbers + only some letters (A, E, H, K, M, P, T, X) - 1234-5678-9012-345 - randomly generated numbers - C - checksum: Should be calculated using the Damn algorithm or Verhoeff algorithm After new Request number was generated we should check that it is unique in the DB (entity: medication_request + medication_request_request
Згенерувати verification_code для MPI.person_authentication_methods == OTP або OFFLINE
Code Block Structure code 1234, where: - 1234 - randomly generated numbers
...