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

Get Clinical Impression by search params

Purpose

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

 

Specification

Link

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

Resource

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

Scope

clinical_impression:read

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

 

Logic

API paragraph not found

 

Filters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

patient_id

 

String

MPI identifier of the patient

7c3da506-804d-4550-8993-bf17f9ee0402

encounter_id

 

String

identifier of the encounter in clinical impression

7c3da506-804d-4550-8993-bf17f9ee0400

episode_id

 

String

 

f48d1b6c-a021-4d6a-a5a4-aee93e152ecc

code

 

String

clinical impression's code

insulin_1

status

 

String

clinical impression's status

completed

page

 

Number

Page number

2

page_size

 

Number

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

50

 

Request structure

API paragraph not found

 

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

Request to process the request using a token in the headers

 

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

 

Request data validation

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

Service 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.

 

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

 

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

 

 

 

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