When it comes to scheduling medical appointments one frustration comes up more often than orders: queues. If you happen to have electronic registration it makes it less painful but still doesn’t solve the problem. With our Kiddo we’d to visit all kinds of specialists and this frustration turned out too apparent for me to ignore and I’d to let my geekiness into to the wild. One way of solving this madness was to look for visits that has been added recently on a regular basis. Such visits are usually results of one canceling its appointment or medical care adding some slots that will be available same day of the visit or similar. I wanted to hunt for those slots. Obviously I didn’t plan to do it by hand.
Fortunately our medical care uses REST API to search and schedule appointments. I’ve sniffed out the requests and responses formats by Charles since I needed to do MitM in order to decipher SSL encryption. Once I’ve known the API I’ve created simple PoC app in Rails that is able to log in to the medical care scheduling system, obtain and refresh authorisation token and search for possible appointments slots according to defined filters. Once it found new spot that is earlier than previous best spot it sent notification (in this example by mail). It didn’t schedule a visit automatically, but with little effort it could. Code is publicly available on GitHub (with shortish Readme explaining deploy on heroku and simple watchdog configuration) but please remember that’s PoC only and it has many rough edges. If you happen to have same medical care provider you can deploy it’s ready to be deployed on heroku, configured and cron’ed regularly – it helped us so many times!
If you have some requests for new features – please let me know or even better, create a Pull Request. (-;
Interesting and can be useful. Unfortunately, hard to build a product on that idea.
The more people start using that, the less chance you have to get it work.
When developing it I never thought about building product out of it. Rather share my geeky solution to problem and see if people will actually care to use it (-;