Table of Contents | ||||
---|---|---|---|---|
|
Required parameters are marked with "*"
Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.
Purpose*
This method must be used to cancel of existing activity from patient's Care plan.
...
Specification*
Page Properties | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
This method must be used to cancel of existing activity from patient's Care plan. Method receives signed message (pkcs7) that consists of signed content, digital signature and signer public key. All signature fields will be validated (including signer certificate authority)
Important
Signed content of activity must be equal to activity stored in DB. See Get Care plan activity by ID
$.detail.status_reason must be changed in signed content
Please see Care plan status model and Dummy Cancel Care plan activity for more details
It can be processed in both sync and async methods depends on Server decision.
Key points
Status can be changed by employee who has an Approval granted by the patient on write Care plan resource.
Cancel should be signed with DS. So, all the activity data should be submitted.
Activities status has changed in async way. The result of the job should be a link on the Care plan activity details.
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
patient_id | String | MPI identifier of the patient |
| |
care_plan_id | String | Care Plan identifier |
| |
id | String | activity identifier |
|
...
Request to process the request using a token in the headers
Headers*
Наприклад:
Content-Type:application/json
Authorization:Bearer mF_9.B5f-4.1JqM
api-key:aFBLVTZ6Z2dON1V
...
if activity kind = medication_request:
Check there is no medication request requests in status
NEW
based on the activityin case of error - return 409 (Unable to cancel activity with new Medication Request requests).
Check there is no medication requests in status
ACTIVE
based on the activityin case of error - return 409 (Unable to cancel activity with active Medication requests).
if activity kind = service_request:
Check availability of service requests with status = active.If such service requests exist, then needs to check availability of service requests with program_processing_status:
if program_processing_status is undefined (NULL), then return error 409 (Unable to cancel activity with Service requests in status <status value> and program processing status is NULL or not completed)
if program_processing_status is defined, then needs to check that program_processing_status = complete. Otherwise, return error 409 (Unable to cancel activity with Service requests in status <status value> and program processing status is NULL or not completed)
Validate content
Signed content must match with activity in DB in order to be changed
Render activity from DB
Exclude $.detail.status_reason from signed content
Compare rendered activity and signed content
In case both object doesn't match - return 422 ('Signed content doesn't match with previously created activity')
Processing*
Service logic
Save signed content to media storage
Update activity status (update also updated_at, updated_by)
Set detail.status_reason
Response structure*
See on Apiary
...