{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Admin.vue?b7ff","webpack:///./src/App.vue?1cbe","webpack:///./src/components/DisorderDetective.vue?001d","webpack:///./src/components/CalcInfoPanel.vue?079d","webpack:///./src/components/Davenport.vue?eb75","webpack:///./src/views/Authorize.vue?fea3","webpack:///./src/views/VQSim.vue?f307","webpack:///./src/views/ABGTrain.vue?cb5e","webpack:///./src/components/ReferenceList.vue?e31a","webpack:///./src/components/Header.vue?591f","webpack:///./src/views/UserProfile.vue?f5df","webpack:///./src/views/Logout.vue?fd17","webpack:///./src/components/1245-rule.vue?8bb0","webpack:///./src/components/MiniDavenport.vue?dd4c","webpack:///./src/views/Login.vue?6d19","webpack:///./src/plugins/vuetify.ts","webpack:///./src/App.vue?f155","webpack:///./src/components/Header.vue?d1e1","webpack:///./src/components/Header.vue?09a8","webpack:///./src/components/Header.vue?f48a","webpack:///./src/components/Header.vue","webpack:///./src/components/Footer.vue?2ae6","webpack:///./src/components/Footer.vue?adf3","webpack:///./src/components/Footer.vue?2b60","webpack:///./src/components/Footer.vue","webpack:///./src/App.vue?8764","webpack:///./src/App.vue?d0bf","webpack:///./src/App.vue","webpack:///./src/views/Login.vue?7d89","webpack:///./src/views/Login.vue?c495","webpack:///./src/views/Login.vue?54d6","webpack:///./src/views/Login.vue","webpack:///./src/views/UserProfile.vue?bc8e","webpack:///./src/jajax.ts","webpack:///./src/components/LearnerProfile.ts","webpack:///./src/components/LearningCurve.vue?a64b","webpack:///./src/components/LearningCurve.vue?3382","webpack:///./src/components/LearningCurve.vue?2916","webpack:///./src/components/LearningCurve.vue","webpack:///./src/components/DisorderDetective.vue?e238","webpack:///./src/components/BloodGas.ts","webpack:///./src/components/DisorderDetective.vue?5329","webpack:///./src/components/DisorderDetective.vue?3a8f","webpack:///./src/components/DisorderDetective.vue","webpack:///./src/views/UserProfile.vue?7aec","webpack:///./src/views/UserProfile.vue?3dd2","webpack:///./src/views/UserProfile.vue","webpack:///./src/views/Admin.vue?2cd8","webpack:///./src/views/Admin.vue?ceb1","webpack:///./src/views/Admin.vue?c88c","webpack:///./src/views/Admin.vue","webpack:///./src/views/Authorize.vue?2e05","webpack:///./src/views/Authorize.vue?5550","webpack:///./src/views/Authorize.vue?1ef8","webpack:///./src/views/Authorize.vue","webpack:///./src/views/Logout.vue?9220","webpack:///./src/views/Logout.vue?7491","webpack:///./src/views/Logout.vue?961c","webpack:///./src/views/Logout.vue","webpack:///./src/views/ABGCalc.vue?5743","webpack:///./src/components/BloodGasGen.ts","webpack:///./src/components/CalcInfoPanel.vue?8778","webpack:///./src/util.ts","webpack:///./src/components/Gamblegram.vue?2363","webpack:///./src/components/Gamblegram.vue?2610","webpack:///./src/components/Gamblegram.vue?3557","webpack:///./src/components/Gamblegram.vue","webpack:///./src/components/1245-rule.vue?efa0","webpack:///./src/components/1245-rule.vue?2802","webpack:///./src/components/1245-rule.vue?b8aa","webpack:///./src/components/1245-rule.vue","webpack:///./src/components/References.ts","webpack:///./src/components/CalcInfoPanel.vue?e55a","webpack:///./src/components/CalcInfoPanel.vue?a98b","webpack:///./src/components/CalcInfoPanel.vue","webpack:///./src/components/MiniDavenport.vue?45df","webpack:///./src/components/MiniDavenport.vue?98af","webpack:///./src/components/MiniDavenport.vue?f920","webpack:///./src/components/MiniDavenport.vue","webpack:///./src/components/ReferenceList.vue?84c9","webpack:///./src/components/ReferenceList.vue?3c72","webpack:///./src/components/ReferenceList.vue?8421","webpack:///./src/components/ReferenceList.vue","webpack:///./src/views/ABGCalc.vue?ac7c","webpack:///./src/views/ABGCalc.vue?cd85","webpack:///./src/views/ABGCalc.vue","webpack:///./src/views/ABGTrain.vue?2608","webpack:///./src/views/ABGTrain.vue?0dd6","webpack:///./src/views/ABGTrain.vue?6b68","webpack:///./src/views/ABGTrain.vue","webpack:///./src/views/VQSim.vue?655e","webpack:///./src/components/VQSim.ts","webpack:///./src/components/VQView.vue?ce49","webpack:///./src/components/VQView.vue?8be4","webpack:///./src/components/VQView.vue?8261","webpack:///./src/components/VQView.vue","webpack:///./src/components/VQPresets.ts","webpack:///./src/views/VQSim.vue?6ace","webpack:///./src/views/VQSim.vue?5978","webpack:///./src/views/VQSim.vue","webpack:///./src/views/TrainDash.vue?3275","webpack:///./src/views/TrainDash.vue?6836","webpack:///./src/views/TrainDash.vue?73b0","webpack:///./src/views/TrainDash.vue","webpack:///./src/components/Davenport.vue?286c","webpack:///./src/components/Davenport.vue?075a","webpack:///./src/components/Davenport.vue?ea32","webpack:///./src/components/Davenport.vue","webpack:///./src/views/TOS.vue?1fc1","webpack:///./src/views/TOS.vue?254f","webpack:///./src/views/TOS.vue?1e20","webpack:///./src/views/TOS.vue","webpack:///./src/router.ts","webpack:///./src/store.ts","webpack:///./src/registerServiceWorker.ts","webpack:///./src/main.ts","webpack:///./src/components/Footer.vue?eab0","webpack:///./src/views/ABGCalc.vue?5851"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","use","iconfont","theme","dissmissable","color","_vm","this","_h","$createElement","_c","_self","attrs","staticStyle","staticRenderFns","$vuetify","breakpoint","model","callback","$$v","drawer","expression","_l","navEntry","navIndex","url","on","$event","_v","_s","icon","_e","staticClass","extend","computed","navList","$route","path","keys","$store","state","jwtClaims","component","VBtn","VIcon","VList","VListTile","VListTileAction","VListTileContent","VListTileTitle","VNavigationDrawer","VSpacer","VToolbar","VToolbarTitle","_m","productionMode","location","host","prodDSN","devDSN","dsn","environment","components","Header","Footer","mounted","commit","email","scope","setUser","id","username","pid","VApp","VContent","api_url","VSheet","TrainingLevels","saveProfile","profile","$set","_n","answerData","postJSON","payload","authToken","jsonRequestPromise","getJSON","method","xhr","XMLHttpRequest","includes","open","payloadString","JSON","stringify","send","onreadystatechange","readyState","status","href","encodeURIComponent","responseText","resp","respJson","parse","style","width","height","d3","assign","tip","default","props","Array","windowSize","Number","watch","drawLearningCurve","$nextTick","methods","generateWindows","windowData","nWindows","Math","max","windowedAnswers","gradeSum","reduce","prev","curr","grade","plotData","svg","select","selectAll","remove","margin","top","right","bottom","left","plotWidth","plotHeight","attr","xScale","scaleLinear","domain","range","yScale","tooltip","append","plotarea","xAxis","axisBottom","scale","yAxis","axisLeft","text","w","h","learningCurve","line","x","y","datum","enter","vertLine","getPlotVal","xpos","round","invert","mouse","val","toFixed","html","confusion","disorder","percentageToColor","sensitivity","specificity","ppv","npv","RefRngMidpoint","testName","RefRngs","lower","upper","BiologicalSex","DisturbType","init","abg","isValid","isFinite","bicarb","pH","PaCO2","log10","pow","validABG","tolerance","pHExpected","between","Na","Cl","Unknown","apH","Alkalemia","Acidemia","Normal","adjFactor","lowerLimit","upperLimit","validLytes","disturb","gap","NaN","anionGap","AnionGap","deltaAnionGap","serumAnionGap","deltaBicarb","aBicarb","deltaGap","abs","DeltaGap","PaO2","o2RefRange","adjustedPaO2","Hypoxemia","Hyperoxemia","patientAge","adjLowerBound","disturbList","serumDeltaGap","MetAlk","MetAcid","compensatedPaCO2","IncompleteComp","RespAlk","compensatedBicarb","RespAcid","primaryDisturb","guessDisturbances","a","b","min","TruePos","FalsePos","TrueNeg","FalseNeg","runStats","confusionDict","percentage","maxHue","minHue","hue","disorderList","forEach","answer","genius","indexOf","learner","LearningCurve","DisorderDetective","learnerLevel","learnerLevelYears","jwtToken","then","$toast","catch","respCode","fetchProfile","loadAnswerData","apiURL","reverse","VCard","VDivider","VSelect","VTab","VTabItem","VTabs","VTextField","profileTableHeaders","profileList","scopedSlots","_u","fn","item","uname","fullName","authProvider","isAdmin","sortable","align","fetchProfileList","VDataTable","provider","String","serverError","urlParams","query","ticket","source","code","token","authSource","replace","$router","xhrStatus","VProgressCircular","userBloodGas","ref","_g","editedABG","refRngs","results","Albumin","aLactate","class","userEditedABG","abgGenOptions","abgGenPick","generateABG","shuffleABG","realisticABG","activateChipInfo","pHDisturbance","disturbances","completeCompensation","expectedCompensation","activeChip","proxy","floatFix","f","precision","parseFloat","randFloat","random","upperLimitPaCO2","lowerLimitPaCO2","upperLimitBicarb","lowerLimitBicarb","upperLimitAG","floatLenMax","abgGenerators","truncateValues","newGas","bicarbMidpoint","formulaMid","wintersFormulaMid","randAnionGap","randDeltaGap","directives","rawName","toUpperCase","PaCO2Mid","aBicarbMid","xsOnly","arrayEq","drawGamblegram","ionData","ionSums","agg","ionCat","map","ion","offset","colMax","values","plotContainer","padding","tickSizeOuter","barContainer","filter","bandwidth","deep","handler","visible","VChip","mainRefs","Citation","notes","extraRefs","MainRefManager","CitationManager","ExtraRefManager","Gamblegram","MetabolicCompRule","augmentCitations","VCarousel","VCarouselItem","VContainer","VFlex","VLayout","debounce","plotDavenport","$el","plotArea","tickValues","fill","_","colorScale","schemePaired","show","hide","refID","refList","CalcInfoPanel","MiniDavenport","ReferenceList","showDemographics","showPaO2","showLactate","o2Disturbance","inputDebounce","newVal","oldVal","updateBloodGas","genABG","ceil","urlQuery","phDisturbance","decodeURL","urlData","numericParsed","toString","isNaN","chipID","goTo","VAvatar","VExpansionPanel","VExpansionPanelContent","VForm","VTooltip","mdAndUp","learnerPoints","smAndDown","instructionDialog","genBloodGas","answerSumitted","showGaps","percToColor","gradeAnswer","timeElapsed","disturbIndex","conditionName","nextABG","abgUrlCopy","abgUrl","addableDisturb","addedDisturb","addDisturb","learnerAnswer","deleteDisturb","submitAnswer","BIT","timeIntervalEllapsedCallbacks","absoluteTimeEllapsedCallbacks","browserTabInactiveCallbacks","browserTabActiveCallbacks","idleTimeoutMs","checkCallbacksIntervalMs","generatorDisturbs","entries","genName","gen","disturbToAdd","K","answerInput","geniusAnswer","stopTimer","getTimeInMilliseconds","peekedAtGaps","selectNewGenerator","startObj","genCounts","disturbName","countSum","genCount","randNum","iterSum","find","reset","startTimer","perc","g","urlField","getElementById","setSelectionRange","execCommand","learnerLeftovers","geniusLeftovers","disturbGroup","learnerIndex","origin","VCardActions","VCardText","VDialog","VTabsSlider","field","inputUpdated","sim","slot","label","preset_items","vq_preset","runSim","resetSim","invalidInputs","invalid","inputData","alveoli","log","v_pct","q_pct","a_pH","pa_o2","pa_co2","art_o2_con","art_co2_con","calcBicarb","calcBaseExcess","hgb_sat","deadspace_pct","venous_admixture_pct","resp_quotient","abgURL","MAX_ITER","preset","resp_rate","tidal_vol","fi_o2","temp","atm_press","cardiac_output","hgb","hcrit","v_o2","v_co2","dp50","anatomic_deadspace_airways","pi_o2","pi_co2","fi_co2","pv_n2","vqZones","tv_deadspace_pct","tvDeadspacePct","total_vent","shunt_pct","ideal_vaq","shunt","v","q","vq","find_mvp","FMVO2","FMVCO2","GVAQ","pureo2_loop","TOL1","R1","PCO21","PCO22X","o2_con","co2_con","FVQ","blood","CON1","DIFF","RZ","pmv_o2","pmv_co2","comp_vq","ALPHA","loss","X","trial_pmv_o2","trial_pmv_co2","O2CON1","CCO21","trial_o2_con","trial_co2_con","FAO2","FACO2","FVN2","C1","C2","C3","B1","B2","ABAB","AAAA","BBAA","AABB","o2_loss","co2_loss","neg_loss","solution","fmin","search_pmv_o2","search_pmv_co2","search_o2_con","search_co2_con","NFLAG","DET1","DET2","J","pmv_o2_opts","pmv_co2_opts","broke_out_of_for_loop","outer_while_loop","inner_while_loop","U","F","G","PIVOT","ITER","NNN","N","D1","D2","determ","p_co2","P","PK","SOL","DOX","DR","DDD","CP","CCC","p_o2","A1","A2","A3","A4","A5","A6","A7","B","Y","APH","APCO2","BPH","BPCO2","pH1","kelman_pH","kelman_hgb_sat","pH2","kelman_co2_content","RNPC","PCLO","PCHI","DPC","RET","SUM","NPC","NPC1","PC","R","E","exp","mv_o2_con","mv_co2_con","vq_total","VQ","V","Q","CC","DD","PO22","PCO22","PN22","RZZ","OO2CON","OCCO2","I","FI","pureo2","vqsoln","QR","W","nIter","alert","sumup","grad_desc_mvp","PAN2","CAN2","CVN2","summary","O2CNT2","CO2CT2","A10","PI","sameo2","calc_o2_con","calc_co2_con","palv_o2_calc","palv_co2","palv_o2","search_palv_co2","search_palv_o2","BLOODR","ideal_palv_co2","ideal_palv_o2","ideal_o2_con","ideal_co2_con","ideal_pH","AA","BB","mixed_alv_pco2","grad_desc_ten","grad_desc_ven_admixture","ALVDS","xMargin","pctToColor","vqMax","topMargin","maxVQ","NORM_QPERCENT","NORM_VPERCENT","EMPH_QPERCENT","EMPH_VPERCENT","COPD_QPERCENT","COPD_VPERCENT","BRON_QPERCENT","BRON_VPERCENT","zip","arr1","arr2","k","vqPresets","vqview","simPending","inputTimeout","enforceRange","cleanInputs","fieldName","delay","run_sim","VLabel","colorBy","genDiagramData","genData","genDisturbList","nPoints","selectedGenerators","base","routes","ABGCalc","ABGTrain","TrainDash","Davenport","UserProfile","Admin","Login","Authorize","Logout","TOS","Store","mutations","setLocalAPI","setJWTToken","newToken","actions","plugins","ready","registered","cached","updatefound","updated","offline","config","productionTip","router","store","render","App","$mount"],"mappings":"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","file":"js/app.fa360c5a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"about\":\"about\"}[chunkId]||chunkId) + \".\" + {\"about\":\"4363fa09\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DisorderDetective.vue?vue&type=style&index=0&id=6c312f6e&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DisorderDetective.vue?vue&type=style&index=0&id=6c312f6e&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CalcInfoPanel.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CalcInfoPanel.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Davenport.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Davenport.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Authorize.vue?vue&type=style&index=0&id=bb0df30c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Authorize.vue?vue&type=style&index=0&id=bb0df30c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQSim.vue?vue&type=style&index=0&id=7e616bab&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQSim.vue?vue&type=style&index=0&id=7e616bab&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGTrain.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGTrain.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceList.vue?vue&type=style&index=0&id=3c7c98e7&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceList.vue?vue&type=style&index=0&id=3c7c98e7&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=fe462908&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=fe462908&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./UserProfile.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./UserProfile.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=style&index=0&id=57dc52b7&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=style&index=0&id=57dc52b7&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./1245-rule.vue?vue&type=style&index=0&id=19ee5159&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./1245-rule.vue?vue&type=style&index=0&id=19ee5159&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniDavenport.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniDavenport.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=121b7a00&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=121b7a00&scoped=true&lang=css&\"","import Vue from \"vue\";\nimport Vuetify from \"vuetify\";\nimport \"vuetify/src/stylus/app.styl\";\nimport \"vuetify/dist/vuetify.min.css\";\n\nVue.use(Vuetify, {\n\ticonfont: \"fa\",\n\ttheme: {\n\t\t\"primary\": \"#1976D2\",\n\t\t\"secondary\": \"#424242\",\n\t\t\"accent\": \"#009688\",\n\t\t\"error\": \"#FF5252\",\n\t\t\"info\": \"#ffc107\",\n\t\t\"success\": \"#4CAF50\",\n\t\t\"warning\": \"#FB8C00\",\n\t},\n});\n\nimport VuetifyToast from \"vuetify-toast-snackbar\";\nVue.use(VuetifyToast, {\n\tdissmissable: true,\n\tcolor: \"#403e4d\",\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',{attrs:{\"dark\":\"\"}},[_c('Header'),_c('v-content',{staticStyle:{\"margin-top\":\"6px\"}},[_c('router-view')],1),_c('Footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.$vuetify.breakpoint.xsOnly)?_c('v-navigation-drawer',{attrs:{\"app\":\"\",\"clipped\":\"\",\"mobile-break-point\":\"600\",\"width\":\"180\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{attrs:{\"shaped\":\"\"}},_vm._l((_vm.navList),function(navEntry,navIndex){return _c('v-list-tile',{key:navIndex,attrs:{\"to\":navEntry.url,\"draggable\":false},on:{\"click\":function($event){_vm.drawer=false;}}},[(navEntry.icon)?_c('v-list-tile-action',{staticStyle:{\"margin-right\":\"0px\"}},[_c('v-icon',[_vm._v(_vm._s(navEntry.icon || \"grip-lines\"))])],1):_vm._e(),_c('v-list-tile-content',[_c('v-list-tile-title',{staticStyle:{\"font-size\":\"120%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(navEntry.name)+\"\\n\\t\\t\\t\\t\\t\")])],1)],1)}),1)],1):_vm._e(),_c('v-toolbar',{attrs:{\"app\":\"\"}},[(_vm.$vuetify.breakpoint.xsOnly)?_c('span',[_c('div',{on:{\"click\":function($event){_vm.drawer = !_vm.drawer}}},[_c('v-icon',[_vm._v(\"fa-bars\")])],1)]):_vm._e(),_c('v-toolbar-title',{staticClass:\"headline\"},[_c('router-link',{staticClass:\"header-logo\",staticStyle:{\"text-decoration\":\"none\"},attrs:{\"to\":\"/\"}},[_c('span',[_vm._v(\"ABG\")]),_c('span',{staticClass:\"font-weight-light\"},[_vm._v(\"enius\")])])],1),(_vm.$vuetify.breakpoint.smAndUp)?_c('v-spacer'):_vm._e(),(_vm.$vuetify.breakpoint.smAndUp)?_c('span',_vm._l((_vm.navList),function(navEntry,navIndex){return _c('v-btn',{key:navIndex,staticClass:\"header-nav\",attrs:{\"to\":navEntry.url}},[_c('span',{staticClass:\"mr-2\"},[_vm._v(_vm._s(navEntry.name))]),_c('v-icon',[_vm._v(\"fas \"+_vm._s(navEntry.icon))])],1)}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tdata() {\n\t\treturn {\n\t\t\tdrawer: false,\n\t\t};\n\t},\n\tcomputed: {\n\t\tnavList(): any {\n\t\t\tconst navList = [];\n\t\t\tif (this.$route.path !== \"/train\") {\n\t\t\t\tnavList.push({ name: \"Train\", icon: \"fa-question-circle\", url: \"/train\" });\n\t\t\t}\n\t\t\tif (this.$route.path !== \"/\") {\n\t\t\t\tnavList.push({ name: \"Genius\", icon: \"fa-user-cog\", url: \"/\" });\n\t\t\t}\n\t\t\tif (Object.keys(this.$store.state.jwtClaims).length === 0) {\n\t\t\t\tnavList.push({ name: \"Login\", icon: \"fa-key\", url: \"/login\" });\n\t\t\t} else {\n\t\t\t\tnavList.push({ name: \"Profile\", icon: \"fa-id-card\", url: \"/profile\" });\n\t\t\t\tnavList.push({ name: \"Logout\", icon: \"fa-door-open\", url: \"/logout\" });\n\t\t\t}\n\t\t\treturn navList;\n\t\t},\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=fe462908&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=ts&\"\nexport * from \"./Header.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=fe462908&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"fe462908\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListTile } from 'vuetify/lib/components/VList';\nimport { VListTileAction } from 'vuetify/lib/components/VList';\nimport { VListTileContent } from 'vuetify/lib/components/VList';\nimport { VListTileTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VIcon,VList,VListTile,VListTileAction,VListTileContent,VListTileTitle,VNavigationDrawer,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"footer\"},[_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\"}},[_c('a',{attrs:{\"href\":\"http://help.jpoles1.com/\",\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\tSupport\\n\\t\\t\")]),_c('div',{staticClass:\"bottom-nav-spacer\"}),_c('a',{attrs:{\"href\":\"/tos\",\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\tTerms of Service\\n\\t\\t\")]),_c('div',{staticClass:\"bottom-nav-spacer\"}),_c('a',{attrs:{\"href\":\"https://forms.gle/xXvu65bcWa3gpxE18\",\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\tFeedback\\n\\t\\t\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=04fd7f26&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Footer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=04fd7f26&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"04fd7f26\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\nimport * as Sentry from \"@sentry/browser\";\nconst productionMode = window.location.host === \"abgenius.app\";\nconst prodDSN = \"https://9a2fdf7aafe74d0ab96d31291a4e80e6@sentry.jpoles1.com/10\";\nconst devDSN = \"https://9a2fdf7aafe74d0ab96d31291a4e80e6@sentry.jpoles1.com/10\";\nSentry.init({\n\tdsn: productionMode ? prodDSN : devDSN,\n\tenvironment: productionMode ? \"prod\" : \"dev\",\n});\nimport Header from \"@/components/Header.vue\";\nimport Footer from \"@/components/Footer.vue\";\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tname: \"App\",\n\tcomponents: {\n\t\tHeader,\n\t\tFooter,\n\t},\n\tmounted() {\n\t\tif (window.location.host === \"127.0.0.1:8080\") {\n\t\t\tthis.$store.commit(\"setLocalAPI\");\n\t\t}\n\t\tif (this.$store.state.jwtClaims.email) {\n\t\t\tSentry.configureScope((scope) => {\n\t\t\t\tscope.setUser({\n\t\t\t\t\tid: this.$store.state.jwtClaims.email,\n\t\t\t\t\tusername: this.$store.state.jwtClaims.pid,\n\t\t\t\t\temail: this.$store.state.jwtClaims.email,\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t},\n});\n","import mod from \"-!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../node_modules/vuetify-loader/lib/loader.js!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../node_modules/vuetify-loader/lib/loader.js!../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=21d084c8&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContent } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VApp,VContent})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('center',[_c('v-sheet',{staticClass:\"login-box\",staticStyle:{\"margin-top\":\"160px\"},attrs:{\"elevation\":\"4\"}},[_c('a',{attrs:{\"href\":_vm.$store.state.api_url + '/api/auth/google'}},[_c('img',{attrs:{\"src\":\"/img/google_login.png\"}})])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=121b7a00&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=ts&\"\nexport * from \"./Login.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=121b7a00&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"121b7a00\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('headful',{attrs:{\"title\":\"ABGenius - Profile\"}}),_c('v-card',{staticStyle:{\"margin\":\"30px auto\",\"max-width\":\"660px\",\"padding\":\"0\"}},[_c('v-tabs',[_c('v-tab',{attrs:{\"href\":\"#progress-tab\"}},[_vm._v(\"Progress\")]),_c('v-tab',{attrs:{\"href\":\"#info-tab\"}},[_vm._v(\"Profile\")]),_c('v-tab-item',{staticClass:\"profile-tab-item\",attrs:{\"value\":\"info-tab\"}},[_c('h1',[_vm._v(\"Learner Profile\")]),_c('v-divider'),_c('b',{staticStyle:{\"font-size\":\"145%\"}},[_vm._v(\"What is your current level of training?\")]),_c('div',{staticClass:\"learner-profile-input\",staticStyle:{\"display\":\"flex\",\"font-size\":\"22px\",\"margin-top\":\"16px\"}},[_c('v-select',{staticStyle:{\"max-width\":\"240px\",\"font-size\":\"22px\"},attrs:{\"items\":_vm.TrainingLevels,\"outline\":\"\"},on:{\"change\":_vm.saveProfile},model:{value:(_vm.profile.learnerLevel),callback:function ($$v) {_vm.$set(_vm.profile, \"learnerLevel\", $$v)},expression:\"profile.learnerLevel\"}}),_c('div',{staticStyle:{\"margin\":\"0 12px\",\"font-size\":\"28px\",\"padding-top\":\"6px\"}},[_vm._v(\"year\")]),_c('v-text-field',{staticClass:\"learner-year\",staticStyle:{\"max-width\":\"90px\",\"font-size\":\"22px\"},attrs:{\"type\":\"number\",\"min\":\"1\",\"max\":\"99\",\"outline\":\"\"},on:{\"change\":_vm.saveProfile},model:{value:(_vm.profile.learnerLevelYears),callback:function ($$v) {_vm.$set(_vm.profile, \"learnerLevelYears\", _vm._n($$v))},expression:\"profile.learnerLevelYears\"}})],1)],1),_c('v-tab-item',{staticClass:\"profile-tab-item\",attrs:{\"value\":\"progress-tab\"}},[_c('learning-curve',{staticStyle:{\"margin\":\"auto\"},attrs:{\"answer-data\":_vm.answerData,\"width\":380,\"height\":260}}),_c('v-divider'),_c('disorder-detective',{attrs:{\"answer-data\":_vm.answerData}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function postJSON(url: string, payload: any, authToken: string | undefined): Promise {\n\treturn jsonRequestPromise(url, \"POST\", payload, authToken);\n}\n\nexport function getJSON(url: string, authToken: string | undefined): Promise {\n\treturn jsonRequestPromise(url, \"GET\", undefined, authToken);\n}\n\nexport function jsonRequestPromise(url: string, method: string, payload: object | undefined, authToken: string | undefined): Promise<[number, string]> {\n\treturn new Promise((resolve, reject) => {\n\t\tconst xhr = new XMLHttpRequest();\n\t\tif (authToken) {\n\t\t\tif (!url.includes(\"?\")) url += \"?\";\n\t\t\turl += \"&jwt=\" + authToken;\n\t\t}\n\t\txhr.open(method, url, true);\n\t\tif (payload) {\n\t\t\tconst payloadString = JSON.stringify(payload);\n\t\t\txhr.send(payloadString);\n\t\t} else {\n\t\t\txhr.send();\n\t\t}\n\t\txhr.onerror = () => {\n\t\t\tthrow Object({ \"respCode\": 0, \"msg\": \"Could not connect to server!\" });\n\t\t};\n\t\txhr.onreadystatechange = () => {\n\t\t\tif (xhr.readyState === 4) {\n\t\t\t\tif (xhr.status === 401) {\n\t\t\t\t\twindow.location.href = \"/login?source=\" + encodeURIComponent(window.location.href);\n\t\t\t\t}\n\t\t\t\tif (xhr.status === 403) {\n\t\t\t\t\twindow.location.href = \"/\";\n\t\t\t\t}\n\t\t\t\tif (xhr.status === 302) {\n\t\t\t\t\twindow.location.href = xhr.responseText;\n\t\t\t\t}\n\t\t\t\tif (xhr.status === 200) {\n\t\t\t\t\t// xhr finished successfully\n\t\t\t\t\tconst resp = xhr.responseText;\n\t\t\t\t\tconst respJson = JSON.parse(resp);\n\t\t\t\t\tresolve(respJson);\n\t\t\t\t} else {\n\t\t\t\t\t// xhr failed\n\t\t\t\t\treject(Object({ \"respCode\": xhr.status, \"msg\": xhr.responseText }));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n}\n","export const TrainingLevels = [\"Undergraduate\", \"Medical Student\", \"Residency\", \"Fellowship\", \"Attending\", \"Nursing Student\", \"NP\", \"RN\", \"Other\"];\n\nexport interface LearnerProfile {\n\tid?: string;\n\tpubid?: string;\n\tuname?: string;\n\tfullName?: string;\n\temail?: string;\n\tauthProivder?: string;\n\tlearnerLevel?: string;\n\tlearnerLevelYears?: number;\n\tisAdmin: boolean;\n\tisOwner: boolean;\n\tacceptedTOS: boolean;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('center',[(!(_vm.answerData && _vm.answerData.length > 11))?_c('div',{staticStyle:{\"max-width\":\"800px\",\"padding\":\"25px 15px 15px 15px\",\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\tNew points will start appearing on your learning curve once you have done 10 questions.\\n\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\tUse these first few questions to get a feel for how everything works!\\n\\t\")]):_vm._e(),_c('div',{style:({'width': _vm.width + 'px', 'height': _vm.height + 'px', 'position': 'relative'}),attrs:{\"id\":\"learning-curve-container\"}},[_c('svg')])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as BG from \"@/components/BloodGas\";\nconst d3 = Object.assign({},\n\trequire(\"d3-selection\"),\n\trequire(\"d3-axis\"),\n\trequire(\"d3-scale\"),\n\trequire(\"d3-shape\"),\n\trequire(\"d3-array\"),\n);\nd3.tip = require(\"d3-tip\").default;\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tprops: {\n\t\tanswerData: {\n\t\t\ttype: Array as () => BG.ABGAnswer[],\n\t\t},\n\t\twindowSize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 10,\n\t\t},\n\t\twidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 380,\n\t\t},\n\t\theight: {\n\t\t\ttype: Number,\n\t\t\tdefault: 220,\n\t\t},\n\t},\n\twatch: {\n\t\tanswerData() {\n\t\t\tthis.drawLearningCurve();\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(function() {\n\t\t\tthis.drawLearningCurve();\n\t\t});\n\t},\n\tmethods: {\n\t\tgenerateWindows(): number[] {\n\t\t\tconst windowData = [];\n\t\t\tconst nWindows = Math.max(this.answerData.length - this.windowSize, 1);\n\t\t\t// Generates proportion correct for each window\n\t\t\tlet i = 0;\n\t\t\twhile (i < nWindows) {\n\t\t\t\tconst windowedAnswers = this.answerData.slice(i, i + this.windowSize);\n\t\t\t\tconst gradeSum = windowedAnswers.reduce((prev, curr) => prev + curr.grade, 0);\n\t\t\t\twindowData.push(gradeSum / windowedAnswers.length);\n\t\t\t\ti++;\n\t\t\t}\n\t\t\treturn windowData;\n\t\t},\n\t\tdrawLearningCurve() {\n\t\t\tif (!this.answerData || this.answerData.length === 0) return;\n\t\t\tconst plotData = this.generateWindows();\n\t\t\tconst svg = d3.select(\"#learning-curve-container\").select(\"svg\");\n\t\t\tsvg.selectAll(\"*\").remove();\n\t\t\tif (svg === undefined) return;\n\t\t\tconst margin = {\n\t\t\t\ttop: 40,\n\t\t\t\tright: 30,\n\t\t\t\tbottom: 60,\n\t\t\t\tleft: 45,\n\t\t\t};\n\t\t\tconst width = this.width;\n\t\t\tconst plotWidth = width - margin.left - margin.right;\n\t\t\tconst height = this.height;\n\t\t\tconst plotHeight = height - margin.top - margin.bottom;\n\t\t\tsvg.attr(\"width\", width).attr(\"height\", height);\n\t\t\tconst xScale = d3.scaleLinear()\n\t\t\t.domain([0.5, plotData.length + 5])\n\t\t\t.range([margin.left, width - margin.right]);\n\t\t\tconst yScale = d3.scaleLinear()\n\t\t\t.domain([0, 108])\n\t\t\t.range([height - margin.bottom, margin.top]);\n\t\t\t// Tooltips\n\t\t\tconst tooltip = d3.select(\"#learning-curve-container\").append(\"div\").attr(\"class\", \"d3-tip\")\n\t\t\t\t.style(\"position\", \"absolute\").style(\"font-size\", \"90%\")\n\t\t\t\t.style(\"top\", (margin.top + 4) + \"px\")\n\t\t\t\t.style(\"left\", (margin.left + 10) + \"px\");\n\t\t\tconst plotarea = svg.append(\"g\")\n\t\t\t\t.attr(\"class\", \"plotarea\")\n\t\t\t\t.attr(\"width\", plotWidth)\n\t\t\t\t.attr(\"height\", plotHeight)\n\t\t\t\t.attr(\"transform\", \"translate(\" + margin.left + \", \" + margin.top + \")\");\n\t\t\tplotarea.append(\"rect\")\n\t\t\t\t.attr(\"width\", plotWidth)\n\t\t\t\t.attr(\"height\", plotHeight)\n\t\t\t\t.attr(\"fill\", \"#767da9\");\n\t\t\tconst xAxis = d3.axisBottom().scale(xScale);\n\t\t\tconst yAxis = d3.axisLeft().scale(yScale);\n\t\t\tsvg.append(\"g\")\n\t\t\t\t.attr(\"class\", \"x axis\")\n\t\t\t\t.attr(\"transform\", \"translate(0, \" + (height - margin.bottom) + \")\")\n\t\t\t\t.call(xAxis);\n\t\t\tsvg.append(\"g\")\n\t\t\t\t.attr(\"class\", \"y axis\")\n\t\t\t\t.attr(\"transform\", \"translate(\" + margin.left + \", 0)\")\n\t\t\t\t.call(yAxis);\n\t\t\t// Plot Title\n\t\t\tsvg.append(\"text\").text(\"Learning Curve\")\n\t\t\t\t.attr(\"x\", width / 2)\n\t\t\t\t.attr(\"y\", margin.top - 10)\n\t\t\t\t.style(\"text-anchor\", \"middle\").attr(\"fill\", \"white\")\n\t\t\t\t.style(\"font-weight\", \"bold\").style(\"font-size\", \"110%\");\n\t\t\t// Axis labels\n\t\t\tsvg.append(\"text\").text(\"Case Window #\")\n\t\t\t\t.attr(\"x\", width / 2)\n\t\t\t\t.attr(\"y\", height - margin.bottom + 36)\n\t\t\t\t.style(\"text-anchor\", \"middle\").attr(\"fill\", \"white\")\n\t\t\t\t.style(\"font-weight\", \"bold\").style(\"font-size\", \"100%\");\n\t\t\tsvg.append(\"text\").text(\"% Accuracy\")\n\t\t\t\t.attr(\"x\", 10)\n\t\t\t\t.attr(\"y\", ((height - margin.bottom - margin.top) / 2) + margin.top)\n\t\t\t\t.style(\"text-anchor\", \"middle\").attr(\"fill\", \"white\")\n\t\t\t\t.style(\"font-weight\", \"bold\").style(\"font-size\", \"100%\")\n\t\t\t\t.attr(\"transform\", function(this: any, d: any) {\n\t\t\t\t\tconst w = +d3.select(this).attr(\"x\");\n\t\t\t\t\tconst h = +d3.select(this).attr(\"y\");\n\t\t\t\t\treturn(\"rotate(-90, \" + w + \", \" + h + \")\");\n\t\t\t\t});\n\t\t\tconst learningCurve = d3.line()\n\t\t\t\t.x((d: number, i: number) => xScale(i + 1))\n\t\t\t\t.y((d: number) => yScale(d));\n\t\t\tsvg.append(\"path\")\n\t\t\t\t.datum(plotData)\n\t\t\t\t.attr(\"class\", \"d3line bold\").style(\"stroke\", \"#403e4d\")\n\t\t\t\t.attr(\"fill\", \"none\")\n\t\t\t\t.attr(\"d\", learningCurve);\n\t\t\t/*if(learning_data.cohort_vals){\n\t\t\t\tfor(cohort_user_ind in window_data.cohort_vals){\n\t\t\t\t\tvar cohort_user = window_data.cohort_vals[cohort_user_ind];\n\t\t\t\t\tplotarea.append(\"path\")\n\t\t\t\t\t\t.datum(cohort_user)\n\t\t\t\t\t\t.attr(\"class\", \"d3line\").style(\"stroke\", \"black\")\n\t\t\t\t\t\t.attr(\"d\", line);\n\t\t\t\t}\n\t\t\t}*/\n\t\t\tsvg.selectAll(\"circle\").data(plotData).enter().append(\"circle\")\n\t\t\t\t.attr(\"cx\", (d: number, i: number) => xScale(i + 1))\n\t\t\t\t.attr(\"cy\", (d: number) => yScale(d))\n\t\t\t\t.attr(\"r\", 2)\n\t\t\t\t.style(\"fill\", \"#403e4d\")\n\t\t\t\t.attr(\"val\", (d: number) => d);\n\t\t\tconst vertLine = svg.append(\"line\")\n\t\t\t\t.attr(\"x1\", 0).attr(\"y1\", margin.top)\n\t\t\t\t.attr(\"x2\", 0).attr(\"y2\", height - margin.bottom);\n\t\t\tlet lastVal = undefined as string | undefined;\n\t\t\tconst getPlotVal = function(this: any) {\n\t\t\t\tconst xpos = Math.round(xScale.invert(d3.mouse(this)[0] + margin.left));\n\t\t\t\tconst val = plotData[xpos - 1] !== undefined ? plotData[xpos - 1].toFixed(2) : undefined;\n\t\t\t\tif (val !== undefined) {\n\t\t\t\t\tvertLine.attr(\"transform\", \"translate(\" + xScale(xpos) + \", 0)\")\n\t\t\t\t\t.style(\"stroke\", \"#3d4057\").style(\"stroke-width\", \"1px\");\n\t\t\t\t\ttooltip.html(\"
Rolling Avg. Accuracy:
\" + val + \"%
\").style(\"visibility\", \"visible\");\n\t\t\t\t} else {\n\t\t\t\t\ttooltip.style(\"visibility\", \"hidden\");\n\t\t\t\t\tvertLine.style(\"stroke\", \"none\");\n\t\t\t\t}\n\t\t\t\tlastVal = val;\n\t\t\t};\n\t\t\tplotarea.append(\"rect\")\n\t\t\t\t.attr(\"width\", plotWidth)\n\t\t\t\t.attr(\"height\", plotHeight)\n\t\t\t\t.style(\"fill-opacity\", 0)\n\t\t\t\t.on(\"mousemove\", getPlotVal);\n\t\t},\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LearningCurve.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./LearningCurve.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LearningCurve.vue?vue&type=template&id=3df445a2&\"\nimport script from \"./LearningCurve.vue?vue&type=script&lang=ts&\"\nexport * from \"./LearningCurve.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('center',[_c('h2',{staticStyle:{\"margin-bottom\":\"12px\"}},[_vm._v(\"Your Stats\")]),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"justify-content\":\"center\"}},_vm._l((_vm.confusionDict),function(confusion,disorder){return _c('div',{key:disorder,staticStyle:{\"border\":\"1px solid black\",\"text-align\":\"center\",\"padding\":\"8px\"}},[_c('b',[_vm._v(_vm._s(disorder))]),_c('hr',{staticStyle:{\"margin\":\"2px 0\"}}),_c('div',{staticClass:\"stat-div\",style:({\"background-color\": _vm.percentageToColor(confusion.sensitivity())})},[_vm._v(\"\\n\\t\\t\\t\\tSensitivity: \"+_vm._s(confusion.sensitivity().toFixed(2))+\"\\n\\t\\t\\t\")]),_c('div',{staticClass:\"stat-div\",style:({\"background-color\": _vm.percentageToColor(confusion.specificity())})},[_vm._v(\"\\n\\t\\t\\t\\tSpecificity: \"+_vm._s(confusion.specificity().toFixed(2))+\"\\n\\t\\t\\t\")]),_c('div',{staticClass:\"stat-div\",style:({\"background-color\": _vm.percentageToColor(confusion.ppv())})},[_vm._v(\"\\n\\t\\t\\t\\tPPV: \"+_vm._s(confusion.ppv().toFixed(2))+\"\\n\\t\\t\\t\")]),_c('div',{staticClass:\"stat-div\",style:({\"background-color\": _vm.percentageToColor(confusion.npv())})},[_vm._v(\"\\n\\t\\t\\t\\tNPV: \"+_vm._s(confusion.npv().toFixed(2))+\"\\n\\t\\t\\t\")])])}),0),_c('div',{staticStyle:{\"font-style\":\"italic\",\"margin-top\":\"15px\"}},[_vm._v(\"\\n\\t\\tSensitivity: When the process was present how often did you detect it?\\n\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\tSpecificity: When the process was not present how often did correctly exclude it?\\n\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\tPPV: When you said the process was present how often were you right?\\n\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\tNPV: When you said the process was not present how often were you right?\\n\\t\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Laboratory Reference Ranges\nexport interface RefRange {\n\tupper: number;\n\tlower: number;\n}\nexport function RefRngMidpoint(testName: string): number {\n\tif (RefRngs[testName] === undefined) throw new Error(\"Invalid reference range key!\");\n\treturn (RefRngs[testName]!.lower + RefRngs[testName]!.upper) / 2;\n}\n\nexport const RefRngs: { [testName: string]: RefRange | undefined } = {\n\t// Arterial and Venous pH\n\t\"apH\": {lower: 7.35, upper: 7.45},\n\t\"vpH\": {lower: 7.31, upper: 7.42},\n\t// Arterial and Venous O2\n\t\"PaO2\": {lower: 80, upper: 100},\n\t\"PvO2\": {lower: 28, upper: 48},\n\t\"aBicarb\": {lower: 22, upper: 28},\n\t\"vBicarb\": {lower: 19, upper: 25},\n\t\"PaCO2\": {lower: 35, upper: 45},\n\t\"PvCO2\": {lower: 38, upper: 52},\n\t\"SaO2\": {lower: 95, upper: 100},\n\t\"SvO2\": {lower: 50, upper: 70},\n\t\"Na\": {lower: 135, upper: 145},\n\t\"K\": {lower: 3.5, upper: 5.0},\n\t\"Cl\": {lower: 95, upper: 105},\n\t\"Albumin\": {lower: 3.5, upper: 5.5}, // in g/dL\n\t\"aLactate\": {lower: 0.5, upper: 1.5},\n\t\"aLactateCrit\": {lower: 0.5, upper: 2},\n\t// (Kellum, 2005)\n\t\"AnionGap\": {lower: 4, upper: 12},\n\t\"DeltaGap\": {lower: -6, upper: 6},\n};\n\n// Patient Characteristic Enums\nenum BiologicalSex {\n\tMale,\n\tFemale,\n}\n\nexport enum DisturbType {\n\tNormal = \"Normal\",\n\tChronic = \"Chronic\",\n\tAcidemia = \"Acidemia\",\n\tAlkalemia = \"Alkalemia\",\n\tHypoxemia = \"Hypoxemia\",\n\tHyperoxemia = \"Hyperoxemia\",\n\tMetAcid = \"Non-Gap Metabolic Acidosis\",\n\tRespAcid = \"Respiratory Acidosis\",\n\tMetAlk = \"Metabolic Alkalosis\",\n\tRespAlk = \"Respiratory Alkalosis\",\n\tAnionGap = \"Anion Gap\",\n\tDeltaGap = \"Delta Gap\",\n\tUnknown = \"Unknown\",\n\tIncompleteComp = \"Incomplete Compensation\",\n}\n\nexport interface Gap {\n\tdisturb: DisturbType;\n\tgap: number;\n}\n\n// Lab Panel Types\nexport interface ABGResults {\n\t// Demographics\n\tpatientAge?: number;\n\tpatientSex?: BiologicalSex;\n\t// ABG\n\tpH?: number;\n\tbicarb?: number;\n\tPaO2?: number;\n\tPaCO2?: number;\n\t// Electrolytes\n\tNa?: number;\n\tK?: number;\n\tCl?: number;\n\tAlbumin?: number;\n\tLactate?: number;\n}\n\n// ABGAnswer stores information regarding a user's interpretation of a given ABG.\nexport interface ABGAnswer {\n\tabg: BloodGas;\n\tlearner: DisturbType[];\n\tgenius: DisturbType[];\n\ttimeElapsed: number;\n\tpeekedAtGaps: boolean;\n\tgrade: number;\n}\n\n// BloodGas stores the information regarding a patient and their ABG values\nexport class BloodGas {\n\tpublic abg: ABGResults = {};\n\tpublic constructor(init?: Partial) {\n\t\t\tObject.assign(this, init);\n\t}\n\tpublic validABG(): boolean {\n\t\tfunction isValid(x: number | undefined) {\n\t\t\treturn x !== undefined && isFinite(x) && x > 0;\n\n\t\t}\n\t\treturn isValid(this.abg.bicarb) && isValid(this.abg.pH) && isValid(this.abg.PaCO2);\n\t}\n\tpublic pHExpected(): number {\n\t\treturn 6.1 + Math.log10(this.abg.bicarb! / (0.03 * this.abg.PaCO2!));\n\t}\n\tpublic co2Expected(): number {\n\t\treturn (1 / 3) * this.abg.bicarb! * Math.pow(10, (81 / 10) - this.abg.pH!);\n\t}\n\tpublic bicarbExpected(): number {\n\t\treturn 3 * this.abg.PaCO2! * Math.pow(10, this.abg.pH! - (81 / 10));\n\t}\n\tpublic realisticABG(): boolean {\n\t\tif (!this.validABG()) return false;\n\t\tconst tolerance = 0.05;\n\t\t// does not account for anion gap?\n\t\treturn this.pHExpected().between(this.abg.pH! - tolerance, this.abg.pH! + tolerance);\n\t}\n\tpublic validLytes(): boolean {\n\t\tfunction isValid(x: number | undefined) {\n\t\t\treturn x !== undefined && isFinite(x) && x > 0;\n\n\t\t}\n\t\treturn isValid(this.abg.Na) && isValid(this.abg.bicarb) && isValid(this.abg.Cl);\n\t}\n\tpublic phDisturbance(): DisturbType {\n\t\tif (this.abg.pH === undefined) return DisturbType.Unknown;\n\t\tif (this.abg.pH! > RefRngs.apH!.upper) return DisturbType.Alkalemia;\n\t\tif (this.abg.pH! < RefRngs.apH!.lower) return DisturbType.Acidemia;\n\t\treturn DisturbType.Normal;\n\t}\n\t// Adj factor for Respiratory Alkalosis = -1/2\n\t// Adj factor for Respiratory Acidosis = 1/3\n\tpublic compensatedBicarb(): number {\n\t\tconst adjFactor = (this.abg.PaCO2! > RefRngMidpoint(\"PaCO2\")) ? (1 / 3) : (1 / 2);\n\t\treturn RefRngMidpoint(\"aBicarb\") + (adjFactor * (this.abg.PaCO2! - RefRngMidpoint(\"PaCO2\")!));\n\t}\n\tpublic wintersFormula(): RefRange {\n\t\tconst lowerLimit = (1.5 * this.abg.bicarb!) + 8 - 2;\n\t\tconst upperLimit = (1.5 * this.abg.bicarb!) + 8 + 2;\n\t\treturn {lower: lowerLimit, upper: upperLimit};\n\t}\n\tpublic compensatedPaCO2(): number {\n\t\tif (this.abg.bicarb! > RefRngMidpoint(\"aBicarb\")) {\n\t\t\treturn (0.7 * this.abg.bicarb!) + 20;\n\t\t} else {\n\t\t\treturn (1.5 * this.abg.bicarb!) + 8;\n\t\t}\n\t}\n\tpublic serumAnionGap(): Gap {\n\t\tif (!this.validLytes()) return {disturb: DisturbType.Unknown, gap: NaN};\n\t\tconst anionGap = this.abg.Na! - (this.abg.Cl! + this.abg.bicarb!);\n\t\tif (anionGap > RefRngs.AnionGap!.upper) return {disturb: DisturbType.AnionGap, gap: anionGap};\n\t\tif (anionGap < RefRngs.AnionGap!.lower) return {disturb: DisturbType.AnionGap, gap: anionGap};\n\t\treturn {disturb: DisturbType.Normal, gap: anionGap};\n\t}\n\tpublic serumDeltaGap(): Gap {\n\t\t// Ref: Wrenn, K. (1990). The delta (Δ) gap: An approach to mixed acid-base disorders. Annals of emergency medicine.\n\t\tif (!this.validLytes()) return {disturb: DisturbType.Unknown, gap: NaN};\n\t\tconst deltaAnionGap = this.serumAnionGap().gap - RefRngs.AnionGap!.upper;\n\t\tconst deltaBicarb = RefRngs.aBicarb!.lower - this.abg.bicarb!;\n\t\tconst deltaGap = deltaAnionGap - deltaBicarb;\n\t\tif (Math.abs(deltaGap) > RefRngs.DeltaGap!.upper) return {disturb: DisturbType.DeltaGap, gap: deltaGap};\n\t\treturn {gap: deltaGap, disturb: DisturbType.Normal};\n\t}\n\tpublic o2Disturbance(): DisturbType {\n\t\tif (this.abg.PaO2 === undefined) return DisturbType.Unknown;\n\t\tconst o2RefRange = this.adjustedPaO2();\n\t\tif (this.abg.PaO2 < o2RefRange.lower) return DisturbType.Hypoxemia;\n\t\tif (this.abg.PaO2 > o2RefRange.upper) return DisturbType.Hyperoxemia;\n\t\treturn DisturbType.Normal;\n\t}\n\tpublic adjustedPaO2(): RefRange {\n\t\tif (this.abg.patientAge === undefined) return RefRngs.PaO2!;\n\t\t// New Born – Acceptable range 40-70 mm Hg.\n\t\tif (this.abg.patientAge === 0) return {lower: 40, upper: 70};\n\t\t// Elderly: Subtract 1 mm Hg from the minimal 80 mm Hg level for every year over 60 years of age: 80 – (age- 60)\n\t\tif (this.abg.patientAge >= 60 && this.abg.patientAge < 90) {\n\t\t\tconst adjLowerBound = 80 - (this.abg.patientAge - 60);\n\t\t\treturn {lower: Math.max(adjLowerBound, 55), upper: RefRngs.PaO2!.upper};\n\t\t}\n\t\treturn RefRngs.PaO2!;\n\t}\n\tpublic guessDisturbances(): DisturbType[] {\n\t\tconst disturbList: DisturbType[] = [];\n\t\t// Do we have a valid ABG: pH, PaCO2, HCO3\n\t\t// Do we have the required electrolytes: Na, Cl, HCO3\n\t\tif (this.validABG() && this.validLytes()) {\n\t\t\t// Do we have a low bicarb, or an anion gap?\n\t\t\tif (this.serumAnionGap().gap > RefRngs.AnionGap!.upper) {\n\t\t\t\t// Do we have an anion gap?\n\t\t\t\tif (this.serumAnionGap().disturb === DisturbType.AnionGap) {\n\t\t\t\t\t// We have an anion gap metabolic acidosis\n\t\t\t\t\tdisturbList.push(DisturbType.AnionGap);\n\t\t\t\t\t// Do we have a delta gap?\n\t\t\t\t\tif (this.serumDeltaGap().gap > RefRngs.DeltaGap!.upper) {\n\t\t\t\t\t\t// We have a superimposed metabolic alkalosis\n\t\t\t\t\t\t// Rise in AG is more than fall in HCO3\n\t\t\t\t\t\tdisturbList.push(DisturbType.MetAlk);\n\t\t\t\t\t} else if (this.serumDeltaGap().gap < RefRngs.DeltaGap!.lower) {\n\t\t\t\t\t\t// We have a superimposed non-gap, hyperchloremic metabolic acidosis\n\t\t\t\t\t\t// Rise in AG is less than fall in HCO3\n\t\t\t\t\t\tdisturbList.push(DisturbType.MetAcid);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (this.abg.PaCO2! > this.compensatedPaCO2() + 2) {\n\t\t\t\t\t\t\tdisturbList.push(DisturbType.IncompleteComp);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (this.abg.pH! > RefRngMidpoint(\"apH\")) {\n\t\t\t\tif (this.abg.bicarb! > RefRngs[\"aBicarb\"]!.upper) {\n\t\t\t\t\tdisturbList.push(DisturbType.MetAlk);\n\t\t\t\t\tif (this.abg.PaCO2! < this.compensatedPaCO2() - 2) {\n\t\t\t\t\t\tdisturbList.push(DisturbType.IncompleteComp);\n\t\t\t\t\t}\n\t\t\t\t} else if (this.abg.PaCO2! < RefRngs[\"PaCO2\"]!.lower) {\n\t\t\t\t\tdisturbList.push(DisturbType.RespAlk);\n\t\t\t\t\tif (this.abg.bicarb! > this.compensatedBicarb() + 2) {\n\t\t\t\t\t\tdisturbList.push(DisturbType.IncompleteComp);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (this.abg.bicarb! < RefRngs[\"aBicarb\"]!.lower) {\n\t\t\t\t\tdisturbList.push(DisturbType.MetAcid);\n\t\t\t\t\tif (this.abg.PaCO2! > this.compensatedPaCO2() + 2) {\n\t\t\t\t\t\tdisturbList.push(DisturbType.IncompleteComp);\n\t\t\t\t\t}\n\t\t\t\t} else if (this.abg.PaCO2! > RefRngs[\"PaCO2\"]!.upper) {\n\t\t\t\t\tdisturbList.push(DisturbType.RespAcid);\n\t\t\t\t\tif (this.abg.bicarb! < this.compensatedBicarb() - 2) {\n\t\t\t\t\t\tdisturbList.push(DisturbType.IncompleteComp);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tdisturbList.push(DisturbType.Unknown);\n\t\t}\n\t\tif (disturbList.length === 0) {\n\t\t\tdisturbList.push(DisturbType.Normal);\n\t\t}\n\t\treturn disturbList;\n\t}\n\t/*public guessPrimaryDisturbance(): DisturbType | undefined {\n\t\tconst disturbs = this.guessDisturbances();\n\t\tif (!this.validABG() || !this.validLytes() || (this.serumAnionGap().disturb === \"Anion Gap\" && this.serumDeltaGap().disturb === \"Delta Gap\")) return undefined;\n\t\tif (this.abg.pH! > RefRngMidpoint(\"apH\") ) {\n\t\t\treturn disturbs.find((x) => [DisturbType.MetAlk, DisturbType.RespAlk].includes(x));\n\t\t} else {\n\t\t\treturn disturbs.find((x) => [DisturbType.MetAcid, DisturbType.RespAcid].includes(x));\n\t\t}\n\t}\n\tpublic guessCompensation(): DisturbType[] | undefined {\n\t\tconst disturbs = this.guessDisturbances();\n\t\tif (!this.validABG() || !this.validLytes() || (this.serumAnionGap().disturb === \"Anion Gap\" && this.serumDeltaGap().disturb === \"Delta Gap\")) return undefined;\n\t\tif (this.abg.pH! > RefRngMidpoint(\"apH\") ) {\n\t\t\treturn disturbs.find((x) => [DisturbType.MetAcid, DisturbType.RespAcid].includes(x[0]));\n\t\t} else {\n\t\t\treturn disturbs.find((x) => [DisturbType.MetAlk, DisturbType.RespAlk].includes(x[0]));\n\t\t}\n\t}*/\n\tpublic expectedCompensation(): DisturbType | undefined {\n\t\tconst primaryDisturb = this.guessDisturbances()[0];\n\t\tif (primaryDisturb === undefined) return undefined;\n\t\tif (primaryDisturb === DisturbType.AnionGap) return DisturbType.RespAlk;\n\t\tif (primaryDisturb === DisturbType.MetAcid) return DisturbType.RespAlk;\n\t\tif (primaryDisturb === DisturbType.MetAlk) return DisturbType.RespAcid;\n\t\tif (primaryDisturb === DisturbType.RespAcid) return DisturbType.MetAlk;\n\t\tif (primaryDisturb === DisturbType.RespAlk) return DisturbType.MetAcid;\n\t}\n}\n\ndeclare global {\n\tinterface Number {\n\t\tbetween(a: number, b: number): boolean;\n\t}\n}\nNumber.prototype.between = function(a: number, b: number): boolean {\n\treturn this >= Math.min.apply(Math, [a, b]) && this <= Math.max.apply(Math, [a, b]);\n};\n\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as BG from \"@/components/BloodGas\";\nimport Vue from \"vue\";\nclass Confusion2x2 {\n\tpublic TruePos = 0;\n\tpublic FalsePos = 0;\n\tpublic TrueNeg = 0;\n\tpublic FalseNeg = 0;\n\tpublic constructor(init?: Partial) {\n\t\tObject.assign(this, init);\n\t}\n\tpublic sensitivity(): number {\n\t\treturn (this.TruePos / Math.max(0.00001, this.TruePos + this.FalseNeg));\n\t}\n\tpublic specificity(): number {\n\t\treturn (this.TrueNeg / Math.max(0.00001, this.TrueNeg + this.FalsePos));\n\t}\n\tpublic ppv(): number {\n\t\treturn (this.TruePos / Math.max(0.00001, this.TruePos + this.FalsePos));\n\t}\n\tpublic npv(): number {\n\t\treturn (this.TrueNeg / Math.max(0.00001, this.TrueNeg + this.FalseNeg));\n\t}\n}\nexport default Vue.extend({\n\tprops: {\n\t\tanswerData: {\n\t\t\ttype: Array as () => BG.ABGAnswer[],\n\t\t},\n\t},\n\twatch: {\n\t\tanswerData() {\n\t\t\tthis.runStats();\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.runStats();\n\t\t});\n\t},\n\tdata() {\n\t\treturn{\n\t\t\tconfusionDict: {} as {[disorder: string]: Confusion2x2},\n\t\t};\n\t},\n\tmethods: {\n\t\tpercentageToColor(percentage: number, maxHue = 120, minHue = 0) {\n\t\t\tconst hue = percentage * (maxHue - minHue) + minHue;\n\t\t\treturn `hsl(${hue}, 100%, 35%)`;\n\t\t},\n\t\trunStats() {\n\t\t\tconst disorderList = [BG.DisturbType.Normal, BG.DisturbType.RespAcid, BG.DisturbType.RespAlk, BG.DisturbType.MetAlk, BG.DisturbType.MetAcid, BG.DisturbType.AnionGap, BG.DisturbType.IncompleteComp];\n\t\t\tthis.confusionDict = {};\n\t\t\t// Add desired disorders to the dict\n\t\t\tdisorderList.forEach((disorder) => {\n\t\t\t\tthis.confusionDict[disorder] = new Confusion2x2();\n\t\t\t});\n\t\t\t// Iterate over answers\n\t\t\tthis.answerData.forEach((answer) => {\n\t\t\t\tdisorderList.forEach((disorder) => {\n\t\t\t\t\tif (answer.genius.indexOf(disorder) !== -1) {\n\t\t\t\t\t\tif (answer.learner.indexOf(disorder) !== -1) {\n\t\t\t\t\t\t\tthis.confusionDict[disorder].TruePos += 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.confusionDict[disorder].FalseNeg += 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (answer.learner.indexOf(disorder) !== -1) {\n\t\t\t\t\t\tthis.confusionDict[disorder].FalsePos += 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.confusionDict[disorder].TrueNeg += 1;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tObject.keys(this.confusionDict).forEach((disorder) => {\n\t\t\t\tconst disorderConfusion = this.confusionDict[disorder];\n\t\t\t});\n\t\t},\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DisorderDetective.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./DisorderDetective.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DisorderDetective.vue?vue&type=template&id=6c312f6e&scoped=true&\"\nimport script from \"./DisorderDetective.vue?vue&type=script&lang=ts&\"\nexport * from \"./DisorderDetective.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DisorderDetective.vue?vue&type=style&index=0&id=6c312f6e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6c312f6e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as jajax from \"@/jajax\";\nimport Vue from \"vue\";\nimport { BloodGas, DisturbType, RefRngs, RefRngMidpoint, ABGAnswer } from \"@/components/BloodGas\";\nimport { TrainingLevels, LearnerProfile } from \"@/components/LearnerProfile\";\nimport LearningCurve from \"@/components/LearningCurve.vue\";\nimport DisorderDetective from \"@/components/DisorderDetective.vue\";\n\nexport default Vue.extend({\n\tcomponents: {\n\t\tLearningCurve,\n\t\tDisorderDetective,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tprofile: {\n\t\t\t\tlearnerLevel: undefined as string | undefined,\n\t\t\t\tlearnerLevelYears: undefined as number | undefined,\n\t\t\t},\n\t\t\tTrainingLevels,\n\t\t\tanswerData: [] as ABGAnswer[],\n\t\t};\n\t},\n\tmethods: {\n\t\tsaveProfile() {\n\t\t\tconst url = this.$store.state.api_url + \"/api/user/profile\";\n\t\t\tjajax.postJSON(url, this.profile, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.$toast(\"Saved changes to profile!\");\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to fetch answer data (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\n\t\t},\n\t\tfetchProfile() {\n\t\t\tconst url = this.$store.state.api_url + \"/api/user/profile\";\n\t\t\tjajax.getJSON(url, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.profile = data;\n\t\t\t});\n\t\t},\n\t\tloadAnswerData(): Promise {\n\t\t\tconst apiURL = this.$store.state.api_url + \"/api/answer/list\";\n\t\t\treturn jajax.getJSON(apiURL, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.answerData = (data || []).reverse();\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to fetch answer data (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.fetchProfile();\n\t\t\tthis.loadAnswerData();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./UserProfile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./UserProfile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserProfile.vue?vue&type=template&id=0a0db098&\"\nimport script from \"./UserProfile.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserProfile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserProfile.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCard,VDivider,VSelect,VTab,VTabItem,VTabs,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$store.state.jwtClaims.isAdmin)?_c('center',[_c('headful',{attrs:{\"title\":\"ABGenius - Profile\"}}),_c('br'),_c('h1',[_vm._v(\"Admin Control Panel\")]),_c('v-card',{staticStyle:{\"margin\":\"30px auto\",\"max-width\":\"90%\",\"padding\":\"0\"}},[_c('v-tabs',[_c('v-tab',{attrs:{\"href\":\"#list-tab\"}},[_vm._v(\"User List\")]),_c('v-tab-item',{staticClass:\"profile-tab-item\",attrs:{\"value\":\"list-tab\"}},[_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"500px\",\"max-height\":\"75vh\",\"overflow\":\"auto\"}},[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.profileTableHeaders,\"items\":_vm.profileList,\"rows-per-page-items\":[{\"text\":\"$vuetify.dataIterator.rowsPerPageAll\",\"value\":-1},5,10,25]},scopedSlots:_vm._u([{key:\"items\",fn:function(profile){return [_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.uname))]),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.fullName))]),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.authProvider))]),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.learnerLevel))]),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.learnerLevelYears))]),_c('td',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(_vm._s(profile.item.isAdmin))])]}}],null,false,2068179742)})],1)])],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as jajax from \"@/jajax\";\nimport Vue from \"vue\";\nimport { BloodGas, DisturbType, RefRngs, RefRngMidpoint, ABGAnswer } from \"@/components/BloodGas\";\nimport { TrainingLevels, LearnerProfile } from \"@/components/LearnerProfile\";\nimport LearningCurve from \"@/components/LearningCurve.vue\";\nimport DisorderDetective from \"@/components/DisorderDetective.vue\";\n\nexport default Vue.extend({\n\tcomponents: {\n\t\tLearningCurve,\n\t\tDisorderDetective,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tprofileList: [] as LearnerProfile[],\n\t\t\tprofileTableHeaders: [\n\t\t\t\t{\n\t\t\t\t\ttext: \"Username\", value: \"uname\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Full Name\", value: \"fullName\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Auth Provider\", value: \"authProvider\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Learner Level\", value: \"learnerLevel\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Learner Level Years\", value: \"learnerLevelYears\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttext: \"Admin\", value: \"isAdmin\",\n\t\t\t\t\tsortable: true, align: \"center\",\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t},\n\tmethods: {\n\t\tfetchProfileList() {\n\t\t\tconst url = this.$store.state.api_url + \"/api/user/list\";\n\t\t\tjajax.getJSON(url, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.profileList = data || [];\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to fetch profile data (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.fetchProfileList();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Admin.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Admin.vue?vue&type=template&id=744bc379&\"\nimport script from \"./Admin.vue?vue&type=script&lang=ts&\"\nexport * from \"./Admin.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Admin.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCard,VDataTable,VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('headful',{attrs:{\"title\":\"ABGenius - Logging In\"}}),_c('center',[_c('v-sheet',{staticClass:\"login-box\",staticStyle:{\"margin-top\":\"160px\"},attrs:{\"elevation\":\"4\"}},[_c('h2',[_vm._v(\"Logging in...\")]),_c('div',{staticClass:\"flex-break\"}),_c('v-progress-circular',{attrs:{\"size\":50,\"color\":\"primary\",\"indeterminate\":\"\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as jajax from \"@/jajax\";\nimport * as Sentry from \"@sentry/browser\";\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tprops: {\n\t\tprovider: {\n\t\t\ttype: String,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tserverError: undefined,\n\t\t};\n\t},\n\tmounted() {\n\t\tthis.$nextTick(function() {\n\t\t\tconst urlParams = this.$route.query;\n\t\t\tlet url = \"\";\n\t\t\tif (this.provider === \"cas\") {\n\t\t\t\tif (!urlParams.ticket) {\n\t\t\t\t\twindow.location.href = this.$store.state.api_url + \"/api/auth/\" + this.provider;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\turl = this.$store.state.api_url + \"/api/auth/\" + this.provider + \"/callback\";\n\t\t\t\turl += \"?ticket=\" + encodeURIComponent(urlParams.ticket as string);\n\t\t\t\tif (urlParams.source) {\n\t\t\t\t\turl += \"&source=\" + urlParams.source;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (!(urlParams.state && urlParams.code)) {\n\t\t\t\t\twindow.location.href = this.$store.state.api_url + \"/api/auth/\" + this.provider;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\turl = this.$store.state.api_url + \"/api/auth/\" + this.provider + \"/callback\";\n\t\t\t\turl += \"?state=\" + encodeURIComponent(urlParams.state as string);\n\t\t\t\turl += \"&code=\" + encodeURIComponent(urlParams.code as string);\n\t\t\t}\n\t\t\tjajax.getJSON(url, undefined).then((data: any) => {\n\t\t\t\tthis.$store.commit(\"setJWTToken\", data.token);\n\t\t\t\t// Update user in vue\n\t\t\t\tSentry.configureScope((scope) => {\n\t\t\t\t\tscope.setUser({\n\t\t\t\t\t\tid: this.$store.state.jwtClaims.email,\n\t\t\t\t\t\tusername: this.$store.state.jwtClaims.pid,\n\t\t\t\t\t\temail: this.$store.state.jwtClaims.email,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\t// Redirect after login\n\t\t\t\tif (urlParams.source) {\n\t\t\t\t\tconst authSource = (urlParams.source as string).replace(/~~/g, \"?\").replace(/~/g, \"&\");\n\t\t\t\t\twindow.location.href = authSource;\n\t\t\t\t} else {\n\t\t\t\t\tthis.$router.replace(\"/train\");\n\t\t\t\t}\n\t\t\t}).catch(([xhrStatus]) => {\n\t\t\t\tthis.serverError = xhrStatus;\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.location.href = this.$store.state.api_url + \"/api/auth/\" + this.provider;\n\t\t\t\t}, 1500);\n\t\t\t});\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Authorize.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Authorize.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Authorize.vue?vue&type=template&id=bb0df30c&scoped=true&\"\nimport script from \"./Authorize.vue?vue&type=script&lang=ts&\"\nexport * from \"./Authorize.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Authorize.vue?vue&type=style&index=0&id=bb0df30c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bb0df30c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VProgressCircular,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('headful',{attrs:{\"title\":\"ABGenius - Logging Out\"}}),_c('center',[_c('v-sheet',{staticClass:\"login-box\",staticStyle:{\"margin-top\":\"160px\"},attrs:{\"elevation\":\"4\"}},[_c('h2',[_vm._v(\"Logging out...\")]),_c('div',{staticClass:\"flex-break\"}),_c('v-progress-circular',{attrs:{\"size\":50,\"color\":\"primary\",\"indeterminate\":\"\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as Sentry from \"@sentry/browser\";\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tmounted() {\n\t\tthis.$nextTick(function() {\n\t\t\tthis.$store.commit(\"setJWTToken\", undefined);\n\t\t\tSentry.configureScope((scope) => {\n\t\t\t\tscope.setUser({});\n\t\t\t});\n\t\t\tthis.$router.replace(\"/\");\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Logout.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Logout.vue?vue&type=template&id=57dc52b7&scoped=true&\"\nimport script from \"./Logout.vue?vue&type=script&lang=ts&\"\nexport * from \"./Logout.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Logout.vue?vue&type=style&index=0&id=57dc52b7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57dc52b7\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VProgressCircular,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('headful',{attrs:{\"title\":\"ABGenius - Calculator\"}}),_c('v-form',{staticClass:\"abg-form\",model:{value:(_vm.validABG),callback:function ($$v) {_vm.validABG=$$v},expression:\"validABG\"}},[(_vm.showDemographics)?_c('div',[_c('center',[_c('h2',[_vm._v(\"Patient Demographics\")])]),_c('br'),_c('v-layout',{attrs:{\"text-xs-center\":\"\",\"wrap\":\"\",\"justify-center\":\"\"}},[_c('v-select',{staticClass:\"numeric-input\",attrs:{\"items\":[\"Male\", \"Female\"],\"label\":\"Patient Sex\",\"outline\":\"\"},model:{value:(_vm.userBloodGas.abg.patientSex),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"patientSex\", $$v)},expression:\"userBloodGas.abg.patientSex\"}}),_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Patient Age\",\"outline\":\"\",\"step\":\"1\"},model:{value:(_vm.userBloodGas.abg.patientAge),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"patientAge\", _vm._n($$v))},expression:\"userBloodGas.abg.patientAge\"}})],1)],1):_vm._e(),_c('center',[_c('h2',[_vm._v(\"Arterial Blood Gas\")])]),_c('v-layout',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"text-xs-center\":\"\",\"wrap\":\"\",\"justify-center\":\"\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Serum pH\",\"outline\":\"\",\"step\":\"0.01\",\"min\":\"6\",\"max\":\"14\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.pH),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"pH\", _vm._n($$v))},expression:\"userBloodGas.abg.pH\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.apH.lower + \" - \" + _vm.refRngs.apH.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Serum Bicarb\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.bicarb),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"bicarb\", _vm._n($$v))},expression:\"userBloodGas.abg.bicarb\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.aBicarb.lower + \" - \" + _vm.refRngs.aBicarb.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"PaCO2\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.PaCO2),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"PaCO2\", _vm._n($$v))},expression:\"userBloodGas.abg.PaCO2\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.PaCO2.lower + \" - \" + _vm.refRngs.PaCO2.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),(_vm.showPaO2)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"PaO2\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.PaO2),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"PaO2\", _vm._n($$v))},expression:\"userBloodGas.abg.PaO2\"}})],1)]}}],null,false,550686880)},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.results.adjustedPaO2.lower + \" - \" + _vm.results.adjustedPaO2.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]):_vm._e()],1),_c('center',[_c('h2',[_vm._v(\"Electrolytes\")])]),_c('v-layout',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"text-xs-center\":\"\",\"wrap\":\"\",\"justify-center\":\"\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Serum Sodium\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.Na),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"Na\", _vm._n($$v))},expression:\"userBloodGas.abg.Na\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.Na.lower + \" - \" + _vm.refRngs.Na.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Serum Chloride\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.Cl),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"Cl\", _vm._n($$v))},expression:\"userBloodGas.abg.Cl\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.Cl.lower + \" - \" + _vm.refRngs.Cl.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([(_vm.userBloodGas.abg.Albumin)?{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Serum Albumin\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.Albumin),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"Albumin\", _vm._n($$v))},expression:\"userBloodGas.abg.Albumin\"}})],1)]}}:null],null,true)},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.Albumin.lower + \" - \" + _vm.refRngs.Albumin.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),(_vm.showLactate)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"type\":\"number\",\"label\":\"Arterial Lactate\",\"outline\":\"\",\"step\":\"0.1\",\"min\":\"0\"},on:{\"input\":_vm.editedABG},model:{value:(_vm.userBloodGas.abg.Lactate),callback:function ($$v) {_vm.$set(_vm.userBloodGas.abg, \"Lactate\", _vm._n($$v))},expression:\"userBloodGas.abg.Lactate\"}})],1)]}}],null,false,2955356080)},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.aLactate.lower + \" - \" + _vm.refRngs.aLactate.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]):_vm._e()],1)],1),_c('hr',{staticStyle:{\"margin\":\"0\",\"border-color\":\"#9b9b9b\"}}),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"align-items\":\"center\",\"flex-wrap\":\"wrap\",\"transform\":\"scale(0.8)\"},attrs:{\"id\":\"abggen\"}},[_c('div',{class:{'user-edited-abg': _vm.userEditedABG},staticStyle:{\"width\":\"380px\"}},[_c('v-select',{attrs:{\"items\":_vm.abgGenOptions},model:{value:(_vm.abgGenPick),callback:function ($$v) {_vm.abgGenPick=$$v},expression:\"abgGenPick\"}})],1),_c('v-btn',{staticStyle:{\"margin\":\"0 5px 0 15px\",\"transform\":\"scale(0.9)\"},attrs:{\"color\":\"primary\"},on:{\"click\":_vm.generateABG}},[_vm._v(\"\\n\\t\\t\\tGenerate\\n\\t\\t\")]),_c('v-btn',{staticStyle:{\"margin\":\"0 15px 0 5px\",\"transform\":\"scale(0.9)\"},attrs:{\"color\":\"primary\"},on:{\"click\":_vm.shuffleABG}},[_c('v-icon',[_vm._v(\"\\n\\t\\t\\t\\tfa fa-random\\n\\t\\t\\t\")])],1)],1),_c('hr',{staticStyle:{\"margin\":\"0 0 14px 0\",\"border-color\":\"#9b9b9b\"}}),_c('v-layout',{attrs:{\"wrap\":\"\",\"justify-center\":\"\",\"id\":\"info-chips\"}},[_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 1: Assess Overall Blood pH\")]),_c('br'),(!_vm.results.realisticABG)?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('pH')}}},[_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-question\")])],1),_c('b',[_vm._v(\"Check ABG\")])],1):_vm._e(),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('pH')}}},[(_vm.results.pHDisturbance != 'Normal')?_c('v-avatar',{staticClass:\"error\"},[(_vm.results.pHDisturbance == 'Alkalemia')?_c('v-icon',[_vm._v(\"fas fa-arrow-up\")]):_vm._e(),(_vm.results.pHDisturbance == 'Acidemia')?_c('v-icon',[_vm._v(\"fas fa-arrow-down\")]):_vm._e()],1):_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1),_c('b',[_vm._v(\"Blood pH:\")]),_vm._v(\" \"+_vm._s(_vm.results.pHDisturbance)+\"\\n\\t\\t\\t\")],1)],1),_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 2: Mind the Gap(s)\")]),_c('br'),(_vm.results.serumAnionGap.disturb != undefined)?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('anionGap')}}},[(_vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.results.serumAnionGap.disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Anion Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.results.serumAnionGap.gap.toFixed(1))+\"\\n\\t\\t\\t\")],1):_vm._e(),(_vm.results.serumDeltaGap.disturb != undefined && _vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('deltaGap')}}},[(_vm.results.serumDeltaGap.disturb == 'Delta Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.results.serumDeltaGap.disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Delta Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.results.serumDeltaGap.gap.toFixed(1))+\"\\n\\t\\t\\t\")],1):_vm._e()],1),(_vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 3: Add Anion Gap Acidosis\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('anionGap')}}},[_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\")])],1),_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\")])],1)],1):_vm._e(),(_vm.results.serumAnionGap.disturb == 'Anion Gap' && _vm.results.serumDeltaGap.disturb == 'Delta Gap')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 4: Account for Delta Gap\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('deltaGap')}}},[_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\")])],1),_c('div',[_vm._v(\"\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.results.disturbances[1])+\"\\n\\t\\t\\t\\t\")])],1)],1):_vm._e(),(_vm.results.serumAnionGap.disturb !== 'Anion Gap' && _vm.results.disturbances.length > 0)?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 3: Check Primary Disturbance\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('Primary ' + _vm.results.disturbances[0])}}},[(_vm.results.disturbances[0] !== 'Normal')?_c('v-avatar',{staticClass:\"warning\"},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(_vm.results.disturbances[0]))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\"].includes(_vm.results.disturbances[0]))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1):_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1),(_vm.results.disturbances[0] !== 'Normal')?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.results.disturbances[0])+\"\\n\\t\\t\\t\\t\")]):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\tNone Detected\\n\\t\\t\\t\\t\")])],1)],1):_vm._e(),(!(_vm.results.serumAnionGap.disturb == 'Anion Gap' && _vm.results.serumDeltaGap.disturb == 'Delta Gap') && _vm.results.disturbances[0] !== 'Normal')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 4: Check For Compensation\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){_vm.activateChipInfo('Compensatory ' + (_vm.results.expectedCompensation))}}},[_c('v-avatar',{class:_vm.results.completeCompensation ? 'success' : 'warning'},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(_vm.results.expectedCompensation))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\"].includes(_vm.results.expectedCompensation))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1),(_vm.results.completeCompensation)?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\tComplete Compensation\\n\\t\\t\\t\\t\")]):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\tIncomplete Compensation\\n\\t\\t\\t\\t\")])],1)],1):_vm._e()]),_c('div',{staticStyle:{\"max-width\":\"800px\",\"margin\":\"15px auto\",\"font-size\":\"80%\",\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\tDISCLAIMER: None of the information supplied herein is to be used as a substitute for sound clinical judgement from an appropriately trained and accredited medical professional. \\n\\t\\tReference ranges may vary, please compare with your those from your lab. \\n\\t\\tPlease \"),_c('a',{staticStyle:{\"color\":\"white\",\"text-decoration\":\"none\"},attrs:{\"href\":\"/tos\",\"target\":\"_blank\"}},[_vm._v(\"see our ToS\")]),_vm._v(\" for more info.\\n\\t\")]),_c('hr'),_c('div',{attrs:{\"id\":\"info-panel-container\"}},[_c('transition',{attrs:{\"name\":\"infos\",\"mode\":\"out-in\"}},[(_vm.activeChip !== undefined)?_c('CalcInfoPanel',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"id\":\"info-panel\",\"activeChip\":_vm.activeChip,\"abg\":_vm.userBloodGas.abg,\"results\":_vm.results}}):_vm._e()],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-content',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',[_vm._v(\"Davenport Diagram\")])]},proxy:true}])},[_c('v-card',{staticStyle:{\"padding\":\"20px\",\"box-shadow\":\"0px 0px 5px #202020 inset !important\",\"overflow\":\"auto\"}},[_c('mini-davenport',{staticStyle:{\"margin\":\"auto\"},attrs:{\"answer-data\":_vm.userBloodGas}})],1)],1)],1),_c('br'),_c('br'),_c('ReferenceList')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {BloodGas, DisturbType, RefRngs, RefRngMidpoint} from \"./BloodGas\";\n\nexport function floatFix(f: number, precision: number): number {\n\treturn parseFloat(f.toFixed(precision));\n}\n\nexport function randFloat(min: number, max: number, precision: number): number {\n\treturn floatFix((Math.random() * (max - min)) + min, precision);\n}\nfunction randPick(arr: T[]): T {\n\treturn arr[Math.floor(arr.length * Math.random())];\n}\n\nconst upperLimitPaCO2 = 90;\nconst lowerLimitPaCO2 = 15;\nconst upperLimitBicarb = 54;\nconst lowerLimitBicarb = 4;\nconst upperLimitAG = 28;\nconst upperLimitDG = 24;\nconst floatLenMax = 5;\n\nexport const abgGenerators: {[disturb: string]: (truncateValues: boolean) => [BloodGas, DisturbType[]]} = {\n\t\"Normal\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.PaCO2 = randFloat(RefRngMidpoint(\"PaCO2\") - 4, RefRngMidpoint(\"PaCO2\") + 4, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.bicarb = randFloat(RefRngMidpoint(\"aBicarb\") - 2, RefRngMidpoint(\"aBicarb\") + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.Normal]];\n\t},\n\t\"Compensated Respiratory Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.PaCO2 = randFloat(RefRngs.PaCO2!.upper + 10, upperLimitPaCO2, truncateValues ? 0 : floatLenMax);\n\t\tconst bicarbMidpoint = newGas.compensatedBicarb();\n\t\tnewGas.abg.bicarb = randFloat(bicarbMidpoint - 2, bicarbMidpoint + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.RespAcid]];\n\t},\n\t\"Uncompensated Respiratory Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.PaCO2 = randFloat(RefRngs.PaCO2!.upper + 6, upperLimitPaCO2, truncateValues ? 0 : floatLenMax);\n\t\tconst bicarbMidpoint = (((newGas.abg.PaCO2 - RefRngMidpoint(\"PaCO2\")) / 10) + 24);\n\t\tnewGas.abg.bicarb = randFloat(bicarbMidpoint - 1, bicarbMidpoint + 1, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : 10);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.RespAcid, DisturbType.IncompleteComp]];\n\t},\n\t\"Compensated Respiratory Alkalosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.PaCO2 = randFloat(lowerLimitPaCO2, RefRngs.PaCO2!.lower - 6, truncateValues ? 0 : floatLenMax);\n\t\tconst bicarbMidpoint = newGas.compensatedBicarb();\n\t\tnewGas.abg.bicarb = randFloat(bicarbMidpoint - 1, bicarbMidpoint + 1, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.RespAlk]];\n\t},\n\t\"Uncompensated Respiratory Alkalosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.PaCO2 = randFloat(lowerLimitPaCO2, RefRngs.PaCO2!.lower - 6, truncateValues ? 0 : floatLenMax);\n\t\tconst bicarbMidpoint = ((newGas.abg.PaCO2 - RefRngMidpoint(\"PaCO2\")) / 5) + 24;\n\t\tnewGas.abg.bicarb = randFloat(bicarbMidpoint - 1, bicarbMidpoint + 1, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.bicarb = Math.max(newGas.compensatedBicarb() + 3, newGas.abg.bicarb);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.RespAlk, DisturbType.IncompleteComp]];\n\t},\n\t\"Compensated Metabolic Alkalosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.bicarb = randFloat(RefRngs.aBicarb!.upper + 4, upperLimitBicarb, truncateValues ? 0 : floatLenMax);\n\t\t// from \"Interpretation of Arterial Blood Gases.\" Pocket ICU Management\n\t\tconst formulaMid = (0.7 * newGas.abg.bicarb!) + 20;\n\t\tnewGas.abg.PaCO2 = randFloat(formulaMid - 2, formulaMid + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.MetAlk]];\n\t},\n\t\"Uncompensated Metabolic Alkalosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.bicarb = randFloat(RefRngs.aBicarb!.upper + 1, upperLimitBicarb, truncateValues ? 0 : floatLenMax);\n\t\tconst formulaMid = (0.7 * newGas.abg.bicarb!) + 20;\n\t\tnewGas.abg.PaCO2 = randFloat(formulaMid - 6, formulaMid - 3, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.MetAlk, DisturbType.IncompleteComp]];\n\t},\n\t\"Compensated Non-Gap Metabolic Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.bicarb = randFloat(4, RefRngs.aBicarb!.lower - 4, truncateValues ? 0 : floatLenMax);\n\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid - 2, wintersFormulaMid + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.MetAcid]];\n\t},\n\t\"Uncompensated Non-Gap Metabolic Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\tnewGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid + 3, wintersFormulaMid + 6, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.upper - 1 + newGas.abg.bicarb!),\n\t\t\tnewGas.abg.Na - (RefRngs.AnionGap!.lower + 1 + newGas.abg.bicarb!),\n\t\t\t0,\n\t\t);\n\t\treturn [newGas, [DisturbType.MetAcid, DisturbType.IncompleteComp]];\n\t},\n\t\"Compensated Anion Gap Metabolic Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// DeltaGap = DeltaAG - DeltaBicarb = (AG - AG.upper) - (Bicarb.lower - Bicarb)\n\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 6, upperLimitAG, truncateValues ? 0 : floatLenMax);\n\t\tconst randDeltaGap = randFloat(RefRngs.DeltaGap!.lower + 1, RefRngs.DeltaGap!.upper - 1, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = AG - AG.upper - Bicarb.lower + Bicarb\n\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower\n\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t// newGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid - 2, wintersFormulaMid + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower, RefRngs.Cl!.upper, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\treturn [newGas, [DisturbType.AnionGap]];\n\t},\n\t\"Uncompensated Anion Gap Metabolic Acidosis\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// DeltaGap = DeltaAG - DeltaBicarb = (AG - AG.upper) - (Bicarb.lower - Bicarb)\n\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 6, upperLimitAG, truncateValues ? 0 : floatLenMax);\n\t\tconst randDeltaGap = randFloat(RefRngs.DeltaGap!.lower + 1, RefRngs.DeltaGap!.upper - 1, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = AG - AG.upper - Bicarb.lower + Bicarb\n\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower\n\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t// newGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid + 3, wintersFormulaMid + 6, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower, RefRngs.Cl!.upper, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\treturn [newGas, [DisturbType.AnionGap, DisturbType.IncompleteComp]];\n\t},\n\t// Wrenn, K. (1990). The delta (Δ) gap: An approach to mixed acid-base disorders. Annals of emergency medicine, 19(11), 1310-1313.\n\t// \"Most commonly, there is either a mixed high AG and normal AG acidosis, or a mixed high AG acidosis and chronic respiratory alkalosis with a compensating hyperchloremic acidosis.\"\n\t\t// DeltaGap = DeltaAG - DeltaBicarb = (AG - AG.upper) - (Bicarb.lower - Bicarb)\n\t\t// bicarb = DeltaGap - AnionGap + AG.upper + aBicarb.lower > 0\n\t\t// DeltaGap - AnionGap > -(RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower)\n\t\t// randAnionGap < (RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower + randDeltaGap)\n\t/**\n\t * Generates a mixed high AG and normal AG acidosis\n\t */\n\t/*\"Uncompensated Negative Delta Gap\": (truncateValues: boolean = true) => {\n\t\tlet pH = Infinity;\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// TODO: Fix me! Unclear why (math error somewhere), but occasionally returns bicarb of 0, causing pH = Infinity\n\t\twhile (!isFinite(pH)) {\n\t\t\tconst randDeltaGap = randFloat(-upperLimitDG + 4, -RefRngs.AnionGap!.upper - 1, truncateValues ? 0 : floatLenMax);\n\t\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 1, randDeltaGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower, truncateValues ? 0 : floatLenMax);\n\t\t\t// DeltaGap = AG - AG.upper - Bicarb.lower + Bicarb\n\t\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower > lowerLimitBicarb\n\t\t\t// AG > lowerLimitBicarb - AG.upper - Bicarb.lower\n\t\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t\t// newGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid + 3, wintersFormulaMid + 6, truncateValues ? 0 : floatLenMax);\n\t\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\t\tpH = newGas.abg.pH;\n\t\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower, RefRngs.Cl!.upper, truncateValues ? 0 : floatLenMax);\n\t\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t}\n\t\treturn [newGas, [DisturbType.AnionGap, DisturbType.MetAcid]];\n\t},*/\n\t/**\n\t * Generates a mixed high AG acidosis (like AKA) coexisting with a chronic respiratory alkalosis (hyperventilation) with a compensatory hyperchloremic acidosis (renal excretion of base)\n\t */\n\t/*\"Compensated Negative Delta Gap\": (truncateValues: boolean = true) => {\n\t\tlet pH = Infinity;\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// TODO: Fix me! Unclear why (math error somewhere), but occasionally returns bicarb of 0, causing pH = Infinity\n\t\twhile (!isFinite(pH)) {\n\t\t\tconst randDeltaGap = randFloat(-upperLimitDG + 4, -RefRngs.AnionGap!.upper - 1, truncateValues ? 0 : floatLenMax);\n\t\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 2, randDeltaGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower, truncateValues ? 0 : floatLenMax);\n\t\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower > lowerLimitBicarb\n\t\t\t// AG > lowerLimitBicarb - AG.upper - Bicarb.lower\n\t\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t\t// randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower > 0\n\t\t\t// newGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\t\tconst wintersFormulaMid = (1.5 * newGas.abg.bicarb!) + 8;\n\t\t\tnewGas.abg.PaCO2 = randFloat(wintersFormulaMid - 2, wintersFormulaMid + 2, truncateValues ? 0 : floatLenMax);\n\t\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\t\tpH = newGas.abg.pH;\n\t\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower + 4, RefRngs.Cl!.upper + 10, truncateValues ? 0 : floatLenMax);\n\t\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t}\n\t\treturn [newGas, [DisturbType.AnionGap, DisturbType.MetAcid, DisturbType.CompleteComp]];\n\t},*/\n\t/**\n\t * \tGenerates a high AG acidosis mixed with a primary metabolic alkalosis\n\t */\n\t/*\"Uncompensated Positive Delta Gap\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// DeltaGap = DeltaAG - DeltaBicarb = (AG - AG.upper) - (Bicarb.lower - Bicarb)\n\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 2, upperLimitAG, truncateValues ? 0 : floatLenMax);\n\t\tconst randDeltaGap = randFloat(RefRngs.DeltaGap!.upper + 1, upperLimitDG, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = AG - AG.upper - Bicarb.lower + Bicarb\n\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower\n\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\t// newGas.abg.bicarb = randFloat(lowerLimitBicarb, RefRngs.aBicarb!.lower - 1, truncateValues ? 0 : floatLenMax);\n\t\tconst formulaMid = (0.7 * newGas.abg.bicarb!) + 20;\n\t\tnewGas.abg.PaCO2 = randFloat(formulaMid - 6, formulaMid - 3, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower, RefRngs.Cl!.upper, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\treturn [newGas, [DisturbType.AnionGap, DisturbType.MetAlk]];\n\t},\n\t\"Compensated Positive Delta Gap\": (truncateValues: boolean = true) => {\n\t\tconst newGas = new BloodGas({abg: {}});\n\t\t// DeltaGap = DeltaAG - DeltaBicarb = (AG - AG.upper) - (Bicarb.lower - Bicarb)\n\t\tconst randAnionGap = randFloat(RefRngs.AnionGap!.upper + 2, upperLimitAG, truncateValues ? 0 : floatLenMax);\n\t\tconst randDeltaGap = randFloat(RefRngs.DeltaGap!.upper + 1, upperLimitDG, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = AG - AG.upper - Bicarb.lower + Bicarb\n\t\t// Bicarb = DeltaGap - AG + AG.upper + Bicarb.lower\n\t\tnewGas.abg.bicarb = randDeltaGap - randAnionGap + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\tconst formulaMid = (0.7 * newGas.abg.bicarb!) + 20;\n\t\tnewGas.abg.PaCO2 = randFloat(formulaMid - 2, formulaMid + 2, truncateValues ? 0 : floatLenMax);\n\t\tnewGas.abg.pH = floatFix(newGas.pHExpected(), truncateValues ? 2 : floatLenMax);\n\t\tnewGas.abg.Cl = randFloat(RefRngs.Cl!.lower, RefRngs.Cl!.upper, truncateValues ? 0 : floatLenMax);\n\t\t// DeltaGap = Na - Cl - AG.upper - Bicarb.lower\n\t\tnewGas.abg.Na = randDeltaGap + newGas.abg.Cl + RefRngs.AnionGap!.upper + RefRngs.aBicarb!.lower;\n\t\treturn [newGas, [DisturbType.AnionGap, DisturbType.MetAlk, DisturbType.CompleteComp]];\n\t},*/\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.activeChip != undefined),expression:\"activeChip != undefined\"}]},[_c('div',{staticStyle:{\"overflow-x\":\"auto\"}},[_c('transition-group',{attrs:{\"name\":\"infos\",\"mode\":\"out-in\"}},[(_vm.activeChip == 'O2')?_c('div',{key:\"O2\",staticClass:\"info-entry\"},[_c('center',{staticStyle:{\"margin-bottom\":\"8px\"}},[_c('h2',[_vm._v(\"Interpreting: PaO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" values\")])]),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tPaO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" is a measurement of the partial pressure of the oxygen disolved in an ABG sample. \\n\\t\\t\\t\\t\\t\\tThis value can be measured using a Clark electrode.\\n\\t\\t\\t\\t\\t\\tPhysiologically appropriate values typically range between:\\n\\t\\t\\t\\t\\t\\t\"),_c('ul',{staticStyle:{\"margin\":\"10px 0\"}},[_c('li',[_c('u',[_vm._v(\"Age > 60\")]),_vm._v(\":      (80 - (age - 60)) to 100\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',[_c('u',[_vm._v(\"Newborns\")]),_vm._v(\":    40 to 70\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',[_c('u',[_vm._v(\"Otherwise\")]),_vm._v(\":    80 to 100\\n\\t\\t\\t\\t\\t\\t\\t\")])]),_vm._v(\"\\n\\n\\t\\t\\t\\t\\t\\tWhen values fall below this range, it is called \"),_c('u',[_vm._v(\"hypoxemia\")]),_vm._v(\", as the blood is abnormally deoxygenated.\\n\\t\\t\\t\\t\\t\\tAbove this range, and you will have \"),_c('u',[_vm._v(\"hyperoxemia\")]),_vm._v(\". \\n\\t\\t\\t\\t\\t\\tThis is most likely to be seen in patients receiving supplemental oxygen, and has been associated with increased rates of adverse events in acutely ill patients.\\n\\t\\t\\t\\t\\t\")])],1):_vm._e(),(_vm.activeChip == 'pH')?_c('v-container',{key:\"pH\"},[_c('center',{staticStyle:{\"margin-bottom\":\"8px\",\"text-align\":\"center\"}},[_c('h2',[_vm._v(\"Interpreting: pH values\")])]),_c('hr'),_c('p',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tThe pH of blood in the human body normally ranges between 7.35 and 7.45. \\n\\t\\t\\t\\t\\t\\tWhen values fall below this range, it is called an \"),_c('u',[_vm._v(\"acidemia\")]),_vm._v(\", as the blood is abnormally acidic.\\n\\t\\t\\t\\t\\t\\tAbove this range, and you will have an \"),_c('u',[_vm._v(\"alkalemia\")]),_vm._v(\", as the blood is abnormally basic.\\n\\t\\t\\t\\t\\t\\tThe terms \"),_c('i',[_vm._v(\"acidosis\")]),_vm._v(\" and \"),_c('i',[_vm._v(\"alkalosis\")]),_vm._v(\" are used to describe the processes which result in these pH disturbances.\\n\\t\\t\\t\\t\\t\")]),_c('p',{staticClass:\"subheading font-weight-medium\",staticStyle:{\"text-align\":\"center\"}},[_vm._v(\" \\n\\t\\t\\t\\t\\t\\tThis ABG sample had a pH of \"),_c('u',{staticClass:\"font-weight-black\"},[_vm._v(_vm._s(_vm.abg.pH))]),_vm._v(\" and is thus classified as \"),_c('u',{staticClass:\"font-weight-black\"},[_vm._v(_vm._s(_vm.results.pHDisturbance.toUpperCase()))]),_vm._v(\".\\n\\t\\t\\t\\t\\t\")]),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tWe may utilize the Henderson-Hasselbalch formula in order to predict whether this ABG is internally consistent using the calculations below:\\n\\t\\t\\t\\t\\t\")]),_c('p',{staticClass:\"font-weight-medium font-italic\",staticStyle:{\"text-align\":\"center\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"padding\":\"10px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tExpected pH = 6.1 + log10([HCO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\"] / (0.03 * PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\")) = \"),_c('u',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.results.pHExpected.toFixed(2)))]),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\tExpected pH = 6.1 + log10(\"+_vm._s(_vm.abg.bicarb)+\" / (0.03 * \"+_vm._s(_vm.abg.PaCO2)+\")) = \"),_c('u',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.results.pHExpected.toFixed(2)))])]),_c('p',{staticClass:\"subheading font-weight-medium\",staticStyle:{\"text-align\":\"center\"}},[(_vm.results.realisticABG)?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tExpected pH approximates ABG pH, so ABG is likely \"),_c('u',{staticClass:\"font-weight-black\"},[_vm._v(\"VALID\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tExpected pH differs from ABG pH; possibly \"),_c('u',{staticClass:\"font-weight-black\"},[_vm._v(\"INVALID\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_c('br'),_c('i',[_vm._v(\"Check values!\")])])])],1):_vm._e(),(_vm.activeChip == 'anionGap')?_c('div',{key:\"anionGap\"},[_c('v-tabs',{attrs:{\"color\":\"grey darken-2\"}},[_c('v-tab',{attrs:{\"href\":\"#ag-dx\"}},[_vm._v(\"Diagnosis\")]),_c('v-tab',{attrs:{\"href\":\"#ag-causes\"}},[_vm._v(\"Causes\")]),_c('v-tab-item',{attrs:{\"value\":\"ag-dx\"}},[_c('br'),_c('center',{staticStyle:{\"margin-bottom\":\"8px\"}},[_c('h2',[_vm._v(\"Interpreting: Anion Gap\")])]),_c('v-layout',{staticStyle:{\"margin\":\"22px\",\"text-align\":\"center\"},attrs:{\"wrap\":\"\",\"justify-center\":\"\"}},[_c('div',{staticClass:\"decision-box\"},[_c('h3',[_vm._v(\"Anion Gap = [Na\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\"] - [Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\"] - [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s(_vm.results.serumAnionGap.gap))]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tRef Range  ≈  \"+_vm._s(_vm.refRngs.AnionGap.lower + \"  to  \" + _vm.refRngs.AnionGap.upper)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.serumAnionGap.disturb === 'Anion Gap' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"Anion Gap \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":_vm.results.serumAnionGap.disturb !== 'Anion Gap' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrows-alt-h\")]),_vm._v(\"Anion Gap \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Normal\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)]),_c('p',{staticStyle:{\"text-align\":\"center\"},attrs:{\"hidden\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tThere are many different organic and inorganic acids which can accumulate in the blood of a patient causing acidosis.\\n\\t\\t\\t\\t\\t\\t\\t\\tUnlike the bicarbonate value, we cannot hope to measure the levels of all of these acidic species to figure out if any are present. \\n\\t\\t\\t\\t\\t\\t\\t\\tInstead, we use the anion gap to decide if there is a significant contribution of H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\" ions from unmeasured acidic species in a patient's blood. \\n\\t\\t\\t\\t\\t\\t\\t\\tWe rely on the principle of electroneutrality (described below)\\tto indirectly detect increases in the negatively charged particles produced be deprotonation.\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('v-layout',{staticStyle:{\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"padding\":\"18px\",\"margin\":\"20px\",\"box-shadow\":\"0px 0px 5px #202020 inset\"},attrs:{\"row\":\"\",\"justify-center\":\"\",\"wrap\":\"\"}},[_c('v-flex',{staticStyle:{\"margin-bottom\":\"30px\"},attrs:{\"md7\":\"\",\"sm12\":\"\"}},[_c('Gamblegram',{attrs:{\"abg\":_vm.abg,\"results\":_vm.results}})],1),_c('v-flex',{staticStyle:{\"background-color\":\"#333\",\"padding\":\"22px\",\"box-shadow\":\"0px 0px 5px #202020 inset\"},attrs:{\"md5\":\"\"}},[_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tThe Gamblegram is a plot which provides a visual representation of the balance between the commonly measured anions and cations which contribute most to the net electrical charge of the serum.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tInterpretation relies on the following rules:\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('ul',[_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tHuman serum is electroneutral, so overall the concentration multiplied by charge of anions vs cations should cancel out.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tWe commonly measure the charged particles which are present in the highest concentrations in serum and have the strongest effects on the overall balance of charges.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tIt is not practical to measure every charged species, so we must estimate the gap between the unknown anions and unknown cations, termed the anion gap.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tA healthy individual will have a greater charge from unmeasured anions and thus the gap has a normal range of \"+_vm._s(_vm.refRngs.AnionGap.lower)+\" to \"+_vm._s(_vm.refRngs.AnionGap.upper)+\".\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',{staticStyle:{\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNote: Some formulas for the anion gap will include K\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\" (raising the upper limit of normal to \"+_vm._s(_vm.refRngs.AnionGap.upper + 4)+\"), however we omit it herein for the sake of simplicity. \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tWhen the anion gap exceeds the upper limit of normal, this suggests the presence of additional unmeasured anions \"),_c('i',[_vm._v(\"(see causes)\")]),_vm._v(\". There are scenarios in which anion gap can be abnormally low, as a result of excess cations such as hypercalcemia (excess Ca\"),_c('sup',[_vm._v(\"+2\")]),_vm._v(\") or even intoxication with Li\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\". \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])])])])],1)],1),_c('v-tab-item',{attrs:{\"value\":\"ag-causes\"}},[_c('br'),_c('center',{staticStyle:{\"margin-bottom\":\"8px\"}},[_c('h2',[_vm._v(\"Causes of Anion Gap Acidosis\")])]),_c('hr'),_c('div',{staticStyle:{\"text-align\":\"center\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tThere are numerous physiologic processes and biologically active substances which can cause an elevation in anion gap with acidosis, and it can certainly be difficult to remember them all.\\n\\t\\t\\t\\t\\t\\t\\t\\tWe recommend the GOLDMARK CAT mnemonic shown below in order to organize your differential around the most important causes of anion gap acidois\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Mehta 2008]\")]),_vm._v(\":\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticClass:\"anion-gap-chart\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"align-items\":\"center\",\"flex-wrap\":\"wrap\",\"max-width\":\"800px\",\"margin\":\"auto\"}},[_c('div',{staticStyle:{\"font-size\":\"140%\"}},[_c('b',[_vm._v(\"G\")]),_vm._v(\"lycols (ethylene/propylene)\"),_c('br'),_c('b',[_vm._v(\"O\")]),_vm._v(\"xoproline\"),_c('br'),_c('b',[_vm._v(\"L\")]),_vm._v(\"-lactate\"),_c('br'),_c('b',[_vm._v(\"D\")]),_vm._v(\"-lactate (short bowel syndrome)\"),_c('br'),_c('b',[_vm._v(\"M\")]),_vm._v(\"ethanol\"),_c('br'),_c('b',[_vm._v(\"A\")]),_vm._v(\"spirin\"),_c('br'),_c('b',[_vm._v(\"R\")]),_vm._v(\"enal failure\"),_c('br'),_c('b',[_vm._v(\"K\")]),_vm._v(\"etoacidosis\"),_c('br')]),_c('div',{staticStyle:{\"font-size\":\"145%\"}},[_c('b',[_vm._v(\"C\")]),_vm._v(\"yanide (or Carbon Monoxide)\"),_c('br'),_c('b',[_vm._v(\"A\")]),_vm._v(\"minoglycosides\"),_c('br'),_c('b',[_vm._v(\"T\")]),_vm._v(\"olune (or Theophylline)\"),_c('br')])])],1)],1)],1):_vm._e(),(_vm.activeChip == 'deltaGap')?_c('v-container',{key:\"deltaGap\"},[_c('center',{staticStyle:{\"margin-bottom\":\"8px\"}},[_c('h2',[_vm._v(\"Interpreting: Delta Gap\")]),_c('hr'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\tThe delta gap is a tool which can be used to try and detect a possible additional metabolic acid-base disturbance on top of the known anion-gap metabolic acidosis.\\n\\t\\t\\t\\t\\t\\tIn a pure anion-gap metabolic acidosis we expect the Bicarb to fall roughly in proportion to the rise in anion gap. \\n\\t\\t\\t\\t\\t\\tIf this is not the case we should consider the possibility of a 2nd metabolic disorder to account for this observation.\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Wrenn 1990]\")]),_c('div',{staticStyle:{\"font-size\":\"115%\",\"margin-top\":\"12px\",\"margin-bottom\":\"12px\",\"border\":\"1px solid #555\",\"padding\":\"8px\",\"width\":\"725px\",\"max-width\":\"100%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tDelta Gap = ΔΔ Gap = Δ Anion Gap - Δ Bicarb = \"+_vm._s(_vm.results.serumAnionGap.gap - _vm.refRngs[\"AnionGap\"].upper)+\" - \"+_vm._s(_vm.refRngs[\"aBicarb\"].lower - _vm.abg.bicarb)+\" = \"),_c('b',[_vm._v(_vm._s(_vm.results.serumDeltaGap.gap))]),_c('hr',{staticStyle:{\"border-color\":\"#555\",\"margin\":\"8px\"}}),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tΔ Anion Gap = (Serum Anion Gap - Upper Range of Normal Anion Gap) = \"+_vm._s(_vm.results.serumAnionGap.gap)+\" - \"+_vm._s(_vm.refRngs[\"AnionGap\"].upper)+\" = \"+_vm._s(_vm.results.serumAnionGap.gap - _vm.refRngs[\"AnionGap\"].upper)+\"\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('hr',{staticStyle:{\"border-color\":\"#555\",\"margin\":\"8px\"}}),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tΔ Bicarb = (Lower Range of Normal Bicarb - Serum Bicarb) = \"+_vm._s(_vm.refRngs[\"aBicarb\"].lower)+\" - \"+_vm._s(_vm.abg.bicarb)+\" = \"+_vm._s(_vm.refRngs[\"aBicarb\"].lower - _vm.abg.bicarb)+\"\\n\\t\\t\\t\\t\\t\\t\")]),_c('v-layout',{attrs:{\"wrap\":\"\",\"justify-center\":\"\"}},[_c('div',{staticClass:\"decision-box\",style:({'background-color': _vm.results.serumDeltaGap.gap > 6 ? '#4CAF50' : '#333'})},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tif  \"),_c('u',[_vm._v(\"Delta Gap > 6\")]),_vm._v(\"  then\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('hr'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tConsider a superimposed \"),_c('u',[_vm._v(\"metabolic alkalosis\")]),_vm._v(\"!\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('hr'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tGiven the rise in anion gap is more than fall in bicarb.\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticClass:\"decision-box\",style:({'background-color': _vm.results.serumDeltaGap.gap < -6 ? '#4CAF50' : '#333'})},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tif  \"),_c('u',[_vm._v(\"Delta Gap < -6\")]),_vm._v(\"  then\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('hr'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tConsider a superimposed \"),_c('u',[_vm._v(\"metabolic acidosis\")]),_vm._v(\"!\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('hr'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tGiven the rise in anion gap is less than fall in bicarb.\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"10px 0\"}}),_c('div',{staticClass:\"decision-box\",style:({'background-color': _vm.results.serumDeltaGap.gap >= -6 && _vm.results.serumDeltaGap.gap <= 6 ? '#4CAF50' : '#333'})},[_c('b',[_vm._v(\"OTHERWISE:\")]),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tNo additional metabolic acid-base disorders detected.\\n\\t\\t\\t\\t\\t\\t\\t\")])])],1)],1):_vm._e(),(_vm.activeChip.includes('Primary'))?_c('div',{key:\"primary\"},[_c('v-tabs',{attrs:{\"color\":\"grey darken-2\"}},[_c('v-tab',{attrs:{\"href\":\"#primary-dx\"}},[_vm._v(\"Diagnosis\")]),(_vm.results.disturbances[0] !== 'Normal')?_c('v-tab',{attrs:{\"href\":\"#primary-causes\"}},[_vm._v(\"Causes\")]):_vm._e(),(_vm.results.disturbances[0] !== 'Normal')?_c('v-tab',{attrs:{\"href\":\"#primary-treatment\"}},[_vm._v(\"Treatment\")]):_vm._e(),_c('v-tab-item',{staticClass:\"primary-disturb-tab\",attrs:{\"value\":\"primary-dx\"}},[_c('center',[_c('h2',[_vm._v(\"Interpreting: Primary Disturbance\")])]),_c('center',[_c('br'),_c('v-layout',{attrs:{\"wrap\":\"\",\"justify-center\":\"\"}},[_c('div',{staticClass:\"decision-box\"},[_c('v-chip',{attrs:{\"color\":_vm.results.pHDisturbance == 'Alkalemia' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"pH \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Alkalemia\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.disturbances[0] == 'Metabolic Alkalosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"[HCO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\"] \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Metabolic Alkalosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":_vm.results.disturbances[0] == 'Respiratory Alkalosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Respiratory Alkalosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1),_c('div',{staticClass:\"decision-box\"},[_c('v-chip',{attrs:{\"color\":_vm.results.pHDisturbance == 'Acidemia' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"pH \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Acidemia\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.disturbances[0] == 'Non-Gap Metabolic Acidosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"[HCO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\"] \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":_vm.results.disturbances[0] == 'Respiratory Acidosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Respiratory Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)])],1),_c('hr'),_c('br'),(['Primary Respiratory Acidosis', 'Primary Respiratory Alkalosis'].includes(_vm.activeChip))?_c('center',[_c('h2',[_vm._v(\"Primary Respiratory Acid-Base Disturbances\")]),_c('v-layout',{staticStyle:{\"margin\":\"22px\"},attrs:{\"wrap\":\"\",\"justify-center\":\"\"}},[_c('div',{staticClass:\"decision-box\"},[_c('h3',[_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(_vm.abg.PaCO2))]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tRef Range  ≈  \"+_vm._s(_vm.refRngs.PaCO2.lower + \"  to  \" + _vm.refRngs.PaCO2.upper)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.activeChip == 'Primary Respiratory Acidosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Respiratory Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":_vm.activeChip == 'Primary Respiratory Alkalosis' ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Respiratory Alkalosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)]),_c('p',{staticStyle:{\"font-size\":\"90%\",\"margin\":\"28px 0 36px 0\",\"max-width\":\"600px\",\"text-align\":\"justify\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tRespiratory acid-base disorders are characterized by disruptions of the balance beteween the processes which add and remove from the quantities of CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" carried in the blood.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tChanges in the concentration of total blood CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" can be measured as a function of the partial pressure of arterial blood CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" (abbreviated PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\").\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tHow then does a change in blood CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" levels change the blood's pH?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tLet's examine this biochemical process through the lens of a respiratory acidosis, in which there is excess CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" in the blood.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tIn Figure 1 we can see that disolution of additional CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" into the blood can drive to the right a reversible reaction with water (H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"O) to form carbonic acid (H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\").\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tThis reaction will proceed spontaneously, however it occurs significantly faster when catalyzed by the enzyme carbonic anhydrase, which can be found in many cells, particularly red blood cells.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tSimilarly, the increase in H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" will continue to drive the reactions depicted in Figure 1 to the right, resulting in dissociation of H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\" ions to form bicarbonate (HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\").\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tBecause these protons are now dissociated from their conjugate base (HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\") they contribute to the concentration of free protons [H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\"] in solution and thus cause a decrease in blood pH.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tThis same set of reactions can be driven in reverse when levels of disolved CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" are low, decreasing blood [H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\"], and thus increasing blood pH.\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('img',{staticStyle:{\"border-radius\":\"3px\"},attrs:{\"src\":\"/img/co2_to_bicarb.png\",\"height\":\"140\"}})],1):_vm._e(),(['Primary Non-Gap Metabolic Acidosis', 'Primary Metabolic Alkalosis'].includes(_vm.activeChip))?_c('center',{key:\"disturb\"},[_c('div',[_c('h2',[_vm._v(\"Primary Metabolic Acid-Base Disturbances\")]),_c('v-layout',{staticStyle:{\"margin-top\":\"28px\"},attrs:{\"wrap\":\"\",\"justify-center\":\"\"}},[_c('div',{staticClass:\"decision-box\"},[_c('h3',[_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s(_vm.abg.bicarb))]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tRef Range  ≈  \"+_vm._s(_vm.refRngs.aBicarb.lower + \"  to  \" + _vm.refRngs.aBicarb.upper)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.abg.bicarb > _vm.refRngs.aBicarb.upper ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Metabolic Alkalosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('br'),_c('v-chip',{attrs:{\"color\":_vm.results.serumAnionGap.disturb == 'Normal' && _vm.abg.bicarb < _vm.refRngs.aBicarb.lower ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Non-Gap/Hyperchloremic Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('br'),_c('v-chip',{attrs:{\"color\":_vm.results.serumAnionGap.gap > _vm.refRngs.AnionGap.upper ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]  + \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"Anion Gap \"),_c('b',[_vm._v(\"=\")]),_vm._v(\" Anion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)]),_c('p',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"12px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tPrimary metabolic acid-base disorders are characterized by shifts in the plasma concentrations of bicarbonate.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tAn increase in plasma \"),_c('span',{staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\"bicarbonate concentration (\"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-up\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] )\")],1),_vm._v(\" suggests the presence of a \"),_c('u',[_vm._v(\"metabolic alkalosis\")]),_vm._v(\". \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tOn the other hand a decrease in plasma \"),_c('span',{staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\"bicarbonate concentration (\"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] )\")],1),_vm._v(\" suggests the presence of a \"),_c('u',[_vm._v(\"metabolic acidosis\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tIn the absence of an elevated anion gap, \"),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-arrow-down\")]),_vm._v(\"[ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]  is typically referred to as \"),_c('u',[_vm._v(\"non-gap or hyperchloremic metabolic acidosis\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)]):_vm._e()],1),_c('v-tab-item',{staticClass:\"primary-disturb-tab\",attrs:{\"value\":\"primary-causes\"}},[(_vm.activeChip === 'Primary Metabolic Alkalosis')?_c('div',[_c('h2',[_vm._v(\"Causes of Primary Metabolic Alkalosis\")]),_c('hr'),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tThere are many ways to classify the processes leading to metabolic alkalosis.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tGenerally these pathologies fall into the categories of chloride depletion syndromes, mineralocorticoid excess syndromes, acid loss, and alkali administration.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tAnother intuitive way to group these processes is based upon chloride concentration, which is linked to (but not determined by) overall volume status.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tSome pathologies are termed hyperchloremic or \\\"chloride depletion/responsive\\\" metabolic alkaloses, meaning they correct with administration of chloride (sometimes mistermed \\\"volume depletion/responsive\\\").\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tOthers are chloride unresponsive, and tend to result from pathologic perturbations of the Renin-Angiotensin-Aldosterone axis.\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"flex-wrap\":\"wrap\",\"flex\":\"1\"}},[_c('div',{staticStyle:{\"max-width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Hypochloremic (Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\" Responsive) Metabolic Alkalosis\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Vomiting or gastric suctioning (amplified by loss of H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\")\")]),_c('li',[_vm._v(\"Chloride rich diarrhea (genetic defect, villous adenoma/McKittrick-Wheelock syndrome, and high-output illeostomy drainage)\")]),_c('li',[_vm._v(\"Renal chloride losses (loop/thiazide diuretics, Bartter/Gitelman syndromes)\")]),_c('li',[_vm._v(\"Hypokalemia and Hypomagnesemia\")])])]),_c('div',{staticStyle:{\"max-width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Normochloremic (Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\" Unresponsive) Metabolic Alkalosis\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Primary hyperaldosteronism\")]),_c('li',[_vm._v(\"Secondary hyperaldosternism (renal artery stenosis, Cushing syndrome/disease, renin-secreting tumor, volume depletion, heart failure, cirrhosis with ascites, and nephrotic syndrome)\")]),_c('li',[_vm._v(\"Glycyrrhizin Intoxication (compound found in some licorice and chewing tobacco, inhibits cortisol breakdown)\")]),_c('li',[_vm._v(\"Liddle syndrome and 11β-hydroxysteroid dehydrogenase deficiency\")])])])]),_c('i',[_vm._v(\"Quick Tip: \"),_c('u',[_vm._v(\"Bartter\")]),_vm._v(\" syndrome mimics \"),_c('u',[_vm._v(\"loop diuretics\")]),_vm._v(\", while \"),_c('u',[_vm._v(\"Gitelman\")]),_vm._v(\" syndrome mimics \"),_c('u',[_vm._v(\"thiazide diuretics\")]),_vm._v(\".\")])]):_vm._e(),(_vm.activeChip === 'Primary Non-Gap Metabolic Acidosis')?_c('div',[_c('h2',[_vm._v(\"Causes of Primary Non-Gap Metabolic Acidosis\")]),_c('hr'),_c('p'),_c('div',{staticClass:\"anion-gap-chart\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"align-items\":\"center\",\"flex-wrap\":\"wrap\",\"max-width\":\"800px\",\"margin\":\"auto\"}},[_c('div',{staticStyle:{\"font-size\":\"140%\"}},[_c('b',[_vm._v(\"U\")]),_vm._v(\"reteroenterostomies\"),_c('br'),_c('b',[_vm._v(\"S\")]),_vm._v(\"mall bowel fistulae\"),_c('br'),_c('b',[_vm._v(\"E\")]),_vm._v(\"xcess chloride\"),_c('br'),_c('b',[_vm._v(\"D\")]),_vm._v(\"iarrhea\"),_c('br')]),_c('div',{staticStyle:{\"font-size\":\"145%\"}},[_c('b',[_vm._v(\"C\")]),_vm._v(\"arbonic anhydrase inhibitors\"),_c('br'),_c('b',[_vm._v(\"R\")]),_vm._v(\"enal tubular acidosis\"),_c('br'),_c('b',[_vm._v(\"A\")]),_vm._v(\"ddison's disease\"),_c('br'),_c('b',[_vm._v(\"P\")]),_vm._v(\"ancreatoenterostomies\"),_c('br')])])]):_vm._e(),(_vm.activeChip === 'Primary Respiratory Alkalosis')?_c('div',[_c('h2',[_vm._v(\"Causes of Primary Respiratory Alkalosis\")]),_c('hr'),_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tAny process causing hyperventilation (an increased respiratory rate or tidal volume) will result in an increased rate of CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" elimination, shifting the equilibrium towards dehydration of H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" to CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" and removal of bicarbonate from the blood.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Narins 1980]\")])]),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"flex-wrap\":\"wrap\",\"flex\":\"1\"}},[_c('div',{staticStyle:{\"width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Central Causes of Hyperventilation\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Head injury/Stroke/Intracranial tumor\")]),_c('li',[_vm._v(\"Anxiety, pain, fear, stress\")]),_c('li',[_vm._v(\"Fever/sepsis\")]),_c('li',[_vm._v(\"Pharmaceuticals/toxins (eg. salicylates, stimulants)\")]),_c('li',[_vm._v(\"Hypoxic respiratory drive\")]),_c('li',[_vm._v(\"Hyperthyroidism\")])])]),_c('div',{staticStyle:{\"width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Pulmonary Causes\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Pneumothorax, pneumonia, and acute asthma or COPD\")]),_c('li',[_vm._v(\"Pulmonary emboli\")]),_c('li',[_vm._v(\"Hyperventilation during mechanical ventilation\")])])])])]):_vm._e(),(_vm.activeChip === 'Primary Respiratory Acidosis')?_c('div',[_c('h2',[_vm._v(\"Causes of Primary Respiratory Acidosis\")]),_c('hr'),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tAny process causing hypoventilation (a decreased respiratory rate or tidal volume) or deficient gas-exchange will result in an accumulation of CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" in the blood, shifting the equilibrium towards hydration of CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" to H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" and increasing levels of bicarbonate in the blood.\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"flex-wrap\":\"wrap\",\"flex\":\"1\"}},[_c('div',{staticStyle:{\"width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Central Causes of Hypoventilation\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Head injury/Stroke\")]),_c('li',[_vm._v(\"CNS depressants (opioids, sedative/hypnotics)\")]),_c('li',[_vm._v(\"Neuromuscular blockade (paralytics, botulism, Guillain-Barre syndrome)\")]),_c('li',[_vm._v(\"Sleep Apnea/Obesity hypoventilation syndrome\")])])]),_c('div',{staticStyle:{\"width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Pulmonary Causes\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Respiratory Failure\")]),_c('li',[_vm._v(\"Airflow obstruction (COPD, asthma)\")]),_c('li',[_vm._v(\"Severe interstitial lung disease\")])])])])]):_vm._e()]),_c('v-tab-item',{staticClass:\"primary-disturb-tab\",attrs:{\"value\":\"primary-treatment\"}},[(_vm.activeChip === 'Primary Metabolic Alkalosis')?_c('div',[_c('h2',[_vm._v(\"Treatment of Primary Metabolic Alkalosis\")]),_c('hr'),_c('b',[_c('u',[_vm._v(\"The mainstay of treatment for metabolic alkalosis is the diagnosis and correction of the underlying pathology.\")])]),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"flex-wrap\":\"wrap\",\"flex\":\"1\"}},[_c('div',{staticStyle:{\"max-width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Hypochloremic (Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\" Responsive) Metabolic Alkalosis\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Replacement of chloride (often in the form of 0.9% saline) can also help to correct the alkalosis\")]),_c('li',[_vm._v(\"Those patients actively losing H\"),_c('sup',[_vm._v(\"+\")]),_vm._v(\" and Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\" from nasogastric suction or vomiting, might also benefit from an H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" receptor antagonist or proton pump inhibitor.\")]),_c('li',[_vm._v(\"In the patients with volume overload a combination of potassium chloride and carbonic anhydrase inhibitors like acetazolamide (which promote renal bicarbonate elimination) may be employed. \")])])]),_c('div',{staticStyle:{\"max-width\":\"45%\",\"min-width\":\"240px\",\"margin\":\"18px\",\"border-radius\":\"8px\",\"background-color\":\"#262626\",\"box-shadow\":\"0px 0px 5px #202020 inset\",\"padding\":\"24px 20px\"}},[_c('h4',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"Normochloremic (Cl\"),_c('sup',[_vm._v(\"-\")]),_vm._v(\" Unresponsive) Metabolic Alkalosis\")]),_c('hr'),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Mineralocorticoid excess is treated by restricting a patient’s sodium intake and adding potassium supplementation\")]),_c('li',[_vm._v(\"Patients with Liddle syndrome and 11β-hydroxysteroid dehydrogenase deficiency may benefit from the addition of amiloride.\")])])])]),_c('i',[_vm._v(\"Quick Tip: In those rare cases of severe alkalosis (pH > 7.55 or signs of cardiac/CNS damage) with volume overload or renal failure, infusion of hydrochloric acid (HCl) into a central line or dialysis may be indicated.\")])]):_vm._e(),(_vm.activeChip === 'Primary Non-Gap Metabolic Acidosis')?_c('div',[_c('h2',[_vm._v(\"Treatment of Primary Non-Gap Metabolic Acidosis\")]),_c('hr'),_c('b',[_c('u',[_vm._v(\"The mainstay of treatment for metabolic acidosis is the diagnosis and correction of the underlying pathology.\")])])]):_vm._e(),(_vm.activeChip === 'Primary Respiratory Alkalosis')?_c('div',[_c('h2',[_vm._v(\"Treatment of Primary Respiratory Alkalosis\")]),_c('hr'),_c('b',[_c('u',[_vm._v(\"The mainstay of treatment for primary respiratory alkaloses is the diagnosis and correction of the underlying pathology.\")])]),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Adrogue 2014]\")]),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Supplemental oxygen therapy can be used to treat hypoxic hyperventilation.\")]),_c('li',[_vm._v(\"Closed-circuit rebreathing or anxiolytics may be used to treat psychogenic hyperventilation.\")]),_c('li',[_vm._v(\"Prolonged hyperventilation may culminate in respiratory failure and the need for intubation and mechanical ventilation.\")]),_c('li',[_vm._v(\"Patients with iatrogenic respiratory alkalsosis require close monitoring of their ventilator settings, and may benefit from a reduced respiratory rate.\")])])]):_vm._e(),(_vm.activeChip === 'Primary Respiratory Acidosis')?_c('div',[_c('h2',[_vm._v(\"Treatment of Primary Respiratory Acidosis\")]),_c('hr'),_c('b',[_c('u',[_vm._v(\"The mainstay of treatment for primary respiratory acidosis is the diagnosis and correction of the underlying pathology.\")])]),_c('ul',{staticStyle:{\"text-align\":\"left\"}},[_c('li',[_vm._v(\"Bronchodilators (albuterol/ipratroprium) can be used to treat obstructive airway diseases.\")]),_c('li',[_vm._v(\"Opiate-induced respiratory depression can be reversed with naloxone.\")]),_c('li',[_vm._v(\"Intubation and mechanical ventilation may be necessary in cases of impending respiratory failure to prevent further decompensation.\")])])]):_vm._e()])],1)],1):_vm._e(),(['Compensatory Respiratory Alkalosis'].includes(_vm.activeChip))?_c('v-container',{key:\"disturb\"},[_c('center',[_c('h2',[_vm._v(\"Interpreting: Respiratory Compensation\")]),_c('hr'),_c('p',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"12px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tIn 1967 Albert, Dell, and Winters published a paper entitled \"),_c('a',{staticStyle:{\"color\":\"white\"},attrs:{\"href\":\"https://annals.org/aim/fullarticle/681186/quantitative-displacement-acid-base-equilibrium-metabolic-acidosis\"}},[_c('u',[_c('i',[_vm._v(\"Quantitative Displacement of Acid-Base Equilibrium in Metabolic Acidosis\")])])]),_vm._v(\",\\n\\t\\t\\t\\t\\t\\t\\twhich included a population of 60 patients with a known metabolic acidosis who had not yet received treatment.\\n\\t\\t\\t\\t\\t\\t\\tThe manuscript describes a linear trend between plasma bicarbonate and the expected compensatory change in P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" (see below).\\n\\t\\t\\t\\t\\t\\t\\tWe can use an equation derived from this linear regression to determine if our patient is adequately compensating for a metabolic acidosis by increasing their ventilation in order to breathe off CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" and raise blood pH. \\n\\t\\t\\t\\t\\t\\t\")]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"max-width\":\"100%\",\"flex-wrap\":\"wrap\",\"margin-top\":\"25px\"}},[_c('div',{staticClass:\"decision-box\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-bottom\":\"20px\"}},[_c('div',[_c('h3',[_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(_vm.abg.PaCO2))]),_c('h3',[_vm._v(\"Expected P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s((1.5 * _vm.abg.bicarb) + 8)+\" ± 2 = \"+_vm._s((1.5 * _vm.abg.bicarb) + 6)+\" to \"+_vm._s((1.5 * _vm.abg.bicarb) + 10)+\" \")]),_c('hr'),_c('b',[_vm._v(\"Winters' Formula:\")]),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tExpected P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = (1.5 * [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]) + 8 ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.completeCompensation ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" Complete Respiratory Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":!_vm.results.completeCompensation ? 'warning' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-times\")]),_vm._v(\"Incomplete Respiratory Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)]),_c('img',{staticStyle:{\"border-radius\":\"3px\"},attrs:{\"src\":\"/img/winters_formula_plot.png\",\"width\":\"300\"}})]),_c('hr'),_c('i',[_c('b',[_vm._v(\"Quick Tip:\")]),_vm._v(\" The compensated P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"  will typically roughly approximate the first two digits after the decimal point in the serum pH!\")])])],1):_vm._e(),(['Compensatory Respiratory Acidosis'].includes(_vm.activeChip))?_c('v-container',{key:\"disturb\"},[_c('center',[_c('h2',[_vm._v(\"Interpreting: Respiratory Compensation\")]),_c('hr'),_c('p',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"12px\"}}),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"max-width\":\"100%\",\"flex-wrap\":\"wrap\",\"margin-top\":\"25px\"}},[_c('div',{staticClass:\"decision-box\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-bottom\":\"20px\"}},[_c('div',[_c('h3',[_vm._v(\"PaCO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(_vm.abg.PaCO2))]),_c('h3',[_vm._v(\"Expected P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(((0.7 * _vm.abg.bicarb) + 20).toFixed(1))+\" ± 2 = \"+_vm._s(((0.7 * _vm.abg.bicarb) + 18).toFixed(1))+\" to \"+_vm._s(((0.7 * _vm.abg.bicarb) + 22).toFixed(1))+\" \")]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tExpected P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = (0.7 * [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]) + 20 ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])]),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.completeCompensation ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" Complete Respiratory Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":!_vm.results.completeCompensation ? 'warning' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-times\")]),_vm._v(\"Incomplete Respiratory Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)])])])],1):_vm._e(),(['Compensatory Metabolic Acidosis'].includes(_vm.activeChip))?_c('v-container',{key:\"disturb\"},[_c('center',[_c('h2',[_vm._v(\"Interpreting: Metabolic Compensation for Respiratory Alkalosis\")]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"max-width\":\"100%\",\"flex-wrap\":\"wrap\",\"margin-top\":\"25px\"}},[_c('div',{staticClass:\"decision-box\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-bottom\":\"20px\"}},[_c('div',[_c('h3',[_vm._v(\"Patient [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s(_vm.abg.bicarb)+\" | P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(_vm.abg.PaCO2))]),_c('h3',[_vm._v(\"Expected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s(((_vm.abg.PaCO2 - _vm.PaCO2Mid) / 2) + _vm.aBicarbMid)+\" ± 2 = \"+_vm._s(_vm.aBicarbMid - 2 - ((_vm.PaCO2Mid - _vm.abg.PaCO2) / 2))+\" to \"+_vm._s(_vm.aBicarbMid + 2 - ((_vm.PaCO2Mid - _vm.abg.PaCO2) / 2)))]),_c('h3',[_vm._v(\"Expected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = ((P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" - \"+_vm._s(_vm.PaCO2Mid)+\") / 2) + \"+_vm._s(_vm.aBicarbMid)+\" ± 2\")]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tΔ [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = ΔP\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" / 2 ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tExpected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = (P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" - Mid(P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\")) / 2 + Mid([ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]) ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br')])]),_c('hr'),_c('MetabolicCompRule'),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.completeCompensation ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" Complete Metabolic Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":!_vm.results.completeCompensation ? 'warning' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-times\")]),_vm._v(\"Incomplete Metabolic Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)])]),_c('div',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"12px\",\"text-align\":\"left\"}},[_c('center',{staticClass:\"decision-box\",staticStyle:{\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tThe normal physiological response to compensate for a respiratory alkalosis has an acute phase and a chronic phase (chronic = complete compensation).\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tIn the absence of additional physiologic abnormalities we expect chronic/complete compensation to occur with time.\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('br'),_c('br'),_c('h3',[_vm._v(\"Acute Compensation\")]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tIn order to counteract the increase in pH which results from decreased P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" in a respiratory alkalosis, the body first utilizes its pre-existing acid-base buffers.\\n\\t\\t\\t\\t\\t\\t\\tThese buffers (hemoglobin and other proteins; to a lesser extent phosphate) give up protons to HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\\tThe resulting H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" then undergoes a reaction catalyzed by carbonic anhydrase, becoming H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"O and CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" (Fig 1).\\n\\t\\t\\t\\t\\t\\t\\tThe end result is a rapid albeit modest decrease in [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ].\\n\\t\\t\\t\\t\\t\\t\\tBecause these buffers and enzymes are already present in the cytoplasm of circulating erythrocytes, this initial buffering occurs very quickly and is often referred to as acute metabolic compensation.\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Narins 1980]\")]),_c('br'),_c('div',{staticStyle:{\"font-size\":\"85%\",\"margin-top\":\"12px\",\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tNote: Though there are formulas which can be used to estimate the range of [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] expected in acute compensation, they are not included here given that we cannot differentiate acute respiratory alkalosis versus a mixed respiratory + metabolic disorder without additional clinical history (both are considered incomplete compensation herein).\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('br'),_c('br'),_c('h3',[_vm._v(\"Chronic Compensation\")]),_vm._v(\"\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\tOver the course of several days, the sustained change in pH caused by a respiratory alkalosis will potentiate the kidney to retain acids and thus further consume bicarbonate.\\n\\t\\t\\t\\t\\t\\t\\tThis delayed yet significantly more potent compensatory mechanism results in the maximal/complete compensation which is associated with chronic respiratory alkaosis.\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Narins 1980]\")]),_c('div',{staticStyle:{\"max-width\":\"100%\",\"width\":\"560px\",\"margin\":\"auto\",\"margin-top\":\"40px\"}},[_c('img',{staticStyle:{\"width\":\"100%\",\"border-radius\":\"3px\"},attrs:{\"src\":\"img/acid-base-buffer.svg\"}}),_c('br'),_c('i',{staticStyle:{\"font-size\":\"80%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tFig 1: A reversible set of acid-base buffering reactions serve to regulate plasma pH, rapidly correcting mild perturbations without the involvement of the kidneys.\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])])],1)])],1):_vm._e(),(['Compensatory Metabolic Alkalosis'].includes(_vm.activeChip))?_c('v-container',{key:\"disturb\"},[_c('center',[_c('h2',[_vm._v(\"Interpreting: Metabolic Compensation for Respiratory Acidosis\")]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\",\"max-width\":\"100%\",\"flex-wrap\":\"wrap\",\"margin-top\":\"25px\"}},[_c('div',{staticClass:\"decision-box\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"margin-bottom\":\"20px\"}},[_c('div',[_c('h3',[_vm._v(\"Patient [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s(_vm.abg.bicarb)+\" | P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" = \"+_vm._s(_vm.abg.PaCO2))]),_c('h3',[_vm._v(\"Expected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = \"+_vm._s((((_vm.abg.PaCO2 - _vm.PaCO2Mid) / 3) + _vm.aBicarbMid).toFixed(1))+\" ± 2 = \"+_vm._s((((_vm.abg.PaCO2 - _vm.PaCO2Mid) / 3) + 22).toFixed(1))+\" to \"+_vm._s((((_vm.abg.PaCO2 - _vm.PaCO2Mid) / 3) + 26).toFixed(1)))]),_c('h3',[_vm._v(\"Expected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = ((P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" - \"+_vm._s(_vm.PaCO2Mid)+\") / 3) + \"+_vm._s(_vm.aBicarbMid)+\" ± 2\")]),_c('div',{staticClass:\"ref-rng-box\"},[_c('i',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tΔ [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = ΔP\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" / 3 ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tExpected [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] = (P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" - Mid(P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\")) / 3 + Mid([ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]) ± 2\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br')])]),_c('hr'),_c('MetabolicCompRule'),_c('hr'),_c('v-chip',{attrs:{\"color\":_vm.results.completeCompensation ? 'success' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-check\")]),_vm._v(\" Complete Metabolic Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1),_c('v-chip',{attrs:{\"color\":!_vm.results.completeCompensation ? 'warning' : '#383838'}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fa-times\")]),_vm._v(\"Incomplete Metabolic Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1)])]),_c('div',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"12px\",\"text-align\":\"left\"}},[_c('center',{staticClass:\"decision-box\",staticStyle:{\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tThe normal physiological response to compensate for a respiratory acidosis has an acute phase and a chronic phase (chronic = complete compensation).\\n\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tIn the absence of additional physiologic abnormalities we expect chronic/complete compensation to occur with time.\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('br'),_c('br'),_c('h3',[_vm._v(\"Acute Compensation\")]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tIn order to counteract the decrease in pH which results from excess P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" in a respiratory acidosis, the body first utilizes its pre-existing acid-base buffers: mainly phososphate and certain proteins. \\n\\t\\t\\t\\t\\t\\t\\tBecause these buffers and enzymes are already present in the cytoplasm of circulating erythrocytes, this initial buffering occurs very quickly and is often referred to as acute metabolic compensation.\\n\\t\\t\\t\\t\\t\\t\\tTo understand how this buffering process generates the mild initial increase in [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] associated with acute compensation for respiratory acidosis we can look to the cytoplasm of red blood cells (RBCs), a major site of this buffering.\\n\\t\\t\\t\\t\\t\\t\\tInside these RBCs is an enzyme called carbonic anhydrase which accelerates a reaction occuring throughout the body: the hydration of the excess CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" to H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\". \\n\\t\\t\\t\\t\\t\\t\\tEach molecule of H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" formed can then give up a proton to a buffer with a greater pKa (e.g. HPO\"),_c('sub',[_vm._v(\"4\")]),_c('sup',[_vm._v(\"-2\")]),_vm._v(\" or Hemoglobin).\\n\\t\\t\\t\\t\\t\\t\\tThe result is a new molecule of HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" as well as a protonated buffer (e.g. H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"PO\"),_c('sub',[_vm._v(\"4\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\").\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Narins 1980]\")]),_c('br'),_c('div',{staticStyle:{\"font-size\":\"85%\",\"margin-top\":\"12px\",\"font-style\":\"italic\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tNote: Though there are formulas which can be used to calculate the [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] expected in acute compensation, they are not included here given that we cannot differentiate acute respiratory acidosis versus a mixed respiratory + metabolic disorder without additional clinical history (both are considered incomplete compensation herein).\\n\\t\\t\\t\\t\\t\\t\\t\")]),_c('br'),_c('br'),_c('h3',[_vm._v(\"Chronic Compensation\")]),_vm._v(\"\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\tOnce a respiratory acidosis has persisted for >6-12 hours, the sustained change in pH will potentiate the kidney to produce new bicarbonate by excretion of acids into the urine.\\n\\t\\t\\t\\t\\t\\t\\tAt homeostasis the healthy kidney resorbs nearly 100% of filtered bicarbonate (mostly in the proximal tubule), such that minimal quantities remain in the urine.\\n\\t\\t\\t\\t\\t\\t\\tGiven there is no additional bicarb that can be resorbed from the urine, the majority of compensation for respiratory acidosis must result of the generation of new HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\".\\n\\t\\t\\t\\t\\t\\t\\tThis process occurs by means of urinary acid excretion (Fig 2), particularly ammonium (NH\"),_c('sub',[_vm._v(\"4\")]),_c('sup',[_vm._v(\"+\")]),_vm._v(\"; Fig 3) and tiratable acids (mainly H\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\"PO\"),_c('sub',[_vm._v(\"4\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\").\\n\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Hamm 2015|Narins 1980]\")]),_c('v-carousel',{staticStyle:{\"width\":\"100%\",\"margin-top\":\"20px\"},attrs:{\"hide-delimiters\":\"\",\"height\":_vm.$vuetify.breakpoint.xsOnly ? 340 : 540,\"cycle\":false}},[_c('v-carousel-item',[_c('div',{staticStyle:{\"max-width\":\"100%\",\"width\":\"600px\",\"margin\":\"auto\",\"margin-top\":\"20px\"}},[_c('img',{staticStyle:{\"width\":\"100%\",\"border-radius\":\"3px\"},attrs:{\"src\":\"img/acid-base-buffer.svg\"}}),_c('br'),_c('i',{staticStyle:{\"font-size\":\"80%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFig 1: A reversible set of acid-base buffering reactions serve to regulate plasma pH, rapidly correcting mild perturbations without the involvement of the kidneys.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])])]),_c('v-carousel-item',[_c('center',{staticStyle:{\"margin\":\"14px auto\",\"font-weight\":\"bold\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNet Renal Acid Excretion = Titratable Acid + Ammonium - Urinary Bicarb Loss\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]),_c('div',{staticStyle:{\"max-width\":\"100%\",\"width\":\"640px\",\"margin\":\"auto\",\"margin-top\":\"20px\"}},[_c('img',{staticStyle:{\"width\":\"100%\",\"border-radius\":\"3px\"},attrs:{\"src\":\"img/renal_acid_secretion.svg\"}}),_c('br'),_c('i',{staticStyle:{\"font-size\":\"80%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFig 2: Ammonium is the primary acid excreted in both the normal and the acidotic patient. As shown above, it plays a much greater role in compensating for acidotic states.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Hamm 2015]\")])])])],1),_c('v-carousel-item',[_c('div',{staticStyle:{\"max-width\":\"100%\",\"width\":\"700px\",\"margin\":\"auto\",\"margin-top\":\"20px\"}},[_c('img',{staticStyle:{\"width\":\"100%\",\"border-radius\":\"3px\"},attrs:{\"src\":\"img/bicarb_nh4_gen.svg\"}}),_c('br'),_c('i',{staticStyle:{\"font-size\":\"80%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tFig 3: Biochemical mechanism for HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" generation from CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" by excretion of protons with NH\"),_c('sub',[_vm._v(\"4\")]),_c('sup',[_vm._v(\"+\")]),_vm._v(\". \\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"),_c('div',{staticClass:\"incite\"},[_vm._v(\"[Hamm 2015]\")])])])])],1)],1)])],1):_vm._e()],1)],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n// Recursive array comparison\nexport function arrayEq(a: any, b: any) {\n\tif (a instanceof Array && b instanceof Array) {\n\t\tif (a.length !== b.length) // assert same length\n\t\t\treturn false;\n\t\tfor (let i = 0; i < a.length; i++) // assert each element equal\n\t\t\tif (!arrayEq(a[i], b[i]))\n\t\t\t\treturn false;\n\t\treturn true;\n\t} else {\n\t\treturn a === b; // if not both arrays, should be the same\n\t}\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"gamblegram\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\nimport Vue from \"vue\";\nimport * as d3 from \"d3\";\nimport * as BG from \"./BloodGas\";\n\ninterface Ion {\n\tname: string;\n\tvalue: number;\n\toffset?: number;\n\tcolor: string;\n}\n\nexport default Vue.extend({\n\tprops: {\n\t\tabg: Object,\n\t\tresults: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\twidth: 440,\n\t\t\theight: 380,\n\t\t};\n\t},\n\tmethods: {\n\t\tdrawGamblegram() {\n\t\t\t// set the dimensions and margins of the graph\n\t\t\tconst margin = {top: 40, right: 30, bottom: 20, left: 50};\n\t\t\tconst width = this.width - margin.left - margin.right;\n\t\t\tconst height = this.height - margin.top - margin.bottom;\n\t\t\t// Color palatte: http://paletton.com/#uid=75o0T0kllllaFw0g0qFqFg0w0aF\n\t\t\tconst ionData = {\n\t\t\t\t\"Cations\": [\n\t\t\t\t\t{name: \"Na⁺\", value: this.abg.Na, color: \"#27556C\"},\n\t\t\t\t\t// {name: \"Other\", value: this.abg.K, color: \"#032536\"},\n\t\t\t\t],\n\t\t\t\t\"Anions\": [\n\t\t\t\t\t{name: \"Cl⁻\", value: this.abg.Cl, color: \"#BD5E7D\"},\n\t\t\t\t\t{name: \"HCO3⁻\", value: this.abg.bicarb, color: \"#973253\"},\n\t\t\t\t\t// {name: \"Albumin\", value: this.abg.Albumin * 2.5, color: \"#711331\"},\n\t\t\t\t],\n\t\t\t} as {[id: string]: Ion[]};\n\t\t\tconst ionSums = {} as {[id: string]: number};\n\t\t\tconst plotData = Object.keys(ionData).reduce((agg: any, ionCat: string) => {\n\t\t\t\tionSums[ionCat] = 0;\n\t\t\t\tagg[ionCat] = ionData[ionCat].map((ion: any) => {\n\t\t\t\t\tion.offset = ionSums[ionCat];\n\t\t\t\t\tionSums[ionCat] += ion.value;\n\t\t\t\t\treturn ion;\n\t\t\t\t});\n\t\t\t\treturn agg;\n\t\t\t}, {});\n\t\t\tconst colMax = Math.max(...Object.values(ionSums));\n\t\t\tObject.keys(ionSums).forEach((ionCat) => {\n\t\t\t\tif (ionSums[ionCat] < colMax) {\n\t\t\t\t\tplotData[ionCat].push({name: (ionCat === \"Anions\" ? \"Anion\" : \"Cation\") + \" Gap\", value: colMax - ionSums[ionCat], offset: ionSums[ionCat], color: \"#AA7539\"});\n\t\t\t\t}\n\t\t\t});\n\t\t\t// clear div\n\t\t\td3.select(\"#gamblegram\").selectAll(\"*\").remove();\n\t\t\t// append the svg object to the body of the page\n\t\t\tconst svg = d3.select(\"#gamblegram\")\n\t\t\t\t.append(\"svg\")\n\t\t\t\t\t.attr(\"width\", width + margin.left + margin.right)\n\t\t\t\t\t.attr(\"height\", height + margin.top + margin.bottom)\n\t\t\t\t\t.style(\"margin\", \"auto\")\n\t\t\t\t\t.style(\"display\", \"block\");\n\t\t\t// Add title\n\t\t\tsvg.append(\"text\")\n\t\t\t\t.attr(\"x\", (width / 2) + margin.left)\n\t\t\t\t.attr(\"y\", 30)\n\t\t\t\t.style(\"text-anchor\", \"middle\")\n\t\t\t\t.text(\"Gamblegram\")\n\t\t\t\t.attr(\"fill\", \"white\")\n\t\t\t\t.attr(\"font-size\", \"16px\");\n\t\t\tconst plotContainer = svg.append(\"g\")\n\t\t\t\t\t.attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\")\n\t\t\t\t\t.attr(\"width\", width)\n\t\t\t\t\t.attr(\"height\", height);\n\t\t\t// Add background\n\t\t\t/*svg.append(\"rect\")\n\t\t\t\t.attr(\"width\", width)\n\t\t\t\t.attr(\"height\", height)\n\t\t\t\t.attr(\"x\", 0)\n\t\t\t\t.attr(\"y\", 0)\n\t\t\t\t.attr(\"fill\", \"#ddd\");*/\n\t\t\t// Add X axis\n\t\t\tconst x = d3.scaleBand()\n\t\t\t\t.domain(Object.keys(plotData))\n\t\t\t\t.range([0, width])\n\t\t\t\t.padding(0.2);\n\t\t\tplotContainer.append(\"g\")\n\t\t\t\t.attr(\"transform\", \"translate(0,\" + height + \")\")\n\t\t\t\t.style(\"font-size\", \"14px\")\n\t\t\t\t.call(d3.axisBottom(x).tickSizeOuter(0));\n\t\t\t// Add Y axis\n\t\t\tconst y = d3.scaleLinear()\n\t\t\t\t.domain([0, colMax + 10])\n\t\t\t\t.range([height, 0]);\n\t\t\tplotContainer.append(\"g\")\n\t\t\t\t.style(\"font-size\", \"12px\")\n\t\t\t\t.call(d3.axisLeft(y));\n\t\t\t// Add Bars\n\t\t\tconst barContainer = plotContainer.append(\"g\")\n\t\t\t\t.selectAll(\"g\")\n\t\t\t\t// Enter in the stack data = loop key per key = group per group\n\t\t\t\t.data(Object.keys(plotData))\n\t\t\t\t.enter().append(\"g\")\n\t\t\t\t.attr(\"transform\", (d: any) => \"translate(\" + x(d) + \", 0)\")\n\t\t\t\t.selectAll(\"rect\")\n\t\t\t\t// enter a second time = loop subgroup per subgroup to add all rectangles\n\t\t\t\t.data((d) => plotData[d].filter((ion: any) => ion.value > 0).map((ion: any) => Object.assign(ion, {\"grp\": d})))\n\t\t\t\t.enter();\n\t\t\tbarContainer.append(\"rect\")\n\t\t\t\t.attr(\"x\", 0)\n\t\t\t\t.attr(\"y\", (d: any) => y(d.value + d.offset))\n\t\t\t\t.attr(\"height\", (d: any) => height - y(d.value))\n\t\t\t\t.attr(\"fill\", (d: any) => d.color)\n\t\t\t\t.attr(\"width\", x.bandwidth());\n\t\t\tbarContainer.append(\"text\")\n\t\t\t\t.attr(\"fill\", \"white\")\n\t\t\t\t.attr(\"x\", x.bandwidth() / 2)\n\t\t\t\t.attr(\"y\", (d: any) => y(d.offset + (d.value / 2) - 2))\n\t\t\t\t.text((d: any) => \"[\" + d.name + \"] = \" + d.value.toFixed(1))\n\t\t\t\t.style(\"text-anchor\", \"middle\")\n\t\t\t\t.style(\"font-size\", \"8pt\")\n\t\t\t\t.style(\"transition-duration\", \"0.6s\")\n\t\t\t\t.on(\"mouseover\", function(d) {\n\t\t\t\t\td3.select(this).style(\"font-size\", \"10pt\");\n\t\t\t\t})\n\t\t\t\t.on(\"mouseout\", function(d) {\n\t\t\t\t\td3.select(this).style(\"font-size\", \"8pt\");\n\t\t\t\t});\n\t\t},\n\t},\n\twatch: {\n\t\tabg: {\n\t\t\tdeep: true,\n\t\t\thandler() {\n\t\t\t\tthis.drawGamblegram();\n\t\t\t},\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.drawGamblegram();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Gamblegram.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Gamblegram.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Gamblegram.vue?vue&type=template&id=a759803c&\"\nimport script from \"./Gamblegram.vue?vue&type=script&lang=ts&\"\nexport * from \"./Gamblegram.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-chip',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.visible),expression:\"!visible\"}],attrs:{\"label\":\"\"},on:{\"click\":function($event){_vm.visible = !_vm.visible}}},[_vm._v(\"\\n\\t\\tTap to Learn the 1-2-\"),_c('span',{staticClass:\"strikediag\"},[_vm._v(\"3\")]),_vm._v(\"-4-5 Rule\\n\\t\")]),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"title\",on:{\"click\":function($event){_vm.visible = !_vm.visible}}},[_vm._v(\"\\n\\t\\t1-2-\"),_c('span',{staticClass:\"strikediag\"},[_vm._v(\"3\")]),_vm._v(\"-4-5 Rule\\n\\t\")]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}]},[_vm._m(0),_vm._m(1),_c('div',{staticStyle:{\"max-width\":\"400px\",\"font-style\":\"italic\",\"font-size\":\"80%\"}},[_vm._v(\"\\n\\t\\t\\tNote: herein we classiy only chronic compensation as complete metabolic compensation.\\n\\t\\t\")])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"max-width\":\"400px\",\"font-size\":\"90%\",\"margin-top\":\"10px\"}},[_vm._v(\"\\n\\t\\t\\tFor every change of 10 in the P\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\", we expect the [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ] to compensate by the below values.\\n\\t\\t\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('table',[_c('tr',{staticClass:\"header\"},[_c('td',{staticStyle:{\"border\":\"none\"}}),_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Expected\"),_c('br'),_vm._v(\"Δ [ HCO\"),_c('sub',[_vm._v(\"3\")]),_c('sup',[_vm._v(\"-\")]),_vm._v(\" ]\")])]),_c('tr',{staticClass:\"header\"},[_c('td',[_vm._v(\"For every 10\"),_c('br'),_vm._v(\"of ΔP\"),_c('sub',[_vm._v(\"a\")]),_vm._v(\"CO\"),_c('sub',[_vm._v(\"2\")])]),_c('td',[_vm._v(\"Acute\")]),_c('td',[_vm._v(\"Chronic\")])]),_c('tr',[_c('td',[_vm._v(\"\\n\\t\\t\\t\\t\\tResp. Acidosis\\n\\t\\t\\t\\t\\t\"),_c('br'),_c('i',[_c('b',[_c('u',[_vm._v(\"A\")])]),_vm._v(\"cidic\")])]),_c('td',[_vm._v(\"+1\")]),_c('td',[_vm._v(\"+4\")])]),_c('tr',[_c('td',[_vm._v(\"\\n\\t\\t\\t\\t\\tResp. Alkalosis\\n\\t\\t\\t\\t\\t\"),_c('br'),_c('i',[_c('b',[_c('u',[_vm._v(\"B\")])]),_vm._v(\"asic\")])]),_c('td',[_vm._v(\"-2\")]),_c('td',[_vm._v(\"-5\")])])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tdata() {\n\t\treturn {\n\t\t\tvisible: false,\n\t\t};\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./1245-rule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./1245-rule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./1245-rule.vue?vue&type=template&id=19ee5159&scoped=true&\"\nimport script from \"./1245-rule.vue?vue&type=script&lang=ts&\"\nexport * from \"./1245-rule.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./1245-rule.vue?vue&type=style&index=0&id=19ee5159&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19ee5159\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","import CitationManager from \"incite.js/src/CitationManager\";\nimport Citation from \"incite.js/src/Citation\";\n\nconst mainRefs: Citation[] = [\n\tnew Citation(\"ATS\", {\n\t\tname: \"American Thoracic Society - Guide to Interpretation of ABGs\",\n\t\turl: \"http://www.thoracic.org/professionals/clinical-resources/critical-care/clinical-education/abgs.php\",\n\t\tnotes: \"Good resource to learn to quickly interpret ABGs with a stepwise algorithm\",\n\t}),\n\tnew Citation(\"Adrogue 2014\", {\n\t\tname: \"Adrogué, H. J., & Madias, N. E. (2014). Respiratory acidosis, respiratory alkalosis, and mixed disorders. Comprehensive Clinical Nephrology E-Book, 169.\",\n\t\turl: \"https://www.sciencedirect.com/science/article/pii/B9780323058766000149\",\n\t}),\n\tnew Citation(\"Brinkman & Sharma 2019\", {\n\t\tname: \"Brinkman, J. E., & Sharma, S. (2019). Physiology, Respiratory Alkalosis. In StatPearls [Internet]. StatPearls Publishing.\",\n\t\turl: \"https://www.ncbi.nlm.nih.gov/books/NBK482117/\",\n\t}),\n\tnew Citation(\"Emmett 2016\", {\n\t\tname: \"Emmett, M. (2016). Approach to the patient with a negative anion gap. American Journal of Kidney Diseases, 67(1), 143-150.\",\n\t\turl: \"https://www.sciencedirect.com/science/article/pii/S0272638615010550\",\n\t}),\n\tnew Citation(\"Fall 2000\", {\n\t\tname: \"Fall, P. J. (2000). A stepwise approach to acid-base disorders: practical patient evaluation for metabolic acidosis and other conditions. Postgraduate Medicine, 107(3), 249-263.\",\n\t\turl: \"https://www.tandfonline.com/doi/abs/10.3810/pgm.2000.03.957\",\n\t}),\n\tnew Citation(\"GlobalRPh\", {\n\t\tname: \"GlobalRPh - COMMON LABORATORY VALUES FOR ABG\",\n\t\turl: \"https://globalrph.com/common-laboratory-lab-values-abgs/\",\n\t\tnotes: \"Quality set of reference ranges with lots of other great info\",\n\t}),\n\tnew Citation(\"Hamm 2015\", {\n\t\tname: \"Hamm, L. L., Nakhoul, N., & Hering-Smith, K. S. (2015). Acid-base homeostasis. Clinical Journal of the American Society of Nephrology, 10(12), 2232-2242.\",\n\t\turl: \"https://cjasn.asnjournals.org/content/10/12/2232\",\n\t}),\n\tnew Citation(\"Kellum 2005\", {\n\t\tname: \"Kellum, J. A. (2005). Clinical review: reunification of acid–base physiology. Critical Care, 9(5), 500.\",\n\t\turl: \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC1297616/\",\n\t}),\n\tnew Citation(\"Mehta 2008\", {\n\t\tname: \"Mehta, A. N., Emmett, J. B., & Emmett, M. (2008). GOLD MARK: an anion gap mnemonic for the 21st century. The lancet, 372(9642), 892.\",\n\t\turl: \"https://www.thelancet.com/journals/lancet/article/PIIS0140-6736(08)61398-7/fulltext\",\n\t}),\n\tnew Citation(\"Narins 1980\", {\n\t\tname: \"Narins, R. G., & Emmett, M (1980). Simple and mixed acid-base disorders: a practical approach. Medicine, 59(3), 161-187.\",\n\t\turl: \"https://journals.lww.com/md-journal/Citation/1980/05000/Simple_and_Mixed_Acid_Base_Disorders__A_Practical.1.aspx#pdf-link\",\n\t}),\n\tnew Citation(\"Pocket ICU\", {\n\t\tname: \"\\\"Interpretation of Arterial Blood Gases.\\\" Pocket ICU Management, PocketMedicine.com, Inc, 2010. Anesthesia Central.\",\n\t\turl: \"https://anesth.unboundmedicine.com/anesthesia/view/Pocket-ICU-Management/534207/all/Interpretation_of_Arterial_Blood_Gases\",\n\t}),\n\tnew Citation(\"Patel & Sharma 2019\", {\n\t\tname: \"Patel, S., & Sharma, S. (2019). Physiology, Respiratory Acidosis. In StatPearls [Internet]. StatPearls Publishing.\",\n\t\turl: \"https://www.ncbi.nlm.nih.gov/books/NBK482430/\",\n\t}),\n\tnew Citation(\"Sofier & Kim 2014\", {\n\t\tname: \"Soifer, J. T., & Kim, H. T. (2014). Approach to metabolic alkalosis. Emergency Medicine Clinics, 32(2), 453-463.\",\n\t\turl: \"https://www.ncbi.nlm.nih.gov/pubmed/24766943\",\n\t}),\n\tnew Citation(\"Spencer & Butler 2010\", {\n\t\tname: \"Spencer, C., & Butler, J. (2010). Survival after cardiac arrest and severe lactic acidosis (pH 6.61) due to haemorrhage. Emergency Medicine Journal, 27(10), 800-801.\",\n\t\turl: \"https://emj.bmj.com/content/27/10/800.long\",\n\t}),\n\tnew Citation(\"Stolmeijer 2018\", {\n\t\tname: \"Stolmeijer, R., Bouma, H. R., Zijlstra, J. G., Drost-de Klerck, A. M., Ter Maaten, J. C., & Ligtenberg, J. J. M. (2018). A systematic review of the effects of hyperoxia in acutely ill patients: should we aim for less?. BioMed research international, 2018.\",\n\t\turl: \"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5977014/\",\n\t}),\n\tnew Citation(\"Wrenn 1990\", {\n\t\tname: \"Wrenn, K. (1990). The delta (Δ) gap: An approach to mixed acid-base disorders. Annals of emergency medicine, 19(11), 1310-1313.\",\n\t\turl: \"https://www.sciencedirect.com/science/article/pii/S0196064405822929\",\n\t}),\n];\n\nconst extraRefs = [\n\tnew Citation(\"Baillie 2008\", {\n\t\tname: \"Baillie, J. K. (2008). Simple, easily memorised “rules of thumb” for the rapid assessment of physiological compensation for respiratory acid-base disorders. Thorax, 63(3), 289-290.\",\n\t\turl: \"https://thorax.bmj.com/content/63/3/289\",\n\t}),\n\tnew Citation(\"Verma 2010\", {\n\t\tname: \"Verma, A. K., & Roach, P. (2010). The interpretation of arterial blood gases. Aust Prescr, 33(4), 124-129.\",\n\t\turl: \"https://www.researchgate.net/profile/Peter_Mansfield/publication/242711303_Editorial_Can_pharmaceutical_companies_contribute_to_the_quality_use_of_medicines/links/0a85e52eaf67fb5567000000/Editorial-Can-pharmaceutical-companies-contribute-to-the-quality-use-of-medicines.pdf#page=28\",\n\t}),\n\tnew Citation(\"Azad 2016\", {\n\t\tname: \"Azad, A. K. (2016). Simple Algorithm of Arterial Blood Gas Analysis to Ensure Consistent, Correct and Quick Responses. Anesthesia & Critical Care: Open Access.\",\n\t\turl: \"https://medcraveonline.com/JACCOA/JACCOA-05-00199\",\n\t}),\n\tnew Citation(\"Albert 1967\", {\n\t\tname: \"Albert, M. S., Dell, R. B., & Winters, R. W. (1967). Quantitative displacement of acid-base equilibrium in metabolic acidosis. Annals of internal medicine, 66(2), 312-322.\",\n\t\turl: \"https://annals.org/aim/fullarticle/681186/quantitative-displacement-acid-base-equilibrium-metabolic-acidosis\",\n\t}),\n\tnew Citation(\"Nickson 2019\", {\n\t\tname: \"Nickson, C. (2019, April 23). Normal Anion Gap Metabolic Acidosis. litfl.com\",\n\t\turl: \"https://litfl.com/normal-anion-gap-metabolic-acidosis/\",\n\t}),\n];\n\nexport const MainRefManager = new CitationManager(mainRefs);\nexport const ExtraRefManager = new CitationManager(extraRefs);\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\n\nimport * as BG from \"./BloodGas\";\nimport { arrayEq } from \"@/util\";\nimport Gamblegram from \"@/components/Gamblegram.vue\";\nimport MetabolicCompRule from \"@/components/1245-rule.vue\";\nimport { MainRefManager } from \"@/components/References\";\n\nexport default Vue.extend({\n\tcomponents: {\n\t\tGamblegram,\n\t\tMetabolicCompRule,\n\t},\n\tprops: {\n\t\tactiveChip: String,\n\t\tabg: Object,\n\t\tresults: Object,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trefRngs: BG.RefRngs,\n\t\t\tPaCO2Mid: BG.RefRngMidpoint(\"PaCO2\"),\n\t\t\taBicarbMid: BG.RefRngMidpoint(\"aBicarb\"),\n\t\t\tarrayEq,\n\t\t};\n\t},\n\twatch: {\n\t\tactiveChip() {\n\t\t\tsetTimeout(() => {\n\t\t\t\tMainRefManager.augmentCitations();\n\t\t\t}, 500);\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tMainRefManager.augmentCitations();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CalcInfoPanel.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./CalcInfoPanel.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CalcInfoPanel.vue?vue&type=template&id=09a32492&\"\nimport script from \"./CalcInfoPanel.vue?vue&type=script&lang=ts&\"\nexport * from \"./CalcInfoPanel.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CalcInfoPanel.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCarousel } from 'vuetify/lib/components/VCarousel';\nimport { VCarouselItem } from 'vuetify/lib/components/VCarousel';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCarousel,VCarouselItem,VChip,VContainer,VFlex,VIcon,VLayout,VTab,VTabItem,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('center',[_c('h3',[_vm._v(\"Davenport Diagram\")]),_c('div',{staticStyle:{\"width\":\"363px\",\"height\":\"390px\"}},[_c('div',{staticClass:\"mini-davenport-diagram\",staticStyle:{\"transform\":\"scale(0.6)\",\"transform-origin\":\"top left\",\"margin-left\":\"-30px\"}},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nconst d3 = Object.assign({},\n\trequire(\"d3-selection\"),\n\trequire(\"d3-axis\"),\n\trequire(\"d3-scale\"),\n\trequire(\"d3-shape\"),\n\trequire(\"d3-array\"),\n\trequire(\"d3-scale-chromatic\"),\n);\nd3.tip = require(\"d3-tip\").default;\nimport * as BG from \"@/components/BloodGas\";\n\nimport Vue from \"vue\";\nimport { color } from \"d3\";\ntype DavenportDatum = [string, [BG.BloodGas, BG.DisturbType[]]];\nexport default Vue.extend({\n\tprops: {\n\t\tanswerData: {\n\t\t\ttype: Object as () => BG.ABGAnswer,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tdebounce: undefined as number | undefined,\n\t\t\twidth: 690,\n\t\t\theight: 606,\n\t\t\tpadding: {top: 10, right: 30, bottom: 30, left: 60},\n\t\t};\n\t},\n\tmethods: {\n\t\tplotDavenport() {\n\t\t\tconst svg = d3.select(this.$el).select(\"svg\");\n\t\t\td3.selectAll(\".davenport-tooltip\").remove();\n\t\t\tsvg.selectAll(\"*\").remove();\n\t\t\tif (svg === undefined) return;\n\t\t\tconst plotArea = svg.append(\"g\");\n\t\t\tplotArea.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.attr(\"transform\", \"translate(\" + this.padding.left + \",\" + this.padding.top + \")\")\n\t\t\t\t.attr(\"class\", \"davenport-plot-area\");\n\t\t\tplotArea.append(\"defs\")\n\t\t\t\t.append(\"pattern\")\n\t\t\t\t.attr(\"id\", \"davenport-bg\")\n\t\t\t\t.attr(\"patternUnits\", \"userSpaceOnUse\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.append(\"image\")\n\t\t\t\t.attr(\"xlink:href\", \"/img/davenport.png\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom);\n\t\t\tplotArea.append(\"rect\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.attr(\"fill\", \"url(#davenport-bg)\");\n\n\t\t\t// Add X axis\n\t\t\tconst xAxis = d3.scaleLinear()\n\t\t\t\t.domain([7.0, 7.8])\n\t\t\t\t.range([ 0, this.width - this.padding.left - this.padding.right ]);\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.attr(\"transform\", \"translate(0,\" + (this.height - this.padding.bottom - 10) + \")\")\n\t\t\t\t.call(d3.axisBottom(xAxis));\n\n\t\t\t// Add Y axis\n\t\t\tconst yAxis = (d3.scaleLinear() as any)\n\t\t\t\t.domain([-0.1, 60])\n\t\t\t\t.range([this.height - this.padding.top - this.padding.bottom, 0]);\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.call(d3.axisLeft().tickValues(Array(16).fill(0).map((_, x) => x * 4)).scale(yAxis));\n\t\t\t// Color scheme\n\t\t\tconst colorScale = JSON.parse(JSON.stringify(d3.schemePaired));\n\t\t\tcolorScale.push(\"orange\");\n\t\t\tcolorScale.push(\"black\");\n\t\t\t// Tooltips\n\t\t\tconst tooltip = d3.tip().attr(\"class\", \"davenport-tooltip\").html((d: DavenportDatum) => \"Actual: \" + d[0] + \"
Genius: \" + d[1][0].guessDisturbances());\n\t\t\tplotArea.call(tooltip);\n\t\t\t// Add dots\n\t\t\tconst genDisturbList: any = [];\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.selectAll(\"dot\")\n\t\t\t\t.data([this.answerData])\n\t\t\t\t.enter()\n\t\t\t\t.append(\"circle\")\n\t\t\t\t.attr(\"cx\", (d: BG.BloodGas) => xAxis(d.abg.pH!))\n\t\t\t\t.attr(\"cy\", (d: BG.BloodGas) => yAxis(d.abg.bicarb!))\n\t\t\t\t.attr(\"r\", 10)\n\t\t\t\t.on(\"mouseover\", tooltip.show)\n\t\t\t\t.on(\"mouseout\", tooltip.hide)\n\t\t\t\t.style(\"fill\", \"orange\")\n\t\t\t\t.attr(\"stroke\", \"black\")\n\t\t\t\t.attr(\"stroke-width\", \"2px\");\n\t\t},\n\t},\n\twatch: {\n\t\tanswerData: {\n\t\t\tdeep: true,\n\t\t\thandler() {\n\t\t\t\tclearTimeout(this.debounce);\n\t\t\t\tthis.debounce = setTimeout(() => {\n\t\t\t\t\tthis.plotDavenport();\n\t\t\t\t}, 600);\n\t\t\t},\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.plotDavenport();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniDavenport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./MiniDavenport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MiniDavenport.vue?vue&type=template&id=13f1399f&\"\nimport script from \"./MiniDavenport.vue?vue&type=script&lang=ts&\"\nexport * from \"./MiniDavenport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MiniDavenport.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(\"References\")]),_c('ol',{staticClass:\"reference-list\"},_vm._l((_vm.mainRefs),function(ref,refID){return _c('li',{key:refID},[_c('a',{attrs:{\"href\":ref.url,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(ref.name)+\"\\n\\t\\t\\t\")])])}),0),_c('br'),_c('br'),_c('h2',[_vm._v(\"Other Learning Resources\")]),_c('ul',{staticClass:\"reference-list\"},_vm._l((_vm.extraRefs),function(ref,refID){return _c('li',{key:refID},[_c('a',{attrs:{\"href\":ref.url,\"target\":\"_blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(ref.name)+\"\\n\\t\\t\\t\")])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { MainRefManager, ExtraRefManager } from \"./References\";\ninterface ResourceData {\n\tname?: string;\n\turl?: string;\n\tnotes?: string;\n}\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tmainRefs: MainRefManager.refList,\n\t\t\textraRefs: ExtraRefManager.refList,\n\t\t};\n\t},\n};\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ReferenceList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReferenceList.vue?vue&type=template&id=3c7c98e7&scoped=true&\"\nimport script from \"./ReferenceList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReferenceList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReferenceList.vue?vue&type=style&index=0&id=3c7c98e7&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c7c98e7\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as BG from \"@/components/BloodGas\";\nimport { abgGenerators } from \"@/components/BloodGasGen\";\nimport CalcInfoPanel from \"@/components/CalcInfoPanel.vue\";\nimport MiniDavenport from \"@/components/MiniDavenport.vue\";\nimport ReferenceList from \"@/components/ReferenceList.vue\";\n\nimport Vue from \"vue\";\nimport goTo from \"vuetify/lib/components/Vuetify/goTo\";\nexport default Vue.extend({\n\tcomponents: {\n\t\tCalcInfoPanel,\n\t\tMiniDavenport,\n\t\tReferenceList,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tabgGenPick: Object.keys(abgGenerators)[0],\n\t\t\tabgGenOptions: Object.keys(abgGenerators),\n\t\t\tuserEditedABG: true,\n\t\t\tshowDemographics: false,\n\t\t\tshowPaO2: false,\n\t\t\tshowLactate: false,\n\t\t\tactiveChip: undefined as string | undefined,\n\t\t\tvalidABG: true,\n\t\t\trefRngs: BG.RefRngs,\n\t\t\tuserBloodGas: abgGenerators[\"Normal\"](true)[0],\n\t\t\tresults: {\n\t\t\t\tserumAnionGap: {gap: NaN, disturb: BG.DisturbType.Unknown} as BG.Gap,\n\t\t\t\tserumDeltaGap: {gap: NaN, disturb: BG.DisturbType.Unknown} as BG.Gap,\n\t\t\t\tadjustedPaO2: {lower: 80, upper: 100} as BG.RefRange,\n\t\t\t\tpHExpected: 7.4,\n\t\t\t\trealisticABG: true,\n\t\t\t\to2Disturbance: BG.DisturbType.Normal,\n\t\t\t\tpHDisturbance: BG.DisturbType.Normal,\n\t\t\t\tdisturbances: [BG.DisturbType.Unknown] as BG.DisturbType[],\n\t\t\t\texpectedCompensation: undefined as BG.DisturbType | undefined,\n\t\t\t\tcompleteCompensation: false,\n\t\t\t},\n\t\t\tinputDebounce: undefined as number | undefined,\n\t\t};\n\t},\n\twatch: {\n\t\tuserBloodGas: {\n\t\t\thandler(newVal, oldVal) {\n\t\t\t\tclearTimeout(this.inputDebounce);\n\t\t\t\tthis.inputDebounce = setTimeout(() => {\n\t\t\t\t\tthis.updateBloodGas();\n\t\t\t\t}, 600);\n\t\t\t},\n\t\t\tdeep: true,\n\t\t},\n\t},\n\tmethods: {\n\t\teditedABG() {\n\t\t\tthis.userEditedABG = true;\n\t\t},\n\t\tgenerateABG() {\n\t\t\tconst genABG = abgGenerators[this.abgGenPick](true)[0];\n\t\t\tthis.userBloodGas = genABG;\n\t\t\tthis.userEditedABG = false;\n\t\t},\n\t\tshuffleABG() {\n\t\t\tthis.abgGenPick = Object.keys(abgGenerators)[Math.ceil(Math.random() * Object.keys(abgGenerators).length) - 1];\n\t\t\tthis.generateABG();\n\t\t},\n\t\tupdateBloodGas() {\n\t\t\tconst urlQuery = Object.assign({}, this.userBloodGas.abg);\n\t\t\t// @ts-ignore\n\t\t\tthis.$router.replace({query: urlQuery});\n\t\t\tconst disturb = this.userBloodGas.guessDisturbances();\n\t\t\tthis.results = {\n\t\t\t\tadjustedPaO2: this.userBloodGas.adjustedPaO2(),\n\t\t\t\to2Disturbance: this.userBloodGas.o2Disturbance(),\n\t\t\t\tpHDisturbance: this.userBloodGas.phDisturbance(),\n\t\t\t\trealisticABG: this.userBloodGas.realisticABG(),\n\t\t\t\tpHExpected: this.userBloodGas.pHExpected(),\n\t\t\t\tserumAnionGap: this.userBloodGas.serumAnionGap(),\n\t\t\t\tserumDeltaGap: this.userBloodGas.serumDeltaGap(),\n\t\t\t\tdisturbances: disturb,\n\t\t\t\texpectedCompensation: this.userBloodGas.expectedCompensation(),\n\t\t\t\tcompleteCompensation: !disturb.includes(BG.DisturbType.IncompleteComp),\n\t\t\t};\n\t\t\tif (![\"pH\", \"O2\", \"anionGap\", \"deltaGap\", undefined].includes(this.activeChip)) {\n\t\t\t\tthis.activeChip = undefined;\n\t\t\t}\n\t\t},\n\t\tdecodeURL() {\n\t\t\tlet urlData = Object.assign({}, this.$route.query);\n\t\t\turlData = Object.keys(urlData).reduce((agg: any, key: string): any => {\n\t\t\t\tif (urlData[key] !== undefined) {\n\t\t\t\t\tconst numericParsed = parseFloat(urlData[key].toString());\n\t\t\t\t\tagg[key] = isNaN(numericParsed) ? urlData[key] : numericParsed;\n\t\t\t\t}\n\t\t\t\treturn agg;\n\t\t\t}, {});\n\t\t\tObject.assign(this.userBloodGas.abg, urlData);\n\t\t},\n\t\tactivateChipInfo(chipID: string) {\n\t\t\tif (chipID === \"Normal\") return;\n\t\t\tif (this.activeChip === chipID) {\n\t\t\t\tthis.activeChip = undefined;\n\t\t\t\tgoTo(\"#info-chips\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.activeChip = chipID;\n\t\t\tgoTo(\"#info-panel-container\");\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.decodeURL();\n\t\t\tthis.updateBloodGas();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGCalc.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGCalc.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ABGCalc.vue?vue&type=template&id=427e5640&\"\nimport script from \"./ABGCalc.vue?vue&type=script&lang=ts&\"\nexport * from \"./ABGCalc.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ABGCalc.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAvatar,VBtn,VCard,VChip,VContainer,VExpansionPanel,VExpansionPanelContent,VForm,VIcon,VLayout,VSelect,VTextField,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('headful',{attrs:{\"title\":\"ABGenius - Trainer\"}}),_c('div',{staticClass:\"abg-form\",attrs:{\"id\":\"abg-data\"}},[_c('div',{style:({'position': 'absolute', 'left': _vm.$vuetify.breakpoint.mdAndUp ? '20px' : '10px', 'top': _vm.$vuetify.breakpoint.mdAndUp ? '10px' : '14px'})},[(_vm.$vuetify.breakpoint.mdAndUp)?_c('div',{staticStyle:{\"border\":\"1px dotted white\",\"border-radius\":\"6px\",\"padding\":\"6px\"}},[_vm._v(\"\\n\\t\\t\\t\\tYou have scored:\"),_c('br'),_c('v-chip',{attrs:{\"color\":\"green\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.learnerPoints)+\" points\\n\\t\\t\\t\\t\")])],1):_c('div',[_c('v-chip',{attrs:{\"color\":\"green\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.learnerPoints)+\" x \"),_c('v-icon',{staticStyle:{\"font-size\":\"100%\",\"margin-top\":\"-4px\"}},[_vm._v(\"fas fa-star\")])],1)],1)]),_c('v-dialog',{attrs:{\"max-width\":\"500\",\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticStyle:{\"position\":\"absolute\",\"right\":\"20px\",\"top\":\"8px\"},attrs:{\"color\":\"primary\",\"fab\":\"\",\"small\":\"\",\"dark\":\"\"}},on),[_c('v-icon',[_vm._v(\"fa-question\")])],1)]}}]),model:{value:(_vm.instructionDialog),callback:function ($$v) {_vm.instructionDialog=$$v},expression:\"instructionDialog\"}},[_c('v-card',[_c('div',{staticClass:\"headline grey darken-2\",staticStyle:{\"text-align\":\"center\",\"padding\":\"12px\"},attrs:{\"primary-title\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tABG Trainer Instructions\\n\\t\\t\\t\\t\")]),_c('v-card-text',{staticStyle:{\"text-align\":\"justify\",\"padding\":\"16px 22px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tThe ABGenius trainer allows you to hone your skills in arterial blood gas interpretation.\\n\\t\\t\\t\\t\\tUse this as a low stress environment, where you should feel free to make mistakes as long as you learn from them!\\n\\t\\t\\t\\t\\tHere's how you can get started:\\n\\t\\t\\t\\t\\t\"),_c('ol',{staticClass:\"instruction-list\"},[_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tWhen you close this dialog, you will be presented with the results of a randomly selected ABG. \\n\\t\\t\\t\\t\\t\\t\\tInspect the values and try to decide what acid-base disturbances are indicated by this lab test.\\n\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tScroll down to the section entitled \\\"Interpret this ABG\\\" and click on each of the acid-base disturbances which you believe are present. Leave it blank if it's a normal ABG.\\n\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tIf the patient has not appropriately/completely/chronically compensated for the primary acid/base disturbance, click \\\"Incomplete Compensation\\\".\\n\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tWhen you are ready, click \\\"submit\\\" and you will be able to see the ABGenius answer. Click on each step in the answer to learn more.\\n\\t\\t\\t\\t\\t\\t\")]),_c('li',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tIf you made a mistake, try and learn from it; if not, keep up the strong work! As you complete more questions you will be able to track your performance in the feedback after each question or your profile. \\n\\t\\t\\t\\t\\t\\t\")])])]),_c('v-divider',{staticStyle:{\"margin-bottom\":\"4px\"}}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticStyle:{\"margin-bottom\":\"4px\",\"margin-right\":\"6px\"},attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.instructionDialog = false}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tContinue\\n\\t\\t\\t\\t\\t\")])],1)],1)],1),(!_vm.$vuetify.breakpoint.mdAndUp)?_c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"1px\",\"margin-top\":\"30px\"}}):_vm._e(),_c('center',[_c('h2',[_vm._v(\"Arterial Blood Gas\")])]),_c('v-layout',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"text-xs-center\":\"\",\"wrap\":\"\",\"justify-center\":\"\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"readonly\":\"\",\"type\":\"number\",\"label\":\"Serum pH\",\"outline\":\"\",\"step\":\"0.01\",\"min\":\"6\",\"max\":\"14\"},model:{value:(_vm.genBloodGas.abg.pH),callback:function ($$v) {_vm.$set(_vm.genBloodGas.abg, \"pH\", _vm._n($$v))},expression:\"genBloodGas.abg.pH\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.apH.lower + \" - \" + _vm.refRngs.apH.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"readonly\":\"\",\"type\":\"number\",\"label\":\"Serum Bicarb\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},model:{value:(_vm.genBloodGas.abg.bicarb),callback:function ($$v) {_vm.$set(_vm.genBloodGas.abg, \"bicarb\", _vm._n($$v))},expression:\"genBloodGas.abg.bicarb\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.aBicarb.lower + \" - \" + _vm.refRngs.aBicarb.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"readonly\":\"\",\"type\":\"number\",\"label\":\"PaCO2\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},model:{value:(_vm.genBloodGas.abg.PaCO2),callback:function ($$v) {_vm.$set(_vm.genBloodGas.abg, \"PaCO2\", _vm._n($$v))},expression:\"genBloodGas.abg.PaCO2\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.PaCO2.lower + \" - \" + _vm.refRngs.PaCO2.upper + \")\")+\"\\n\\t\\t\\t\\t\")])])],1),_c('center',[_c('h2',[_vm._v(\"Electrolytes\")])]),_c('v-layout',{staticStyle:{\"margin-top\":\"8px\"},attrs:{\"text-xs-center\":\"\",\"wrap\":\"\",\"justify-center\":\"\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"readonly\":\"\",\"type\":\"number\",\"label\":\"Serum Sodium\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},model:{value:(_vm.genBloodGas.abg.Na),callback:function ($$v) {_vm.$set(_vm.genBloodGas.abg, \"Na\", _vm._n($$v))},expression:\"genBloodGas.abg.Na\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.Na.lower + \" - \" + _vm.refRngs.Na.upper + \")\")+\"\\n\\t\\t\\t\\t\")])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-text-field',{staticClass:\"numeric-input\",attrs:{\"readonly\":\"\",\"type\":\"number\",\"label\":\"Serum Chloride\",\"outline\":\"\",\"step\":\"0.5\",\"min\":\"0\"},model:{value:(_vm.genBloodGas.abg.Cl),callback:function ($$v) {_vm.$set(_vm.genBloodGas.abg, \"Cl\", _vm._n($$v))},expression:\"genBloodGas.abg.Cl\"}})],1)]}}])},[_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\tRef Range: \"+_vm._s(\"(\" + _vm.refRngs.Cl.lower + \" - \" + _vm.refRngs.Cl.upper + \")\")+\"\\n\\t\\t\\t\\t\")])])],1)],1),(!_vm.answerSumitted)?_c('center',[_c('hr'),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.showGaps),expression:\"!showGaps\"}],attrs:{\"color\":\"blue-grey darken-3\"},on:{\"click\":function($event){_vm.showGaps=true}}},[_c('i',[_vm._v(\"Peek at Gap Calculations\")])]),(_vm.showGaps)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('v-chip',[(_vm.genBloodGas.serumAnionGap().disturb == 'Anion Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.genBloodGas.serumAnionGap().disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Anion Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.genBloodGas.serumAnionGap().gap.toFixed(1))+\"\\n\\t\\t\\t\")],1),_c('div',{staticStyle:{\"width\":\"20px\"}}),_c('v-chip',[(_vm.genBloodGas.serumDeltaGap().disturb == 'Delta Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.genBloodGas.serumDeltaGap().disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Delta Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.genBloodGas.serumDeltaGap().gap.toFixed(1))+\"\\n\\t\\t\\t\")],1)],1):_vm._e()],1):_vm._e(),_c('hr'),(!_vm.answerSumitted)?_c('div',{attrs:{\"id\":\"answer-container\"}},[_c('center',[_c('h2',[_vm._v(\"Click the chips below to describe the ABG!\")]),_c('i',[_vm._v(\"Remember to check for complete compensation of the primary process.\")]),_c('br'),_c('br'),(_vm.addableDisturb.length > 0)?_c('div',[_vm._l((_vm.addableDisturb),function(disturb,disturbIndex){return _c('v-btn',{key:disturbIndex,class:{'add-disturb-btn': !_vm.addedDisturb, 'disturb-btn': true},staticStyle:{\"padding-left\":\"0px\"},on:{\"click\":function($event){_vm.addDisturb(disturb); _vm.addedDisturb=true;}}},[_c('div',{staticStyle:{\"padding\":\"7px 6px\",\"border-radius\":\"2px\",\"background-color\":\"#7b591c\"}},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\", \"Anion Gap\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\")]):([\"Incomplete Compensation\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tfa-balance-scale\\n\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1),_c('div',{staticStyle:{\"margin\":\"0 8px 0 18px\",\"font-size\":\"90%\"}},[(disturb == \"Non-Gap Metabolic Acidosis\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tNon-Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\")]):(disturb == \"Anion Gap\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(disturb)+\"\\n\\t\\t\\t\\t\\t\\t\")])])])}),_c('br'),_c('br')],2):_c('div',{staticStyle:{\"margin-bottom\":\"20px\"}},[_c('i',[_vm._v(\"No additional disturbances to add.\")])])]),_c('hr'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"text-align\":\"center\",\"flex-wrap\":\"wrap\"}},[_c('h2',[_vm._v(\"Your Answer\"),(_vm.learnerAnswer.length > 0)?_c('span',[_vm._v(\" (click to remove)\")]):_vm._e(),_vm._v(\":\")]),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"10px\"}}),_vm._l((_vm.learnerAnswer),function(disturb,disturbIndex){return _c('v-btn',{key:disturbIndex,staticClass:\"disturb-btn\",staticStyle:{\"padding-left\":\"0px\"},on:{\"click\":function($event){return _vm.deleteDisturb(disturbIndex)}}},[_c('div',{staticStyle:{\"padding\":\"7px 6px\",\"border-radius\":\"2px\",\"background-color\":\"#7b591c\"}},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\", \"Anion Gap\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\")]):([\"Incomplete Compensation\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tfa-balance-scale\\n\\t\\t\\t\\t\\t\")]):_vm._e()],1),_c('div',{staticStyle:{\"margin\":\"0 8px 0 18px\",\"font-size\":\"90%\"}},[(disturb == \"Non-Gap Metabolic Acidosis\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tNon-Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\")]):(disturb == \"Anion Gap\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(disturb)+\"\\n\\t\\t\\t\\t\\t\")])])])}),(_vm.learnerAnswer.length === 0)?_c('v-sheet',{staticClass:\"answer-disturb-box\",attrs:{\"elevation\":\"4\"}},[_c('div',[_c('b',[_vm._v(\"Normal ABG\")]),_c('br'),_c('i',[_vm._v(\"(Add an Acid-Base Disturbance)\")])])]):_vm._e()],2),_c('hr'),_c('center',[_c('v-btn',{attrs:{\"color\":\"blue\"},on:{\"click\":_vm.submitAnswer}},[_vm._v(\"\\n\\t\\t\\t\\tSubmit Answer\\n\\t\\t\\t\")])],1)],1):_c('div',[_c('v-tabs',{attrs:{\"centered\":\"\",\"color\":\"cyan\",\"dark\":\"\",\"icons-and-text\":\"\",\"id\":\"feedback-tabs\"}},[_c('v-tabs-slider',{attrs:{\"color\":\"yellow\"}}),_c('v-tab',{staticClass:\"review-tab\",attrs:{\"href\":\"#answer-tab\"},on:{\"click\":function($event){return _vm.goTo('#feedback-tabs', { 'offset': 20 })}}},[_vm._v(\"\\n\\t\\t\\t\\tAnswer\\n\\t\\t\\t\\t\"),_c('v-icon',[_vm._v(\"fa-stethoscope\")])],1),(_vm.answerData && _vm.answerData.length > 0)?_c('v-tab',{staticClass:\"performance-tab\",attrs:{\"href\":\"#performance-tab\"},on:{\"click\":function($event){return _vm.goTo('#feedback-tabs', { 'offset': 20 })}}},[_vm._v(\"\\n\\t\\t\\t\\tLearning Curve\\n\\t\\t\\t\\t\"),_c('v-icon',[_vm._v(\"fa-chart-line\")])],1):_vm._e(),_c('v-tab',{staticClass:\"davenport-tab\",attrs:{\"href\":\"#davenport-tab\"},on:{\"click\":function($event){return _vm.goTo('#feedback-tabs', { 'offset': 20 })}}},[_vm._v(\"\\n\\t\\t\\t\\tDavenport Diagram\\n\\t\\t\\t\\t\"),_c('v-icon',[_vm._v(\"fa-glasses\")])],1),_c('v-tab',{staticClass:\"stats-tab\",attrs:{\"href\":\"#stats-tab\"},on:{\"click\":function($event){return _vm.goTo('#feedback-tabs', { 'offset': 20 })}}},[_vm._v(\"\\n\\t\\t\\t\\tStats\\n\\t\\t\\t\\t\"),_c('v-icon',[_vm._v(\"fa-table\")])],1),_c('v-tab-item',{attrs:{\"value\":\"answer-tab\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',{staticStyle:{\"padding-top\":\"24px\",\"display\":\"flex\",\"justify-content\":\"center\",\"flex-wrap\":\"wrap\"}},[_c('center',[_c('v-sheet',{staticClass:\"score-box\",attrs:{\"color\":_vm.percToColor(_vm.gradeAnswer),\"elevation\":\"4\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tScore: \"+_vm._s(_vm.gradeAnswer)+\"%\\n\\t\\t\\t\\t\\t\\t\\t\")])],1),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"10px\"}}),_c('center',{staticStyle:{\"border\":\"1px dotted #222\",\"width\":\"98%\",\"padding\":\"10px\"}},[_c('h3',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tYour Answer (took \"+_vm._s(_vm.timeElapsed)+\" sec):\\n\\t\\t\\t\\t\\t\\t\\t\")]),_vm._l((_vm.learnerAnswer),function(disturb,disturbIndex){return _c('v-chip',{key:disturbIndex},[(![\"Normal\", \"Unknown\"].includes(disturb))?_c('v-avatar',{staticClass:\"warning\"},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\", \"Anion Gap\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Incomplete Compensation\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-balance-scale\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),(disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),(disturb == 'Normal')?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tNo Acid Base Disorder\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('div',[(disturb == \"Non-Gap Metabolic Acidosis\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNon-Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):(disturb == \"Anion Gap\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(disturb)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])])],1)})],2),_c('center',{staticStyle:{\"border\":\"1px dotted #222\",\"width\":\"98%\",\"padding\":\"10px\",\"margin-top\":\"15px\"}},[_c('h3',{staticStyle:{\"margin-bottom\":\"8px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tGenius Answer: \"),(_vm.conditionName)?_c('span',[_vm._v(_vm._s(_vm.conditionName))]):_vm._e()]),_vm._l((_vm.geniusAnswer),function(disturb,disturbIndex){return _c('v-chip',{key:disturbIndex},[(![\"Normal\", \"Unknown\"].includes(disturb))?_c('v-avatar',{staticClass:\"warning\"},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\", \"Anion Gap\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Incomplete Compensation\"].includes(disturb))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-balance-scale\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1):_vm._e(),(disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),(disturb == 'Normal')?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tNo Acid Base Disorder\\n\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('div',[(disturb == \"Non-Gap Metabolic Acidosis\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNon-Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):(disturb == \"Anion Gap\")?_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('span',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(disturb)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])])],1)}),_c('hr'),_c('i',{staticStyle:{\"font-size\":\"118%\"}},[_vm._v(\"Click on the results of each step for more explanation:\")]),_c('v-layout',{attrs:{\"wrap\":\"\",\"justify-center\":\"\",\"id\":\"info-chips\"}},[_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 1: Assess Overall Blood pH\")]),_c('br'),(!_vm.results.realisticABG)?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('pH')}}},[_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-question\")])],1),_c('b',[_vm._v(\"Check ABG\")])],1):_vm._e(),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('pH')}}},[(_vm.results.pHDisturbance != 'Normal')?_c('v-avatar',{staticClass:\"error\"},[(_vm.results.pHDisturbance == 'Alkalemia')?_c('v-icon',[_vm._v(\"fas fa-arrow-up\")]):_vm._e(),(_vm.results.pHDisturbance == 'Acidemia')?_c('v-icon',[_vm._v(\"fas fa-arrow-down\")]):_vm._e()],1):_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1),_c('b',[_vm._v(\"Blood pH:\")]),_vm._v(\" \"+_vm._s(_vm.results.pHDisturbance)+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1)],1),_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 2: Mind the Gap(s)\")]),_c('br'),(_vm.results.serumAnionGap.disturb != undefined)?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('anionGap')}}},[(_vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.results.serumAnionGap.disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Anion Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.results.serumAnionGap.gap.toFixed(1))+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1):_vm._e(),(_vm.results.serumDeltaGap.disturb != undefined && _vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('deltaGap')}}},[(_vm.results.serumDeltaGap.disturb == 'Delta Gap')?_c('v-avatar',{staticClass:\"error\"},[_c('v-icon',[_vm._v(\"fas fa-arrows-alt-h\")])],1):_vm._e(),(_vm.results.serumDeltaGap.disturb == 'Normal')?_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1):_vm._e(),_c('b',[_vm._v(\"Delta Gap:\")]),_vm._v(\"  \"+_vm._s(_vm.results.serumDeltaGap.gap.toFixed(1))+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\")],1):_vm._e()],1),(_vm.results.serumAnionGap.disturb == 'Anion Gap')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 3: Add Anion Gap Acidosis\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('anionGap')}}},[_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1),_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tAnion Gap Metabolic Acidosis\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_vm._e(),(_vm.results.serumAnionGap.disturb == 'Anion Gap' && _vm.results.serumDeltaGap.disturb == 'Delta Gap')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 4: Account for Delta Gap\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('deltaGap')}}},[_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1),_c('div',[_vm._v(\"\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.results.disturbances[1])+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_vm._e(),(_vm.results.serumAnionGap.disturb == 'Anion Gap' && _vm.results.serumDeltaGap.disturb == 'Delta Gap')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 5: Add Respiratory Disturbances\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('Compensatory ' + _vm.results.disturbances[2])}}},[(_vm.results.disturbances[2] && ['Respiratory Acidosis', 'Respiratory Alkalosis'].includes(_vm.results.disturbances[2]))?_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1):_c('v-avatar',{staticClass:\"warning\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-not-equal\")])],1),(_vm.results.disturbances[2] && ['Respiratory Acidosis', 'Respiratory Alkalosis'].includes(_vm.results.disturbances[2]))?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.results.disturbances[2])+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNone\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_vm._e(),(_vm.results.serumAnionGap.disturb !== 'Anion Gap' && _vm.results.disturbances.length > 0)?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 3: Check Primary Disturbance\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){return _vm.activateChipInfo('Primary ' + _vm.results.disturbances[0])}}},[(_vm.results.disturbances[0] !== 'Normal')?_c('v-avatar',{staticClass:\"warning\"},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(_vm.results.disturbances[0]))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\"].includes(_vm.results.disturbances[0]))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1):_c('v-avatar',{staticClass:\"success\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-check\")])],1),(_vm.results.disturbances[0] !== 'Normal')?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.results.disturbances[0])+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tNone Detected\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_vm._e(),((_vm.results.serumDeltaGap.disturb !== 'Delta Gap' || _vm.results.serumDeltaGap.disturb !== 'Anion Gap') && _vm.results.disturbances[0] !== 'Normal')?_c('div',{staticClass:\"instruction-box\"},[_c('b',[_vm._v(\"Step 4: Check For Compensation\")]),_c('br'),_c('v-chip',{attrs:{\"label\":\"\"},on:{\"click\":function($event){_vm.activateChipInfo('Compensatory ' + (_vm.results.expectedCompensation))}}},[_c('v-avatar',{class:_vm.results.completeCompensation ? 'success' : 'warning'},[([\"Respiratory Acidosis\", \"Respiratory Alkalosis\"].includes(_vm.results.expectedCompensation))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-wind\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):([\"Non-Gap Metabolic Acidosis\", \"Metabolic Alkalosis\"].includes(_vm.results.expectedCompensation))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfa-vial\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_vm._e()],1),(_vm.results.completeCompensation)?_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tComplete Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")]):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tIncomplete Compensation\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_vm._e()])],2),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"10px\"}}),_c('div',{attrs:{\"id\":\"info-panel-container\"}},[_c('transition',{attrs:{\"name\":\"infos\",\"mode\":\"out-in\"}},[(_vm.activeChip !== undefined)?_c('CalcInfoPanel',{attrs:{\"id\":\"genius-info-panel\",\"activeChip\":_vm.activeChip,\"abg\":_vm.genBloodGas.abg,\"results\":_vm.results}}):_vm._e()],1)],1),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"0px\"}})],1)],1)],1),_c('v-tab-item',{attrs:{\"value\":\"performance-tab\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('learning-curve',{staticStyle:{\"margin\":\"auto\"},attrs:{\"answer-data\":_vm.answerData,\"width\":380,\"height\":260}})],1)],1),_c('v-tab-item',{attrs:{\"value\":\"davenport-tab\"}},[_c('v-card',{staticStyle:{\"overflow\":\"auto\",\"padding-top\":\"20px\"},attrs:{\"flat\":\"\"}},[_c('mini-davenport',{staticStyle:{\"margin\":\"auto\"},attrs:{\"answer-data\":_vm.genBloodGas}})],1)],1),_c('v-tab-item',{attrs:{\"value\":\"stats-tab\"}},[_c('v-card',{staticStyle:{\"overflow\":\"auto\",\"padding-top\":\"20px\"},attrs:{\"flat\":\"\"}},[_c('disorder-detective',{attrs:{\"answer-data\":_vm.answerData}}),_c('br')],1)],1)],1),_c('center',{staticStyle:{\"margin-top\":\"6px\"}},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.nextABG}},[_vm._v(\"\\n\\t\\t\\t\\tNext ABG\\n\\t\\t\\t\")])],1),_c('div',{staticStyle:{\"margin\":\"auto\",\"margin-top\":\"15px\",\"text-align\":\"center\",\"width\":\"400px\",\"transform\":\"scale(0.7)\",\"box-shadow\":\"inset 0 0 4px #222\",\"border-radius\":\"4px\",\"padding\":\"18px 28px 0 28px\"}},[_vm._v(\"\\n\\t\\t\\tClick to copy ABG URL:\\n\\t\\t\\t\"),_c('br'),_c('v-text-field',{attrs:{\"solo\":\"\",\"light\":\"\",\"readonly\":\"\",\"id\":\"abg-url-field\"},on:{\"click\":_vm.abgUrlCopy},model:{value:(_vm.abgUrl),callback:function ($$v) {_vm.abgUrl=$$v},expression:\"abgUrl\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst flatten = (arr: T[][]): T[] => {\n\treturn [].concat(...arr as any);\n};\n\nimport { BloodGas, DisturbType, RefRngs, RefRngMidpoint, ABGAnswer } from \"@/components/BloodGas\";\nimport { abgGenerators } from \"@/components/BloodGasGen\";\nimport * as jajax from \"@/jajax\";\nimport { arrayEq } from \"@/util\";\nimport goTo from \"vuetify/lib/components/Vuetify/goTo\";\n\nimport BrowserInteractionTime from \"browser-interaction-time\";\nconst BIT = new BrowserInteractionTime({\n\ttimeIntervalEllapsedCallbacks: [],\n\tabsoluteTimeEllapsedCallbacks: [],\n\tbrowserTabInactiveCallbacks: [],\n\tbrowserTabActiveCallbacks: [],\n\tidleTimeoutMs: 60 * 1000,\n\tcheckCallbacksIntervalMs: 250,\n});\n\nimport CalcInfoPanel from \"@/components/CalcInfoPanel.vue\";\nimport LearningCurve from \"@/components/LearningCurve.vue\";\nimport MiniDavenport from \"@/components/MiniDavenport.vue\";\nimport DisorderDetective from \"@/components/DisorderDetective.vue\";\n\nconst generatorDisturbs = Object.entries(abgGenerators).reduce((agg, [genName, gen]) => {\n\tagg[JSON.stringify(gen(true)[1])] = genName;\n\treturn agg;\n}, {} as {[disturbs: string]: string});\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tcomponents: {\n\t\tCalcInfoPanel,\n\t\tLearningCurve,\n\t\tMiniDavenport,\n\t\tDisorderDetective,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tinstructionDialog: false,\n\t\t\tactiveChip: undefined as string | undefined,\n\t\t\taddedDisturb: false,\n\t\t\ttimeElapsed: undefined as number | undefined,\n\t\t\tshowGaps: false,\n\t\t\tanswerSumitted: false,\n\t\t\tanswerData: [] as ABGAnswer[],\n\t\t\tdisturbToAdd: undefined as DisturbType | undefined,\n\t\t\trefRngs: RefRngs,\n\t\t\tgenBloodGas: new BloodGas({\n\t\t\t\tabg: {\n\t\t\t\t\tpH: RefRngMidpoint(\"apH\"),\n\t\t\t\t\tbicarb: RefRngMidpoint(\"aBicarb\"),\n\t\t\t\t\tPaCO2: RefRngMidpoint(\"PaCO2\"),\n\t\t\t\t\tPaO2: RefRngMidpoint(\"PaO2\"),\n\t\t\t\t\tNa: RefRngMidpoint(\"Na\"),\n\t\t\t\t\tK: RefRngMidpoint(\"K\"),\n\t\t\t\t\tCl: RefRngMidpoint(\"Cl\"),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tanswerInput: [] as Array>,\n\t\t\tlearnerAnswer: [] as DisturbType[],\n\t\t\tgeniusAnswer: [] as DisturbType[],\n\t\t\tconditionName: undefined as string | undefined,\n\t\t\tgoTo,\n\t\t};\n\t},\n\tmethods: {\n\t\taddDisturb(disturbToAdd: DisturbType | undefined) {\n\t\t\tdisturbToAdd = disturbToAdd || this.disturbToAdd;\n\t\t\tif (disturbToAdd === undefined) return;\n\t\t\tthis.learnerAnswer.push(disturbToAdd!);\n\t\t\tthis.disturbToAdd = undefined;\n\t\t},\n\t\tdeleteDisturb(disturbIndex: number) {\n\t\t\tthis.learnerAnswer.splice(disturbIndex, 1);\n\t\t},\n\t\tsubmitAnswer() {\n\t\t\tthis.answerSumitted = true;\n\t\t\tBIT.stopTimer();\n\t\t\tthis.timeElapsed = Math.round(BIT.getTimeInMilliseconds() / 1000);\n\t\t\tif (this.learnerAnswer.length === 0) {\n\t\t\t\tthis.learnerAnswer = [DisturbType.Normal];\n\t\t\t}\n\t\t\tconst answerData = {\n\t\t\t\tlearner: this.learnerAnswer,\n\t\t\t\tgenius: this.geniusAnswer,\n\t\t\t\tgrade: this.gradeAnswer,\n\t\t\t\ttimeElapsed: this.timeElapsed,\n\t\t\t\tpeekedAtGaps: this.showGaps,\n\t\t\t} as ABGAnswer;\n\t\t\tconst url = this.$store.state.api_url + \"/api/answer/submit\";\n\t\t\tjajax.postJSON(url, answerData, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.answerData.push(answerData);\n\t\t\t\tthis.$toast(`Earned ${answerData.grade} points, progress saved!`, {timeout: 4000});\n\t\t\t\tgoTo(\"#feedback-tabs\", { offset: 20 });\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to save response (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\t\t},\n\t\tloadAnswerData(): Promise {\n\t\t\tconst apiURL = this.$store.state.api_url + \"/api/answer/list\";\n\t\t\treturn jajax.getJSON(apiURL, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.answerData = (data || []).reverse();\n\t\t\t\t// If the user has not yet answered any questions, show them the instructions\n\t\t\t\tif (this.answerData.length < 1) {\n\t\t\t\t\tthis.instructionDialog = true;\n\t\t\t\t}\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to fetch answer data (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\t\t},\n\t\tselectNewGenerator(): string {\n\t\t\t// We first construct an Object with a key for each generator name, and a zero initial count.\n\t\t\tconst startObj = Object.keys(abgGenerators).reduce((agg, genName) => {\n\t\t\t\tagg[genName] = 0;\n\t\t\t\treturn agg;\n\t\t\t}, {} as {[q: string]: number});\n\t\t\t// Now we count up the generators used in the questions already answered by the user.\n\t\t\tconst genCounts = this.answerData.reduce((agg, x) => {\n\t\t\t\tconst disturbName = generatorDisturbs[JSON.stringify(x.genius)];\n\t\t\t\tif (disturbName === undefined) return agg;\n\t\t\t\t// We count for two exposures if the user has gotten the answer correct\n\t\t\t\t// Thus incorrectly answered scenarios will appear more frequently\n\t\t\t\tagg[disturbName] += 1 * (x.grade === 100 ? 2 : 1);\n\t\t\t\treturn agg;\n\t\t\t}, startObj);\n\t\t\t// Sum up the reciprocal of the counts for each generator to get a weight for selection\n\t\t\tconst countSum: number = Object.values(genCounts).reduce((agg, genCount) => {\n\t\t\t\treturn agg + (1 / Math.max(genCount, 1));\n\t\t\t}, 0);\n\t\t\t// Generate a random float between 0 and 1\n\t\t\tconst randNum = Math.random();\n\t\t\t// Iterate over the disturbs, picking the generator which owns a given \"weight window\" between 0 and 1\n\t\t\t// Generators seen less frequently will have a larger window and are thus most likely to be selected\n\t\t\t// If we get to the last window and we still haven't picked a generator, then we should pick the last generator in the list\n\t\t\tlet iterSum = 0;\n\t\t\treturn (Object.entries(genCounts).find(([genNames, genCount]) => {\n\t\t\t\titerSum = iterSum + (1 / Math.max(genCount, 1));\n\t\t\t\treturn (iterSum / countSum) > randNum;\n\t\t\t}) || [Object.keys(genCounts)[Object.keys(genCounts).length - 1]])[0];\n\t\t},\n\t\tnextABG() {\n\t\t\t// Naive random selection\n\t\t\t// const randomGen = Object.keys(abgGenerators)[Math.floor(Math.random() * Object.keys(abgGenerators).length)];\n\t\t\t// Experience-weighted random selection\n\t\t\tthis.conditionName = this.selectNewGenerator();\n\t\t\tthis.answerSumitted = false;\n\t\t\tthis.showGaps = false;\n\t\t\t[this.genBloodGas, this.geniusAnswer] = abgGenerators[this.conditionName](true);\n\t\t\tthis.learnerAnswer = [];\n\t\t\tthis.addedDisturb = false;\n\t\t\tthis.activeChip = undefined;\n\t\t\tBIT.reset();\n\t\t\tBIT.startTimer();\n\t\t\tgoTo(\"#abg-data\", { offset: 40 });\n\t\t},\n\t\tpercToColor(perc: number) {\n\t\t\tlet r = 0;\n\t\t\tlet g = 0;\n\t\t\tconst b = 60;\n\t\t\tif (perc < 50) {\n\t\t\t\tr = 255;\n\t\t\t\tg = Math.round(5.1 * perc);\n\t\t\t} else {\n\t\t\t\tg = 200;\n\t\t\t\tr = Math.round(510 - 5.1 * perc);\n\t\t\t}\n\t\t\tconst h = r * 0x10000 + g * 0x100 + b * 0x1;\n\t\t\treturn \"#\" + (\"000000\" + h.toString(16)).slice(-6);\n\t\t},\n\t\tactivateChipInfo(chipID: string) {\n\t\t\tif (chipID === \"Normal\") return;\n\t\t\tif (this.activeChip === chipID) {\n\t\t\t\tthis.activeChip = undefined;\n\t\t\t\tgoTo(\"#info-chips\");\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.activeChip = chipID;\n\t\t\tgoTo(\"#info-panel-container\");\n\t\t},\n\t\tabgUrlCopy() {\n\t\t\tthis.$toast(\"Copied ABG url to clipboard, share away!\");\n\t\t\tconst urlField: any = document.getElementById(\"abg-url-field\");\n\t\t\t/* Select the text field */\n\t\t\turlField.select();\n\t\t\turlField.setSelectionRange(0, 99999); /*For mobile devices*/\n\t\t\t/* Copy the text inside the text field */\n\t\t\tdocument.execCommand(\"copy\");\n\t\t},\n\t},\n\tcomputed: {\n\t\taddableDisturb(): DisturbType[] {\n\t\t\tconst primaryDisturb = [\n\t\t\t\tDisturbType.RespAcid, DisturbType.RespAlk,\n\t\t\t\tDisturbType.MetAlk, DisturbType.MetAcid,\n\t\t\t\tDisturbType.AnionGap,\n\t\t\t\tDisturbType.IncompleteComp,\n\t\t\t];\n\t\t\treturn primaryDisturb.filter((disturb) => {\n\t\t\t\t// Can only add one respiratory disorder\n\t\t\t\tif ([DisturbType.RespAcid, DisturbType.RespAlk].includes(disturb)) {\n\t\t\t\t\treturn !this.learnerAnswer.includes(DisturbType.RespAcid) && !this.learnerAnswer.includes(DisturbType.RespAlk);\n\t\t\t\t}\n\t\t\t\t// Can only have one of everything else\n\t\t\t\treturn !this.learnerAnswer.includes(disturb);\n\t\t\t});\n\t\t},\n\t\tgradeAnswer(): number {\n\t\t\tconst learnerLeftovers = this.learnerAnswer.map((answer: DisturbType) => JSON.stringify(answer));\n\t\t\tconst geniusLeftovers = this.geniusAnswer.map((answer: DisturbType) => JSON.stringify(answer))\n\t\t\t.filter((disturbGroup: any) => {\n\t\t\t\tconst learnerIndex = learnerLeftovers.indexOf(disturbGroup);\n\t\t\t\tif (learnerIndex === -1) return true;\n\t\t\t\tlearnerLeftovers.splice(learnerIndex, 1);\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\treturn Math.round(Math.max(\n\t\t\t\t100 * (this.geniusAnswer.length - (learnerLeftovers.length + geniusLeftovers.length)) / this.geniusAnswer.length,\n\t\t\t\t0,\n\t\t\t));\n\t\t},\n\t\tresults(): any {\n\t\t\tconst disturb = this.genBloodGas.guessDisturbances();\n\t\t\treturn {\n\t\t\t\tadjustedPaO2: this.genBloodGas.adjustedPaO2(),\n\t\t\t\to2Disturbance: this.genBloodGas.o2Disturbance(),\n\t\t\t\tpHDisturbance: this.genBloodGas.phDisturbance(),\n\t\t\t\trealisticABG: this.genBloodGas.realisticABG(),\n\t\t\t\tpHExpected: this.genBloodGas.pHExpected(),\n\t\t\t\tserumAnionGap: this.genBloodGas.serumAnionGap(),\n\t\t\t\tserumDeltaGap: this.genBloodGas.serumDeltaGap(),\n\t\t\t\texpectedCompensation: this.genBloodGas.expectedCompensation(),\n\t\t\t\tdisturbances: disturb,\n\t\t\t\tcompleteCompensation: !disturb.includes(DisturbType.IncompleteComp),\n\t\t\t};\n\t\t},\n\t\tabgUrl(): string {\n\t\t\treturn window.location.origin + `/?pH=${this.genBloodGas.abg.pH}&PaCO2=${this.genBloodGas.abg.PaCO2}&bicarb=${this.genBloodGas.abg.bicarb}&Na=${this.genBloodGas.abg.Na}&Cl=${this.genBloodGas.abg.Cl}`;\n\t\t},\n\t\tlearnerPoints(): number {\n\t\t\treturn this.answerData.reduce((agg, answer) => {\n\t\t\t\treturn agg + answer.grade;\n\t\t\t}, 0);\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(function() {\n\t\t\tthis.loadAnswerData().then(() => this.nextABG());\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGTrain.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGTrain.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ABGTrain.vue?vue&type=template&id=13fb716c&\"\nimport script from \"./ABGTrain.vue?vue&type=script&lang=ts&\"\nexport * from \"./ABGTrain.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ABGTrain.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsSlider } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAvatar,VBtn,VCard,VCardActions,VCardText,VChip,VContainer,VDialog,VDivider,VIcon,VLayout,VSheet,VSpacer,VTab,VTabItem,VTabs,VTabsSlider,VTextField,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"15px\",\"max-width\":\"1400px\",\"margin\":\"auto\",\"text-align\":\"center\"}},[_c('h1',{},[_vm._v(\"Pulmonary Gas Exchange Simulator\")]),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-wrap\":\"wrap\",\"justify-content\":\"center\",\"margin-top\":\"30px\"}},_vm._l((_vm.inputData),function(data,field){return _c('v-text-field',{key:field,staticClass:\"sim-input\",attrs:{\"type\":\"number\",\"min\":data.range[0],\"max\":data.range[1],\"outline\":\"\"},on:{\"input\":function($event){return _vm.inputUpdated(1000)}},model:{value:(_vm.sim[field]),callback:function ($$v) {_vm.$set(_vm.sim, field, _vm._n($$v))},expression:\"sim[field]\"}},[_c('template',{slot:\"label\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(data.label)+\"\\n\\t\\t\\t\")])],2)}),1),_c('v-label',[_vm._v(\"\\n\\t\\tVQ Preset:\\n\\t\")]),_c('v-select',{staticStyle:{\"width\":\"400px\",\"margin\":\"auto\",\"text-align\":\"center\"},attrs:{\"label\":\"VQ Preset\",\"solo\":\"\",\"items\":_vm.preset_items},on:{\"input\":function($event){return _vm.inputUpdated(150)}},model:{value:(_vm.vq_preset),callback:function ($$v) {_vm.vq_preset=$$v},expression:\"vq_preset\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.simPending),expression:\"simPending\"}]},[_c('v-btn',{staticClass:\"mb-2\",on:{\"click\":_vm.runSim}},[_c('b',[_vm._v(\"Run\")])]),_vm._v(\"\\n\\t\\t   \\n\\t\")],1),_c('v-btn',{staticClass:\"mb-2\",on:{\"click\":_vm.resetSim}},[_c('b',[_vm._v(\"Reset\")])]),_c('hr',{staticStyle:{\"margin\":\"20px\"}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.invalidInputs.length > 0),expression:\"invalidInputs.length > 0\"}],staticStyle:{\"color\":\"red\",\"margin-bottom\":\"20px\",\"font-weight\":\"bold\"}},[_c('span',{staticStyle:{\"font-size\":\"120%\"}},[_vm._v(\"\\n\\t\\t\\tWARNING: The following settings may be incompatible with life, simulation results may be inaccurate.\\n\\t\\t\")]),_c('br'),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"max-width\":\"60%\",\"margin\":\"auto\"}},_vm._l((_vm.invalidInputs),function(invalid){return _c('div',{key:invalid,staticStyle:{\"margin\":\"10px\",\"background-color\":\"#ffbdbd\",\"border\":\"2px solid red\",\"padding\":\"8px\",\"border-radius\":\"4px\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.inputData[invalid].label)+\"\\n\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\tRange = \"+_vm._s(_vm.inputData[invalid].range[0])+\" to \"+_vm._s(_vm.inputData[invalid].range[1])+\"\\n\\t\\t\\t\")])}),0)]),_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-around\"}},[_c('v-card',{staticStyle:{\"padding\":\"12px\"}},[_c('h2',{staticStyle:{\"margin-bottom\":\"12px\"}},[_vm._v(\"VQ Zones\")]),_c('v-divider'),_c('vqview',{attrs:{\"vq\":_vm.sim.alveoli.map(function (x) { return Math.abs(Math.log(100 * Math.abs(1 - x.v_pct / x.q_pct) + 0.00001)); }),\"width\":460,\"height\":380}})],1),_c('v-card',{staticStyle:{\"padding\":\"12px\"},attrs:{\"width\":\"480\"}},[_c('h2',{staticStyle:{\"margin-bottom\":\"12px\"}},[_vm._v(\"Compartment Values\")]),_c('v-divider'),_c('div',[_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Final pH:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.a_pH.toFixed(2)))])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Arterial P\"),_c('sub',[_vm._v(\"A\")]),_vm._v(\" O\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\":\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.pa_o2.toFixed(2))+\" torr\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Arterial P\"),_c('sub',[_vm._v(\"A\")]),_vm._v(\" CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\":\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.pa_co2.toFixed(2))+\" torr\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Arterial O\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" Concentration:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.art_o2_con.toFixed(2))+\" mL/L of blood\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Arterial CO\"),_c('sub',[_vm._v(\"2\")]),_vm._v(\" Concentration:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.art_co2_con.toFixed(2))+\" mL/L of blood\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Arterial HCO\"),_c('sub',[_vm._v(\"3\")]),_vm._v(\" Concentration:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.calcBicarb.toFixed(2))+\" mmol/L of blood\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Base Excess:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.calcBaseExcess.toFixed(2)))])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Hemoglobin Saturation:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.hgb_sat.toFixed(2))+\"%\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Total Dead Space:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.deadspace_pct.toFixed(2))+\"%\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Venous Admixture:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.venous_admixture_pct.toFixed(2))+\"%\")])]),_c('div',{staticClass:\"result-row\"},[_c('span',{staticClass:\"output-label\"},[_vm._v(\"Overall R:\")]),_c('span',{staticClass:\"align-end\"},[_vm._v(_vm._s(_vm.sim.results.resp_quotient.toFixed(2)))])]),_c('br'),_c('a',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.invalidInputs.length === 0),expression:\"invalidInputs.length === 0\"}],staticStyle:{\"color\":\"white\",\"font-size\":\"110%\"},attrs:{\"href\":_vm.abgURL,\"target\":\"blank\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\tGenerate ABG from results\\n\\t\\t\\t\\t\")])])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright 1997 - 2020 New York University - All Rights Reserved\n/*\n *\n * Converted from Fortran code\n * Conversion by Marc Waldman\n * https://home.manhattan.edu/~marc.waldman/research.htm\n *\n * Converted from ancient Javascript to modern Javascript\n * Conversion by Jordan Poles\n * https://jpoles1.com/\n *\n */\n\n/* tslint:disable:variable-name */\n\nimport * as fmin from \"fmin\";\n\nconst MAX_ITER = 2000;\n\nimport { vqPresets, VQPreset } from \"@/components/VQPresets\";\n\nexport interface Alveolus {\n\t/** Ventilation */\n\tv_pct: number;\n\t/** Perfusion */\n\tq_pct: number;\n}\n\ninterface SimResults {\n\ttotal_vent: number;\n\ta_pH: number; // pH of arterial blood\n\tpa_o2: number; // Partial pressure of O2 in arterial blood\n\tpa_co2: number; // Partial pressure of CO2 in arterial blood\n\tart_o2_con: number; // Oxygen content in arterial blood\n\tart_co2_con: number; // Carbon dioxide content in arterial blood\n\thgb_sat: number; // Hemoglobin saturation\n\tshunt_pct: number; // % of cardiac output shunted\n\tdeadspace_pct: number;\n\tvenous_admixture_pct: number;\n\tresp_quotient: number;\n\tideal_vaq: number;\n}\n\nexport class VQSim {\n\t// SIM STATE\n\n\t/** Stores the state of discrete alveoli */\n\tpublic alveoli: Alveolus[];\n\tpublic results: SimResults;\n\n\t// PHYSICAL CONSTANTS\n\n\t/** Ambient temperature in °C */\n\tpublic temp: number;\n\t/** Atmospheric pressure */\n\tpublic atm_press: number;\n\t/** Calculation tolerance */\n\tpublic tolerance: number;\n\t// PATIENT CHARACTERISTICS\n\n\t/** Cardiac output in L/min */\n\tpublic cardiac_output: number;\n\t/** Blood hemoglobin concentration */\n\tpublic hgb: number;\n\t/** Blood hematocrit (estimated from hemoglobin) */\n\tpublic hcrit: number;\n\t/** Rate of oxygen consumption (due to metabolism) in mL/min */\n\tpublic v_o2: number;\n\t/** Rate of oxygen consumption (due to metabolism) in mL/min */\n\tpublic v_co2: number;\n\t/** Amount by which the p50 of patient's blood exceeds the p50 of the standard dissociation curve */\n\tpublic dp50: number;\n\t/** Volume of anatomic deadspace accounting for airways in mL */\n\tpublic anatomic_deadspace_airways: number;\n\t/** Percentage of tidal volume otherwise lost as deadspace */\n\tpublic tv_deadspace_pct: number;\n\n\t// VENTILATOR SETTINGS\n\n\t/** Respiratory rate */\n\tpublic resp_rate: number;\n\t/** Tidal volume */\n\tpublic tidal_vol: number;\n\t/** Fraction of O2 in inspired air */\n\tpublic fi_o2: number;\n\t/** Partial pressre of O2 in inspired air */\n\tpublic pi_o2: number;\n\t/** Fraction of CO2 in inspired air */\n\tpublic fi_co2: number;\n\t/** Partial pressre of CO2 in inspired air */\n\tpublic pi_co2: number;\n\t/** Partial pressure of nitrogen in mixed venous blood */\n\tpublic pv_n2: number;\n\n\tconstructor(preset: VQPreset, resp_rate = 16, tidal_vol = 450, fi_o2 = 0.21) {\n\t\t// PHYSICAL CONSTANTS\n\t\tthis.temp = 37;\n\t\tthis.atm_press = 760;\n\t\tthis.tolerance = 2;\n\t\t// PATIENT CHARACTERISTICS\n\t\tthis.cardiac_output = 5.4;\n\t\tthis.hgb = 15;\n\t\tthis.hcrit = this.hgb * 3;\n\t\tthis.v_o2 = 300;\n\t\tthis.v_co2 = 240;\n\t\tthis.dp50 = 26.8;\n\t\tthis.anatomic_deadspace_airways = 100;\n\t\t// VENTILATOR SETTINGS\n\t\tthis.resp_rate = resp_rate;\n\t\tthis.tidal_vol = tidal_vol;\n\t\tthis.fi_o2 = fi_o2;\n\t\tthis.pi_o2 = this.fi_o2 * (this.atm_press - 47.0);\n\t\tthis.pi_co2 = 0;\n\t\tthis.fi_co2 = this.pi_co2 / (this.atm_press - 47.0);\n\t\tthis.pv_n2 = this.atm_press - 47 - this.pi_o2 - this.pi_co2;\n\t\t// SIM STATE\n\t\tthis.alveoli = preset.vqZones.map((a) => {\n\t\t\treturn {v_pct: a[0], q_pct: a[1]} as Alveolus;\n\t\t});\n\t\tthis.alveoli.shift();\n\t\tthis.tv_deadspace_pct = preset.tvDeadspacePct;\n\t\tthis.results = {\n\t\t\ttotal_vent: 0,\n\t\t\ta_pH: 0,\n\t\t\tpa_o2: 0,\n\t\t\tpa_co2: 0,\n\t\t\tart_o2_con: 0,\n\t\t\tart_co2_con: 0,\n\t\t\thgb_sat: 0,\n\t\t\tshunt_pct: 0,\n\t\t\tdeadspace_pct: 0,\n\t\t\tvenous_admixture_pct: 0,\n\t\t\tresp_quotient: 0,\n\t\t\tideal_vaq: 0,\n\t\t};\n\t}\n\tpublic run_sim() {\n\t\t// Regenerate computed sim params\n\t\tthis.pi_o2 = this.fi_o2 * (this.atm_press - 47.0);\n\t\tthis.pi_co2 = 0;\n\t\tthis.fi_co2 = this.pi_co2 / (this.atm_press - 47.0);\n\t\tthis.pv_n2 = this.atm_press - 47 - this.pi_o2 - this.pi_co2;\n\t\t// Calculate total ventilation\n\t\tthis.results.total_vent = this.resp_rate * (this.tidal_vol / 1000 - (this.anatomic_deadspace_airways / 1000 + ((this.tv_deadspace_pct / 100) * this.tidal_vol) / 1000));\n\t\tlet shunt = 0;\n\t\t// Assign compartment values based on percents\n\t\tconst vq_total = this.alveoli.map((a: Alveolus) => {\n\t\t\tconst v = (a.v_pct / 100) * this.results.total_vent;\n\t\t\tconst q = (a.q_pct / 100) * this.cardiac_output;\n\t\t\tconst vq = q === 0 ? 1000 : v / q;\n\t\t\tif (v === 0) shunt += q;\n\t\t\treturn { v, q, vq };\n\t\t});\n\t\t//Shunt as pct of cardiac output\n\t\tthis.results.shunt_pct = (100 * shunt) / this.cardiac_output;\n\t\tthis.find_mvp();\n\t}\n\tpublic pureo2(FMVO2: Readonly, FMVCO2: Readonly, GVAQ: Readonly): any {\n\t\t//TODO: Probably all wrong here... redo this\n\t\tlet pureo2_loop = true; // initialization required\n\n\t\tconst TOL1 = 0.001;\n\t\tlet R1 = 0;\n\t\tlet PCO21 = this.pi_co2;\n\t\tlet PCO22X = this.pi_co2 + this.pi_o2;\n\t\tlet pa_o2 = 0;\n\t\tlet pa_co2 = 0;\n\t\tlet o2_con = 0;\n\t\tlet co2_con = 0;\n\t\tlet FVQ = 0;\n\t\twhile (pureo2_loop) {\n\t\t\t// simulate goto 10 line after label 20,30\n\t\t\tpa_co2 = (PCO21 + PCO22X) / 2.0;\n\t\t\tpa_o2 = this.pi_o2 + this.pi_co2 - pa_co2;\n\t\t\t[o2_con, co2_con] = this.blood(pa_o2, pa_co2);\n\t\t\tR1 = (o2_con - FMVO2) / (FMVCO2 - co2_con);\n\t\t\tconst CON1 = 1.0 + this.fi_co2 * (R1 - 1.0);\n\t\t\tFVQ = (8.63 * (FMVCO2 - co2_con) * CON1) / (pa_co2 - this.pi_co2);\n\t\t\tconst DIFF = Math.abs(GVAQ - FVQ);\n\t\t\tif (DIFF > TOL1) {\n\t\t\t\t//changed the DIFF .LE. TOL1 to\n\t\t\t\t//simulate action of goto\n\t\t\t\t// simulate the arithmetic if on line before label 20\n\t\t\t\tif (GVAQ - FVQ < 0) {\n\t\t\t\t\tPCO21 = pa_co2;\n\t\t\t\t} else if (GVAQ - FVQ === 0) {\n\t\t\t\t\tpureo2_loop = false;\n\t\t\t\t} else if (GVAQ - FVQ > 0) {\n\t\t\t\t\tPCO22X = pa_co2;\n\t\t\t\t}\n\t\t\t} else pureo2_loop = false;\n\t\t}\n\t\tconst RZ = 1.0 / R1;\n\t\treturn [pa_o2, pa_co2, o2_con, co2_con, FVQ, RZ];\n\t}\n\tpublic grad_desc_vqsoln(pmv_o2: Readonly, pmv_co2: Readonly, o2_con: Readonly, co2_con: Readonly, comp_vq: Readonly) {\n\t\tconst ALPHA = 0.0017;\n\t\tconst loss = (X: [number, number]) => {\n\t\t\tconst trial_pmv_o2 = X[0];\n\t\t\tconst trial_pmv_co2 = X[1];\n\t\t\tlet [O2CON1, CCO21] = [0, 0];\n\t\t\tconst [trial_o2_con, trial_co2_con] = this.blood(trial_pmv_o2, trial_pmv_co2);\n\t\t\tif (this.pv_n2 !== 0.0) {\n\t\t\t\tconst RZ = (co2_con - trial_co2_con) / (trial_o2_con - o2_con);\n\t\t\t\tconst FAO2 = pmv_o2 / (this.atm_press - 47.0);\n\t\t\t\tconst FACO2 = pmv_co2 / (this.atm_press - 47.0);\n\t\t\t\tconst FVN2 = this.pv_n2 / (this.atm_press - 47.0);\n\t\t\t\tconst C1 = 1.0 - FAO2 - FACO2;\n\t\t\t\tconst C2 = C1 - FVN2;\n\t\t\t\tconst C3 = 1.0 - this.fi_o2 - this.fi_co2;\n\t\t\t\tconst B1 = (comp_vq * C1) / C3;\n\t\t\t\tconst B2 = (8.63 * ALPHA * C2) / C3;\n\t\t\t\tO2CON1 = o2_con + (this.pi_o2 * (B1 + B2) - trial_pmv_o2 * comp_vq) / 8.63;\n\t\t\t\tCCO21 = co2_con - (trial_pmv_co2 * comp_vq - this.pi_co2 * (B1 + B2)) / 8.63;\n\t\t\t} else {\n\t\t\t\t// this.pv_n2 is equal to 0.0 - Code is from label 50 - 60\n\t\t\t\t//N2 EXCHANGE IGNORED - fortran code comment\n\t\t\t\tconst ABAB = trial_pmv_co2 * (1.0 - this.fi_o2) - this.fi_co2 * (this.atm_press - 47.0 - trial_pmv_o2);\n\t\t\t\tconst AAAA = (ABAB * comp_vq) / (8.63 * (1.0 - this.fi_o2 - this.fi_co2));\n\t\t\t\tconst BBAA = this.pi_o2 - trial_pmv_o2 * (1.0 - this.fi_co2) - this.fi_o2 * trial_pmv_co2;\n\t\t\t\tconst AABB = trial_pmv_co2 * (1.0 - this.fi_o2) - this.pi_co2 + this.fi_co2 * trial_pmv_o2;\n\t\t\t\tconst RZ = AABB / BBAA;\n\t\t\t\tO2CON1 = o2_con + AAAA / RZ;\n\t\t\t\tCCO21 = co2_con - AAAA;\n\t\t\t}\n\t\t\tconst o2_loss = Math.abs(trial_o2_con - O2CON1);\n\t\t\tconst co2_loss = Math.abs(trial_co2_con - CCO21);\n\t\t\tconst neg_loss = pmv_o2 < 0 || pmv_co2 < 0 ? 1000 : 0;\n\t\t\treturn o2_loss + co2_loss + neg_loss;\n\t\t};\n\t\tconst solution = fmin.nelderMead(loss, [40, 45]).x;\n\t\tconst search_pmv_o2 = solution[0];\n\t\tconst search_pmv_co2 = solution[1];\n\t\tconst [search_o2_con, search_co2_con] = this.blood(search_pmv_o2, search_pmv_co2);\n\t\treturn [search_pmv_o2, search_pmv_co2, search_o2_con, search_co2_con];\n\t}\n\t/**\n\t *\n\t * @param pmv_o2 Partial pressure of O2 in mixed venous blood sample\n\t * @param pmv_co2 Partial pressure of CO2 in mixed venous blood sample\n\t * @param o2_con O2 content in mixed venous blood sample\n\t * @param co2_con CO2 content in mixed venous blood sample\n\t * @param comp_vq VQ ratio for a given gas exchange compartment\n\t */\n\tpublic vqsoln(pmv_o2: Readonly, pmv_co2: Readonly, o2_con: Readonly, co2_con: Readonly, comp_vq: Readonly): any {\n\t\tlet O2CON1;\n\t\tlet CCO21;\n\t\tlet NFLAG; //local variable not same as global NFLAG array\n\t\tlet DET1;\n\t\tlet DET2;\n\t\tlet broke_out_of_for_loop = false; // used to simulate the goto out of\n\t\t// the for loop starting at label 40\n\t\t// and ending at label 90\n\t\tlet outer_while_loop = true; // used to simulate goto on label 210\n\t\tlet inner_while_loop = true; // used to simulate goto right before\n\t\t// label 190\n\t\tlet J;\n\n\t\tlet U = new Array(5);\n\t\tconst F = new Array(5);\n\t\tconst G = new Array(5);\n\n\t\tconst TOL1 = 0.001;\n\t\tconst ALPHA = 0.0017;\n\t\t// Use rules to create 3 pairs of boundary values for mixed venous oxygen and co2 partial pressures\n\t\t// Used to define our field of search for the algorithm used below\n\t\tlet pmv_o2_opts: number[];\n\t\tlet pmv_co2_opts: number[];\n\t\tif (comp_vq <= 0.55) {\n\t\t\tpmv_o2_opts = [pmv_o2 + 0.1, pmv_o2 + 0.1, pmv_o2 + 10.0];\n\t\t\tpmv_co2_opts = [pmv_co2, pmv_co2 + 5.0, pmv_co2];\n\t\t} else if (comp_vq >= 10.0) {\n\t\t\tpmv_co2_opts = [0.2 + this.pi_co2, (8.63 * o2_con) / comp_vq + this.pi_co2, (8.63 * o2_con) / comp_vq + this.pi_co2];\n\t\t\tpmv_o2_opts = [(this.pi_o2 - this.fi_o2 * pmv_co2_opts[0]) / (1.0 - this.fi_co2) - 0.1, (this.pi_o2 - this.fi_o2 * pmv_co2_opts[1]) / (1.0 - this.fi_co2) - 0.1, (this.pi_o2 - this.fi_o2 * pmv_co2_opts[0]) / (1.0 - this.fi_co2) - 0.1];\n\t\t} else {\n\t\t\tconst PIVOT = (this.pi_o2 + pmv_o2) / 2.0;\n\t\t\tpmv_o2_opts = [PIVOT, PIVOT + 20.0, PIVOT];\n\t\t\tpmv_co2_opts = [10, 40, 40];\n\t\t}\n\t\tlet ITER = 0;\n\t\tlet NNN = 3;\n\t\tlet search_o2_con = 0;\n\t\tlet search_co2_con = 0;\n\t\tlet search_pmv_o2 = 0;\n\t\tlet search_pmv_co2 = 0;\n\t\tlet FVQ = 0;\n\t\tlet RZ = 0;\n\t\twhile (outer_while_loop) {\n\t\t\tfor (let N = 0; N < NNN; N++) {\n\t\t\t\tsearch_pmv_o2 = pmv_o2_opts[N];\n\t\t\t\tsearch_pmv_co2 = pmv_co2_opts[N];\n\t\t\t\t[search_o2_con, search_co2_con] = this.blood(search_pmv_o2, search_pmv_co2);\n\t\t\t\t// If N2 is present in venous blood\n\t\t\t\tif (this.pv_n2 !== 0.0) {\n\t\t\t\t\tRZ = (co2_con - search_co2_con) / (search_o2_con - o2_con);\n\t\t\t\t\tconst FAO2 = search_pmv_o2 / (this.atm_press - 47.0);\n\t\t\t\t\tconst FACO2 = search_pmv_co2 / (this.atm_press - 47.0);\n\t\t\t\t\tconst FVN2 = this.pv_n2 / (this.atm_press - 47.0);\n\t\t\t\t\tconst C1 = 1.0 - FAO2 - FACO2;\n\t\t\t\t\tconst C2 = C1 - FVN2;\n\t\t\t\t\tconst C3 = 1.0 - this.fi_o2 - this.fi_co2;\n\t\t\t\t\tconst B1 = (comp_vq * C1) / C3;\n\t\t\t\t\tconst B2 = (8.63 * ALPHA * C2) / C3;\n\t\t\t\t\tO2CON1 = o2_con + (this.pi_o2 * (B1 + B2) - search_pmv_o2 * comp_vq) / 8.63;\n\t\t\t\t\tCCO21 = co2_con - (search_pmv_co2 * comp_vq - this.pi_co2 * (B1 + B2)) / 8.63;\n\t\t\t\t} else {\n\t\t\t\t\t// this.pv_n2 is equal to 0.0 - Code is from label 50 - 60\n\t\t\t\t\t//N2 EXCHANGE IGNORED - fortran code comment\n\t\t\t\t\tconst ABAB = pmv_co2_opts[N] * (1.0 - this.fi_o2) - this.fi_co2 * (this.atm_press - 47.0 - pmv_o2_opts[N]);\n\t\t\t\t\tconst AAAA = (ABAB * comp_vq) / (8.63 * (1.0 - this.fi_o2 - this.fi_co2));\n\t\t\t\t\tconst BBAA = this.pi_o2 - pmv_o2_opts[N] * (1.0 - this.fi_co2) - this.fi_o2 * pmv_co2_opts[N];\n\t\t\t\t\tconst AABB = pmv_co2_opts[N] * (1.0 - this.fi_o2) - this.pi_co2 + this.fi_co2 * pmv_o2_opts[N];\n\t\t\t\t\tRZ = AABB / BBAA;\n\t\t\t\t\tO2CON1 = o2_con + AAAA / RZ;\n\t\t\t\t\tCCO21 = co2_con - AAAA;\n\t\t\t\t}\n\t\t\t\tF[N] = search_o2_con - O2CON1;\n\t\t\t\tG[N] = search_co2_con - CCO21;\n\t\t\t\tif (Math.abs(F[N]) - TOL1 <= 0) {\n\t\t\t\t\t//simulating arithmetic if\n\t\t\t\t\tif (Math.abs(G[N]) - TOL1 <= 0) {\n\t\t\t\t\t\tsearch_pmv_o2 = pmv_o2_opts[N];\n\t\t\t\t\t\tsearch_pmv_co2 = pmv_co2_opts[N];\n\t\t\t\t\t\tbroke_out_of_for_loop = true;\n\t\t\t\t\t\touter_while_loop = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (broke_out_of_for_loop) {\n\t\t\t\tif (this.pi_co2 <= 0.0) {\n\t\t\t\t\t// changing GT 0.0 logic to avoid goto 230\n\t\t\t\t\tFVQ = (8.63 * (co2_con - search_co2_con)) / search_pmv_co2;\n\t\t\t\t} else {\n\t\t\t\t\tconst D1 = (search_o2_con - o2_con) / this.pi_o2 + (co2_con - search_co2_con) / this.pi_co2;\n\t\t\t\t\tconst D2 = search_pmv_co2 / this.pi_co2 - search_pmv_o2 / this.pi_o2;\n\t\t\t\t\tFVQ = (8.63 * D1) / D2;\n\t\t\t\t}\n\n\t\t\t\treturn [search_pmv_o2, search_pmv_co2, search_o2_con, search_co2_con, FVQ, RZ];\n\t\t\t} else {\n\t\t\t\t// broke_out_of_for_loop=false\n\t\t\t\tU = Array(3)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map((_: any, i: number) => 1);\n\t\t\t\tDET1 = this.determ(U, F, G);\n\t\t\t\tU = Array(3)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map((_: any, i: number) => pmv_o2_opts[i]);\n\t\t\t\tNFLAG = 0;\n\t\t\t\tinner_while_loop = true;\n\t\t\t\twhile (inner_while_loop) {\n\t\t\t\t\tDET2 = this.determ(U, F, G);\n\t\t\t\t\tif (NFLAG - 1 < 0) pmv_o2_opts[3] = DET2 / DET1;\n\t\t\t\t\telse pmv_co2_opts[3] = DET2 / DET1;\n\t\t\t\t\tif (NFLAG - 1 < 0) {\n\t\t\t\t\t\tfor (let N = 0; N < 3; N++) U[N] = pmv_co2_opts[N];\n\t\t\t\t\t\tNFLAG = 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tinner_while_loop = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor (let N = 0; N < 2; N++) {\n\t\t\t\t\tJ = 2 - N;\n\t\t\t\t\tpmv_o2_opts[J] = pmv_o2_opts[J - 1];\n\t\t\t\t\tpmv_co2_opts[J] = pmv_co2_opts[J - 1];\n\t\t\t\t\tF[J] = F[J - 1];\n\t\t\t\t\tG[J] = G[J - 1];\n\t\t\t\t}\n\t\t\t\tpmv_o2_opts[0] = pmv_o2_opts[3];\n\t\t\t\tpmv_co2_opts[0] = pmv_co2_opts[3];\n\t\t\t\tNNN = 1;\n\t\t\t\tITER = ITER + 1;\n\t\t\t\tif (ITER - 20 >= 0) {\n\t\t\t\t\touter_while_loop = false;\n\t\t\t\t\t// repeat of code if (broke_out_of_while_loop)\n\t\t\t\t\tif (this.pi_co2 <= 0.0) {\n\t\t\t\t\t\t//\n\t\t\t\t\t\tFVQ = (8.63 * (co2_con - search_co2_con)) / search_pmv_co2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst D1 = (search_o2_con - o2_con) / this.pi_o2 + (co2_con - search_co2_con) / this.pi_co2;\n\t\t\t\t\t\tconst D2 = search_pmv_co2 / this.pi_co2 - search_pmv_o2 / this.pi_o2;\n\t\t\t\t\t\tFVQ = (8.63 * D1) / D2;\n\t\t\t\t\t}\n\t\t\t\t\treturn [search_pmv_o2, search_pmv_co2, search_o2_con, search_co2_con, FVQ, RZ];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\tKelman's procedure for modeling the CO2 dissociation curve\n\t@param p_co2 Partial pressure of CO2 in blood sample\n\t@param pH pH of blood sample\n\t@param hgb_sat Hemoglobin saturation in blood sample\n\t@returns Total carbon dioxide content (plasma + cellular) in a blood sample\n\t*/\n\tpublic kelman_co2_content(p_co2: Readonly, pH: Readonly, hgb_sat: Readonly): number {\n\t\tconst P = 7.4 - pH;\n\t\tconst PK = 6.086 + 0.042 * P + (38.0 - this.temp) * (0.00472 + 0.00139 * P); // pK value of CO2 dissolution in blood plasma\n\t\tconst SOL = 0.0307 + 0.00057 * (37.0 - this.temp) + 0.00002 * (37.0 - this.temp) * (37.0 - this.temp); // solubility of CO2 in blood plasma\n\t\tconst DOX = 0.59 + 0.2913 * P - 0.0844 * P * P; // Ratio of cellular : plasma CO2 content in fully oxygenated blood (per paper by van Slyke and Sendroy)\n\t\tconst DR = 0.664 + 0.2275 * P - 0.0938 * P * P; // Ratio of cellular : plasma CO2 content in fully \"reduced\" blood (per paper by van Slyke and Sendroy)\n\t\tconst DDD = DOX + (DR - DOX) * (1 - hgb_sat / 100.0);\n\t\tconst CP = SOL * p_co2 * (1.0 + Math.pow(10.0, pH - PK)); // Total plasma CO2 content (using Henderson-Hasselbalch)\n\t\tconst CCC = DDD * CP; // Total cellular CO2 content\n\t\treturn (this.hcrit * CCC * 0.01 + (1.0 - this.hcrit * 0.01) * CP) * 2.22; // Total blood CO2 content\n\t}\n\t/**\n\tKelman's procedure for calculating hemoglobin saturation using the O2 dissociation curve\n\t@param p_o2 Partial pressure of CO2 in blood sample\n\t@param p_co2 Partial pressure of CO2 in blood sample\n\t@param pH pH of blood sample\n\t@returns Hemoglobin saturation in a blood sample\n\t*/\n\tpublic kelman_hgb_sat(p_o2: Readonly, p_co2: Readonly, pH: Readonly): number {\n\t\tconst A1 = -8532.229;\n\t\tconst A2 = 2121.401;\n\t\tconst A3 = -67.07399;\n\t\tconst A4 = 935960.9;\n\t\tconst A5 = -31346.26;\n\t\tconst A6 = 2396.167;\n\t\tconst A7 = -67.10441;\n\t\tconst B = 0.43429 * Math.log(40.0 / p_co2);\n\t\tlet X = p_o2 * Math.pow(10.0, 0.024 * (37.0 - this.temp) + 0.4 * (pH - 7.4) + 0.06 * B);\n\t\tX = (this.dp50 * X) / this.dp50;\n\t\tif (X - 10.0 < 0) return 0.3683 * X + 0.0584 * X * X;\n\t\telse return (100.0 * (X * (X * (X * (X + A3) + A2) + A1))) / (X * (X * (X * (X + A7) + A6) + A5) + A4);\n\t}\n\t/**\n\t * Kelman's procedure for calculating pH of blood sample\n\t * @param p_co2 Partial pressure of CO2 in blood sample\n\t * @param Y Constant from ....\n\t * @returns Calculated pH of blood sample\n\t */\n\tpublic kelman_pH(p_co2: Readonly, Y: Readonly): number {\n\t\t// Constants for points taken from a CO2 vs pH curve (unknown source, likely experimentally derived)\n\t\tconst APH = 7.48;\n\t\tconst APCO2 = 30.0;\n\t\tconst BPH = 7.28;\n\t\tconst BPCO2 = 60.0;\n\n\t\tif (APH - 1.0 <= 0) return 7.59 + Y - 0.2741 * Math.log(p_co2 / 20.0);\n\t\telse return BPH + Y + ((APH - BPH) * Math.log(p_co2 / BPCO2)) / Math.log(APCO2 / BPCO2);\n\t}\n\n\tpublic blood(p_o2: Readonly, p_co2: Readonly): [number, number, number, number] {\n\t\tif (p_co2 <= 0.001) p_co2 = 0.001;\n\t\tlet Y = 0;\n\t\tconst pH1 = this.kelman_pH(p_co2, Y);\n\t\tY = 0.003 * this.hgb * (1.0 - this.kelman_hgb_sat(p_o2, p_co2, pH1) / 100.0);\n\t\tconst pH2 = this.kelman_pH(p_co2, Y);\n\t\tconst hgb_sat = this.kelman_hgb_sat(p_o2, p_co2, pH2);\n\t\tconst o2_con = 0.0139 * this.hgb * hgb_sat + 0.003 * p_o2;\n\t\tconst co2_con = this.kelman_co2_content(p_co2, pH2, hgb_sat);\n\t\treturn [o2_con, co2_con, hgb_sat, pH2];\n\t}\n\t/**\n\t * Finds the O2 uptake and CO2 output of the lung for a given mixed venous point\n\t * @param pmv_o2 Partial pressure of oxygen in a mixed venous blood sample\n\t * @param pmv_co2 Partial pressure of carbon dioxide in a mixed venous blood sample\n\t */\n\tpublic sumup(pmv_o2: number, pmv_co2: number): any {\n\t\tlet RNPC;\n\t\tlet PCLO;\n\t\tlet PCHI;\n\t\tlet DPC;\n\t\tlet RET;\n\t\tlet SUM;\n\n\t\tconst NPC = 50;\n\t\tconst NPC1 = NPC - 1;\n\t\tconst PC = new Array();\n\t\tconst R = new Array();\n\t\tconst E = new Array();\n\t\tRNPC = NPC1;\n\t\tPCLO = 0.001;\n\t\tPCHI = 1000;\n\t\tDPC = Math.log(PCHI / PCLO) / RNPC;\n\t\tfor (let J = 0; J < NPC; J++) {\n\t\t\tR[J] = 0.0;\n\t\t\tE[J] = 0.0;\n\t\t\tPC[J] = PCLO * Math.exp(DPC * (J - 1.0));\n\t\t}\n\t\tconst [mv_o2_con, mv_co2_con, _] = this.blood(pmv_o2, pmv_co2);\n\t\tconst vq_total = this.alveoli.map((a: Alveolus) => {\n\t\t\tconst v = (a.v_pct / 100) * this.results.total_vent;\n\t\t\tconst q = (a.q_pct / 100) * this.cardiac_output;\n\t\t\tconst vq = q === 0 ? 1000 : v / q;\n\t\t\treturn { v, q, vq };\n\t\t});\n\t\tconst VQ = vq_total.map((a: any) => a.vq);\n\t\tconst V = vq_total.map((a: any) => a.v);\n\t\tconst Q = vq_total.map((a: any) => a.q);\n\n\t\tlet CC = 0;\n\t\tlet DD = 0;\n\t\tconst PO22 = [];\n\t\tconst PCO22 = [];\n\t\tconst PN22 = [];\n\t\tconst RZZ = [];\n\t\tconst OO2CON = [];\n\t\tconst OCCO2 = [];\n\t\tlet [pa_o2, pa_co2, search_o2_con, search_co2_con] = [0, 0, 0, 0];\n\t\tfor (let I = 0; I < VQ.length; I++) {\n\t\t\tconst comp_vq = VQ[I];\n\t\t\tfor (let J = 0; J < NPC; J++) {\n\t\t\t\tRET = PC[J] / (PC[J] + VQ[I]);\n\t\t\t\tif (VQ[I] > 500.0) RET = 0.0;\n\t\t\t\tR[J] = R[J] + (RET * Q[I]) / this.cardiac_output;\n\t\t\t\tE[J] = E[J] + (RET * V[I]) / this.results.total_vent;\n\t\t\t}\n\t\t\tconst FI = this.fi_o2 + this.fi_co2;\n\t\t\tSUM = Math.abs(FI - 1.0);\n\t\t\tif (SUM <= 0.0001) {\n\t\t\t\t// body of label 30 in this block\n\t\t\t\t[pa_o2, pa_co2, search_o2_con, search_co2_con] = this.pureo2(mv_o2_con, mv_co2_con, comp_vq);\n\t\t\t} else {\n\t\t\t\t[pa_o2, pa_co2, search_o2_con, search_co2_con] = this.vqsoln(pmv_o2, pmv_co2, mv_o2_con, mv_co2_con, comp_vq);\n\t\t\t}\n\t\t\tif (comp_vq === 0.0) {\n\t\t\t\t// code from label 999 to label 998\n\t\t\t\tPO22[I] = pmv_o2;\n\t\t\t\tPCO22[I] = pmv_co2;\n\t\t\t\tPN22[I] = this.pi_o2 / this.fi_o2 - pmv_o2 - pmv_co2;\n\t\t\t\tRZZ[I] = 0.0;\n\t\t\t\tOO2CON[I] = mv_o2_con;\n\t\t\t\tOCCO2[I] = mv_co2_con;\n\t\t\t} else if (comp_vq > 500.0) {\n\t\t\t\t// although else isn't explicit in fortran code\n\t\t\t\t// there is a logical else because of the goto 50\n\t\t\t\t// code from label 998 to label 50\n\t\t\t\tPO22[I] = this.pi_o2;\n\t\t\t\tPCO22[I] = this.pi_co2;\n\t\t\t\tPN22[I] = this.pi_o2 / this.fi_o2 - this.pi_o2 - this.pi_co2;\n\t\t\t\tOO2CON[I] = 0.0;\n\t\t\t\tOCCO2[I] = 0.0;\n\t\t\t} else {\n\t\t\t\t// although else isn't explicit in fortran code\n\t\t\t\t// there is a logical else because of the gotos\n\t\t\t\t// in the previous lines\n\t\t\t\tPO22[I] = pa_o2;\n\t\t\t\tPCO22[I] = pa_co2;\n\t\t\t\tPN22[I] = this.pi_o2 / this.fi_o2 - pa_o2 - pa_co2; //TODO: double check this line\n\t\t\t\tOO2CON[I] = search_o2_con;\n\t\t\t\tOCCO2[I] = search_co2_con;\n\t\t\t\tCC = CC + search_o2_con * Q[I];\n\t\t\t\tDD = DD + search_co2_con * Q[I];\n\t\t\t}\n\t\t}\n\t\tconst QR = this.cardiac_output * (1.0 - this.results.shunt_pct / 100.0);\n\t\tconst art_o2_con = (CC + (this.cardiac_output - QR) * mv_o2_con) / this.cardiac_output;\n\t\tconst art_co2_con = (DD + (this.cardiac_output - QR) * mv_co2_con) / this.cardiac_output;\n\t\tconst v_o2 = 10.0 * this.cardiac_output * (art_o2_con - mv_o2_con);\n\t\tconst v_co2 = 10.0 * this.cardiac_output * (mv_co2_con - art_co2_con);\n\t\t// the following should be the last statement since returning\n\t\t// the values back to calling program\n\t\treturn [pa_o2, pa_co2, art_o2_con, art_co2_con, mv_o2_con, mv_co2_con, v_o2, v_co2, PO22, PCO22, PN22];\n\t}\n\tpublic determ(U: number[], F: number[], G: number[]) {\n\t\tconst W = new Array(4);\n\t\tlet I = 0;\n\t\tlet J = 1;\n\t\tlet K = 2;\n\t\tlet nIter = 0;\n\t\twhile (true) {\n\t\t\tW[I] = U[I] * (F[J] * G[K] - F[K] * G[J]);\n\t\t\t// if (confirm(\"W[I]=\"+W[I]+\" \"+U[I]+\" \"+F[J]+\" \"+G[K]+\" \"+F[K]+\" \"+G[J])) return 1;\n\t\t\tif (I - 2 < 0) {\n\t\t\t\tif (I <= 0) {\n\t\t\t\t\tI = 1;\n\t\t\t\t\tJ = 2;\n\t\t\t\t\tK = 0;\n\t\t\t\t} else {\n\t\t\t\t\tI = 2;\n\t\t\t\t\tJ = 0;\n\t\t\t\t\tK = 1;\n\t\t\t\t}\n\t\t\t} else break;\n\t\t\tif (nIter > MAX_ITER) {\n\t\t\t\talert(\"Failure to converge in subroutine `determ`, results may be inaccurate\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tnIter++;\n\t\t}\n\t\tlet DDD = 0.0;\n\t\tfor (let Q = 0; Q < 3; Q++) DDD = DDD + W[Q];\n\t\treturn DDD;\n\t}\n\tpublic grad_desc_mvp(): [number, number] {\n\t\tconst loss = (X: [number, number]) => {\n\t\t\tconst pmv_o2 = X[0];\n\t\t\tconst pmv_co2 = X[1];\n\t\t\tconst [pa_o2, pa_co2, art_o2_con, art_co2_con, mv_o2_con, mv_co2_con, v_o2, v_co2, PO22, PCO22, PN22] = this.sumup(pmv_o2, pmv_co2);\n\t\t\tconst o2_loss = Math.abs(v_o2 - this.v_o2);\n\t\t\tconst co2_loss = Math.abs(v_co2 - this.v_co2);\n\t\t\tconst neg_loss = pmv_o2 < 0 || pmv_co2 < 0 ? 1000 : 0;\n\t\t\treturn o2_loss + co2_loss + neg_loss;\n\t\t};\n\t\tconst solution = fmin.nelderMead(loss, [40, 45]);\n\t\treturn (solution as any).x;\n\t}\n\t/**\n\t * Use a regula falsi optimization algorithm in order to find a set of mixed venous gas contents\n\t */\n\tpublic find_mvp() {\n\t\tconst [pmv_o2, pmv_co2] = this.grad_desc_mvp();\n\t\tconst [pa_o2, pa_co2, art_o2_con, art_co2_con, _mv_o2_con, _mv_co2_con, v_o2, v_co2, PO22, PCO22, PN22] = this.sumup(pmv_o2, pmv_co2);\n\t\tconst [mv_o2_con, mv_co2_con] = this.blood(pmv_o2, pmv_co2);\n\t\tlet PAN2 = 0.0;\n\t\tconst Q = this.alveoli.map((a) => a.q_pct * this.cardiac_output);\n\t\tfor (let I = 1; I <= this.alveoli.length; I++) {\n\t\t\tPAN2 = PAN2 + Q[I] * PN22[I];\n\t\t}\n\t\tconst QR = this.cardiac_output * (1.0 - this.results.shunt_pct / 100.0);\n\t\tPAN2 = this.pv_n2 * (1.0 - QR / this.cardiac_output) + PAN2 / this.cardiac_output;\n\t\tconst ALPHA = 0.0017;\n\t\tconst CAN2 = ALPHA * PAN2;\n\t\tconst CVN2 = ALPHA * this.pv_n2;\n\t\tconst VN2 = 10.0 * this.cardiac_output * (CAN2 - CVN2); // N2 Uptake (mL/min)\n\t\tthis.summary(pmv_o2, pmv_co2, mv_o2_con, mv_co2_con, art_o2_con, art_co2_con, v_o2, v_co2, PO22, PCO22, PN22);\n\t\treturn;\n\t}\n\t/**\n\t *\n\t * @param pa_co2 Partial pressure of CO2 in blood sample\n\t * @param art_o2_con Calculated Arterial O2 content\n\t */\n\tpublic sameo2(pa_co2: Readonly, art_o2_con: Readonly): [number, number] {\n\t\tlet E = 0;\n\t\tlet F = this.pi_o2 + 10;\n\t\tlet O2CNT2 = 0;\n\t\tlet CO2CT2 = 0;\n\t\tlet G = 0;\n\t\tlet nIter = 0;\n\t\twhile (true) {\n\t\t\tG = (E + F) / 2.0;\n\t\t\t[O2CNT2, CO2CT2] = this.blood(G, pa_co2);\n\t\t\tconst A10 = Math.abs(O2CNT2 - art_o2_con);\n\t\t\tif (A10 - 0.001 <= 0) break;\n\t\t\telse {\n\t\t\t\tif (O2CNT2 - art_o2_con < 0) E = G;\n\t\t\t\telse if (O2CNT2 - art_o2_con === 0) break;\n\t\t\t\telse F = G; // (O2CNT2-ARTO2C)>0\n\t\t\t}\n\t\t\tif (nIter > MAX_ITER) {\n\t\t\t\t//alert(\"Failure to converge in subroutine `sameO2`, results may be inaccurate\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tnIter++;\n\t\t}\n\t\tconst pa_o2 = G;\n\t\treturn [pa_o2, CO2CT2];\n\t}\n\t/**\n\t * Calculates the partial pressure of O2/CO2 in arterial blood from gas concentrations:\n\t * @param art_o2_con Arterial O2 concentration\n\t * @param art_co2_con Arterial CO2 concentration\n\t */\n\tpublic fndten(art_o2_con: number, art_co2_con: number): number[] {\n\t\tconst PI = new Array(5);\n\t\tlet CO2CT2 = 0;\n\n\t\tPI[1] = 10.0;\n\t\tPI[2] = 1.0;\n\t\tPI[3] = 0.1;\n\t\tPI[4] = 0.01;\n\t\tlet pa_o2 = 0;\n\t\tlet pa_co2 = 0;\n\t\tconst iter = 0;\n\t\tfor (let K = 1; K <= 4; K++) {\n\t\t\tlet nIter = 0;\n\t\t\twhile (true) {\n\t\t\t\tpa_co2 = pa_co2 + PI[K];\n\t\t\t\t[pa_o2, CO2CT2] = this.sameo2(pa_co2, art_o2_con);\n\t\t\t\tif (CO2CT2 - art_co2_con >= 0) {\n\t\t\t\t\tpa_co2 = pa_co2 - PI[K];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (nIter > MAX_ITER) {\n\t\t\t\t\talert(\"Failure to converge in subroutine `fndten`, results may be inaccurate\");\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tnIter++;\n\t\t\t}\n\t\t}\n\t\treturn [pa_o2, pa_co2];\n\t}\n\tpublic grad_desc_ten(art_o2_con: Readonly, art_co2_con: Readonly): [number, number] {\n\t\tconst loss = (X: [number, number]) => {\n\t\t\tconst p_o2 = X[0];\n\t\t\tconst p_co2 = X[1];\n\t\t\tconst [calc_o2_con, calc_co2_con] = this.blood(p_o2, p_co2);\n\t\t\tconst o2_loss = Math.abs(calc_o2_con - art_o2_con);\n\t\t\tconst co2_loss = Math.abs(calc_co2_con - art_co2_con);\n\t\t\treturn o2_loss + co2_loss;\n\t\t};\n\t\tconst solution = fmin.nelderMead(loss, [55, 70]);\n\t\treturn (solution as any).x;\n\t}\n\tpublic grad_desc_ven_admixture(pmv_o2: number, pmv_co2: number, mv_o2_con: number, mv_co2_con: number): [number, number, number, number] {\n\t\tconst FI = this.fi_o2 + this.fi_co2;\n\t\tconst SUM = Math.abs(FI - 1.0);\n\t\tconst palv_o2_calc = (palv_co2: number): number => {\n\t\t\tlet palv_o2 = 0;\n\t\t\tif (SUM <= 0.0001) {\n\t\t\t\tpalv_o2 = this.pi_o2 - palv_co2 + this.pi_co2;\n\t\t\t} else {\n\t\t\t\tpalv_o2 = this.pi_o2 * this.results.resp_quotient + palv_co2 * this.fi_o2 * (1.0 - this.results.resp_quotient) + this.pi_co2 - palv_co2;\n\t\t\t\tpalv_o2 = palv_o2 / (this.results.resp_quotient + this.fi_co2 * (1.0 - this.results.resp_quotient));\n\t\t\t}\n\t\t\treturn palv_o2;\n\t\t};\n\t\tconst loss = (X: [number, number]) => {\n\t\t\tconst search_palv_co2 = X[0];\n\t\t\tconst search_palv_o2 = palv_o2_calc(search_palv_co2);\n\t\t\tconst [search_o2_con, search_co2_con] = this.blood(search_palv_o2, search_palv_co2);\n\t\t\tconst BLOODR = (mv_co2_con - search_co2_con) / (search_o2_con - mv_o2_con);\n\t\t\treturn Math.abs(this.results.resp_quotient - BLOODR);\n\t\t};\n\t\tconst solution = fmin.nelderMead(loss, [pmv_o2, pmv_co2]);\n\t\tconst [ideal_palv_co2] = (solution as any).x;\n\t\tconst ideal_palv_o2 = palv_o2_calc(ideal_palv_co2);\n\t\tconst [ideal_o2_con, ideal_co2_con, _, ideal_pH] = this.blood(ideal_palv_o2, ideal_palv_co2);\n\t\tthis.results.a_pH = ideal_pH;\n\t\treturn [ideal_palv_o2, ideal_palv_co2, ideal_o2_con, ideal_co2_con];\n\t}\n\tpublic summary(pmv_o2: number, pmv_co2: number, mv_o2_con: number, mv_co2_con: number, art_o2_con: number, art_co2_con: number, v_o2: number, v_co2: number, PO22: number[], PCO22: number[], PN22: number[]) {\n\t\tlet AA = 0.0;\n\t\tlet BB = 0.0;\n\t\t// declare locally\n\t\tconst V = this.alveoli.map((a) => (a.v_pct / 100) * this.results.total_vent);\n\t\tconst Q = this.alveoli.map((a) => (a.q_pct / 100) * this.cardiac_output);\n\t\tfor (let I = 0; I < this.alveoli.length; I++) {\n\t\t\tAA = AA + V[I] * PO22[I];\n\t\t\tBB = BB + V[I] * PCO22[I];\n\t\t}\n\t\tconst mixed_alv_po2 = AA / this.results.total_vent; // Mixed Alveolar PO2\n\t\tconst mixed_alv_pco2 = BB / this.results.total_vent; // Mixed Alveolar PCO2\n\t\t[this.results.pa_o2, this.results.pa_co2] = this.grad_desc_ten(art_o2_con, art_co2_con);\n\t\tthis.results.resp_quotient = v_co2 / v_o2;\n\t\tthis.results.art_o2_con = art_o2_con;\n\t\tthis.results.art_co2_con = art_co2_con;\n\t\tconst [ideal_palv_o2, ideal_palv_co2, ideal_o2_con, ideal_co2_con] = this.grad_desc_ven_admixture(pmv_o2, pmv_co2, mv_o2_con, mv_co2_con);\n\t\t//Calculate alveolar deadspace %\n\t\tconst ALVDS = (100.0 * (ideal_palv_co2 - mixed_alv_pco2)) / (ideal_palv_co2 - this.pi_co2);\n\t\t//calculate total dead space %\n\t\tlet deadspace_pct = (ALVDS / 100) * ((this.resp_rate * this.tidal_vol) / 1000 - (0.1 + ((this.tv_deadspace_pct / 100) * this.tidal_vol) / 1000) * this.resp_rate);\n\t\tdeadspace_pct = deadspace_pct + (0.1 + ((this.tv_deadspace_pct / 100) * this.tidal_vol) / 1000) * this.resp_rate;\n\t\tthis.results.deadspace_pct = (deadspace_pct / ((this.resp_rate * this.tidal_vol) / 1000)) * 100;\n\t\tthis.results.venous_admixture_pct = (100.0 * (ideal_o2_con - art_o2_con)) / (ideal_o2_con - mv_o2_con);\n\t\tthis.results.hgb_sat = this.kelman_hgb_sat(this.results.pa_o2, this.results.pa_co2, this.results.a_pH);\n\n\t\treturn;\n\t}\n\n\t/**\n\tUse known constants w/ Henderson-Hasselbach Eq to calculate pH\n\t@returns calculated pH\n\t*/\n\tpublic henderson_hasselbach_pH(pa_co2: number, bicarb: number) {\n\t\treturn 6.1 + Math.log10(bicarb / (0.03 * pa_co2));\n\t}\n}\n\n/**\nBohr's method for determining ratio of dead space to tidal volume\n@param PeCO2 partial pressure of CO2 in exhaled air\n@param PaCO2 partial pressure of CO2 in arterial blood\n@return proportion of tidal volume occupied by physiologic dead-space from concentration of CO2 in exhaled air and arterial blood\n*/\nfunction bohr_dead_space(PeCO2: number, PaCO2: number): number {\n\treturn (PaCO2 - PeCO2) / PaCO2;\n}\n\n/**\nAlveolar ventilation equation\n@param vCO2 rate of CO2 production\n@param vA alveolar ventillation\n@returns Predicted partial pressure of alveolar co2\n*/\nfunction alveolar_gas_eq(vCO2: number, vA: number): number {\n\tconst K = 0; //TODO: Find this constant?\n\treturn (vCO2 * K) / vA;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('svg',{attrs:{\"width\":_vm.width + _vm.xMargin * 2,\"height\":_vm.height}},[_c('g',{attrs:{\"transform\":'translate(' + _vm.xMargin + ', 0)'}},[_c('clipPath',{attrs:{\"id\":\"cut-off\"}},[_c('path',{attrs:{\"transform\":'scale(' + _vm.width / 526 + ', ' + _vm.height / 440 + ')',\"d\":\"M372.787 70.843l-.235.028-.016-1.251.251 1.223zm.993 4.841l-1.167.127-.031-2.471.702-.075.496 2.419zm.993 4.844l-2.097.225-.031-2.472 1.632-.176.496 2.423zm.498 2.422l.493 2.419-3.026.326-.031-2.47 2.564-.275zm1.49 7.261l-3.962.427-.031-2.471 3.495-.376.498 2.42zm-78.782 25.655l19.378 28.051.149-.012c2.008-.016 4.443-.033 7.237-.053 2.667.128 5.666.247 8.913.463 1.137.111 2.323.208 3.525.31l-.47-.184 16.04-35.47-21.469-43.518-11.351-4.881 8.346 2.467 10.305-18.551-5.865 20.369 8.674 13.318 11.274-20.828-8.315 25.373 13.625 20.926 14.878-8.663-.024-1.874 3.983-.429 21.66-12.612a433.212 433.212 0 00-23.569-20.443c-17.218-13.895-31.264-20.94-41.748-20.94-14.923 0-21.363 14.631-27.676 32.308-2.279 6.377-5.063 22.81-7.5 44.873m131.524 19.074l.194-.348 1.425 1.019-1.619-.671zm-2.29-.946l-2.286-.947.742-1.336 2.014 1.44-.47.843zm-4.574-1.891l-2.289-.947 1.29-2.328 2.015 1.442-1.016 1.833zm-4.576-1.894l-2.29-.948 1.84-3.314 2.014 1.44-1.564 2.822zM398.548 80.14l-39.956 29.334-11.919 36.132c2.85.333 5.773.684 8.785 1.131l-.298-.359 20.718-15.627.232-23.817.599-.376 15.214-9.519-12.623 11.328 3.407 19.28 27.907-2.136 2.573-1.732.397-.714.321.231 11.448-7.71-10.36 8.49.605.43-2.113 3.808-2.289-.945.187-.335-.12.099-.259.043-29.427 5.06-17.307 15.806c1.18.186 2.353.368 3.546.561 4.163.633 8.362 1.437 12.57 2.154a803.935 803.935 0 0121.63 4.258l41.621-12.818-34.351 14.384a730.017 730.017 0 0116.989 3.934 465.22 465.22 0 0114.94 3.922l5.607 1.682-5.71-1.271a462.785 462.785 0 00-15.151-2.827c-9.729-1.651-22.013-3.48-34.889-5.07l8.955 6.217 18.102 12.897-14.775-7.465-3.752 16.336-.629-18.551-1.147-.58a4848.837 4848.837 0 01-21.212-10.493c-3.195-.33-6.376-.667-9.526-.917-4.155-.367-8.241-.714-12.196-.95-3.954-.3-7.771-.45-11.388-.607-3.616-.195-7.017-.145-10.159-.225-3.127.017-5.981.115-8.498.17-.447.035-.872.066-1.297.098l24.805 35.908 17.172-7.74.473-20.439 4.023 18.413 17.819-8.033-35.683 23.305 2.607 3.772 30.419 2.269 11.961-10.561-8.211 9.774 15.644 11.809-19.3-8.5-25.871 1.931 4.707 6.814 10.194 7.216 35.917 3.092 29.584-25.506-12.372 13.07 32.678 4.152c.321-.356.642-.714.956-1.078 1.701-2.035 3.327-4.175 4.711-6.457 2.841-4.508 4.892-9.445 6.012-14.164 1.146-4.714 1.345-9.229.826-12.805a20.635 20.635 0 00-1.081-4.482 380.65 380.65 0 00-1.894-3.569c-.257-.346-.364-.481-.845-.967-.462-.464-.705-.712-.705-.712l.423-.376c-17.73-32.288-41.024-61.849-69.971-88.877m-16.785 269.65l-2.466-.987.565-2.423 3.164 1.266-1.263 2.144zm-2.528 4.29l-1.063-.425.562-2.424 1.764.702-1.263 2.147zm-1.915 3.246l.288-1.249.363.144-.651 1.105zm-23.567 6.555l-2.678-2.683 1.608-1.871 2.94 2.946-1.87 1.608zm-3.752 3.205l-2.144-2.145 1.609-1.872 2.413 2.416-1.878 1.601zm-3.748 3.211l-1.612-1.614 1.608-1.872 1.878 1.883-1.874 1.603zm-3.748 3.21l-1.08-1.082 1.608-1.871 1.346 1.348-1.874 1.605zm-3.749 3.207l-.545-.546 1.605-1.872.814.815-1.874 1.603zm-3.748 3.21l-.016-.013 1.608-1.872.282.283-1.874 1.602zm171.56-53.339c-2.378 3.646-5.258 7.191-8.413 10.648-6.333 6.909-14.098 13.16-22.398 18.396-4.15 2.626-8.447 4.986-12.754 7.117-2.145 1.085-4.339 2.014-6.468 3.011-2.174.891-4.307 1.805-6.431 2.627a197.034 197.034 0 01-12.409 4.255c-2.001.572-3.944 1.133-5.828 1.675l-5.489 1.372a230.553 230.553 0 01-17.17 3.373c-4.172.606-6.556.95-6.556.95l6.479-1.364c4.11-.922 9.957-2.34 16.841-4.444 1.715-.544 3.497-1.114 5.343-1.706 1.826-.65 3.711-1.327 5.649-2.02a196.15 196.15 0 0011.93-4.959c2.028-.939 4.058-1.965 6.121-2.968 2.017-1.107 4.094-2.15 6.107-3.339 4.051-2.334 8.057-4.878 11.878-7.655 7.647-5.538 14.615-11.945 20.069-18.723 2.717-3.394 5.149-6.81 7.078-10.234 1.947-3.412 3.496-6.76 4.659-9.913a53.975 53.975 0 002.282-8.739c.338-2.619.543-4.893.423-6.721.004-.949-.095-1.671-.166-2.296-.029-.317-.058-.608-.081-.876a85.532 85.532 0 01-.174-.921l-.325-1.698.925-.146c-4.698-36.101-14.136-69.646-28.378-100.797a46.262 46.262 0 01-1.079 3.388c-1.892 5.28-4.8 10.491-8.43 15.052-1.778 2.309-3.782 4.419-5.833 6.38-2.083 1.93-4.212 3.73-6.415 5.261-4.36 3.13-8.783 5.44-12.674 7.091-1.922.883-3.776 1.465-5.369 2.077-1.638.497-3.048.967-4.231 1.291-2.368.6-3.72.946-3.72.946l3.585-1.349c1.132-.447 2.477-1.068 4.028-1.733 1.503-.776 3.247-1.541 5.025-2.611 3.606-2.024 7.618-4.725 11.409-8.142 1.441-1.257 2.819-2.646 4.149-4.108l-36.073-.593-9.387 9.914 32.525 22.331-37.192-19.58.05-.079-25.153.027 13.533 9.579 32.606 12.876-34.128-9.353-.092-.025-.303-.161-4.132-2.158 5.135 28.227-10.398-30.976-20.109-10.508-.059 26.625 25.664 23.202 42.255 2.315 20.665-27.191-15.08 27.496 32.07 1.759-33.145.201-.421.77 12.417 16.278-19.178-17.005-37.707.229 3.026 18.525-7.914-19.423-22.672-17.941-.024 10.273 29.447 33.984 38.677 8.274 27.269-11.334-21.799 12.504 24.67 5.279-63.952-9.11 19.084 22.023 31.566 16.595-29.08-12.767 7.399 30.51-13.18-34.086-50.123-51.47-.092 41.006 31.813 36.251-13.926-11.853-.017.027-3.868-1.543.347-1.496-16.682-14.197-6.258 27.185 11.619 21.229-11.249-16.607-.703.599-3.209-3.214 1.198-1.391-.082-.12 1.864-26.349-22.993 20.29 23.352-29.71-1.933-59.676-6.085 5.834-.604.576-.23.037-13.118 23.717 7.84-22.875-26.541 4.237 29.738-9.058 8.722-11.026-1.05-32.406-15.827-18.664-14.45 10.696-.681.506-.202-.024-7.102 21.987 2.591-22.489-19.172-2.139 22.597-.977 12.283-12.438-39.477-46.553c-4.615 62.85-4.987 146.359 10.562 190.73 15.272 43.58 34.358 46.568 72.382 52.52 21.224 3.322 47.639 7.457 80.95 20.163 3.466 1.324 7.053 2.993 10.523 4.605 7.492 3.486 15.239 7.09 21.481 7.09 4.013 0 16.222 0 19.148-42.63 1.466-21.357 1.611-41.958.427-61.831a76.813 76.813 0 01-3.832 6.497M199.021 195.991l32.601-38.442c1.079 16.437 1.848 34.05 2.117 51.852l-22.436-.969-12.282-12.441zm-95.714-61.101l.137.248-1.142.473 1.005-.721zm4.437-3.173l.74 1.336-2.519 1.042-.439-.79 2.218-1.588zm4.435-3.173l1.345 2.425-2.521 1.043-1.041-1.881 2.217-1.587zm4.437-3.171l1.948 3.512-2.52 1.041-1.647-2.966 2.219-1.587zm40.351-36.643l3.677.395-.033 2.61-4.166-.45.522-2.555zm1.051-5.114l2.691.29-.033 2.609-3.184-.344.526-2.555zm1.048-5.114l1.707.184-.03 2.61-2.201-.238.524-2.556zm1.048-5.115l.724.078-.032 2.611-1.217-.131.525-2.558zm.772-3.767l-.015 1.236-.233-.026.248-1.21zm-7.591 275.29l.537 2.128-3.441 1.287-.993-1.956 3.897-1.459zm1.611 6.38l-2.531.945-.993-1.954 2.987-1.119.537 2.128zm1.074 4.251l-1.624.607-.991-1.956 2.078-.775.537 2.124zm1.07 4.256l-.709.265-.993-1.956 1.167-.437.535 2.128zm.539 2.124l.302 1.203-.558-1.106.256-.097zm22.299-3.462l1.576 1.921-2.61 2.614-1.923-1.574 2.957-2.961zm4.726 5.766l-1.91 1.913-1.925-1.572 2.26-2.263 1.575 1.922zm1.577 1.919l1.577 1.922-1.218 1.217-1.923-1.572 1.564-1.567zm3.152 3.844l1.578 1.919-.521.524-1.924-1.572.867-.871zm3.154 3.841l.783.955-.957-.781.174-.174zm-44.384 18.862c38.024-5.952 57.111-8.94 72.379-52.52 10.926-31.172 13.989-81.669 13.248-130.744l-19.014 2.123 2.593 22.487-7.103-21.986-.202.023-.681-.506-14.449-10.699-15.83 18.667-1.049 32.405 8.721 11.026 29.745 9.059-26.544-4.237 7.84 22.875-13.119-23.717-.229-.037-.602-.576-6.089-5.835-1.931 59.681 23.351 29.706-22.993-20.29 1.828 25.853.038.496-.091.131.38.464-2.163 2.166-12.178 17.972 11.623-21.23-6.258-27.186-16.66 14.182.085.338-.863.322-16.71 14.222L167 321.075l-.092-40.812-52.457 55.435-13.211 34.166 7.403-30.514-29.084 12.771 31.562-16.598 24.508-28.931-74.096 15.162 23.669-6.325-24.965-11.761 30.191 10.363 50.286-13.442 26.172-30.896-.023-10.299-22.674 17.94-7.912 19.424 3.022-18.498-51.442.207-19.642 17.415 13.269-17.386-34.417.14 33.635-1.879-15.315-27.924 20.983 27.609 54.806-3.059 25.667-23.206-.062-26.623-20.107 10.509-10.397 30.975 5.136-28.227-4.134 2.158-.304.161-.091.025-34.131 9.353 32.609-12.873 13.534-9.582-25.153-.027.051.079-37.197 19.58 32.528-22.331-9.387-9.914-40.142.66 36.389-4.625-12.371-13.07 29.583 25.506 35.916-3.092 10.194-7.216 4.706-6.814-25.867-1.931-19.302 8.5 15.641-11.809-8.208-9.774 11.961 10.561 30.419-2.269 2.607-3.772-35.681-23.305 17.816 8.033 4.023-18.413.477 20.44 17.166 7.739 24.808-35.908c-.425-.032-.851-.063-1.299-.098-2.513-.055-5.368-.153-8.496-.17-3.143.08-6.541.03-10.161.225-3.616.157-7.433.307-11.387.607-3.955.236-8.043.583-12.197.95-3.147.25-6.332.588-9.522.917a4848.837 4848.837 0 01-21.212 10.493l-1.147.58-.632 18.551-3.753-16.336c-8.006 4.047-14.773 7.465-14.773 7.465l18.099-12.897 8.957-6.217c-12.874 1.59-25.159 3.419-34.891 5.07a464.835 464.835 0 00-15.151 2.827c-3.633.81-5.711 1.271-5.711 1.271l5.611-1.682a458.554 458.554 0 0114.939-3.92 733.986 733.986 0 0116.993-3.936l-34.353-14.384 41.622 12.818a802.227 802.227 0 0121.628-4.258c4.21-.717 8.404-1.519 12.569-2.154 1.108-.179 2.199-.349 3.298-.522l-17.072-15.846-29.413-5.059-.261-.043-.114-.095.183.331-1.144.472-1.618-2.917-11.397-9.338 11.45 7.71.322-.231.394.714 2.575 1.732 27.908 2.136 3.406-19.28-12.622-11.328 15.213 9.519.6.376.01.984.221 22.897 20.571 15.902c2.96-.437 5.835-.783 8.637-1.111l-11.923-36.132-40.739-29.907L159.223 94.2l1.355.145-.009.638 14.881 8.664 13.623-20.925-8.314-25.375 11.273 20.831 8.674-13.324-5.864-20.366 10.303 18.551 8.349-2.467-11.353 4.881-21.466 43.515 16.044 35.473-.471.183c1.2-.102 2.382-.198 3.517-.309 3.249-.216 6.248-.335 8.914-.463 2.795.02 5.23.037 7.236.053l.151.012 12.914-18.694c-2.642-26.748-5.887-46.979-8.477-54.23-6.312-17.677-12.752-32.308-27.677-32.308-10.483 0-24.528 7.045-41.747 20.94-43.064 34.75-75.772 74.038-98.345 118.329-.069.378-.132.766-.181 1.169-.522 3.576-.321 8.091.824 12.805 1.12 4.719 3.171 9.656 6.012 14.164 1.385 2.282 3.011 4.422 4.713 6.456 1.734 2.003 3.542 3.917 5.464 5.593 3.791 3.417 7.801 6.118 11.407 8.142 1.779 1.07 3.524 1.835 5.027 2.611 1.549.665 2.896 1.286 4.027 1.733 2.281.859 3.587 1.349 3.587 1.349s-1.354-.346-3.723-.946c-1.181-.324-2.591-.794-4.23-1.291-1.593-.612-3.448-1.194-5.367-2.077-3.891-1.651-8.315-3.961-12.675-7.091-2.203-1.531-4.331-3.331-6.416-5.261-2.051-1.961-4.053-4.072-5.834-6.38-3.629-4.561-6.536-9.772-8.429-15.052a48.836 48.836 0 01-.762-2.293c-13.978 30.877-23.263 64.098-27.902 99.827l.131.021-.324 1.698-.057.302c-.103.841-.209 1.682-.308 2.525a13.98 13.98 0 00-.056 1.267c-.121 1.827.083 4.102.423 6.72a53.677 53.677 0 002.283 8.739c1.163 3.153 2.713 6.501 4.656 9.913 1.929 3.424 4.363 6.84 7.079 10.234 5.456 6.779 12.422 13.185 20.068 18.723 3.823 2.777 7.828 5.321 11.878 7.655 2.016 1.189 4.094 2.232 6.108 3.339 2.065 1.003 4.095 2.029 6.123 2.968a196.927 196.927 0 0011.929 4.959c1.939.693 3.823 1.37 5.647 2.02 1.847.592 3.634 1.162 5.347 1.706a228.79 228.79 0 0016.841 4.444l6.478 1.364s-2.386-.344-6.558-.95a230.528 230.528 0 01-17.167-3.373l-5.492-1.372c-1.881-.542-3.826-1.103-5.826-1.675a197.913 197.913 0 01-12.409-4.255c-2.125-.822-4.258-1.733-6.433-2.627-2.127-.994-4.322-1.926-6.466-3.011-4.309-2.131-8.604-4.491-12.755-7.114-8.3-5.239-16.067-11.49-22.398-18.396-3.154-3.46-6.036-7.005-8.413-10.651a77.864 77.864 0 01-3.101-5.125c-1.095 19.449-.929 39.593.504 60.459 2.927 42.627 15.137 42.63 19.151 42.63h.001c6.244 0 13.987-3.604 21.479-7.09 3.468-1.612 7.055-3.281 10.522-4.605 33.31-12.706 59.726-16.841 80.952-20.163\"}})]),_vm._l((Array(_vm.vq.length / 2)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map(function (_, i) { return i; })),function(i){return _c('rect',{key:i,attrs:{\"fill\":_vm.pctToColor(1 - _vm.vq[i] / _vm.vqMax),\"width\":_vm.width / 2,\"height\":(_vm.height - _vm.topMargin) / (_vm.vq.length / 2),\"clip-path\":\"url(#cut-off)\",\"y\":((_vm.height - _vm.topMargin) / (_vm.vq.length / 2)) * i + _vm.topMargin}})}),_vm._l((Array(_vm.vq.length / 2)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map(function (_, i) { return i; })),function(i){return _c('rect',{key:i + 10,attrs:{\"fill\":_vm.pctToColor(1 - _vm.vq[i + 10] / _vm.vqMax),\"width\":_vm.width / 2,\"height\":(_vm.height - _vm.topMargin) / (_vm.vq.length / 2),\"clip-path\":\"url(#cut-off)\",\"x\":_vm.width / 2,\"y\":((_vm.height - _vm.topMargin) / (_vm.vq.length / 2)) * i + _vm.topMargin}})}),_c('image',{attrs:{\"xlink:href\":\"img/lungs_clear.svg\",\"width\":\"526\",\"height\":\"440\",\"transform\":'scale(' + _vm.width / 526 + ', ' + _vm.height / 440 + ')'}}),_vm._l((Array(_vm.vq.length / 2)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map(function (_, i) { return i; })),function(i){return _c('g',{key:i + '-label',attrs:{\"transform\":'translate(' + (-35 * _vm.width) / 500 + ', ' + (((_vm.height - _vm.topMargin) / (_vm.vq.length / 2)) * i + (_vm.height - _vm.topMargin) / _vm.vq.length + _vm.topMargin / 2) + ') scale(' + _vm.width / 500 + ', ' + _vm.height / 400 + ')'}},[_c('rect',{attrs:{\"fill\":\"white\",\"width\":\"30\",\"height\":\"25\",\"rx\":\"5\",\"ry\":\"5\",\"stroke\":\"black\"}}),_c('svg',{attrs:{\"width\":\"30\",\"height\":\"25\"}},[_c('text',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"dominant-baseline\":\"middle\",\"text-anchor\":\"middle\",\"x\":\"50%\",\"y\":\"50%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.vq[i].toFixed(1))+\"\\n\\t\\t\\t\\t\\t\")])])])}),_vm._l((Array(_vm.vq.length / 2)\n\t\t\t\t\t.fill(0)\n\t\t\t\t\t.map(function (_, i) { return i; })),function(i){return _c('g',{key:i + 10 + '-label',attrs:{\"transform\":'translate(' + (_vm.width + 5) + ', ' + (((_vm.height - _vm.topMargin) / (_vm.vq.length / 2)) * i + (_vm.height - _vm.topMargin) / _vm.vq.length + _vm.topMargin / 2) + ') scale(' + _vm.width / 500 + ', ' + _vm.height / 400 + ')'}},[_c('rect',{attrs:{\"fill\":\"white\",\"width\":\"30\",\"height\":\"25\",\"rx\":\"5\",\"ry\":\"5\",\"stroke\":\"black\"}}),_c('svg',{attrs:{\"width\":\"30\",\"height\":\"25\"}},[_c('text',{staticStyle:{\"font-weight\":\"bold\"},attrs:{\"dominant-baseline\":\"middle\",\"text-anchor\":\"middle\",\"x\":\"50%\",\"y\":\"50%\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.vq[i + 10].toFixed(1))+\"\\n\\t\\t\\t\\t\\t\")])])])})],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tprops: {\n\t\tvq: Array,\n\t\twidth: Number,\n\t\theight: Number,\n\t},\n\tcomputed: {\n\t\txMargin() {\n\t\t\treturn 40 * (this.width / 500);\n\t\t},\n\t\ttopMargin() {\n\t\t\treturn 30 * (this.height / 400);\n\t\t},\n\t\tvqMax() {\n\t\t\tconst maxVQ = Math.max(...(this.vq as number[]));\n\t\t\treturn Math.max(10, maxVQ);\n\t\t},\n\t},\n\tmethods: {\n\t\tpctToColor(percentage: number, maxHue = 120, minHue = 0) {\n\t\t\tconst hue = percentage * (maxHue - minHue) + minHue;\n\t\t\treturn `hsl(${hue}, 100%, 35%)`;\n\t\t},\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VQView.vue?vue&type=template&id=7ef43adb&\"\nimport script from \"./VQView.vue?vue&type=script&lang=ts&\"\nexport * from \"./VQView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","//This file contains legacy code to store the default V/Q values for the 20 alveoli in the model\n\nconst NORM_QPERCENT: number[] = [];\nconst NORM_VPERCENT: number[] = [];\n\nconst EMPH_QPERCENT: number[] = [];\nconst EMPH_VPERCENT: number[] = [];\n\nconst COPD_QPERCENT: number[] = [];\nconst COPD_VPERCENT: number[] = [];\n\nconst BRON_QPERCENT: number[] = [];\nconst BRON_VPERCENT: number[] = [];\n\n// Renumbered Normal, Emphysema and COPD models, odd # compartments\n// reordered as 1-10 and even # compartment as 11-20\n\n// Normal Lung Compartment Percentages\nNORM_QPERCENT[1] = 1.4;\nNORM_QPERCENT[11] = 2;\nNORM_QPERCENT[2] = 2;\nNORM_QPERCENT[12] = 3;\nNORM_QPERCENT[3] = 3;\nNORM_QPERCENT[13] = 4.2;\nNORM_QPERCENT[4] = 4.2;\nNORM_QPERCENT[14] = 4.8;\nNORM_QPERCENT[5] = 4.8;\nNORM_QPERCENT[15] = 5.2;\nNORM_QPERCENT[6] = 5.2;\nNORM_QPERCENT[16] = 5.5;\nNORM_QPERCENT[7] = 5.5;\nNORM_QPERCENT[17] = 6.5;\nNORM_QPERCENT[8] = 6.5;\nNORM_QPERCENT[18] = 7;\nNORM_QPERCENT[9] = 7;\nNORM_QPERCENT[19] = 7.4;\nNORM_QPERCENT[10] = 7.4;\nNORM_QPERCENT[20] = 7.4;\n\nNORM_VPERCENT[1] = 5;\nNORM_VPERCENT[11] = 5;\nNORM_VPERCENT[2] = 5;\nNORM_VPERCENT[12] = 5;\nNORM_VPERCENT[3] = 5;\nNORM_VPERCENT[13] = 5;\nNORM_VPERCENT[4] = 5;\nNORM_VPERCENT[14] = 5;\nNORM_VPERCENT[5] = 5;\nNORM_VPERCENT[15] = 5;\nNORM_VPERCENT[6] = 5;\nNORM_VPERCENT[16] = 5;\nNORM_VPERCENT[7] = 5;\nNORM_VPERCENT[17] = 5;\nNORM_VPERCENT[8] = 5;\nNORM_VPERCENT[18] = 5;\nNORM_VPERCENT[9] = 5;\nNORM_VPERCENT[19] = 5;\nNORM_VPERCENT[10] = 5;\nNORM_VPERCENT[20] = 5;\n\n// Emphysema compartments\nEMPH_QPERCENT[1] = 0.5;\nEMPH_QPERCENT[11] = 1;\nEMPH_QPERCENT[2] = 1;\nEMPH_QPERCENT[12] = 1;\nEMPH_QPERCENT[3] = 1;\nEMPH_QPERCENT[13] = 1;\nEMPH_QPERCENT[4] = 1;\nEMPH_QPERCENT[14] = 1;\nEMPH_QPERCENT[5] = 1;\nEMPH_QPERCENT[15] = 1;\nEMPH_QPERCENT[6] = 3;\nEMPH_QPERCENT[16] = 2;\nEMPH_QPERCENT[7] = 5.5;\nEMPH_QPERCENT[17] = 8.5;\nEMPH_QPERCENT[8] = 11.5;\nEMPH_QPERCENT[18] = 14.5;\nEMPH_QPERCENT[9] = 14.5;\nEMPH_QPERCENT[19] = 15.5;\nEMPH_QPERCENT[10] = 12.5;\nEMPH_QPERCENT[20] = 3;\n\nEMPH_VPERCENT[1] = 6;\nEMPH_VPERCENT[11] = 7;\nEMPH_VPERCENT[2] = 7;\nEMPH_VPERCENT[12] = 6;\nEMPH_VPERCENT[3] = 6;\nEMPH_VPERCENT[13] = 6;\nEMPH_VPERCENT[4] = 5;\nEMPH_VPERCENT[14] = 5;\nEMPH_VPERCENT[5] = 4;\nEMPH_VPERCENT[15] = 3;\nEMPH_VPERCENT[6] = 3.5;\nEMPH_VPERCENT[16] = 2;\nEMPH_VPERCENT[7] = 5;\nEMPH_VPERCENT[17] = 6;\nEMPH_VPERCENT[8] = 7;\nEMPH_VPERCENT[18] = 7;\nEMPH_VPERCENT[9] = 6;\nEMPH_VPERCENT[19] = 4.5;\nEMPH_VPERCENT[10] = 4;\nEMPH_VPERCENT[20] = 0;\n\n// COPD compartments\nCOPD_QPERCENT[1] = 0.1;\nCOPD_QPERCENT[11] = 0.1;\nCOPD_QPERCENT[2] = 0.1;\nCOPD_QPERCENT[12] = 0.1;\nCOPD_QPERCENT[3] = 0.1;\nCOPD_QPERCENT[13] = 3;\nCOPD_QPERCENT[4] = 8;\nCOPD_QPERCENT[14] = 9;\nCOPD_QPERCENT[5] = 9;\nCOPD_QPERCENT[15] = 10;\nCOPD_QPERCENT[6] = 7;\nCOPD_QPERCENT[16] = 7;\nCOPD_QPERCENT[7] = 6;\nCOPD_QPERCENT[17] = 5;\nCOPD_QPERCENT[8] = 5;\nCOPD_QPERCENT[18] = 5.5;\nCOPD_QPERCENT[9] = 6.2;\nCOPD_QPERCENT[19] = 8;\nCOPD_QPERCENT[10] = 5.4;\nCOPD_QPERCENT[20] = 5.4;\n\nCOPD_VPERCENT[1] = 8;\nCOPD_VPERCENT[11] = 8;\nCOPD_VPERCENT[2] = 8;\nCOPD_VPERCENT[12] = 8;\nCOPD_VPERCENT[3] = 8;\nCOPD_VPERCENT[13] = 5;\nCOPD_VPERCENT[4] = 6;\nCOPD_VPERCENT[14] = 9;\nCOPD_VPERCENT[5] = 9;\nCOPD_VPERCENT[15] = 8;\nCOPD_VPERCENT[6] = 7;\nCOPD_VPERCENT[16] = 6;\nCOPD_VPERCENT[7] = 5;\nCOPD_VPERCENT[17] = 1;\nCOPD_VPERCENT[8] = 1;\nCOPD_VPERCENT[18] = 1;\nCOPD_VPERCENT[9] = 1;\nCOPD_VPERCENT[19] = 1;\nCOPD_VPERCENT[10] = 0;\nCOPD_VPERCENT[20] = 0;\n\n// Bronchial Obstruction compartments\nBRON_QPERCENT[1] = 1.4;\nBRON_QPERCENT[11] = 2;\nBRON_QPERCENT[2] = 2.2;\nBRON_QPERCENT[12] = 4;\nBRON_QPERCENT[3] = 4;\nBRON_QPERCENT[13] = 4.5;\nBRON_QPERCENT[4] = 4.5;\nBRON_QPERCENT[14] = 4.8;\nBRON_QPERCENT[5] = 4.8;\nBRON_QPERCENT[15] = 5.2;\nBRON_QPERCENT[6] = 5.2;\nBRON_QPERCENT[16] = 5.5;\nBRON_QPERCENT[7] = 5.5;\nBRON_QPERCENT[8] = 6.5;\nBRON_QPERCENT[9] = 6.5;\nBRON_QPERCENT[10] = 7.0;\nBRON_QPERCENT[17] = 6.2;\nBRON_QPERCENT[18] = 6.2;\nBRON_QPERCENT[19] = 6.5;\nBRON_QPERCENT[20] = 7.5;\n\nBRON_VPERCENT[1] = 6;\nBRON_VPERCENT[11] = 6;\nBRON_VPERCENT[2] = 6.5;\nBRON_VPERCENT[12] = 6.5;\nBRON_VPERCENT[3] = 6;\nBRON_VPERCENT[13] = 6;\nBRON_VPERCENT[4] = 6;\nBRON_VPERCENT[14] = 6.5;\nBRON_VPERCENT[5] = 6.5;\nBRON_VPERCENT[15] = 6.5;\nBRON_VPERCENT[6] = 6.5;\nBRON_VPERCENT[16] = 7;\nBRON_VPERCENT[7] = 7;\nBRON_VPERCENT[8] = 6.5;\nBRON_VPERCENT[9] = 5.5;\nBRON_VPERCENT[10] = 5;\nBRON_VPERCENT[17] = 0;\nBRON_VPERCENT[18] = 0;\nBRON_VPERCENT[19] = 0;\nBRON_VPERCENT[20] = 0;\n\nexport interface VQPreset {\n\tname: string;\n\tvqZones: [number, number][];\n\ttvDeadspacePct: number;\n}\n\nconst zip = (arr1: T[], arr2: T[]): [T, T][] => arr1.map((k, i) => [k, arr2[i]]);\n\nexport const vqPresets: VQPreset[] = [\n\t{\n\t\tname: \"Normal\",\n\t\tvqZones: zip(NORM_VPERCENT, NORM_QPERCENT),\n\t\ttvDeadspacePct: 5,\n\t},\n\t{\n\t\tname: \"Emphysema\",\n\t\tvqZones: zip(EMPH_VPERCENT, EMPH_QPERCENT),\n\t\ttvDeadspacePct: 20,\n\t},\n\t{\n\t\tname: \"Chronic Bronchitis\",\n\t\tvqZones: zip(COPD_VPERCENT, COPD_QPERCENT),\n\t\ttvDeadspacePct: 10,\n\t},\n\t{\n\t\tname: \"Bronchial Obstruction\",\n\t\tvqZones: zip(BRON_VPERCENT, BRON_QPERCENT),\n\t\ttvDeadspacePct: 5,\n\t},\n];\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { VQSim } from \"@/components/VQSim\";\nimport vqview from \"@/components/VQView.vue\";\nimport { RefRngs } from \"@/components/BloodGas\";\nimport { randFloat } from \"@/components/BloodGasGen\";\nimport Vue from \"vue\";\nimport { vqPresets } from \"@/components/VQPresets\";\n\nexport default Vue.extend({\n\tcomponents: {\n\t\tvqview,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsimPending: false,\n\t\t\tvq_preset: 0,\n\t\t\tpreset_items: vqPresets.map((x, i) => {\n\t\t\t\treturn { text: x.name, value: i };\n\t\t\t}),\n\t\t\tsim: new VQSim(vqPresets[0]),\n\t\t\tinputTimeout: undefined as number | undefined,\n\t\t\tinputData: {\n\t\t\t\tresp_rate: {\n\t\t\t\t\tlabel: \"Resp. Rate (breaths/min)\",\n\t\t\t\t\trange: [4, 40],\n\t\t\t\t},\n\t\t\t\ttidal_vol: {\n\t\t\t\t\tlabel: \"Tidal Volume (mL/breath)\",\n\t\t\t\t\trange: [150, 2000],\n\t\t\t\t},\n\t\t\t\tcardiac_output: {\n\t\t\t\t\tlabel: \"Cardiac Output (L/min)\",\n\t\t\t\t\trange: [2, 20],\n\t\t\t\t},\n\t\t\t\tfi_o2: {\n\t\t\t\t\tlabel: \"FiO2\",\n\t\t\t\t\trange: [0.21, 1],\n\t\t\t\t\tenforceRange: true,\n\t\t\t\t},\n\t\t\t\thgb: {\n\t\t\t\t\tlabel: \"Hemoglobin (g/dl)\",\n\t\t\t\t\trange: [5, 20],\n\t\t\t\t},\n\t\t\t\tv_o2: {\n\t\t\t\t\tlabel: \"VO2 (mL/min)\",\n\t\t\t\t\trange: [150, 900],\n\t\t\t\t},\n\t\t\t\tv_co2: {\n\t\t\t\t\tlabel: \"VCO2 (mL/min)\",\n\t\t\t\t\trange: [120, 900],\n\t\t\t\t},\n\t\t\t\tatm_press: {\n\t\t\t\t\tlabel: \"Atmospheric Pressure (torr)\",\n\t\t\t\t\trange: [425, 3025],\n\t\t\t\t},\n\t\t\t\ttemp: {\n\t\t\t\t\tlabel: \"Body Temperature (°C)\",\n\t\t\t\t\trange: [30, 44],\n\t\t\t\t\tenforceRange: true,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t},\n\twatch: {\n\t\tvq_preset() {\n\t\t\tthis.sim = new VQSim(vqPresets[this.vq_preset]);\n\t\t},\n\t},\n\tmethods: {\n\t\tcleanInputs() {\n\t\t\tObject.keys(this.inputData).forEach((fieldName) => {\n\t\t\t\tif ((this.inputData as any)[fieldName].enforceRange) {\n\t\t\t\t\tif ((this.sim as any)[fieldName] < (this.inputData as any)[fieldName].range[0]) {\n\t\t\t\t\t\tthis.$set(this.sim, fieldName, (this.inputData as any)[fieldName].range[0]);\n\t\t\t\t\t} else if ((this.sim as any)[fieldName] > (this.inputData as any)[fieldName].range[1]) {\n\t\t\t\t\t\tthis.$set(this.sim, fieldName, (this.inputData as any)[fieldName].range[1]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tinputUpdated(delay = 1000) {\n\t\t\tthis.simPending = true;\n\t\t\tclearTimeout(this.inputTimeout);\n\t\t\tthis.inputTimeout = setTimeout(() => {\n\t\t\t\tthis.runSim();\n\t\t\t}, delay);\n\t\t},\n\t\trunSim() {\n\t\t\tthis.cleanInputs();\n\t\t\tthis.simPending = false;\n\t\t\tthis.sim.run_sim();\n\t\t},\n\t\tresetSim() {\n\t\t\tthis.vq_preset = 0;\n\t\t\tthis.sim = new VQSim(vqPresets[this.vq_preset]);\n\t\t\tthis.sim.run_sim();\n\t\t},\n\t},\n\tcomputed: {\n\t\tcalcBicarb(): number {\n\t\t\treturn 3 * this.sim.results.pa_co2! * Math.pow(10, this.sim.results.a_pH! - (81 / 10));\n\t\t},\n\t\tcalcBaseExcess(): number {\n\t\t\t//Lang, W., & Zander, R. (2002). The accuracy of calculated base excess in blood. Clinical chemistry and laboratory medicine, 40(4), 404–410. https://doi.org/10.1515/CCLM.2002.065\n\t\t\t//BE = (1−0.0143 . cHb) . [{0.0304 . pCO2. 10 ^ (ph−6.1)−24.26} + (9.5+1.63 . cHb) . (pH −7.4)] −0.2 . cHb . (1−sO2)\n\t\t\t//return (1 - 0.0143 * this.sim.hgb) * ((0.0304 * this.sim.results.pa_co2! * Math.pow(10, (this.sim.results.a_pH! - 6.1)) - 24.26) + (9.5+1.63 * this.sim.hgb) * (this.sim.results.a_pH! - 7.4)) - 0.2 * this.sim.hgb * (1 - this.sim.results.hgb_sat/100)\n\t\t\t//\n\t\t\t//Siggaard-Andersen O. (1971). An acid-base chart for arterial blood with normal and pathophysiological reference areas. Scandinavian journal of clinical and laboratory investigation, 27(3), 239–245. https://doi.org/10.3109/00365517109080214\n\t\t\t//B.E. = 0.02786 * pCO2 * 10 (pH - 6.1) + 13.77 * pH - 124.58\n\t\t\treturn 0.02786 * this.sim.results.pa_co2! * Math.pow(10, (this.sim.results.a_pH! - 6.1)) + 13.77 * this.sim.results.a_pH! - 124.58;\n\t\t\t//\n\t\t\t//From Ken Berger\n\t\t\t//BE = 37 * (EXP((pHa@37C-7.4+0.345x(ln(PaCO2@37C/40))) / (0.55-0.09x(ln(PaCO2@37C/40))))-1)\n\t\t\t//return 37 * (Math.exp((this.sim.results.a_pH!-7.4+0.345 * (Math.log(this.sim.results.pa_co2!/40))) / (0.55-0.09*(Math.log(this.sim.results.pa_co2!/40))))-1)\n\t\t},\n\t\tabgURL(): string {\n\t\t\tconst Na = randFloat(RefRngs.Na!.lower, RefRngs.Na!.upper, 0);\n\t\t\tconst Cl = randFloat(\n\t\t\t\tNa - (RefRngs.AnionGap!.upper - 1 + this.calcBicarb),\n\t\t\t\tNa - (RefRngs.AnionGap!.lower + 1 + this.calcBicarb),\n\t\t\t\t0,\n\t\t\t);\n\t\t\treturn `/?pH=${this.sim.results.a_pH.toFixed(2)}&PaCO2=${this.sim.results.pa_co2.toFixed(0)}&bicarb=${this.calcBicarb.toFixed(0)}&Na=${Na}&Cl=${Cl}`;\n\t\t},\n\t\tinvalidInputs(): string[] {\n\t\t\treturn Object.keys(this.inputData).reduce(\n\t\t\t\t(agg, fieldName) => {\n\t\t\t\t\tif ((this.sim as any)[fieldName] < (this.inputData as any)[fieldName].range[0] || (this.sim as any)[fieldName] > (this.inputData as any)[fieldName].range[1]) {\n\t\t\t\t\t\tagg.push(fieldName);\n\t\t\t\t\t}\n\t\t\t\t\treturn agg;\n\t\t\t\t},\n\t\t\t\t[] as string[],\n\t\t\t);\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\t// Run the simulation using the default parameters once everything is loaded in.\n\t\t\tthis.runSim();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQSim.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./VQSim.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VQSim.vue?vue&type=template&id=7e616bab&scoped=true&\"\nimport script from \"./VQSim.vue?vue&type=script&lang=ts&\"\nexport * from \"./VQSim.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./VQSim.vue?vue&type=style&index=0&id=7e616bab&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7e616bab\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VLabel } from 'vuetify/lib/components/VLabel';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VDivider,VLabel,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('center',{staticStyle:{\"padding\":\"20px\"}},[(_vm.answerData && _vm.answerData.length > 0)?_c('div',[_c('learning-curve',{attrs:{\"answer-data\":_vm.answerData,\"width\":360,\"height\":240}})],1):_c('div',[_c('h2',[_vm._v(\"There is no data to display.\")]),_c('h3',[_c('i',[_vm._v(\"Please complete some more \"),_c('a',{attrs:{\"href\":\"/train\"}},[_vm._v(\"questions\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport * as jajax from \"@/jajax\";\nimport LearningCurve from \"@/components/LearningCurve.vue\";\nimport Vue from \"vue\";\nexport default Vue.extend({\n\tcomponents: {\n\t\tLearningCurve,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tanswerData: [],\n\t\t};\n\t},\n\tmounted() {\n\t\tthis.$nextTick(function() {\n\t\t\tconst apiURL = this.$store.state.api_url + \"/api/answer/list\";\n\t\t\tjajax.getJSON(apiURL, this.$store.state.jwtToken).then((data: any) => {\n\t\t\t\tthis.answerData = data.reverse();\n\t\t\t}).catch((err) => {\n\t\t\t\tthis.$toast(`Failed to fetch answer data (Err Code: ${err.respCode})`, {color: \"#d98303\"});\n\t\t\t});\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDash.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TrainDash.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TrainDash.vue?vue&type=template&id=aba518b8&\"\nimport script from \"./TrainDash.vue?vue&type=script&lang=ts&\"\nexport * from \"./TrainDash.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"davenport-diagram\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"flex-wrap\":\"wrap\",\"margin-top\":\"12px\"}},[_c('b',[_vm._v(\"Color Points Using:\")]),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"0\"}}),_c('v-select',{staticStyle:{\"max-width\":\"200px\",\"display\":\"inline-block\",\"margin\":\"5px 15px\"},attrs:{\"items\":['Generator', 'Genius']},on:{\"change\":function($event){return _vm.plotDavenport();}},model:{value:(_vm.colorBy),callback:function ($$v) {_vm.colorBy=$$v},expression:\"colorBy\"}}),_c('v-btn',{on:{\"click\":function($event){_vm.genDiagramData(); _vm.plotDavenport();}}},[_vm._v(\"Regen\")]),_c('div',{staticClass:\"flex-break\",staticStyle:{\"margin\":\"0\"}}),_vm._m(0),_c('div',{staticStyle:{\"flex-basis\":\"100%\",\"height\":\"16px\"}}),_c('div',{staticStyle:{\"transform\":\"scale(0.85)\",\"transform-origin\":\"top center\"}},[_c('svg',{attrs:{\"width\":_vm.width,\"height\":_vm.height}})])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sup',[_c('i',[_vm._v(\"Grouping of points should match between genius (calculated disturbances) and generator (actual disturbances).\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst d3 = Object.assign({},\n\trequire(\"d3-selection\"),\n\trequire(\"d3-axis\"),\n\trequire(\"d3-scale\"),\n\trequire(\"d3-shape\"),\n\trequire(\"d3-array\"),\n\trequire(\"d3-scale-chromatic\"),\n);\nd3.tip = require(\"d3-tip\").default;\nimport * as BG from \"@/components/BloodGas\";\nimport { abgGenerators } from \"@/components/BloodGasGen\";\n\nimport Vue from \"vue\";\nimport { color } from \"d3\";\ntype DavenportDatum = [string, [BG.BloodGas, BG.DisturbType[]]];\nexport default Vue.extend({\n\tdata() {\n\t\treturn {\n\t\t\tcolorBy: \"Generator\",\n\t\t\trefRngs: BG.RefRngs,\n\t\t\twidth: 690,\n\t\t\theight: 606,\n\t\t\tpadding: {top: 10, right: 30, bottom: 30, left: 60},\n\t\t\tgenData: [] as [string, [BG.BloodGas, BG.DisturbType[]]][],\n\t\t};\n\t},\n\tmethods: {\n\t\tplotDavenport() {\n\t\t\tconst svg = d3.select(this.$el).select(\"svg\");\n\t\t\td3.selectAll(\".davenport-tooltip\").remove();\n\t\t\tsvg.selectAll(\"*\").remove();\n\t\t\tif (svg === undefined) return;\n\t\t\tconst plotArea = svg.append(\"g\");\n\t\t\tplotArea.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.attr(\"transform\", \"translate(\" + this.padding.left + \",\" + this.padding.top + \")\")\n\t\t\t\t.attr(\"class\", \"davenport-plot-area\");\n\t\t\tplotArea.append(\"defs\")\n\t\t\t\t.append(\"pattern\")\n\t\t\t\t.attr(\"id\", \"davenport-bg\")\n\t\t\t\t.attr(\"patternUnits\", \"userSpaceOnUse\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.append(\"image\")\n\t\t\t\t.attr(\"xlink:href\", \"/img/davenport.png\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom);\n\t\t\tplotArea.append(\"rect\")\n\t\t\t\t.attr(\"width\", this.width - this.padding.left - this.padding.right)\n\t\t\t\t.attr(\"height\", this.height - this.padding.top - this.padding.bottom)\n\t\t\t\t.attr(\"fill\", \"url(#davenport-bg)\");\n\n\t\t\t// Add X axis\n\t\t\tconst xAxis = d3.scaleLinear()\n\t\t\t\t.domain([7.0, 7.8])\n\t\t\t\t.range([ 0, this.width - this.padding.left - this.padding.right ]);\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.attr(\"transform\", \"translate(0,\" + (this.height - this.padding.bottom - 10) + \")\")\n\t\t\t\t.call(d3.axisBottom(xAxis));\n\n\t\t\t// Add Y axis\n\t\t\tconst yAxis = (d3.scaleLinear() as any)\n\t\t\t\t.domain([-0.1, 60])\n\t\t\t\t.range([this.height - this.padding.top - this.padding.bottom, 0]);\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.call(d3.axisLeft().tickValues(Array(16).fill(0).map((_, x) => x * 4)).scale(yAxis));\n\t\t\t// Color scheme\n\t\t\tconst colorScale = JSON.parse(JSON.stringify(d3.schemePaired));\n\t\t\tcolorScale.push(\"orange\");\n\t\t\tcolorScale.push(\"black\");\n\t\t\t// Tooltips\n\t\t\tconst tooltip = d3.tip().attr(\"class\", \"davenport-tooltip\").html((d: DavenportDatum) => \"Actual: \" + d[0] + \"
Genius: \" + d[1][0].guessDisturbances());\n\t\t\tplotArea.call(tooltip);\n\t\t\t// Add dots\n\t\t\tconst genDisturbList: any = [];\n\t\t\tplotArea.append(\"g\")\n\t\t\t\t.selectAll(\"dot\")\n\t\t\t\t.data(this.genData)\n\t\t\t\t.enter()\n\t\t\t\t.append(\"circle\")\n\t\t\t\t.filter((d: DavenportDatum) => {\n\t\t\t\t\treturn d[1][0].abg.pH! > 7;\n\t\t\t\t})\n\t\t\t\t.attr(\"cx\", (d: DavenportDatum) => xAxis(d[1][0].abg.pH!))\n\t\t\t\t.attr(\"cy\", (d: DavenportDatum) => yAxis(d[1][0].abg.bicarb!))\n\t\t\t\t.attr(\"opacity\", 0.25)\n\t\t\t\t.attr(\"r\", 4.5)\n\t\t\t\t.on(\"mouseover\", tooltip.show)\n\t\t\t\t.on(\"mouseout\", tooltip.hide)\n\t\t\t\t.style(\"fill\", (d: DavenportDatum) => {\n\t\t\t\t\tif (this.colorBy === \"Generator\") {\n\t\t\t\t\t\treturn colorScale[Object.keys(abgGenerators).indexOf(d[0])];\n\t\t\t\t\t}\n\t\t\t\t\tif (this.colorBy === \"Genius\") {\n\t\t\t\t\t\tconst name = JSON.stringify(d[1][0].guessDisturbances());\n\t\t\t\t\t\tif (genDisturbList.indexOf(name) === -1) {\n\t\t\t\t\t\t\tgenDisturbList.push(name);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn colorScale[genDisturbList.indexOf(name)];\n\t\t\t\t\t}\n\t\t\t\t\treturn \"black\";\n\t\t\t\t});\n\t\t},\n\t\tgenDiagramData() {\n\t\t\tconst nPoints = 500;\n\t\t\tconst selectedGenerators = [\n\t\t\t\t\"Normal\",\n\t\t\t\t\"Compensated Respiratory Acidosis\", \"Uncompensated Respiratory Acidosis\",\n\t\t\t\t\"Compensated Respiratory Alkalosis\", \"Uncompensated Respiratory Alkalosis\",\n\t\t\t\t\"Compensated Non-Gap Metabolic Acidosis\", \"Uncompensated Non-Gap Metabolic Acidosis\",\n\t\t\t\t\"Compensated Metabolic Alkalosis\", \"Uncompensated Metabolic Alkalosis\",\n\t\t\t\t\"Compensated Anion Gap Metabolic Acidosis\", \"Uncompensated Anion Gap Metabolic Acidosis\",\n\t\t\t\t//\"Compensated Positive Delta Gap\", \"Uncompensated Positive Delta Gap\",\n\t\t\t\t//\"Compensated Negative Delta Gap\", \"Uncompensated Negative Delta Gap\",\n\t\t\t];\n\t\t\tthis.genData = selectedGenerators.reduce((agg, genName) => {\n\t\t\t//this.genData = Object.keys(abgGenerators).reduce((agg, genName) => {\n\t\t\t\tconst gen = abgGenerators[genName];\n\t\t\t\tArray(nPoints).fill(0).forEach((_) => {\n\t\t\t\t\tagg.push([genName, gen(false)]);\n\t\t\t\t});\n\t\t\t\treturn agg;\n\t\t\t}, [] as [string, [BG.BloodGas, BG.DisturbType[]]][]);\n\t\t},\n\t},\n\tmounted() {\n\t\tthis.$nextTick(() => {\n\t\t\tthis.genDiagramData();\n\t\t\tthis.plotDavenport();\n\t\t});\n\t},\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Davenport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Davenport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Davenport.vue?vue&type=template&id=ca76bb98&\"\nimport script from \"./Davenport.vue?vue&type=script&lang=ts&\"\nexport * from \"./Davenport.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Davenport.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VBtn,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"22px\"}},[_c('center',{staticStyle:{\"margin\":\"20px 0\"}},[_c('h2',[_vm._v(\"ABGenius - Terms of Service\")]),_c('br'),_c('br'),_c('p',{staticStyle:{\"font-size\":\"120%\",\"line-height\":\"150%\"}},[_vm._v(\"\\n\\t\\t\\t\\tThese terms and conditions outline the rules and regulations for the use of ABGenius's Website.\\n\\t\\t\\t\\t\"),_c('br'),_vm._v(\"\\n\\t\\t\\t\\tBy accessing this website we assume you accept these terms and conditions in full.\\n\\t\\t\\t\\t\"),_c('br'),_c('b',[_c('u',[_vm._v(\"DO NOT continue to use ABGenius\")]),_vm._v(\" if you do not accept all of the terms and conditions stated on this page.\\n\\t\\t\\t\\t\")])]),_c('br')]),_c('hr'),_c('h2',[_vm._v(\"Acceptable Usage Guidelines:\")]),_c('p',[_vm._v(\"\\n\\t\\t\\tAll information contained in and produced by the ABGenius system is provided for educational purposes only. This information should not be used for the diagnosis or treatment of any health problem or disease. THIS INFORMATION IS NOT INTENDED TO REPLACE CLINICAL JUDGMENT OR GUIDE INDIVIDUAL PATIENT CARE in any manner. \\n\\t\\t\\tThe User is hereby notified that the information contained herein may not meet the user's needs. The User is advised that, although the information is derived from medical research and literature we cannot guarantee either its correctness, comprehensiveness or currency. The User of this software assumes sole responsibility for any decisions made or actions taken based on the information contained in the ABGenius system. \\n\\t\\t\")]),_c('p',[_vm._v(\"\\n\\t\\t\\tNeither the system's authors nor any other party involved in the preparation, publication or distribution of the ABGenius system shall be liable for any special, consequential, or exemplary damages resulting in whole or part from any User's use of or reliance upon this system and the information contained within. \\n\\t\\t\\tABGenius disclaims all warranties regarding such information whether express or implied, including any warranty as to the quality, accuracy, currency or suitability of this information for any particular purpose. \\n\\t\\t\\tThe system's authors, developers and distributors assume no responsibility for any erroneous results due to defects in the system. ACCESS TO AND USE OF THE ABGenius SYSTEM IS PROVIDED WITHOUT WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED. \\n\\t\\t\\tIn no event shall the the system's authors be liable for special, direct, indirect or consequential damages, charges, claims, costs, demands, losses fees or expenses of any nature or kind arising from use of the ABGenius system.\\n\\t\\t\\tBy using the ABGenius system, documentation and/or any software found therein, the User agrees to abide by United States and International copyright laws and all other applicable laws involving copyright.\\n\\t\\t\")]),_c('hr'),_c('h2',[_vm._v(\"Terminology:\")]),_c('p',[_vm._v(\"The following terminology applies to these Terms and Conditions, Privacy Statement and Disclaimer Notice and any\\n or all Agreements: “Client”, “You” and “Your” refers to you, the person accessing this website and accepting\\n the Company’s terms and conditions. “The Company”, “Ourselves”, “We”, “Our” and “Us”, refers to our Company.\\n “Party”, “Parties”, or “Us”, refers to both the Client and ourselves, or either the Client or ourselves. All\\n terms refer to the offer, acceptance and consideration of payment necessary to undertake the process of our assistance\\n to the Client in the most appropriate manner, whether by formal meetings of a fixed duration, or any other means,\\n for the express purpose of meeting the Client’s needs in respect of provision of the Company’s stated services/products,\\n in accordance with and subject to, prevailing law of . Any use of the above terminology or other words in the\\n singular, plural, capitalisation and/or he/she or they, are taken as interchangeable and therefore as referring\\n to same.\")]),_c('br'),_c('h2',[_vm._v(\"Cookies\")]),_c('p',[_vm._v(\"We employ the use of cookies. By using ABGenius's website you consent to the use of cookies in accordance with ABGenius’s\\n privacy policy.\")]),_c('p',[_vm._v(\"Most of the modern day interactive web sites use cookies to enable us to retrieve user details for each visit. Cookies\\n are used in some areas of our site to enable the functionality of this area and ease of use for those people\\n visiting. Some of our affiliate / advertising partners may also use cookies.\")]),_c('br'),_c('h2',[_vm._v(\"License\")]),_c('p',[_vm._v(\"Unless otherwise stated, ABGenius and/or it’s licensors own the intellectual property rights for all material on ABGenius.\\n All intellectual property rights are reserved. You may view and/or print pages from ABGenius\\n for your own personal use subject to restrictions set in these terms and conditions.\")]),_c('p',[_vm._v(\"You must not:\")]),_vm._m(0),_c('p',[_vm._v(\"Redistribute content from ABGenius (unless content is specifically made for redistribution).\")]),_c('br'),_c('h2',[_vm._v(\"User Content\")]),_vm._m(1),_c('br'),_c('h2',[_vm._v(\"Healthcare Information\")]),_vm._m(2),_c('br'),_c('h2',[_vm._v(\"Hyperlinking to our Content\")]),_vm._m(3),_vm._m(4),_c('p',[_vm._v(\"We will approve link requests from these organizations if we determine that: (a) the link would not reflect unfavorably\\n on us or our accredited businesses (for example, trade associations or other organizations representing inherently\\n suspect types of business, such as work-at-home opportunities, shall not be allowed to link); (b)the organization\\n does not have an unsatisfactory record with us; (c) the benefit to us from the visibility associated with the\\n hyperlink outweighs the absence of\\n ABGenius; and (d) where the link is in the context of general resource information or is otherwise consistent with editorial\\n content in a newsletter or similar product furthering the mission of the organization.\")]),_c('p',[_vm._v(\"These organizations may link to our home page, to publications or to other Web site information so long as the link:\\n (a) is not in any way misleading; (b) does not falsely imply sponsorship, endorsement or approval of the linking\\n party and it products or services; and (c) fits within the context of the linking party's site.\\n \")]),_vm._m(5),_c('p',[_vm._v(\"Approved organizations may hyperlink to our Web site as follows:\")]),_vm._m(6),_c('p',[_vm._v(\"No use of ABGenius’s logo or other artwork will be allowed for linking absent a trademark license agreement.\\n \")]),_c('h2',[_vm._v(\"Iframes\")]),_c('p',[_vm._v(\"Without prior approval and express written permission, you may not create frames around our Web pages or use other\\n techniques that alter in any way the visual presentation or appearance of our Web site.\")]),_c('h2',[_vm._v(\"Reservation of Rights\")]),_c('p',[_vm._v(\"We reserve the right at any time and in its sole discretion to request that you remove all links or any particular\\n link to our Web site. You agree to immediately remove all links to our Web site upon such request. We also reserve\\n the right to amend these terms and conditions and its linking policy at any time. By continuing to link to our\\n Web site, you agree to be bound to and abide by these linking terms and conditions.\")]),_c('h2',[_vm._v(\"Removal of links from our website\")]),_c('p',[_vm._v(\"If you find any link on our Web site or any linked web site objectionable for any reason, you may contact us about\\n this. We will consider requests to remove links but will have no obligation to do so or to respond directly to\\n you.\")]),_c('p',[_vm._v(\"Whilst we endeavour to ensure that the information on this website is correct, we do not warrant its completeness\\n or accuracy; nor do we commit to ensuring that the website remains available or that the material on the website\\n is kept up to date.\")]),_c('h2',[_vm._v(\"Content Liability\")]),_c('p',[_vm._v(\"We shall have no responsibility or liability for any content appearing on your Web site. You agree to indemnify and\\n defend us against all claims arising out of or based upon your Website. No link(s) may appear on any page on\\n your Web site or within any context containing content or materials that may be interpreted as libelous, obscene\\n or criminal, or which infringes, otherwise violates, or advocates the infringement or other violation of, any\\n third party rights.\")]),_c('h2',[_vm._v(\"Disclaimer\")]),_c('p',[_vm._v(\"To the maximum extent permitted by applicable law, we exclude all representations, warranties and conditions relating\\n to our website and the use of this website (including, without limitation, any warranties implied by law in respect\\n of satisfactory quality, fitness for purpose and/or the use of reasonable care and skill). Nothing in this disclaimer\\n will:\")]),_vm._m(7),_c('p',[_vm._v(\"The limitations and exclusions of liability set out in this Section and elsewhere in this disclaimer: (a) are subject\\n to the preceding paragraph; and (b) govern all liabilities arising under the disclaimer or in relation to the\\n subject matter of this disclaimer, including liabilities arising in contract, in tort (including negligence)\\n and for breach of statutory duty.\")]),_c('p',[_vm._v(\"To the extent that the website and the information and services on the website are provided free of charge, we will\\n not be liable for any loss or damage of any nature.\")])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"Republish material from ABGenius\")]),_c('li',[_vm._v(\"Sell, rent or sub-license material from ABGenius\")]),_c('li',[_vm._v(\"Reproduce, duplicate or copy material from ABGenius\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"This Agreement shall begin on the date hereof.\")]),_c('li',[_vm._v(\"Certain parts of this website offer the opportunity for users to post and exchange opinions, information, material\\n and data ('Content') in areas of the website. ABGenius does not screen, edit, publish or review Content prior\\n to their appearance on the website and Content do not reflect the views or opinions of ABGenius, its agents or\\n affiliates. Content reflect the view and opinion of the person who posts such view or opinion. To the extent\\n permitted by applicable laws ABGenius shall not be responsible or liable for the Content or for any loss cost,\\n liability, damages or expenses caused and or suffered as a result of any use of and/or posting of and/or\\n appearance of the Content on this website.\\n \")]),_c('li',[_vm._v(\"ABGenius reserves the right to monitor all Content and to remove any Content which it considers in its absolute\\n discretion to be inappropriate, offensive or otherwise in breach of these Terms and Conditions.\")]),_c('li',[_vm._v(\"You warrant and represent that:\\n \"),_c('ol',[_c('li',[_vm._v(\"You are entitled to post the Content on our website and have all necessary licenses and consents to\\n do so;\")]),_c('li',[_vm._v(\"The Content does not infringe any intellectual property right, including without limitation copyright,\\n patent or trademark, or other proprietary right of any third party;\")]),_c('li',[_vm._v(\"The Content does not contain any defamatory, libelous, offensive, indecent or otherwise unlawful material\\n or material which is an invasion of privacy\")]),_c('li',[_vm._v(\"The Content will not be used to solicit or promote business or custom or present commercial activities\\n or unlawful activity.\")])])]),_c('li',[_vm._v(\"You hereby grant to\\n \"),_c('strong',[_vm._v(\"ABGenius\")]),_vm._v(\" a non-exclusive royalty-free license to use, reproduce, edit and authorize others to use, reproduce\\n and edit any of your Content in any and all forms, formats or media.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"You understand and agree that ABGenius should not be used for and does not constitute any practice of medicine, healing arts, diagnosis, treatment, or prescription or any practice of a healthcare profession, role, or provider.\")]),_c('li',[_vm._v(\"You understand and agree that information provided through ABGenius (whether by you or by others) is not intended to be, and must not be understood to be, a medical opinion or medical advice regarding diagnosis, treatment, prescriptions, or otherwise.\")]),_c('li',[_vm._v(\"You understand and agree that no aspect of ABGenius should be considered, or used as a substitute for, your own professional, medical, or management knowledge, analysis, judgment, expertise, or processes regarding diagnosis, treatment, prescriptions, or other healthcare decisions or acts.\\n \")]),_c('li',[_vm._v(\"You understand and agree that you may not use ABGenius in place of your own professional, medical, or management knowledge, analysis, judgment, expertise, or processes to provide diagnoses, medical opinions, treatments, or prescriptions for your patients. You understand and agree that determining the most appropriate diagnosis, treatment, prescription, or other medical opinion for your patients is your sole responsibility.\")]),_c('li',[_vm._v(\"You understand and agree that the owners of ABGenius may not be held indemnifiable for any losses, damage, or injuries which may result from usage of the platform.\\n \")]),_c('li',[_vm._v(\"You understand and agree that no other user of the Services or enterprise subscribing to the Services will be liable to you in connection with your use of and/or reliance on User Content for the purposes of healthcare.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"The following organizations may link to our Web site without prior written approval:\\n \"),_c('ol',[_c('li',[_vm._v(\"Government agencies;\")]),_c('li',[_vm._v(\"Search engines;\")]),_c('li',[_vm._v(\"News organizations;\")]),_c('li',[_vm._v(\"Online directory distributors when they list us in the directory may link to our Web site in the same\\n manner as they hyperlink to the Web sites of other listed businesses; and\")]),_c('li',[_vm._v(\"Systemwide Accredited Businesses except soliciting non-profit organizations, charity shopping malls,\\n and charity fundraising groups which may not hyperlink to our Web site.\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',{attrs:{\"start\":\"2\"}},[_c('li',[_vm._v(\"These organizations may link to our home page, to publications or to other Web site information so long as the\\n link: (a) is not in any way misleading; (b) does not falsely imply sponsorship, endorsement or approval of\\n the linking party and its products or services; and (c) fits within the context of the linking party's site.\\n \")]),_c('li',[_vm._v(\"We may consider and approve in our sole discretion other link requests from the following types of organizations:\\n \"),_c('ol',[_c('li',[_vm._v(\"commonly-known consumer and/or business information sources such as Chambers of Commerce, American Automobile\\n Association, AARP and Consumers Union;\")]),_c('li',[_vm._v(\"dot.com community sites;\")]),_c('li',[_vm._v(\"associations or other groups representing charities, including charity giving sites,\")]),_c('li',[_vm._v(\"online directory distributors;\")]),_c('li',[_vm._v(\"internet portals;\")]),_c('li',[_vm._v(\"accounting, law and consulting firms whose primary clients are businesses; and\")]),_c('li',[_vm._v(\"educational institutions and trade associations.\")])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"If you are among the organizations listed in paragraph 2 above and are interested in linking to our website, you\\n must notify us by sending an e-mail to\\n \"),_c('a',{attrs:{\"href\":\"mailto:jpdev.noreply@gmail.com\",\"title\":\"send an email to jpdev.noreply@gmail.com\"}},[_vm._v(\"jpdev.noreply@gmail.com\")]),_vm._v(\". Please include your name, your organization name, contact information (such as a phone number\\n and/or e-mail address) as well as the URL of your site, a list of any URLs from which you intend to link to our\\n Web site, and a list of the URL(s) on our site to which you would like to link. Allow 2-3 weeks for a response.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"By use of our corporate name; or\")]),_c('li',[_vm._v(\"By use of the uniform resource locator (Web address) being linked to; or\")]),_c('li',[_vm._v(\"By use of any other description of our Web site or material being linked to that makes sense within the context\\n and format of content on the linking party's site.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"limit or exclude our or your liability for death or personal injury resulting from negligence;\")]),_c('li',[_vm._v(\"limit or exclude our or your liability for fraud or fraudulent misrepresentation;\")]),_c('li',[_vm._v(\"limit any of our or your liabilities in any way that is not permitted under applicable law; or\")]),_c('li',[_vm._v(\"exclude any of our or your liabilities that may not be excluded under applicable law.\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nexport default Vue.extend({\n});\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TOS.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/@vue/cli-service/node_modules/thread-loader/dist/cjs.js!../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js!../../node_modules/@vue/cli-plugin-typescript/node_modules/ts-loader/index.js??ref--13-3!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./TOS.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TOS.vue?vue&type=template&id=35781220&\"\nimport script from \"./TOS.vue?vue&type=script&lang=ts&\"\nexport * from \"./TOS.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\nimport Login from \"./views/Login.vue\";\nimport UserProfile from \"./views/UserProfile.vue\";\nimport Admin from \"./views/Admin.vue\";\nimport Authorize from \"./views/Authorize.vue\";\nimport Logout from \"./views/Logout.vue\";\nimport ABGCalc from \"./views/ABGCalc.vue\";\nimport ABGTrain from \"./views/ABGTrain.vue\";\nimport VQSim from \"./views/VQSim.vue\";\nimport TrainDash from \"./views/TrainDash.vue\";\nimport Davenport from \"./components/Davenport.vue\";\nimport TOS from \"./views/TOS.vue\";\n\nVue.use(Router);\n\nexport default new Router({\n\tmode: \"history\",\n\tbase: process.env.BASE_URL,\n\troutes: [\n\t\t{\n\t\t\tpath: \"/\",\n\t\t\tname: \"home\",\n\t\t\tcomponent: ABGCalc,\n\t\t},\n\t\t{\n\t\t\tpath: \"/train\",\n\t\t\tname: \"train\",\n\t\t\tcomponent: ABGTrain,\n\t\t},\n\t\t{\n\t\t\tpath: \"/vq\",\n\t\t\tname: \"vqsim\",\n\t\t\tcomponent: VQSim,\n\t\t},\n\t\t{\n\t\t\tpath: \"/dash\",\n\t\t\tname: \"dash\",\n\t\t\tcomponent: TrainDash,\n\t\t},\n\t\t{\n\t\t\tpath: \"/davenport\",\n\t\t\tname: \"davenport\",\n\t\t\tcomponent: Davenport,\n\t\t},\n\t\t{\n\t\t\tpath: \"/profile\",\n\t\t\tname: \"profile\",\n\t\t\tcomponent: UserProfile,\n\t\t},\n\t\t{\n\t\t\tpath: \"/admin\",\n\t\t\tname: \"admin\",\n\t\t\tcomponent: Admin,\n\t\t},\n\t\t{\n\t\t\tpath: \"/login\",\n\t\t\tname: \"login\",\n\t\t\tcomponent: Login,\n\t\t},\n\t\t{\n\t\t\tpath: \"/auth/:provider\",\n\t\t\tcomponent: Authorize,\n\t\t\tprops: true,\n\t\t},\n\t\t{\n\t\t\tpath: \"/logout\",\n\t\t\tname: \"logout\",\n\t\t\tcomponent: Logout,\n\t\t},\n\t\t{\n\t\t\tpath: \"/about\",\n\t\t\tname: \"about\",\n\t\t\t// route level code-splitting\n\t\t\t// this generates a separate chunk (about.[hash].js) for this route\n\t\t\t// which is lazy-loaded when the route is visited.\n\t\t\tcomponent: () => import(/* webpackChunkName: \"about\" */ \"./views/About.vue\"),\n\t\t},\n\t\t{\n\t\t\tpath: \"/tos\",\n\t\t\tname: \"tos\",\n\t\t\tcomponent: TOS,\n\t\t},\n\t],\n});\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\n\nimport createPersistedState from \"vuex-persistedstate\";\nimport jwtDecode from \"jwt-decode\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n\tstate: {\n\t\tapi_url: \"\",\n\t\tjwtToken: undefined,\n\t\tjwtClaims: {},\n\t},\n\tmutations: {\n\t\tsetLocalAPI(state) {\n\t\t\tstate.api_url = \"http://127.0.0.1:5555\";\n\t\t},\n\t\tsetJWTToken(state, newToken) {\n\t\t\tstate.jwtToken = newToken;\n\t\t\ttry {\n\t\t\t\tstate.jwtClaims = jwtDecode(newToken);\n\t\t\t} catch {\n\t\t\t\tstate.jwtClaims = {};\n\t\t\t}\n\t\t},\n\t},\n\tactions: {\n\n\t},\n\tplugins: [createPersistedState()],\n});\n","/* tslint:disable:no-console */\n\nimport { register } from \"register-service-worker\";\n\nif (process.env.NODE_ENV === \"production\") {\n\tregister(`${process.env.BASE_URL}service-worker.js`, {\n\t\tready() {\n\t\t\tconsole.log(\n\t\t\t\t\"App is being served from cache by a service worker.\\n\" +\n\t\t\t\t\"For more details, visit https://goo.gl/AFskqB\",\n\t\t\t);\n\t\t},\n\t\tregistered() {\n\t\t\tconsole.log(\"Service worker has been registered.\");\n\t\t},\n\t\tcached() {\n\t\t\tconsole.log(\"Content has been cached for offline use.\");\n\t\t},\n\t\tupdatefound() {\n\t\t\tconsole.log(\"New content is downloading.\");\n\t\t},\n\t\tupdated() {\n\t\t\tconsole.log(\"New content is available; please refresh.\");\n\t\t},\n\t\toffline() {\n\t\t\tconsole.log(\"No internet connection found. App is running in offline mode.\");\n\t\t},\n\t\terror(error) {\n\t\t\tconsole.error(\"Error during service worker registration:\", error);\n\t\t},\n\t});\n}\n","import \"babel-polyfill\";\nimport Vue from \"vue\";\nimport \"./plugins/vuetify\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport store from \"./store\";\nimport \"./registerServiceWorker\";\n\nimport headful from \"vue-headful\";\nVue.component(\"headful\", headful);\n\nVue.config.productionTip = false;\n\nnew Vue({\n\trouter,\n\tstore,\n\trender: (h) => h(App),\n}).$mount(\"#app\");\n","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=04fd7f26&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=04fd7f26&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGCalc.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./ABGCalc.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""}