Table of Contents |
---|
Purpose
...
Doctors should be filtered on portal by first name, second name, last name, speciality, settlement, division_name. Only active doctors can be found.
Each doctor must be linked to division.
All datas are shown without scopes from reports DB.
UI Design
Divisions
Specification
ApiarySearch Employees
Get doctors List
Search divisions employees by filters in payload.
- Search only ACTIVE doctors only status='APPROVED' doctors
- is_active=true
- do not show employees with employees.division is null
- exclude from response doctors with declaration_count>=declaration_limit
- employee_type='DOCTOR'
Filter by
- first_name, last_name, second_name (optional, as 'like', case insensitive) - from report.parties
- speciality (report.employees.speciality.speciality)
- region (optional, as `LIKE *`)
- area (optional, as `LIKE *`)
- settlement (optional, as `LIKE *`)
- division_name (optional, as `LIKE *`)
- is_available (of nvl(declaration_count,0)>=declaration_limit then is_available=false else true)
Statements for response:
- get employees.speciality
- get parties.specialities, for each parties.specialities.speciality check condition if parties.specialities.speciality<>employee.speciality.speciality then set speciality_officio=false and add to employees.speciality else don't add to response.
In case none doctors was found return 200 and empty array.
Response:
...