ЕСОЗ - публічна документація
RС_[NEW] (GraphQl) Deactivate Device definition_EN
Purpose
This WS is designed to allow employee with appropriate scopes to deactivate device definition in eHealth.
Key points
This is a GraphQL query method used in Administration panel only.
Only authenticated and authorized employee with appropriate scope can deactivate device definitions.
Specification
Authorize
Verify the validity of access token
Return (401, 'Invalid access token') in case of validation fails
Verify that token is not expired
in case of error - return (401, 'Invalid access token')
Check user scopes in order to perform this action (scope = 'device_definition:write')
Return (403, 'Your scope does not allow to access this resource. Missing allowances: device_definition:write') in case of invalid scope(s)
Validate legal entity
Extract client_id from token.
Check legal entity status (status = ACTIVE)
in case of error - return 409 ('client_id refers to legal entity that is not active')
Check client type (type = NHS)
in case of error - return 403 ('You don't have permission to access this resource')
Validate request
Check that required fields according to specification are submitted
in case of error - return 422 ('required property <field_name> was not present') where field_name - name of missing field
Check that no additional fields that do not correspond to schema are submitted
in case of error - return 422 ('Unknown field')
Check that device definition by
$.id
exists in device_definitions table in PRM DBin case of error - return 404 ('Device definition is not found')
Check that device definition is active (is_active = true)
in case of error - return 409 ('Device definition should be active')
Check that no active program devices exist in program_devices table in PRM DB with device_definition_id =
$.id
in case of error - return 422 ('Device definition has active Program devices')
Service logic
Update record in device_definitions table in PRM DB, set values:
is_active = false
updated_at = now()
updated_by = user_id from token
Render a response according to specification.
ЕСОЗ - публічна документація