/
Create medical program_UA

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

Create medical program_UA

Специфікація

 

""" Fields to filter medical programs in the system. """ input MedicalProgramFilter { "Checks for equality with the object’s `databaseId` field." databaseId: UUID "Checks for matching with the object’s `name` field." name: String "Checks for equality with the object’s `isActive` field." isActive: Boolean "Checks for equality with the object’s `type` field." type: String } """ Methods to use when ordering `MedicalProgram`. """ enum MedicalProgramOrderBy { "Orders by the object’s `insertedAt` field in the ascending order." INSERTED_AT_ASC "Orders by the object’s `insertedAt` field in the descending order." INSERTED_AT_DESC "Orders by the object’s `name` field in the ascending order." NAME_ASC "Orders by the object’s `name` field in the descending order." NAME_DESC } """ A connection to a list of `MedicalProgram` items. """ type MedicalProgramConnection { "Information to aid in pagination." pageInfo: PageInfo! "A list of nodes." nodes: [MedicalProgram] "A list of edges." edges: [MedicalProgramEdge] } """ An edge in a connection of `MedicalProgram`. """ type MedicalProgramEdge { "The item at the end of the edge." node: MedicalProgram! "A cursor for use in pagination." cursor: String! } """ MedicalProgram contains details about medical program for reimbursement and services. In order to obtain details user must have a scope **medical_program:read** """ type MedicalProgram implements Node { "The ID of an object." id: ID! "Primary key identifier from the database." databaseId: UUID! "The name of the `MedicalProgram`." name: String! "Type of the `MedicalProgram`." type: String! "Whether the `MediaclProgram` is active or not?" isActive: Boolean! "Date and time when record was inserted." insertedAt: DateTime! "Date and time when record was updated." updatedAt: DateTime! "Whether it is possible to create `Medication Request`" medicationRequestAllowed: Boolean! "Medication request allowed status description" medicationRequestAllowedText: String "Whether it is possible to create `Medication Dispense`" medicationDispenseAllowed: Boolean! "Medication dispense allowed status description" medicationDispenseAllowedText: String "Medical program settings" medicalProgramSettings: MedicalProgramSettings "Medical program settings description" medicalProgramSettingsText: String } """ Medical program settings """ type MedicalProgramSettings { "Skip MNN in treatment period requirement flag" skipMnnInTreatmentPeriod: Boolean "Care plan requirement flag" carePlanRequired: Boolean! "Skip employee validation requirement flag" skipEmployeeValidation: Boolean "Allowed employee types to create medication request" employeeTypesToCreateMedicationRequest: [String] "Speciality types allowed" specialityTypesAllowed: [String] "conditions ICD10_AM allowed" conditionsIcd10AmAllowed: [String] "Conditions ICPC2 allowed" conditionsIcpc2Allowed: [String] "Maximum length in days of treatment period for `Medication Request` created with the program" medicationRequestMaxPeriodDay: Int "Providing conditions allowed" providingConditionsAllowed: [String] } """ Input for `createMedicalProgram` mutation. User must have a scope **medical_program:write** """ input CreateMedicalProgramInput { "The name of the `MedicalProgram`." name: String! "Type of the `MedicalProgram`. The value should be present in the `MEDICAL_PROGRAM_TYPE` dictionary." type: String! } """ Return type for `createMedicalProgram` mutation. """ type CreateMedicalProgramPayload { "Created `MedicalProgram`." medicalProgram: MedicalProgram } """ Input for `updateMedicalProgram` mutation. User must have a scope **medical_program:write** """ input UpdateMedicalProgramInput { "The ID of an object." id: ID! "Whether it is possible to create `Medication Request`" medicationRequestAllowed: Boolean "Medication request allowed status description" medicationRequestAllowedText: String "Whether it is possible to create `Medication Dispense`" medicationDispenseAllowed: Boolean "Medication dispense allowed status description" medicationDispenseAllowedText: String "Medical program settings" medicalProgramSettings: MedicalProgramSettingsInput "Medical program settings description" medicalProgramSettingsText: String } """ Input for `MedicalProgramSettings` of `updateMedicalProgram` mutation. """ input MedicalProgramSettingsInput { "Skip MNN in treatment period requirement flag" skipMnnInTreatmentPeriod: Boolean "Care plan requirement flag" carePlanRequired: Boolean! "Skip employee validation requirement flag" skipEmployeeValidation: Boolean "Allowed employee types to create medication request" employeeTypesToCreateMedicationRequest: [String] "Speciality types allowed" specialityTypesAllowed: [String] "conditions ICD10_AM allowed" conditionsIcd10AmAllowed: [String] "Conditions ICPC2 allowed" conditionsIcpc2Allowed: [String] "Maximum length in days of treatment period for `Medication Request` created with the program" medicationRequestMaxPeriodDay: Int "Providing conditions allowed" providingConditionsAllowed: [String] } """ Return type for `updateMedicalProgram` mutation. """ type UpdateMedicalProgramPayload { "Updated `MedicalProgram`." medicalProgram: MedicalProgram } """ Input for `deactivateMedicalProgram` mutation. User must have a scope **medical_program:deactivate** """ input DeactivateMedicalProgramInput { "The ID of a `MedicalProgram` to deactivate." id: ID! } """ Return type for `deactivateMedicalProgram` mutation. """ type DeactivateMedicalProgramPayload { "Deactivated `MedicalProgram`." medicalProgram: MedicalProgram }

 

Ціль

Даний веб-сервіс розроблений для створення нової медичної програми.

Логіка веб-сервісу

Авторизація

  1. Перевірити валідність токену доступу

    1. в разі помилки - згенерувати код відповіді 401

  2. Перевірити скоупи користувача (scope = 'medical_program:write') на можливість виконання даної дії

    1. в разі помилки - згенерувати код відповіді 403

Перевірити запит (JSON schema)

  1. Перевірити запит, використовуючи схему JSON (TBD):

    1. Повернути код 422 зі списком помилок валідації в разі помилки валідації (422 EView)

Створення нової програми

  1. Створити новий запис в Medical_programs 

Назва

Джерело

Тип

По-замовчуванню

M/O

Опис

Назва

Джерело

Тип

По-замовчуванню

M/O

Опис

id



uuid



M

Автогенерація

name



varchar



M



is_active



boolean



M



type



varchar



M

Довідник: MEDICAL_PROGRAM_TYPE

medication_request_allowed



boolean



M



medication_dispense_allowed



boolean



M



medication_request_allowed_text



varchar



O



medication_dispense_allowed_text



varchar



O



medical_program_settings



jsonb

null

O





skip_mnn_in_treatment_period

boolean

false

M

Дозволяє створити рецепт з тим же innm за один період лікування

employee_types_to_create_medication_request

[varchar]

null

O

Дозволяє створити рецепт для відповідного типу співробітників (якщо пусто - всі типи співробітників, які мають скоупи на створення без обмежень). Заповнюється значеннями з довідника EMPLOYEE_TYPE.

Приклад: "DOCTOR, SPECIALIST"

speciality_types_allowed

[varchar]

null

O

Дозволяє створити:

  • рецепт для визначених співробітників $.employees.speciality.speciality(speciality_officio == true) для співробітників з типом SPECIALIST (якщо пусто - всі спеціальності, які мають скоупи на створення рецептів без обмежень). Заповнюється значеннями з довідника SPECIALITY_TYPE (якщо пусто - всі спеціалісти, у яких є скоупи, можуть створити рецепт без обмежень). 

  • первинні призначення плану лікування для вілповідних спеціальностей $.employees.speciality.speciality(speciality_officio == true) працівників. Якщо пусто - всі співробітники, у кого є скоупи, може створити первинне призначення без будь-яких обмежень.

Заповнюється значенням з довідника SPECIALITY_TYPE. Наприклад: ["ENDOCRINOLOGY", "FAMILY_DOCTOR"]

care_plan_required

boolean

false

M

Дозволяє створення рецепту з посиланням на план лікування

skip_employee_validation

boolean

false

M

Дозволяє пропустити всі перевірки співробітників, включаючи обмеження для параметрів employee_types_to_create_medication_request та speciality_types_allowed. Тож, кожен користувач, який має скоупи, може створити рецепт

conditions_icd10_am_allowed

[varchar]

null

O

Масив кодів станів з довідника eHealth/ICD10_AM/condition_codes. Наприклад: ["M61.25", "L70.0"]

Дозволяє створити:

  • Запит рецепту зі взаємодією при умові, що основний діагноз повинен відповідати коду в конфігурації. 

  • Первинне призначення.з полем адреси, пов'язані з планом лікуавання, що має коди станів у відповідності до конфігурації.

Якщо відсутня - будь-який ICD10_AM код стану допустимий.

Може бути поєднано з кодами conditions_icpc2_allowed

conditions_icpc2_allowed

[varchar]

null

O

 Масив кодів станів з довідника eHealth/ICPC2/condition_codes. Наприклад: ["R25","R80","L09"]

Дозволяє створити запит рецепту або первинного призначення у відповідності до логіки, яка описана для conditions_icd10_am_allowed

Якщо відсутній - будь-який ICPC2 код стану допустимий.

Може бути поєднано з кодами conditions_icpc2_allowed

medication_request_max_period_day

integer

null

O

Максимальна тривалість періоду (в днях) допустима для рецепту по програмі. Має більший пріорітет в порівнянні з таким же параметром в чарті

providing_conditions_allowed

[varchar]

null

O

Допустимі умови обслуговування для плану лікування при створенні первинного призначення по програмі. Заповнюється значеннями з довідника PROVIDING_CONDITION. Наприклад: ["INPATIENT", "OUTPATIENT"]

medical_program_settings_text



varchar



O

 Коментар при оновленні medical_program_settings

inserted_at



Timestamp: now()



M

Отримати поточну дату-час

inserted_by



Token: user_id



M

Отримати користувача з токену

updated_at



Timestamp: now()



M

Отримати поточну дату-час

updated_by



Token: user_id



M

Отримати користувача з токену





 

Related content

Medical program
Medical program
Read with this
Search Medical programs (GraphQl)_modified_UA
Search Medical programs (GraphQl)_modified_UA
More like this
Medical program settings
Medical program settings
Read with this
Create Program Service
Create Program Service
More like this
Налаштування медичних програм
Налаштування медичних програм
Read with this
Search Program medication
Search Program medication
More like this

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