Даний веб-сервіс (WS) дозволяє знайти Job-и медичного реєстру в адмін панелі, використовуючи пошукові параметри.
Основні положення
Це graphQl метод , який використовується тільки з адміністративної панелі.
Тільки автентифіковані та авторизовані співрібтники НСЗУ з відповідним скоупом можуть здійснювати пошук Job-ів медичного реєстру.
Квері повертає перелік 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).
status. Знайти поjobs.status
Сервісна логіка
Отримати перелік всі Job-ів медичного реєстру, профільтрованих по:
типам job медичного реєстру (jabba.jobs.type):
create_medication_registry
update_medication_registry
deactivate_medication_registry
вказаних пошукових параметрів
Відобразити перелік інформацію по Job-ам медичного реєстру у відповідності до схеми
Повернути кількість всіх знайдених сутностей в блоці PageInfo