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

[DRAFT] Get Conditions by search params [API-007-004-003-0249]

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

https://e-health-ua.atlassian.net/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Properties of a REST API method document

Document type

Метод REST API

Document title

[DRAFT] Get Conditions by search params [API-007-004-003-0249]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-007-004-003-0249

Microservices (namespace)

ME

Component

EDP

Component ID

COM-007-004

Link на API-специфікацію

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/conditions/get-conditions-by-search-params

Resource

{{host}}/api/patients/{{patient_id}}/conditions

Scope

condition:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This web service is designed to return conditions by episode_id or encouner_id.

Logic

N/A

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

Input parameter

Mandatory

Type

Description

Example

1

 

 

 

 

 

2

 

 

 

 

 

Request structure

See on API-specification

Headers

Headers

Request data validation

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 = 'condition:read')

    • Return 403 in case invalid scope(s)

Access to the resource is also managed by ABAC module

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 conditions where ME.patients{patient_id}.conditions{*}.context.identifier.value == Select 1

Response structure examples

See on API-specification

{ "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": [ { "id": "6fe6d880-f100-4e39-a278-1d14eb8472ef", "primary_source": true, "asserter": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ], "text": "" }, "value": "97d57238-ffbe-4335-92ea-28d4de117ea2" } }, "context": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" }, "code": { "coding": [ { "system": "eHealth/ICD10/condition_codes", "code": "K87" } ] }, "clinical_status": "active", "verification_status": "provisional", "severity": { "coding": [ { "system": "eHealth/condition_severities", "code": "55604002" } ] }, "body_sites": [ { "coding": [ { "system": "eHealth/body_sites", "code": "head" } ] } ], "onset_date": "2018-10-08T09:46:37.694Z", "asserted_date": "2018-10-08T09:46:37.694Z", "inserted_at": "2018-08-02T10:45:16.000Z", "updated_at": "2018-08-02T10:45:16.000Z", "stage": { "summary": { "coding": [ { "system": "eHealth/condition_stages", "code": "14803004" } ] } }, "evidences": [ { "codes": [ { "coding": [ { "system": "eHealth/ICPC2/reasons", "code": "169068008" } ] } ], "details": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "observation" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "null" } ] } ] } ], "paging": { "page": 2, "page_size": 50, "total_entries": 1000, "total_pages": 20 } }

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

 

200

 

 

 

3

 

401

 

Access token validation failed

 

4

 

403

 

Invalid scope

 

5

Специфічні

6

 

 

 

 

 

Post-processing processes

N/A

Technical modules where the method is used

 

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