Versions Compared

Key

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

Purpose

Returns all the activities related to the care plan in patient contexcontext

Specification

Page Properties

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/care-plan/get-care-plan-activities/get-care-plan-activities

Resource

/api/patients/{{patient_id}}/care_plans/{{care_plan_id}}/activities

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 all the activities related to the care plan in patient contexcontext

Filters

Filter

Values

Type

Description

Example

patient_id

String

MPI identifier of the patient

7c3da506-804d-4550-8993-bf17f9ee0402

care_plan_id

String

Care Plan identifier

9183a36b-4d45-4244-9339-63d81cd08d9c

author

String

author of the activity

9183a36b-4d45-4244-9339-63d81cd08d9c

kind

  • service_request

  • medication_request

Enum

kind of the activity

service_request

status

String

Care plan activity status

scheduled

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, 'Invalid access token') in case of validation fails

  • Verify that token is not expired

    • in case of error - return (401, 'Invalid access token')

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

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: care_plan:read') 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

Validate Care plan

  • Get Care plan 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 Approval granted by the Patient on write or read the Care plan resource (care plan id from URL)

      • Return 403 ('Access denied') in case employee has no Approval on read or write

    • has an active declaration with the patient

Processing

Service logic

Service returns activity list within specified Care plan related to the patient:

  • Get activity list by Care plan identifier from care_plan_activities collection (MongoDB)

  • Validate data consistency:

    • Ensure that each requested activity in the list relates to requested Patient and Care Plan (from URL)

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

  • Render a response according to specification

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": "75a5d991-0bf7-476f-b3cf-bec73f044b2e",
      "author": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "care_plan": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "care_plan"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "detail": {
        "kind": "service_request",
        "product_reference": {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "service"
                }
              ],
              "text": ""
            },
            "value": "97d57238-ffbe-4335-92ea-28d4de117ea3"
          }
        },
        "reason_code": [
          {
            "coding": [
              {
                "system": "eHealth/ICD10_AM/condition_codes",
                "code": "X85"
              }
            ]
          }
        ],
        "reason_reference": [
          {
            "identifier": {
              "type": {
                "coding": [
                  {
                    "system": "eHealth/resources",
                    "code": "condition"
                  }
                ]
              },
              "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
            }
          }
        ],
        "goal": [
          {
            "coding": [
              {
                "system": "eHealth/care_plan_activity_goals",
                "code": "diabetes_treatment"
              }
            ]
          }
        ],
        "quantity": {
          "value": 13,
          "system": "MEDICATION_UNIT",
          "code": "MG",
          "unit": "мг"
        },
        "scheduled_timing": {
          "event": [
            "2018-08-02T10:45:16Z"
          ],
          "repeat": {
            "bounds_duration": {
              "value": 10,
              "comparator": ">",
              "unit": "доба",
              "system": "eHealth/ucum/units",
              "code": "day"
            },
            "count": 10,
            "count_max": 20,
            "duration": 15,
            "duration_max": 25,
            "duration_unit": "day",
            "frequency": 1,
            "frequency_max": 4,
            "period": 1,
            "period_max": 3,
            "period_unit": "day",
            "day_of_week": [
              "mon"
            ],
            "time_of_day": [
              "16:00:00"
            ],
            "when": [
              "WAKE"
            ],
            "offset": 20
          },
          "code": {
            "coding": [
              {
                "system": "TIMING_ABBREVIATION",
                "code": "Q4H"
              }
            ]
          }
        },
        "location": {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "division"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        },
        "performer": {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "employee"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        },
        "daily_amount": {
          "value": 13.5,
          "system": "MEDICATION_UNIT",
          "code": "MG",
          "unit": "мг"
        },
        "description": "Some activity description",
        "do_not_perform": false,
        "program": {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "medical_program"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        },
        "status": "completed",
        "status_reason": {
          "coding": [
            {
              "system": "eHealth/care_plan_activity_cancel_reasons",
              "code": "some code"
            }
          ]
        },
        "remaining_quantity": {
          "value": 12,
          "system": "MEDICATION_UNIT",
          "code": "MG",
          "unit": "мг"
        }
      },
      "outcome_reference": [
        {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "encounter"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        }
      ],
      "outcome_codeable_concept": [
        {
          "coding": [
            {
              "system": "eHealth/care_plan_activity_outcomes",
              "code": "some code"
            }
          ]
        }
      ],
      "inserted_at": "2017-04-20T19:14:13Z",
      "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
      "updated_at": "2017-04-20T19:14:13Z",
      "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
    }
  ]
}

Post-processing processes

API paragraph not found

HTTP status codes

Page Properties

HTTP status code

Message

What caused the error

 200

 

 

...