Table of Contents |
---|
...
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
Get doctors List
Search employees by filters in payload.
- Search only status='APPROVED' doctors
- is_active=true
- do not show employees with employees.division is nullexclude 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.