Caladrius is a comprehensive AI-powered medical triage system that streamlines emergency department operations through intelligent patient assessment, priority-based queuing, and seamless medical record integration.
Watch Caladrius in Action
Click the image above to watch our full system demonstration, showcasing the mobile app, triage client, and admin dashboard working together.
Demo Highlights:
- Patient data collection via mobile app
- AI-powered diagnostic questioning
- Real-time triage priority assignment
- Hospital staff dashboard management
- Complete end-to-end workflow
This monorepo contains multiple applications and services:
- Path:
mobile-app - Type: React Native Expo app
- Purpose: Patient data collection and medical passport management
- Key Files:
mobile-app/app/(tabs)/index.tsx- Main patient interfacemobile-app/app/(tabs)/home.tsx- Home screen with restricted user flowmobile-app/src/fs.ts- File system utilitiesmobile-app/src/passportStore.ts- Medical passport data management
- Frontend Path:
triage-client/frontend - Backend Path:
triage-client/backend - Type: Next.js frontend + FastAPI backend
- Purpose: Core triage assessment and AI diagnosis engine
- Entry Point:
triage-client/frontend/src/app/page.tsx - Key Components:
triage-client/frontend/src/components/TriageProvider.tsx- Main triage state managementtriage-client/frontend/src/components/TriageFlow.tsx- Step-by-step triage workflowtriage-client/frontend/src/components/VitalsForm.tsx- Vital signs collectiontriage-client/frontend/src/components/SymptomsInput.tsx- Symptom input interfacetriage-client/frontend/src/components/QuestionPrompt.tsx- AI diagnostic questioning
- API Integration:
triage-client/frontend/src/utils/api.ts - Type Definitions:
triage-client/frontend/src/utils/types.ts
- Main API Server:
triage-client/backend/medical_api.py - AI Diagnosis Engine:
triage-client/backend/langgraph_model_medical.py - Interactive Tools:
triage-client/backend/tools.py - Server Startup:
triage-client/backend/start_server.py - API Testing:
triage-client/backend/test_api.py - Documentation:
triage-client/backend/README.md
- Frontend Path:
triage-admin/frontend - Type: Next.js application
- Purpose: Hospital staff interface for patient prioritization and management
- Key Files:
triage-admin/frontend/src/app/page.tsx- Main dashboardtriage-admin/frontend/components/PriorityQueue.tsx- Patient priority queuetriage-admin/frontend/components/PriorityBadge.tsx- Triage priority indicatorstriage-admin/frontend/components/PatientDetailsPanel.tsx- Detailed patient informationtriage-admin/frontend/src/app/api/patients/route.ts- Patient data API
- Path:
patient-doctor/frontend - Type: Next.js application
- Purpose: Doctor-patient communication interface
- Status: Base Next.js setup (development in progress)
- Node.js 18+
- Python 3.8+
- OpenAI API Key
- MongoDB URI (for admin dashboard)
- AWS credentials (for file storage)
cd mobile-app
npm install
npx expo startcd triage-client/backend
pip install fastapi uvicorn pydantic langchain-openai langgraph python-dotenv pymongo
# Create .env file
echo "OPENAI_API_KEY=your_key_here" > .env
echo "OPENAI_MODEL=gpt-4o-mini" >> .env
echo "MONGODB_URI=your_mongodb_uri" >> .env
# Start server
python start_server.pyLive Url: The triage client frontend is deployed at https://caladrius-ai.vercel.app/
Note: The functionality requires the backend to be running locally on localhost:8000
cd triage-admin/frontend
npm install
# Create .env.local
echo "MONGODB_URI=your_mongodb_uri" > .env.local
npm run dev- LangGraph Integration:
langgraph_model_medical.py- Advanced AI diagnostic reasoning - Interactive Questioning: Dynamic follow-up questions based on medical history
- Structured Output: JSON-formatted differential diagnoses with confidence scores
- Digital Records:
PassportComplete.tsx- Medical history display - File Management:
s3.ts- Cloud storage integration - Data Validation:
validators.ts- Input validation
- 5-Level System: Emergency (1) to Routine (5) classification
- Real-time Updates: Live priority queue management
- Clinical Decision Support: Evidence-based recommendations
- HIPAA Considerations: Encrypted data transmission
- Local Processing: Sensitive data processed locally when possible
- Audit Trails: Complete interaction logging
POST /start- Initialize diagnosis sessionPOST /resume- Continue diagnostic conversationPOST /confirm- Confirm final diagnosisGET /health- Health checkGET /example- API usage examples
Full API documentation: triage-client/backend/README.md
- Global Styles:
globals.css- Medical-themed color palette - Component Modules: Modular CSS for each component
- Glassmorphism: Modern medical interface aesthetic
- Loading Animations:
LoadingAnimation.tsx - Medical Data Display:
MedicalDataDisplay.tsx - Step Transitions:
StepTransition.tsx
- Patient Data:
types.ts- Comprehensive patient information structure - Medical Schema:
schema.ts- Structured medical data definitions - Sample Data:
sampleData.ts- Test data for development
- API Tests:
test_api.py- Backend API testing - Sample Data: Pre-configured test patients and scenarios
- ESLint: Consistent code formatting across all projects
- TypeScript: Type safety for frontend applications
- Environment:
.envconfiguration for all services
2nd Place Winner - Best Use of AI for Social Good at HackGT 12 (2025)
Important: This system is for educational and research purposes only. It is not intended to replace professional medical advice, diagnosis, or treatment. Always consult qualified healthcare providers for medical concerns.
This project was developed during HackGT 2025. For questions or contributions, please refer to the Devpost submission.
Built with care for better healthcare outcomes
