Purpose
This method is designed to search for doctors on public portal by employees or any citizen of Ukraine or via cabinet by any registered patient.
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 null
- 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)
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.