Versions Compared

Key

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

Purpose

This method allows to get detailed information of the patient’s Clinical impression.

Specification

...

Page Properties
idAPI_Specification

Apiary

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Logic

Service returns specified Clinical impression related to the patient:

  • Get Clinical impression by ID from clinical_impression collection (MongoDB)

  • Validate data consistency:

    • Ensure that requested Clinical impression relates to requested Patient (from URL)

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

  • Render a response according to specification

Input parameters

Input parameter

Values

Type

Description

Example

patient_id

String

Unique patient identifier

e549c257-232e-4dab-9f1e-b2322cac3968

clinical_impression_id

String

Unique clinical impression identifie

340b86fd-23f3-4a33-94c5-8ec19d116c33

Request structure*

See on Apiary

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

    • Return (403, 'Your scope does not allow to access this resource. Missing allowances: clinical_impression:read') in case of invalid scope(s)

Access to the resource is also managed by ABAC module

...

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

...

  • Get Clinical impression identifier from the URL

  • Check it exists in DB

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

  • Check Clinical impression belongs to patient

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

Service logic

Service returns specified Clinical impression related to the patient:

  • Get Clinical impression by ID from clinical_impression collection (MongoDB)

  • Validate data consistency:

    • Ensure that requested Clinical impression relates to requested Patient (from URL)

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

  • Render a response according to specification

Processing

Response structure

See on Apiary

Expand
titleResponse example
Code Block
{
  "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"
  },
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

Post-processing processes

HTTP status codes

Page Properties
idAPI_HTTP status codes

HTTP status code

Message

What caused the error

 200