Purpose Resend sms on service request
Specification
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:
Response 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_reference": [
{
"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": "employee"
}
]
},
"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"
}
]
},
"quantity": {
"value": 10,
"system": "SERVICE_UNIT",
"code": "PIECE",
"unit": "шт"
},
"remaining_quantity": {
"value": 10,
"system": "SERVICE_UNIT",
"code": "PIECE",
"unit": "шт"
},
"used_by_legal_entity_history": [
{
"used_by_legal_entity": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "legal_entity"
}
]
},
"value": "c5a6d991-0bf7-476f-b3cf-bec83f044b2a"
},
"display_value": "null"
},
"inserted_at": "2018-08-02T10:45:16.000Z",
"inserted_by": "f7bdce4c-9d6e-4b08-913c-97c4b972f9be"
}
],
"used_by_employee_history": [
{
"used_by_employee": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "employee"
}
]
},
"value": "c5a6d991-0bf7-476f-b3cf-bec83f044b1b"
},
"display_value": "null"
},
"inserted_at": "2018-08-02T10:45:16.000Z",
"inserted_by": "f7bdce4c-9d6e-4b08-913c-97c4b972f9be"
}
],
"status_reason": {
"coding": [
{
"system": "eHealth/service_request_recall_reasons",
"code": "cured"
}
]
}
},
"meta": {
"code": 201,
"url": "http://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
}
}
Response example
{
"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