Overview
Mirobody Health can process various types of health-related files, automatically extracting health indicators and making them available for AI analysis. This allows you to upload lab reports, medical records, and other health documents to build a comprehensive health history.Supported File Types
PDF Documents
Lab reports, medical records, prescriptions
Images
JPEG, PNG, GIF, WebP, HEIC - scanned documents and photos
Audio Files
WAV, MP3, AIFF, AAC, OGG, FLAC - voice recordings
Genetic Data
Genetic test reports and analysis files
How It Works
Upload Your Files
Upload health documents through the web interface or API. Files are securely stored and encrypted.
Automatic Processing
The system automatically:
- Recognizes file type and content
- Extracts text and data from documents
- Identifies health indicators (lab results, vital signs, etc.)
Health Indicator Extraction
LLM analyzes your documents to extract:
- Lab test results (blood work, metabolic panels, etc.)
- Vital signs (blood pressure, heart rate, weight, etc.)
- Medical measurements and observations
- Test dates and reference ranges
Extracted Health Indicators
The system can automatically extract various types of health data:Laboratory Tests
Laboratory Tests
- Complete Blood Count: WBC, RBC, Hemoglobin, Platelets
- Metabolic Panel: Glucose, Liver enzymes, Kidney function
- Lipid Panel: Cholesterol, Triglycerides, HDL, LDL
- Thyroid Function: TSH, T3, T4
- Tumor Markers: Various cancer screening markers
Physical Measurements
Physical Measurements
- Blood pressure (systolic/diastolic)
- Heart rate and pulse
- Weight and BMI
- Height
- Temperature
- Oxygen saturation (SpO2)
Device Data
Device Data
When combined with connected devices:
- Activity and exercise data
- Sleep patterns
- Heart rate variability
- Daily step counts
File Upload
Via Web Interface
- Log in to your Mirobody Health instance
- Navigate to the chat interface
- Click the file upload button
- Select your health documents
- Add optional notes about the files
- Upload and wait for processing to complete
Via REST API
For simple file uploads without real-time progress:Via WebSocket API
For uploads with real-time progress feedback (recommended for large files):- Real-time upload progress
- Processing status updates
- Detailed error messages
- Support for large files with chunking
For detailed API documentation, WebSocket protocol, and implementation examples, see the File Processing Implementation Guide.
Configuration
Enable health indicator extraction in your config file (e.g.,config.localdb.yaml):
config.localdb.yaml
Processing Pipeline
The system uses a sophisticated pipeline:- File Upload (0-30%): Receive and validate files, upload to object storage
- Type Recognition (30-35%): Auto-detect file type and select appropriate handler
- Content Processing (35-90%): Extract text, images, data; process in parallel for multi-page PDFs
- Summary Generation (90-95%): Generate file summary and intelligent name using LLM
- Result Saving (95-100%): Store in database, sync health indicators, update user profile
Privacy & Security
Data Encryption
Data Encryption
- All uploaded files are encrypted in transit (HTTPS)
- Files stored in object storage with encryption
- Secure token-based authentication required
Data Control
Data Control
- You own your data completely
- Files can be deleted at any time
- Cascade deletion removes all associated data
- Self-hosted deployment keeps data on your servers
Processing
Processing
- File processing uses configured LLM providers (Google Gemini)
- Extracted data stored in your database only
- No data shared with third parties
File Management
Viewing Files
All uploaded files are accessible through:- Chat history with file attachments
- File list in message details
- Direct file URLs (with authentication)
Deleting Files
To delete files:- Navigate to the message containing the files
- Select files to delete
- Confirm deletion
- Object storage
- Database records
- Health indicator data
Best Practices
Troubleshooting
File upload fails
File upload fails
Solutions:
- Check file size (recommend < 20MB per file)
- Verify authentication token is valid
- Ensure file type is supported
- Check server logs for specific errors
No indicators extracted
No indicators extracted
Solutions:
- Verify
ENABLE_INDICATOR_EXTRACTION: 1in config - Ensure at one LLM key is set and valid
- Check if file contains recognizable health data
- Try uploading a clearer or higher resolution image
Processing takes too long
Processing takes too long
Expectations:
- Small files (< 5MB): 10-30 seconds
- Large PDFs: 1-3 minutes
- Multi-page documents: Longer but processed in parallel
Technical Details
For developers and advanced users who need detailed information about:- WebSocket upload protocol
- REST API endpoints and parameters
- Processing pipeline architecture
- Data models and schemas
- Error handling and best practices
File Processing Implementation Guide
Complete technical documentation for file upload and processing