About This Demo
This is a demonstration application showing how to integrate the bloodwork Python package
into a Flask web application.
Technology Stack
- Backend: Flask (Python web framework)
- Blood Work Package: bloodwork (framework-agnostic analysis library)
- Database: SQLite (demo) - use PostgreSQL/MySQL in production
- Frontend: HTML, CSS, Vanilla JavaScript
Features
- Upload and parse LifeLabs PDF reports
- Store results in database
- View all test results with filtering
- Identify abnormal tests
- Trend analysis over time
- Dashboard with visualizations
Package Architecture
The bloodwork package uses a modular architecture:
- Models: Pydantic data models with validation
- Parsers: PDF extraction (table + text patterns)
- Repositories: Database storage (SQLAlchemy)
- Services: Business logic (parsing, analysis, visualization)
Production Considerations
This is a demo application. For production use, you should:
- Use PostgreSQL or MySQL instead of SQLite
- Implement proper authentication (JWT, OAuth, etc.)
- Add HTTPS and security headers
- Implement HIPAA-compliant PHI handling
- Add role-based access control
- Implement audit logging
- Add data encryption at rest
- Set up proper backups