Skip to main content

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

1

Upload Your Files

Upload health documents through the web interface or API. Files are securely stored and encrypted.
2

Automatic Processing

The system automatically:
  • Recognizes file type and content
  • Extracts text and data from documents
  • Identifies health indicators (lab results, vital signs, etc.)
3

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
4

Query and Analyze

Once processed, you can:
  • Ask questions about your health data
  • Track indicators over time
  • Generate health summaries and reports

Extracted Health Indicators

The system can automatically extract various types of health data:
  • 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
  • Blood pressure (systolic/diastolic)
  • Heart rate and pulse
  • Weight and BMI
  • Height
  • Temperature
  • Oxygen saturation (SpO2)
When combined with connected devices:
  • Activity and exercise data
  • Sleep patterns
  • Heart rate variability
  • Daily step counts

File Upload

Via Web Interface

  1. Log in to your Mirobody Health instance
  2. Navigate to the chat interface
  3. Click the file upload button
  4. Select your health documents
  5. Add optional notes about the files
  6. Upload and wait for processing to complete

Via API

For developers integrating file upload:
curl -X POST http://localhost:18080/files/upload \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "files=@lab_report.pdf"
For detailed API documentation and WebSocket upload with progress tracking, see the File Processing Implementation Guide.

Configuration

Enable health indicator extraction in config.yaml:
config.yaml
# File Processing Configuration
ENABLE_INDICATOR_EXTRACTION: 1  # Enable automatic indicator extraction

# Required for file processing
GOOGLE_API_KEY: 'your_google_api_key'  # Gemini for multimodal processing
GOOGLE_API_KEY is required for processing files. Without it, file upload will work but automatic indicator extraction and content analysis will not function.

Privacy & Security

  • All uploaded files are encrypted in transit (HTTPS)
  • Files stored in object storage with encryption
  • Secure token-based authentication required
  • 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
  • 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

Deleting files will also remove all extracted health indicators associated with those files from your health data.
To delete files:
  1. Navigate to the message containing the files
  2. Select files to delete
  3. Confirm deletion
Files and their associated data are permanently removed from:
  • Object storage
  • Database records
  • Health indicator data

Best Practices

For Large Files: Upload PDFs and images work best. Multi-page PDFs are processed in parallel for faster results.
For Lab Reports: Upload the full PDF report rather than screenshots for better extraction accuracy.
Add Context: Include notes with your uploads (e.g., “Annual physical exam 2024”) to make them easier to find later.
Organize by Date: Name files with dates (YYYY-MM-DD format) for better chronological tracking.

Troubleshooting

Solutions:
  • Check file size (recommend < 50MB per file)
  • Verify authentication token is valid
  • Ensure file type is supported
  • Check server logs for specific errors
Solutions:
  • Verify ENABLE_INDICATOR_EXTRACTION: 1 in config
  • Ensure GOOGLE_API_KEY is set and valid
  • Check if file contains recognizable health data
  • Try uploading a clearer or higher resolution image
Expectations:
  • Small files (< 5MB): 10-30 seconds
  • Large PDFs (> 20MB): 1-3 minutes
  • Multi-page documents: Longer but processed in parallel
If processing exceeds these times, check server resources and logs.

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

Next Steps