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

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 14 Current »

Purpose

This web service is designed to return only diagnostic reports that were allowed to read by patient's approval to the current user.

Specification

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/diagnostic-report/get-approved-diagnostic-reports

Resource

/api/patients/{{patient_id}}/diagnostic_reports/approved

Scope

diagnostic_report:read

Components

Diagnostic Report Data Package

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Logic

Ендпоїнт допускає повернення даних тільки тих діагностичних звітів, на які було видано Approval.

Filters

Filter

Values

Type

Description

Example

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

code

String

id of a service

09dc3ed7-2169-45d8-8fa3-d918c6839bf9

Request structure

API paragraph not found

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

    1. Return 403 in case invalid scope(s)

Headers

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

Request data validation

Processing

Logic

  1. Select all diagnostic reports(approvals.granted_resources.identifier.value) from patients approvals that meet the requirements:

    1. patient_id= hashed patient_id from URL

    2. status= 'active'

    3. granted_to contains one of user's employees' id

    4. granted_resources.identifier.type.coding[].code="diagnostic_report"

  2. Select this diagnostic reports from ME.patients.diagnostic_reports

  3. Add filters requested by the user (search params)

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",
      "based_on (Reference_response, optional)": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "service_request"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "paper_referral": {
        "requisition": "1111-2222-3333-4444",
        "requester_legal_entity_name": "Some clinic",
        "requester_legal_entity_edrpou": "12345678",
        "requester_employee_name": "John",
        "service_request_date": "2018-10-08",
        "note": "Some notes"
      },
      "status": "final",
      "code": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "service"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "category": [
        {
          "coding": [
            {
              "system": "eHealth/diagnostic_report_categories",
              "code": "diagnostic_procedure"
            }
          ]
        }
      ],
      "effective_period": {
        "start": "2018-08-02T10:45:16.000Z",
        "end": "2018-08-02T11:00:00.000Z"
      },
      "issued": "2018-10-08T09:46:37.694Z",
      "conclusion": "At risk of osteoporotic fracture",
      "conclusion_code": {
        "coding": [
          {
            "system": "eHealth/ICD10_AM/condition_codes",
            "code": "H04.2"
          }
        ]
      },
      "recorded_by (Reference_response, required)": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "Опанасенко Олексій Володимирович"
      },
      "inserted_at": "2018-08-02T10:55:00.000Z",
      "updated_at": "2018-08-02T10:55:00.000Z",
      "encounter": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "encounter"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "origin_episode (Reference_response, optional)": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "episode"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "division": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "division"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "Перше відділення обласної лікарня №1"
      },
      "managing_organization (Reference_response, optional)": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "patient"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "Київська обласна лікарня №1"
      },
      "results_interpreter": {
        "reference": {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "employee"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          },
          "display_value": "Опанасенко Олексій Володимирович"
        }
      },
      "primary_source": true,
      "explanatory_letter": "Звіт був відмінений у зв'язку з помилкою при виборі пацієнта",
      "cancellation_reason": {
        "coding": [
          {
            "system": "eHealth/cancellation_reasons",
            "code": "misspelling"
          }
        ],
        "text": ""
      }
    }
  ],
  "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

 

 

401

 Unauthorized

 

403

Invalid scopes

  • No labels