Skip to content
 
 

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Pregnancy Medication Checker

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.

Overview

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

Tech Stack

  • 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

Quick Start

Prerequisites

  • Docker & Docker Compose
  • Make (optional, for convenience commands)

Test Accounts

  • Provider:
    • Username: provider
    • Password: provider123
  • Patient:
    • Username: patient
    • Password: patient123

Running Locally with Docker

  1. Clone repository:

    git clone https://github.gatech.edu/lkareem6/CS6440-Final-Project.git
  2. Navigate to the project directory:

    cd pregnancy-med-checker
  3. Set up environment variables:

    cp .env.example .env  # Create .env file from example (if .env.example exists)

    Note: The project uses a single .env file at the root for all services.

  4. Build and start all services:

    make build  # Build Docker images
    make up     # Start all services
  5. Access the application:

  6. Stop services:

    make down # Stop services

Project Structure

pregnancy-med-checker/
├── backend/          # FastAPI backend service
├── frontend/         # React frontend application
├── docker-compose.yml # Docker orchestration
├── Makefile          # Convenience commands
└── README.md

Production Deployment

The application is deployed to production:

Deployment Commands

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 backend

Note: The deployment currently uses a team member's Docker Hub username by default. To use your own Docker Hub account:

  1. Login to Docker Hub: docker login
  2. Set your username when deploying: DOCKER_USERNAME=yourusername make deploy-backend
  3. Or update the DOCKER_USERNAME variable in the Makefile
  4. Update the Docker image in pregnancy-med-checker/config/fly-backend.toml (image = "yourusername/pregnancy-backend:latest")
  5. Redeploy backend

For more detailed backend deployment instructions, see:

Team

Demo

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).


Entry & provider home

Homepage / login. The app landing page with sign-in for providers and patients. Use the test accounts above to explore either portal.

Homepage Login

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.

Provider Dashboard


Provider: example client (Sarah)

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.

Provider Example Client Overview

Medications. Current medication list for the client, supporting informed prescribing and interaction checks.

Provider Example Client Medications

Medication interactions. Pregnancy-aware drug–drug interaction results, with severity and recommendations.

Provider Example Client Medication Interactions

Pregnancy observations. FHIR-based pregnancy observations (e.g., trimester, due date) used to tailor safety advice.

Provider Example Client Pregnancy Observations

Diet–food interactions. Warnings about food or dietary interactions with the client’s medications.

Provider Example Client Diet-Food Interactions

Notes. Clinical notes for the client, for documentation and handoff.

Provider Example Client Notes

Messages. In-app messaging between provider and client for follow-up and questions.

Provider Example Client Messages


Provider: drug safety & FHIR search

Drug safety checker. Standalone tool for providers to look up a medication and see pregnancy/lactation safety and warnings without opening a specific client.

Provider Drug Safety Checker

Drug safety checker with evidence. Same tool with linked PubMed citations, giving providers quick access to evidence behind the safety information.

Provider Drug Safety Checker with PubMed Evidence

FHIR patient search. Search for patients in the connected FHIR server (e.g., by name or ID) to open their record in the app.

Provider FHIR Patient Search

FHIR patient search results. Search results listing matching patients; selecting one loads their data into the provider workflow.

Provider FHIR Patient Search Results


Patient experience

Patient dashboard. After logging in as a patient, the dashboard shows their medications, pregnancy-related info, and clear safety summaries.

Patient Dashboard

Patient dashboard (continued). Additional sections of the patient view, such as alerts, reminders, or other personalized content.

Patient Dashboard (Continued)

Patient medication interactions. The patient-facing view of medication interactions, with plain-language explanations so they can understand risks and discuss with their provider.

Patient Medication Interactions

About

Full-stack web app that helps support safe medication and supplement use during pregnancy and breastfeeding, connecting a FHIR server to multiple medical databases. Created as final team project for course CS 6440 of OMSCS program Fall 2025.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages