Операция отметки об ошибочности отпуска по электронному рецепту
POST MedicationDispense\{id}\$set-as-error
Ограничения и логика работы операции:
- Отменить отоваривание можно только у активного (MedicationPrescription.status = active) или завершенного (MedicationPrescription.status = completed) электронного рецепта. Если это условие не выполняется, то возвращается статус 400.
- Отменить отоваривание можно только у электронного рецепта с активным сроком действия (сегодняшняя дата попадает в период MedicationPrescription.Dispense.validityPeriod). Если это условие не выполняется, то возвращается статус 400.
- Можно отменить отоваривание, только если ресурс MedicationDispense.status = completed ИЛИ MedicationDispense.status = in-progress. Если это условие не выполняется, то возвращается статус 400.
- Происходит установка статуса MedicationDispense.status = entered-in-error.
- У всех отовариваний электронного рецепта отменяется флаг последнего отпуска (т.е. устанавливается MedicationDispense.extension:finalDispense = false).
- Электронный рецепт указанного отоваривания становится активным (MedicationPrescription.status = active).
- Если с указанным отовариванием связан ресурс Claim, то он удаляется.
- Отменять отоваривание может только та организация, которая его создала.
Аутентификация
При работе с FHIR-сервером для получения валидного токена аутентификации необходимо запрашивать scope "EHR.MedicationDispense.$set-as-error"
Входящие параметры
Name | Cardinality | Type | Documentation |
---|---|---|---|
id | 1..1 | id | Идентификатор отоваривания по электронному рецепту, которое следует отменить |
Параметры операции должны быть переданы в URL
Возвращаемый результат
Name | Cardinality | Type | Documentation |
---|---|---|---|
MedicationDispense | 1..1 | MedicationDispense | Отоваривания по электронному рецепту |
Возвращаемые коды состояния HTTP:
- HttpStatusCode 200 OK - при успешной отметке об ошибочности.
- HttpStatusCode 400 BadRequest - если входящие параметры не прошли правила валидации.
- HttpStatusCode 404 NotFound - если один из ресурсов, необходимых для выполнения операции, не найден