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

Skip to end of metadata
Go to start of metadata

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

Compare with Current View Version History

« Previous Version 6 Current »

Purpose

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

 

Specification

Link

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

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

Resource

/api/patients/{{patient_id}}/summary/allergy_intolerances

Посилання на ресурс, наприклад: /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

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

Logic

API paragraph not found

 

Filters

Filter

Values

Type

Description

Example

patient_id

String

Unique patient identifier

7a489bbd-d8e2-48d9-92fd-fcf0102f7b08

page

Number

Page number

Example: 2

page_size

Number

A limit on the number of objects to be returned, between 1 and 100. Default: 50

Example: 50

code

String

Example: 227493005

onset_date_time_from

String

Example: 1990-01-01

onset_date_time_to

String

Example: 2000-01-01

Request structure

API paragraph not found

 

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 allergy intolerance

  2. Apply filters provided by user

Response structure

See on Apiary

 Example:

 Response example
{
  "meta": {
    "code": 200,
    "url": "http://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": [
    {
      "id": "90a9e15b-b71b-4caf-8f2e-ff247e8a5600",
      "clinical_status": "active",
      "verification_status": "confirmed",
      "type": "allergy",
      "category": "food",
      "criticality": "low",
      "context": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "encounter"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "code": {
        "coding": [
          {
            "system": "eHealth/allergy_intolerance_codes",
            "code": "227493005"
          }
        ]
      },
      "onset_date_time": "2016-01-01T00:00:00.000Z",
      "asserted_date": "2018-08-02T10:45:00.000Z",
      "inserted_at": "2018-08-02T10:45:16.000Z",
      "updated_at": "2018-08-02T10:45:16.000Z",
      "primary_source": true,
      "asserter": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ],
            "text": ""
          },
          "value": "97d57238-ffbe-4335-92ea-28d4de117ea2"
        }
      },
      "last_occurrence": "2018-07-02T00:00:00.000Z"
    }
  ],
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 20
  }
}

Post-processing processes

API paragraph not found

 

HTTP status codes

HTTP status code

Message

What caused the error

200 

 

 

  • No labels