Table of Contents |
---|
Specification
...
This WS is designed to recall (cancel) previously created and signed Medication request (patch).
Input parameters (filters)
- id
- reason
Authorize
- Verify the validity of access token
- Check user scope (scope = 'medication_request:reject') in order to perform this action
- In case error - generate 401 response
...
- check if tax_id in DS = (SELECT parties.tax_id from party_users join parties on party_users.party_id=parties.id where party_users.user_id=$.user;)
- in case error return error 422, "Invalid drfo in DS"
Check signed content
Check that signed content contains all required fields and is equal to stored object
- Decode signed content
- Render requested medication request
- Check that rendered and decoded data matches
Note! Medication request with intent plan and order has different structure
- Medical program is optional object in order
- Medical program is absent in plan
Validation transition
- For info - status charts: Medication_request
- Get Medication request status by $.id
- Check status of medication request == ACTIVE
- if invalid - return 409 error (message: "Invalid status Medication request for reject transition!")'
- Check connected medication dispenses medication_dispenses.status !== PROCESSED or NEW
- if invalid - return 409 error (message: "Medication request with connected processed medication dispenses can not be rejected")
- Validate request using JSON schema
- In case validation fails - generate 422 error
- Validate content. Check equality decoded signed content with previously created medication request, except, "Reason"!
- in case error return 422, "Signed content does not match the previously created content."
...
field | value |
---|---|
event_type | StatusChangeEvent |
entity_type | MedicationRequest |
entity_id | $.id |
properties.status. | $.status |
event_time | $.update_at |
changed_by | $.changed_by |
...