Purpose
Resend sms on service request
Specification
Link | MEDICAL EVENTS MIS API · Apiary |
Resource | /api/patients/{{patient_id}}/service_requests/{{service_request_id}}/actions/resend |
Scope | service_request:use |
Components | Service request |
Microservices | API paragraph not found |
Protocol type | REST |
Request type | PATCH |
Sync/Async | Async |
Public/Private/Internal | Public |
Logic
Method to resend sms on service request. It can be processed in both sync and async methods depends on Server decision.
Input parameters
| | | | |
---|
patient_id | | String | Unique patient identifier | 7075e0e2-6b57-47fd-aff7-324806efa7e5
|
service_request_id | | String | Unique service request identifier | aff00bf6-68bf-4b49-b66d-f031d48922b3
|
Request structure
API paragraph not found
Authorize
Verify the validity of access token
Verify that token is not expired
Check user scopes in order to perform this action (scope = 'service_request:write')
Return (403, 'invalid scopes') in case of invalid scope(s)
Request to process the request using a token in the headers
Headers
Наприклад:
Request data validation
Validate transition
Check if service request with service_request_id from request is exist
in case of error - return 404 (“Not found”) in case of validation fails
Validate person
Check if person with patient_id from request is exist
in case of error - return 404 (“Not found”) in case of validation fails
Check if person with patient_id from request is not preperson
in case of validation fails skip all steps below
Validate legal entity
Check that legal_entity_type is included in chart variables ME_ALLOWED_TRANSACTIONS_LE_TYPES
config parameter
in case of error return 409 "Action is not allowed for the legal entity"
Check that legal_entity has status = active
in case of error return 409 "Action is not allowed for the legal entity"
Validate service_request
Check that status = ‘active' and ProgramProcessinStatus in (’new', ‘in_queue')
in case of error - return 409 error ('You can not resend SMS for service request in status %status%')
in case of error - return 409 error ('You can not resend SMS for service request in program processing status %program_processing_status%')
Processing
Service logic
Send SMS to patient (if authentication_method_current == SMS)
Template = SERVICE_REQUEST_CREATE_SMS
Get person's authentication_method of MPI
If authentication_method == OTP - send SMS:
Generate text SMS (call Man method- templates rendering service with template SERVICE_REQUEST_CREATE_SMS
.
Send SMS
Save internal information to corresponding DB
Response structure
See on Apiary
Example:
{
"data": {
"id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600",
"requisition": "AX654654T",
"status": "active",
"program": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "medical_program"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"program_processing_status": "new",
"status_history": [
{
"status": "closed",
"status_reason": {
"coding": [
{
"system": "eHealth/service_request_recall_reasons",
"code": "cured"
}
]
},
"inserted_at": "2018-08-02T10:45:16.000Z"
}
],
"program_processing_status_history": [
{
"program_processing_status": "new",
"inserted_at": "2018-08-02T10:45:16.000Z",
"inserted_by": "f7bdce4c-9d6e-4b08-913c-97c4b972f9be"
}
],
"program_service": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "program_service"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"intent": "order",
"priority": "routine",
"based_on": [
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "care_plan"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "activity"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
}
],
"category": {
"coding": [
{
"system": "eHealth/SNOMED/service_request_categories",
"code": "409063005"
}
]
},
"code": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "service"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"subject": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "patient"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"context": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "encounter"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"occurrence_period": {
"start": "2018-08-02T10:45:16.000Z",
"end": "2018-08-02T11:00:00.000Z"
},
"requester_employee": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "employee"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"requester_legal_entity": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "legal_entity"
}
]
},
"value": "75a6d991-0bf7-476f-b3cf-bec83f044b2a"
},
"display_value": "null"
},
"reason_references": [
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "condition"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
}
],
"supporting_info": [
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "episode_of_care"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
}
],
"note": "Some notes",
"patient_instruction": "Some patient instructions",
"expiration_date": "2018-08-02T10:45:16.000Z",
"permitted_resources": [
{
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "episode_of_care"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
}
],
"used_by_employee": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "legal_entity"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"inserted_at": "2018-08-02T10:45:16.000Z",
"updated_at": "2018-08-02T10:45:16.000Z",
"completed_with": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "diagnostic_report"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"used_by_legal_entity": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "legal_entity"
}
]
},
"value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a"
},
"display_value": "null"
},
"performer": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "legal_entity"
}
]
},
"value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a"
},
"display_value": "Опанасенко Олексій Володимирович"
},
"location_reference": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "division"
}
]
},
"value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a"
},
"display_value": "null"
},
"performer_type": {
"coding": [
{
"system": "SPECIALITY_TYPE",
"code": "DIETETICS"
}
]
}
},
"meta": {
"code": 201,
"url": "http://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
}
}
{
"data": {
"status": "pending",
"eta": "2018-08-02T10:45:16.000Z",
"links": [
{
"entity": "job",
"href": "/Jobs/NBXk9EyErUZv1RhXgyvgg"
}
]
},
"meta": {
"code": 202,
"url": "http://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
}
}
Post-processing processes
API paragraph not found
HTTP status codes
| | |
---|
200 | | |
201 | use payload from response | sync |
202 | use Get job details to get processing result. Response payload will be returned in the job details | async: default method |