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

Get Procedures by search params

Purpose

This metod is designed to return records about procedures by patient_id or/and search_params.

 

Specification

Link

MEDICAL EVENTS MIS API · Apiary

Resource

/api/patients/{{patient_id}}/procedures

Scope

procedure:read

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

 

Filters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

patient_id

 

String

Unique patient identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

episode_id

 

String

Unique episode identifier, look into episode in encounter

ef30f210-5328-4f48-bfe6-c7150d4737a6

status

 

Enum

status of procedure

COMPLETED

based_on

 

String

Unique service request identifier

ef30f210-5328-4f48-bfe6-c7150d4737a6

code

 

String

 

9075e0e2-6b57-47fd-aff7-324806efa7e6

managing_organization_id

 

String

Unique legal entity identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

encounter_id

 

String

Unique encounter identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

origin_episode_id

 

String

Unique episode identifier, look into episode in procedures.origin_episode

ef30f210-5328-4f48-bfe6-c7150d4737a6

 

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 = 'procedure: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.

Validation

  1. validate person_id

    1. validate $person_id is existing ID in mpi.persons.id And person is_active=true and status='active

      1. in case error return 404, "Person not found"

 

Processing

API paragraph not found

 

Response structure

See on Apiary

Example:

{ "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": [ { "id": "7075e0e2-6b57-47fd-aff7-324806efa7e5", "based_on": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "service_request" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "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": "COMPLETED", "status_reason": { "coding": [ { "system": "eHealth/procedure_status_reasons", "code": "default" } ] }, "code": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "service" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "performed_date_time": "2018-08-02T10:55:00.000Z", "recorded_by": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "Шевченко Олесь Вікторович" }, "primary_source": true, "performer": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ], "text": "Галина Олександрівна" }, "value": "97d57238-ffbe-4335-92ea-28d4de117ea2" } }, "division": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "division" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "managing_organization": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "legal_entity" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "Перше відділення обласної лікарня №1" }, "reason_references": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } } ], "outcome": { "coding": [ { "system": "eHealth/procedure_outcomes", "code": "default_outcome" } ] }, "note": "Додаткова інформація по процедурі", "category": { "coding": [ { "system": "eHealth/procedure_categories", "code": "default" } ] }, "encounter": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "explanatory_letter": "Процедура була відмінена у зв'язку з помилкою при виборі пацієнта", "origin_episode (Reference_response, optional)": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "episode" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "complication_details": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" } ] } ], "paging": { "page": 2, "page_size": 50, "total_entries": 1000, "total_pages": 20 } }
  1. Return response according to json schema

  2. Filter response using submitted query params

    1. Query param device_id must be applied to focal_device

  3. Return procedures where

    1. managing_organization.identifier.value=$Client_id

    2. consumer_id is a doctor with active declaration for current patient ($.person_id)

 

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 denied

 

403

Invalid scopes

 

404

Patient not found

 

 

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