ЕСОЗ - публічна документація
Search Forbidden groups by params_UA
Ціль
Даний веб-сервіс дозволяє знаходити групи з панелі адміністратора за допомогою параметрів пошуку. Групи можна знайти за параметрами груп та/або за параметрами елементів.
Ключові моменти
Даний сервіс на graphQl використовується лише з панелі адміністрування.
Тільки авторизований та уповноважений працівник національної служби охорони здоров’я з відповідною областю може здійснювати пошук у заборонених групах.
Специфікація
"""
Fields to filter forbidden groups in the system.
"""
input ForbiddenGroupFilter {
"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
"Forbidden group service filter"
forbiddenGroupService: ForbiddenGroupServiceFilter
"Forbidden group code filter"
forbiddenGroupCode: ForbiddenGroupCodeFilter
}
"""
Methods to use when ordering `ForbiddenGroup`.
"""
enum ForbiddenGroupOrderBy {
"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 `ForbiddenGroup` items.
"""
type ForbiddenGroupConnection {
"Information to aid in pagination."
pageInfo: PageInfo!
"A list of nodes."
nodes: [ForbiddenGroup]
"A list of edges."
edges: [ForbiddenGroupEdge]
}
"""
An edge in a connection of `ForbiddenGroup`.
"""
type ForbiddenGroupEdge {
"The item at the end of the edge."
node: ForbiddenGroup!
"A cursor for use in pagination."
cursor: String!
}
"""
ForbiddenGroup contains details about restricted codes, services and service groups included in medical events.
In order to obtain details user must have a scope **forbidden_group:details**
"""
type ForbiddenGroup implements Node {
"The ID of an object."
id: ID!
"Primary key identifier from the database."
databaseId: UUID!
"The name of the `ForbiddenGroup`."
name: String!
"The reason the `ForbiddenGroup` was created."
creationReason: String!
"The reason the `ForbiddenGroup` was deactivated."
deactivationReason: String
"Whether the `ForbiddenGroup` is active or not?"
isActive: Boolean!
"Date and time when record was inserted."
insertedAt: DateTime!
"Date and time when record was updated."
updatedAt: DateTime!
"Services and Service groups wich belong to ForbiddenGroup."
forbiddenGroupServices(
"A condition to be used in determining which values should be returned by the collection."
filter: ForbiddenGroupServiceFilter
"The method to use when ordering collection items."
orderBy: ForbiddenGroupServiceOrderBy
"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
): ForbiddenGroupServiceConnection!
"Codes wich belong to ForbiddenGroup."
forbiddenGroupCodes(
"A condition to be used in determining which values should be returned by the collection."
filter: ForbiddenGroupCodeFilter
"The method to use when ordering collection items."
orderBy: ForbiddenGroupCodeOrderBy
"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
): ForbiddenGroupCodeConnection!
} |
Авторизація
Перевірити валідність токену доступу
у випадку помилки - повернути 401 (“Invalid access token”) in case of validation fails
Перевірити, що токен дійсний
у випадку помилки - повернути 401 (“Invalid access token”)
Перевірити скоупи користувача на можливість виконання даної дії (scope = 'forbidden_group:details')
повернути 403 (“Your scope does not allow to access this resource. Missing allowances: forbidden_group:details”) в разі невалідних скоупів
Перевірити юридичну особу
Отримати client_id з токену.
Перевірити скоупи користувача на можливість виконання даної дії (scope = 'forbidden_group:details')
у випадку помилки - повернути 403 (“Your scope does not allow to access this resource. Missing allowances: forbidden_group:details”)
Перевірити статус юридичної особи (status = ACTIVE)
у випадку помилки - повернути 409 ('client_id refers to legal entity that is not active')
Параметри пошуку
Пошук з кількома параметрами виконується відповідно до логічного правила AND.
id. Пошук по forbidden_groups.id (використовується для отримання детальних відомостей про групу)
name. Пошук по forbidden_groups.name
is_active. Пошук по forbidden_groups.is_active
item_code. Пошук по:
services.code (сервіс об'єднання forbidden_group_services)
service_groups.code (forbidden_group_services об'єднання service_groups)
forbidden_group_codes.code (для довідників)
item_name. Пошук по:
services.name (сервіс об'єднання forbidden_group_services)
service_groups.name (forbidden_group_services об'єднання service_groups)
опис кодів для довідників (forbidden_group_codes fc об'єднання довідників d по fc.system = d.name and fc.code = d.values.code)
item_type (string). Обмежує пошук такими елементами:
service - пошук в елементах послуги
service_group - пошук по елементам service_group
<system> - пошук по визначеному довіднику. Де <system> є назва довідника
eHealth/ICD10_AM/condition_codes
,eHealth/ICPC2/actions
,eHealth/ICPC2/condition_codes
абоeHealth/ICPC2/reasons
item_is_active. Пошук по:
forbidden_group_services.is_active - для service/service_group
forbidden_group_codes.is_active - для dictionaries
Сервісна логіка
Відобразити масив forbidden_groups з вкладеними масивами forbidden_group_codes та forbidden_group_services по параметрам, що співпадають.
ЕСОЗ - публічна документація