Versions Compared

Key

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

Required parameters are marked with "*"

Якщо інформації по відповідному параметру немає, потрібно зазначити: “APIparagraph not found”.

Purpose*

This method allows to get Clinical impression list for a specified patient filtered by search params.

Specification*

Page Properties

Link

https://ehealthmedicaleventsapi.docs.apiary.io/#reference/medical-events/clinical-impression/get-clinical-impression-by-search-params

Resource

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

Scope

clinical_impression:read

Components

API paragraph not found

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Logic*

API paragraph not found

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*

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 = 'clinical_impression: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 mF_9.B5f-4.1JqM

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 User

  • Extract user_id from token.

  • Check user has an active and approved employee from legal entity (token) that:

    • has an active declaration with the patient

    • has access to episode with the patient (created in current MSP or approval on Episode resource)

Processing*

Service logic

Service returns all Clinical impressions related to the patient filtered by submitted parameters:

  • Get all Clinical impressions by patient_id from clinical_impressions collection (MongoDB)

  • Filter list above by submitted search parameters

  • Render a response according to specification with found Clinical impression entities.

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"
        }
      },
      "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

HTTP status code

Message

What caused the error

 200

 

 

...