Table of Contents | ||||
---|---|---|---|---|
|
Required parameters are marked with "*"
Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.
Purpose*
This API allows to cancel the activity with specifying a status reason in cases it has been rejected or entered in errormethod must be used to cancel of existing activity from patient's Care plan.
Specification*
Page Properties | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Logic*
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.
Specification
...
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 structure*
See on Apiary
Example:
Expand | ||
---|---|---|
| ||
|
Authorize*
Verify the validity of access token
Return (401, 'Invalid access token') in case of validation fails
Verify that token is not expired
in case of error - return (401, 'Invalid access token')
Check user scopes in order to perform this action (scope = 'care_plan:write')
Return (403, 'Your scope does not allow to access this resource. Missing allowances: care_plan:write') in case of invalid scope(s)
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
Request data validation*
Validate legal entity
Extract client_id from token
Check legal entity status is ACTIVE
In case of error - return 409 (Legal entity must be ACTIVE)
Check legal entity type in ME_ALLOWED_TRANSACTIONS_LE_TYPES config parameter
in case of error - return 409 ('client_id refers to legal entity with type that is not allowed to create medical events transactions')
...
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
Example:
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
|
Post-processing processes*
API paragraph not found
HTTP status codes*
Page Properties | |||||||||
---|---|---|---|---|---|---|---|---|---|
|