This is a software tool which does the following:
- Crawls and fetches data about availability of doctors appointments in several Kupot Holim
- Extracts the data based on geography and field of experties
- Merges the data from the different Kupot Holim
- Visualizes the data on a map
TODO
The Codebase contains seperate crawlers for each Kupat Holim and the Visualization tool
The Clalit crawler is documented in [Clalit_README.md]
The Maccabi crawler is documented in [Maccabi_README.md] (TODO)
The Visualization tool is documented in [visualization_README.md] (TODO)
Currently, this tool is a POC on very real data, but not a fully working application.
Also, the paths where the raw data is writted may be different than where the app and the code that tidies it expect it to be, we didn't have time to run everything end to end.
Future work:
- Add the other Kupot Holim (Meuhedet, Leumit)
- Debug, Fine-tune and improve the crawling of Clalit and Maccabi
- In Maccabi - the crawling didn't succeed to query for family doctors (since there were too much)
- In clalit - since the querying was too slow - only several fields were queried. We found that there is 97% shrinkage of the dataframe after we clean and dedup the data, so a massive improvement can be done for certain
- Both of them need to be researched for duplicates, misfits between them and other data errors. We did find some standartization that was done by the Misistry of Health, but it wasn't always followed by the Kupah, Examples:
- Tel-Aviv vs Tel-Aviv-Yafo vs Tel Aviv
- א.א.ג vs אף אוזן גרון
- נשים vs גניקולוגיה
- Add more statistics and filters
- Normalize per city-capita. This is very important since now the app is very biased towards highly populated cities.
- Create a more complex metrics that match desireable behavior and does not encourage hiding data from clients. For example look at K-closest appointments rather than just one (which is the current status), and reward appointments that occur at a closer date.
- Look at trends over time, and average over longer time prediods. This will allow insights are more useful and are not influenced by timing.
- Add more advanced time and location filters (based on proximity and not cities for example)
- Make the Crawling run periodically and update a database
- Make Clalit not require login
- Ideally - run this via a ministry superuser to have access to all the data (also hidden appointments). If there is a way to do the analysis we did on booked appointments (without any patient data of course) in addition to available ones - it will probably resemble the patient's story more accurately.
- Debug and improve the visualization
- Tidy and document the code