@sasindi/addresults 1.0.17 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/277.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_sasindi_addresults=globalThis.webpackChunk_sasindi_addresults||[]).push([["277"],{300(e,t,r){r.r(t),r.d(t,{default:()=>y});var n=r(9551),a=r.n(n),o=r(7817),l=r(4878);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function s(e,t,r,n,a,o,l){try{var c=e[o](l),s=c.value}catch(e){r(e);return}c.done?t(s):Promise.resolve(s).then(n,a)}function i(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){s(o,n,a,l,c,"next",e)}function c(e){s(o,n,a,l,c,"throw",e)}l(void 0)})}}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,c=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(c)throw n}}return o}}(e,t)||d(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return c(e,t)}}function p(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(l,"next",{value:s(0)}),c(l,"throw",{value:s(1)}),c(l,"return",{value:s(2)}),"function"==typeof Symbol&&c(l,Symbol.iterator,{value:function(){return this}}),l;function s(c){return function(s){var i=[c,s];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&i[0]?n.return:i[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,i[1])).done)return a;switch(n=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,n=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(6===i[0]&&o.label<a[1]){o.label=a[1],a=i;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(i);break}a[2]&&o.ops.pop(),o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e],n=0}finally{r=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var f=function(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))},h=function(e){return Array.isArray(e)?e:e&&Array.isArray(e.data)?e.data:e&&Array.isArray(e.results)?e.results:[]};let y=function(){(0,o.useTranslation)().t;var e=localStorage.getItem("phnNo")||"",t=localStorage.getItem("section")||"",r=localStorage.getItem("barcode")||"",s=localStorage.getItem("id")||"",y=m((0,n.useState)(""),2),v=y[0],g=y[1],b=m((0,n.useState)(""),2),E=b[0],w=b[1],A=m((0,n.useState)(""),2),S=A[0],N=A[1],C=m((0,n.useState)(""),2),O=C[0],x=C[1],k=m((0,n.useState)(""),2),T=k[0],P=k[1],j=m((0,n.useState)(""),2),R=j[0],F=j[1],D=m((0,n.useState)(""),2),I=D[0],W=D[1],B=m((0,n.useState)(!1),2),U=B[0],J=B[1],L=m((0,n.useState)([]),2),M=L[0],G=L[1],_=m((0,n.useState)(""),2),z=_[0],H=_[1],X=m((0,n.useState)(""),2),Y=X[0],q=X[1],V=m((0,n.useState)(""),2),$=V[0],K=V[1],Q=m((0,n.useState)(!1),2),Z=Q[0],ee=Q[1],et=m((0,n.useState)(""),2),er=et[0],en=et[1],ea=m((0,n.useState)(""),2),eo=ea[0],el=ea[1],ec=m((0,n.useState)(""),2),es=ec[0],ei=ec[1],eu=m((0,n.useState)("Both"),2),em=eu[0],ed=eu[1],ep=m((0,n.useState)(2),2),ef=ep[0],eh=ep[1],ey=m((0,n.useState)(100),2),ev=ey[0],eg=ey[1],eb=m((0,n.useState)(!1),2),eE=eb[0],ew=eb[1],eA=m((0,n.useState)([]),2),eS=eA[0],eN=eA[1],eC=m((0,n.useState)(!0),2),eO=eC[0],ex=eC[1],ek=m((0,n.useState)(!1),2),eT=ek[0],eP=ek[1],ej=m((0,n.useState)("Processing report..."),2),eR=ej[0],eF=ej[1],eD=m((0,n.useState)(!1),2),eI=eD[0],eW=eD[1],eB=m((0,n.useState)(!1),2),eU=eB[0],eJ=eB[1],eL=m((0,n.useState)(null),2);eL[0],eL[1];var eM=m((0,n.useState)(null),2),eG=eM[0],e_=eM[1],ez=function(e,t){e_({type:e,text:t}),setTimeout(function(){return e_(null)},3e3)},eH=function(){var e=new Date,t=e.getFullYear(),r=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(r,"-").concat(n)},eX=function(){var e=new Date,t=String(e.getHours()).padStart(2,"0"),r=String(e.getMinutes()).padStart(2,"0");return"".concat(t,":").concat(r)},eY=function(e){if(!e)return"";var t=new Date,r=new Date(e),n=t.getFullYear()-r.getFullYear(),a=t.getMonth()-r.getMonth();return(a<0||0===a&&t.getDate()<r.getDate())&&n--,String(n)},eq=function(e){if(!e)return"";var t=e.trim().toUpperCase();return"M"===t||"MALE"===t?"Male":"F"===t||"FEMALE"===t?"Female":e};(0,n.useEffect)(function(){i(function(){var t,n,a,o,l,c,i,u,d,f,y,v,b,E,A;return p(this,function(p){switch(p.label){case 0:return p.trys.push([0,18,19,20]),ex(!0),[4,fetch("/openmrs/ws/rest/v1/session")];case 1:if(!(t=p.sent()).ok)throw Error("Failed to load session");return[4,t.json()];case 2:return a=(n=p.sent()).user.person.uuid,K(n.user.uuid),[4,fetch("/openmrs/ws/rest/v1/person/".concat(a))];case 3:if(!(o=p.sent()).ok)throw Error("Failed to load person");return[4,o.json()];case 4:if(l=p.sent(),c="",l.attributes&&l.attributes.forEach(function(e){if(e.display){var t=m(e.display.split("="),2),r=t[0],n=t[1];r&&n&&("Institute Id"===r.trim()||"Institute"===r.trim())&&(c=n.trim())}}),!c&&n.sessionLocation&&n.sessionLocation.uuid&&(c=n.sessionLocation.uuid),H(c),!c)return[3,7];return[4,fetch("/openmrs/ws/rest/v1/location/".concat(c))];case 5:if(!(i=p.sent()).ok)return[3,7];return[4,i.json()];case 6:q(p.sent().display||""),p.label=7;case 7:return[4,fetch("/openmrs/ws/rest/v1/opd/phn/".concat(e))];case 8:if(!(u=p.sent()).ok)throw Error("PHN not found!");return[4,u.json()];case 9:if(!(d=p.sent()).patientuuid)return[3,14];return[4,fetch("/openmrs/ws/rest/v1/patient/".concat(d.patientuuid))];case 10:if(!(f=p.sent()).ok)return[3,12];return[4,f.json()];case 11:return g((y=p.sent().person||{}).display||d.fullName||""),w(eq(y.gender||"")),y.birthdate&&N(eY(y.birthdate)),[3,13];case 12:g(d.fullName||""),N(eY(d.dateOfBirth)),p.label=13;case 13:return[3,15];case 14:g(d.fullName||""),N(eY(d.dateOfBirth)),p.label=15;case 15:return[4,fetch("/openmrs/ws/rest/v1/addresult/loadview/".concat(r))];case 16:if(!(v=p.sent()).ok)throw Error("Barcode details not found!");return[4,v.json()];case 17:return b=h(p.sent()),E=[],b.length>0&&(b.forEach(function(e){var t=(e[2]||"").trim(),r=e[8]||s,n=e[9]||"";t.includes("/")||t.includes(",")?t.split(/[\/,]+/).map(function(e){return e.trim()}).filter(Boolean).forEach(function(e,t){E.push({id:"".concat(r,"_").concat(t),name:e,remark:n})}):t&&E.push({id:r,name:t,remark:n})}),x(E.map(function(e){return e.name}).join(", ")),P(b[0][9]||""),G(E),J(E.length>1)),F(eH()),W(eX()),[3,20];case 18:return console.error(A=p.sent()),ez("error",A.message||"Error initializing page data"),[3,20];case 19:return ex(!1),[7];case 20:return[2]}})})()},[e,r]),(0,n.useEffect)(function(){O&&z&&i(function(){var e,r,n,a,o,l;return p(this,function(c){switch(c.label){case 0:if(c.trys.push([0,13,,14]),J(e=M.length>1),n=M.length>0?M[0].name:O,"OPD"!==t)return[3,2];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueopd/".concat(s,"/").concat(encodeURIComponent(n)))];case 1:case 3:return r=c.sent(),[3,6];case 2:if("Clinic"!==t)return[3,4];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueclinic/".concat(s,"/").concat(encodeURIComponent(n)))];case 4:if("Ward"!==t)return[3,6];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueward/".concat(s,"/").concat(encodeURIComponent(n)))];case 5:r=c.sent(),c.label=6;case 6:if(a=[],!(r&&r.ok))return[3,8];return[4,r.json()];case 7:a=h(c.sent()),c.label=8;case 8:if(!e)return[3,9];return eN(M.map(function(e){var t=a.find(function(t){return t[1]===e.name||t[2]===e.id}),r=t&&null!==t[0]?t[0]:"",n=t&&t[5]?t[5]:"",o=t&&t[6]?t[6]:"",l=t&&t[7]?t[7]:"",c=t?t[3]:0;return{id:e.id,name:e.name,options:[],value:r,units:n,flag:o,ranges:l,savedId:c,isTestRow:!0}})),[3,12];case 9:return o=M[0]?M[0].name:O,[4,fetch("/openmrs/ws/rest/v1/addresult/loadparameter/".concat(encodeURIComponent(o),"/").concat(z))];case 10:if(!(l=c.sent()).ok)throw Error("Failed to load parameters");return[4,l.json()];case 11:eN(h(c.sent()).map(function(e){var t=e[3],r=e[2],n=e[4],o=e[5]||"",l=e[6]||"",c=[];try{n&&"string"==typeof n&&(c=JSON.parse(n))}catch(e){c=[]}var s=a.find(function(e){return e[2]===t||e[1]===r}),i=s&&null!==s[0]?s[0]:c.length>0?c[0]:"";return{id:t,name:r,options:c,value:i,units:s&&s[5]?s[5]:o,flag:s&&s[6]?s[6]:"",ranges:s&&s[7]?s[7]:l,savedId:s?s[3]:0,isTestRow:!1}})),c.label=12;case 12:return[3,14];case 13:return console.error(c.sent()),ez("error","Error loading test details"),[3,14];case 14:return[2]}})})()},[O,z,t,s,M]);var eV=function(e){return i(function(){var t,r,n;return p(this,function(a){switch(a.label){case 0:return[4,fetch("/openmrs/ws/rest/v1/conceptreferenceterm?codeOrName=".concat(e,"&v=custom:(name,code)"))];case 1:if(!(t=a.sent()).ok)throw Error("Reference concept ".concat(e," not found"));return[4,t.json()];case 2:if((r=a.sent()).results&&r.results.length>0){if((n=r.results[0]).code&&n.code.startsWith("http"))return[2,n.code];if(n.name&&n.name.startsWith("http"))return[2,n.name];return[2,n.code===e?n.name||"":n.code||""]}return[2,""]}})})()},e$=function(e,t,r){eN(function(n){return n.map(function(n){var a,o;return n.id===e?(a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){u(e,t,r[t])})}return e}({},n),o=null!=(o=u({},t,r))?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a):n})})};return a().createElement("div",{className:l.A.bodyWrapper},eG&&a().createElement("div",{className:"".concat(l.A.toast," ").concat("success"===eG.type?l.A.toastSuccess:l.A.toastError)},eG.text),eT&&a().createElement("div",{className:l.A.overlay},a().createElement("div",{className:l.A.spinner}),a().createElement("p",null,eR)),eO?a().createElement("div",{className:l.A.card},a().createElement("div",{className:l.A.textCenter,style:{padding:"2rem"}},a().createElement("div",{className:l.A.spinner,style:{margin:"0 auto"}}),a().createElement("p",{style:{marginTop:"1rem",color:"var(--text-light)"}},"Loading profile data..."))):a().createElement("div",{className:l.A.card},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",flexWrap:"wrap",gap:"10px"}},a().createElement("h2",{className:l.A.navTitle,style:{margin:0}},"Enter Test Results"),a().createElement("div",{className:l.A.instituteSelector,style:{margin:0}},a().createElement("span",null,"Hospital:"),a().createElement("span",{style:{fontWeight:600,color:"var(--primary-color)",marginLeft:"0.5rem"}},Y))),a().createElement("div",{className:l.A.row},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Full Name"),a().createElement("input",{type:"text",className:l.A.formControl,value:v,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Section"),a().createElement("input",{type:"text",className:l.A.formControl,value:t,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"PHN No"),a().createElement("input",{type:"text",className:l.A.formControl,value:e,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Age"),a().createElement("input",{type:"text",className:l.A.formControl,value:S,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Gender"),a().createElement("input",{type:"text",className:l.A.formControl,value:E,readOnly:!0}))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:l.A.row},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:2}},a().createElement("label",null,"Test Name"),a().createElement("input",{type:"text",className:l.A.formControl,value:O,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:3}},a().createElement("label",null,"Remark"),a().createElement("textarea",{className:l.A.formControl,rows:2,value:T,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Date"),a().createElement("input",{type:"date",className:l.A.formControl,value:R,onChange:function(e){return F(e.target.value)}})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Time"),a().createElement("input",{type:"time",className:l.A.formControl,value:I,onChange:function(e){return W(e.target.value)}}))),a().createElement("hr",{style:{margin:"2rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"}},a().createElement("h3",{style:{fontSize:"1.1rem",fontWeight:600,margin:0,color:"var(--primary-color)"}},U?"Ordered Tests":"Test Parameters"),!U&&a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnPrimary),onClick:function(){return ee(!0)},style:{padding:"0.4rem 0.8rem",fontSize:"0.875rem"}},"+ Add New Parameter")),a().createElement("div",{className:l.A.showHideTableParameter},a().createElement("table",{className:"".concat(l.A.table," ").concat(l.A.tableBordered," ").concat(l.A.tableStriped)},a().createElement("thead",null,a().createElement("tr",null,a().createElement("th",null,"No"),a().createElement("th",null,U?"Test Name":"Parameter Name"),a().createElement("th",{style:{width:"220px"}},"Value"),a().createElement("th",null,"Units"),a().createElement("th",null,"Flag"),a().createElement("th",null,"Ranges"))),a().createElement("tbody",null,eS.length>0?eS.map(function(e,t){return a().createElement("tr",{key:e.id},a().createElement("td",null,t+1),a().createElement("td",{style:{fontWeight:500}},e.name),a().createElement("td",null,e.options.length>0?a().createElement("select",{className:l.A.formControl,value:e.value,onChange:function(t){return e$(e.id,"value",t.target.value)},style:{width:"100%"}},e.options.map(function(e){return a().createElement("option",{key:e,value:e},e)})):a().createElement("input",{type:"text",className:l.A.formControl,value:e.value,onChange:function(t){return e$(e.id,"value",t.target.value)},style:{width:"100%"}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.units,onChange:function(t){return e$(e.id,"units",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.flag,onChange:function(t){return e$(e.id,"flag",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.ranges,onChange:function(t){return e$(e.id,"ranges",t.target.value)}})))}):a().createElement("tr",null,a().createElement("td",{colSpan:6,className:l.A.textCenter,style:{color:"var(--text-light)"}},"No parameters defined for this test."))))),a().createElement("div",{className:l.A.row,style:{marginTop:"2rem",alignItems:"center"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:2}},a().createElement("div",{className:l.A.checkboxContainer,onClick:function(){return eW(function(e){return!e})}},a().createElement("input",{type:"checkbox",checked:eI,onChange:function(){}}),a().createElement("span",null,"Send to Approval"))),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:3,alignItems:"flex-end"}},a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnWarning),onClick:function(){return i(function(){var r,n,a,o,l,c,i,u,m,d,f,h,y,g,b,E,w,A,N,C,x,k,T,P,j,F,D,W,B,U,J,L,M,G,_,z,H,X,q;return p(this,function(p){switch(p.label){case 0:if(eS.some(function(e){return""===String(e.value).trim()}))return ez("error","Please fill all parameter values before generating report."),[2];p.label=1;case 1:return p.trys.push([1,44,45,46]),eP(!0),eF("Uploading file template..."),eF("Reading report template..."),r="".concat(O,".docx"),[4,fetch("/openmrs/ws/rest/v1/addresult/downloadtemplate/".concat(encodeURIComponent(r)))];case 2:if((n=p.sent()).ok)return[3,4];return console.warn('Specific template "'.concat(r,'" not found. Falling back to CommonTemplate.docx.')),[4,fetch("/openmrs/ws/rest/v1/addresult/downloadtemplate/CommonTemplate.docx")];case 3:if(!(n=p.sent()).ok)throw Error('Neither "'.concat(r,'" nor "CommonTemplate.docx" was found in LabReportTemplateFileUploaded folder on the server.'));p.label=4;case 4:return[4,n.blob()];case 5:return a=p.sent(),[4,new Promise(function(e,t){var r=new FileReader;r.onloadend=function(){e(r.result.replace(/^data:.+;base64,/,""))},r.onerror=t,r.readAsDataURL(a)})];case 6:o=p.sent(),eF("Connecting to JSReport server..."),l="",p.label=7;case 7:return p.trys.push([7,9,,10]),[4,eV("JSReportURLManual")];case 8:return l=p.sent(),[3,10];case 9:return console.warn("Failed to fetch JSReportURLManual from database, using fallback",p.sent()),[3,10];case 10:return l||(l="http://localhost:5488/"),[4,fetch("".concat(l,"odata/folders"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"".concat(O," folder")})})];case 11:if(!(c=p.sent()).ok)throw Error("Failed to create folder on JSReport server");return[4,c.json()];case 12:return u=(i=p.sent()).shortid,m=i._id,[4,fetch("".concat(l,"odata/assets"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:o,folder:{shortid:u},name:O})})];case 13:if(!(d=p.sent()).ok)throw Error("Failed to upload asset to JSReport");return[4,d.json()];case 14:return f=p.sent().shortid,h={},y=[],eS.forEach(function(e,t){var r=e.name,n="";if(e.name.includes("/")){var a=e.name.split("/");n=a[0].trim(),r=a[1].trim()}var o={value:e.value,units:e.units,ranges:e.ranges,flag:e.flag,item:r,itemName:n,itemCode:r};h[e.name]=o,h[r]=o,n&&(h[n]=o),y.push({index:t+1,item:r,itemName:n,value:e.value,units:e.units,ranges:e.ranges,flag:e.flag})}),g={hospital:Y,patientname:v,phn:e,docname:"",testName:O,age:S,collectdate:"".concat(R," ").concat(I),printdate:"".concat(eH()," ").concat(eX()),parameters:h,parametersList:y},[4,fetch("".concat(l,"odata/data"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dataJson:JSON.stringify(g),folder:{shortid:u},name:"".concat(O," data")})})];case 15:if(!(b=p.sent()).ok)throw Error("Failed to register report data on JSReport");return[4,b.json()];case 16:return E=p.sent().shortid,[4,fetch("".concat(l,"odata/templates"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{shortid:E},docx:{templateAssetShortid:f},engine:"handlebars",folder:{shortid:u},name:"".concat(O," template"),recipe:"docx"})})];case 17:if(!(w=p.sent()).ok)throw Error("Failed to construct template configuration on JSReport");return[4,w.json()];case 18:return A=p.sent().shortid,eF("Rendering report..."),[4,fetch("".concat(l,"api/report"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:{shortid:A},recipe:"docx"})})];case 19:if(!(N=p.sent()).ok)throw Error("Failed to compile report document on JSReport");return[4,N.blob()];case 20:if(C=p.sent(),eF("Saving document attachment..."),x="","OPD"!==t)return[3,22];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsopd/".concat(s))];case 21:case 23:return k=p.sent(),[3,26];case 22:if("Clinic"!==t)return[3,24];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsclinic/".concat(s))];case 24:if("Ward"!==t)return[3,26];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsward/".concat(s))];case 25:k=p.sent(),p.label=26;case 26:if(!(k&&k.ok))return[3,28];return[4,k.json()];case 27:x=p.sent().encounteruuid||"",p.label=28;case 28:T="".concat(e,"@@@").concat(O,"@@@").concat(x),P="",p.label=29;case 29:return p.trys.push([29,31,,32]),[4,eV("DocToPdfConverterURLManual")];case 30:return P=p.sent(),[3,32];case 31:return console.warn("Failed to fetch DocToPdfConverterURLManual from database, using fallback",p.sent()),[3,32];case 32:P||(P="http://localhost:5000/"),j=C,F="".concat(T,".docx"),D=!1,p.label=33;case 33:return p.trys.push([33,38,,39]),eF("Converting report to PDF..."),(W=new FormData).append("file",C,"document.docx"),[4,fetch("".concat(P,"convert-to-pdf"),{method:"POST",body:W})];case 34:if(!(B=p.sent()).ok)return[3,36];return[4,B.blob()];case 35:return j=U=p.sent(),F="".concat(T,".pdf"),D=!0,J=window.URL.createObjectURL(U),window.open(J),[3,37];case 36:console.warn("PDF conversion response was not ok, falling back to DOCX."),p.label=37;case 37:return[3,39];case 38:return console.warn("PDF conversion service failed or not reachable, falling back to DOCX.",p.sent()),[3,39];case 39:return D||(L=window.URL.createObjectURL(C),(M=document.createElement("a")).href=L,M.download="".concat(O,"_Report.docx"),document.body.appendChild(M),M.click(),document.body.removeChild(M),ez("error","PDF converter not available. Defaulted to DOCX download.")),(G=new FormData).append("file",j,F),[4,fetch("/openmrs/ws/rest/v1/addresult/upload",{method:"POST",body:G})];case 40:if(!(_=p.sent()).ok)throw Error("Failed to upload attachment to OpenMRS OWA");return[4,_.json()];case 41:return z=p.sent(),H={labreportingid:"OPD"===t?s:null,labreportingclinicid:"Clinic"===t?s:null,labreportingwardid:"Ward"===t?s:null,reportname:F,file:z.data,status:"Approved",cby:$},X="/openmrs/ws/rest/v1/addresult/savedocument","Clinic"===t&&(X="/openmrs/ws/rest/v1/addresult/savedocumentclinic"),"Ward"===t&&(X="/openmrs/ws/rest/v1/addresult/savedocumentward"),[4,fetch(X,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(H)})];case 42:if(!p.sent().ok)throw Error("Failed to save document meta record to database");return eF("Cleaning up..."),[4,fetch("".concat(l,"odata/folders('").concat(m,"')"),{method:"DELETE"})];case 43:return p.sent(),eJ(!0),ez("success","Report generated and converted successfully!"),[3,46];case 44:return console.error(q=p.sent()),ez("error",q.message||"Error occurred during report generation"),[3,46];case 45:return eP(!1),[7];case 46:return[2]}})})()}},"Generate Report"))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:l.A.textRight},a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnSuccess," ").concat(l.A.mx2),onClick:function(){return i(function(){var e,r,n,a,o,l,c,i,u,m,d;return p(this,function(p){switch(p.label){case 0:if(!eU)return ez("error","Please generate Report first before saving."),[2];if(!R||!I)return ez("error","Please fill all the date and time fields."),[2];p.label=1;case 1:p.trys.push([1,11,12,13]),eP(!0),eF("Saving parameter values..."),e=!0,r=!1,n=void 0,p.label=2;case 2:p.trys.push([2,7,8,9]),a=eS[Symbol.iterator](),p.label=3;case 3:if(e=(o=a.next()).done)return[3,6];return c={id:(l=o.value).savedId,parameterid:l.id,value:l.value,cby:$,units:l.units,flag:l.flag,ranges:l.ranges},i="/openmrs/ws/rest/v1/addresult/saveparametervalue","OPD"===t?c.labreportingid=s:"Clinic"===t?(c.labreportingclinicid=s,i="/openmrs/ws/rest/v1/addresult/saveparametervalueclinic"):"Ward"===t&&(c.labreportingwardid=s,i="/openmrs/ws/rest/v1/addresult/saveparametervalueward"),[4,fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})];case 4:if(!p.sent().ok)throw Error("Failed to save parameter ".concat(l.name));p.label=5;case 5:return e=!0,[3,3];case 6:return[3,9];case 7:return u=p.sent(),r=!0,n=u,[3,9];case 8:try{e||null==a.return||a.return()}finally{if(r)throw n}return[7];case 9:return eF("Updating laboratory status..."),m="/openmrs/ws/rest/v1/samplecollection/labtestsstatus","Clinic"===t?m="/openmrs/ws/rest/v1/samplecollection/labtestsstatusclinic":"Ward"===t&&(m="/openmrs/ws/rest/v1/samplecollection/labtestsstatusward"),[4,fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:s,status:eI?"Send Approved":"Approved"})})];case 10:if(!p.sent().ok)throw Error("Failed to update lab test status");return ez("success","Data Saved Successfully!"),setTimeout(function(){f(window.getOpenmrsSpaBase()+"addresults")},1500),[3,13];case 11:return console.error(d=p.sent()),ez("error",d.message||"Error saving results details"),[3,13];case 12:return eP(!1),[7];case 13:return[2]}})})()},style:{width:"120px",height:"40px"}},"Save"),a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnDanger),onClick:function(){return f(window.getOpenmrsSpaBase()+"addresults")},style:{width:"120px",height:"40px"}},"Back"))),Z&&a().createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:9999}},a().createElement("div",{style:{backgroundColor:"#ffffff",borderRadius:"8px",padding:"1.5rem",width:"480px",maxWidth:"90%",boxShadow:"0 4px 12px rgba(0,0,0,0.15)"}},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"}},a().createElement("h3",{style:{margin:0,fontSize:"1.1rem",fontWeight:600,color:"var(--primary-color)"}},'Add New Parameter to "',M[0]?M[0].name:O,'"'),a().createElement("button",{type:"button",onClick:function(){return ee(!1)},style:{background:"none",border:"none",fontSize:"1.25rem",cursor:"pointer",color:"#666"}},"\xd7")),a().createElement("form",{onSubmit:function(e){return i(function(){var t,r,n,a,o;return p(this,function(l){switch(l.label){case 0:if(e.preventDefault(),!(t=er.trim()))return ez("error","Please enter a Parameter Name."),[2];if(!(r=M[0]?M[0].name:O))return ez("error","No active test selected to add parameter to."),[2];l.label=1;case 1:return l.trys.push([1,3,4,5]),ew(!0),[4,fetch("/openmrs/ws/rest/v1/labtestmasterdetails/savedetails",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:0,location:"",testname:r.trim(),parametername:t,gender:em||"Both",agefrom:Number(ef||2),ageto:Number(ev||100),unit:eo.trim(),referencerange:es.trim(),cby:$||""})})];case 2:if(!(n=l.sent()).ok)throw Error("Failed to save parameter: ".concat(n.statusText));return a={id:Date.now(),name:t,options:[],value:"",units:eo.trim(),flag:"",ranges:es.trim(),savedId:0,isTestRow:!1},eN(function(e){return((function(e){if(Array.isArray(e))return c(e)})(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([a])}),ez("success",'Parameter "'.concat(t,'" saved and added to test!')),en(""),el(""),ei(""),ed("Both"),eh(2),eg(100),ee(!1),[3,5];case 3:return console.error(o=l.sent()),ez("error",o.message||"Failed to save new parameter"),[3,5];case 4:return ew(!1),[7];case 5:return[2]}})})()}},a().createElement("div",{className:l.A.my1},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Parameter Name ",a().createElement("span",{style:{color:"red"}},"*")),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:er,onChange:function(e){return en(e.target.value)},placeholder:"e.g. Hemoglobin / WBC / SGPT",required:!0})),a().createElement("div",{className:l.A.row,style:{marginTop:"0.5rem"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Unit"),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:eo,onChange:function(e){return el(e.target.value)},placeholder:"e.g. g/dL"})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Reference Range"),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:es,onChange:function(e){return ei(e.target.value)},placeholder:"e.g. 12.0 - 16.0"}))),a().createElement("div",{className:l.A.row,style:{marginTop:"0.5rem"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Gender"),a().createElement("select",{className:l.A.formControl,style:{width:"100%"},value:em,onChange:function(e){return ed(e.target.value)}},a().createElement("option",{value:"Both"},"Both"),a().createElement("option",{value:"Male"},"Male"),a().createElement("option",{value:"Female"},"Female"))),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Age From"),a().createElement("input",{type:"number",className:l.A.formControl,style:{width:"100%"},value:ef,onChange:function(e){return eh(Number(e.target.value))},min:0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Age To"),a().createElement("input",{type:"number",className:l.A.formControl,style:{width:"100%"},value:ev,onChange:function(e){return eg(Number(e.target.value))},min:0}))),a().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.5rem",marginTop:"1.5rem"}},a().createElement("button",{type:"button",className:"".concat(l.A.btn),onClick:function(){return ee(!1)},disabled:eE,style:{backgroundColor:"#e0e0e0",color:"#333"}},"Cancel"),a().createElement("button",{type:"submit",className:"".concat(l.A.btn," ").concat(l.A.btnPrimary),disabled:eE},eE?"Saving...":"Save Parameter"))))))}}}]);
1
+ "use strict";(globalThis.webpackChunk_sasindi_addresults=globalThis.webpackChunk_sasindi_addresults||[]).push([["277"],{300(e,t,n){n.r(t),n.d(t,{default:()=>v});var r=n(9551),a=n.n(r),o=n(7817),l=n(4878);function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t,n,r,a,o,l){try{var s=e[o](l),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,a)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function l(e){c(o,r,a,l,s,"next",e)}function s(e){c(o,r,a,l,s,"throw",e)}l(void 0)})}}function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,s=!1;try{for(a=a.call(e);!(l=(n=a.next()).done)&&(o.push(n.value),!t||o.length!==t);l=!0);}catch(e){s=!0,r=e}finally{try{l||null==a.return||a.return()}finally{if(s)throw r}}return o}}(e,t)||d(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return s(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s(e,t)}}function p(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),s=Object.defineProperty;return s(l,"next",{value:c(0)}),s(l,"throw",{value:c(1)}),s(l,"return",{value:c(2)}),"function"==typeof Symbol&&s(l,Symbol.iterator,{value:function(){return this}}),l;function c(s){return function(c){var i=[s,c];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,i[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(6===i[0]&&o.label<a[1]){o.label=a[1],a=i;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(i);break}a[2]&&o.ops.pop(),o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}var f=function(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))},g=function(e){return Array.isArray(e)?e:e&&Array.isArray(e.data)?e.data:e&&Array.isArray(e.results)?e.results:[]};let v=function(){(0,o.useTranslation)().t;var e=localStorage.getItem("phnNo")||"",t=localStorage.getItem("section")||"",n=localStorage.getItem("barcode")||"",c=localStorage.getItem("id")||"",v=m((0,r.useState)(""),2),y=v[0],b=v[1],h=m((0,r.useState)(""),2),E=h[0],w=h[1],A=m((0,r.useState)(""),2),x=A[0],N=A[1],S=m((0,r.useState)(""),2),C=S[0],O=S[1],k=m((0,r.useState)(""),2),P=k[0],T=k[1],j=m((0,r.useState)(""),2),I=j[0],B=j[1],D=m((0,r.useState)(""),2),R=D[0],F=D[1],W=m((0,r.useState)(!1),2),z=W[0],L=W[1],M=m((0,r.useState)([]),2),U=M[0],G=M[1],H=m((0,r.useState)(""),2),_=H[0],J=H[1],Y=m((0,r.useState)(""),2),V=Y[0],q=Y[1],$=m((0,r.useState)(""),2),K=$[0],Q=$[1],X=m((0,r.useState)(!1),2),Z=X[0],ee=X[1],et=m((0,r.useState)(""),2),en=et[0],er=et[1],ea=m((0,r.useState)(""),2),eo=ea[0],el=ea[1],es=m((0,r.useState)(""),2),ec=es[0],ei=es[1],eu=m((0,r.useState)("Both"),2),em=eu[0],ed=eu[1],ep=m((0,r.useState)(2),2),ef=ep[0],eg=ep[1],ev=m((0,r.useState)(100),2),ey=ev[0],eb=ev[1],eh=m((0,r.useState)(!1),2),eE=eh[0],ew=eh[1],eA=m((0,r.useState)([]),2),ex=eA[0],eN=eA[1],eS=m((0,r.useState)(!0),2),eC=eS[0],eO=eS[1],ek=m((0,r.useState)(!1),2),eP=ek[0],eT=ek[1],ej=m((0,r.useState)("Processing report..."),2),eI=ej[0],eB=ej[1],eD=m((0,r.useState)(!1),2),eR=eD[0],eF=eD[1],eW=m((0,r.useState)(!1),2),ez=eW[0],eL=eW[1],eM=m((0,r.useState)(null),2);eM[0],eM[1];var eU=m((0,r.useState)(null),2),eG=eU[0],eH=eU[1],e_=function(e,t){eH({type:e,text:t}),setTimeout(function(){return eH(null)},3e3)},eJ=function(){var e=new Date,t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return"".concat(t,"-").concat(n,"-").concat(r)},eY=function(){var e=new Date,t=String(e.getHours()).padStart(2,"0"),n=String(e.getMinutes()).padStart(2,"0");return"".concat(t,":").concat(n)},eV=function(e){if(!e)return"";var t=new Date,n=new Date(e),r=t.getFullYear()-n.getFullYear(),a=t.getMonth()-n.getMonth();return(a<0||0===a&&t.getDate()<n.getDate())&&r--,String(r)},eq=function(e){if(!e)return"";var t=e.trim().toUpperCase();return"M"===t||"MALE"===t?"Male":"F"===t||"FEMALE"===t?"Female":e};(0,r.useEffect)(function(){i(function(){var t,r,a,o,l,s,i,u,d,f,v,y,h,E,A;return p(this,function(p){switch(p.label){case 0:return p.trys.push([0,18,19,20]),eO(!0),[4,fetch("/openmrs/ws/rest/v1/session")];case 1:if(!(t=p.sent()).ok)throw Error("Failed to load session");return[4,t.json()];case 2:return a=(r=p.sent()).user.person.uuid,Q(r.user.uuid),[4,fetch("/openmrs/ws/rest/v1/person/".concat(a))];case 3:if(!(o=p.sent()).ok)throw Error("Failed to load person");return[4,o.json()];case 4:if(l=p.sent(),s="",l.attributes&&l.attributes.forEach(function(e){if(e.display){var t=m(e.display.split("="),2),n=t[0],r=t[1];n&&r&&("Institute Id"===n.trim()||"Institute"===n.trim())&&(s=r.trim())}}),!s&&r.sessionLocation&&r.sessionLocation.uuid&&(s=r.sessionLocation.uuid),J(s),!s)return[3,7];return[4,fetch("/openmrs/ws/rest/v1/location/".concat(s))];case 5:if(!(i=p.sent()).ok)return[3,7];return[4,i.json()];case 6:q(p.sent().display||""),p.label=7;case 7:return[4,fetch("/openmrs/ws/rest/v1/opd/phn/".concat(e))];case 8:if(!(u=p.sent()).ok)throw Error("PHN not found!");return[4,u.json()];case 9:if(!(d=p.sent()).patientuuid)return[3,14];return[4,fetch("/openmrs/ws/rest/v1/patient/".concat(d.patientuuid))];case 10:if(!(f=p.sent()).ok)return[3,12];return[4,f.json()];case 11:return b((v=p.sent().person||{}).display||d.fullName||""),w(eq(v.gender||"")),v.birthdate&&N(eV(v.birthdate)),[3,13];case 12:b(d.fullName||""),N(eV(d.dateOfBirth)),p.label=13;case 13:return[3,15];case 14:b(d.fullName||""),N(eV(d.dateOfBirth)),p.label=15;case 15:return[4,fetch("/openmrs/ws/rest/v1/addresult/loadview/".concat(n))];case 16:if(!(y=p.sent()).ok)throw Error("Barcode details not found!");return[4,y.json()];case 17:return h=g(p.sent()),E=[],h.length>0&&(h.forEach(function(e){var t=(e[2]||"").trim(),n=e[8]||c,r=e[9]||"";t.includes("/")||t.includes(",")?t.split(/[\/,]+/).map(function(e){return e.trim()}).filter(Boolean).forEach(function(e,t){E.push({id:"".concat(n,"_").concat(t),name:e,remark:r})}):t&&E.push({id:n,name:t,remark:r})}),O(E.map(function(e){return e.name}).join(", ")),T(h[0][9]||""),G(E),L(E.length>1)),B(eJ()),F(eY()),[3,20];case 18:return console.error(A=p.sent()),e_("error",A.message||"Error initializing page data"),[3,20];case 19:return eO(!1),[7];case 20:return[2]}})})()},[e,n]),(0,r.useEffect)(function(){C&&_&&i(function(){var e,n,r,a,o,l;return p(this,function(s){switch(s.label){case 0:if(s.trys.push([0,13,,14]),L(e=U.length>1),r=U.length>0?U[0].name:C,"OPD"!==t)return[3,2];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueopd/".concat(c,"/").concat(encodeURIComponent(r)))];case 1:case 3:return n=s.sent(),[3,6];case 2:if("Clinic"!==t)return[3,4];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueclinic/".concat(c,"/").concat(encodeURIComponent(r)))];case 4:if("Ward"!==t)return[3,6];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueward/".concat(c,"/").concat(encodeURIComponent(r)))];case 5:n=s.sent(),s.label=6;case 6:if(a=[],!(n&&n.ok))return[3,8];return[4,n.json()];case 7:a=g(s.sent()),s.label=8;case 8:if(!e)return[3,9];return eN(U.map(function(e){var t=a.find(function(t){return t[1]===e.name||t[2]===e.id}),n=t&&null!==t[0]?t[0]:"",r=t&&t[5]?t[5]:"",o=t&&t[6]?t[6]:"",l=t&&t[7]?t[7]:"",s=t?t[3]:0;return{id:e.id,name:e.name,options:[],value:n,units:r,flag:o,ranges:l,savedId:s,isTestRow:!0}})),[3,12];case 9:return o=U[0]?U[0].name:C,[4,fetch("/openmrs/ws/rest/v1/addresult/loadparameter/".concat(encodeURIComponent(o),"/").concat(_))];case 10:if(!(l=s.sent()).ok)throw Error("Failed to load parameters");return[4,l.json()];case 11:eN(g(s.sent()).map(function(e){var t=e[3],n=e[2],r=e[4],o=e[5]||"",l=e[6]||"",s=[];try{r&&"string"==typeof r&&(s=JSON.parse(r))}catch(e){s=[]}var c=a.find(function(e){return e[2]===t||e[1]===n}),i=c&&null!==c[0]?c[0]:s.length>0?s[0]:"";return{id:t,name:n,options:s,value:i,units:c&&c[5]?c[5]:o,flag:c&&c[6]?c[6]:"",ranges:c&&c[7]?c[7]:l,savedId:c?c[3]:0,isTestRow:!1}})),s.label=12;case 12:return[3,14];case 13:return console.error(s.sent()),e_("error","Error loading test details"),[3,14];case 14:return[2]}})})()},[C,_,t,c,U]);var e$=function(e,t,n){eN(function(r){return r.map(function(r){var a,o;return r.id===e?(a=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){u(e,t,n[t])})}return e}({},r),o=null!=(o=u({},t,n))?o:{},Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(o,e))}),a):r})})};return a().createElement("div",{className:l.A.bodyWrapper},eG&&a().createElement("div",{className:"".concat(l.A.toast," ").concat("success"===eG.type?l.A.toastSuccess:l.A.toastError)},eG.text),eP&&a().createElement("div",{className:l.A.overlay},a().createElement("div",{className:l.A.spinner}),a().createElement("p",null,eI)),eC?a().createElement("div",{className:l.A.card},a().createElement("div",{className:l.A.textCenter,style:{padding:"2rem"}},a().createElement("div",{className:l.A.spinner,style:{margin:"0 auto"}}),a().createElement("p",{style:{marginTop:"1rem",color:"var(--text-light)"}},"Loading profile data..."))):a().createElement("div",{className:l.A.card},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",flexWrap:"wrap",gap:"10px"}},a().createElement("h2",{className:l.A.navTitle,style:{margin:0}},"Enter Test Results"),a().createElement("div",{className:l.A.instituteSelector,style:{margin:0}},a().createElement("span",null,"Hospital:"),a().createElement("span",{style:{fontWeight:600,color:"var(--primary-color)",marginLeft:"0.5rem"}},V))),a().createElement("div",{className:l.A.row},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Full Name"),a().createElement("input",{type:"text",className:l.A.formControl,value:y,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Section"),a().createElement("input",{type:"text",className:l.A.formControl,value:t,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"PHN No"),a().createElement("input",{type:"text",className:l.A.formControl,value:e,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Age"),a().createElement("input",{type:"text",className:l.A.formControl,value:x,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Gender"),a().createElement("input",{type:"text",className:l.A.formControl,value:E,readOnly:!0}))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:l.A.row},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:2}},a().createElement("label",null,"Test Name"),a().createElement("input",{type:"text",className:l.A.formControl,value:C,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:3}},a().createElement("label",null,"Remark"),a().createElement("textarea",{className:l.A.formControl,rows:2,value:P,readOnly:!0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Date"),a().createElement("input",{type:"date",className:l.A.formControl,value:I,onChange:function(e){return B(e.target.value)}})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",null,"Time"),a().createElement("input",{type:"time",className:l.A.formControl,value:R,onChange:function(e){return F(e.target.value)}}))),a().createElement("hr",{style:{margin:"2rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"}},a().createElement("h3",{style:{fontSize:"1.1rem",fontWeight:600,margin:0,color:"var(--primary-color)"}},z?"Ordered Tests":"Test Parameters"),!z&&a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnPrimary),onClick:function(){return ee(!0)},style:{padding:"0.4rem 0.8rem",fontSize:"0.875rem"}},"+ Add New Parameter")),a().createElement("div",{className:l.A.showHideTableParameter},a().createElement("table",{className:"".concat(l.A.table," ").concat(l.A.tableBordered," ").concat(l.A.tableStriped)},a().createElement("thead",null,a().createElement("tr",null,a().createElement("th",null,"No"),a().createElement("th",null,z?"Test Name":"Parameter Name"),a().createElement("th",{style:{width:"220px"}},"Value"),a().createElement("th",null,"Units"),a().createElement("th",null,"Flag"),a().createElement("th",null,"Ranges"))),a().createElement("tbody",null,ex.length>0?ex.map(function(e,t){return a().createElement("tr",{key:e.id},a().createElement("td",null,t+1),a().createElement("td",{style:{fontWeight:500}},e.name),a().createElement("td",null,e.options.length>0?a().createElement("select",{className:l.A.formControl,value:e.value,onChange:function(t){return e$(e.id,"value",t.target.value)},style:{width:"100%"}},e.options.map(function(e){return a().createElement("option",{key:e,value:e},e)})):a().createElement("input",{type:"text",className:l.A.formControl,value:e.value,onChange:function(t){return e$(e.id,"value",t.target.value)},style:{width:"100%"}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.units,onChange:function(t){return e$(e.id,"units",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.flag,onChange:function(t){return e$(e.id,"flag",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:l.A.formControl,value:e.ranges,onChange:function(t){return e$(e.id,"ranges",t.target.value)}})))}):a().createElement("tr",null,a().createElement("td",{colSpan:6,className:l.A.textCenter,style:{color:"var(--text-light)"}},"No parameters defined for this test."))))),a().createElement("div",{className:l.A.row,style:{marginTop:"2rem",alignItems:"center"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:2}},a().createElement("div",{className:l.A.checkboxContainer,onClick:function(){return eF(function(e){return!e})}},a().createElement("input",{type:"checkbox",checked:eR,onChange:function(){}}),a().createElement("span",null,"Send to Approval"))),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1),style:{flexGrow:3,alignItems:"flex-end"}},a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnWarning),onClick:function(){return i(function(){var n,r,a,o,l,s,i,u,m,d,f,g,v,b,h;return p(this,function(p){switch(p.label){case 0:if(ex.some(function(e){return""===String(e.value).trim()}))return e_("error","Please fill all parameter values before generating report."),[2];p.label=1;case 1:if(p.trys.push([1,14,15,16]),eT(!0),eB("Preparing report..."),n=U.length<=1&&!z,r=U.length>0?Array.from(new Set(U.map(function(e){return(e.name||"").trim()}))).filter(Boolean).join(", "):C,a=ex.map(function(e){if(e.name,e.name&&e.name.includes("/")){var t=e.name.split("/");t[0].trim(),t[1].trim()}var r=n?e.name:e.testName||e.name,a=e.value||"",o=e.units||"",l=e.flag||"",s=e.ranges||"";return'\n <tr>\n <td style="border: 1px solid #000; padding: 6px 10px; font-weight: 500;">'.concat(r,'</td>\n <td style="border: 1px solid #000; padding: 6px 10px; text-align: center; font-weight: bold;">').concat(a,'</td>\n <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">').concat(o,'</td>\n <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">').concat(l,'</td>\n <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">').concat(s,"</td>\n </tr>\n ")}).join(""),o='<!DOCTYPE html>\n<html>\n<head>\n <meta charset="utf-8">\n <title>Lab Report - '.concat(y,'</title>\n <style>\n @page { size: A4; margin: 15mm; }\n body { font-family: \'Segoe UI\', Calibri, Arial, sans-serif; color: #000; background: #fff; margin: 0; padding: 25px; }\n .confidential { text-align: right; font-style: italic; text-decoration: underline; font-size: 11px; font-weight: bold; margin-bottom: 5px; }\n .header-block { text-align: center; margin-bottom: 15px; }\n .header-title { font-family: Arial, sans-serif; font-size: 26px; font-weight: bold; margin: 0; letter-spacing: 1px; }\n .header-sub { font-size: 14px; margin-top: 5px; color: #333; }\n .divider { border-bottom: 2px solid #000; margin: 15px 0 20px 0; }\n .demo-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 13px; line-height: 1.8; }\n .demo-table td { padding: 3px 0; vertical-align: top; }\n .test-name-line { font-size: 14px; margin-bottom: 15px; font-weight: normal; }\n .test-name-val { font-weight: bold; }\n .report-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }\n .report-table th { background-color: #80E2A7; color: #000; font-weight: bold; border: 1px solid #000; padding: 8px 10px; text-align: center; }\n .report-table td { border: 1px solid #000; padding: 6px 10px; }\n .footer-block { margin-top: 50px; display: flex; justify-content: space-between; font-size: 12px; }\n @media print {\n body { padding: 0; }\n }\n </style>\n</head>\n<body>\n <div class="confidential">CONFIDENTIAL</div>\n <div class="header-block">\n <div class="header-title">LABORATORY</div>\n <div class="header-sub">Hospital Name: ').concat(V,'</div>\n </div>\n <div class="divider"></div>\n\n <table class="demo-table">\n <tr>\n <td style="width: 55%;">\n <div><strong>Patient Name:</strong> ').concat(y,"</div>\n <div><strong>Ref.Doctor :</strong> </div>\n <div><strong>Sample Collection :</strong> ").concat(I," ").concat(R,'</div>\n </td>\n <td style="width: 45%;">\n <div><strong>PHN No :</strong> <strong>').concat(e,"</strong></div>\n <div><strong>Age :</strong> ").concat(x,"</div>\n <div><strong>Printed Date:</strong> ").concat(eJ()," ").concat(eY(),'</div>\n </td>\n </tr>\n </table>\n\n <div class="test-name-line">\n <strong>Test Name :</strong> <span class="test-name-val">').concat(r||C,'</span>\n </div>\n\n <table class="report-table">\n <thead>\n <tr>\n <th style="width: 35%;">Parameter</th>\n <th style="width: 15%;">Values</th>\n <th style="width: 15%;">Unit</th>\n <th style="width: 15%;">Flag</th>\n <th style="width: 20%;">Ref. Ranges</th>\n </tr>\n </thead>\n <tbody>\n ').concat(a,'\n </tbody>\n </table>\n\n <div class="footer-block">\n <div>\n <div>The results are for this sample only</div>\n <div>Test Date: ').concat(I,'</div>\n </div>\n <div style="text-align: right;">\n <div>........................................................</div>\n <div><strong>Medical Laboratory Technologist</strong></div>\n <div style="margin-top: 5px;">Print Time: ').concat(eY(),"</div>\n </div>\n </div>\n\n <script>\n window.onload = function() {\n setTimeout(function() {\n window.print();\n }, 300);\n };\n <\/script>\n</body>\n</html>"),(l=window.open("","_blank"))&&(l.document.write(o),l.document.close()),eB("Saving document attachment..."),s="","OPD"!==t)return[3,3];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsopd/".concat(c))];case 2:case 4:return i=p.sent(),[3,7];case 3:if("Clinic"!==t)return[3,5];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsclinic/".concat(c))];case 5:if("Ward"!==t)return[3,7];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsward/".concat(c))];case 6:i=p.sent(),p.label=7;case 7:if(!(i&&i.ok))return[3,9];return[4,i.json()];case 8:s=p.sent().encounteruuid||"",p.label=9;case 9:return u="".concat(e,"@@@").concat(C,"@@@").concat(s,".html"),m=new Blob([o],{type:"text/html"}),(d=new FormData).append("file",m,u),[4,fetch("/openmrs/ws/rest/v1/addresult/upload",{method:"POST",body:d})];case 10:if(!(f=p.sent()).ok)return[3,13];return[4,f.json()];case 11:return g=p.sent(),v={labreportingid:"OPD"===t?c:null,labreportingclinicid:"Clinic"===t?c:null,labreportingwardid:"Ward"===t?c:null,reportname:u,file:g.data,status:"Approved",cby:K},b="/openmrs/ws/rest/v1/addresult/savedocument","Clinic"===t&&(b="/openmrs/ws/rest/v1/addresult/savedocumentclinic"),"Ward"===t&&(b="/openmrs/ws/rest/v1/addresult/savedocumentward"),[4,fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)})];case 12:p.sent(),p.label=13;case 13:return eL(!0),e_("success","Report generated successfully!"),[3,16];case 14:return console.error(h=p.sent()),e_("error",h.message||"Error occurred during report generation"),[3,16];case 15:return eT(!1),[7];case 16:return[2]}})})()}},"Generate Report"))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:l.A.textRight},a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnSuccess," ").concat(l.A.mx2),onClick:function(){return i(function(){var e,n,r,a,o,l,s,i,u,m,d;return p(this,function(p){switch(p.label){case 0:if(!ez)return e_("error","Please generate Report first before saving."),[2];if(!I||!R)return e_("error","Please fill all the date and time fields."),[2];p.label=1;case 1:p.trys.push([1,11,12,13]),eT(!0),eB("Saving parameter values..."),e=!0,n=!1,r=void 0,p.label=2;case 2:p.trys.push([2,7,8,9]),a=ex[Symbol.iterator](),p.label=3;case 3:if(e=(o=a.next()).done)return[3,6];return s={id:(l=o.value).savedId,parameterid:l.id,value:l.value,cby:K,units:l.units,flag:l.flag,ranges:l.ranges},i="/openmrs/ws/rest/v1/addresult/saveparametervalue","OPD"===t?s.labreportingid=c:"Clinic"===t?(s.labreportingclinicid=c,i="/openmrs/ws/rest/v1/addresult/saveparametervalueclinic"):"Ward"===t&&(s.labreportingwardid=c,i="/openmrs/ws/rest/v1/addresult/saveparametervalueward"),[4,fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})];case 4:if(!p.sent().ok)throw Error("Failed to save parameter ".concat(l.name));p.label=5;case 5:return e=!0,[3,3];case 6:return[3,9];case 7:return u=p.sent(),n=!0,r=u,[3,9];case 8:try{e||null==a.return||a.return()}finally{if(n)throw r}return[7];case 9:return eB("Updating laboratory status..."),m="/openmrs/ws/rest/v1/samplecollection/labtestsstatus","Clinic"===t?m="/openmrs/ws/rest/v1/samplecollection/labtestsstatusclinic":"Ward"===t&&(m="/openmrs/ws/rest/v1/samplecollection/labtestsstatusward"),[4,fetch(m,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c,status:eR?"Send Approved":"Approved"})})];case 10:if(!p.sent().ok)throw Error("Failed to update lab test status");return e_("success","Data Saved Successfully!"),setTimeout(function(){f(window.getOpenmrsSpaBase()+"addresults")},1500),[3,13];case 11:return console.error(d=p.sent()),e_("error",d.message||"Error saving results details"),[3,13];case 12:return eT(!1),[7];case 13:return[2]}})})()},style:{width:"120px",height:"40px"}},"Save"),a().createElement("button",{type:"button",className:"".concat(l.A.btn," ").concat(l.A.btnDanger),onClick:function(){return f(window.getOpenmrsSpaBase()+"addresults")},style:{width:"120px",height:"40px"}},"Back"))),Z&&a().createElement("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:9999}},a().createElement("div",{style:{backgroundColor:"#ffffff",borderRadius:"8px",padding:"1.5rem",width:"480px",maxWidth:"90%",boxShadow:"0 4px 12px rgba(0,0,0,0.15)"}},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"}},a().createElement("h3",{style:{margin:0,fontSize:"1.1rem",fontWeight:600,color:"var(--primary-color)"}},'Add New Parameter to "',U[0]?U[0].name:C,'"'),a().createElement("button",{type:"button",onClick:function(){return ee(!1)},style:{background:"none",border:"none",fontSize:"1.25rem",cursor:"pointer",color:"#666"}},"\xd7")),a().createElement("form",{onSubmit:function(e){return i(function(){var t,n,r,a,o;return p(this,function(l){switch(l.label){case 0:if(e.preventDefault(),!(t=en.trim()))return e_("error","Please enter a Parameter Name."),[2];if(!(n=U[0]?U[0].name:C))return e_("error","No active test selected to add parameter to."),[2];l.label=1;case 1:return l.trys.push([1,3,4,5]),ew(!0),[4,fetch("/openmrs/ws/rest/v1/labtestmasterdetails/savedetails",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:0,location:"",testname:n.trim(),parametername:t,gender:em||"Both",agefrom:Number(ef||2),ageto:Number(ey||100),unit:eo.trim(),referencerange:ec.trim(),cby:K||""})})];case 2:if(!(r=l.sent()).ok)throw Error("Failed to save parameter: ".concat(r.statusText));return a={id:Date.now(),name:t,options:[],value:"",units:eo.trim(),flag:"",ranges:ec.trim(),savedId:0,isTestRow:!1},eN(function(e){return((function(e){if(Array.isArray(e))return s(e)})(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([a])}),e_("success",'Parameter "'.concat(t,'" saved and added to test!')),er(""),el(""),ei(""),ed("Both"),eg(2),eb(100),ee(!1),[3,5];case 3:return console.error(o=l.sent()),e_("error",o.message||"Failed to save new parameter"),[3,5];case 4:return ew(!1),[7];case 5:return[2]}})})()}},a().createElement("div",{className:l.A.my1},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Parameter Name ",a().createElement("span",{style:{color:"red"}},"*")),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:en,onChange:function(e){return er(e.target.value)},placeholder:"e.g. Hemoglobin / WBC / SGPT",required:!0})),a().createElement("div",{className:l.A.row,style:{marginTop:"0.5rem"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Unit"),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:eo,onChange:function(e){return el(e.target.value)},placeholder:"e.g. g/dL"})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Reference Range"),a().createElement("input",{type:"text",className:l.A.formControl,style:{width:"100%"},value:ec,onChange:function(e){return ei(e.target.value)},placeholder:"e.g. 12.0 - 16.0"}))),a().createElement("div",{className:l.A.row,style:{marginTop:"0.5rem"}},a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Gender"),a().createElement("select",{className:l.A.formControl,style:{width:"100%"},value:em,onChange:function(e){return ed(e.target.value)}},a().createElement("option",{value:"Both"},"Both"),a().createElement("option",{value:"Male"},"Male"),a().createElement("option",{value:"Female"},"Female"))),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Age From"),a().createElement("input",{type:"number",className:l.A.formControl,style:{width:"100%"},value:ef,onChange:function(e){return eg(Number(e.target.value))},min:0})),a().createElement("div",{className:"".concat(l.A.col," ").concat(l.A.my1)},a().createElement("label",{style:{display:"block",fontWeight:500,marginBottom:"0.25rem"}},"Age To"),a().createElement("input",{type:"number",className:l.A.formControl,style:{width:"100%"},value:ey,onChange:function(e){return eb(Number(e.target.value))},min:0}))),a().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.5rem",marginTop:"1.5rem"}},a().createElement("button",{type:"button",className:"".concat(l.A.btn),onClick:function(){return ee(!1)},disabled:eE,style:{backgroundColor:"#e0e0e0",color:"#333"}},"Cancel"),a().createElement("button",{type:"submit",className:"".concat(l.A.btn," ").concat(l.A.btnPrimary),disabled:eE},eE?"Saving...":"Save Parameter"))))))}}}]);
package/dist/277.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"277.js","sources":["webpack://@sasindi/addresults/./src/add-results-form.component.tsx"],"names":["navigateTo","url","window","PopStateEvent","ensureArray","data","Array","useTranslation","t","phn","localStorage","section","barcode","serial","_useState","patientName","setPatientName","_useState1","patientGender","setPatientGender","_useState2","patientAge","setPatientAge","_useState3","testName","setTestName","_useState4","testRemark","setTestRemark","_useState5","testDate","setTestDate","_useState6","testTime","setTestTime","_useState7","isMultiTest","setIsMultiTest","_useState8","orderedTests","setOrderedTests","_useState9","locationUuid","setLocationUuid","_useState10","instituteName","setInstituteName","_useState11","currentUserUuid","setCurrentUserUuid","_useState12","showAddParamModal","setShowAddParamModal","_useState13","newParamName","setNewParamName","_useState14","newParamUnit","setNewParamUnit","_useState15","newParamRange","setNewParamRange","_useState16","newParamGender","setNewParamGender","_useState17","newParamAgeFrom","setNewParamAgeFrom","_useState18","newParamAgeTo","setNewParamAgeTo","_useState19","savingNewParam","setSavingNewParam","_useState20","parameters","setParameters","_useState21","loading","setLoading","_useState22","showSpinner","setShowSpinner","_useState23","spinnerText","setSpinnerText","_useState24","sendToApproval","setSendToApproval","_useState25","flagGenerate","setFlagGenerate","_useState26","_useState27","toast","setToast","showToast","type","text","setTimeout","getCurrentDateFormatted","now","Date","year","month","String","day","getCurrentTimeFormatted","hours","minutes","getAge","dateString","today","birthDate","age","m","formatGender","gender","upper","useEffect","sessionRes","sessionData","personUuid","personRes","personData","initialLocUuid","locRes","phnRes","phnData","patientRes","person","testRes","testDataArray","testItems","err","fetch","Error","attr","_attr_display_split","key","value","locData","patientData","item","rawTestName","rowId","remark","parts","s","Boolean","p","pIdx","console","isMultiple","valuesRes","mainTest","savedValues","singleTestName","paramsRes","encodeURIComponent","matchedSaved","sv","initialValue","initialUnits","initialFlag","initialRanges","savedId","paramsData","paramId","paramName","paramOptionsStr","defaultUnit","defaultRange","options","JSON","e","getConceptReferenceTerm","codeName","res","term","a","handleParameterChange","field","prev","styles","onChange","onClick","idx","opt","finalTemplateFileName","templateRes","templateBlob","base64String","jsReportUrl","folderRes","folderData","folderShortId","folderId","assetRes","assetShortId","paramMap","parametersList","reportJsonData","jsreportDataRes","dataShortId","jsreportTemplateRes","templateShortId","renderRes","renderedDocxBlob","labEncounterUuid","labDetailsRes","docName","docToPdfUrl","finalBlob","finalDocName","isPdf","convertFormData","pdfRes","pdfBlob","pdfUrl","docxUrl","downloadLink","uploadFormData","serverUploadRes","serverUploadResult","rawDocRecord","saveDocUrl","err1","Promise","resolve","reject","reader","FileReader","assetData","itemCode","itemName","paramObj","jsreportDataResult","jsreportTemplateResult","labDetails","e1","FormData","document","saveDocRecordRes","_iteratorError","paramRecord","saveParamUrl","saveParamRes","saveStatusUrl","saveStatusRes","trimmedName","newParamObj","Number"],"mappings":"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"}
1
+ {"version":3,"file":"277.js","sources":["webpack://@sasindi/addresults/./src/add-results-form.component.tsx"],"names":["navigateTo","url","window","PopStateEvent","ensureArray","data","Array","useTranslation","t","phn","localStorage","section","barcode","serial","_useState","patientName","setPatientName","_useState1","patientGender","setPatientGender","_useState2","patientAge","setPatientAge","_useState3","testName","setTestName","_useState4","testRemark","setTestRemark","_useState5","testDate","setTestDate","_useState6","testTime","setTestTime","_useState7","isMultiTest","setIsMultiTest","_useState8","orderedTests","setOrderedTests","_useState9","locationUuid","setLocationUuid","_useState10","instituteName","setInstituteName","_useState11","currentUserUuid","setCurrentUserUuid","_useState12","showAddParamModal","setShowAddParamModal","_useState13","newParamName","setNewParamName","_useState14","newParamUnit","setNewParamUnit","_useState15","newParamRange","setNewParamRange","_useState16","newParamGender","setNewParamGender","_useState17","newParamAgeFrom","setNewParamAgeFrom","_useState18","newParamAgeTo","setNewParamAgeTo","_useState19","savingNewParam","setSavingNewParam","_useState20","parameters","setParameters","_useState21","loading","setLoading","_useState22","showSpinner","setShowSpinner","_useState23","spinnerText","setSpinnerText","_useState24","sendToApproval","setSendToApproval","_useState25","flagGenerate","setFlagGenerate","_useState26","_useState27","toast","setToast","showToast","type","text","setTimeout","getCurrentDateFormatted","now","Date","year","month","String","day","getCurrentTimeFormatted","hours","minutes","getAge","dateString","today","birthDate","age","m","formatGender","gender","upper","useEffect","sessionRes","sessionData","personUuid","personRes","personData","initialLocUuid","locRes","phnRes","phnData","patientRes","person","testRes","testDataArray","testItems","err","fetch","Error","attr","_attr_display_split","key","value","locData","patientData","item","rawTestName","rowId","remark","parts","s","Boolean","p","pIdx","console","isMultiple","valuesRes","mainTest","savedValues","singleTestName","paramsRes","encodeURIComponent","matchedSaved","sv","initialValue","initialUnits","initialFlag","initialRanges","savedId","paramsData","paramId","paramName","paramOptionsStr","defaultUnit","defaultRange","options","JSON","e","handleParameterChange","field","prev","styles","onChange","onClick","idx","opt","isSingleTest","formattedTestName","tableRowsHtml","htmlContent","printWin","labEncounterUuid","labDetailsRes","docName","htmlBlob","uploadFormData","serverUploadRes","serverUploadResult","rawDocRecord","saveDocUrl","Set","displayName","val","unit","flag","range","labDetails","Blob","FormData","_iteratorError","paramRecord","saveParamUrl","saveParamRes","saveStatusUrl","err1","saveStatusRes","trimmedName","res","newParamObj","Number"],"mappings":"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"}
@@ -200,9 +200,9 @@
200
200
  "rendered": true,
201
201
  "initial": false,
202
202
  "entry": false,
203
- "size": 94055,
203
+ "size": 81607,
204
204
  "sizes": {
205
- "javascript": 94055
205
+ "javascript": 81607
206
206
  },
207
207
  "names": [],
208
208
  "idHints": [],
@@ -216,7 +216,7 @@
216
216
  "auxiliaryFiles": [
217
217
  "277.js.map"
218
218
  ],
219
- "hash": "c1324a572fd6df90",
219
+ "hash": "de62ddfff533b544",
220
220
  "childrenByOrder": {}
221
221
  },
222
222
  {
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"route":"addresults","component":"root","online":true,"offline":true},{"route":"addresults-form","component":"addresultsForm","online":true,"offline":true}],"extensions":[],"version":"1.0.17"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","pages":[{"route":"addresults","component":"root","online":true,"offline":true},{"route":"addresults-form","component":"addresultsForm","online":true,"offline":true}],"extensions":[],"version":"1.0.20"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sasindi/addresults",
3
- "version": "1.0.17",
3
+ "version": "1.0.20",
4
4
  "license": "MPL-2.0",
5
5
  "description": "addresults frontend module for O3",
6
6
  "generator": "@openmrs/create-o3-app@1.2.0",
@@ -444,181 +444,138 @@ const AddResultsForm: React.FC = () => {
444
444
 
445
445
  try {
446
446
  setShowSpinner(true);
447
- setSpinnerText('Uploading file template...');
448
-
449
- // a. Template file name must be same as Test name (team convention)
450
- // Important: The DOCX template must be pre-placed on the server at:
451
- // /openmrs/data/owa/LabReportTemplateFileUploaded/${testName}.docx
452
- setSpinnerText('Reading report template...');
453
- const finalTemplateFileName = `${testName}.docx`;
454
-
455
- // b. Fetch report template directly from backend downloadtemplate REST API (which reads from server OWA folder)
456
- let fileUrl = `/openmrs/ws/rest/v1/addresult/downloadtemplate/${encodeURIComponent(finalTemplateFileName)}`;
457
- let templateRes = await fetch(fileUrl);
458
-
459
- // If test-specific template is missing, fall back to CommonTemplate.docx
460
- if (!templateRes.ok) {
461
- console.warn(`Specific template "${finalTemplateFileName}" not found. Falling back to CommonTemplate.docx.`);
462
- const commonFileUrl = `/openmrs/ws/rest/v1/addresult/downloadtemplate/CommonTemplate.docx`;
463
- templateRes = await fetch(commonFileUrl);
464
- if (!templateRes.ok) {
465
- throw new Error(`Neither "${finalTemplateFileName}" nor "CommonTemplate.docx" was found in LabReportTemplateFileUploaded folder on the server.`);
466
- }
467
- }
468
-
469
- const templateBlob = await templateRes.blob();
470
-
471
- // Convert to Base64
472
- const base64String: string = await new Promise((resolve, reject) => {
473
- const reader = new FileReader();
474
- reader.onloadend = () => {
475
- const res = reader.result as string;
476
- resolve(res.replace(/^data:.+;base64,/, ""));
477
- };
478
- reader.onerror = reject;
479
- reader.readAsDataURL(templateBlob);
480
- });
481
-
482
- // c. Resolve JSReport Server URL (with fallback to default if database is empty/slow)
483
- setSpinnerText('Connecting to JSReport server...');
484
- let jsReportUrl = '';
485
- try {
486
- jsReportUrl = await getConceptReferenceTerm('JSReportURLManual');
487
- } catch (e) {
488
- console.warn('Failed to fetch JSReportURLManual from database, using fallback', e);
489
- }
490
- if (!jsReportUrl) {
491
- jsReportUrl = 'http://localhost:5488/'; // Standard default local port for JSReport
492
- }
447
+ setSpinnerText('Preparing report...');
493
448
 
494
- // Create JSReport folder
495
- const folderRes = await fetch(`${jsReportUrl}odata/folders`, {
496
- method: 'POST',
497
- headers: { 'Content-Type': 'application/json' },
498
- body: JSON.stringify({ name: `${testName} folder` })
499
- });
500
- if (!folderRes.ok) throw new Error('Failed to create folder on JSReport server');
501
- const folderData = await folderRes.json();
502
- const folderShortId = folderData.shortid;
503
- const folderId = folderData._id;
504
-
505
- // Upload template asset to JSReport folder
506
- const assetRes = await fetch(`${jsReportUrl}odata/assets`, {
507
- method: 'POST',
508
- headers: { 'Content-Type': 'application/json' },
509
- body: JSON.stringify({
510
- content: base64String,
511
- folder: { shortid: folderShortId },
512
- name: testName
513
- })
514
- });
515
- if (!assetRes.ok) throw new Error('Failed to upload asset to JSReport');
516
- const assetData = await assetRes.json();
517
- const assetShortId = assetData.shortid;
518
-
519
- // Construct payload data
520
- const paramMap: { [key: string]: any } = {};
521
- const parametersList: any[] = [];
449
+ const isSingleTest = orderedTests.length <= 1 && !isMultiTest;
450
+ const formattedTestName = orderedTests.length > 0
451
+ ? Array.from(new Set(orderedTests.map((t: any) => (t.name || '').trim()))).filter(Boolean).join(', ')
452
+ : testName;
522
453
 
523
- parameters.forEach((p, idx) => {
524
- let itemCode = p.name;
454
+ // Construct parameter table rows HTML
455
+ const tableRowsHtml = parameters.map((p: any) => {
456
+ let itemCode = p.name || '';
525
457
  let itemName = '';
526
- if (p.name.includes('/')) {
458
+ if (p.name && p.name.includes('/')) {
527
459
  const parts = p.name.split('/');
528
460
  itemName = parts[0].trim();
529
461
  itemCode = parts[1].trim();
530
462
  }
463
+ const displayName = isSingleTest ? p.name : (p.testName || p.name);
464
+ const val = p.value || '';
465
+ const unit = p.units || '';
466
+ const flag = p.flag || '';
467
+ const range = p.ranges || '';
468
+
469
+ return `
470
+ <tr>
471
+ <td style="border: 1px solid #000; padding: 6px 10px; font-weight: 500;">${displayName}</td>
472
+ <td style="border: 1px solid #000; padding: 6px 10px; text-align: center; font-weight: bold;">${val}</td>
473
+ <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">${unit}</td>
474
+ <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">${flag}</td>
475
+ <td style="border: 1px solid #000; padding: 6px 10px; text-align: center;">${range}</td>
476
+ </tr>
477
+ `;
478
+ }).join('');
479
+
480
+ // Complete HTML Document matching media_1788372543957.png layout
481
+ const htmlContent = `<!DOCTYPE html>
482
+ <html>
483
+ <head>
484
+ <meta charset="utf-8">
485
+ <title>Lab Report - ${patientName}</title>
486
+ <style>
487
+ @page { size: A4; margin: 15mm; }
488
+ body { font-family: 'Segoe UI', Calibri, Arial, sans-serif; color: #000; background: #fff; margin: 0; padding: 25px; }
489
+ .confidential { text-align: right; font-style: italic; text-decoration: underline; font-size: 11px; font-weight: bold; margin-bottom: 5px; }
490
+ .header-block { text-align: center; margin-bottom: 15px; }
491
+ .header-title { font-family: Arial, sans-serif; font-size: 26px; font-weight: bold; margin: 0; letter-spacing: 1px; }
492
+ .header-sub { font-size: 14px; margin-top: 5px; color: #333; }
493
+ .divider { border-bottom: 2px solid #000; margin: 15px 0 20px 0; }
494
+ .demo-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 13px; line-height: 1.8; }
495
+ .demo-table td { padding: 3px 0; vertical-align: top; }
496
+ .test-name-line { font-size: 14px; margin-bottom: 15px; font-weight: normal; }
497
+ .test-name-val { font-weight: bold; }
498
+ .report-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }
499
+ .report-table th { background-color: #80E2A7; color: #000; font-weight: bold; border: 1px solid #000; padding: 8px 10px; text-align: center; }
500
+ .report-table td { border: 1px solid #000; padding: 6px 10px; }
501
+ .footer-block { margin-top: 50px; display: flex; justify-content: space-between; font-size: 12px; }
502
+ @media print {
503
+ body { padding: 0; }
504
+ }
505
+ </style>
506
+ </head>
507
+ <body>
508
+ <div class="confidential">CONFIDENTIAL</div>
509
+ <div class="header-block">
510
+ <div class="header-title">LABORATORY</div>
511
+ <div class="header-sub">Hospital Name: ${instituteName}</div>
512
+ </div>
513
+ <div class="divider"></div>
514
+
515
+ <table class="demo-table">
516
+ <tr>
517
+ <td style="width: 55%;">
518
+ <div><strong>Patient Name:</strong> ${patientName}</div>
519
+ <div><strong>Ref.Doctor :</strong> </div>
520
+ <div><strong>Sample Collection :</strong> ${testDate} ${testTime}</div>
521
+ </td>
522
+ <td style="width: 45%;">
523
+ <div><strong>PHN No :</strong> <strong>${phn}</strong></div>
524
+ <div><strong>Age :</strong> ${patientAge}</div>
525
+ <div><strong>Printed Date:</strong> ${getCurrentDateFormatted()} ${getCurrentTimeFormatted()}</div>
526
+ </td>
527
+ </tr>
528
+ </table>
529
+
530
+ <div class="test-name-line">
531
+ <strong>Test Name :</strong> <span class="test-name-val">${formattedTestName || testName}</span>
532
+ </div>
533
+
534
+ <table class="report-table">
535
+ <thead>
536
+ <tr>
537
+ <th style="width: 35%;">Parameter</th>
538
+ <th style="width: 15%;">Values</th>
539
+ <th style="width: 15%;">Unit</th>
540
+ <th style="width: 15%;">Flag</th>
541
+ <th style="width: 20%;">Ref. Ranges</th>
542
+ </tr>
543
+ </thead>
544
+ <tbody>
545
+ ${tableRowsHtml}
546
+ </tbody>
547
+ </table>
548
+
549
+ <div class="footer-block">
550
+ <div>
551
+ <div>The results are for this sample only</div>
552
+ <div>Test Date: ${testDate}</div>
553
+ </div>
554
+ <div style="text-align: right;">
555
+ <div>........................................................</div>
556
+ <div><strong>Medical Laboratory Technologist</strong></div>
557
+ <div style="margin-top: 5px;">Print Time: ${getCurrentTimeFormatted()}</div>
558
+ </div>
559
+ </div>
560
+
561
+ <script>
562
+ window.onload = function() {
563
+ setTimeout(function() {
564
+ window.print();
565
+ }, 300);
566
+ };
567
+ </script>
568
+ </body>
569
+ </html>`;
570
+
571
+ // Open automatic print preview window in browser
572
+ const printWin = window.open('', '_blank');
573
+ if (printWin) {
574
+ printWin.document.write(htmlContent);
575
+ printWin.document.close();
576
+ }
531
577
 
532
- const paramObj = {
533
- value: p.value,
534
- units: p.units,
535
- ranges: p.ranges,
536
- flag: p.flag,
537
- item: itemCode,
538
- itemName: itemName,
539
- itemCode: itemCode
540
- };
541
-
542
- // 1. Map by full parameter name (e.g. "SGPT / ALT")
543
- paramMap[p.name] = paramObj;
544
-
545
- // 2. Map by split item code (e.g. "ALT")
546
- paramMap[itemCode] = paramObj;
547
-
548
- // 3. Map by split item name (e.g. "SGPT") if it exists
549
- if (itemName) {
550
- paramMap[itemName] = paramObj;
551
- }
552
-
553
- parametersList.push({
554
- index: idx + 1,
555
- item: itemCode,
556
- itemName: itemName,
557
- value: p.value,
558
- units: p.units,
559
- ranges: p.ranges,
560
- flag: p.flag
561
- });
562
- });
563
-
564
- const reportJsonData = {
565
- hospital: instituteName,
566
- patientname: patientName,
567
- phn: phn,
568
- docname: '', // loaded docname
569
- testName: testName,
570
- age: patientAge,
571
- collectdate: `${testDate} ${testTime}`,
572
- printdate: `${getCurrentDateFormatted()} ${getCurrentTimeFormatted()}`,
573
- parameters: paramMap,
574
- parametersList: parametersList
575
- };
576
-
577
- // Create JSReport Data element
578
- const jsreportDataRes = await fetch(`${jsReportUrl}odata/data`, {
579
- method: 'POST',
580
- headers: { 'Content-Type': 'application/json' },
581
- body: JSON.stringify({
582
- dataJson: JSON.stringify(reportJsonData),
583
- folder: { shortid: folderShortId },
584
- name: `${testName} data`
585
- })
586
- });
587
- if (!jsreportDataRes.ok) throw new Error('Failed to register report data on JSReport');
588
- const jsreportDataResult = await jsreportDataRes.json();
589
- const dataShortId = jsreportDataResult.shortid;
590
-
591
- // Create JSReport Template element
592
- const jsreportTemplateRes = await fetch(`${jsReportUrl}odata/templates`, {
593
- method: 'POST',
594
- headers: { 'Content-Type': 'application/json' },
595
- body: JSON.stringify({
596
- data: { shortid: dataShortId },
597
- docx: { templateAssetShortid: assetShortId },
598
- engine: 'handlebars',
599
- folder: { shortid: folderShortId },
600
- name: `${testName} template`,
601
- recipe: 'docx'
602
- })
603
- });
604
- if (!jsreportTemplateRes.ok) throw new Error('Failed to construct template configuration on JSReport');
605
- const jsreportTemplateResult = await jsreportTemplateRes.json();
606
- const templateShortId = jsreportTemplateResult.shortid;
607
-
608
- // Render DOCX report from template
609
- setSpinnerText('Rendering report...');
610
- const renderRes = await fetch(`${jsReportUrl}api/report`, {
611
- method: 'POST',
612
- headers: { 'Content-Type': 'application/json' },
613
- body: JSON.stringify({
614
- template: { shortid: templateShortId },
615
- recipe: 'docx'
616
- })
617
- });
618
- if (!renderRes.ok) throw new Error('Failed to compile report document on JSReport');
619
- const renderedDocxBlob = await renderRes.blob();
620
-
621
- // e. Fetch laboratory details to retrieve encounter UUID first
578
+ // Fetch laboratory details to retrieve encounter UUID for OpenMRS record storage
622
579
  setSpinnerText('Saving document attachment...');
623
580
  let labEncounterUuid = '';
624
581
  let labDetailsRes;
@@ -635,102 +592,44 @@ const AddResultsForm: React.FC = () => {
635
592
  labEncounterUuid = labDetails.encounteruuid || '';
636
593
  }
637
594
 
638
- const docName = `${phn}@@@${testName}@@@${labEncounterUuid}`;
639
-
640
- // Resolve DocToPdf Converter URL
641
- let docToPdfUrl = '';
642
- try {
643
- docToPdfUrl = await getConceptReferenceTerm('DocToPdfConverterURLManual');
644
- } catch (e) {
645
- console.warn('Failed to fetch DocToPdfConverterURLManual from database, using fallback', e);
646
- }
647
- if (!docToPdfUrl) {
648
- docToPdfUrl = 'http://localhost:5000/';
649
- }
650
-
651
- // Try PDF conversion
652
- let finalBlob = renderedDocxBlob;
653
- let finalDocName = `${docName}.docx`;
654
- let isPdf = false;
655
-
656
- try {
657
- setSpinnerText('Converting report to PDF...');
658
- const convertFormData = new FormData();
659
- convertFormData.append('file', renderedDocxBlob, 'document.docx');
660
- const pdfRes = await fetch(`${docToPdfUrl}convert-to-pdf`, {
661
- method: 'POST',
662
- body: convertFormData
663
- });
664
-
665
- if (pdfRes.ok) {
666
- const pdfBlob = await pdfRes.blob();
667
- finalBlob = pdfBlob;
668
- finalDocName = `${docName}.pdf`;
669
- isPdf = true;
670
-
671
- // Open the PDF in a new window/tab (Print Preview)
672
- const pdfUrl = window.URL.createObjectURL(pdfBlob);
673
- window.open(pdfUrl);
674
- } else {
675
- console.warn('PDF conversion response was not ok, falling back to DOCX.');
676
- }
677
- } catch (err) {
678
- console.warn('PDF conversion service failed or not reachable, falling back to DOCX.', err);
679
- }
680
-
681
- if (!isPdf) {
682
- // Trigger direct download of the generated DOCX report
683
- const docxUrl = window.URL.createObjectURL(renderedDocxBlob);
684
- const downloadLink = document.createElement('a');
685
- downloadLink.href = docxUrl;
686
- downloadLink.download = `${testName}_Report.docx`;
687
- document.body.appendChild(downloadLink);
688
- downloadLink.click();
689
- document.body.removeChild(downloadLink);
690
- showToast('error', 'PDF converter not available. Defaulted to DOCX download.');
691
- }
595
+ const docName = `${phn}@@@${testName}@@@${labEncounterUuid}.html`;
596
+ const htmlBlob = new Blob([htmlContent], { type: 'text/html' });
692
597
 
693
598
  // Upload attachment to OpenMRS OWA filesystem
694
599
  const uploadFormData = new FormData();
695
- uploadFormData.append('file', finalBlob, finalDocName);
600
+ uploadFormData.append('file', htmlBlob, docName);
696
601
 
697
602
  const serverUploadRes = await fetch('/openmrs/ws/rest/v1/addresult/upload', {
698
603
  method: 'POST',
699
604
  body: uploadFormData
700
605
  });
701
- if (!serverUploadRes.ok) throw new Error('Failed to upload attachment to OpenMRS OWA');
702
- const serverUploadResult = await serverUploadRes.json();
703
-
704
- // Save report document record
705
- const rawDocRecord = {
706
- labreportingid: section === 'OPD' ? serial : null,
707
- labreportingclinicid: section === 'Clinic' ? serial : null,
708
- labreportingwardid: section === 'Ward' ? serial : null,
709
- reportname: finalDocName,
710
- file: serverUploadResult.data,
711
- status: 'Approved',
712
- cby: currentUserUuid
713
- };
714
-
715
- let saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocument';
716
- if (section === 'Clinic') saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocumentclinic';
717
- if (section === 'Ward') saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocumentward';
606
+ if (serverUploadRes.ok) {
607
+ const serverUploadResult = await serverUploadRes.json();
608
+
609
+ // Save report document record in OpenMRS database
610
+ const rawDocRecord = {
611
+ labreportingid: section === 'OPD' ? serial : null,
612
+ labreportingclinicid: section === 'Clinic' ? serial : null,
613
+ labreportingwardid: section === 'Ward' ? serial : null,
614
+ reportname: docName,
615
+ file: serverUploadResult.data,
616
+ status: 'Approved',
617
+ cby: currentUserUuid
618
+ };
718
619
 
719
- const saveDocRecordRes = await fetch(saveDocUrl, {
720
- method: 'POST',
721
- headers: { 'Content-Type': 'application/json' },
722
- body: JSON.stringify(rawDocRecord)
723
- });
724
- if (!saveDocRecordRes.ok) throw new Error('Failed to save document meta record to database');
620
+ let saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocument';
621
+ if (section === 'Clinic') saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocumentclinic';
622
+ if (section === 'Ward') saveDocUrl = '/openmrs/ws/rest/v1/addresult/savedocumentward';
725
623
 
726
- // Cleanup JSReport folder
727
- setSpinnerText('Cleaning up...');
728
- await fetch(`${jsReportUrl}odata/folders('${folderId}')`, {
729
- method: 'DELETE'
730
- });
624
+ await fetch(saveDocUrl, {
625
+ method: 'POST',
626
+ headers: { 'Content-Type': 'application/json' },
627
+ body: JSON.stringify(rawDocRecord)
628
+ });
629
+ }
731
630
 
732
631
  setFlagGenerate(true);
733
- showToast('success', 'Report generated and converted successfully!');
632
+ showToast('success', 'Report generated successfully!');
734
633
 
735
634
  } catch (err: any) {
736
635
  console.error(err);