A full-stack web application for checking medication interactions during pregnancy and lactation periods. The system integrates with FHIR (Fast Healthcare Interoperability Resources) standards to provide personalized medication safety assessments for both patients and healthcare providers.
The Pregnancy Medication Checker addresses a critical gap in healthcare: most drug interaction checkers are built for general use and do not account for reproductive health factors like pregnancy and lactation. This application provides:
- Medication Interaction Checking: Real-time drug interaction analysis with pregnancy-specific warnings
- FHIR Integration: Access to patient data including medications, conditions, and pregnancy observations
- Provider & Patient Portals: Separate interfaces for healthcare providers and patients
- Research Integration: PubMed article search for evidence-based medication safety information
- FDA Safety Data: Integration with OpenFDA for drug labeling and adverse event data
- Frontend: React 19 + TypeScript + Vite
- Backend: FastAPI (Python 3.12)
- FHIR Server: HAPI FHIR
- APIs: RxNorm, OpenFDA, PubMed
- Containerization: Docker & Docker Compose
- Deployment: Vercel, fly.io
- Docker & Docker Compose
- Make (optional, for convenience commands)
- Provider:
- Username:
provider - Password:
provider123
- Username:
- Patient:
- Username:
patient - Password:
patient123
- Username:
-
Clone repository:
git clone https://github.gatech.edu/lkareem6/CS6440-Final-Project.git
-
Navigate to the project directory:
cd pregnancy-med-checker -
Set up environment variables:
cp .env.example .env # Create .env file from example (if .env.example exists)Note: The project uses a single
.envfile at the root for all services. -
Build and start all services:
make build # Build Docker images make up # Start all services
-
Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- Backend API Health Check: http://localhost:8000/api/health
- HAPI FHIR Server (if deployed): http://localhost:8080
-
Stop services:
make down # Stop services
pregnancy-med-checker/
├── backend/ # FastAPI backend service
├── frontend/ # React frontend application
├── docker-compose.yml # Docker orchestration
├── Makefile # Convenience commands
└── README.md
The application is deployed to production:
- Frontend: https://pregnancy-med-checker.vercel.app (Vercel)
- Backend API: https://pregnancy-backend.fly.dev/api (Fly.io)
From the pregnancy-med-checker/ directory:
make deploy-frontend # Deploy frontend to Vercel
make deploy-backend # Deploy backend to Fly.io
make deploy-frontend-backend # Deploy both frontend and backendNote: The deployment currently uses a team member's Docker Hub username by default. To use your own Docker Hub account:
- Login to Docker Hub:
docker login - Set your username when deploying:
DOCKER_USERNAME=yourusername make deploy-backend - Or update the
DOCKER_USERNAMEvariable in the Makefile - Update the Docker image in
pregnancy-med-checker/config/fly-backend.toml(image = "yourusername/pregnancy-backend:latest") - Redeploy backend
For more detailed backend deployment instructions, see:
- Valentina Cano Arcay (varcay3@gatech.edu)
- Lana P Kareem (lkareem6@gatech.edu)
- Faezeh Goli (faezeh@gatech.edu)
Below are a series of screenshots illustrating the web app's capabilities. The walkthrough is organized in two parts: Provider workflow (login → dashboard → client record → tools) and Patient workflow (dashboard and medication safety).
Homepage / login. The app landing page with sign-in for providers and patients. Use the test accounts above to explore either portal.
Provider dashboard. After logging in as a provider, you see the main dashboard with quick access to the client list, drug safety checker, and FHIR patient search.
The following screens show a single client record so providers can review medications, pregnancy context, and safety information in one place.
Client overview. High-level summary for the example client (Sarah), including demographics and key pregnancy-related information pulled from FHIR.
Medications. Current medication list for the client, supporting informed prescribing and interaction checks.
Medication interactions. Pregnancy-aware drug–drug interaction results, with severity and recommendations.
Pregnancy observations. FHIR-based pregnancy observations (e.g., trimester, due date) used to tailor safety advice.
Diet–food interactions. Warnings about food or dietary interactions with the client’s medications.
Notes. Clinical notes for the client, for documentation and handoff.
Messages. In-app messaging between provider and client for follow-up and questions.
Drug safety checker. Standalone tool for providers to look up a medication and see pregnancy/lactation safety and warnings without opening a specific client.
Drug safety checker with evidence. Same tool with linked PubMed citations, giving providers quick access to evidence behind the safety information.
FHIR patient search. Search for patients in the connected FHIR server (e.g., by name or ID) to open their record in the app.
FHIR patient search results. Search results listing matching patients; selecting one loads their data into the provider workflow.
Patient dashboard. After logging in as a patient, the dashboard shows their medications, pregnancy-related info, and clear safety summaries.
Patient dashboard (continued). Additional sections of the patient view, such as alerts, reminders, or other personalized content.
Patient medication interactions. The patient-facing view of medication interactions, with plain-language explanations so they can understand risks and discuss with their provider.















