import React from 'react'; import { PatientProfile, ClinicalVitals, RiskAnalysisResult, ChatMessage, Medication } from '../types'; import { Activity, Pill, CheckCircle, ShieldCheck, Clipboard } from 'lucide-react'; interface PrintReportProps { profile: PatientProfile; vitals: ClinicalVitals; riskResult: RiskAnalysisResult | null; chatSummary: string; medications?: Medication[]; chatHistory?: ChatMessage[]; } const PrintReport: React.FC = ({ profile, vitals, riskResult, chatSummary, medications = [], chatHistory = [] }) => { return (
{/* HEADER */}

SomAI Report

Patient Education & Clinical Risk Assessment

Confidential

{new Date().toLocaleDateString()}

{new Date().toLocaleTimeString()}

{/* SECTION 1: DEMOGRAPHICS & VITALS GRID */}
{/* LEFT COL: DEMOGRAPHICS */}

1 Patient Demographics

Name {profile.name}
Age {profile.age} years
Condition {profile.condition}
{/* RIGHT COL: VITALS */}

2 Clinical Vitals

Systolic BP 140 ? 'text-red-600' : 'text-gray-900'}`}>{vitals.systolicBp} mmHg
Glucose 180 ? 'text-red-600' : 'text-gray-900'}`}>{vitals.glucose} mg/dL
SpO2 {vitals.spo2}% Saturation
Risk Score 60 ? 'text-red-600' : 'text-green-600'}`}> {riskResult ? riskResult.numericScore : '--'} /100
{/* SECTION 2: DETAILED HISTORY (Independent & Efficient) */}

3 Detailed Patient History

{profile.history || "No detailed history recorded."}

{/* SECTION 3: CLINICAL ANALYSIS */}

4 AI Clinical Analysis

{riskResult?.source && ( {riskResult.source.toUpperCase()} )}
{riskResult ? (
{/* Summary */}

Clinical Summary

{riskResult.summary}

{/* Action Items */}

Action Items

{riskResult.actionItems.map((item, i) => (

{item}

))}
{/* Coding Pipeline */}

Coding Pipeline

{riskResult.codingPipeline?.map((code, i) => ( ))}
Type Code Desc
{code.type} {code.code} {code.description}
{/* Insurance Note */} {riskResult.insuranceNote && (
Insurance Note

"{riskResult.insuranceNote}"

)}
) : (

Analysis data not available.

)}
{/* SECTION 4: MEDICATIONS */}

5 Medication Schedule

{medications.length > 0 ? medications.map((med) => ( )) : ( )}
Medication Dosage Time Duration Status
{med.name} {med.dosage} {med.time} {med.startDate ? `${med.startDate} → ${med.endDate || 'Ongoing'}` : 'Ongoing'} {med.taken ? : null} {med.taken ? 'Taken' : 'Pending'}
No medications recorded.
{/* SECTION 5: CONSULTATION BRIEF */}

6 Consultation Brief

{chatSummary ? (
{chatSummary}
) : (

Consultation brief not generated.

)}
{/* FOOTER */}

Disclaimer

This report is generated by an AI assistant for educational purposes only. It is not a medical device. Always consult a qualified healthcare provider for diagnosis and treatment. The information provided is based on the inputs provided during the session.

SomAI

Powered by Gemini

); }; export default PrintReport;