Note |
---|
Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою. |
Info |
---|
/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document) |
Table of Contents |
---|
Properties of a REST API method document
Page Properties | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
|
Purpose
This web service is designed to return observations by patient_id, episode_id or encouner_idlist for a specified patient.
Logic
Description of the working algorithm of the API method and the interaction of services with each other add Service logic (if necessary)
Configuration parameters
Description of the configuration parameters that are used when processing a request in the system
Dictionaries
Provides a list of links to dictionaries that are available in ConfluenceN/A (Not applicable)
Configuration parameters
N/A (Not applicable)
Dictionaries
eHealth/resources - patient (parameter “patient_id“ in request)
eHealth/observation_statuses(parameter “status“ in response)
eHealth/resources - diagnostic_report (parameter “diagnostic_report“ in response)
eHealth/resources - encounter (parameter “context“ in response)
eHealth/observation_categories(parameter “categories“ in response)
eHealth/LOINC/observation_codes (parameter “code“ in request/response)
eHealth/resources - employee (parameter “performer“ in response)
eHealth/report_origins (parameter “report_origin“ in response)
eHealth/observation_interpretations (parameter “interpretation“ in response)
eHealth/body_sites (parameter “body_site“ in response)
eHealth/observation_methods (parameter “method“ in response)
eHealth/ucum/units (parameter “reference_ranges:low; reference_ranges:high;“ in response)
eHealth/reference_range_types (parameter “type“ in response)
eHealth/reference_range_applications (parameter “applies_to“ in response)
eHealth/ucum/units (parameter “age:low; age:high;“ in response)
eHealth/resources - specimen (parameter “specimen“ in response)
eHealth/resources - equipment (parameter “device“ in response)
Input parameters
...
Authorization
...
Bearer mF_9.B5f-4.1JqM
...
Authorization:Bearer mF_9.B5f-4.1JqM
...
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | patient_id | M | String | Unique MPI patient identifier |
|
2 |
Request structure
See on API-specification
...
title | Example |
---|
...
Headers
...
Key
...
Value
...
Mandatory
...
Description
...
Example
...
Content-Type
...
application/json
...
M
...
Тип контенту
...
Content-Type:application/json
code |
| String |
|
| |
3 | issued_from |
| String |
|
|
4 | issued_to |
| String |
|
|
5 | page |
| Number | Page number |
|
6 | page_size |
| Number | A limit on the number of objects to be returned, between 1 and 100. Default: 50 |
|
Request structure
See on API-specification
Headers
Authorize
Request to process the request using a token in the headers
Request data validation
Validate token
Verify the validity of access token
Return 401 in case validation fails
Verify token is not expired
in case error return 401
Validate scopes
Check user scopes in order to perform this action (scope = 'observation
patient_summary:read
')Return 403 in case invalid scope(s)
Access to the resource is also managed by ABAC module.
Validate patient
Validate patient exists in MongoDB
In case of error return 404 not found
...
Processing
In case episode_id was submitted as a search param:
Select all encounters.id where ME.patinents{patient_id}.encounters{*}.episode.identifier.value== episode_id
Select all observations where ME.patients{patient_id}.observationd{*}.context.identifier.value == Select 1
Response structure examples
...
Get all patient's observations
Filter using configuration param
SUMMARY_OBSERVATIONS_ALLOWED
in order to return only allowed codesApply filters provided by user
Render a response according to specification
Response structure examples
See on API-specification
...
title | Example |
---|
...
...
{
"meta": {
"code": 200,
"url": "http://example.com/resource",
"type": "object",
"request_id": "req-adasdoijasdojsda"
},
"data": [
{
"id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600",
"status": "valid",
"diagnostic_report (Reference_response, optional)": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "diagnostic_report"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
}
},
"context": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "encounter"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "null"
},
"categories": [
{
"coding": [
{
"system": "eHealth/observation_categories",
"code": "vital_signs"
}
]
}
],
"code": {
"coding": [
{
"system": "eHealth/LOINC/observation_codes",
"code": "10569-2"
}
]
},
"effective_date_time": "2018-10-08T09:46:37.694Z",
"issued": "2018-08-02T10:45:16.000Z",
"inserted_at": "2018-08-02T10:45:16.000Z",
"updated_at": "2018-08-02T10:45:16.000Z",
"primary_source": false,
"performer": {
"identifier": {
"type": {
"coding": [
{
"system": "eHealth/resources",
"code": "employee"
}
]
},
"value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
},
"display_value": "Шевченко Олесь Вікторович"
},
"interpretation": {
"coding": [
{
"system": "eHealth/observation_interpretations",
"code": "L"
}
]
},
"comment": "Some comment",
"body_site": {
"coding": [
{
"system": "eHealth/body_sites",
"code": "head"
}
]
},
"method": {
"coding": [
{
"system": "eHealth/observation_methods",
"code": "anamnesis"
}
]
},
"value_quantity": {
"value": 0,
"comparator": ">",
"unit": "kg",
"system": "eHealth/ucum/units",
"code": "kg"
},
"reference_ranges": [
{
"low": {
"value": 0,
"comparator": ">",
"unit": "kg",
"system": "eHealth/ucum/units",
"code": "kg"
},
"high": {
"value": 0,
"comparator": "<",
"unit": "kg",
"system": "eHealth/ucum/units",
"code": "kg"
},
"type": {
"coding": [
{
"system": "eHealth/reference_range_types",
"code": "normal"
}
]
},
"applies_to": {
"coding": [
{
"system": "eHealth/reference_range_applications",
"code": "male"
}
]
},
"age": {
"low": {
"value": 18,
"comparator": ">",
"unit": "years"
},
"high": {
"value": 35,
"comparator": "<",
"unit": "years"
}
},
"text": "Some text"
}
]
}
],
"paging": {
"page": 2,
"page_size": 50,
"total_entries": 1000,
"total_pages": 20
}
}
HTTP status codes
Response code | HTTP Status code | Message | Internal name | Description | |
---|---|---|---|---|---|
1 | Базові | ||||
2 |
| 200 |
| Response |
|
3 |
Специфічні
| 401 |
| Access token validation failed |
| |
4 |
| 401 |
| Access token expired |
|
5 |
| 403 | Your scope does not allow to access this resource. Missing allowances: patient_summary:read | Forbiden |
|
6 |
| 404 |
| Not found |
|
7 | Специфічні |
Post-processing processes
Description of actions performed on data after processingN/A (Not applicable)
Technical modules where the method is used
List of pages describing technical modules where the method is used
...
N/A (Not applicable)