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

[DRAFT] Get Clinical Impression by search params [API-007-004-002-0247]

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

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 Clinical Impression by search params [API-007-004-002-0247]

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-002-0247

Microservices (namespace)

ME

Component

EDP

Component ID

COM-007-004

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

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

Resource

{{host}}/api/patients/{{patient_id}}/clinical_impressions

Scope

clinical_impression:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

This method allows to get Clinical impression list for a specified patient filtered by search params.

Logic

Service returns all Clinical impressions related to the patient filtered by submitted parameters:

  • Get all Clinical impressions by patient_id from clinical_impressions collection (MongoDB)

  • Filter list above by submitted search parameters

  • Render a response according to specification with found Clinical impression entities.

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

Key

Value

Mandatory

Description

Example

Key

Value

Mandatory

Description

Example

1

Content-Type

application/json

M

Тип контенту

Content-Type:application/json

2

Authorization

Bearer {{access_token}}

 

 

Authorization:Bearer {{access_token}}

3

API-key

{{secret}}

 

 

API-key:{{secret}}

Request data validation

Authorize

  • Verify the validity of access token

    • Return (401, 'unauthorized') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'unauthorized')

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

    • Return (403, 'invalid scopes') in case of invalid scope(s)

Access to the resource is also managed by ABAC module

Validate Patient

  • Get Patient identifier from the URL

  • Check it exists in DB

    • Return 404 ('not found') in case of error

Validate User

  • Extract user_id from token.

  • Check user has an active and approved employee from legal entity (token) that:

    • has an active declaration with the patient

    • has access to episode with the patient (created in current MSP or approval on Episode resource)

Processing

N/A

Response structure examples

See on API-specification

{ "meta": { "code": 200, "url": "http://example.com/resource", "type": "object", "request_id": "req-adasdoijasdojsda" }, "data": [ { "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600", "status": "completed", "description": "Some description of the clinical impression", "code": { "coding": [ { "system": "eHealth/clinical_impression_patient_categories", "code": "insulin_1" } ] }, "encounter": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "effective_date_time": "2018-08-02T10:45:16.000Z", "assessor": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" }, "display_value": "Петров Іван Іванович" }, "previous": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "clinical_impression" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "problems": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } } ], "summary": "Some summary", "findings": [ { "item_reference": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "condition" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "basis": "Some basis" } ], "supporting_info": [ { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "episode_of_care" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } } ], "note": "Some note", "inserted_at": "2018-08-02T10:55:00.000Z", "updated_at": "2018-08-02T10:55:00.000Z" } ], "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

 

404

 not found

 

 

6

Специфічні

7

 

 

 

 

 

Post-processing processes

N/A

Technical modules where the method is used

 

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