Purpose
Method to Get all divisions from ehealth system as a raw data as a part of data exchange to do some operations on PIS side (data enrichment, search)
Specification
Authorization
Verify that MIS API token exists in request
in case of error - return 401 (“Api key is not set")
Verify the validity of MIS API token
in case of error - return 401 (“Invalid api key”)
Verify that MIS API token is not expired
in case of error - return 401 (“Invalid api key”)
Check MIS scopes in order to perform this action (scope = 'division_bulk:read_pis')
return 403 (“Your scope does not allow to access this resource. Missing allowances: division_bulk:read_pis”) in case of invalid scope(s)
Validate query parameters
Validate parameters by type and format
Parameter | Type | Format |
---|---|---|
depth | integer | Positive number without fraction components |
Service logic
Prepare snapshot (cron)
Run cron-job to prepare data based on schedule (
DIVISIONS_BULK_UPLOAD_SCHEDULE
)Generate file that contains all the data from
divisions
tableGenerate N files depending on
PIS_BULK_ACTIONS_MAX_DEPTH
with data changed in 1-2-3 .. N daysUpload files to
MEDIA_STORAGE_BULK_ACTIONS_BUCKET
Retrieve data
Download file from media storage
MEDIA_STORAGE_BULK_ACTIONS_BUCKET
depending on requested depthIf
depth
is missing - get all recordsif
depth
is passed - select file that contains changes within requested period
Retrieve records from file and render as response