export {} declare global { type IvSolutionType = 'NS' | 'LR' | 'D5W' | 'D5NS' | 'D5LR' | 'None' // what is actually stored for IvSolutions on the case // these are nested in the IvSite type IvSolutionCaseProps = { time?: number timeRemoved?: number name?: IvSolutionType amount?: number amount_raw?: string amountConfirmed?: boolean doseType?: FluidRoute doseAmount_raw?: string meta?: 'totals' } // what is actually stored for IvSites on the case type IvSiteCaseProps = { name?: string side?: 'Left' | 'Right' securedWith?: string attempts?: number needleGauge?: string time?: number timeRemoved?: number editing?: boolean solutions?: IvSolutionCaseProps[] } type IvSiteBase = IvSiteCaseProps & { id: string } // Props that are possible to update for IvSites // some of which will be set on the nested IvSolutions type IvSiteUpdateProps = { location: string side: 'Left' | 'Right' securedWith: string attempts: number needleGauge: string solutionType: string // translated to name of nested IvSolution time: number timeRemoved: number } type IvSolution = IvSolutionCaseProps & { id: string bagNumber: number } type IvSite = IvSiteBase & { placementComplete: boolean time?: number timeRemoved?: number duration?: number siteNumber: number solutions: IvSolution[] /** * @remarks * IV site has been placed (has 'time') been not yet been removed (does not * have 'timeRemoved'). */ active: boolean } type FluidEvent = { id: string note: string time: number type: 'ivPlaced' | 'ivRemoved' | 'newIvBag' derived: true showInEventReport: true } type FluidTotal = { id: IvSolutionType name: string unit: 'mL' total: number } type FluidTotals = { bySite: { [siteId: string]: FluidTotal[] } overall: FluidTotal[] } type FluidReportSolution = IvSolution & { doses: FluidDoseAdministered[] flowRateDoses: FluidDoseAdministered[] bolusDoses: FluidDoseAdministered[] lastDose?: FluidDoseAdministered lastBolus?: FluidDoseAdministered hasNonZeroDose: boolean } type FluidReport = IvSite & { hasNonZeroDose: boolean doses: FluidDoseAdministered[] flowRateDoses: FluidDoseAdministered[] bolusDoses: FluidDoseAdministered[] lastDose?: FluidDoseAdministered lastBolus?: FluidDoseAdministered solutions: FluidReportSolution[] syringeFlushes: FluidDoseAdministered[] totals: FluidTotal[] } }