Versions Compared

Key

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

Purpose

...

Returns care plan list filtered by submitted parameters withtin specified patient. List should be returned without activities.

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

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Logic

...

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

...

Filter

Values

Type

Description

Example

patient_id

String

MPI identifier of the patient

7c3da506-804d-4550-8993-bf17f9ee0402

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

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

    • 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 c2778f3064753ea70de870a53795f5c9

  • api-key:uXhEczJ56adsfh3Ri9SUkc4en

Request data validation

...

Validate Patient

  • Get Patient identifier from the URL

  • Check it exists in DB

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

Processing

...

Service logic

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

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

  • Filter list above by submitted search parameters

  • 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:

Expand
titleResponse example
Code Block
{
  "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

...

API paragraph not found

HTTP status codes

...

Page Properties

HTTP status code

Message

What caused the error

 200

 

 

...