Table of Contents | ||||
---|---|---|---|---|
|
Required parameters are marked with "*"
Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.
Purpose*
This web service is designed to cancel episode in case it was entered in error
...
Specification*
Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Request to process the request using a token in the headers
Headers*
Наприклад:
Content-Type:application/json
Authorization:Bearer mF_9.B5f-4.1JqM
...
Check user scopes in order to perform this action (scope = 'episode:write')
Return 403 in case invalid scope(s)
Validate legal entity
Validate episode belongs to the legal entity where the current user works
ME.episode.managing_organization==token.client_id
in case of error return 422 "Managing_organization does not correspond to user`s legal_entity"
Validate request
Validate episode is not already canceled
ME.patients{patient_id}.episodes{episode_id}.status!="entered_in_error"
in case of error "Episode in <status> can not be canceled"
Validate that "canceleation_reason" is a valid value from the corresponding dictionary
$.cancellation_reason.coding[*].system == "eHealth/cancellation_reasons"
Validate that all encounters created on episode are already canceled
ME.patients{patient_id}.episodes{episode_id}.encounters{*}.status != `entered_in_error`
in case of error - "Episode can not be canceled while it has not canceled encounters"
Processing*
Set the status of the episode in "entered_in_error"
Set $.cancellation_reason to ME.patients.episodes.status_reason
Set explanatory_letter
Create a record in ME.episode.status_history
Response structure*
See on Apiary
...