export type SnapshotSection = | 'Clinical' | 'Diagnostics' | 'Medications' | 'Device' | 'Care' | 'Management' | 'Records'; export const SNAPSHOT_SECTION_ORDER: SnapshotSection[] = [ 'Clinical', 'Diagnostics', 'Medications', 'Device', 'Care', 'Management', 'Records', ]; export interface SnapshotTypeMeta { resourceType: string; label: string; section: SnapshotSection; /** false for types with no `FhirDisplay` modal (Coverage, Flag) - rendered as summary-only rows. */ hasDisplay: boolean; } /** * The chart types the point-in-time snapshot reconstructs, grouped by section. * List is intentionally EXCLUDED - its service exposes no `_history` method, so it cannot be reconstructed. * Coverage and Flag are included as summary-only rows (they reconstruct, but have no detail-display component). */ export const SNAPSHOT_TYPES: SnapshotTypeMeta[] = [ { resourceType: 'Condition', label: 'Conditions', section: 'Clinical', hasDisplay: true }, { resourceType: 'AllergyIntolerance', label: 'Allergies & Intolerances', section: 'Clinical', hasDisplay: true }, { resourceType: 'Procedure', label: 'Procedures', section: 'Clinical', hasDisplay: true }, { resourceType: 'AdverseEvent', label: 'Adverse Events', section: 'Clinical', hasDisplay: true }, { resourceType: 'ClinicalImpression', label: 'Clinical Impressions', section: 'Clinical', hasDisplay: true }, { resourceType: 'DetectedIssue', label: 'Detected Issues', section: 'Clinical', hasDisplay: true }, { resourceType: 'FamilyMemberHistory', label: 'Family History', section: 'Clinical', hasDisplay: true }, { resourceType: 'Observation', label: 'Observations', section: 'Diagnostics', hasDisplay: true }, { resourceType: 'MedicationStatement', label: 'Medication Statements', section: 'Medications', hasDisplay: true }, { resourceType: 'MedicationRequest', label: 'Medication Requests', section: 'Medications', hasDisplay: true }, { resourceType: 'MedicationAdministration', label: 'Medication Administrations', section: 'Medications', hasDisplay: true }, { resourceType: 'MedicationDispense', label: 'Medication Dispenses', section: 'Medications', hasDisplay: true }, { resourceType: 'Immunization', label: 'Immunizations', section: 'Medications', hasDisplay: true }, { resourceType: 'ImmunizationEvaluation', label: 'Immunization Evaluations', section: 'Medications', hasDisplay: true }, { resourceType: 'ImmunizationRecommendation', label: 'Immunization Recommendations', section: 'Medications', hasDisplay: true }, { resourceType: 'Device', label: 'Devices', section: 'Device', hasDisplay: true }, { resourceType: 'DeviceRequest', label: 'Device Requests', section: 'Device', hasDisplay: true }, { resourceType: 'DeviceUseStatement', label: 'Device Use Statements', section: 'Device', hasDisplay: true }, { resourceType: 'CarePlan', label: 'Care Plans', section: 'Care', hasDisplay: true }, { resourceType: 'CareTeam', label: 'Care Teams', section: 'Care', hasDisplay: true }, { resourceType: 'Goal', label: 'Goals', section: 'Care', hasDisplay: true }, { resourceType: 'NutritionOrder', label: 'Nutrition Orders', section: 'Care', hasDisplay: true }, { resourceType: 'RiskAssessment', label: 'Risk Assessments', section: 'Care', hasDisplay: true }, { resourceType: 'VisionPrescription', label: 'Vision Prescriptions', section: 'Care', hasDisplay: true }, { resourceType: 'Encounter', label: 'Encounters', section: 'Management', hasDisplay: true }, { resourceType: 'EpisodeOfCare', label: 'Episodes of Care', section: 'Management', hasDisplay: true }, { resourceType: 'Task', label: 'Tasks', section: 'Management', hasDisplay: true }, { resourceType: 'DocumentReference', label: 'Documents', section: 'Records', hasDisplay: true }, { resourceType: 'QuestionnaireResponse', label: 'Questionnaire Responses', section: 'Records', hasDisplay: true }, { resourceType: 'Coverage', label: 'Insurance Coverage', section: 'Records', hasDisplay: false }, { resourceType: 'Flag', label: 'Flags', section: 'Records', hasDisplay: false }, ];