import './types-airways' import './types-case-data' import './types-case-events' import './types-checkpoints' import './types-discharge' import './types-drugs' import './types-iv' import './types-macro' import './types-position' import './types-system-review' import './types-units' import './types-vital-types' import './types-vitals' import './types-waveforms' import './types-hhx-data' // this is necessary for TS to treat this file as a module export {} declare global { /** * @remarks * IMAD is deprecated, it's really "IN" */ type DischargeScore = 'pads' | 'aldrete' type SedationLevel = 'local' | 'minimal' | 'moderate' | 'deep' | 'ga' type SedationLevelCased = 'Local' | 'Minimal' | 'Moderate' | 'Deep' | 'GA' type AirwayType = | 'nc' | 'nt' | 'nh' | 'cpap' | 'mad' | 'et' | 'ntt' | 'lma' | 'opa' | 'fm' | 'other' type CaseEventType = | 'caseStart' | 'ivStart' | 'ivEnd' | 'anesthesiaStart' | 'anesthesiaEnd' | 'surgeryStart' | 'surgeryEnd' | 'recoveryStart' | 'vitalsEnd' | 'end' type CaseMeta = { firstName?: string lastName?: string nickname?: string birthDate?: string height?: number weight?: number } type MetaSelector = () => CaseMeta type VitalTypeStatus = | 'auto' | 'manual' | 'selected' | 'unselected' | 'paused' | 'ignored' type CheckEntry = { id: string complete: boolean label: string } type Checklist = CheckEntry[] type CaseSignatureEntry = { id: string name: string time: number signature: string } type PreMedRoute = | 'PO' | 'SL' | 'IM' | 'IN' | 'PR' | 'SC' | 'TD' | 'BUC' | 'OR' | 'INH' | 'TOP' | 'OPH' type PreMed = { id: string time?: number drugId?: string drugName?: string dosage?: string route?: PreMedRoute unit?: string editing?: boolean } type PreMedEditable = Omit type Allergy = { id: string to?: string desc?: string isNKDA?: boolean anaphylaxis?: boolean } type AllergyNoId = Omit type SingleCaseSingleParenDrugTotal = { id: string total: number wasted: number expended: number maxDose: number unit?: DrugUnit name?: string byRoute: { IV: number IM: number IN: number } } type SingleCaseSingleOralDrugTotal = { id: string total: number maxDose: number unit?: DrugUnit name?: string byRoute: { PO: number SL: number } } type SingleCaseParenDrugTotalsById = { [drugId: string]: Omit } type SingleCaseOralDrugTotalsById = { [drugId: string]: Omit } type OralDrugAnalysisResult = { id: string name: string unit: DrugUnit total: number maxDose: number caseCount: number percentOfCases: number byRoute: { PO: number SL: number } } type ParenDrugAnalysisResult = { id: string name: string unit: DrugUnit total: number wasted: number expended: number maxDose: number caseCount: number percentOfCases: number byRoute: { IV: number IM: number IN: number } } type CaseSelector = (caseData: CaseData) => returnType type ReportRenderingInputs = { appTime: number /** * @remarks * For rendering date-related things without needing to know the time. By * passing this in separately it can be memoized and not cause re-renders * unless it actually is a different day. */ appTimeDay: number maxDuration: number /** * @remarks * Not required if just rendering report outside of case app. */ activeCheckpointId?: string tempUnit: TempUnit } type CaseReport = { appointmentId: string compositionId: string start: number description: string sedationLevel: SedationLevelCased caseData: any patient?: { id: string birthDate: string familyName: string givenName: string } provider?: { id: string name: string } } type CaseMinutes = { anesthesiaMinutes: number surgeryMinutes: number recoveryMinutes: number completeCaseMinutes: number monitoringMinutes: number } type CaseSummary = { appointmentId: string start: number description: string sedationLevel: SedationLevelCased patient?: { id: string birthDate: string familyName: string givenName: string } provider?: { id: string name: string } parenDrugsUsed: SingleCaseSingleParenDrugTotal[] oralSedativesUsed: SingleCaseSingleOralDrugTotal[] events: CaseDataEvents } & CaseMinutes type CaseAnalyticsResult = { cases: CaseSummary[] timeAverages: CaseMinutes oralDrugs: OralDrugAnalysisResult[] parenDrugs: ParenDrugAnalysisResult[] } }