ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 28 Current »

Purpose

This web service is designed to return observations by id.

Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/observation/get-observation-by-id

Resource

/api/patients/{{patient_id}}/observations/{{observation_id}}

Scope

observation:read

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Input parameters

Input parameter

Values

Type

Description

Example

patient_id

String

Patient identifier

70a9e15b-b71b-4caf-8f2e-ff247e8a5677

observation_id

String

Observation identifier

a10aeafb-0df2-4091-bc83-f07e92a100ae

Request structure

See on Apiary

Authorize

Request to process the request using a token in the headers

  • Verify the validity of access token

    • Return 401 in case validation fails

  • Verify token is not expired

    • in case error return 401 

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

    • Return 403 in case invalid scope(s)

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

 

Request data validation

API paragraph not found

Processing

Service returns observation related to the patient:

  • Get observation by ID from observations collection (MongoDB)

  • Validate data consistency:

    • Ensure that requested observation relates to requested Patient (from URL)

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

  • Render a response according to specification

Response structure

See on Apiary

Example:

 Response example
{
  "data": {
    "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600",
    "status": "valid",
    "diagnostic_report (Reference_response, optional)": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "diagnostic_report"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "context": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "encounter"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      },
      "display_value": "null"
    },
    "categories": [
      {
        "coding": [
          {
            "system": "eHealth/observation_categories",
            "code": "vital_signs"
          }
        ]
      }
    ],
    "code": {
      "coding": [
        {
          "system": "eHealth/LOINC/observation_codes",
          "code": "10569-2"
        }
      ]
    },
    "effective_date_time": "2018-10-08T09:46:37.694Z",
    "issued": "2018-08-02T10:45:16.000Z",
    "inserted_at": "2018-08-02T10:45:16.000Z",
    "updated_at": "2018-08-02T10:45:16.000Z",
    "primary_source": false,
    "performer": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "employee"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      },
      "display_value": "Шевченко Олесь Вікторович"
    },
    "interpretation": {
      "coding": [
        {
          "system": "eHealth/observation_interpretations",
          "code": "L"
        }
      ]
    },
    "comment": "Some comment",
    "body_site": {
      "coding": [
        {
          "system": "eHealth/body_sites",
          "code": "head"
        }
      ]
    },
    "method": {
      "coding": [
        {
          "system": "eHealth/observation_methods",
          "code": "anamnesis"
        }
      ]
    },
    "value_quantity": {
      "value": 0,
      "comparator": ">",
      "unit": "kg",
      "system": "eHealth/ucum/units",
      "code": "kg"
    },
    "reference_ranges": [
      {
        "low": {
          "value": 0,
          "comparator": ">",
          "unit": "kg",
          "system": "eHealth/ucum/units",
          "code": "kg"
        },
        "high": {
          "value": 0,
          "comparator": "<",
          "unit": "kg",
          "system": "eHealth/ucum/units",
          "code": "kg"
        },
        "type": {
          "coding": [
            {
              "system": "eHealth/reference_range_types",
              "code": "normal"
            }
          ]
        },
        "applies_to": {
          "coding": [
            {
              "system": "eHealth/reference_range_applications",
              "code": "male"
            }
          ]
        },
        "age": {
          "low": {
            "value": 18,
            "comparator": ">",
            "unit": "years"
          },
          "high": {
            "value": 35,
            "comparator": "<",
            "unit": "years"
          }
        },
        "text": "Some text"
      }
    ]
  },
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  }
}

Post-processing processes

API paragraph not found

HTTP status codes

HTTP status code

Message

What caused the error

 200

 

 

401

 

Access token validation failed

403

 

Invalid scope

  • No labels