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

Search Medication registry Jobs_UA

Ціль

Даний веб-сервіс (WS) дозволяє знайти Job-и медичного реєстру в адмін панелі, використовуючи пошукові параметри.

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

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

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

  3. Квері повертає перелік Job-ів медичного реєстру профільтровані по пошуковим параметрам.

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

"Reads and enables pagination through a set of `MedicationRegistryJob`." medicationRegistryJobs( "A condition to be used in determining which values should be returned by the collection." filter: MedicationRegistryJobFilter "The method to use when ordering collection items." orderBy: MedicationRegistryJobOrderBy "Read all values in the set after (below) this cursor." after: String "Read all values in the set before (above) this cursor." before: String "Only read the first _n_ values of the set." first: Int "Only read the last _n_ values of the set." last: Int ): MedicationRegistryJobConnection!
""" Filter for Medication registry job. """ input MedicationRegistryJobFilter { "Medication registry job status filters." status: JobStatus } """ List of fields to sort both asc and desc side `MedicationRegistryJob`. """ enum MedicationRegistryJobOrderBy { "Sort Medication registry job by started at in ascending order" STARTED_AT_ASC "Sort Medication registry job by started at in descending order" STARTED_AT_DESC } """ A connection to a list of `MedicationRegistryJob` values. """ type MedicationRegistryJobConnection { "Information to aid in pagination." pageInfo: PageInfo! "A list of nodes." nodes: [MedicationRegistryJob] "A list of edges." edges: [MedicationRegistryJobEdge] } """ Reads and enables pagination through a set of `MedicationRegistryJob`. """ type MedicationRegistryJobEdge { "The item at the end of the edge." node: MedicationRegistryJob! "A cursor for use in pagination." cursor: String! } """ An object for MedicationRegistryJob. """ type MedicationRegistryJob implements Node { "The ID of an object" id: ID! "Primary key identifier from the database" databaseId: UUID! "Job name." name: String "Medication registry Job status." status: JobStatus! "Job execution strategy." strategy: JobStrategy! "Date and time when the job starts." startedAt: DateTime! "Date and time when the job ends." endedAt: DateTime "Tasks within this job." tasks( "A condition to be used in determining which values should be returned by the collection." filter: TaskFilter "The method to use when ordering collection items." orderBy: TaskOrderBy "Read all values in the set after (below) this cursor." after: String "Read all values in the set before (above) this cursor." before: String "Only read the first _n_ values of the set." first: Int "Only read the last _n_ values of the set." last: Int ): TaskConnection! "Type of register originating medication registry data. The value should be present in the `REGISTER_TYPE` dictionary." registerType: String! "Medication registry job reason description." reasonDescription: String! }

Авторизація

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

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

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

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

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

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

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

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

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

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

  • Перевірити типи клієнта (type = NHS)

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

Пошукові параметри

Пошук по декільком параметрам виконується у відповідності до логічного правила І (AND).

  1. status. Знайти по jobs.status

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

  1. Отримати перелік всі Job-ів медичного реєстру, профільтрованих по:

    1. типам job медичного реєстру (jabba.jobs.type):

      1. create_medication_registry

      2. update_medication_registry

      3. deactivate_medication_registry

    2. вказаних пошукових параметрів

  2. Відобразити перелік інформацію по Job-ам медичного реєстру у відповідності до схеми

  3. Повернути кількість всіх знайдених сутностей в блоці PageInfo

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