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

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 12 Next »

Purpose

This WS is designed to resend SMS to a person (with verification_type = OTP) with Medication request info. This could be done only for medication request with intent order

Specification

Project Name

Електронний рецепт

COVID-certificate

Project abreviation

ePrescription

SVC

Developer

API paragraph not found

Розробник методу API. Наприклад, Edenlab

Project Manager

API paragraph not found

Mykhailo Zhushman (Unlicensed)

Tech Lead

API paragraph not found

Product Owner

API paragraph not found

Yevhen Batura NHSU

Вusiness analyst

API paragraph not found

Taras Khometa (Unlicensed)

Status

APPROVED

APPROVED

Version

API paragraph not found

1.0

Date of release

API paragraph not found

Link

https://uaehealthapi.docs.apiary.io/#reference/public.-reimbursement/medication-request/resend-medication-request

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

Resource

/api/medication_requests/{{id}}/actions/resend

Наприклад: /api/persons/create

Scope

medication_request:resend

Зазначається потрібний scope

Components

ePrescription, Reimbursement

Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription

Microservices

API paragraph not found

Перелік мікросервісів, які використовує метод API. Наприклад: Auth, ABAC

Protocol type

REST

Тип протоколу, який використовується запитом, наприклад: SOAP | REST

Request type

PATCH

Тип HTTP методу, який використовується запитом, наприклад: POST | GET…

Sync/Async

Sync

Метод є синхронним чи асинхронним?

Logic

API paragraph not found

Preconditions

API paragraph not found

Global and configurable parameters

No

Input parameters

Input parameter

Values

Type

Description

Example

id

String

a89f6a26-4221-4597-a1d2-542d5e40b565

Filters

No

Request structure

API paragraph not found

Authorize

  1. Verify the validity of access token

  2. Check user scope (scope = 'medication_request:resend') in order to perform this action

    1. In case error - generate 401 response

Headers

Content-Type:application/json

Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Validate request

Resend of medication request info is possible only for medication requests with intent order

  1. Get medication request intent

  2. Check that intent == order

    1. Otherwise - return (409, 'For medication request plan information cannot be resent')

Request data validation

Validation status

  1. For info - status charts: Medication_request

  2. Get Medication request status by $.id

  3. Check status == ACTIVE

    1. if invalid - return 409 error (message: "Invalid status Medication request for resend action!")'

Parameters that are used when processing the request

Configuration parameters

API paragraph not found

Dictionaries

API paragraph not found

Processing

Send SMS for person 

  1. Get authentication_method of MPI

  2. If authentication_method == OTP -  send SMS:

    1. Generate text SMS (call Man method - templates rendering service with template "TEMPLATE_SMS_FOR_SIGN_MEDICATION_REQUEST".

    2. Sending SMS for MPI via service.

Response structure

See on Apiary

Example:

 Response example
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": {
    "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
    "status": "ACTIVE",
    "request_number": "0000-243P-1X53-EH38",
    "created_at": "2017-08-17",
    "started_at": "2017-08-17",
    "ended_at": "2017-09-16",
    "dispense_valid_from": "2017-08-17",
    "dispense_valid_to": "2017-09-16",
    "legal_entity": {
      "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
      "name": "Клініка Ноунейм",
      "short_name": "Ноунейм",
      "public_name": "Клініка Ноунейм",
      "type": "MSP",
      "edrpou": "5432345432",
      "status": "ACTIVE"
    },
    "division": {
      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "legal_entity_id": "c8aadb87-ecb9-41ca-9ad4-ffdfe1dd89c9",
      "name": "Бориспільське відділення Клініки Ноунейм",
      "addresses": [
        {
          "type": "RESIDENCE",
          "country": "UA",
          "area": "Житомирська",
          "region": "Бердичівський",
          "settlement": "Київ",
          "settlement_type": "CITY",
          "settlement_id": "b075f148",
          "street_type": "STREET",
          "street": "вул. Ніжинська",
          "building": "15",
          "apartment": "23",
          "zip": "02090"
        }
      ],
      "phones": [
        {
          "type": "MOBILE",
          "number": "+380503410870"
        }
      ],
      "email": "email@example.com",
      "working_hours": {
        "mon": [
          [
            "08.00",
            "12.00"
          ],
          [
            "14.00",
            "18.00"
          ]
        ],
        "tue": [
          [
            "08.00",
            "12.00"
          ]
        ],
        "wed": [
          [
            "08.00",
            "12.00"
          ]
        ],
        "thu": [
          [
            "08.00",
            "12.00"
          ]
        ],
        "fri": [
          [
            "08.00",
            "12.00"
          ]
        ]
      },
      "type": "CLINIC",
      "external_id": "3213213",
      "location": {
        "latitude": 30.1233,
        "longitude": 50.32423
      },
      "dls_id": "2872985",
      "dls_verified": true
    },
    "employee": {
      "id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
      "position": "P6",
      "party": {
        "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
        "no_tax_id": true,
        "first_name": "Петро",
        "last_name": "Іванов",
        "second_name": "Миколайович",
        "email": "email@example.com",
        "phones": [
          {
            "type": "MOBILE",
            "number": "+380503410870"
          }
        ]
      }
    },
    "person": {
      "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
      "short_name": "Петро І. І.",
      "age": 35
    },
    "medication_info": {
      "medication_id": "4a63b858-c138-4921-9341-ae9e384bcbd6",
      "medication_name": "Аміодарон 200мг таблетки",
      "form": "PILL",
      "dosage": {
        "numerator_unit": "MG",
        "numerator_value": 200,
        "denumerator_unit": "PILL",
        "denumerator_value": 1
      },
      "ingredients": [
        {
          "id": "1349a693-4db1-4a3f-9ac6-8c2f9e541982",
          "name": "Інсулін деглюдек",
          "name_original": "Insulin degludec",
          "sctid": "52574003",
          "dosage": {
            "numerator_unit": "MG",
            "numerator_value": 200,
            "denumerator_unit": "PILL",
            "denumerator_value": 1
          },
          "is_primary": true
        }
      ],
      "medication_qty": 10.34
    },
    "medical_program": {
      "id": "c7d52544-0bd4-4129-97b0-2d72633e0490",
      "name": "Доступні ліки",
      "medical_program_settings": {
        "care_plan_required": true,
        "employee_types_to_create_medication_request": [
          "SPECIALIST",
          "DOCTOR"
        ],
        "skip_mnn_in_treatment_period": true,
        "skip_employee_validation": true,
        "speciality_types_allowed": [
          "ENDOCRINOLOGY",
          "PEDIATRIC_NEUROLOGY"
        ],
        "conditions_icd10_am_allowed": [
          "A00.0",
          "A00.1"
        ],
        "conditions_icpc2_allowed": [
          "A01",
          "A02"
        ],
        "providing_conditions_allowed": [
          "INPATIENT",
          "OUTPATIENT"
        ],
        "medication_request_max_period_day": 90,
        "skip_medication_request_employee_declaration_verify": true,
        "skip_medication_request_legal_entity_declaration_verify": true,
        "multi_medication_dispense_allowed": true,
        "skip_medication_dispense_sign": true,
        "medication_request_notification_disabled": true,
        "skip_contract_provision_verify": true,
        "medication_dispense_period_day": 90
      },
      "medical_program_settings_text": "Some text",
      "is_active": true,
      "medication_dispense_allowed": true,
      "medication_dispense_allowed_text": "Some text",
      "medication_request_allowed": true,
      "medication_request_allowed_text": "Some text",
      "type": "MEDICATION",
      "funding_source": "NHS",
      "inserted_at": "2017-04-20T19:14:13Z",
      "inserted_by": "e1453f4c-1077-4e85-8c98-c13ffca0063e",
      "updated_at": "2017-04-20T19:14:13Z",
      "updated_by": "2922a240-63db-404e-b730-09222bfeb2dd"
    },
    "intent": "plan",
    "category": "community",
    "based_on": [
      {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "care_plan"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      },
      {
        "identifier": {
          "type": {
            "coding": [
              {
                "system": "eHealth/resources",
                "code": "activity"
              }
            ]
          },
          "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
        }
      }
    ],
    "context": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "encounter"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "dosage_instruction": [
      {
        "sequence": 1,
        "text": "0.25mg PO every 6-12 hours as needed for menses from Jan 15-20, 2015.  Do not exceed more than 4mg per day",
        "additional_instruction": [
          {
            "coding": [
              {
                "system": "eHealth/SNOMED/additional_dosage_instructions",
                "code": "311504000"
              }
            ]
          }
        ],
        "patient_instruction": "0.25mg PO every 6-12 hours as needed for menses from Jan 15-20, 2015.  Do not exceed more than 4mg per day",
        "timing": {
          "event": [
            "2017-04-20T19:14:13Z"
          ],
          "repeat": {
            "bounds_duration": {
              "value": 10,
              "unit": "days",
              "system": "eHealth/ucum/units",
              "code": "d"
            },
            "count": 2,
            "count_max": 4,
            "duration": 4,
            "duration_max": 6,
            "duration_unit": "d",
            "frequency": 1,
            "frequency_max": 2,
            "period": 4,
            "period_max": 6,
            "period_unit": "d",
            "day_of_week": [
              "mon"
            ],
            "time_of_day": [
              "2017-04-20T19:14:13Z"
            ],
            "when": [
              "WAKE"
            ],
            "offset": 4
          },
          "code": {
            "coding": [
              {
                "system": "TIMING_ABBREVIATIONS",
                "code": "patient"
              }
            ]
          }
        },
        "as_needed_boolean": true,
        "site": {
          "coding": [
            {
              "system": "eHealth/SNOMED/anatomical_structure_administration_site_codes",
              "code": "344001"
            }
          ]
        },
        "route": {
          "coding": [
            {
              "system": "eHealth/SNOMED/route_codes",
              "code": "46713006"
            }
          ]
        },
        "method": {
          "coding": [
            {
              "system": "eHealth/SNOMED/administration_methods",
              "code": "419747000"
            }
          ]
        },
        "dose_and_rate": {
          "type": {
            "coding": [
              {
                "system": "eHealth/dose_and_rate",
                "code": "'ordered'"
              }
            ]
          },
          "dose_range": {
            "low": {
              "value": 0,
              "unit": "mg",
              "system": "eHealth/ucum/units",
              "code": "mg"
            },
            "high": {
              "value": 0,
              "unit": "mg",
              "system": "eHealth/ucum/units",
              "code": "mg"
            }
          },
          "rate_ratio": {
            "numerator": {
              "value": 0,
              "unit": "mg",
              "system": "eHealth/ucum/units",
              "code": "mg"
            },
            "denominator": {
              "value": 0,
              "unit": "mg",
              "system": "eHealth/ucum/units",
              "code": "mg"
            }
          }
        },
        "max_dose_per_period": {
          "numerator": {
            "value": 0,
            "unit": "mg",
            "system": "eHealth/ucum/units",
            "code": "mg"
          },
          "denominator": {
            "value": 0,
            "unit": "mg",
            "system": "eHealth/ucum/units",
            "code": "mg"
          }
        },
        "max_dose_per_administration": {
          "value": 0,
          "unit": "mg",
          "system": "eHealth/ucum/units",
          "code": "mg"
        },
        "max_dose_per_lifetime": {
          "value": 0,
          "unit": "mg",
          "system": "eHealth/ucum/units",
          "code": "mg"
        }
      }
    ],
    "rejected_at": "2022-01-28",
    "rejected_by": "e8e5a969-74d8-4620-8496-f5e41f2e8312",
    "reject_reason": "Incompatible drugs",
    "reject_reason_code": "PATIENT_REJECT",
    "is_blocked": false,
    "block_reason": "Підозра на фрод",
    "block_reason_code": "WRONG_QTY_DRUG",
    "priority": "routine",
    "prior_prescription": {
      "identifier": {
        "type": {
          "coding": [
            {
              "system": "eHealth/resources",
              "code": "medication_request"
            }
          ]
        },
        "value": "9183a36b-4d45-4244-9339-63d81cd08d9c"
      }
    },
    "container_dosage": {
      "system": "MEDICATION_UNIT",
      "code": "ML",
      "value": 4
    }
  }
}

Post-processing processes

No

HTTP status codes

HTTP status code

Message

What caused the error

200

 Response

 

401

Unauthorized Error

 

409

 Error

Backward compatibility

API paragraph not found

  • No labels