Purpose
This web service is designed to return only diagnostic reports that were allowed to read by patient's approval to the current user.
Specification
Link | MEDICAL EVENTS MIS API · Apiary |
Resource | /api/patients/{{patient_id}}/diagnostic_reports/approved |
Scope | diagnostic_report:read |
Components | Diagnostic Report Data Package |
Microservices | API paragraph not found |
Protocol type | REST |
Request type | GET |
Sync/Async | Async |
Public/Private/Internal | Public |
Filters
| | | | |
---|
page | | Number | Page number | 2
|
page_size | | Number | A limit on the number of objects to be returned, between 1 and 100. Default: 50 | 50
|
code | | String | id of a service | 09dc3ed7-2169-45d8-8fa3-d918c6839bf9
|
Request structure
See on Apiary
Authorize
Request to process the request using a token in the headers
Verify the validity of access token
Verify token is not expired
Check user scopes in order to perform this action (scope = 'diagnostic_report:read')
Return 403 in case invalid scope(s)
Headers
Request data validation
Processing
Logic
Select all diagnostic reports(approvals.granted_resources.identifier.value) from patients approvals that meet the requirements:
patient_id= hashed patient_id from URL
status= 'active'
granted_to contains one of user's employees' id
granted_resources.identifier.type.coding[].code="diagnostic_report"
Select this diagnostic reports from ME.patients.diagnostic_reports
Add filters requested by the user (search params)
Response structure
See on Apiary
Example:
{
"meta": {
"code": 200,
"url": "http://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": [
{
"id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600",
"based_on (Reference_response, optional)": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "service_request"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
"paper_referral": {
"requisition": "1111-2222-3333-4444",
"requester_legal_entity_name": "Some clinic",
"requester_legal_entity_edrpou": "12345678",
"requester_employee_name": "John",
"service_request_date": "2018-10-08",
"note": "Some notes"
},
"status": "final",
"code": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "service"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"category": [
{
"coding": [
{
"system": "eHealth/diagnostic_report_categories",
"code": "diagnostic_procedure"
}
]
}
],
"effective_period": {
"start": "2018-08-02T10:45:16.000Z",
"end": "2018-08-02T11:00:00.000Z"
},
"issued": "2018-10-08T09:46:37.694Z",
"conclusion": "At risk of osteoporotic fracture",
"conclusion_code": {
"coding": [
{
"system": "eHealth/ICD10_AM/condition_codes",
"code": "H04.2"
}
]
},
"recorded_by (Reference_response, required)": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "employee"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "Опанасенко Олексій Володимирович"
},
"inserted_at": "2018-08-02T10:55:00.000Z",
"updated_at": "2018-08-02T10:55:00.000Z",
"encounter": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "encounter"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"origin_episode (Reference_response, optional)": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "episode"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
"division": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "division"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "Перше відділення обласної лікарня №1"
},
"managing_organization (Reference_response, optional)": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "patient"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "Київська обласна лікарня №1"
},
"results_interpreter": {
"reference": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "employee"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "Опанасенко Олексій Володимирович"
}
},
"primary_source": true,
"explanatory_letter": "Звіт був відмінений у зв'язку з помилкою при виборі пацієнта",
"cancellation_reason": {
"coding": [
{
"system": "eHealth/cancellation_reasons",
"code": "misspelling"
}
],
"text": ""
}
}
],
"paging": {
"page": 2,
"page_size": 50,
"total_entries": 1000,
"total_pages": 20
}
}
Post-processing processes
API paragraph not found
HTTP status codes
| | |
---|
200 | | |
401 | Unauthorized | |
403 | Invalid scopes | |