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

Get Care Plans by search params

Purpose

This WS is designed to return records about Care plans filtered by submitted parameters withtin specified patient. List should be returned without activities.

Процеси роботи з планом лікування (care plan) | Отримання інформації плану лікування

Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/care-plan/get-care-plans-by-search-params/get-care-plans-by-search-params

Resource

/api/patients/{{patient_id}}/care_plans

Scope

care_plan:read

Components

Care plan

Microservices

me/api-medical-events

me/event-consumer

me/kafka-consumer

il/api(rpc)

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private/Internal

Public

Logic

Returns care plan list filtered by submitted parameters within specified patient.

Input parameters

Input parameter

Values

Type

Description

Example

Input parameter

Values

Type

Description

Example

patient_id

 

String

MPI identifier of the patient

7c3da506-804d-4550-8993-bf17f9ee0402

Filters

Filter

Values

Type

Description

Example

Filter

Values

Type

Description

Example

period_date

 

Date

date within Care plan's period incleuding start and end dates

2018-08-02

encounter_id

 

String

identifier of the encounter in Care plan

7c3da506-804d-4550-8993-bf17f9ee0400

based_on

 

String

Care Plan identifier on which returned Care plans are based on

7c3da506-804d-4550-8993-bf17f9ee0401

part_of

 

String

parent Care Plan identifier which includes returned Care plans

7c3da506-804d-4550-8993-bf17f9ee0401

status

 

String

Care plan's status

active

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

Dictionaries

PROVIDING_CONDITION

Request structure

Authorize

  1. Verify the validity of access token

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

  2. Verify that token is not expired

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

  3. Check user scopes in order to perform this action (scope = 'care_plan:read')

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

Request to process the request using a token in the headers

Headers

Наприклад:

Content-Type:application/json
Authorization:Bearer {{access_token}}
API-key:{{mis_client_secret}}

Request data validation

Access to the resource is also managed by ABAC rules (EN)

Validate Patient

  1. Get Patient identifier from the URL

  2. Check it exists in DB

    1. Return 404 ('not found') in case of error

 

Processing

Service logic

Service returns all Care plans related to the patient filtered by submitted parameters:

  1. Get all care plans by patient_id from care_plans collection (MongoDB)

  2. Filter list above by submitted search parameters

  3. Render a response according to specification with found Care plan entities. Care plans should be rendered without their activities.

 

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", "based_on": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "care_plan" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "requisition": "0123-4567-89AB-CEIK", "part_of": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "care_plan" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "period": { "start": "2018-08-02T10:45:16.000Z", "end": "2018-08-02T11:00:00.000Z" }, "intent": "order", "encounter": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "encounter" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "author": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "employee" } ] }, "value": "9183a36b-4d45-4244-9339-63d81cd08d9c" } }, "subject": { "identifier": { "type": { "coding": [ { "system": "eHealth/resources", "code": "patient" } ] }, "value": "7c3da506-804d-4550-8993-bf17f9ee0403" } }, "status": "active", "terms_of_service": { "coding": [ { "system": "PROVIDING_CONDITION", "code": "INPATIENT" } ] } } ] }

 

Post-processing processes

No

 

HTTP status codes

HTTP status code

Message

What caused the error

HTTP status code

Message

What caused the error

200

 Response

 

401

  • unauthorized

 Invalid access token

403

  • invalid scopes

Invalid scope(s)

404

  • not found

 

 

 

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