Reading Time: 3 minutes
North East Medical Services (NEMS) is one of the largest non-profit community healthcare service providers in the United States serving the medically-underserved populations of the San Francisco Bay Area.
The scope of the project was to improve the patient experience by providing best-in-class healthcare services using technology.
The unanimous decision from the board of NEMS was to develop a FHIR-compliant scheduling experience for their patients where they can book and manage their own and their dependent appointments at the touch of their finger.
Product Approach
We started building the product right from the Idea stage.
Five different teams(companies) collaborated together in the project to make the project a success. The details of everyone’s contributions are mentioned below:
- Quantfarm: Undertook the Design and Development aspect of the project from NEMS and collaborated with TheCodeWork™ for the development aspect and Apperbuilder for Designs.
- TheCodeWork™: We worked on developing microservices for the entire product. Developing reusable, fully productized & cloud-hosted applications. Developing the webapp and integrating APIs to communicate with the FHIR repository managed by Smile CDR.
- Apperbuilder: Created the mockups and designs of the webapp.
- SmileCDR: Ccollaborated with NEMS to host the FHIR repository for NEMS.
- NEMS: The end client of the project who collaborated with all the teams to bring this project to success.
The current product was built for Phase1 to include the following into the product:
- Login with the existing MRN for the users
- Scheduling appointments for existing patients and dependents of any guardian
- Check-in to the existing appointment for both patient and dependent of any guardian using geo-fencing.
- Managing an appointment including both rescheduling and cancelling appointments.
- Health Insurance availability checks.
- New Patient Registrations with a QRCode generated after registration which can be utilised for quick and easy login.
Technical Approach
We built NEMS webapp with Microservice architecture using,
- Django and DRF as our preferred backend technology for creating APIs.
- We built the frontend with Vue.js and customization of bootstrap in it.
- We have also used Redis as a queue and implemented all cronjobs with Celery.
- The project was hosted in different cloud servers for different environments.
- The production was deployed in Azure server with a docker container.
- To demonstrate the agnostic behaviour of the cloud environment, the staging was setup and deployed in AWS with VPC container which was self contained to hold the application for different microservices and serve it with an AWS load balancer.
- We have used Nginx as the webserver, supervisor and uvicorn to run the application.
- The need of uvicorn was to utilize the uswgi instead of wsgi to talk to the websockets needed for the product.
Our primary challenges included communicating with the FHIR APIs exposed by another team with limited documentation.
- Postman as an API client to hold a collection of all APIs was also used to overcome this.
- Apart from the integrations and other development, several 3rd parties including Insurance Verification by Experian, SMS for OTP, and other transactional SMS by Twilio, and Email notifications with SMTP were set up for the project.
- Apart from that, the project was solely managed on Jira and Confluence to document and progress on the roadmaps set forth.
Development Approach
The development approach we followed for the project was to go with agile methodologies for product development. Every feature had the following set of SOPs to go by in order:
- Gathered requirements from the NEMS team.
- NEMS in association with Smile got the FHIR APIs up and running with the concerned Resources of FHIR set up.
- Mockup UI Designs got created by the design team and approved by the NEMS team.
- TheCodeWork™ identified all the TestCases required, documented, and got it approved by NEMS
- After the testing and approval of the FHIR APIs, we developed the feature and deployed it on the staging after Unit Test, Integration Test, and Regression Test on the product.
- After the staging deployment, User Acceptance Test(UAT) was carried out.
- Upon successful approval of the UAT, the feature made it to production.
Testing the product thoroughly was one of the key metrics for a successful product.
Current State
Our clients had a successful release and under the Beta phase, they were able to book more than 85+ appointments without any marketing within a span of 15 – 20 days.
The current phase is being tested by the clients to gather feedback on the adaptability of the platform by both their customers and other prospective companies.
We are currently supporting Phase1 for the product and handling all improvements that come along from the clients.