Table of Contents |
---|
...
Uploading and processing registers
Terminate declaration
Logic
NHS admin download files with fields according to file structure.
...
Name | Source | Description |
---|---|---|
id | $batch_id | id=batch_id from il.registers |
file_name | $file_name | file_name=file_name from il.registers |
status | [new, processing, processed ] | new - file was downloaded and not processed processing - when processing entries>0 processed - when processing entries=0 |
type | $type | type=type from il.dictionaries.name='REGISTER_TYPE' |
qty | {not_found: number, processing: number, errors: number, total: number} | |
errors | ["Row has length 4 - expected length 5 on line 5", | |
inserted_at | user_id | |
inserted_by | :timestamp | |
updated_at | user_id | |
updated_by | :timestamp |
The data from file must be stored to il.register_entries. In case some rows had errors those entries will be shown in filed "errors" and won't be processed.
Name | Source | Description |
---|---|---|
id | ||
register_id | the unique id for the batch upload | |
person_type | enum(employee,patient) | |
type | $type | document_type |
number | $number | document_number |
status |
| |
inserted_at | user_id | from token |
inserted_by | :timestamp | |
updated_at | user_id | |
updated_by | :timestamp |
After the file was processed the field "qty" from table il.registers must be updated.
Terminate declaration
If the person was matched then
update declarations.status to `terminated`
update persons.status='INACTIVE'
change declarations.reason to $"auto_"||type
update il.registers.status='matched'
update mpi.persons.death_date = $death_date
...
If declaration_id was matched
update ops.declarations.status to `terminated`
update ops.declaration.updated_at = now()
update ops.declaration.updated_by = $user_id
change declarations.reason to $"auto_"||type
update il.registers.status='matched'
involve Event Manager for changed status
Reset authentication method
If the person was matched then
update mpi.person_authentication_methods.type to `NA`
update mpi.person_authentication_methods.phone_number to `null`
update mpi.person_authentication_methods.updated_at to `now`
update il.registers.status='matched'
...