Versions Compared

Key

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

...

This WS is designed to reject previously created Medication request Request (patch).

Specification

...

Project Name

...

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

...

COVID-certificate

...

Project abreviation

...

ePrescription

...

SVC

...

Developer

...

API paragraph not found

...

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

...

Project Manager

...

API paragraph not found

...

Tech Lead

...

API paragraph not found

...

Product Owner

...

API paragraph not found

...

Вusiness analyst

...

API paragraph not found

...

Status

Status
colourGreen
titleAPPROVED
Status
colourGreen
titleAPPROVED

...

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-requests/reject-medication-request-request

...

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

...

Resource

...

/api/medication_request_requests/{{id}}/actions/reject

...

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

...

Scope

Request

Key points

  1. Only authenticated and authorized user with appropriate scope can reject Medication request Request.

  2. Medication request Request can be rejected only from ‘NEW' status.

Specification

Page Properties

Link

https://ehealthmisapi1.docs.apiary.io/#reference/public.-reimbursement/medication-request-requests/reject-medication-request-request

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

Resource

/api/medication_request_requests/{{id}}/actions/reject

Посилання на ресурс, наприклад: /api/persons/create

Scope

medication_request_request:reject

Scope для доступу

Components

ePrescription

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

Microservices

API paragraph not found

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

Protocol type

REST

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

Request type

PATCH

Тип запиту API, наприклад: GET, POST, PATCH…

Sync/Async

Sync

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

Public/Private/Internal

Public

Logic

Технічний опис бізнес-процесу виписування рецепту в ЕСОЗ (загальний процес для усіх рецептурних ЛЗ, в т.ч. і тих, які підлягають реімбурсації)

Процеси роботи з випискою електронних рецептів

Input parameters

Input parameter

Values

Type

Description

Example

id

String

Required

a89f6a26-4221-4597-a1d2-542d5e40b565

Authorize

  1. Verify the validity of access token

    • in case of error - return 401 (“Invalid access token”) in case of validation fails.

  2. Verify that token is not expired

    • in case of error - return 401 (“Invalid access token”).

  3. Check user scopes in order to perform this action (scope = 'medication_request_request:reject

...

Зазначається потрібний 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

No

Global and configurable parameters

No

Input parameters

...

Input parameter

...

Values

...

Type

...

Description

...

Example

...

id

...

String

...

Required

...

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_request:reject') in order to perform this action

    1. In case error - generate 401 response

  3. Check user's legal entity is legal entity where Medication request Request has been created (medication_request_request.data.legal_entity_id = client_id from token)

    1. In case error - generate 403 response “Medication request Request can not be rejected by employee from another legal entity”

Headers

Content-Type:application/json

Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Validate request

Do reject Medication request Request allowed for User if he has one of the following active and approved employee that:

...

is an author of the Medication request Request (medication_request_request.employee_id)

...

has an approval on write Care plan if Medication request Request based on the Care plan (medication_request_request.based_on)

...

  1. ')

    • return 403 (“Your scope does not allow to access this resource. Missing allowances: medication_request_request:reject”) in case of invalid scope(s).

Headers

Content-Type:application/json

Authorization:Bearer c2778f3064753ea70de870a53795f5c9

Request data validation

Validate user

Medication request request rejection is allowed for user if he has one of the following active and approved employee that:

  • is an author of the Medication request request (medication_request_request.employee_id);

  • has an approval on write Care plan if Medication request request based on the Care plan (medication_request_request.based_on);

  • is med_admin from legal entity where Medication request request is created

    • in case of error - return 409 ("Employee is not author of medication request request, doesn't have approval or required employee type").

Validate transition

  • Get status of Medication request request by $.id in IL DB. Check that Medication request request is in status 'NEW'

    • in case of error - return

...

Request data validation

Validation transition

  1. For info - status charts: Medication_request_Request

  2. Get Request for Medication request status by $.id

  3. Check status == NEW

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

Parameters that are used when processing the request

Configuration parameters

Access to the method is defined by the scope medication_request_request:reject. Permission for this scope is determined by the System administrator by configuring scopes in the context of clients and roles.

Dictionaries

...

    • 409 ("Invalid status Request for Medication request for reject transition!")

For more information look at Medication request status model .

Parameters that are used when processing the request

Configuration parameters

Access to the method is defined by the scope medication_request_request:reject. Permission for this scope is determined by the System administrator by configuring scopes in the context of clients and roles.

Dictionaries

  • MEDICATION_REQUEST_BLOCK_REASON

  • MEDICATION_REQUEST_INTENT

  • MEDICATION_REQUEST_CATEGORY

  • MEDICATION_REQUEST_PRIORITY

  • eHealth/SNOMED/additional_dosage_instructions

  • eHealth/SNOMED/anatomical_structure_administration_site_codes

  • eHealth/SNOMED/route_codes

  • eHealth/SNOMED/administration_methods

  • eHealth/SNOMED/dose_and_rate

  • eHealth/ICD10_AM/condition_codes

  • eHealth/ICPC2/condition_codes

Processing

Update status

  1. Update

...

  1. Medication request request data in IL DB:

    1. set status  =

...

    1.  'REJECTED'

    2. updated_by = user_id

...

    1. updated_at = now()

  1. if the medication request request is based on the activity with quantity:

    1. Recalculate and set remaining_quantity for the activity as described at Create Medication Request: Validate based_on (p. 2.d.1 )and do not include current MRR

Response structure

See on Apiary

Example:

Expand
titleResponse example
Code Block
{
  "meta": {
    "code": 200,
    "url": "https://example.com/resource",
    "type": "object",
    "request_id": "req-adasdoijasdojsda"
  },
  "data": {
    "id": "b075f148-7f93-4fc2-b2ec-2d81b19a9b7b",
    "status": "NEW",
    "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",
      "mr_blank_type": "F-1",
      "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"
        }
      }
    ],
    "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

Invalid access token

 

403Invalid

scopeYour scope does not allow to access this resource. Missing allowances: medication_request_request:reject

409

Error

Backward compatibility

...

  • Invalid status Request for Medication request for reject transition!

  • Employee is not author of medication request request, doesn't have approval or required employee type