Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

Сторінка знаходиться в процесі розробки. Інформація на ній може бути застарілою.

Info

/wiki/spaces/EN/pages/17591304241 (remove the link block before publishing the document)

Table of Contents

Properties of a REST API method document

Page Properties
idpage_properties_method_REST API

Document type

Метод REST API

Document title

[DRAFT] Get Procedures by search params [API-007-009-001-0304]

Guideline ID

GUI-0011

Author

@

Document version

1

Document status

DRAFT

Date of creation

ХХ.ХХ.ХХХХ (дата фінальної версії документа – RC або PROD)

Date of update

ХХ.ХХ.ХХХХ (дата зміни версії)

Method API ID

API-007-009-001-0304

Microservices (namespace)

ME

Component

Procedure

Component ID

COM-007-009

Link на API-специфікацію

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

Resource

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

Scope

procedure:read

Protocol type

REST

Request type

GET

Sync/Async

Sync

Public/Private

Public

Purpose

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

Logic

N/A

Configuration parameters

N/A

Dictionaries

N/A

Input parameters

Input parameter

Mandatory

Type

Description

Example

1

2

Request structure

See on API-specification

Expand
titleExample
Code Block

Headers

Headers

Request data validation

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

    • Return 403 in case invalid scope(s)

Access to the resource is also managed by ABAC module.

Validation

  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

N/A

Response structure examples

See on API-specification

Expand
titleExample
Code Block
languagejson
{
  "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)

HTTP status codes

Response code

HTTP Status code

Message

Internal name

Description

1

Базові

2

200

 

 

3

401

Access denied

 

4

403

Invalid scopes

 

5

404

Patient not found

 

6

404

Person not found

7

Специфічні

8

Post-processing processes

N/A

Technical modules where the method is used

Page Properties Report
headingsID ТМ, Статус
cqllabel = "tr-mis"