{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/helpers/vitalSignTools.js","webpack:///./src/store/authentication.js","webpack:///./src/store/application/configuration.js","webpack:///./src/store/immunizations.js","webpack:///./src/store/modules/episodes.js","webpack:///./src/store/modules/episode/interventions/getters.js","webpack:///./src/store/modules/episode/interventions/actions.js","webpack:///./src/store/modules/episode/interventions/mutations.js","webpack:///./src/store/modules/episode/vitals/getters.js","webpack:///./src/store/modules/episode/vitals/actions.js","webpack:///./src/store/modules/episode/vitals/mutations.js","webpack:///./src/store/modules/episode/resident/getters.js","webpack:///./src/store/modules/episode/resident/mutations.js","webpack:///./src/store/modules/episode/resident/actions.js","webpack:///./src/store/modules/episode/immunization/getters.js","webpack:///./src/store/modules/episode/immunization/mutations.js","webpack:///./src/store/modules/episode/immunization/actions.js","webpack:///./src/store/modules/episode/careteam/actions.js","webpack:///./src/store/modules/episode/careteam/getters.js","webpack:///./src/store/modules/episode/careteam/mutations.js","webpack:///./src/store/modules/episode/family/getters.js","webpack:///./src/store/modules/episode/family/actions.js","webpack:///./src/store/modules/episode/family/mutations.js","webpack:///./src/store/modules/episode/medication/getters.js","webpack:///./src/store/modules/episode/medication/actions.js","webpack:///./src/store/modules/episode/medication/mutations.js","webpack:///./src/store/modules/episode/caredirective/getters.js","webpack:///./src/store/modules/episode/caredirective/actions.js","webpack:///./src/store/modules/episode/caredirective/mutations.js","webpack:///./src/store/modules/episode/signsAndSymptoms/actions.js","webpack:///./src/store/modules/episode/signsAndSymptoms/mutations.js","webpack:///./src/store/modules/episode/signsAndSymptoms/getters.js","webpack:///./src/store/modules/episode/validation/actions.js","webpack:///./src/store/modules/episode/validation/getters.js","webpack:///./src/store/modules/episode/validation/mutations.js","webpack:///./src/store/modules/episode/episode.js","webpack:///./src/store/modules/user.js","webpack:///./src/store/modules/messages/actions.js","webpack:///./src/store/modules/messages/getters.js","webpack:///./src/store/modules/messages/mutations.js","webpack:///./src/store/modules/messages.js","webpack:///./src/store/index.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/App.vue?22cd","webpack:///./src/App.vue","webpack:///./src/filters/formatTimeStamp.js","webpack:///./src/main.js","webpack:///./src/store/subscriber.js","webpack:///./src/router/index.js"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","notificationCriteria","vital","notified","vitalSignRequiresNotification","vitals","bloodGlucose","blood_glucose","bloodPressure","blood_pressure","pulse","heart_rate","restingPulse","resting_pulse","respiratoryRate","respiration_rate","temperature","oxygenSaturation","o2_saturation","irregularPulse","irregular_pulse","bloodGlucoseVerification","bloodPressureVerification","pulseVerification","respiratoryRateVerification","temperatureVerification","oxygenSaturationVerification","hasIrregularPulse","bloodPressures","split","systolic","diastolic","EXPIRATION_TIME_MINUTES","namespaced","state","token","user","sessionTimeout","isLoggedIn","getters","authenticated","mutations","SET_TOKEN","SET_USER","SET_EXPIRATION","expirationTime","SET_IS_LOGGED_IN","isLogged","actions","authenticate","credentials","dispatch","axios","post","response","handleLogin","access_token","me","setUser","commit","moment","add","format","setLogin","validateLogin","logout","status","warn","catch","finally","clearTokens","localStorage","clear","genders","languages","ethnicities","medicalInsurancePlans","bloodGroups","careTypes","careProviders","immunizations","interventions","signsAndSymptoms","getCareProviderOption","map","id","text","speciality","getInterventionList","intervention","episode_id","intervention_id","selected_symptoms","symptoms","selected_notifications","notifications","selected_monitors","monitors","selected_tests","tests","next_step","notification","alert","page","active","notified_at","read","read_at","created_at","updated_at","created_by","action","getSignsAndSymptoms","sas","symptom","disabled","getSelectedSignsAndSymptoms","find","setGenders","gender_undefined","unshift","setLanguages","language_underfined","setEthnicities","ethnicities_underfined","setMedicalInsurancePlans","medical_insurance_plans_undefined","setBloodGroups","bloodgroups_undefined","setCareTypes","caretype_undefined","setImmunizations","setCareProviders","resetCareProviders","setInterventions","setSignsAndSymptoms","getCareProvidersByFacility","facilityId","loadConfigurationData","log","success","table","configData","patientImmunizations","allImmunizations","unload","fetchImmunizations","deleteImmunization","delete","fetchPatientImmunizations","patient_id","removeImmunization","filter","immunization","setPatientImmunizations","episodes","facility","episodeDisplayState","orderBy","orderDirection","getOrderBy","getOrderDirection","getEpisodesWithInterventions","getEpisodes","_","order","getFacility","getFacilityId","getFacilityName","episode","getEpisodeById","alertCount","count","forEach","updateOrderBy","updateOrderDirection","showAllResidents","showAllInterventions","updateEpisodeFromEvent","index","findIndex","item","fetchEpisodeForDashboard","episodeId","update","updateFacilityEpisodes","getEpisodeByFacility","setCurrentFacility","setFacility","sortEpisodes","sortMethod","sortDirection","sortedEpisodes","setEpisodePriorityToHigh","setEpisodePriority","priority","setOrderBy","setOrderDirection","SET_ORDER_TYPE","order_type","SET_ORDER_DIRECTION","order_direction","SET_EPISODE_DISPLAY_STATE","setting","resetEpisodes","setEpisodes","setEpisodeToPriorityToHigh","action_priority","priority_high","setFacilityId","setFacilityName","updateEpisode","addEpisode","markEpisodeConversationAsRead","hasUnreadMessages","getInterventionByName","getInterventions","getCurrentIntervention","getIntervention","hasUnnotifiedInterventions","some","unnotifiedInterventions","hasUnnotifiedSymptoms","unnotifiedSymptoms","uuid","hasUnnotifiedVitalSigns","vital_signs","vital_sign","unnotifiedVitalSigns","setEscalationNotified","reset","viewCurrentIntervention","setEpisodeInterventionId","episodeInterventionId","updateEpisodeIntervention","currentEscalation","escalation","resolveEpisodeIntervention","JSON","parse","stringify","updateSelectedSymptomsAndIntervention","updateSelectedNotificationsAndIntervention","updateSelectedMonitorsAndIntervention","setIntervention","setInterventionName","addOrUpdateIntervention","indexOf","shouldSetAsCurrent","addEscalation","updateEscalation","deleteIntervention","searchString","interventionSearch","setEscalationForEpisode","resetIntervention","updateSelectedSymptoms","updateInterventionObject","SET_ESCALATION_NOTIFIED","currentInterventionId","updateInterventionPageNumber","updateInterventionNextStep","updateSelectedNotifications","updateSelectedMonitors","setAsCurrentIntervention","addIntervention","updateIntervention","setCurrentIntervention","SET_ESCALATIONS","getVitalSigns","deleteVitalSign","addVitalSign","updateVitalSign","removeVitalSignFromArray","updateVitalToDeleted","episodeErrors","episodeHasErrors","isDirty","originalEpisode","getEpisode","getOriginalEpisode","getEpisodeId","getEpisodeFacilityId","facility_id","firstNameIsValid","patient","lastNameIsValid","last_name","dateOfBirthIsValid","date_of_birth","bloodGroupIsValid","blood_group_id","genderIsValid","gender_id","accountNumberIsValid","ACCOUNT_NUMBER_MINIMUM_LENGTH","account_number","admissionDateIsValid","admitted_at","languageIsValid","ethnicityIsValid","language_id","ethnicityOtherIsValid","ethnicity_other","medicalInsuranceIsValid","medical_insurance_type","careTypeIsValid","care_type_id","mrnNumberIsValid","MRN_NUMBER_MINIMUM_LENGTH","MRN_NUMBER_MAXIMUM_LENGTH","mrn_number","socialSecurityNumberIsValid","rootState","isAdministrator","isSiteAdministrator","socialSecurityNumber","social_security_number","replace","errors","clearIntervention","clearAssessment","assessment","clearSignsAndSymptom","signsAndSymptom","setEpisodeErrorToFalse","episodeHaserrors","setEpisodeErrorToTrue","setEpisode","setOriginalEpisode","setEpisodeFacilityId","setEpisodeId","updateMrnNumber","updateSocialSecurityNumber","updateFirstName","updateLastName","updateDateOfBirth","updateBloodGroupId","blood_group","updateRoomNumber","bed_number","updateGenderId","updateGenderOther","gender_other","updateAccountNumber","updateDateOfAdmission","updateLanguageId","updateLanguageOther","language_other","updateEthnicityId","ethnicity_id","updateEthnicityOther","updateMedicalInsurancePlan","updateCareType","updateDirectives","updatedDirectives","directives","Set","updateErrors","clearEpisodeError","updateDirectiveFullCode","full_code","updateDirectiveDNR","dnr","updateDirectiveDNI","dni","updateDirectiveDNH","dnh","updateDirectiveNoArtificialFeeding","no_artificial_feeding","updateDirectiveComfortCare","comfort_care","updateDirectiveHospiceCare","hospice_care","updateDirectiveOther","other","updateDirectiveOtherCare","other_care","updateDirectiveDecisionMakingCapacity","decision_making_capacity","updateDirectiveGoalOfCareDiscussed","goal_of_care_discussed","updateDirectiveGoalOfCare","goal_of_care","configureEpisode","clearErrors","loadEpisodeById","handleErrors","errorObject","title","content","fetchEpisode","body","loadEpisode","unloadEpisode","createNewEpisode","put","processError","errorMessage","errorContent","values","saveEpisode","addNewResident","resident","room","gender","ethnicity","language","family","has_social_security_number","patient_symptoms","intervention_needed","care_teams","intervention_ids","admission_date","transfer_date","medical_insurance_id","messages","directive","episode_hospital_meds_before","episode_hospital_meds_after","high_risk_conditions","procedures","medications","is_new_episode","addImmunization","setPatientImmunization","removeImmunizationFromArray","updateImmunizationToDeleted","updateImmunization","addOrUpdateCareTeamMember","provider","addCareTeamMember","removeCareTeamMember","updateCareTeamMember","careTeam","getCareTeam","scrubCareTeamMember","deleteFamilyItem","familyId","updateFamilyMember","contact","member","addFamilyMember","removeFamilyItem","familyData","refreshFamilyArray","medicationsBeforeHospitalization","episode_medications","medication","is_disabled","medicationsAfterHospitalization","medicationsCurrent","is_currently_taking","addMedication","removeMedication","removeMedicationById","medicationIndex","med","removeMedicationByFuzzySearch","med_description","dosage_frequency","route","updateMedication","updateMedications","removeMedicationFromArray","updateMedicationToDeleted","updateCareDirective","care_directives","physical","sensorial","devices","continences","catheter","bowels","tube_feeding","product","nutrition","cardiac_treatments","respiratory","therapies","skin_care","risks","infection_control","setSignAndSymptom","sign_and_symptom_id","setNewSignAndSymptom","addOrUpdateSignsAndSymptom","signs_and_symptom_id","clearChangeInConditionByEscalationId","escalationId","itemsToSetToComplete","sign","episode_intervention_id","changeInCondition","has_notified","immediacy","is_immediate","is_reoccurrence","last_treatment","negative_factors","other_factors","positive_factors","requires_notification","severity_direction","started_at","cleanedItemsToComplete","itemsToRetain","newSignsAndSymptoms","deleteSignsAndSymptom","itemsToDelete","cleanedItemsToDelete","setAssessmentImmediacy","setAssessmentStartedAt","setAssessmentSeverityDirection","setAssessmentNegativeFactors","setAssessmentPositiveFactors","setAssessmentLastTreatment","setAssessmentOtherFactors","setAssessmentIsReoccurrence","setAssessment","updateSignsAndSymptom","addSignsAndSymptom","setSignsAndSymptom","assessmentImmediacy","assessmentStartedAt","assessmentSeverityDirection","assessmentNegativeFactors","assessmentPositiveFactors","assessmentLastTreatment","assessmentOtherFactors","assessmentIsReoccurrence","resetAssessment","getCurrentSignsAndSymptom","getSignsAndSymptom","signs_and_symptoms_id","hasRequiredNotifications","requiredNotificationSignsAndSymptoms","getAssessment","validate","validateStatus","validation","episodeIsValid","directivesAreValid","assessmentsAreValid","patientIsValid","familyIsValid","observationsAreValid","careTeamIsValid","immunizationsAreValid","interventionsAreValid","medicationsAreValid","isValid","validationErrors","markAsInvalid","markAsValid","clearValidationErrors","addValidationError","messagesLoading","signsAndSymptomsGetters","interventionGetters","vitalGetters","residentGetters","immunizationGetters","careteamGetters","familyGetters","medicationGetters","caredirectiveGetters","validationGetters","signsAndSymptomsActions","interventionActions","vitalActions","residentActions","immunizationActions","careteamActions","familyActions","medicationActions","caredirectiveActions","validationActions","signsAndSymptomsMutations","interventionMutations","vitalMutations","residentMutations","immunizationMutations","careteamMutations","familyMutations","medicationMutations","caredirectiveMutations","validationMutations","email","roles","role","currentFacility","getRole","getRoles","getCurrentFacility","setRole","setRoles","setName","setId","setEmail","beds","loadUser","updateFacility","newFacility","setRoleByFacility","currentFacilityRole","access","dispatchMarkConversationAsRead","getNextSetOfMessages","addMessageToMessages","sendNewMessage","messageText","messageObject","sendInterventions","sendObservations","observations","observation","sendAssessments","assessments","getNextPageOfMessages","last_page","meta","current_page","loadMessages","subscribeToMessages","formatMessage","closeMessages","openMessages","setMessageEpisodeId","messageList","sort","a","b","isOpen","panelState","isLoading","getSendAssessments","getSendObservations","getSendInterventions","setMessages","closeMessagePanel","openMessagePanel","unloadMessages","pushMessage","setLoadingState","setSendAssessments","setSendObservations","setSendInterventions","ADD_MESSAGES","ADD_MESSAGES_TO_MESSAGES","SET_CURRENT_PAGE","SET_LAST_PAGE","Vue","use","Vuex","debug","process","dataState","createPersistedState","storage","getItem","setItem","removeItem","Store","strict","plugins","createLogger","isChatWindowOpen","interventionId","getInterventionId","setIsChatWindowOpen","openValue","setSymptomForMessage","symptomForMessage","setDoSignsAndSymptomsSave","doValue","doSignsAndSymptomsSave","setSignSymptomStep","step","signSymptomStep","setSymptomHasSymptom","hasSymptom","symptomHasSymptom","setSignAndSymptomsRequiresAlert","mustAlert","signAndSymptomsRequiresAlert","setInterventionId","authentication","configuration","webpackContext","req","webpackContextResolve","keys","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","fn","ref","Component","staticRenderFns","component","exception","require","library","faUserSecret","faTimes","faSearch","faChevronDown","faPlus","faAddressCard","faCheck","FontAwesomeIcon","config","productionTip","BootstrapVue","IconsPlugin","BootstrapVueIcons","popover","defaults","baseURL","interceptors","headers","common","Authorization","method","toUpperCase","url","$defaultTimeOut","VUE_APP_TIMEOUT","$defaultTWarningTimeOut","VUE_APP_WARNING","store","router","render","h","App","logged_user","auth_to_add","$mount","subscribe","mutation","payload","VueRouter","base","__dirname","routes","path","transition","beforeEach","to","from","next","isAuthenticated"],"mappings":"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","file":"js/app.2d0d6188.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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\",\"login-panel\":\"login-panel\",\"reset-password-panel\":\"reset-password-panel\",\"test\":\"test\"}[chunkId]||chunkId) + \".\" + {\"about\":\"7b76fd2c\",\"login-panel\":\"03cf2414\",\"reset-password-panel\":\"1d54a88d\",\"test\":\"6e374b3f\"}[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// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"about\":1,\"login-panel\":1,\"reset-password-panel\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"about\":\"about\",\"login-panel\":\"login-panel\",\"reset-password-panel\":\"reset-password-panel\",\"test\":\"test\"}[chunkId]||chunkId) + \".\" + {\"about\":\"6183b84e\",\"login-panel\":\"0d100127\",\"reset-password-panel\":\"d5f7f92d\",\"test\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\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","/**\n * VITAL SIGNS\n * \n * The following values and functions are based on the specification of the Signs and Symptoms documentation\n * as presented in the INTERACT document.\n * \n * Blood Glucose: any value above 300 or below 70.\n * Blood Pressure: any value above 200 or less than 90 systolic.\n * Blood Pressure: any value above 115 diastolic\n * Pulse: more than 100, or less than 50\n * Respiratory Rate: more than 28 or less than 10 per minute\n * Temperature: an oral temperature of more than 100.5 F\n * Oxygen Saturation: any value less than 90 %\n */\n\nexport const notificationCriteria = (vital) => {\n \n return (vital.notified === 0 || vital.notified === null) && vitalSignRequiresNotification(vital)\n}\n\nexport const vitalSignRequiresNotification = (vitals) => {\n\n const bloodGlucose = vitals.blood_glucose;\n const bloodPressure = vitals.blood_pressure;\n const pulse = vitals.heart_rate;\n const restingPulse = vitals.resting_pulse;\n const respiratoryRate = vitals.respiration_rate;\n const temperature = vitals.temperature;\n const oxygenSaturation = vitals.o2_saturation;\n const irregularPulse = vitals.irregular_pulse;\n\n return bloodGlucoseVerification(bloodGlucose) ||\n bloodPressureVerification(bloodPressure) ||\n pulseVerification(pulse) ||\n respiratoryRateVerification(respiratoryRate) ||\n temperatureVerification(temperature) ||\n oxygenSaturationVerification(oxygenSaturation) ||\n pulseVerification(restingPulse) ||\n hasIrregularPulse(irregularPulse);\n}\n\nexport const hasIrregularPulse = (irregularPulse) => {\n\n return irregularPulse === \"1\" || irregularPulse === 1 || irregularPulse === true;\n}\n\nexport const bloodGlucoseVerification = (bloodGlucose) => {\n\n return (\n bloodGlucose !== null &&\n bloodGlucose !== \"\" &&\n (bloodGlucose >= 300 || bloodGlucose <= 70)\n ) \n}\n\nexport const bloodPressureVerification = (bloodPressure) => {\n if (bloodPressure != null) {\n const bloodPressures = bloodPressure.split(\"/\");\n const systolic = bloodPressures[0];\n const diastolic = bloodPressures[1];\n\n return (bloodPressure !== \"\" && (systolic >= 200 || systolic <= 90 || diastolic >= 115));\n }\n\n return false\n}\n\nexport const pulseVerification = (pulse) => {\n \n return pulse != null && pulse !== \"\" && (pulse >= 100 || pulse <= 50);\n}\n\nexport const respiratoryRateVerification = (respiratoryRate) => {\n return (\n respiratoryRate !== null &&\n respiratoryRate !== \"\" &&\n (respiratoryRate >= 28 || respiratoryRate <= 10)\n );\n}\n\nexport const temperatureVerification = (temperature) => {\n return temperature !== null && temperature !== \"\" && temperature >= 100.5;\n}\n\nexport const oxygenSaturationVerification = (oxygenSaturation) => {\n return (\n oxygenSaturation !== null && oxygenSaturation !== \"\" && oxygenSaturation <= 90\n );\n}\n","import axios from 'axios'\nimport moment from 'moment'\n\nconst EXPIRATION_TIME_MINUTES = 8;\n\nexport default {\n namespaced: true,\n state: {\n token: null,\n user: null,\n sessionTimeout: null,\n isLoggedIn: false\n },\n\n getters: {\n\n authenticated( state ) {\n\n return state.isLoggedIn\n },\n\n user( state ) {\n\n return state.user\n },\n },\n\n mutations: {\n SET_TOKEN(state, token) {\n state.token = token\n },\n\n SET_USER(state, user) {\n state.user = user\n },\n\n SET_EXPIRATION(state, expirationTime) {\n state.sessionTimeout = expirationTime;\n },\n\n SET_IS_LOGGED_IN(state, isLogged) {\n state.isLoggedIn = isLogged;\n },\n },\n actions: {\n async authenticate({dispatch}, credentials) {\n\n let response = await axios.post('login', credentials)\n return dispatch('handleLogin', response.data)\n },\n\n async handleLogin({dispatch}, response) {\n\n if(! response.access_token || ! response.me) {\n\n dispatch('clearTokens')\n return false\n }\n\n await dispatch('setUser', response)\n await dispatch('setLogin', response)\n return await dispatch('validateLogin')\n },\n\n async setUser({commit}, response) {\n\n const expirationTime = moment().add(EXPIRATION_TIME_MINUTES, 'm').format();\n await commit('SET_USER', response.me);\n await commit('SET_EXPIRATION', expirationTime);\n },\n\n async setLogin({commit}, response) {\n\n await commit('SET_TOKEN', response.access_token)\n await commit('SET_IS_LOGGED_IN', true);\n },\n\n validateLogin({state, dispatch}) {\n if(! state.token || ! state.user) {\n\n dispatch('clearTokens')\n return false\n }\n\n return true\n },\n\n\n logout({dispatch}) {\n\n axios.post('logout').then(\n (response) => {\n if(response.status === 302 || response.status === 401) {\n console.warn(`User logged out successfully.`)\n }\n }\n ).catch(\n (error) => {\n if(error.response.status === 401) {\n console.warn(`User logged out via catch.`)\n }\n }\n ).finally(\n dispatch('clearTokens')\n )\n },\n\n clearTokens({commit, }) {\n commit('SET_TOKEN', null)\n commit('SET_USER', null)\n commit('SET_EXPIRATION', null)\n commit('SET_IS_LOGGED_IN', false);\n localStorage.clear();\n },\n },\n}","import axios from \"axios\";\n\nexport default {\n namespaced: true,\n state: {\n genders: [],\n languages: [],\n ethnicities: [],\n medicalInsurancePlans: [],\n bloodGroups: [],\n careTypes: [],\n careProviders: [],\n immunizations: [],\n interventions: [],\n signsAndSymptoms: [],\n },\n\n getters: {\n genders(state) {\n return state.genders;\n },\n languages(state) {\n return state.languages;\n },\n ethnicities(state) {\n return state.ethnicities;\n },\n medicalInsurancePlans(state) {\n return state.medicalInsurancePlans;\n },\n bloodGroups(state) {\n return state.bloodGroups;\n },\n careTypes(state) {\n return state.careTypes;\n },\n immunizations(state) {\n return state.immunizations;\n },\n careProviders(state) {\n return state.careProviders;\n },\n\n getCareProviderOption(state) {\n return state.careProviders.map((e) => {\n return {\n value: e.id,\n // text: e.name + \" (\" + e.role.description + \")\",\n text: e.name + \" (\" + e.speciality + \")\",\n };\n });\n },\n\n interventions(state) {\n return state.interventions;\n },\n\n signsAndSymptoms(state) {\n return state.signsAndSymptoms;\n },\n\n getInterventionList(state) {\n return state.interventions.map((intervention) => {\n return {\n id: null,\n episode_id: null,\n intervention_id: intervention.id,\n intervention: intervention.intervention,\n selected_symptoms: [],\n symptoms: intervention.symptoms,\n selected_notifications: [],\n notifications: intervention.notifications,\n selected_monitors: [],\n monitors: intervention.monitors,\n selected_tests: [],\n tests: intervention.tests,\n next_step: 'Invoke',\n notification: 'Inactive',\n alert: null,\n status: 'Inactive',\n page: 1,\n active: 0,\n notified: 0,\n notified_at: null,\n read: 0,\n read_at: null,\n created_at: null,\n updated_at: null,\n created_by: null,\n action: 'R'\n };\n });\n },\n\n getSignsAndSymptoms(state) {\n const sas = state.signsAndSymptoms.map((symptom) => {\n return {\n value: symptom.id,\n text: symptom.symptom,\n };\n });\n\n sas.push({\n value: null,\n disabled: true,\n text: \"You must select a change in condition\",\n });\n\n return sas;\n },\n\n getSelectedSignsAndSymptoms(state, value) {\n\n return state.signsAndSymptoms.find(symptom => symptom.id === value)\n },\n },\n\n mutations: {\n setGenders(state, value) {\n state.genders = value;\n let gender_undefined = {\n value: null,\n disabled: true,\n text: \"Please Select a Gender\",\n };\n state.genders.unshift(gender_undefined);\n },\n setLanguages(state, value) {\n state.languages = value;\n let language_underfined = {\n value: null,\n disabled: true,\n text: \"Please Select a Language\",\n };\n state.languages.unshift(language_underfined);\n },\n setEthnicities(state, value) {\n state.ethnicities = value;\n let ethnicities_underfined = {\n value: null,\n disabled: true,\n text: \"Please Select an Ethnicity\",\n };\n state.ethnicities.unshift(ethnicities_underfined);\n },\n setMedicalInsurancePlans(state, value) {\n state.medicalInsurancePlans = value;\n let medical_insurance_plans_undefined = {\n value: null,\n disabled: true,\n text: \"Please Select a Medical Insurance Plan\",\n };\n state.medicalInsurancePlans.unshift(medical_insurance_plans_undefined);\n },\n setBloodGroups(state, value) {\n state.bloodGroups = value;\n let bloodgroups_undefined = {\n value: null,\n disabled: true,\n text: \"Please Select a Blood Group\",\n };\n state.bloodGroups.unshift(bloodgroups_undefined);\n },\n setCareTypes(state, value) {\n state.careTypes = value;\n let caretype_undefined = {\n value: null,\n disabled: true,\n text: \"Please Select a Care Type\",\n };\n state.careTypes.unshift(caretype_undefined);\n },\n setImmunizations(state, value) {\n state.immunizations = value;\n },\n\n setCareProviders(state, value) {\n state.careProviders = value;\n },\n\n resetCareProviders(state) {\n state.careProviders = []\n },\n\n\n setInterventions(state, value) {\n state.interventions = value;\n },\n\n setSignsAndSymptoms(state, value) {\n state.signsAndSymptoms = value;\n },\n },\n\n // Actions.\n actions: {\n\n async getCareProvidersByFacility({commit}, facilityId) {\n\n let careProviders\n const response = await axios.get(`config/${facilityId}/care-providers`)\n careProviders = response.data.data\n commit('resetCareProviders')\n\n if (careProviders) {\n commit('setCareProviders', careProviders)\n }\n },\n\n\n async loadConfigurationData({commit}) {\n const configData = await axios\n .get(`config`)\n .then((response) => {\n return response.data;\n })\n .catch((error) => {\n if (error.response.status === 404) {\n console.log(\"Route not found.\")\n return {\n success: false,\n type: \"not found\"\n }\n }\n console.table(error);\n return error\n });\n\n if (configData.success) {\n configData.genders ? commit(\"setGenders\", configData.genders) : [];\n configData.languages\n ? commit(\"setLanguages\", configData.languages)\n : [];\n configData.ethnicities\n ? commit(\"setEthnicities\", configData.ethnicities)\n : [];\n configData.medicalInsurancePlans\n ? commit(\"setMedicalInsurancePlans\", configData.medicalInsurancePlans)\n : [];\n configData.bloodGroups\n ? commit(\"setBloodGroups\", configData.bloodGroups)\n : [];\n configData.careTypes\n ? commit(\"setCareTypes\", configData.careTypes)\n : [];\n configData.immunizations\n ? commit(\"setImmunizations\", configData.immunizations)\n : [\"did not load immunizations...\"];\n configData.careProviders\n ? commit(\"setCareProviders\", configData.careProviders)\n : [];\n configData.interventions\n ? commit(\"setInterventions\", configData.interventions)\n : [];\n configData.signsAndSymptoms\n ? commit(\"setSignsAndSymptoms\", configData.signsAndSymptoms)\n : [];\n } else {\n\n if (configData?.type === \"not found\") {\n console.warn(\"File not found.\")\n }\n\n if (configData?.type !== \"not found\") {\n\n console.warn(\"An error occurred: \", configData)\n }\n }\n },\n },\n};\n","import axios from 'axios';\n\nconst state = {\n immunizations: [],\n patientImmunizations: [],\n \n};\n\nconst getters = {\n allImmunizations: (state) => state.immunizations,\n patientImmunizations: (state) => state.patientImmunizations,\n};\n\nconst actions = {\n\n async unload({commit}) {\n\n commit('setImmunizations', [])\n commit('setPatientImmunizations', [])\n },\n\n async fetchImmunizations({ commit }) {\n\n let response = null;\n\n try {\n\n response = await axios.get(`immunizations`)\n } catch (error) {\n\n if (error.status === 404) {\n \n console.warn(\"There aren't any immunizations loaded in the system.\")\n }\n\n if (error.status != 404) {\n \n console.error(\"An error occured communicating with the server: \", error)\n }\n\n response = {\n data: []\n }\n }\n \n // const response = await axios.get('immunizations');\n\n // console.info(\"Immunizations: \", response.data)\n commit('setImmunizations', response.data);\n },\n\n async deleteImmunization({ commit }, id) {\n \n await axios.delete('/delete-patient-immunization/'+id);\n\n commit('removeImmunization', id);\n },\n\n async fetchPatientImmunizations({ commit }, patient_id) {\n \n const immunizations = await axios.get(`patient-immunizations/user/${patient_id}`)\n .then((response) => {\n \n return response.data.immunizations\n })\n .catch(() => {\n \n return []\n })\n \n commit('setPatientImmunizations', immunizations);\n },\n};\n\nconst mutations = {\n setImmunizations: (state, immunizations) => (state.immunizations = immunizations),\n removeImmunization: (state, id) => state.immunizations = state.immunizations.filter(immunization => immunization.id !== id),\n setPatientImmunizations: (state, patientImmunizations) => (state.patientImmunizations = patientImmunizations),\n\n};\n\nexport default {\n state,\n getters,\n actions,\n mutations\n}","import axios from 'axios'\nimport _ from \"lodash\";\n\nconst state = () => ({\n episodes: [],\n facility: {\n name: 'Not Set',\n id: 0,\n },\n episodeDisplayState: \"ALL_RESIDENTS\",\n orderBy: 'action_priority',\n orderDirection: 'asc',\n})\n\nconst getters = {\n getOrderBy(state) {\n\n return state.orderBy\n },\n\n getOrderDirection(state) {\n\n return state.orderDirection\n },\n\n episodes: (state, getters) => {\n switch (state?.episodeDisplayState) {\n case \"INTERVENTIONS\":\n return getters.getEpisodesWithInterventions;\n case \"ALL_RESIDENTS\":\n default:\n return getters.getEpisodes;\n }\n },\n getEpisodes: (state) => {\n return _.orderBy(state.episodes, [state.filter], [state.order])\n },\n getFacility: (state) => {\n return state.facility\n },\n getFacilityId: (state) => {\n return state.facility.id\n },\n getFacilityName: (state) => {\n return state.facility.name\n },\n getEpisodesWithInterventions: (state) => {\n // return state.episodes.filter(episode => episode.intervention_ids.length > 0)\n return state.episodes.filter(episode => episode.interventions.length > 0)\n },\n getEpisodeById: (state) => (id) => {\n return state.episodes.find(episode => episode.id === id)\n },\n alertCount: (state) => {\n let count = 0;\n state.episodes.forEach((episode) => {\n if (episode?.interventions) {\n episode.interventions?.forEach((intervention) => {\n if (intervention.active === 1) {\n count++\n }\n })\n }\n });\n return count\n },\n}\n\nconst actions = {\n\n unload({commit, dispatch}) {\n\n commit('setEpisodes', [])\n dispatch('setCurrentFacility', {name: 'Not Set', id: 0})\n commit('setOrderDirection', 'asc')\n commit('setOrderBy', 'action_priority')\n commit('SET_EPISODE_DISPLAY_STATE', 'ALL_RESIDENTS')\n },\n\n updateOrderBy({commit}, data) {\n\n commit('setOrderBy', data)\n },\n\n updateOrderDirection({commit}, data) {\n\n commit('setOrderDirection', data)\n },\n\n showAllResidents({commit}) {\n commit('SET_EPISODE_DISPLAY_STATE', \"ALL_RESIDENTS\")\n },\n showAllInterventions({commit}) {\n commit('SET_EPISODE_DISPLAY_STATE', \"INTERVENTIONS\")\n },\n async updateEpisodeFromEvent({state, dispatch}, data) {\n const index = state.episodes.findIndex(item => item.id === data.episode.id)\n\n if(index >= 0) {\n await dispatch(\"fetchEpisodeForDashboard\", data.episode.id)\n }\n },\n async fetchEpisodeForDashboard({state, commit}, episodeId) {\n\n const response = await axios.get(`episodes/${episodeId}/dashboard`)\n .then((response) => {\n const update = {\n index: -1,\n episode: null\n }\n\n const index = state.episodes.findIndex(item => item.id === response.data.data.id)\n if(index >= 0) {\n update.index = index\n update.episode = response.data.data\n commit('updateEpisode', update)\n } else {\n console.error(\"Did not find an episode to update.\")\n }\n })\n .catch((error) => {\n console.error(`An error occurred during fetch of episode: ${error}`)\n })\n return !!response\n },\n updateFacilityEpisodes({state, commit}, episode) {\n // todo: update the array of episodes in state to adjust the existing episode.\n console.warn(\"Episode: \", episode)\n const index = state.episodes.findIndex(item => item.id === episode.id)\n console.warn(`Searching state.episodes for id ${episode.id} found index number: ${index}`)\n\n if (index >= 0) {\n console.warn(`Updating episode with ID ${episode.id}`)\n\n const data = {\n index: index,\n episode: episode\n }\n\n console.log(\"Episode :\", episode)\n console.log(\"Existing Episode: \", state.episodes[index])\n commit('updateEpisode', data)\n return\n }\n\n console.warn(`Adding episode with ID ${episode.id}`)\n commit('addEpisode', episode)\n },\n\n async getEpisodeByFacility({state, commit}) {\n\n let episodes;\n const response = await axios.get(`facility/${state.facility.id}/episodes`);\n episodes = response.data.episodes;\n\n if (episodes) {\n\n commit('resetEpisodes')\n commit('setEpisodes', episodes)\n return\n }\n\n commit('resetEpisodes')\n },\n setCurrentFacility({commit}, facility) {\n commit('setFacilityId', facility.id)\n commit('setFacilityName', facility.name)\n },\n setFacility({commit}, facilityId) {\n commit('setFacilityId', facilityId)\n },\n sortEpisodes({state, commit}, sortMethod, sortDirection = \"asc\") {\n console.warn(\"Filter Type: \", sortMethod)\n console.warn(\"Sort Direction: \", sortDirection)\n commit(\"SET_ORDER_TYPE\", sortMethod)\n commit(\"SET_ORDER_DIRECTION\", sortDirection)\n const sortedEpisodes = _.orderBy(state.episodes, [state.filter], [state.order])\n commit(\"setEpisodes\", sortedEpisodes)\n },\n\n setEpisodePriorityToHigh({state, dispatch, commit}, episode) {\n\n dispatch(\"setEpisodePriority\", state, episode, 1)\n commit(\"setEpisodeToPriorityToHigh\", state, episode)\n },\n setEpisodePriority({state, commit}, episode, priority) {\n\n commit(\"setEpisodePriority\", state, episode, priority)\n },\n}\n\nconst mutations = {\n setOrderBy(state, orderBy) {\n state.orderBy = orderBy\n },\n\n setOrderDirection(state, orderDirection) {\n\n state.orderDirection = orderDirection\n },\n\n SET_ORDER_TYPE(state, value) {\n state.order_type = value\n },\n SET_ORDER_DIRECTION(state, value) {\n state.order_direction = value\n },\n SET_EPISODE_DISPLAY_STATE(state, setting) {\n state.episodeDisplayState = setting\n },\n resetEpisodes(state) {\n state.episodes = []\n },\n setEpisodes(state, episodes) {\n state.episodes = episodes\n },\n setEpisodePriority(state, episode, priority) {\n episode.priority = priority\n },\n setEpisodeToPriorityToHigh(state, episode) {\n episode.action_priority = 1\n episode.priority_high = true\n },\n setFacilityId(state, facilityId) {\n state.facility.id = facilityId\n // state.facilityId = facilityId\n },\n setFacilityName(state, name) {\n state.facility.name = name\n },\n updateEpisode(state, data) {\n console.warn(\"In updateEpisode\")\n console.table(data.episode)\n state.episodes[data.index] = data.episode\n state.episodes = [...state.episodes]\n },\n addEpisode(state, data) {\n state.episodes.push(data)\n state.episodes = [...state.episodes]\n },\n\n markEpisodeConversationAsRead(state, data) {\n\n const index = state.episodes.findIndex((episode) => {\n return episode.id === data;\n })\n\n if(index > -1) {\n state.episodes[index].hasUnreadMessages = false\n }\n },\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations\n}","export default {\n\n getInterventionByName(state, value) {\n\n return state.episode.interventions.filter(intervention => intervention.action !== 'D' && intervention.intervention.intervention === value)\n },\n\n intervention(state) {\n\n return state.intervention\n },\n\n interventions(state) {\n\n return state.episode.interventions.filter((intervention) => intervention.active === 1)\n },\n /**\n * INTERVENTION GETTERS =====================================================\n */\n\n /**\n *\n * @param {*} state\n * @returns {[]} of interventions from state\n */\n getInterventions(state) {\n return state.episode.interventions.filter(\n (intervention) => intervention.active === 1\n );\n },\n\n /**\n *\n * @param {*} state\n * @returns {{}} of the current intervention\n */\n\n getCurrentIntervention(state) {\n return state.intervention;\n },\n\n /**\n *\n * @param {*} state\n * @returns {} returns a matched object from episode interventions\n */\n\n getIntervention(state) {\n return state.episode.interventions.find(\n (intervention) =>\n intervention.intervention === state.intervention.intervention\n );\n },\n\n /**\n * @param {*} state \n * @returns {boolean}\n */\n hasUnnotifiedInterventions(state) {\n\n return state.episode?.interventions?.some(intervention => intervention.notified === 0 && intervention.active === 1) ?? false\n \n },\n\n unnotifiedInterventions(state) {\n return state.episode?.interventions.filter(intervention => intervention.active === 1 && intervention.notified === 0).map(intervention => intervention.id);\n },\n\n /**\n * @param {*} state \n * @returns {boolean}\n */\n hasUnnotifiedSymptoms(state) {\n\n return state.episode?.symptoms?.some(symptom => symptom.notified === 0 && symptom.active === 1) ?? false\n \n },\n\n unnotifiedSymptoms(state) {\n return state.episode?.symptoms.filter(symptom => symptom.active === 1 && symptom.notified === 0).map(symptom => symptom.uuid);\n },\n\n /**\n * @param {*} state \n * @returns {boolean}\n */\n hasUnnotifiedVitalSigns(state) {\n\n return state.episode?.vital_signs?.some(vital_sign => vital_sign.notified === 0 && vital_sign.active === 1) ?? false\n \n },\n\n unnotifiedVitalSigns(state) {\n return state.episode?.vital_signs.filter(vital_sign => vital_sign.active === 1 && vital_sign.notified === 0).map(vital_sign => vital_sign.id);\n },\n};\n","export default {\n\n setEscalationNotified({commit}, data) {\n\n commit(\"SET_ESCALATION_NOTIFIED\", data);\n },\n\n reset({commit}) {\n commit(\"resetIntervention\");\n },\n\n viewCurrentIntervention({commit}, intervention) {\n commit(\"setCurrentIntervention\", intervention);\n },\n\n setEpisodeInterventionId({commit}, episodeInterventionId) {\n commit(\"setEpisodeInterventionId\", episodeInterventionId);\n },\n\n updateEpisodeIntervention({commit, dispatch, state}) {\n\n const currentEscalation = state.intervention\n\n const index = currentEscalation?.action === \"C\"\n ? state.episode?.interventions?.findIndex(escalation => escalation.id === currentEscalation.episodeInterventionId)\n : state.episode?.interventions?.findIndex(escalation => escalation.id === currentEscalation.id)\n\n commit(\"updateInterventionObject\", {intervention: currentEscalation, index: index})\n dispatch(\"setEscalationNotified\", {index: index, state: false})\n },\n\n resolveEpisodeIntervention({commit, state}) {\n\n const currentEscalation = JSON.parse(JSON.stringify(state.intervention))\n const index = state.episode?.interventions?.findIndex(escalation => escalation.id === currentEscalation.id)\n currentEscalation.active = 0\n currentEscalation.action = 'D'\n commit(\"updateInterventionObject\", {intervention: currentEscalation, index: index})\n },\n\n updateSelectedSymptomsAndIntervention({commit, dispatch}, value) {\n commit(\"updateSelectedSymptoms\", value);\n dispatch(\"updateEpisodeIntervention\");\n },\n\n updateSelectedNotificationsAndIntervention({commit, dispatch}, data) {\n commit(\"updateSelectedNotifications\", data);\n dispatch(\"updateEpisodeIntervention\");\n },\n\n updateSelectedMonitorsAndIntervention({commit, dispatch}, data) {\n commit(\"updateSelectedMonitors\", data);\n dispatch(\"updateEpisodeIntervention\");\n },\n\n setIntervention({commit, state}, data) {\n const index = state.episode.interventions.findIndex(\n (intervention) => intervention.intervention === data.intervention\n );\n\n if (index >= 0) {\n const update = {\n index: index,\n value: data,\n };\n\n commit(\"setIntervention\", update);\n }\n },\n\n // Intervention Actions\n\n setInterventionName({commit}, name) {\n commit(\"setInterventionName\", name);\n },\n\n addOrUpdateIntervention({dispatch, state}, data) {\n // does this intervention exist?\n const index = state.episode.interventions\n .map((e) => e.intervention)\n .indexOf(data.intervention);\n\n // should we set this intervention as the current intervention\n let shouldSetAsCurrent = data.shouldSetAsCurrent\n ? data.shouldSetAsCurrent\n : false;\n\n if (index >= 0) {\n\n dispatch(\"updateEscalation\", {index: index, shouldSetAsCurrent: shouldSetAsCurrent})\n return;\n }\n\n // the intervention does not exist, create it\n dispatch(\"addEscalation\", {data: data, shouldSetAsCurrent: shouldSetAsCurrent})\n },\n\n addEscalation({commit}, escalation) {\n\n // is the intervention from an Assessment or from the Interventions screen?\n // if (escalation.data.invokedFrom !== \"Interventions\") {\n // // look up the intervention\n // escalation.data.intervention = rootState.configuration.interventions.filter(\n // (intervention) => intervention.intervention === escalation.data.intervention\n // );\n // }\n\n // set the active and notified values\n escalation.data.active = 1;\n escalation.data.notified = 0;\n escalation.data.action = \"C\";\n\n console.log(\"data after look up: \", escalation.data);\n\n if (escalation.shouldSetAsCurrent) {\n commit(\"setAsCurrentIntervention\", escalation.data);\n }\n commit(\"addIntervention\", escalation.data);\n },\n\n updateEscalation({state, dispatch, commit}, escalation) {\n\n // the intervention exists, update the existing intervention\n const data = state.episode.interventions[escalation.index];\n\n // check if this is a newly created intervention, or if this is an intervention that needs to be updated\n if (state.episode.interventions[escalation.index].action === \"C\") {\n // the intervention is new\n data.action = \"C\";\n } else {\n data.action = \"U\";\n }\n\n // set the active and notified values\n data.active = 1;\n data.notified = false;\n\n if (escalation.shouldSetAsCurrent) {\n commit(\"setAsCurrentIntervention\", data);\n }\n\n commit(\"updateIntervention\", {index: escalation.index, value: data});\n dispatch(\"setEscalationNotified\", {index: escalation.index, state: false})\n },\n\n deleteIntervention({commit, state}, data) {\n const searchString = JSON.stringify(data);\n\n const index = state.episode.interventions.findIndex(function (\n intervention\n ) {\n let interventionSearch = JSON.stringify(intervention);\n\n if (interventionSearch === searchString) {\n return true;\n }\n });\n\n if (index >= 0) {\n commit(\"deleteIntervention\", index);\n }\n },\n\n setEscalationForEpisode({commit}, data) {\n commit(\"SET_ESCALATIONS\", data);\n },\n};","export default {\n resetIntervention(state) {\n state.intervention = {\n id: null,\n episode_id: null,\n intervention_id: null,\n selected_symptoms: [],\n selected_notifications: null,\n selected_tests: [],\n next_step: null,\n alert: null,\n status: null,\n page: null,\n active: null,\n notified: null,\n notified_at: null,\n read: null,\n read_at: null,\n created_at: null,\n updated_at: null,\n created_by: null,\n action: null,\n };\n },\n updateSelectedSymptoms(state, data) {\n state.intervention.selected_symptoms = data;\n },\n\n updateInterventionObject(state, data) {\n\n const intervention = data.intervention\n\n if (intervention.action !== 'C') {\n\n intervention.action = 'U'\n }\n\n state.episode.interventions.splice(data.index, 1, intervention)\n },\n\n SET_ESCALATION_NOTIFIED(state, data) {\n\n if(data.index >= 0) {\n state.episode.interventions[data.index].notified = data.state\n } else {\n\n console.error(`ESCALATION WITH INDEX ${data.index} NOT FOUND.`)\n }\n\n\n },\n\n setEpisodeInterventionId(state, episodeInterventionId) {\n state.episode.currentInterventionId = episodeInterventionId;\n },\n\n updateInterventionPageNumber(state, data) {\n state.intervention.page = data;\n },\n\n updateInterventionNextStep(state, data) {\n state.intervention.next_step = data;\n },\n\n updateSelectedNotifications(state, data) {\n state.intervention.selected_notifications = data;\n },\n\n updateSelectedMonitors(state, data) {\n state.intervention.selected_monitors = data;\n },\n\n setInterventionName(state, name) {\n state.intervention = name;\n },\n\n deleteIntervention(state, index) {\n state.episode.interventions[index].action = \"D\";\n },\n\n setAsCurrentIntervention(state, data) {\n state.intervention = data;\n },\n\n addIntervention(state, data) {\n data.episode_id = state.episode.id;\n state.episode.interventions.push(data);\n },\n\n updateIntervention(state, data) {\n state.episode.interventions[data.index] = data.value;\n },\n\n setIntervention(state, data) {\n if (!data) {\n state.episode.interventions = [];\n return;\n }\n state.episode.interventions[data.index] = data.value;\n },\n\n setCurrentIntervention(state, data) {\n state.intervention = data;\n },\n\n SET_ESCALATIONS(state, data) {\n\n state.episode.interventions = data\n }\n};\n","export default {\n // Vital Sign Getters\n getVitalSigns(state) {\n \n return state.episode?.vitals?.filter(item => item.action !== 'D');\n },\n\n /**\n * @param {*} state \n * @returns {boolean}\n */\n hasUnnotifiedVitalSigns(state) {\n\n return state.episode?.vitals?.some(vital => vital.notified === 0) ?? false\n },\n}","export default {\n // Vital Sign Actions\n deleteVitalSign({ commit, state }, data) {\n\n console.log(data)\n if (data.action === 'C') {\n \n const index = state.episode.vitals.findIndex((vital) => {\n \n return data.id === vital.id\n })\n\n if (index >= 0) {\n \n commit('removeVitalSignFromArray', index)\n return \n }\n\n console.log('Vital Sign Not Found: ', data)\n return \n }\n\n const index = state.episode.vitals.findIndex((vital) => {\n \n return data.id === vital.id\n })\n\n if (index >= 0) {\n \n commit('updateVitalToDeleted', index)\n } else {\n\n console.error(\"Vital Sign Not Found: \", data, index)\n console.table(state.episode.vitals)\n }\n },\n\n addVitalSign({ commit }, data) {\n \n // if we want to do any unusual actions, like maybe validation and setting of Must Notify?\n commit('addVitalSign', data)\n },\n\n updateVitalSign({state, commit}, value) {\n \n const index = state.episode.vitals.map(e => e.id).indexOf(value.id);\n\n if (index >= 0) {\n \n commit(\"updateVitalSign\", {index: index, value: value})\n }\n },\n}","export default {\n addVitalSign(state, data) {\n state.episode.vitals.push(data);\n },\n\n updateVitalSign(state, data) {\n state.episode.vitals[data.index] = data.value;\n },\n\n removeVitalSignFromArray(state, index) {\n state.episode.vitals.splice(index, 1);\n },\n\n updateVitalToDeleted(state, index) {\n state.episode.vitals[index].action = \"D\";\n },\n};\n","export default {\n\n episodeErrors(state){\n\n return state.episodeErrors\n },\n\n episodeHasErrors(state) {\n\n return state.episodeHasErrors\n },\n\n isDirty(state) {\n if (state.episodeId === null) return false;\n\n return (\n JSON.stringify(state.episode) !== JSON.stringify(state.originalEpisode)\n );\n },\n\n getEpisode(state) {\n return state.episode;\n },\n\n getOriginalEpisode(state) {\n return state.originalEpisode;\n },\n\n getEpisodeId(state) {\n return state.episodeId;\n },\n\n getEpisodeFacilityId(state) {\n\n return state.episode.facility_id ?? null\n },\n\n firstNameIsValid(state) {\n return (\n state.episode?.patient?.name !== \"\" &&\n state.episode?.patient?.name != null &&\n state.episode?.patient?.name.length >= 1\n );\n },\n lastNameIsValid(state) {\n return (\n state.episode.patient?.last_name !== \"\" &&\n state.episode.patient?.last_name != null &&\n state.episode.patient?.last_name.length >= 1\n );\n },\n dateOfBirthIsValid(state) {\n return (\n state.episode?.patient?.date_of_birth !== \"\" &&\n state.episode?.patient?.date_of_birth !== null\n );\n },\n bloodGroupIsValid(state) {\n return state.episode?.patient?.blood_group_id !== null;\n },\n genderIsValid(state) {\n return state.episode?.patient?.gender_id !== null;\n },\n accountNumberIsValid(state) {\n\n const ACCOUNT_NUMBER_MINIMUM_LENGTH = 4\n\n return state.episode?.account_number?.length >= ACCOUNT_NUMBER_MINIMUM_LENGTH;\n },\n admissionDateIsValid(state) {\n return (\n state.episode?.admitted_at !== \"\" &&\n state.episode?.admitted_at !== null\n );\n },\n languageIsValid(state) {\n return state.episode?.patient?.blood_group_id !== null;\n },\n ethnicityIsValid(state) {\n return state.episode?.patient?.language_id !== null;\n },\n ethnicityOtherIsValid(state) {\n return state.episode?.patient?.ethnicity_other !== null;\n },\n medicalInsuranceIsValid(state) {\n return state.episode?.medical_insurance_type !== null;\n },\n careTypeIsValid(state) {\n return state.episode?.care_type_id !== null;\n },\n\n mrnNumberIsValid(state) {\n\n const MRN_NUMBER_MINIMUM_LENGTH = 4\n const MRN_NUMBER_MAXIMUM_LENGTH = 8\n\n if(state.episode && state.episode.patient) {\n return (\n state.episode.patient.mrn_number !== \"\" &&\n state.episode.patient.mrn_number !== null &&\n state.episode.patient.mrn_number.length >= MRN_NUMBER_MINIMUM_LENGTH &&\n state.episode.patient.mrn_number.length <= MRN_NUMBER_MAXIMUM_LENGTH\n );\n }\n\n return false;\n\n },\n socialSecurityNumberIsValid({ state, rootState }) {\n if (!rootState) {\n return true;\n }\n\n if (rootState.user.isAdministrator || rootState.user.isSiteAdministrator) {\n\n // We cannot perform actual validation because sometimes the social security number is unknown\n // or is undefined (such as in the case of a newborn).\n // We can only check that it is 9 numbers long.\n let socialSecurityNumber = state.patient.social_security_number.replace('-', '')\n\n return socialSecurityNumber.length === 9\n }\n // let regexp = /^(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}$/;\n //\n // if (regexp.test(state.patient.social_security_number)) {\n // return true;\n // } else {\n // return false;\n // }\n // } else {\n // return true;\n // }\n },\n errors(state) {\n\n return state.episodeErrors\n }\n};\n","export default {\n\n clearIntervention(state) {\n state.intervention = null\n },\n clearAssessment(state) {\n state.assessment = null\n },\n clearSignsAndSymptom(state) {\n state.signsAndSymptom = null\n },\n\n setEpisodeErrorToFalse(state) {\n\n state.episodeHaserrors = false \n },\n\n setEpisodeErrorToTrue(state) {\n\n state.episodeHaserrors = true\n },\n\n setEpisode(state, data) {\n console.warn(\"Setting Episode to: \", data)\n state.episode = data;\n },\n\n setOriginalEpisode(state, data) {\n state.originalEpisode = data;\n },\n\n setEpisodeFacilityId(state, id) {\n\n state.episode.facility_id = id\n },\n\n setEpisodeId(state, data) {\n state.episodeId = data;\n },\n\n updateMrnNumber(state, data) {\n state.episode.patient.mrn_number = data;\n },\n updateSocialSecurityNumber(state, data) {\n state.episode.patient.social_security_number = data;\n },\n\n updateFirstName(state, data) {\n state.episode.patient.name = data;\n // state.episode.name = data;\n },\n\n updateLastName(state, data) {\n state.episode.patient.last_name = data;\n },\n updateDateOfBirth(state, data) {\n state.episode.patient.date_of_birth = data;\n },\n updateBloodGroupId(state, data) {\n state.episode.patient.blood_group = data;\n },\n updateRoomNumber(state, data) {\n state.episode.bed_number = data;\n },\n updateGenderId(state, data) {\n state.episode.patient.gender_id = data;\n },\n updateGenderOther(state, data) {\n state.episode.patient.gender_other = data;\n },\n updateAccountNumber(state, data) {\n state.episode.account_number = data;\n },\n updateDateOfAdmission(state, data) {\n state.episode.admitted_at = data;\n },\n updateLanguageId(state, data) {\n state.episode.patient.language_id = data;\n },\n updateLanguageOther(state, data) {\n state.episode.patient.language_other = data;\n },\n updateEthnicityId(state, data) {\n state.episode.patient.ethnicity_id = data;\n },\n updateEthnicityOther(state, data) {\n state.episode.patient.ethnicity_other = data;\n },\n updateMedicalInsurancePlan(state, data) {\n state.episode.medical_insurance_type = data;\n },\n updateCareType(state, data) {\n state.episode.care_type_id = data;\n },\n updateDirectives(state, data) {\n let updatedDirectives = state.episode.directives\n updatedDirectives.push(data)\n state.episode.directives = [...new Set(updatedDirectives)];\n },\n updateErrors(state, data) {\n state.episodeErrors = data;\n },\n\n clearEpisodeError(state){\n state.episodeErrors = {}\n },\n\n updateDirectiveFullCode(state, data) {\n\n state.episode.directives.full_code = data\n },\n updateDirectiveDNR(state, data) {\n\n state.episode.directives.dnr = data\n },\n updateDirectiveDNI(state, data) {\n\n state.episode.directives.dni = data\n },\n updateDirectiveDNH(state, data) {\n\n state.episode.directives.dnh = data\n },\n updateDirectiveNoArtificialFeeding(state, data) {\n\n state.episode.directives.no_artificial_feeding = data\n },\n updateDirectiveComfortCare(state, data) {\n\n state.episode.directives.comfort_care = data\n },\n updateDirectiveHospiceCare(state, data) {\n\n state.episode.directives.hospice_care = data\n },\n updateDirectiveOther(state, data) {\n\n state.episode.directives.other = data\n },\n updateDirectiveOtherCare(state, data) {\n\n state.episode.directives.other_care = data\n },\n updateDirectiveDecisionMakingCapacity(state, data) {\n\n state.episode.directives.decision_making_capacity = data\n },\n updateDirectiveGoalOfCareDiscussed(state, data) {\n\n state.episode.directives.goal_of_care_discussed = data\n },\n updateDirectiveGoalOfCare(state, data) {\n\n state.episode.directives.goal_of_care = data\n },\n};\n","import axios from \"axios\";\n\nexport default {\n\n async configureEpisode({commit, dispatch}, data) {\n await dispatch(\"unloadEpisode\")\n await dispatch(\"clearErrors\")\n await commit(\"setEpisodeId\", data.id)\n await commit(\"setEpisode\", data)\n await commit(\"setOriginalEpisode\", JSON.parse(JSON.stringify(data)))\n },\n\n async clearErrors({commit}) {\n commit(\"clearEpisodeError\")\n commit(\"setEpisodeErrorToFalse\")\n },\n\n async loadEpisodeById({commit, dispatch}, episodeId) {\n await dispatch(\"unloadEpisode\")\n await commit(\"setEpisodeId\", episodeId)\n await dispatch(\"fetchEpisode\")\n },\n\n updateErrors({commit}, errors) {\n commit(\"updateErrors\", errors);\n },\n\n handleErrors({commit}, errors) {\n commit(\"setEpisodeError\")\n\n let errorObject = {\n title: errors.title,\n content: errors.content\n }\n\n commit(\"updateErrors\", errorObject)\n },\n\n async fetchEpisode({state, dispatch}) {\n await dispatch(\"clearErrors\")\n\n if (state.episodeId === null || state.episodeId === undefined) {\n console.error(\"The selected episode is null.\");\n dispatch(\"unloadEpisode\");\n return;\n }\n\n await axios.get(`episodes/${state.episodeId}`)\n .then((response) => {\n const data = response.data\n const status = response.status\n\n if (status === 200) {\n // commit(\"setEpisode\", data.data)\n // commit(\"setOriginalEpisode\", JSON.parse(JSON.stringify(data.data)))\n dispatch(\"configureEpisode\", data.data)\n }\n }).catch((error) => {\n if (error.status === 404) {\n console.error(`An episode with an ID of ${state.episodeId} was not found.`)\n dispatch(\"unloadEpisode\")\n return\n }\n\n console.error(`An error occurred ${error.status} response: `, error.response.body())\n })\n },\n\n loadEpisode({commit}, episode) {\n commit(\"setEpisode\", episode)\n },\n\n unloadEpisode({commit, dispatch}) {\n commit(\"setEpisode\", {});\n commit(\"setEpisodeId\", null);\n dispatch(\"clearErrors\")\n commit(\"clearIntervention\")\n commit(\"clearAssessment\")\n commit(\"clearSignsAndSymptom\")\n },\n\n async createNewEpisode({state, dispatch}) {\n dispatch(\"clearErrors\")\n\n const response = await axios.post(`episodes`, state.episode)\n .then(response => {\n return response.data\n })\n .catch(error => {\n\n dispatch(\"processError\", error)\n })\n return !!response\n },\n\n async updateEpisode({state, dispatch}) {\n\n await dispatch(\"clearErrors\")\n\n try {\n const response = await axios.put(\n `episodes/${state.episodeId}`,\n state.episode\n )\n .then(response => {\n\n dispatch(\"configureEpisode\", response.data.data)\n\n return response\n })\n .catch(error => {\n\n dispatch(\"processError\", error)\n });\n\n return !!response\n } catch (error) {\n\n console.error(\"An unexpected error occurred updating the episode: \", error)\n return false\n }\n },\n\n processError({dispatch}, error) {\n console.error(\"This is being triggered: \", error)\n if (error.response.status === 422) {\n\n const errors = error.response.data;\n const errorMessage = errors.message ?? 'An Unknown Data Error Occurred.';\n const errorContent = Object.values(errors.errors).map(error => `${error}`);\n\n dispatch(\"handleErrors\", {title: errorMessage, content: errorContent})\n return\n }\n\n if (error.response.status === 500) {\n\n const errorMessage = \"Oops! An error occurred.\";\n const errorContent = [\"An unexpected error has occurred on our side. You should wait a moment and try again.\"];\n\n dispatch(\"handleErrors\", {title: errorMessage, content: errorContent})\n return\n }\n\n if (error.response.status === 401 || error.response.status === 403) {\n\n const errorMessage = \"You've Been Logged Out.\";\n const errorContent = [\"It looks like you are not allowed to perform that action, or you have been logged out. You will need to log in again.\"];\n\n dispatch(\"handleErrors\", {title: errorMessage, content: errorContent})\n return\n }\n\n const errorMessage = \"Oops! An error occurred.\";\n const errorContent = [\"An unexpected error has occurred. You should wait a moment and try again.\"];\n\n dispatch(\"handleErrors\", {title: errorMessage, content: errorContent})\n },\n\n async saveEpisode({state, dispatch}) {\n if (state.episodeId === null || state.episodeId === 0) {\n return await dispatch(\"createNewEpisode\")\n }\n\n if (state.episodeId !== null) {\n return await dispatch(\"updateEpisode\")\n }\n\n return false\n },\n\n addNewResident({commit}) {\n const resident = {\n id: 0,\n account_number: '',\n room: '',\n name: '',\n patient: {\n id: 0,\n name: '',\n last_name: '',\n date_of_birth: '',\n social_security_number: '',\n blood_group: null,\n ethnicity_other: '',\n gender_other: '',\n language_other: '',\n mrn_number: '',\n gender_id: null,\n language_id: null,\n ethnicity_id: null,\n gender: '',\n ethnicity: '',\n language: '',\n family: [],\n has_social_security_number: false\n },\n immunizations: [],\n status: '',\n patient_symptoms: [],\n priority_high: false,\n intervention_needed: false,\n care_teams: [],\n intervention_ids: [],\n action_priority: 0,\n admission_date: '',\n transfer_date: null,\n facility_id: null, // todo figure this one out\n care_type_id: null,\n medical_insurance_id: null,\n messages: [],\n directive: null,\n vitals: [],\n episode_hospital_meds_before: [],\n episode_hospital_meds_after: [],\n high_risk_conditions: null,\n procedures: null,\n medications: null,\n interventions: [],\n is_new_episode: true,\n }\n commit(\"setEpisode\", resident);\n commit(\"setOriginalEpisode\", JSON.parse(JSON.stringify(resident)));\n commit(\"setEpisodeId\", 0)\n },\n};\n","export default {\n patientImmunizations(state) {\n return (\n state.episode.immunizations.filter((item) => item.action !== \"D\") ?? []\n );\n },\n};\n","export default {\n addImmunization(state, immunization) {\n state.episode.immunizations.push(immunization);\n },\n\n setPatientImmunization(state, data) {\n state.episode.immunizations[data.index] = data.value;\n\n state.episode.immunizations = [...state.episode.immunizations];\n\n console.table(state.episode.immunizations);\n },\n removeImmunizationFromArray(state, index) {\n state.episode.immunizations.splice(index, 1);\n },\n\n updateImmunizationToDeleted(state, index) {\n state.episode.immunizations[index].action = \"D\";\n },\n\n updateImmunization(state, data) {\n\n state.episode.immunizations[data.index] = data.value\n state.episode.immunizations[data.index].action = 'U'\n state.episode.immunizations = [...state.episode.immunizations];\n }\n};\n","export default {\n\n addImmunization({ commit }, data) {\n \n commit('addImmunization', data)\n },\n\n updateImmunization({ state, commit }, data) {\n \n const index = state.episode.immunizations.findIndex(item => item.id === data.id)\n\n if (index >= 0) {\n\n data = {\n value: data,\n index: index,\n }\n \n commit('updateImmunization', data)\n }\n },\n\n deleteImmunization({ state, commit }, data) {\n\n if (data.action === 'C') {\n \n const index = state.episode.immunizations.findIndex((immunization) => {\n \n return data.id === immunization.id\n })\n\n if (index >= 0) {\n \n commit('removeImmunizationFromArray', index)\n return\n }\n\n console.log('Immunization Not Found: ', data)\n return\n }\n\n const index = state.episode.immunizations.findIndex((immunization) => {\n \n return data.id === immunization.id\n })\n\n if (index >= 0) {\n \n commit('updateImmunizationToDeleted', index)\n } else {\n\n console.error(\"Immunization Not Found: \", data, index)\n console.table(state.episode.immunizations)\n }\n }\n}","export default {\n\n addOrUpdateCareTeamMember({state, commit}, data) {\n\n // does this care team member already exist?\n const index = state.episode.care_teams.findIndex((provider) => {\n\n return data.name === provider.name\n })\n\n if(index >= 0) {\n\n data.action = state.episode.care_teams[index].action !== 'C' ? 'U' : 'C'\n\n commit('updateCareTeamMember', {index: index, provider: data })\n return\n }\n\n commit('addCareTeamMember', data)\n\n },\n addCareTeamMember({ dispatch }, data) {\n\n // commit('addCareTeamMember', data)\n dispatch('addOrUpdateCareTeamMember', data)\n },\n\n removeCareTeamMember({ commit, state }, data) {\n\n const index = state.episode.care_teams.findIndex((item) => {\n\n return data.name === item.name\n })\n\n if (index >= 0) {\n\n if(state.episode.care_teams[index].action === 'C') {\n\n commit('scrubCareTeamMember', index)\n return\n }\n\n commit('removeCareTeamMember', index)\n return\n }\n\n console.error(\"Tried to delete care team member that did not exist with ID: \", data.name)\n },\n\n updateCareTeamMember({ state, commit }, item) {\n const index = state.episode.care_teams.findIndex((careTeam) => item.id === careTeam.id);\n\n if (index >= 0) {\n let data = {\n index: index,\n data: item\n }\n\n commit('updateCareTeamMember', data)\n return\n }\n\n console.log(\"Could not update Care Team Member: \", item)\n },\n}","export default {\n getCareTeam(state) {\n \n return state.episode.care_teams.filter(item => item.action !== 'D')\n },\n}","export default {\n addCareTeamMember(state, data) {\n state.episode.care_teams.push(data);\n },\n\n removeCareTeamMember(state, index) {\n // state.episode.care_teams.splice(index, 1);\n state.episode.care_teams[index].action = 'D'\n },\n\n updateCareTeamMember(state, data) {\n // state.episode.care_teams[data.index] = data.provider;\n state.episode.care_teams[data.index].action = data.provider.action\n state.episode.care_teams = [...state.episode.care_teams];\n },\n\n scrubCareTeamMember(state, index) {\n\n state.episode.care_teams.splice(index, 1)\n }\n};\n","export default {}","export default {\n deleteFamilyItem({commit, state}, familyId) {\n\n const index = state.episode.patient.family.map(e => e.id).indexOf(familyId)\n\n if (index >= 0) {\n\n commit(\"removeFamilyItem\", index)\n commit(\"refreshFamilyArray\")\n }\n },\n\n updateFamilyMember({commit, state}, contact) {\n\n const index = state.episode?.patient?.family?.findIndex(member => member.id === contact.id)\n if(index >= 0) {\n const data = {\n index: index,\n family: contact\n }\n commit(\"updateFamilyMember\", data)\n }\n commit(\"refreshFamilyArray\")\n },\n addFamilyMember(commit, family) {\n\n family.action = 'C'\n commit(\"addFamilyMember\", family)\n commit(\"refreshFamilyArray\")\n },\n}","export default {\n removeFamilyItem(state, index) {\n\n const familyData = state.episode?.patient?.family[index]\n if (familyData) {\n familyData.action = 'D'\n }\n },\n\n refreshFamilyArray(state) {\n\n if (state.episode.patient.family) {\n\n state.episode.patient.family = [...state.episode.patient.family]\n }\n },\n\n addFamilyMember(state, family) {\n\n if(state.episode?.patient?.family) {\n\n state.episode.patient.family.push(family)\n }\n },\n\n updateFamilyMember(state, data) {\n\n if(state.episode.patient.family) {\n\n state.episode.patient.family.splice(data.index, 1)\n const family = data.family\n if(family.action !== 'C') {\n\n family.action = 'U'\n }\n state.episode.patient.family.push(family)\n\n }\n },\n}","export default {\n medicationsBeforeHospitalization(state) {\n \n return state.episode.episode_medications.filter(medication => {\n \n return medication.status === 'before' && medication.is_disabled === 0 && medication.action !== 'D'\n })\n },\n medicationsAfterHospitalization(state) {\n return state.episode.episode_medications.filter(medication => {\n \n return medication.status === 'after' && medication.is_disabled === 0 && medication.action != 'D'\n })\n },\n medicationsCurrent(state) {\n \n return state.episode.episode_medications.filter(medication => {\n \n return (medication.is_currently_taking === 1 || medication.is_currently_taking === true)\n && medication.is_disabled === 0 && medication.action !== 'D'\n })\n }\n}","export default {\n\n addMedication({commit}, medication) {\n\n commit('updateMedications', medication)\n },\n\n removeMedication({dispatch}, medication) {\n\n if (medication.action === 'C') {\n\n dispatch(\"removeMedicationByFuzzySearch\", medication)\n return\n }\n\n dispatch('removeMedicationById', medication)\n },\n\n removeMedicationById({commit, state}, medication) {\n\n const medicationIndex = state.episode.episode_medications.findIndex((med) => {\n return medication.id === med.id\n })\n\n if (medicationIndex >= 0) {\n\n commit('updateMedicationToDeleted', medicationIndex)\n }\n },\n\n removeMedicationByFuzzySearch({commit, state}, medication) {\n const medicationIndex = state.episode.episode_medications.findIndex((med) => {\n\n return medication.med_description === med.med_description\n && medication.dosage_frequency === med.dosage_frequency\n && medication.route === med.route\n })\n\n if (medicationIndex >= 0) {\n\n commit('removeMedicationFromArray', medicationIndex)\n }\n },\n\n updateMedication({commit, state}, medication) {\n\n const medicationIndex = state.episode.episode_medications.findIndex((med) => {\n\n return med.id === medication.id\n })\n\n if (medicationIndex > 0) {\n\n const data = {\n index: medicationIndex,\n medication: medication\n }\n\n commit('updateMedication', data)\n return\n }\n\n console.log(\"Medication Not Found\")\n }\n}","export default {\n\n updateMedications(state, data) {\n \n state.episode.episode_medications.push(data)\n },\n\n removeMedicationFromArray(state, index) {\n\n state.episode.episode_medications.splice(index, 1)\n \n },\n updateMedicationToDeleted(state, index) {\n \n state.episode.episode_medications[index].action = 'D'\n },\n\n updateMedication(state, data) {\n\n state.episode.episode_medications[data.index] = data.medication\n \n if (state.episode.episode_medications[data.index].action !== 'C') {\n \n state.episode.episode_medications[data.index].action = 'U'\n }\n\n state.episode.episode_medications = [... state.episode.episode_medications]\n }\n\n}","export default {}","export default {}","export default {\n updateCareDirective(state, directive, data) {\n switch (directive) {\n case \"physical\":\n state.episode.care_directives[0].physical = data;\n break;\n case \"sensorial\":\n state.episode.care_directives[0].sensorial = data;\n break;\n case \"Devices\":\n state.episode.care_directives[0].devices = data;\n break;\n case \"Continences\":\n state.episode.care_directives[0].continences = data;\n break;\n case \"catheter\":\n state.episode.care_directives[0].catheter = data;\n break;\n case \"Bowels\":\n state.episode.care_directives[0].bowels = data;\n break;\n case \"FeedingTubes\":\n state.episode.care_directives[0].tube_feeding = data;\n break;\n case \"FeedingTubesProducts\":\n state.episode.care_directives[0].tube_feeding.product = data;\n break;\n case \"nutrition\":\n state.episode.care_directives[0].nutrition = data;\n break;\n case \"CardiacTreatments\":\n state.episode.care_directives[0].cardiac_treatments = data;\n break;\n case \"RespiratoryTreatments\":\n state.episode.care_directives[0].respiratory = data;\n break;\n case \"TherapyTreatments\":\n state.episode.care_directives[0].therapies = data;\n break;\n case \"SkinCare\":\n state.episode.care_directives[0].skin_care = data;\n break;\n case \"Risks\":\n state.episode.care_directives[0].risks = data;\n break;\n case \"InfectionControls\":\n state.episode.care_directives[0].infection_control = data;\n break;\n }\n },\n}","export default {\n setSignAndSymptom({commit, state}, data) {\n\n const index = state.episode.signsAndSymptoms.findIndex((signsAndSymptom) => signsAndSymptom.sign_and_symptom_id === data.sign_and_symptom_id)\n\n if (index >= 0) {\n\n const update = {\n index: index,\n value: data,\n }\n\n commit(\"setSignsAndSymptom\", update)\n }\n },\n\n setNewSignAndSymptom({commit}, data) {\n\n commit(\"setSignsAndSymptom\", data)\n },\n\n addOrUpdateSignsAndSymptom({commit, state}) {\n\n const assessment = state.assessment\n\n const index = state.episode.signsAndSymptoms.findIndex(item => item.signs_and_symptom_id === assessment.signs_and_symptom_id && item.action !== 'D')\n\n if (index >= 0) {\n\n if(assessment.action && assessment.action === 'C') {\n assessment.action = 'C'\n } else {\n\n assessment.action = 'U'\n }\n\n commit(\"updateSignsAndSymptom\", {index: index, value: assessment})\n return\n }\n\n assessment.action = 'C'\n commit(\"addSignsAndSymptom\", assessment)\n },\n\n clearChangeInConditionByEscalationId({commit, state}, escalationId) {\n\n const itemsToSetToComplete = state.episode.signsAndSymptoms.filter(sign => sign.episode_intervention_id === escalationId).map(changeInCondition => {\n if(changeInCondition.action === 'C') {\n\n return\n }\n\n return {\n action: 'U',\n episode_id: changeInCondition.episode_id,\n has_notified: changeInCondition.has_notified,\n id: changeInCondition.id,\n immediacy: changeInCondition.immediacy,\n is_immediate: changeInCondition.immediacy === 'true',\n is_reoccurrence: changeInCondition.is_reoccurrence,\n last_treatment: changeInCondition.last_treatment,\n negative_factors: changeInCondition.negative_factors,\n other_factors: changeInCondition.other_factors,\n positive_factors: changeInCondition.positive_factors,\n requires_notification: changeInCondition.requires_notification,\n severity_direction: changeInCondition.severity_direction,\n signs_and_symptom_id: changeInCondition.signs_and_symptom_id,\n started_at: changeInCondition.started_at,\n status: 0\n }\n })\n\n const cleanedItemsToComplete = itemsToSetToComplete.filter(item => item !== undefined)\n\n\n const itemsToRetain = state.episode.signsAndSymptoms.filter(sign => sign.episode_intervention_id !== escalationId)\n\n const newSignsAndSymptoms = [...new Set([...itemsToRetain, ...cleanedItemsToComplete])]\n\n console.log(newSignsAndSymptoms)\n\n if(newSignsAndSymptoms.length > 0) {\n\n commit(\"setSignsAndSymptoms\", newSignsAndSymptoms)\n }else {\n commit(\"setSignsAndSymptoms\", [])\n }\n },\n\n deleteSignsAndSymptom({commit, state}, data) {\n\n const itemsToDelete = state.episode.signsAndSymptoms.filter(sign => sign.signs_and_symptom_id === data).map((symptom) => {\n if(symptom.action === 'C') {\n\n return\n }\n\n return {\n action: 'D',\n episode_id: symptom.episode_id,\n has_notified: symptom.has_notified,\n id: symptom.id,\n immediacy: symptom.immediacy,\n is_immediate: symptom.immediacy === 'true',\n is_reoccurrence: symptom.is_reoccurrence,\n last_treatment: symptom.last_treatment,\n negative_factors: symptom.negative_factors,\n other_factors: symptom.other_factors,\n positive_factors: symptom.positive_factors,\n requires_notification: symptom.requires_notification,\n severity_direction: symptom.severity_direction,\n signs_and_symptom_id: symptom.signs_and_symptom_id,\n started_at: symptom.started_at,\n status: symptom.status\n }\n })\n\n const cleanedItemsToDelete = itemsToDelete.filter(item => item !== undefined)\n\n\n const itemsToRetain = state.episode.signsAndSymptoms.filter(sign => sign.signs_and_symptom_id !== data)\n\n console.log(itemsToDelete)\n console.log(itemsToRetain)\n\n const newSignsAndSymptoms = [...new Set([...itemsToRetain, ...cleanedItemsToDelete])]\n\n console.log(newSignsAndSymptoms)\n\n if(newSignsAndSymptoms.length > 0) {\n\n commit(\"setSignsAndSymptoms\", newSignsAndSymptoms)\n }else {\n commit(\"setSignsAndSymptoms\", [])\n }\n },\n\n setAssessmentImmediacy({commit}, data) {\n\n commit(\"assessmentImmediacy\", data)\n },\n setAssessmentStartedAt({commit}, data) {\n\n commit(\"assessmentStartedAt\", data)\n },\n setAssessmentSeverityDirection({commit}, data) {\n\n commit(\"assessmentSeverityDirection\", data)\n },\n setAssessmentNegativeFactors({commit}, data) {\n\n commit(\"assessmentNegativeFactors\", data)\n },\n setAssessmentPositiveFactors({commit}, data) {\n\n commit(\"assessmentPositiveFactors\", data)\n },\n setAssessmentLastTreatment({commit}, data) {\n\n commit(\"assessmentLastTreatment\", data)\n },\n setAssessmentOtherFactors({commit}, data) {\n\n commit(\"assessmentOtherFactors\", data)\n },\n setAssessmentIsReoccurrence({commit}, data) {\n\n commit(\"assessmentIsReoccurrence\", data)\n },\n\n clearAssessment({commit}) {\n\n commit(\"resetAssessment\")\n },\n\n setAssessment({commit}, value) {\n\n commit(\"setAssessment\", value)\n },\n}","export default {\n\n setSignsAndSymptoms(state, data) {\n if (!data) {\n state.episode.signsAndSymptoms = [];\n return;\n }\n state.episode.signsAndSymptoms = data\n },\n\n updateSignsAndSymptom(state, data) {\n\n state.episode.signsAndSymptoms[data.index] = data.value\n },\n\n addSignsAndSymptom(state, data) {\n\n state.episode.signsAndSymptoms.push(data)\n },\n\n deleteSignsAndSymptom(state, index) {\n\n state.episode.signsAndSymptoms[index].action = 'D'\n console.log(state.episode.signsAndSymptoms[index].action)\n },\n\n setSignsAndSymptom(state, data) {\n\n state.signsAndSymptom = data\n },\n\n assessmentImmediacy(state, data) {\n\n state.assessment.immediacy = data\n },\n\n assessmentStartedAt(state, data) {\n\n state.assessment.started_at = data\n },\n\n assessmentSeverityDirection(state, data) {\n\n state.assessment.severity_direction = data\n },\n\n assessmentNegativeFactors(state, data) {\n\n state.assessment.negative_factors = data\n },\n\n assessmentPositiveFactors(state, data) {\n\n state.assessment.positive_factors = data\n },\n\n assessmentLastTreatment(state, data) {\n\n state.assessment.last_treatment = data\n },\n\n assessmentOtherFactors(state, data) {\n\n state.assessment.other_factors = data\n },\n\n assessmentIsReoccurrence(state, data) {\n\n state.assessment.is_reoccurrence = data\n },\n\n resetAssessment(state) {\n\n state.assessment = {\n id: null,\n episode_id: state.episode.id,\n immediacy: \"false\",\n is_immediate: false,\n started_at: null,\n severity_direction: \"same\",\n negative_factors: \"\",\n positive_factors: \"\",\n last_treatment: \"\",\n other_factors: \"\",\n is_reoccurrence: false,\n requires_notification: false,\n has_notified: false,\n status: 1,\n action: null,\n signs_and_symptom_id: null,\n }\n },\n\n setAssessment(state, data) {\n\n state.assessment = data\n },\n}","export default {\n\n getSignsAndSymptoms(state) {\n return state.episode.signsAndSymptoms.filter(\n (signsAndSymptom) => signsAndSymptom.action !== 'D'\n );\n },\n\n getCurrentSignsAndSymptom(state) {\n\n return state.signsAndSymptom;\n },\n\n getSignsAndSymptom(state) {\n return state.episode?.signsAndSymptoms?.find(\n (signsAndSymptom) =>\n signsAndSymptom.signs_and_symptoms_id === state.signsAndSymptom.signs_and_symptoms_id && signsAndSymptom.action !== 'D'\n );\n },\n\n hasRequiredNotifications(state) {\n\n return state.episode?.signsAndSymptoms?.some(signsAndSymptom => signsAndSymptom.requires_notification === 1 && signsAndSymptom.status === 1) ?? false\n\n },\n\n requiredNotificationSignsAndSymptoms(state) {\n return state.episode?.signsAndSymptoms.filter(signsAndSymptom => signsAndSymptom.status === 1 && signsAndSymptom.requires_notification === 1 && signsAndSymptom.has_notified === 0).map(signsAndSymptom => signsAndSymptom.id);\n },\n\n getAssessment(state) {\n\n return state.assessment\n },\n};\n","export default {\n\n validate({dispatch, commit}) {\n\n commit('markAsInvalid')\n commit('clearValidationErrors')\n dispatch('validateEpisode')\n dispatch('validateDirectives')\n dispatch('validateAssessments')\n dispatch('validatePatient')\n dispatch('validateFamily')\n dispatch('validateObservations')\n dispatch('validateCareTeam')\n dispatch('validateImmunizations')\n dispatch('validateInterventions')\n dispatch('validateMedications')\n dispatch('validateStatus')\n },\n\n validateStatus({state, commit}) {\n\n const status = state.episode.validation.episodeIsValid\n && state.episode.validation.directivesAreValid\n && state.episode.validation.assessmentsAreValid\n && state.episode.validation.patientIsValid\n && state.episode.validation.familyIsValid\n && state.episode.validation.observationsAreValid\n && state.episode.validation.careTeamIsValid\n && state.episode.validation.immunizationsAreValid\n && state.episode.validation.interventionsAreValid\n && state.episode.validation.medicationsAreValid\n\n if(status === true) {\n\n commit('markAsValid')\n } else {\n\n commit('markAsInvalid')\n }\n },\n}","export default {\n isValid(state) {\n\n return state.episode.isValid\n },\n\n validationErrors(state) {\n\n return state.episode.validationErrors\n },\n}","export default {\n\n markAsInvalid(state) {\n\n state.episode.isValid = false\n },\n\n markAsValid(state) {\n\n state.episode.isValid = true\n },\n\n clearValidationErrors(state) {\n\n state.episode.validationErrors = []\n },\n\n addValidationError(state, error) {\n\n state.episode.validationErrors.push(error)\n },\n}","import interventionGetters from '@/store/modules/episode/interventions/getters.js'\nimport interventionActions from '@/store/modules/episode/interventions/actions.js'\nimport interventionMutations from '@/store/modules/episode/interventions/mutations.js'\nimport vitalGetters from '@/store/modules/episode/vitals/getters.js'\nimport vitalActions from '@/store/modules/episode/vitals/actions.js'\nimport vitalMutations from '@/store/modules/episode/vitals/mutations.js'\nimport residentGetters from '@/store/modules/episode/resident/getters.js'\nimport residentMutations from '@/store/modules/episode/resident/mutations.js'\nimport residentActions from '@/store/modules/episode/resident/actions.js'\nimport immunizationGetters from '@/store/modules/episode/immunization/getters.js'\nimport immunizationMutations from '@/store/modules/episode/immunization/mutations.js'\nimport immunizationActions from '@/store/modules/episode/immunization/actions.js'\nimport careteamActions from '@/store/modules/episode/careteam/actions.js'\nimport careteamGetters from '@/store/modules/episode/careteam/getters.js'\nimport careteamMutations from '@/store/modules/episode/careteam/mutations.js'\nimport familyGetters from '@/store/modules/episode/family/getters.js'\nimport familyActions from '@/store/modules/episode/family/actions.js'\nimport familyMutations from '@/store/modules/episode/family/mutations.js'\nimport medicationGetters from '@/store/modules/episode/medication/getters.js'\nimport medicationActions from '@/store/modules/episode/medication/actions.js'\nimport medicationMutations from '@/store/modules/episode/medication/mutations.js'\nimport caredirectiveGetters from '@/store/modules/episode/caredirective/getters.js'\nimport caredirectiveActions from '@/store/modules/episode/caredirective/actions.js'\nimport caredirectiveMutations from '@/store/modules/episode/caredirective/mutations.js'\nimport signsAndSymptomsActions from '@/store/modules/episode/signsAndSymptoms/actions'\nimport signsAndSymptomsMutations from '@/store/modules/episode/signsAndSymptoms/mutations'\nimport signsAndSymptomsGetters from '@/store/modules/episode/signsAndSymptoms/getters'\nimport validationActions from '@/store/modules/episode/validation/actions'\nimport validationGetters from '@/store/modules/episode/validation/getters'\nimport validationMutations from '@/store/modules/episode/validation/mutations'\n\nconst state = () => ({\n episode: null,\n episodeId: null,\n originalEpisode: null,\n intervention: {\n id: null,\n episode_id: null,\n intervention_id: null,\n selected_symptoms: [],\n selected_notifications: [],\n selected_tests: [],\n next_step: null,\n alert: null,\n status: null,\n page: null,\n active: null,\n notified: null,\n notified_at:null,\n read:null,\n read_at:null,\n created_at: null,\n updated_at: null,\n created_by: null,\n action: null\n },\n signsAndSymptom: null,\n symptom: null,\n episodeErrors: null,\n messagesLoading: false,\n episodeHasErrors: false,\n assessment: {\n id: null,\n episode_id: null,\n is_immediate: false,\n immediacy: \"false\",\n started_at: null,\n severity_direction: \"same\",\n negative_factors: \"\",\n positive_factors: \"\",\n last_treatment: \"\",\n other_factors: \"\",\n is_reoccurrence: false,\n requires_notification: false,\n has_notified: false,\n status: 1,\n action: null,\n signs_and_symptom_id: null,\n },\n isValid: false,\n validationErrors: [],\n validation: {\n episodeIsValid: false,\n directivesAreValid: false,\n assessmentsAreValid: false,\n patientIsValid: false,\n familyIsValid: false,\n observationsAreValid: false,\n careTeamIsValid: false,\n immunizationsAreValid: false,\n interventionsAreValid: false,\n medicationsAreValid: false,\n },\n\n currentInterventionId : null,\n});\n\nconst getters = {\n\n ...signsAndSymptomsGetters,\n ...interventionGetters,\n ...vitalGetters,\n ...residentGetters,\n ...immunizationGetters,\n ...careteamGetters,\n ...familyGetters,\n ...medicationGetters,\n ...caredirectiveGetters,\n ...validationGetters,\n};\n\n// actions\nconst actions = {\n\n ...signsAndSymptomsActions,\n ...interventionActions,\n ...vitalActions,\n ...residentActions,\n ...immunizationActions,\n ...careteamActions,\n ...familyActions,\n ...medicationActions,\n ...caredirectiveActions,\n ...validationActions,\n};\n\n// mutations\nconst mutations = {\n\n ...signsAndSymptomsMutations,\n ...interventionMutations,\n ...vitalMutations,\n ...residentMutations,\n ...immunizationMutations,\n ...careteamMutations,\n ...familyMutations,\n ...medicationMutations,\n ...caredirectiveMutations,\n ...validationMutations,\n};\n\nexport default {\n namespaced: true,\n state,\n getters,\n actions,\n mutations,\n};\n","const state = () => ({\n name: null,\n email: null,\n id: null,\n roles: [],\n facility: null,\n\n role: null,\n currentFacility: {\n id: null,\n name: null,\n },\n})\n\nconst getters = {\n\n user(state) {\n\n return state\n },\n\n name(state) {\n\n return state.name\n },\n\n id(state) {\n\n return state.id\n },\n\n email(state) {\n\n return state.email\n },\n\n roles(state) {\n\n return state.roles\n },\n\n getRole(state) {\n return state.role\n },\n getRoles(state) {\n\n return state.roles\n },\n getCurrentFacility(state) {\n return state.currentFacility\n },\n isAdministrator(state) {\n\n return state.role === 'SUPERADMIN' ||\n state.role === 'ADMIN' ||\n state.role === 'ADMINRN'\n },\n isSiteAdministrator(state) {\n\n return state.role === \"SUPERADMIN\"\n },\n}\n\nconst mutations = {\n setRole(state, role) {\n\n state.role = role\n },\n setRoles(state, roles) {\n\n state.roles = roles\n },\n setName(state, name) {\n\n state.name = name\n },\n setId(state, id) {\n\n state.id = id\n },\n setEmail(state, email) {\n\n state.email = email\n },\n setFacility(state, facility) {\n\n state.facility = facility\n },\n\n setCurrentFacility(state, facility) {\n\n state.currentFacility = facility\n }\n}\n\nconst actions = {\n\n unload({commit}) {\n commit('setName', null)\n commit('setEmail', null)\n commit('setRoles', [])\n commit('setRole', null)\n commit('setId', null)\n commit('setCurrentFacility', {\n beds: 0,\n created_at: null,\n id: 0,\n name: '',\n status: 0\n })\n },\n\n loadUser({state, commit, dispatch}, user) {\n commit('setName', user.name)\n commit('setEmail', user.email)\n commit('setRoles', user.roles)\n commit('setFacility', user.facility)\n commit('setId', user.id)\n dispatch('setFacility')\n dispatch('setRoleByFacility', state.currentFacility.id)\n },\n\n setFacility({commit, state}) {\n\n if (state.facility) {\n\n let facility = state.roles.find((role) => {\n if (role.facility_id === state.facility.id) {\n\n return role\n }\n })\n\n if (facility) {\n commit('setRole', facility.role)\n commit('setCurrentFacility', facility.facility)\n return\n }\n }\n if (state.roles.length > 0) {\n\n commit('setRole', state.roles[0].role.type)\n commit('setCurrentFacility', state.roles[0].facility)\n }\n },\n updateFacility({commit, state}, facilityId) {\n\n const newFacility = state.roles.find(facility => facility.facility_id === facilityId)\n\n if (newFacility) {\n commit('setCurrentFacility', newFacility.facility)\n commit('setRole', newFacility.role.type)\n }\n },\n setRoleByFacility({state, commit}, facilityId) {\n\n let role = 'UNDEFINED'\n let currentFacilityRole = state.roles.filter((role) => role.facility.id === facilityId)\n\n if (currentFacilityRole.length > 0) {\n\n role = currentFacilityRole[0].access\n }\n\n commit('setRole', role)\n },\n}\n\nexport default {\n namespaced: true,\n state,\n mutations,\n getters,\n actions\n}","import axios from \"axios\";\nimport { notificationCriteria } from \"@/helpers/vitalSignTools\";\n\nexport default {\n dispatchMarkConversationAsRead(state, episodeId) {\n axios.put(`conversations/${episodeId}/read`)\n },\n unload({ commit }) {\n commit(\"unloadMessages\");\n commit(\"closeMessagePanel\");\n commit(\"setLoadingState\", false);\n commit(\"setMessageEpisodeId\", null);\n },\n\n async getNextSetOfMessages({commit}, id) {\n\n const response = await axios.get(`messages/get-next-messages/${id}`)\n\n if(response.status) {\n\n if(response.status === 200) {\n\n commit(\"ADD_MESSAGES\", response.data)\n }\n }\n },\n\n addMessageToMessages({ commit }, value) {\n commit(\"pushMessage\", value.message);\n },\n async sendNewMessage({ state, rootState }, messageText) {\n let messageObject = {\n message: messageText,\n priority: 0,\n };\n\n // check to see if any interventions need to be added.\n if (rootState.messages.sendInterventions === true) {\n messageObject.interventions =\n rootState.episode?.episode?.interventions?.map(function (intervention) {\n if (\n (intervention.notified === 0 || intervention.notified === false) &&\n (intervention.active === 1 || intervention.active === true)\n ) {\n return intervention.id; // the id doesn't exist until the episode has been reloaded.\n }\n });\n }\n // check to see if any observations need to be added.\n if (rootState.messages.sendObservations === true) {\n messageObject.observations = rootState.episode?.episode?.vitals?.map(\n function (observation) {\n if (notificationCriteria(observation)) {\n return observation.id; // the id doesn't exist until the episode has been reloaded.\n }\n }\n );\n }\n // check to see if any assessments need to be added.\n if (rootState.messages.sendAssessments === true) {\n messageObject.assessments =\n rootState.episode?.episode?.signsAndSymptoms?.map(function (\n assessment\n ) {\n if (\n assessment.has_notified === 0 &&\n assessment.requires_notification &&\n assessment.status === 1\n ) {\n return assessment.id; // the id doesn't exist until the episode has been reloaded.\n }\n });\n }\n\n const response = await axios.post(\n `/messages/${state.episodeId}`,\n messageObject\n );\n\n if (response.status) {\n return response.status === 200;\n\n }\n\n if (response.error) {\n console.error(response.error);\n return false;\n }\n\n return false;\n },\n\n async getNextPageOfMessages({state, commit}) {\n\n if(state.episodeId === null) {\n\n return\n }\n\n if(state.page === state.last_page) {\n\n return\n }\n\n const page = state.page + 1\n\n const messages = await axios.get(`episodes/${state.episodeId}/messages/paginated?page=${page}`)\n\n if(!messages.status || messages.status !== 200) {\n return\n }\n\n commit(\"ADD_MESSAGES_TO_MESSAGES\", messages.data.data)\n commit(\"SET_CURRENT_PAGE\", messages.data.meta.current_page)\n commit(\"SET_LAST_PAGE\", messages.data.meta.last_page)\n },\n\n async loadMessages({ state, commit }) {\n commit(\"setLoadingState\", true);\n\n if (state.episodeId === null) {\n commit(\"setLoadingState\", false);\n return;\n }\n\n const messages = await axios.get(`episodes/${state.episodeId}/messages/paginated`);\n\n if (messages.status) {\n if (messages.status === 200) {\n commit(\"setMessages\", messages.data.data);\n commit(\"setLoadingState\", false);\n commit(\"SET_CURRENT_PAGE\", messages.data.meta.current_page);\n commit(\"SET_LAST_PAGE\", messages.data.meta.last_page)\n return;\n }\n\n commit(\"setLoadingState\", false);\n return;\n }\n\n if (messages.error) {\n console.error(\n `An error occured while fetching the messages: ${messages.error.status} - ${messages.error.response.data}`\n );\n commit(\"setLoadingState\", false);\n }\n },\n subscribeToMessages() {},\n formatMessage() {},\n closeMessages({ commit }) {\n commit(\"closeMessagePanel\");\n },\n openMessages({ commit }) {\n commit(\"openMessagePanel\");\n },\n setMessageEpisodeId({ commit, dispatch }, episodeId) {\n commit(\"unloadMessages\");\n commit(\"setMessageEpidoseId\", episodeId);\n dispatch(\"loadMessages\");\n },\n};\n","export default {\n messages(state) {\n // return state.messages\n\n const messageList = [...state.messages]\n\n return messageList.sort((a, b) => {\n\n if(a.created_at < b.created_at) {\n\n return -1\n }\n\n if(a.created_at > b.created_at) {\n\n return 1\n }\n\n return 0\n })\n },\n\n isOpen(state) {\n return state.isOpen;\n },\n\n getEpisodeId(state) {\n return state.episodeId;\n },\n panelState(state) {\n return state.panelState;\n },\n\n isLoading(state) {\n\n return state.messagesLoading\n },\n\n getSendAssessments(state) {\n\n return state.sendAssessments\n },\n\n getSendObservations(state) {\n\n return state.sendObservations\n },\n\n getSendInterventions(state) {\n\n return state.sendInterventions\n },\n};\n","export default {\n setMessages(state, messages) {\n\n state.messages = messages\n },\n setEpisodeId() {\n },\n closeMessagePanel(state) {\n state.panelState = false;\n },\n openMessagePanel(state) {\n state.panelState = true;\n },\n\n setMessageEpisodeId(state, episodeId) {\n state.episodeId = episodeId;\n },\n\n unloadMessages(state) {\n state.sendAssessments = false;\n state.sendObservations = false;\n state.sendInterventions = false;\n state.messages = [];\n },\n\n pushMessage(state, message) {\n state.messages.push(message);\n },\n setLoadingState(state, status) {\n\n state.messagesLoading = status\n },\n\n setSendAssessments(state, status) {\n\n state.sendAssessments = status\n },\n setSendObservations(state, status) {\n\n state.sendObservations = status\n },\n setSendInterventions(state, status) {\n\n state.sendInterventions = status\n },\n\n ADD_MESSAGES(state, messages) {\n\n state.messages.push(messages)\n },\n\n ADD_MESSAGES_TO_MESSAGES(state, messages) {\n\n state.messages.push(...messages)\n },\n\n SET_CURRENT_PAGE(state, page) {\n\n state.page = page\n },\n\n SET_LAST_PAGE(state, page) {\n\n state.last_page = page\n }\n};\n","import actions from '@/store/modules/messages/actions.js'\nimport getters from '@/store/modules/messages/getters.js'\nimport mutations from '@/store/modules/messages/mutations.js'\n\nconst state = () => ({\n messages: [],\n isOpen: false, // todo: there's no mutation for this value, is it ever actually used?\n episodeId: null,\n panelState: false,\n sendAssessments: false,\n sendObservations: false,\n sendInterventions: false,\n page: 1,\n last_page: 1,\n});\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions,\n};\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport { createLogger } from 'vuex'\nimport createPersistedState from 'vuex-persistedstate'\nimport authentication from './authentication'\nimport configuration from './application/configuration'\nimport immunization from './immunizations'\nimport episodes from './modules/episodes'\nimport episode from './modules/episode/episode'\nimport user from './modules/user'\nimport messages from './modules/messages'\n\nVue.use(Vuex)\n\nconst debug = process.env.NODE_ENV !== 'production'\nconst dataState = createPersistedState({\n key: 'aptus',\n storage: {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n removeItem: (key) => localStorage.removeItem(key),\n }\n});\n\nexport default new Vuex.Store({\n strict: debug,\n plugins: debug ? [createLogger(), dataState] : [dataState],\n state: {\n isChatWindowOpen: false,\n interventionId: 0,\n },\n getters: {\n isChatWindowOpen: state => state.isChatWindowOpen,\n getInterventionId: state => state.interventionId,\n },\n mutations: {\n setIsChatWindowOpen(state, openValue){\n state.isChatWindowOpen = openValue;\n },\n setSymptomForMessage(state, symptom){\n state.symptomForMessage = symptom;\n },\n setDoSignsAndSymptomsSave(state, doValue) {\n state.doSignsAndSymptomsSave = doValue;\n },\n setSignSymptomStep(state, step) {\n state.signSymptomStep = step;\n },\n setSymptomHasSymptom(state, hasSymptom) { \n state.symptomHasSymptom = hasSymptom;\n },\n setSignAndSymptomsRequiresAlert(state, mustAlert) {\n\n state.signAndSymptomsRequiresAlert = mustAlert;\n },\n setInterventionId(state, interventionId) {\n\n state.interventionId = interventionId;\n }\n },\n actions: {},\n modules: {\n authentication,\n user,\n configuration,\n immunization,\n episode,\n episodes,\n messages,\n }\n})","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf755\",\n\t\"./tlh.js\": \"cf755\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('router-view',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar Component = ref.Component;\nreturn [_c(Component,{tag:\"component\"})]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4fdf450f&\"\nvar script = {}\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 moment from \"moment\"\n\nVue.filter('formatTimeStamp', function (value) {\n try {\n\n return moment(value).format(\"YYYY-MM-DD HH:mm A\")\n } catch (exception) {\n\n return value\n }\n})","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport store from \"./store\"\nimport router from \"./router\";\nimport axios from \"axios\";\nimport popover from \"vue-js-popover\";\nimport \"bootstrap\";\nimport \"bootstrap/dist/css/bootstrap.min.css\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport { faUserSecret, faTimes, faPlus, faSearch, faChevronDown, faAddressCard, faCheck } from \"@fortawesome/free-solid-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\nimport \"@/assets/styles.css\";\nimport \"bootstrap-vue/dist/bootstrap-vue.css\";\nimport { BootstrapVue, IconsPlugin, BootstrapVueIcons } from \"bootstrap-vue\";\nimport './filters/formatTimeStamp'\nrequire('@/store/subscriber')\n\nlibrary.add(faUserSecret, faTimes, faSearch, faChevronDown, faPlus, faAddressCard, faCheck);\nVue.component(\"font-awesome-icon\", FontAwesomeIcon);\nVue.config.productionTip = false;\nVue.use(BootstrapVue);\nVue.use(IconsPlugin);\nVue.use(BootstrapVueIcons);\nVue.use(popover);\n\naxios.defaults.baseURL = process.env.VUE_APP_API_URL;\n\naxios.interceptors.request.use(function (config) {\n config.headers.common['Authorization'] = `Bearer ${localStorage.getItem('token')}`;\n config.headers.Authorization = `Bearer ${localStorage.getItem('token')}`;\n axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');\n console.warn(`${config.method.toUpperCase()} sent to ${axios.defaults.baseURL}${config.url}`)\n return config\n}, function (error) {\n console.error(\"An error occurred in AXIOS request\")\n return Promise.reject(error)\n});\n\nVue.prototype.$defaultTimeOut = process.env.VUE_APP_TIMEOUT ?? 10 * 60 * 1000 // 10 minutes.\nVue.prototype.$defaultTWarningTimeOut = process.env.VUE_APP_WARNING ?? 8 * 60 * 1000 // 8 minutes.\n\nnew Vue({\n store,\n router,\n render: (h) => h(App),\n data: function () {\n return {\n logged_user: {\n auth_to_add: true,\n },\n };\n },\n}).$mount(\"#app\");\n","import store from '@/store'\nimport axios from 'axios'\nstore.subscribe((mutation) => {\n\n switch (mutation.type) {\n case \"authentication/SET_TOKEN\":\n\n if (mutation.payload) {\n axios.defaults.headers.common['Authorization'] = `Bearer ${mutation.payload}`\n localStorage.setItem('token', mutation.payload)\n } else {\n axios.defaults.headers.common['Authorization'] = null\n localStorage.removeItem('token')\n }\n break;\n case \"authentication/SET_USER\":\n localStorage.setItem('user', JSON.stringify(mutation.payload));\n break;\n case 'episodes/setEpisodes':\n localStorage.setItem('episodes', JSON.stringify(mutation.payload));\n break;\n default:\n // console.log(`Unexpected Subscriber Mutation: ${mutation.type}`);\n }\n})","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport store from '@/store'\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n mode: 'history',\n base: __dirname,\n routes: [\n {\n path: '/',\n name: 'dashboard',\n meta: { transition: 'slide-right' },\n component: () => import( /* webpackChunkName: \"about\" */ '../views/DashboardView.vue'),\n },\n {\n path: '/login',\n name: 'Login',\n meta: { transition: 'slide-left' },\n component: () => import( /* webpackChunkName: \"login-panel\" */ '../views/LoginPageView.vue')\n },\n {\n path: '/resetpassword/:token',\n name: 'resetpassword',\n meta: { transition: 'slide-right' },\n component: () => import( /* webpackChunkName: \"reset-password-panel\" */ '../views/ResetPasswordPageView.vue')\n },\n \n {\n path: '/test',\n name: 'test',\n meta: { transition: 'slide-right' },\n component: () => import(/* webpackChunkName: \"test\" */ '../components/PointClickCareIntegrationTest.vue')\n }\n ]\n})\n\nrouter.beforeEach(async (to, from, next) => {\n if (to.name === 'resetpassword') {\n next();\n return;\n }\n\n const isAuthenticated = await store.getters['authentication/authenticated']\n\n if (to.name !== 'Login' && !isAuthenticated) {\n next({ name: 'Login' });\n } else {\n next();\n }\n});\n\nexport default router;"],"sourceRoot":""}