AIMS (AI Medical Scribe) is an advanced clinical documentation assistant leveraging large language models (LLMs) to help healthcare professionals generate accurate, structured SOAP notes. The application combines real-time voice transcription with AI-assisted content generation powered by Google Vertex AI (Gemini model), providing intelligent suggestions throughout the documentation workflow.
- System Components
- Features
- Technology Stack
- Setup Instructions
- Usage Workflow
- Project Structure
- Troubleshooting
- Contributing
- License
- Support
Located in backend/ directory, provides the AI/LLM processing core including:
- Voice-to-text transcription (Google Cloud Speech-to-Text)
- LLM-powered clinical note generation (Google Vertex AI Gemini)
- API endpoints for frontend integration
- Database operations for clinical data
Located in frontend/ directory, contains the clinical documentation interface with:
- Real-time AI suggestions
- Interactive SOAP note workflow
- Voice recording integration
The RAG (Retrieval-Augmented Generation) CPG (Clinical Practice Guidelines) pipeline enhances the AI system by providing structured medical guideline knowledge for reference during documentation.
- Voice Transcription: Real-time speech-to-text powered by Google Cloud Speech-to-Text API
- AI-Assisted Generation: Context-aware clinical suggestions using Google Vertex AI (Gemini model) for:
- Differential diagnoses
- Treatment plan recommendations
- Clinical documentation refinement
- Clinical Summary: Automated generation of structured patient summaries with LLM post-processing
- Voice transcription service
- AI generation service
- Database operations
- API endpoints for frontend integration
- SOAP note workflow components
- Voice recording interface
- Clinical documentation forms
- AI suggestion display components
- Web-Based Interface: Responsive design for desktop use
- Data Persistence: Patient notes stored securely in local database
- Real-Time Processing: Immediate feedback during note creation
- Large Language Model: Google Vertex AI (Gemini model) for clinical text generation
- Speech Recognition: Google Cloud Speech-to-Text API for voice transcription
- Natural Language Processing: Custom prompt engineering for medical contexts
- Python 3.9+
- Flask web framework
- SQLite database
- Integration with Google Cloud AI services
- HTML5, CSS3, JavaScript
- Responsive design components
- Client-side form validation
Core Technologies:
- Python
- PyMuPDF (fitz)
- Tesseract OCR (pytesseract)
- spaCy NLP pipelines
- Sentence Transformers
- Vertex AI Vector Search
Pipeline Stages:
- Text extraction and cleaning
- Chunking and embedding generation
- Vector storage/retrieval
- HTML5, CSS3, JavaScript
- Responsive design components
- Client-side form validation
- Python 3.9 or later
- Google Cloud account with:
- Speech-to-Text API enabled
- Vertex AI API enabled
- Service account credentials
-
Clone the repository
-
Create and activate virtual environment:
python -m venv venv source venv/bin/activate # Linux/Mac .\venv\Scripts\activate # Windows
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables in
.envfile -
Start backend server:
python -m backend.app
-
Access application at:
http://localhost:5000/frontend/index.html
- Subjective: Record or type patient history
- Objective: Enter examination findings
- Assessment: Generate and review AI suggestions
- Plan: Create treatment plan with AI assistance
- Summary: Generate final clinical summary
AIMS-website/
├── backend/ # Core application logic
│ ├── app.py # Main application entry
│ ├── database.py # Secure data storage
│ ├── services/ # Integration services
│ ├── routes/ # API endpoints
│ └── rag/ # Optional RAG components
├── frontend/ # Clinical interface
│ ├── components/ # Reusable UI elements
│ ├── *.html # Clinical workflow pages
│ └── *.css # Clinical styling
├── rag_cpg_pipeline/ # Supporting RAG processing
└── requirements.txt # Dependency management
- Database Errors: Delete
notes_main.dbto reset - API Connection Issues: Verify service account credentials
We welcome contributions from the medical and technical communities. Please contact the development team for contribution guidelines and code of conduct.
This project is currently under development. Licensing information will be provided upon public release.
For clinical implementation support or technical issues, please contact the development team.