...
- Authorization
- Authorize user using standard flow (Auth)
- Search for declarations using token
- Select party_id from PRM.Party_users where user_id = token.user_id
- Select id from PRM.Employee where
- party_id = a.
- legal_entitty_id= token.client_id
- Select declarations. patient_id from OPS.Declarations where
- employee_id = b.
- status = active
- Write selected declarations.id records into Redis
- Refresh record in Redis
- Delete record from Redis after N minutes (N = 15 by default)
- If new declaration was signed with the Doctor, delete the record from Redis where key = declarations.employee_id
- Declarations validation
- Search for a record in Redis where the key = token.user_id
- If there is no record, perform point 2 - Search for declarations using token
- If there is a record, search for patient_id in array
- If there are no records with such patient_id return error -"Access denied - you have no active declaration with the patient"
- If there is a record - grand access
- Search for a record in Redis where the key = token.user_id
...