Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel3

Purpose

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

https://e-health-ua.atlassian.net/wiki/spaces/EH/pages/2125038637/care+plan#%D0%9E%D1%82%D1%80%D0%B8%D0%BC%D0%B0%D0%BD%D0%BD%D1%8F-%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97-%D0%BF%D0%BB%D0%B0%D0%BD%D1%83-%D0%BB%D1%96%D0%BA%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F

Specification

Page Properties

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

Preconditions

Які передумови мають бути виконані системою/користувачем. Наприклад:

...

створений запис в MedicationRequest;

...

Logic

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

Input parameters

Input parameter

Values

Type

Description

Example

asyncJobId

Filter

Values

Type

Description

Example

String

Async Job Object ID

Filters

patient_id

String

MPI identifier of the patient

7c3da506-804d-4550-8993-bf17f9ee0402

Filters

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

Потрібно вказати посилання на сторінки довідників, які використовує метод APIPROVIDING_CONDITION

Request structure

API paragraph not found

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

...

Post-processing processes

API paragraph not foundNo

HTTP status codes

Page Properties

HTTP status code

Message

What caused the error

 200200

 Response

  

401

  • unauthorized

 Invalid access token

403

  • invalid scopes

Invalid scope(s)

404

  • not found