How naseeraslam/mediflow-lis-saas works
MediFlow is a multi-tenant laboratory information system for managing patients, diagnostic tests, laboratory reports, and organization operations. The central workflow is staff registering a patient, recording report results, and tracking or sharing diagnostic reports; patients can verify reports through a privacy-protective search. The README also describes baseline comparisons, clinical test batteries, tenant isolation, 2FA, and multi-currency pricing. Sampled routes support the database, authentication, email, and comparison links shown; wiring for unsampled features is kept conservative.
Main entry points: db.ts Application Database · route.ts Comparison API · auth.ts Session and Auth · PatientManager.tsx Patient Registry
Components 29
Laboratory Workspace
- Lab Workspace
src/app/app/dashboard/page.tsx
Clinical Records
- Patient Registry
src/components/patient/PatientManager.tsx - Patient API
src/app/api/patients/route.ts - Patient Services
src/backend/services/patientService.ts - Test Catalog
src/components/test-catalog/TestCatalogManager.tsx - Catalog API
src/app/api/categories/route.ts - Report Templates
src/components/template/NewTemplateBuilder.tsx - Template API
src/app/api/templates/route.ts
Reports and Verification
- Report Workspace
src/components/report/NewReportForm.tsx - Report API
src/app/api/reports/route.ts - Report Services
src/backend/services/reportService.ts - Report Comparison
src/app/app/comparison/page.tsx - Comparison API
src/app/api/comparisons/route.ts - Comparison Engine
src/lib/comparison.ts - Patient Search
src/app/patient-search/page.tsx - Report Verification Search
src/app/api/reports/search/route.ts - Report Sharing
src/lib/sharing.ts - Email Dispatch
src/app/api/reports/email-dispatch/route.ts
Identity and Security
- Authentication Routes
src/app/api/auth/2fa/route.ts - Session and Auth
src/lib/auth.ts - Email Service
src/lib/email.ts
Organization Governance
- Branch Manager
src/components/branch/BranchManager.tsx - Branch Routes
src/app/api/branches/route.ts - Pricing Governance
src/components/super-admin/PricingPlanManager.tsx - Pricing Governance API
src/app/api/super-admin/pricing/route.ts
Other components
- Lab Staff
- Patient
- Email Provider
- Application Database
src/lib/db.ts
Connections 37
- Lab Staff → Lab Workspace: uses
- Lab Staff → Patient Registry: manages patients
- Patient Registry → Patient API: sends patient data
- Patient API → Session and Auth: gets session
- Patient API → Application Database: reads and writes
- Patient Registry → Patient Services: uses patient services
- Lab Staff → Test Catalog: manages tests
- Test Catalog → Catalog API: catalog requests
- Lab Staff → Report Templates: defines templates
- Report Templates → Template API: template requests
- Template API → Session and Auth: gets session
- Template API → Application Database: reads and writes
- Lab Staff → Report Workspace: records results
- Report Workspace → Report API: submits report
- Report API → Session and Auth: gets session
- Report API → Application Database: reads and writes
- Report Workspace → Report Services: uses report services
- Lab Staff → Report Comparison: reviews trends
- Report Comparison → Comparison API: requests comparison
- Comparison API → Session and Auth: gets session
- Comparison API → Application Database: loads reports and audits
- Comparison API → Comparison Engine: compares results
- Patient → Patient Search: seeks report
- Patient Search → Report Verification Search: submits identifiers
- Report Verification Search → Application Database: finds matching reports
- Lab Staff → Email Dispatch: dispatches report
- Email Dispatch → Application Database: loads report and audits
- Email Dispatch → Email Service: sends report email
- Email Service → Email Provider: delivers email
- Lab Staff → Authentication Routes: requests verification
- Authentication Routes → Application Database: checks user and token
- Authentication Routes → Email Service: sends OTP
- Lab Staff → Branch Manager: manages branches
- Branch Manager → Branch Routes: creates branch
- Branch Manager → Branch Routes: updates branch
- Lab Staff → Pricing Governance: governs pricing
- Pricing Governance → Pricing Governance API: pricing requests