{"version":3,"file":"presets.modern.mjs","sources":["../src/sample-macros.js","../src/drug-routes.js","../src/validate-macro.js"],"sourcesContent":["export const getSampleMacros = () => [\n  {\n    name: 'Minimal Presets',\n    macro: {\n      copied: {\n        sedationLevel: 'Minimal',\n        ivEnabled: false,\n        airwayEnabled: false,\n        calculateDrugWaste: true,\n        dischargeScoreType: 'pads',\n      },\n      vitalTypes: { ecg: 'selected', fico2: 'ignored', fides: 'ignored' },\n      localDrugs: [\n        {\n          id: '2117|1',\n          name: 'Articaine',\n          percent: 0.04,\n          unit: 'mg',\n          epi: 200,\n          dose: '1',\n          rxcui: '2117',\n        },\n        {\n          id: '142440|2',\n          name: 'Lidocaine',\n          percent: 0.02,\n          unit: 'ml',\n          epi: 100,\n          dose: '2',\n          rxcui: '142440',\n        },\n        {\n          id: '267396|0',\n          name: 'Bupivacaine',\n          percent: 0.005,\n          unit: 'cartridges',\n          epi: 200,\n          rxcui: '267396',\n        },\n      ],\n      oralSedatives: [\n        { id: '10767', name: 'Triazolam', unit: 'mg', dose: '10', route: 'PO' },\n      ],\n    },\n  },\n  {\n    name: 'Moderate Presets',\n    macro: {\n      copied: {\n        sedationLevel: 'Moderate',\n        ivEnabled: true,\n        airwayEnabled: true,\n        calculateDrugWaste: true,\n        dischargeScoreType: 'pads',\n      },\n      vitalTypes: { ecg: 'selected', fico2: 'ignored', fides: 'ignored' },\n      localDrugs: [\n        {\n          id: '2117|1',\n          name: 'Articaine',\n          percent: 0.04,\n          unit: 'mg',\n          epi: 200,\n          dose: '1',\n          rxcui: '2117',\n        },\n        {\n          id: '142440|2',\n          name: 'Lidocaine',\n          percent: 0.02,\n          unit: 'ml',\n          epi: 100,\n          dose: '2',\n          rxcui: '142440',\n        },\n        {\n          id: '267396|0',\n          name: 'Bupivacaine',\n          percent: 0.005,\n          unit: 'cartridges',\n          epi: 200,\n          rxcui: '267396',\n        },\n      ],\n      parenDrugs: [\n        {\n          id: '289',\n          route: 'IV',\n          name: 'Adenosine',\n          draw: '20',\n          dose: '10',\n          unit: 'mg',\n        },\n        {\n          id: '6960',\n          route: 'IM',\n          name: 'Midazolam',\n          draw: '20',\n          dose: '10',\n          unit: 'mg',\n        },\n      ],\n      oralSedatives: [\n        { id: '2599', name: 'Clonidine', unit: 'mg', dose: '20', route: 'SL' },\n      ],\n    },\n  },\n  {\n    name: 'Deep Presets',\n    macro: {\n      copied: {\n        sedationLevel: 'Deep',\n        ivEnabled: true,\n        airwayEnabled: true,\n        calculateDrugWaste: true,\n        dischargeScoreType: 'pads',\n      },\n      vitalTypes: { ecg: 'selected', fico2: 'ignored', fides: 'ignored' },\n      localDrugs: [\n        {\n          id: '2117|1',\n          name: 'Articaine',\n          percent: 0.04,\n          unit: 'mg',\n          epi: 200,\n          dose: '1',\n          rxcui: '2117',\n        },\n        {\n          id: '142440|2',\n          name: 'Lidocaine',\n          percent: 0.02,\n          unit: 'ml',\n          epi: 100,\n          dose: '2',\n          rxcui: '142440',\n        },\n        {\n          id: '267396|0',\n          name: 'Bupivacaine',\n          percent: 0.005,\n          unit: 'cartridges',\n          epi: 200,\n          rxcui: '267396',\n        },\n      ],\n      parenDrugs: [\n        {\n          id: '289',\n          route: 'IV',\n          name: 'Adenosine',\n          draw: '30',\n          dose: '15',\n          unit: 'mg',\n        },\n        {\n          id: '6960',\n          route: 'IM',\n          name: 'Midazolam',\n          draw: '30',\n          dose: '15',\n          unit: 'mg',\n        },\n      ],\n      oralSedatives: [\n        { id: '10767', name: 'Triazolam', unit: 'mg', dose: '30', route: 'PO' },\n        { id: '6130', name: 'Ketamine', unit: 'mg', dose: '30', route: 'SL' },\n      ],\n      infusionDrugs: [\n        {\n          id: '8782',\n          name: 'Propofol',\n          dose: '30',\n          unit: 'mcg/kg/hr',\n          bolusUnit: 'mcg',\n        },\n        {\n          id: '480',\n          name: 'Alfentanil',\n          dose: '30',\n          unit: 'mcg/min',\n          bolusUnit: 'mcg',\n        },\n      ],\n    },\n  },\n  {\n    name: 'GA Presets',\n    macro: {\n      copied: {\n        sedationLevel: 'GA',\n        ivEnabled: true,\n        airwayEnabled: true,\n        calculateDrugWaste: true,\n        dischargeScoreType: 'pads',\n      },\n      vitalTypes: { ecg: 'selected', fico2: 'ignored', fides: 'ignored' },\n      localDrugs: [\n        {\n          id: '2117|1',\n          name: 'Articaine',\n          percent: 0.04,\n          unit: 'mg',\n          epi: 200,\n          dose: '1',\n          rxcui: '2117',\n        },\n        {\n          id: '142440|2',\n          name: 'Lidocaine',\n          percent: 0.02,\n          unit: 'ml',\n          epi: 100,\n          dose: '2',\n          rxcui: '142440',\n        },\n        {\n          id: '267396|0',\n          name: 'Bupivacaine',\n          percent: 0.005,\n          unit: 'cartridges',\n          epi: 200,\n          rxcui: '267396',\n        },\n      ],\n      parenDrugs: [\n        {\n          id: '289',\n          route: 'IV',\n          name: 'Adenosine',\n          draw: '40',\n          dose: '20',\n          unit: 'mg',\n        },\n        {\n          id: '6960',\n          route: 'IM',\n          name: 'Midazolam',\n          draw: '40',\n          dose: '20',\n          unit: 'mg',\n        },\n      ],\n      oralSedatives: [\n        { id: '10767', name: 'Triazolam', unit: 'mg', dose: '40', route: 'PO' },\n        { id: '6130', name: 'Ketamine', unit: 'mg', dose: '40', route: 'SL' },\n      ],\n      infusionDrugs: [\n        {\n          id: '8782',\n          name: 'Propofol',\n          dose: '40',\n          unit: 'mcg/kg/hr',\n          bolusUnit: 'mcg',\n        },\n        {\n          id: '480',\n          name: 'Alfentanil',\n          dose: '40',\n          unit: 'mcg/min',\n          bolusUnit: 'mcg',\n        },\n      ],\n    },\n  },\n]\n","// @ts-check\n/** @type {Record<PreMedRoute, string>} */\nexport const preMedDrugRoutes = {\n  PO: 'PO',\n  SL: 'SL',\n  IM: 'IM',\n  IN: 'Intranasal',\n  PR: 'Rectal',\n  SC: 'Subcutaneous',\n  TD: 'Transdermal',\n  BUC: 'Buccal',\n  OR: 'Oral Rinse',\n  INH: 'Inhalation',\n  TOP: 'Topical',\n  OPH: 'Ophthalmic',\n}\n\n/** @type {PreMedRoute[]} */\n// @ts-ignore\nexport const preMedDrugRouteIds = Object.keys(preMedDrugRoutes)\n","import Joi from 'joi'\nimport { preMedDrugRouteIds } from './drug-routes'\n\nconst str = required => {\n  const base = Joi.string().min(1).max(2000)\n  return required ? base.required() : base\n}\n\nconst mainNotesLimit = 5200\n\nconst macroSchema = Joi.object({\n  copied: Joi.object({\n    sedationLevel: Joi.string().valid(\n      'Local',\n      'Minimal',\n      'Moderate',\n      'Deep',\n      'GA'\n    ),\n    ivEnabled: Joi.boolean(),\n    airwayEnabled: Joi.boolean(),\n    recorderName: str(),\n    present: str(),\n    userRole: Joi.string().valid('surgeon', 'sedationProvider', 'both'),\n    asaClassification: str(),\n    mallampati: str(),\n    weightDistribution: Joi.string().valid(\n      'Below waist',\n      'Equal',\n      'Waist and above'\n    ),\n    surgeonName: str(),\n    sedationProviderName: str(),\n    reasonForSedation: str(),\n    pregnant: Joi.string().valid('n', 'y'),\n    breastfeeding: Joi.boolean(),\n    breastfeedingInstructionsGiven: Joi.boolean(),\n    lastFood: str(),\n    lastDrink: str(),\n    procedureNotes: Joi.string().min(1).max(mainNotesLimit),\n    recoveryNotes: Joi.string().min(1).max(mainNotesLimit),\n    preProcedureRiskAssessment: str(),\n    calculateDrugWaste: Joi.boolean(),\n    dischargeScoreType: Joi.string().valid('pads', 'aldrete'),\n    systemsReviewSkipped: Joi.boolean(),\n    startedOnRoomAir: Joi.boolean(),\n    preMedsUsed: Joi.boolean(),\n    vitalsTrackingEnabled: Joi.boolean(),\n  }),\n  preMeds: Joi.array().items(\n    Joi.object({\n      drugId: str(true),\n      drugName: str(true),\n      dosage: str(),\n      route: str().valid(...preMedDrugRouteIds),\n      unit: str(),\n    })\n  ),\n  iv: Joi.object({\n    location: str(),\n    needleGauge: str(),\n    securedWith: str(),\n    side: str(),\n    solutionType: str(),\n    attempts: Joi.number().min(1).max(50),\n  }),\n  pos: Joi.array().items(str()),\n  airways: Joi.array().items(\n    Joi.object({\n      type: Joi.string().valid(\n        'nc',\n        'nt',\n        'nh',\n        'cpap',\n        'mad',\n        'et',\n        'ntt',\n        'lma',\n        'opa',\n        'fm',\n        'other'\n      ),\n      name: str(),\n      notes: str(),\n      placementCompDetail: str(),\n      vaso: str(),\n      side: str(),\n      size: str(),\n      preOx: str(),\n      magill: str(),\n      scope: str(),\n      peep: str(),\n      maskType: str(),\n      scopeType: str(),\n      bladeSize: str(),\n      viewGrade: str(),\n      stylet: Joi.boolean(),\n      cuffed: Joi.boolean(),\n      inflated: Joi.boolean(),\n      securedWith: str(),\n      depth: str(),\n      eyeProtection: str(),\n      confirmation: str(),\n      lube: Joi.boolean(),\n      preWarmed: Joi.boolean(),\n      // facemask\n      sealQuality: str(),\n      connectedTo: str(),\n      maskHolder: str(),\n\n      //  airway removal\n      cavityClear: Joi.boolean(),\n      removalComp: Joi.boolean(),\n      removalCompDetail: str(),\n      removalNotes: str(),\n\n      // these are really clinical observations\n      // that should be unique for all cases\n      // so we no longer extract them when generating\n      // a macro from a case, but we keep them here\n      // to avoid validation issues if someone has\n      // already saved a macro with these fields.\n      preRemovalSpo2: str(),\n      postRemovalSpo2: str(),\n\n      deflated: Joi.boolean(),\n    })\n  ),\n  healthyPatient: Joi.equal(true),\n  vitalTypes: Joi.object(),\n  localDrugs: Joi.array().items(\n    Joi.object({\n      id: str(true),\n      name: str(true),\n      rxcui: str(true),\n      percent: Joi.number(),\n      epi: Joi.number().min(0),\n      dose: Joi.string(),\n      unit: Joi.string(),\n    })\n  ),\n  parenDrugs: Joi.array().items(\n    Joi.object({\n      id: str(true),\n      name: str(true),\n      route: str(),\n      draw: Joi.string(),\n      dose: Joi.string(),\n      unit: Joi.string(),\n    })\n  ),\n  infusionDrugs: Joi.array().items(\n    Joi.object({\n      id: str(true),\n      name: str(true),\n      dose: str(),\n      unit: str(),\n      bolusUnit: str(),\n    })\n  ),\n  oralSedatives: Joi.array().items(\n    Joi.object({\n      id: str(true),\n      name: str(true),\n      unit: str(),\n      dose: str(),\n      route: str(),\n      preProcedure: Joi.boolean(),\n    })\n  ),\n})\n\nexport const validateMacro = obj => Joi.assert(obj, macroSchema)\n"],"names":["getSampleMacros","name","macro","copied","sedationLevel","ivEnabled","airwayEnabled","calculateDrugWaste","dischargeScoreType","vitalTypes","ecg","fico2","fides","localDrugs","id","percent","unit","epi","dose","rxcui","oralSedatives","route","parenDrugs","draw","infusionDrugs","bolusUnit","preMedDrugRoutes","PO","SL","IM","IN","PR","SC","TD","BUC","OR","INH","TOP","OPH","preMedDrugRouteIds","Object","keys","str","required","base","Joi","string","min","max","mainNotesLimit","macroSchema","object","valid","boolean","recorderName","present","userRole","asaClassification","mallampati","weightDistribution","surgeonName","sedationProviderName","reasonForSedation","pregnant","breastfeeding","breastfeedingInstructionsGiven","lastFood","lastDrink","procedureNotes","recoveryNotes","preProcedureRiskAssessment","systemsReviewSkipped","startedOnRoomAir","preMedsUsed","vitalsTrackingEnabled","preMeds","array","items","drugId","drugName","dosage","iv","location","needleGauge","securedWith","side","solutionType","attempts","number","pos","airways","type","notes","placementCompDetail","vaso","size","preOx","magill","scope","peep","maskType","scopeType","bladeSize","viewGrade","stylet","cuffed","inflated","depth","eyeProtection","confirmation","lube","preWarmed","sealQuality","connectedTo","maskHolder","cavityClear","removalComp","removalCompDetail","removalNotes","preRemovalSpo2","postRemovalSpo2","deflated","healthyPatient","equal","preProcedure","validateMacro","obj","assert"],"mappings":"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"}