ЕСОЗ - публічна документація

Get Observations by search params

Purpose

This web service is designed to return observations by patient_id, episode_id, diagnostic_report_id or encouner_id.

 

Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/observation/get-observations-by-searh-params

Resource

/api/patients/{{patient_id}}/observations

Scope

observation:read

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private/Internal

Public

 

Filters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

page

 

Number

Page number

1

page_size

 

Number

A limit on the number of objects to be returned, between 1 and 100. Default: 50

50

code

 

String

 

10569-2

encounter_id

 

String

 

09dc3ed7-2169-45d8-8fa3-d918c6839bf9

diagnostic_report_id

 

String

 

09dc3ed7-2169-45d8-8fa3-d918c6839bf9

episode_id

 

String

 

f48d1b6c-a021-4d6a-a5a4-aee93e152ecc

issued_from

 

String

 

1990-01-01

issued_to

 

String

 

2000-01-01

 

Request structure

See on Apiary

 

Authorize

Request to process the request using a token in the headers

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401 

  • Check user scopes in order to perform this action (scope = 'observation:read')

    • Return 403 in case invalid scope(s)

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

 

Request data validation

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:

  1. Select all encounters.id where ME.patinents{patient_id}.encounters{*}.episode.identifier.value== episode_id

  2. Select all observations where ME.patients{patient_id}.observationd{*}.context.identifier.value == Select 1

 

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", "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 } }

 

Post-processing processes

API paragraph not found

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

 200

 

 

401

 

Access token validation failed

403

 

Invalid scope

ЕСОЗ - публічна документація