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

Update Medical Program (GraphQl)_modified_UA

Ціль

Даний метод WS дозволяє оновити медичну програму та додати конкретні налаштування для програми.

Основні положення

  1. Це метод на graphQl, який використовується тільки в панелі адміністрування НСЗУ.

  2. Тільки автентифіковані та авторизовані співробітники НСЗУ з відповідним скоупом можуть оновити медичну програму.

  3. Даний метод дозволяє додавати\міняти Medical program settings_modified_UA для програми.

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

 

"Update a single `MedicalProgram`." updateMedicalProgram( input: UpdateMedicalProgramInput! ): UpdateMedicalProgramPayload """ 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] "Skip declaration verification for employee on create `Medication Request`" skipMedicationRequestEmployeeDeclarationVerify: Boolean "Skip declaration verification for legal entity on create `Medication Request`" skipMedicationRequestLegalEntityDeclarationVerify: Boolean "Allows multi dispense for `Medication Request`" multiMedicationDispenseAllowed: Boolean "Allows to process `Medication Dispense` without digital sign" skipMedicationDispenseSign: Boolean "Disables patient notification on operations with `Medication Request`" medicationRequestNotificationDisabled: Boolean "Specifies medication dispense period in days" medicationDispensePeriodDay: Int "Skip Contract and Medical Program Provision verification in medication dispense flow" skipContractProvisionVerify: Boolean "Allows to change medical program on create `Medication Dispense`" medicalProgramChangeOnDispenseAllowed: Boolean "Patient category requirement flag" patientCategoryRequired: Boolean! "Patient categories allowed. From `eHealth/clinical_impression_patient_categories` dictionary" patientCategoriesAllowed: [String] }

Авторизація

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

    • в разі помилки - повернути 401 (“Invalid access token”) в разі неуспішної валідації

  • Перевірити, що токен дійсний

    • в разі помилки - повернути 401 (“Invalid access token”)

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

    • повернути 403 (“Your scope does not allow to access this resource. Missing allowances: program_medication:read”) в разі невалідних скоупів

Перевірити юридичну особу

  • Отримати client_id з токену.

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

    • в разі помилки - повернути 403 (“Your scope does not allow to access this resource. Missing allowances: medical_program:write”)

  • Перевірити тип = NHS

    • в разі помилки - повернути 403 ('You don’t have permission to access this resource')

Перевірити програму по ID

  1. Перевірити, що id існує в базі даних DB

    1. в разі помилки - повернути 404 ('not_found')

Сервісна логіка

  1. Оновити параметри, вказані у вхідних параметрах по сутності програми. Також, встановити:

    1. updated_by = поточний користувач (з токену)

    2. updated_at = поточні дата та часSpecificationAuthorization

  •  

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