1"use strict";(self["webpackChunksympifyfuture"]=self["webpackChunksympifyfuture"]||[]).push([[799],{9625:function(e,t,a){a.r(t),a.d(t,{default:function(){return k}});var i=function(){var e=this,t=e._self._c;return t("div",{staticClass:"imaging_page"},[t("header",{staticClass:"imaging_header"},[t("div",{staticClass:"imaging_header_inner"},[t("div",[t("div",{staticClass:"brand"},[e._v("Sympify.ai")]),t("h1",[e._v(e._s(e.$t("imaging.title")))])]),t("button",{staticClass:"back_button",attrs:{type:"button"},on:{click:e.goHome}},[e._v(e._s(e.$t("imaging.back")))])])]),t("main",{staticClass:"imaging_shell",class:{has_analysis:e.analysisRecord}},[t("section",{staticClass:"safety_panel"},[t("p",{staticClass:"safety_lead"},[e._v(e._s(e.$t("imaging.safetyLead")))]),t("p",[e._v(e._s(e.$t("imaging.safetyBody")))]),t("p",[e._v(e._s(e.$t("imaging.emergency")))])]),t("section",{staticClass:"upload_panel"},[e.requestError?t("RequestErrorCard",{attrs:{error:e.requestError},on:{retry:e.retryLastRequest}}):e._e(),t("div",{staticClass:"mode_toggle",attrs:{role:"tablist","aria-label":e.$t("imaging.uploadType")}},[t("button",{class:{active:"symptom_photo"===e.uploadType},attrs:{type:"button",role:"tab","aria-selected":"symptom_photo"===e.uploadType},on:{click:function(t){return e.setUploadType("symptom_photo")}}},[e._v(" "+e._s(e.$t("imaging.photo"))+" ")]),t("button",{class:{active:"lab_result"===e.uploadType},attrs:{type:"button",role:"tab","aria-selected":"lab_result"===e.uploadType},on:{click:function(t){return e.setUploadType("lab_result")}}},[e._v(" "+e._s(e.$t("imaging.lab"))+" ")])]),t("form",{staticClass:"imaging_form",on:{submit:function(t){return t.preventDefault(),e.saveUpload.apply(null,arguments)}}},[t("label",{staticClass:"file_drop",class:{has_file:e.file}},[t("input",{ref:"fileInput",attrs:{type:"file",accept:".jpg,.jpeg,.png,.webp,.pdf,image/jpeg,image/png,image/webp,application/pdf"},on:{change:e.handleFileChange}}),e.previewUrl?t("img",{staticClass:"drop_preview",attrs:{src:e.previewUrl,alt:"Selected upload preview"}}):e.isPdf?t("div",{staticClass:"pdf_preview"},[t("div",{staticClass:"pdf_icon"},[e._v("PDF")]),t("div",[e._v(e._s(e.file.name))])]):[t("span",[e._v(e._s(e.$t("imaging.chooseFile")))]),t("small",[e._v(e._s(e.$t("imaging.maxSize")))])],e.file?t("span",{staticClass:"replace_hint"},[e._v(e._s(e.$t("ui.imaging.replaceFile")))]):e._e()],2),e.fileError?t("RequestErrorCard",{attrs:{error:{title:e.$t("ui.imaging.checkFile"),message:e.fileError,note:e.$t("ui.imaging.chooseAnother")},retryable:!1}}):e._e(),e.file?t("button",{staticClass:"secondary_button",attrs:{type:"button"},on:{click:e.clearSelectedFile}},[e._v(e._s(e.$t("imaging.clearFile")))]):e._e(),"symptom_photo"===e.uploadType?t("div",{staticClass:"field_grid"},[t("label",[e._v(" "+e._s(e.$t("imaging.bodyRegion"))+" "),t("select",{directives:[{name:"model",rawName:"v-model",value:e.form.bodyRegion,expression:"form.bodyRegion"}],attrs:{required:""},on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.$set(e.form,"bodyRegion",t.target.multiple?a:a[0])}}},[t("option",{attrs:{value:"",disabled:""}},[e._v(e._s(e.$t("imaging.selectBodyRegion")))]),e._l(e.bodyRegions,(function(a){return t("option",{key:a.value,domProps:{value:a.value}},[e._v(" "+e._s(e.$t(a.label))+" ")])}))],2)]),t("fieldset",{staticClass:"duration_field"},[t("legend",[e._v(e._s(e.$t("imaging.duration")))]),t("div",{staticClass:"duration_inputs"},[t("label",[t("span",{staticClass:"sr_only"},[e._v(e._s(e.$t("imaging.durationAmount")))]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.form.durationValue,expression:"form.durationValue"}],attrs:{required:"","aria-label":e.$t("imaging.durationAmount")},on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.$set(e.form,"durationValue",t.target.multiple?a:a[0])}}},[t("option",{attrs:{value:"",disabled:""}},[e._v(e._s(e.$t("imaging.selectDuration")))]),e._l(e.durationValues,(function(a){return t("option",{key:a,domProps:{value:a}},[e._v(e._s(a))])}))],2)]),t("label",[t("span",{staticClass:"sr_only"},[e._v(e._s(e.$t("imaging.durationUnit")))]),t("select",{directives:[{name:"model",rawName:"v-model",value:e.form.durationUnit,expression:"form.durationUnit"}],attrs:{required:"","aria-label":e.$t("imaging.durationUnit")},on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,
1(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.$set(e.form,"durationUnit",t.target.multiple?a:a[0])}}},e._l(e.durationUnits,(function(a){return t("option",{key:a.value,domProps:{value:a.value}},[e._v(e._s(e.$t(a.label)))])})),0)])])]),t("label",{staticClass:"severity_field"},[e._v(" "+e._s(e.$t("imaging.severity"))+": "+e._s(e.form.severity)+" "),t("input",{directives:[{name:"model",rawName:"v-model.number",value:e.form.severity,expression:"form.severity",modifiers:{number:!0}}],attrs:{type:"range",min:"1",max:"5"},domProps:{value:e.form.severity},on:{__r:function(t){e.$set(e.form,"severity",e._n(t.target.value))},blur:function(t){return e.$forceUpdate()}}})])]):e._e(),"symptom_photo"===e.uploadType?t("div",{staticClass:"tag_group"},e._l(e.visibleSymptomTags,(function(a){return t("label",{key:a},[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.visibleTags,expression:"form.visibleTags"}],attrs:{type:"checkbox"},domProps:{value:a,checked:Array.isArray(e.form.visibleTags)?e._i(e.form.visibleTags,a)>-1:e.form.visibleTags},on:{change:function(t){var i=e.form.visibleTags,s=t.target,r=!!s.checked;if(Array.isArray(i)){var o=a,n=e._i(i,o);s.checked?n<0&&e.$set(e.form,"visibleTags",i.concat([o])):n>-1&&e.$set(e.form,"visibleTags",i.slice(0,n).concat(i.slice(n+1)))}else e.$set(e.form,"visibleTags",r)}}}),t("span",[e._v(e._s(a))])])})),0):e._e(),"lab_result"===e.uploadType?t("div",{staticClass:"field_grid"},[t("label",[e._v(" "+e._s(e.$t("imaging.testCategory"))+" "),t("select",{directives:[{name:"model",rawName:"v-model",value:e.form.testCategory,expression:"form.testCategory"}],on:{change:function(t){var a=Array.prototype.filter.call(t.target.options,(function(e){return e.selected})).map((function(e){var t="_value"in e?e._value:e.value;return t}));e.$set(e.form,"testCategory",t.target.multiple?a:a[0])}}},e._l(e.testCategories,(function(a){return t("option",{key:a,domProps:{value:a}},[e._v(" "+e._s(a)+" ")])})),0)])]):e._e(),"lab_result"===e.uploadType?t("p",[e._v(e._s(e.$t("imaging.labNotice")))]):e._e(),t("label",{staticClass:"notes_field"},[e._v(" "+e._s(e.$t("imaging.notes"))+" "),t("textarea",{directives:[{name:"model",rawName:"v-model.trim",value:e.form.patientNotes,expression:"form.patientNotes",modifiers:{trim:!0}}],attrs:{rows:"4",placeholder:e.$t("ui.imaging.notesPlaceholder")},domProps:{value:e.form.patientNotes},on:{input:function(t){t.target.composing||e.$set(e.form,"patientNotes",t.target.value.trim())},blur:function(t){return e.$forceUpdate()}}})]),t("div",{staticClass:"consent_group"},[t("label",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.consentToStoreForCare,expression:"form.consentToStoreForCare"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.form.consentToStoreForCare)?e._i(e.form.consentToStoreForCare,null)>-1:e.form.consentToStoreForCare},on:{change:function(t){var a=e.form.consentToStoreForCare,i=t.target,s=!!i.checked;if(Array.isArray(a)){var r=null,o=e._i(a,r);i.checked?o<0&&e.$set(e.form,"consentToStoreForCare",a.concat([r])):o>-1&&e.$set(e.form,"consentToStoreForCare",a.slice(0,o).concat(a.slice(o+1)))}else e.$set(e.form,"consentToStoreForCare",s)}}}),t("span",[e._v(e._s(e.$t("imaging.storeConsent")))])]),t("label",[t("input",{directives:[{name:"model",rawName:"v-model",value:e.form.consentToUseForImprovement,expression:"form.consentToUseForImprovement"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.form.consentToUseForImprovement)?e._i(e.form.consentToUseForImprovement,null)>-1:e.form.consentToUseForImprovement},on:{change:function(t){var a=e.form.consentToUseForImprovement,i=t.target,s=!!i.checked;if(Array.isArray(a)){var r=null,o=e._i(a,r);i.checked?o<0&&e.$set(e.form,"consentToUseForImprovement",a.concat([r])):o>-1&&e.$set(e.form,"consentToUseForImprovement",a.slice(0,o).concat(a.slice(o+1)))}else e.$set(e.form,"consentToUseForImprovement",s)}}}),t("span",[e._v(e._s(e.$t("imaging.improvementConsent")))])])]),t("button",{staticClass:"primary_button",attrs:{type:"submit",disabled:e.isSaving}},[e._v(" "+e._s(e.isSaving?e.$t("imaging.saving"):e.$t("imaging.save"))+" ")])],1)],1),e.analysisRecord?t("section",{staticClass:"analysis_panel"},[t("div",{staticClass:"panel_header"},[t("h2",[e._v(e._s(e.$t("imaging.analysis")))]),t("span",[e._v(e._s(e.analysisStatusLabel(e.analysisRecord)))])]),t("dl",[t("div",[t("dt",[e._v(e._s(e.$t("imaging.uploadTypeLabel")))]),t("dd",[e._v(e._s(e.uploadTypeLabel(e.analysisRecord.uploadType)))])]),t("div",[t("dt",[e._v(e._s(e.$t("imaging.file")))]),t("dd",[e._v(e._s(e.analysisRecord.fileMetadata.originalName))])]),t("div",[t("dt",[e._v(e._s(e.$t("imaging.evidence")))]),t("dd",[e._v(e._s(e.evidenceSummary(e.analysisRecord)))])]),t("div",[t("dt",[e._v(e._s(e.$t("imaging.analysisResult")))]),t("dd",[t("p",[e._v(e._s(e.analysisSummary(e.analysisRecord)))]),e.analysisWarnings(e.analysisRecord).length?t("ul",{staticClass:"warning_list"},e._l(e.analysisWarnings(e.analysisRecord),(function(a){return t("li",{key:a},[e._v(e._s(a))])}
1)),0):e._e()])])]),e.saveMessage?t("p",{staticClass:"save_message",attrs:{"aria-live":"polite"}},[e._v(e._s(e.saveMessage))]):e._e()]):e._e(),e.savedRecords.length?t("section",{staticClass:"history_panel"},[t("div",{staticClass:"panel_header"},[t("h2",[e._v(e._s(e.$t("imaging.history")))]),t("button",{staticClass:"secondary_button",attrs:{type:"button"},on:{click:e.clearHistory}},[e._v(e._s(e.$t("imaging.clearHistory")))])]),t("div",{staticClass:"history_list"},e._l(e.savedRecords,(function(a){return t("article",{key:a.id},[t("div",[t("strong",[e._v(e._s(a.fileMetadata.originalName))]),t("span",[e._v(e._s(e.uploadTypeLabel(a.uploadType))+" - "+e._s(e.formatFileSize(a.fileMetadata.sizeBytes)))])]),t("small",[e._v(e._s(a.createdAt))])])})),0)]):t("section",{staticClass:"history_panel"},[t("h2",[e._v(e._s(e.$t("imaging.history")))]),t("p",[e._v(e._s(e.$t("imaging.emptyHistory")))])])])])},s=[],r=(a(4114),JSON.parse('{"swelling":{"candidateConceptIds":["SYM_GEN_SWELLING_001"],"source":"patient_selected_visible_tag"},"rash":{"candidateConceptIds":["SYM_DERM_RASH_001"],"source":"patient_selected_visible_tag"},"bruise":{"candidateConceptIds":["SYM_HEME_BRUISING_001"],"source":"patient_selected_visible_tag"},"bleeding":{"candidateConceptIds":["SYM_HEME_BLEEDING_001"],"source":"patient_selected_visible_tag"},"bump":{"candidateConceptIds":["SYM_DERM_RAISED_BUMP_001"],"source":"patient_selected_visible_tag"}}'));const o={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",webp:"image/webp",pdf:"application/pdf"},n=10485760;Object.freeze({status:"not_implemented",requiredChecks:["authenticated_case_access","content_signature","mime_allowlist","size_limit","malware_scan","private_storage"]});function l(e=""){const t=String(e).toLowerCase().match(/\.([a-z0-9]+)$/);return t?t[1]:""}function c(e="upload"){const t=String(e).normalize("NFKC").replace(/[^a-zA-Z0-9._-]/g,"_").replace(/_+/g,"_");return t.slice(0,120)||"upload"}function d(e,t){return{valid:!1,code:e,error:t}}function u(e){if(!e)return d("FILE_REQUIRED","Please choose an image or PDF before continuing.");if(0===e.size)return d("FILE_EMPTY","The selected file is empty.");if(e.size>n)return d("FILE_TOO_LARGE","Uploads must be 10 MB or smaller.");const t=l(e.name),a=o[t];return a?e.type&&e.type!==a?d("FILE_TYPE_MISMATCH","The file extension does not match its reported type."):e.type||"pdf"===t?{valid:!0,code:"OK",error:"",extension:t,mimeType:e.type||a,sanitizedName:c(e.name)}:d("FILE_MIME_MISSING","The browser could not verify this image type."):d("FILE_TYPE_UNSUPPORTED","Allowed upload types are JPG, JPEG, PNG, WEBP, and PDF.")}function m(e){return e&&"application/pdf"!==e.type&&"pdf"!==l(e.name)?new Promise((t=>{const a=new Image,i=URL.createObjectURL(e),s=e=>{URL.revokeObjectURL(i),t(e)};a.onload=()=>s(a.naturalWidth&&a.naturalHeight?{valid:!0,code:"OK",error:"",width:a.naturalWidth,height:a.naturalHeight}:d("IMAGE_DIMENSIONS_INVALID","The image has invalid dimensions.")),a.onerror=()=>s(d("IMAGE_DECODE_FAILED","The image appears corrupted or cannot be decoded.")),a.src=i})):Promise.resolve({valid:!0,code:"OK",error:""})}function g(e){const t=e.file,a=u(t),i=(new Date).toISOString(),s="symptom_photo"===e.uploadType;return{schemaVersion:1,id:e.id||`imaging_${Date.now()}_${Math.random().toString(36).slice(2,10)}`,caseId:e.caseId||null,uploadType:e.uploadType,fileMetadata:{originalName:t?.name||"",sanitizedName:a.sanitizedName||c(t?.name),mimeType:a.mimeType||t?.type||"",extension:a.extension||l(t?.name),sizeBytes:t?.size||0},symptomPhotoMetadata:s?{bodyRegion:e.bodyRegion||"",duration:e.symptomDuration||"",patientVisibleTags:e.visibleTags||[],patientSeverity:Number(e.severity||0)}:null,labMetadata:s?null:{testCategory:e.testCategory||"other"},patientNotes:e.patientNotes||"",consents:{storeForCare:Boolean(e.consentToStoreForCare),futureImprovement:Boolean(e.consentToUseForImprovement),capturedAt:i},analysis:{status:"placeholder_complete",provider:"sympify_placeholder",modelVersion:null,result:null,confidence:0},evidenceMapping:null,persistence:{status:"in_memory_only",storagePath:null,firestoreId:null},createdAt:i,updatedAt:i}}function p(e){const t=e.symptomPhotoMetadata||{};return{type:"symptom_photo",processingMode:"placeholder",patientSelectedVisibleTags:t.patientVisibleTags||[],bodyRegion:t.bodyRegion||"",warnings:["NO_VISUAL_INTERPRETATION","PATIENT_TAGS_ONLY"]}}function _(){return{type:"lab_result",processingMode:"placeholder",ocrEnabled:!1,extractedText:"",detectedLabs:[],abnormalFlags:[],documentQuality:{assessed:!1,issues:[]},warnings:["NO_OCR_INTERPRETATION","CONFIRM_ORIGINAL_REPORT"]}}function v(e){const t=e.symptomPhotoMetadata?.patientVisibleTags||[],a=t.flatMap((e=>(r[e]?.candidateConceptIds||[]).map((t=>({conceptId:t,sourceTag:e,evidenceSource:"patient_selected",confidence:0})))));return{candidateSymptomConcepts:a,rankingEnabled:!1,imageEvidenceScore:0,labEvidenceScore:0,validationStatus:"not_clinically_validated"}}a(7642),a(8004),a(3853),a(5876),a(2475),a(5024),a(1698);
1var y=a(139),f=a(6941),h=a(7412),b=a(1173);const T="sympifyImagingUploads";function C(e={}){return 1===e.schemaVersion?e:{schemaVersion:1,id:e.id||`legacy_${Date.now()}`,caseId:e.caseId||null,uploadType:e.uploadType||"symptom_photo",fileMetadata:{originalName:e.fileName||"",sanitizedName:c(e.fileName||"upload"),mimeType:e.fileType||"",extension:"",sizeBytes:Number(e.fileSize||0)},symptomPhotoMetadata:"lab_result"===e.uploadType?null:{bodyRegion:e.bodyRegion||"",duration:e.symptomDuration||"",patientVisibleTags:e.visibleTags||[],patientSeverity:Number(e.severity||0)},labMetadata:"lab_result"===e.uploadType?{testCategory:e.testCategory||"other"}:null,patientNotes:e.patientNotes||"",consents:{storeForCare:!0,futureImprovement:!1,capturedAt:e.createdAt||null},analysis:{status:e.analysisStatus||"legacy_record",provider:"sympify_placeholder",modelVersion:null,result:e.analysisResult||null,confidence:0},evidenceMapping:e.evidenceForFutureScoring||null,persistence:{status:e.storageStatus||"local_metadata_only",storagePath:e.storagePath||null,firestoreId:e.firestoreId||null},createdAt:e.createdAt||(new Date).toISOString(),updatedAt:e.updatedAt||e.createdAt||(new Date).toISOString()}}function $(e){const t=C(e),a=new Set(["previewUrl","file","rawData","imageBytes","bytes","blob","dataUrl","extractedText"]);return JSON.parse(JSON.stringify({...t,fileMetadata:{...t.fileMetadata},patientNotes:t.consents?.storeForCare?t.patientNotes:""},((e,t)=>a.has(e)?void 0:t)))}function I(){try{return(JSON.parse(localStorage.getItem(T))||[]).map(C)}catch(e){return[]}}function S(e){const t=[$(e),...I().filter((t=>t.id!==e.id))].slice(0,10);return localStorage.setItem(T,JSON.stringify(t)),t}function R(){localStorage.removeItem(T)}function N(){return h.lM?h.j2?.currentUser?{available:!0,status:"available",userId:h.j2.currentUser.uid}:{available:!1,status:"authentication_required"}:{available:!1,status:"cloud_disabled"}}async function w(e,t){const a=N();if(!a.available)return{...e,persistence:{...e.persistence,status:a.status}};const i=`imagingUploads/${a.userId}/${Date.now()}_${c(t.name)}`;await(0,b.Pt)((()=>(0,f.D)((0,f.KR)(h.IG,i),t,{contentType:t.type})),{message:"The image upload took too long to complete."});const s={...$(e),userId:a.userId,persistence:{status:"saved_to_firebase",storagePath:i,firestoreId:null},serverCreatedAt:(0,y.O5)()},r=await(0,b.Pt)((()=>(0,y.gS)((0,y.rJ)(h.db,"imagingUploads"),s)),{message:"Saving the upload details took too long to complete."});return{...e,persistence:{status:"saved_to_firebase",storagePath:i,firestoreId:r.id}}}var E=a(5710);function A(){return{bodyRegion:"",durationValue:"",durationUnit:"days",patientNotes:"",visibleTags:[],severity:3,testCategory:"CBC",consentToStoreForCare:!1,consentToUseForImprovement:!1}}var U={name:"Imaging",components:{RequestErrorCard:E.A},data(){return{uploadType:"symptom_photo",file:null,previewUrl:"",fileError:"",isSaving:!1,saveMessage:"",analysisRecord:null,savedRecords:[],requestError:null,retryAction:null,visibleSymptomTags:["redness","swelling","rash","bruise","cut","bleeding","discoloration","bump","dryness","discharge"],bodyRegions:[{value:"head_or_face",label:"imaging.regions.headOrFace"},{value:"neck",label:"imaging.regions.neck"},{value:"chest",label:"imaging.regions.chest"},{value:"abdomen",label:"imaging.regions.abdomen"},{value:"back",label:"imaging.regions.back"},{value:"pelvis_or_groin",label:"imaging.regions.pelvisOrGroin"},{value:"arm_or_hand",label:"imaging.regions.armOrHand"},{value:"leg_or_foot",label:"imaging.regions.legOrFoot"},{value:"whole_body",label:"imaging.regions.wholeBody"}],durationValues:Array.from({length:30},((e,t)=>t+1)),durationUnits:[{value:"hours",label:"imaging.units.hours"},{value:"days",label:"imaging.units.days"},{value:"weeks",label:"imaging.units.weeks"},{value:"months",label:"imaging.units.months"},{value:"years",label:"imaging.units.years"}],testCategories:["CBC","metabolic panel","urinalysis","imaging report","other"],form:A()}},computed:{isPdf(){return"application/pdf"===this.file?.type||this.file?.name?.toLowerCase().endsWith(".pdf")}},created(){this.savedRecords=I()},beforeDestroy(){this.revokePreview()},methods:{retryLastRequest(){const e=this.retryAction;this.requestError=null,this.retryAction=null,e&&e()},showRequestError(e,t,a){console.error(`[Sympify] Failed to complete ${t}:`,e),this.requestError=(0,b.hh)(e,t),this.retryAction=a||null},setUploadType(e){this.uploadType=e,this.analysisRecord=null,this.saveMessage=""},clearSelectedFile(){this.revokePreview(),this.file=null,this.fileError="",this.requestError=null,this.$refs.fileInput&&(this.$refs.fileInput.value="")},clearHistory(){window.confirm(this.$t("ui.imaging.clearHistoryConfirm"))&&(R(),this.savedRecords=[])},goHome(){const e=this.$route.params.lang||this.$i18n.locale||"en",t=this.$route.path.startsWith("/mobile")?"mobile":"pc";this.$router.push(`/${t}/${e}`).catch((()=>{}))},revokePreview(){this.previewUrl&&URL.revokeObjectURL(this.previewUrl),this.previewUrl=""},handleFileChange(e){const t=e.target.files?.[0]||null;this.revokePreview(),this.file=t,this.analysisRecord=null,this.saveMessage="";const a=u(t);this.fileError=a.valid?"":this.$t(`imaging.errors.${a.code}`),a.valid&&t.type.startsWith("image/")&&(this.previewUrl=URL.createObjectURL(t))},async saveUpload(){this.requestError=null;const e=u(this.file);if(this.fileError=e.valid?"":this.$t(`imaging.errors.${e.code}`),e.valid){this.isSaving=!0,this.saveMessage="";try{const e=await(0,b.Pt)((()=>m(this.file)),{message:"Checking the selected image took too long."});if(!e.valid)return void(this.fileError=this.$t(`imaging.errors.${e.code}`));let a=g({file:this.file,uploadType:this.uploadType,caseId:this.$store.state.caseSession.caseId,...this.form,symptomDuration:this.form.durationValue?`${this.form.durationValue} ${this.form.durationUnit}`:""});if(a.analysis.result="symptom_photo"===this.uploadType?p(a):_(a),a.evidenceMapping=v(a),this.form.consentToStoreForCare){a.persistence.status="local_metadata_only";try{const e=N();a=await w(a,this.file),this.saveMessage=e.available?this.$t("ui.imaging.localAndCloudSaved"):"authentication_required"===e.status?this.$t("ui.imaging.localAuthRequired"):this.$t("ui.imaging.localCloudDisabled")}catch(t){console.error("Cloud imaging save failed:",t),a.persistence.status="cloud_save_failed",this.saveMessage=this.$t("ui.imaging.localCloudFailed"),this.showRequestError(t,this.$t("ui.imaging.savingCloud"),(()=>this.saveUpload()))}this.savedRecords=S(a)}else a.persistence.status="not_saved_no_consent",this.saveMessage=this.$t("ui.imaging.sessionOnly");this.analysisRecord=a,this.$store.commit("addCaseImagingRecord",$(a))}catch(t){this.saveMessage=this.$t("ui.imaging.saveFailed"),this.showRequestError(t,this.$t("ui.imaging.savingUpload"),(()=>this.saveUpload()))}finally{this.isSaving=!1}}},evidenceSummary(e){const t=e?.evidenceMapping?.candidateSymptomConcepts?.length||0;return t?this.$t(1===t?"ui.imaging.tagsOrganized":"ui.imaging.tagsOrganizedPlural",{c
1ount:t}):this.$t("ui.imaging.noLinks")},uploadTypeLabel(e){return this.$t("lab_result"===e?"ui.imaging.labType":"ui.imaging.photoType")},analysisStatusLabel(){return this.$t("ui.imaging.organized")},analysisSummary(e){return"lab_result"===e?.uploadType?this.$t("ui.imaging.labSummary"):this.$t("ui.imaging.photoSummary")},analysisWarnings(e){const t=e?.analysis?.result?.warnings,a={NO_VISUAL_INTERPRETATION:"ui.imaging.warningNoVisual",PATIENT_TAGS_ONLY:"ui.imaging.warningTagsOnly",NO_OCR_INTERPRETATION:"ui.imaging.warningNoOcr",CONFIRM_ORIGINAL_REPORT:"ui.imaging.warningOriginalReport"};return Array.isArray(t)?t.map((e=>a[e]?this.$t(a[e]):e)):[]},formatFileSize(e){return e?`${(e/1024).toFixed(1)} KB`:"0 KB"}}},F=U,M=a(1656),P=(0,M.A)(F,i,s,!1,null,"b4628436",null),k=P.exports}}]); 2//# sourceMappingURL=imaging.3cacdb0b.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.