Versions Compared

Key

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

Purpose

...

This WS metod is designed to return records about procedures by patient_id or/and search_params.

Specification

...

Page Properties

Link

https://medicaleventsmisapi.docs.apiary.io/#reference/medical-events/procedures/get-procedures-by-search-params

Resource

/api/patients/{{patient_id}}/procedures

Scope

procedure:read

Components

Episode of Care

Microservices

API paragraph not found

Protocol type

REST

Request type

GET

Sync/Async

Async

Public/Private/Internal

Public

Logic*

...

Filters

Filter

Values

Type

Description

Example

patient_id

String

Unique patient identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

episode_id

String

Unique episode identifier, look into episode in encounter

ef30f210-5328-4f48-bfe6-c7150d4737a6

status

Enum

status of procedure

COMPLETED

based_on

String

Unique service request identifier

ef30f210-5328-4f48-bfe6-c7150d4737a6

code

String

9075e0e2-6b57-47fd-aff7-324806efa7e6

managing_organization_id

String

Unique legal entity identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

encounter_id

String

Unique encounter identifier

7075e0e2-6b57-47fd-aff7-324806efa7e5

origin_episode_id

String

Unique episode identifier, look into episode in procedures.origin_episode

ef30f210-5328-4f48-bfe6-c7150d4737a6

Request structure

...

See on Apiary

Authorize

...

Request to process the request using a token in the headers

Headers*

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer mF_9.B5f-4.1JqM

  • api-key:aFBLVTZ6Z2dON1V

Request data validation*

...

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

    Return 403 in case invalid scope(s)

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

    • Return 403 in case invalid scope(s)

Headers

Наприклад:

  • Content-Type:application/json

  • Authorization:Bearer {{access_token}}

  • API-key:{{secret}}

Request data validation

Access to the resource is also managed by ABAC module.

...

  1. validate person_id

    1. validate $person_id is existing ID in mpi.persons.id And person is_active=true and status='active

      1. in case error return 404, "Person not found"

Processing

...

API paragraph not found

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": "7075e0e2-6b57-47fd-aff7-324806efa7e5",
      "based_on": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "service_request"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "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": "COMPLETED",
      "status_reason": {
        "coding": [
          {
            "system": "eHealth/procedure_status_reasons",
            "code": "default"
          }
        ]
      },
      "code": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "service"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "performed_date_time": "2018-08-02T10:55:00.000Z",
      "recorded_by": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "Шевченко Олесь Вікторович"
      },
      "primary_source": true,
      "performer": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "employee"
              }
            ],
            "text": "Галина Олександрівна"
          },
          "value": "97d57238-ffbe-4335-92ea-28d4de117ea2"
        }
      },
      "division": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "division"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "managing_organization": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "legal_entity"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "Перше відділення обласної лікарня №1"
      },
      "reason_references": [
        {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "condition"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          }
        }
      ],
      "outcome": {
        "coding": [
          {
            "system": "eHealth/procedure_outcomes",
            "code": "default_outcome"
          }
        ]
      },
      "note": "Додаткова інформація по процедурі",
      "category": {
        "coding": [
          {
            "system": "eHealth/procedure_categories",
            "code": "default"
          }
        ]
      },
      "encounter": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "encounter"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        },
        "display_value": "null"
      },
      "explanatory_letter": "Процедура була відмінена у зв'язку з помилкою при виборі пацієнта",
      "origin_episode (Reference_response, optional)": {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "episode"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      "complication_details": [
        {
          "identifier": {
            "type": {
              "coding": [
                {
                  "system": "eHealth/resources",
                  "code": "condition"
                }
              ]
            },
            "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
          },
          "display_value": "null"
        }
      ]
    }
  ],
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_entries": 1000,
    "total_pages": 20
  }
}
  1. Return response according to json schema

  2. Return procedures where

    1. managing_organization.identifier.value=$Client_id

    2. consumer_id is a doctor with active declaration for current patient ($.person_id)

Post-processing processes

...

API paragraph not found

HTTP status codes

...

Page Properties
 200

HTTP status code

Message

What caused the error

200

 

 

401

Access denied

 

403

Invalid scopes

 

404

Patient not found