feat: Initial Mediusa Clinic OS practice management platform ('Jane App But Better')

This commit is contained in:
2026-09-05 14:12:19 -07:00
parent 441e5eb57d
commit deb5197e53
17 changed files with 4675 additions and 71 deletions
+175
View File
@@ -0,0 +1,175 @@
export interface ClinicTenant {
id: string;
name: string;
slug: string;
domain: string;
phone: string;
email: string;
address: string;
cityStateZip: string;
npi: string;
taxId: string;
logoText: string;
brandColor: string;
accentColor: string;
plan: 'Starter' | 'Pro Clinic' | 'Multi-Doc Enterprise';
mrr: number;
stripeConnected: boolean;
createdAt: string;
}
export interface Provider {
id: string;
tenantId: string;
name: string;
title: string;
credentials: string; // e.g., "D.C., CCSP"
specialty: string;
npi: string;
email: string;
phone: string;
avatarUrl: string;
color: string;
}
export interface CarePlan {
title: string;
totalVisits: number;
completedVisits: number;
frequency: string; // e.g. "2x / week for 6 weeks"
targetCondition: string;
startDate: string;
status: 'on_track' | 'lagging' | 'at_risk' | 'completed';
}
export interface Patient {
id: string;
tenantId: string;
firstName: string;
lastName: string;
email: string;
phone: string;
dob: string;
gender: string;
address: string;
insuranceName: string;
insuranceId: string;
carePlan: CarePlan;
lastVisitDate: string;
nextAppointmentDate?: string;
status: 'active' | 'dropout_risk' | 'reactivated' | 'discharged';
chiefComplaint: string;
daysSinceLastVisit: number;
}
export type AppointmentStatus = 'booked' | 'confirmed' | 'arrived' | 'in_room' | 'completed' | 'no_show';
export interface Appointment {
id: string;
tenantId: string;
patientId: string;
patientName: string;
patientPhone: string;
providerId: string;
providerName: string;
date: string; // YYYY-MM-DD
time: string; // HH:MM AM/PM
durationMinutes: number;
serviceType: string;
status: AppointmentStatus;
room: string;
notes?: string;
fee: number;
}
export interface SpinalAdjustmentEntry {
vertebra: string; // e.g. "C2", "L5"
region: 'Cervical' | 'Thoracic' | 'Lumbar' | 'Pelvis/Sacrum';
listing: string; // e.g., "Right Lateral / Posterior"
technique: 'Diversified' | 'Thompson Drop' | 'Activator' | 'Gonstead' | 'Webster' | 'Flexion-Distraction';
notes?: string;
}
export interface CptCodeItem {
code: string;
description: string;
fee: number;
}
export interface Icd10CodeItem {
code: string;
description: string;
}
export interface SoapNote {
id: string;
tenantId: string;
patientId: string;
patientName: string;
providerId: string;
providerName: string;
appointmentId?: string;
date: string;
status: 'draft' | 'signed';
subjective: string;
objective: string;
assessment: string;
plan: string;
spinalAdjustments: SpinalAdjustmentEntry[];
icd10Codes: Icd10CodeItem[];
cptCodes: CptCodeItem[];
vasScore: number; // 0-10
signedAt?: string;
signedBy?: string;
}
export interface SuperbillLineItem {
cptCode: string;
description: string;
units: number;
rate: number;
total: number;
}
export interface Superbill {
id: string;
tenantId: string;
invoiceNumber: string;
patientId: string;
patientName: string;
patientDob: string;
patientAddress: string;
providerName: string;
providerNpi: string;
clinicName: string;
clinicAddress: string;
clinicTaxId: string;
dateOfService: string;
posCode: string; // Place of Service "11 - Office"
icd10Codes: Icd10CodeItem[];
items: SuperbillLineItem[];
totalAmount: number;
patientPaid: number;
balanceDue: number;
paymentMethod: 'Stripe Card' | 'HSA/FSA' | 'Cash' | 'Unpaid';
generatedAt: string;
}
export interface IntakeSubmission {
id: string;
tenantId: string;
patientName: string;
dob: string;
phone: string;
email: string;
chiefComplaints: string[];
painAreas: string[];
vasScore: number;
painNature: string[]; // ['Sharp', 'Dull Ache', 'Shooting']
symptomsOnset: string;
medications: string;
priorChiropractic: boolean;
signatureName: string;
submittedAt: string;
status: 'pending_review' | 'imported_to_chart';
}