Versions Compared

Key

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

Purpose

This web service is designed to provide access to patient's clinical impressions as a part of Patient Summary

This web service returns only specific clinical impressions filtered by clinical impressions.code based on system configuration parameter in order to ensure Medical Confidentiality

Specification

  1. Get Clinical Impressions

  2. Get Clinical impression by id

Page Properties
idAPI_Specification

Link

https://ehealthmedicaleventsapi.docs.apiary.io/#reference/medical-events/patient-summary/get-clinical-impressions

Посилання на Apiary або Swagger

Resource

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

Посилання на ресурс, наприклад: /api/persons/create

Scope

patient_summary:read

Scope для доступу

Components

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC

Protocol type

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

GET

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Метод є синхронним чи асинхронним?

Public/Private/Internal

Потрібно зазначити тип методу за ступенем доступності

Configuration

Parameter

Type

Description

Value

SUMMARY_CLINICAL_IMPRESSIONS_ALLOWED

LIST

List of restricted clinical impressions codes

Example: "109006"

TBD

Logic

API paragraph not found

 

Request structure

API paragraph not found

 

Authorize

API paragraph not found

 

Headers

...

Filters

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

See on Apiary

 

Authorize

Request to process the request using a token in the headers

 

Headers

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

  • X-Custom-PSK:a2aa05c76f3f2d91870f923a53cc8aa8f23bbc01a8238d1c2c26d4299715a7e4

 

Request data validation

Validate token

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401

Validate scopes

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

    1. Return 403 in case invalid scope(s)

Validate patient

  • Validate patient exists in MongoDB

    • In case of error return 404 not found

Processing

  1. Get all patient's clinical_impressions

  2. Query clinical_impressions using configuration.SUMMARY_CLINICAL_IMPRESSIONS_ALLOWED

  3. Filter using Forbidden Groups

  4. Apply filters provided by user

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",
      "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"
        },
        "display_value": "Петров Іван Іванович"
      },
      "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

...

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

 200