Inspiration
Scheduling healthcare appointments is tedious for patients and staff. We wanted to automate the process with a voice agent that can call patients, suggest available slots, and handle booking or rescheduling, reducing friction and no-shows.
What we built
- An automated system connected to a FHIR server for managing appointments.
- A call queue that prevents duplicate calls and suggests available slots.
- Endpoints to book, reschedule, or cancel appointments.
- Scripts for setup, demo runs, and resetting the FHIR server.
How we built it
- Backend: Python + FastAPI for FHIR endpoints and scheduling logic.
- Data: FHIR server for patients, practitioners, and appointment slots.
- Automation: Wrapper scripts to manage queues and simulate agent calls.
- Containerization: Docker for running services locally.
Challenges
- Mapping complex FHIR data to backend logic.
- Ensuring queue management avoids duplicate calls.
- Handling edge cases for slot availability and rescheduling.
- Testing without real voice integration (LiveKit).
- Redesigning the system to manage complex latency issues.
What we learned
- FHIR is powerful but requires careful data handling.
- Queue logic is critical for asynchronous agent workflows.
- Mapping natural language (e.g., "next Tuesday") to slots is non-trivial.
- Automated appointment flows significantly reduce manual effort.
Next steps
- Integrate finished LiveKit for real voice calls.
- Improve natural language date/time parsing.
- Add an admin UI to visualize queues and slots.
- Support multi-practitioner and multi-location scheduling.
Log in or sign up for Devpost to join the conversation.