@sasindi/addresults 1.0.15 → 1.0.16
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:()=>h});var n=r(9551),a=r.n(n),o=r(7817),s=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 l(e,t,r,n,a,o,s){try{var c=e[o](s),l=c.value}catch(e){r(e);return}c.done?t(l):Promise.resolve(l).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 s(e){l(o,n,a,s,c,"next",e)}function c(e){l(o,n,a,s,c,"throw",e)}s(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 d(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=[],s=!0,c=!1;try{for(a=a.call(e);!(s=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);s=!0);}catch(e){c=!0,n=e}finally{try{s||null==a.return||a.return()}finally{if(c)throw n}}return o}}(e,t)||function(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)}}(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 m(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),c=Object.defineProperty;return c(s,"next",{value:l(0)}),c(s,"throw",{value:l(1)}),c(s,"return",{value:l(2)}),"function"==typeof Symbol&&c(s,Symbol.iterator,{value:function(){return this}}),s;function l(c){return function(l){var i=[c,l];if(r)throw TypeError("Generator is already executing.");for(;s&&(s=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 p=function(e){window.history.pushState({},"",e),window.dispatchEvent(new PopStateEvent("popstate"))},f=function(e){return Array.isArray(e)?e:e&&Array.isArray(e.data)?e.data:e&&Array.isArray(e.results)?e.results:[]};let h=function(){(0,o.useTranslation)().t;var e=localStorage.getItem("phnNo")||"",t=localStorage.getItem("section")||"",r=localStorage.getItem("barcode")||"",c=localStorage.getItem("id")||"",l=d((0,n.useState)(""),2),h=l[0],v=l[1],y=d((0,n.useState)(""),2),g=y[0],b=y[1],w=d((0,n.useState)(""),2),E=w[0],S=w[1],A=d((0,n.useState)(""),2),N=A[0],O=A[1],C=d((0,n.useState)(""),2),x=C[0],k=C[1],j=d((0,n.useState)(""),2),P=j[0],T=j[1],R=d((0,n.useState)(""),2),D=R[0],F=R[1],I=d((0,n.useState)(!1),2),U=I[0],J=I[1],L=d((0,n.useState)([]),2),W=L[0],M=L[1],B=d((0,n.useState)(""),2),G=B[0],_=B[1],H=d((0,n.useState)(""),2),X=H[0],Y=H[1],z=d((0,n.useState)(""),2),V=z[0],$=z[1],q=d((0,n.useState)([]),2),K=q[0],Q=q[1],Z=d((0,n.useState)(!0),2),ee=Z[0],et=Z[1],er=d((0,n.useState)(!1),2),en=er[0],ea=er[1],eo=d((0,n.useState)("Processing report..."),2),es=eo[0],ec=eo[1],el=d((0,n.useState)(!1),2),ei=el[0],eu=el[1],ed=d((0,n.useState)(!1),2),em=ed[0],ep=ed[1],ef=d((0,n.useState)(null),2);ef[0],ef[1];var eh=d((0,n.useState)(null),2),ev=eh[0],ey=eh[1],eg=function(e,t){ey({type:e,text:t}),setTimeout(function(){return ey(null)},3e3)},eb=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)},ew=function(){var e=new Date,t=String(e.getHours()).padStart(2,"0"),r=String(e.getMinutes()).padStart(2,"0");return"".concat(t,":").concat(r)},eE=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)},eS=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,s,l,i,u,p,h,y,g,w,E,A;return m(this,function(m){switch(m.label){case 0:return m.trys.push([0,18,19,20]),et(!0),[4,fetch("/openmrs/ws/rest/v1/session")];case 1:if(!(t=m.sent()).ok)throw Error("Failed to load session");return[4,t.json()];case 2:return a=(n=m.sent()).user.person.uuid,$(n.user.uuid),[4,fetch("/openmrs/ws/rest/v1/person/".concat(a))];case 3:if(!(o=m.sent()).ok)throw Error("Failed to load person");return[4,o.json()];case 4:if(s=m.sent(),l="",s.attributes&&s.attributes.forEach(function(e){if(e.display){var t=d(e.display.split("="),2),r=t[0],n=t[1];r&&n&&("Institute Id"===r.trim()||"Institute"===r.trim())&&(l=n.trim())}}),!l&&n.sessionLocation&&n.sessionLocation.uuid&&(l=n.sessionLocation.uuid),_(l),!l)return[3,7];return[4,fetch("/openmrs/ws/rest/v1/location/".concat(l))];case 5:if(!(i=m.sent()).ok)return[3,7];return[4,i.json()];case 6:Y(m.sent().display||""),m.label=7;case 7:return[4,fetch("/openmrs/ws/rest/v1/opd/phn/".concat(e))];case 8:if(!(u=m.sent()).ok)throw Error("PHN not found!");return[4,u.json()];case 9:if(!(p=m.sent()).patientuuid)return[3,14];return[4,fetch("/openmrs/ws/rest/v1/patient/".concat(p.patientuuid))];case 10:if(!(h=m.sent()).ok)return[3,12];return[4,h.json()];case 11:return v((y=m.sent().person||{}).display||p.fullName||""),b(eS(y.gender||"")),y.birthdate&&S(eE(y.birthdate)),[3,13];case 12:v(p.fullName||""),S(eE(p.dateOfBirth)),m.label=13;case 13:return[3,15];case 14:v(p.fullName||""),S(eE(p.dateOfBirth)),m.label=15;case 15:return[4,fetch("/openmrs/ws/rest/v1/addresult/loadview/".concat(r))];case 16:if(!(g=m.sent()).ok)throw Error("Barcode details not found!");return[4,g.json()];case 17:return w=f(m.sent()),E=[],w.length>0&&(w.forEach(function(e){var t=(e[2]||"").trim(),r=e[8]||c,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})}),O(E.map(function(e){return e.name}).join(", ")),k(w[0][9]||""),M(E),J(E.length>1)),T(eb()),F(ew()),[3,20];case 18:return console.error(A=m.sent()),eg("error",A.message||"Error initializing page data"),[3,20];case 19:return et(!1),[7];case 20:return[2]}})})()},[e,r]),(0,n.useEffect)(function(){N&&G&&i(function(){var e,r,n,a,o,s;return m(this,function(l){switch(l.label){case 0:if(l.trys.push([0,13,,14]),J(e=W.length>1),n=W.length>0?W[0].name:N,"OPD"!==t)return[3,2];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueopd/".concat(c,"/").concat(encodeURIComponent(n)))];case 1:case 3:return r=l.sent(),[3,6];case 2:if("Clinic"!==t)return[3,4];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueclinic/".concat(c,"/").concat(encodeURIComponent(n)))];case 4:if("Ward"!==t)return[3,6];return[4,fetch("/openmrs/ws/rest/v1/addresult/getvalueward/".concat(c,"/").concat(encodeURIComponent(n)))];case 5:r=l.sent(),l.label=6;case 6:if(a=[],!(r&&r.ok))return[3,8];return[4,r.json()];case 7:a=f(l.sent()),l.label=8;case 8:if(!e)return[3,9];return Q(W.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]:"",s=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:s,savedId:c,isTestRow:!0}})),[3,12];case 9:return o=W[0]?W[0].name:N,[4,fetch("/openmrs/ws/rest/v1/addresult/loadparameter/".concat(encodeURIComponent(o),"/").concat(G))];case 10:if(!(s=l.sent()).ok)throw Error("Failed to load parameters");return[4,s.json()];case 11:Q(f(l.sent()).map(function(e){var t=e[3],r=e[2],n=e[4],o=e[5]||"",s=e[6]||"",c=[];try{n&&"string"==typeof n&&(c=JSON.parse(n))}catch(e){c=[]}var l=a.find(function(e){return e[2]===t||e[1]===r}),i=l&&null!==l[0]?l[0]:c.length>0?c[0]:"";return{id:t,name:r,options:c,value:i,units:l&&l[5]?l[5]:o,flag:l&&l[6]?l[6]:"",ranges:l&&l[7]?l[7]:s,savedId:l?l[3]:0,isTestRow:!1}})),l.label=12;case 12:return[3,14];case 13:return console.error(l.sent()),eg("error","Error loading test details"),[3,14];case 14:return[2]}})})()},[N,G,t,c,W]);var eA=function(e){return i(function(){var t,r,n;return m(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,""]}})})()},eN=function(e,t,r){Q(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:s.A.bodyWrapper},ev&&a().createElement("div",{className:"".concat(s.A.toast," ").concat("success"===ev.type?s.A.toastSuccess:s.A.toastError)},ev.text),en&&a().createElement("div",{className:s.A.overlay},a().createElement("div",{className:s.A.spinner}),a().createElement("p",null,es)),ee?a().createElement("div",{className:s.A.card},a().createElement("div",{className:s.A.textCenter,style:{padding:"2rem"}},a().createElement("div",{className:s.A.spinner,style:{margin:"0 auto"}}),a().createElement("p",{style:{marginTop:"1rem",color:"var(--text-light)"}},"Loading profile data..."))):a().createElement("div",{className:s.A.card},a().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",flexWrap:"wrap",gap:"10px"}},a().createElement("h2",{className:s.A.navTitle,style:{margin:0}},"Enter Test Results"),a().createElement("div",{className:s.A.instituteSelector,style:{margin:0}},a().createElement("span",null,"Hospital:"),a().createElement("span",{style:{fontWeight:600,color:"var(--primary-color)",marginLeft:"0.5rem"}},X))),a().createElement("div",{className:s.A.row},a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Full Name"),a().createElement("input",{type:"text",className:s.A.formControl,value:h,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Section"),a().createElement("input",{type:"text",className:s.A.formControl,value:t,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"PHN No"),a().createElement("input",{type:"text",className:s.A.formControl,value:e,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Age"),a().createElement("input",{type:"text",className:s.A.formControl,value:E,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Gender"),a().createElement("input",{type:"text",className:s.A.formControl,value:g,readOnly:!0}))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:s.A.row},a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1),style:{flexGrow:2}},a().createElement("label",null,"Test Name"),a().createElement("input",{type:"text",className:s.A.formControl,value:N,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1),style:{flexGrow:3}},a().createElement("label",null,"Remark"),a().createElement("textarea",{className:s.A.formControl,rows:2,value:x,readOnly:!0})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Date"),a().createElement("input",{type:"date",className:s.A.formControl,value:P,onChange:function(e){return T(e.target.value)}})),a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1)},a().createElement("label",null,"Time"),a().createElement("input",{type:"time",className:s.A.formControl,value:D,onChange:function(e){return F(e.target.value)}}))),a().createElement("hr",{style:{margin:"2rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("h3",{style:{fontSize:"1.1rem",fontWeight:600,marginBottom:"1rem",color:"var(--primary-color)"}},U?"Ordered Tests":"Test Parameters"),a().createElement("div",{className:s.A.showHideTableParameter},a().createElement("table",{className:"".concat(s.A.table," ").concat(s.A.tableBordered," ").concat(s.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,K.length>0?K.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:s.A.formControl,value:e.value,onChange:function(t){return eN(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:s.A.formControl,value:e.value,onChange:function(t){return eN(e.id,"value",t.target.value)},style:{width:"100%"}})),a().createElement("td",null,a().createElement("input",{type:"text",className:s.A.formControl,value:e.units,onChange:function(t){return eN(e.id,"units",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:s.A.formControl,value:e.flag,onChange:function(t){return eN(e.id,"flag",t.target.value)}})),a().createElement("td",null,a().createElement("input",{type:"text",className:s.A.formControl,value:e.ranges,onChange:function(t){return eN(e.id,"ranges",t.target.value)}})))}):a().createElement("tr",null,a().createElement("td",{colSpan:6,className:s.A.textCenter,style:{color:"var(--text-light)"}},"No parameters defined for this test."))))),a().createElement("div",{className:s.A.row,style:{marginTop:"2rem",alignItems:"center"}},a().createElement("div",{className:"".concat(s.A.col," ").concat(s.A.my1),style:{flexGrow:2}},a().createElement("div",{className:s.A.checkboxContainer,onClick:function(){return eu(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(s.A.col," ").concat(s.A.my1),style:{flexGrow:3,alignItems:"flex-end"}},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnWarning),onClick:function(){return i(function(){var r,n,a,o,s,l,i,u,d,p,f,v,y,g,b,w,S,A,O,C,x,k,j,T,R,F,I,U,J,L,W,M,B,G,_,H,Y,z,$;return m(this,function(m){switch(m.label){case 0:if(K.some(function(e){return""===String(e.value).trim()}))return eg("error","Please fill all parameter values before generating report."),[2];m.label=1;case 1:return m.trys.push([1,42,43,44]),ea(!0),ec("Uploading file template..."),ec("Reading report template..."),r="".concat(N,".docx"),[4,fetch("/openmrs/ws/rest/v1/addresult/downloadtemplate/".concat(encodeURIComponent(r)))];case 2:if(!(n=m.sent()).ok)throw Error('Template not found: "'.concat(r,'". Please place the DOCX template in the LabReportTemplateFileUploaded folder on the server.'));return[4,n.blob()];case 3:return a=m.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 4:o=m.sent(),ec("Connecting to JSReport server..."),s="",m.label=5;case 5:return m.trys.push([5,7,,8]),[4,eA("JSReportURLManual")];case 6:return s=m.sent(),[3,8];case 7:return console.warn("Failed to fetch JSReportURLManual from database, using fallback",m.sent()),[3,8];case 8:return s||(s="http://localhost:5488/"),[4,fetch("".concat(s,"odata/folders"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"".concat(N," folder")})})];case 9:if(!(l=m.sent()).ok)throw Error("Failed to create folder on JSReport server");return[4,l.json()];case 10:return u=(i=m.sent()).shortid,d=i._id,[4,fetch("".concat(s,"odata/assets"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:o,folder:{shortid:u},name:N})})];case 11:if(!(p=m.sent()).ok)throw Error("Failed to upload asset to JSReport");return[4,p.json()];case 12:return f=m.sent().shortid,v={},y=[],K.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};v[e.name]=o,v[r]=o,n&&(v[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:X,patientname:h,phn:e,docname:"",testName:N,age:E,collectdate:"".concat(P," ").concat(D),printdate:"".concat(eb()," ").concat(ew()),parameters:v,parametersList:y},[4,fetch("".concat(s,"odata/data"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dataJson:JSON.stringify(g),folder:{shortid:u},name:"".concat(N," data")})})];case 13:if(!(b=m.sent()).ok)throw Error("Failed to register report data on JSReport");return[4,b.json()];case 14:return w=m.sent().shortid,[4,fetch("".concat(s,"odata/templates"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({data:{shortid:w},docx:{templateAssetShortid:f},engine:"handlebars",folder:{shortid:u},name:"".concat(N," template"),recipe:"docx"})})];case 15:if(!(S=m.sent()).ok)throw Error("Failed to construct template configuration on JSReport");return[4,S.json()];case 16:return A=m.sent().shortid,ec("Rendering report..."),[4,fetch("".concat(s,"api/report"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:{shortid:A},recipe:"docx"})})];case 17:if(!(O=m.sent()).ok)throw Error("Failed to compile report document on JSReport");return[4,O.blob()];case 18:if(C=m.sent(),ec("Saving document attachment..."),x="","OPD"!==t)return[3,20];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsopd/".concat(c))];case 19:case 21:return k=m.sent(),[3,24];case 20:if("Clinic"!==t)return[3,22];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsclinic/".concat(c))];case 22:if("Ward"!==t)return[3,24];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsward/".concat(c))];case 23:k=m.sent(),m.label=24;case 24:if(!(k&&k.ok))return[3,26];return[4,k.json()];case 25:x=m.sent().encounteruuid||"",m.label=26;case 26:j="".concat(e,"@@@").concat(N,"@@@").concat(x),T="",m.label=27;case 27:return m.trys.push([27,29,,30]),[4,eA("DocToPdfConverterURLManual")];case 28:return T=m.sent(),[3,30];case 29:return console.warn("Failed to fetch DocToPdfConverterURLManual from database, using fallback",m.sent()),[3,30];case 30:T||(T="http://localhost:5000/"),R=C,F="".concat(j,".docx"),I=!1,m.label=31;case 31:return m.trys.push([31,36,,37]),ec("Converting report to PDF..."),(U=new FormData).append("file",C,"document.docx"),[4,fetch("".concat(T,"convert-to-pdf"),{method:"POST",body:U})];case 32:if(!(J=m.sent()).ok)return[3,34];return[4,J.blob()];case 33:return R=L=m.sent(),F="".concat(j,".pdf"),I=!0,W=window.URL.createObjectURL(L),window.open(W),[3,35];case 34:console.warn("PDF conversion response was not ok, falling back to DOCX."),m.label=35;case 35:return[3,37];case 36:return console.warn("PDF conversion service failed or not reachable, falling back to DOCX.",m.sent()),[3,37];case 37:return I||(M=window.URL.createObjectURL(C),(B=document.createElement("a")).href=M,B.download="".concat(N,"_Report.docx"),document.body.appendChild(B),B.click(),document.body.removeChild(B),eg("error","PDF converter not available. Defaulted to DOCX download.")),(G=new FormData).append("file",R,F),[4,fetch("/openmrs/ws/rest/v1/addresult/upload",{method:"POST",body:G})];case 38:if(!(_=m.sent()).ok)throw Error("Failed to upload attachment to OpenMRS OWA");return[4,_.json()];case 39:return H=m.sent(),Y={labreportingid:"OPD"===t?c:null,labreportingclinicid:"Clinic"===t?c:null,labreportingwardid:"Ward"===t?c:null,reportname:F,file:H.data,status:"Approved",cby:V},z="/openmrs/ws/rest/v1/addresult/savedocument","Clinic"===t&&(z="/openmrs/ws/rest/v1/addresult/savedocumentclinic"),"Ward"===t&&(z="/openmrs/ws/rest/v1/addresult/savedocumentward"),[4,fetch(z,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)})];case 40:if(!m.sent().ok)throw Error("Failed to save document meta record to database");return ec("Cleaning up..."),[4,fetch("".concat(s,"odata/folders('").concat(d,"')"),{method:"DELETE"})];case 41:return m.sent(),ep(!0),eg("success","Report generated and converted successfully!"),[3,44];case 42:return console.error($=m.sent()),eg("error",$.message||"Error occurred during report generation"),[3,44];case 43:return ea(!1),[7];case 44:return[2]}})})()}},"Generate Report"))),a().createElement("hr",{style:{margin:"1.5rem 0",borderTop:"1px solid var(--border-color)"}}),a().createElement("div",{className:s.A.textRight},a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnSuccess," ").concat(s.A.mx2),onClick:function(){return i(function(){var e,r,n,a,o,s,l,i,u,d,f;return m(this,function(m){switch(m.label){case 0:if(!em)return eg("error","Please generate Report first before saving."),[2];if(!P||!D)return eg("error","Please fill all the date and time fields."),[2];m.label=1;case 1:m.trys.push([1,11,12,13]),ea(!0),ec("Saving parameter values..."),e=!0,r=!1,n=void 0,m.label=2;case 2:m.trys.push([2,7,8,9]),a=K[Symbol.iterator](),m.label=3;case 3:if(e=(o=a.next()).done)return[3,6];return l={id:(s=o.value).savedId,parameterid:s.id,value:s.value,cby:V,units:s.units,flag:s.flag,ranges:s.ranges},i="/openmrs/ws/rest/v1/addresult/saveparametervalue","OPD"===t?l.labreportingid=c:"Clinic"===t?(l.labreportingclinicid=c,i="/openmrs/ws/rest/v1/addresult/saveparametervalueclinic"):"Ward"===t&&(l.labreportingwardid=c,i="/openmrs/ws/rest/v1/addresult/saveparametervalueward"),[4,fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)})];case 4:if(!m.sent().ok)throw Error("Failed to save parameter ".concat(s.name));m.label=5;case 5:return e=!0,[3,3];case 6:return[3,9];case 7:return u=m.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 ec("Updating laboratory status..."),d="/openmrs/ws/rest/v1/samplecollection/labtestsstatus","Clinic"===t?d="/openmrs/ws/rest/v1/samplecollection/labtestsstatusclinic":"Ward"===t&&(d="/openmrs/ws/rest/v1/samplecollection/labtestsstatusward"),[4,fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:c,status:ei?"Send Approved":"Approved"})})];case 10:if(!m.sent().ok)throw Error("Failed to update lab test status");return eg("success","Data Saved Successfully!"),setTimeout(function(){p(window.getOpenmrsSpaBase()+"addresults")},1500),[3,13];case 11:return console.error(f=m.sent()),eg("error",f.message||"Error saving results details"),[3,13];case 12:return ea(!1),[7];case 13:return[2]}})})()},style:{width:"120px",height:"40px"}},"Save"),a().createElement("button",{type:"button",className:"".concat(s.A.btn," ").concat(s.A.btnDanger),onClick:function(){return p(window.getOpenmrsSpaBase()+"addresults")},style:{width:"120px",height:"40px"}},"Back"))))}}}]);
|
|
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),P=k[0],T=k[1],j=m((0,n.useState)(""),2),R=j[0],D=j[1],F=m((0,n.useState)(""),2),I=F[0],W=F[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),eP=ek[0],eT=ek[1],ej=m((0,n.useState)("Processing report..."),2),eR=ej[0],eD=ej[1],eF=m((0,n.useState)(!1),2),eI=eF[0],eW=eF[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(", ")),T(b[0][9]||""),G(E),J(E.length>1)),D(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),eP&&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: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:R,onChange:function(e){return D(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,P,T,j,D,F,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,42,43,44]),eT(!0),eD("Uploading file template..."),eD("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)throw Error('Template not found: "'.concat(r,'". Please place the DOCX template in the LabReportTemplateFileUploaded folder on the server.'));return[4,n.blob()];case 3: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 4:o=p.sent(),eD("Connecting to JSReport server..."),l="",p.label=5;case 5:return p.trys.push([5,7,,8]),[4,eV("JSReportURLManual")];case 6:return l=p.sent(),[3,8];case 7:return console.warn("Failed to fetch JSReportURLManual from database, using fallback",p.sent()),[3,8];case 8: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 9:if(!(c=p.sent()).ok)throw Error("Failed to create folder on JSReport server");return[4,c.json()];case 10: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 11:if(!(d=p.sent()).ok)throw Error("Failed to upload asset to JSReport");return[4,d.json()];case 12: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 13:if(!(b=p.sent()).ok)throw Error("Failed to register report data on JSReport");return[4,b.json()];case 14: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 15:if(!(w=p.sent()).ok)throw Error("Failed to construct template configuration on JSReport");return[4,w.json()];case 16:return A=p.sent().shortid,eD("Rendering report..."),[4,fetch("".concat(l,"api/report"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({template:{shortid:A},recipe:"docx"})})];case 17:if(!(N=p.sent()).ok)throw Error("Failed to compile report document on JSReport");return[4,N.blob()];case 18:if(C=p.sent(),eD("Saving document attachment..."),x="","OPD"!==t)return[3,20];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsopd/".concat(s))];case 19:case 21:return k=p.sent(),[3,24];case 20:if("Clinic"!==t)return[3,22];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsclinic/".concat(s))];case 22:if("Ward"!==t)return[3,24];return[4,fetch("/openmrs/ws/rest/v1/addresult/labdetailsward/".concat(s))];case 23:k=p.sent(),p.label=24;case 24:if(!(k&&k.ok))return[3,26];return[4,k.json()];case 25:x=p.sent().encounteruuid||"",p.label=26;case 26:P="".concat(e,"@@@").concat(O,"@@@").concat(x),T="",p.label=27;case 27:return p.trys.push([27,29,,30]),[4,eV("DocToPdfConverterURLManual")];case 28:return T=p.sent(),[3,30];case 29:return console.warn("Failed to fetch DocToPdfConverterURLManual from database, using fallback",p.sent()),[3,30];case 30:T||(T="http://localhost:5000/"),j=C,D="".concat(P,".docx"),F=!1,p.label=31;case 31:return p.trys.push([31,36,,37]),eD("Converting report to PDF..."),(W=new FormData).append("file",C,"document.docx"),[4,fetch("".concat(T,"convert-to-pdf"),{method:"POST",body:W})];case 32:if(!(B=p.sent()).ok)return[3,34];return[4,B.blob()];case 33:return j=U=p.sent(),D="".concat(P,".pdf"),F=!0,J=window.URL.createObjectURL(U),window.open(J),[3,35];case 34:console.warn("PDF conversion response was not ok, falling back to DOCX."),p.label=35;case 35:return[3,37];case 36:return console.warn("PDF conversion service failed or not reachable, falling back to DOCX.",p.sent()),[3,37];case 37:return F||(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,D),[4,fetch("/openmrs/ws/rest/v1/addresult/upload",{method:"POST",body:G})];case 38:if(!(_=p.sent()).ok)throw Error("Failed to upload attachment to OpenMRS OWA");return[4,_.json()];case 39:return z=p.sent(),H={labreportingid:"OPD"===t?s:null,labreportingclinicid:"Clinic"===t?s:null,labreportingwardid:"Ward"===t?s:null,reportname:D,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 40:if(!p.sent().ok)throw Error("Failed to save document meta record to database");return eD("Cleaning up..."),[4,fetch("".concat(l,"odata/folders('").concat(m,"')"),{method:"DELETE"})];case 41:return p.sent(),eJ(!0),ez("success","Report generated and converted successfully!"),[3,44];case 42:return console.error(q=p.sent()),ez("error",q.message||"Error occurred during report generation"),[3,44];case 43:return eT(!1),[7];case 44: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]),eT(!0),eD("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 eD("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 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 "',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"))))))}}}]);
|
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","parameters","setParameters","_useState13","loading","setLoading","_useState14","showSpinner","setShowSpinner","_useState15","spinnerText","setSpinnerText","_useState16","sendToApproval","setSendToApproval","_useState17","flagGenerate","setFlagGenerate","_useState18","_useState19","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","idx","opt","onClick","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"],"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","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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"}
|
|
@@ -200,9 +200,9 @@
|
|
|
200
200
|
"rendered": true,
|
|
201
201
|
"initial": false,
|
|
202
202
|
"entry": false,
|
|
203
|
-
"size":
|
|
203
|
+
"size": 93303,
|
|
204
204
|
"sizes": {
|
|
205
|
-
"javascript":
|
|
205
|
+
"javascript": 93303
|
|
206
206
|
},
|
|
207
207
|
"names": [],
|
|
208
208
|
"idHints": [],
|
|
@@ -216,7 +216,7 @@
|
|
|
216
216
|
"auxiliaryFiles": [
|
|
217
217
|
"277.js.map"
|
|
218
218
|
],
|
|
219
|
-
"hash": "
|
|
219
|
+
"hash": "d24a6c2f7cb4d95f",
|
|
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.
|
|
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.16"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sasindi/addresults",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "addresults frontend module for O3",
|
|
6
6
|
"generator": "@openmrs/create-o3-app@1.2.0",
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
"source": true,
|
|
10
10
|
"scripts": {
|
|
11
11
|
"start": "openmrs develop",
|
|
12
|
+
"pdf-converter": "node pdf-converter.js",
|
|
13
|
+
"jsreport": "docker start jsreport",
|
|
12
14
|
"build": "rspack --mode production",
|
|
13
15
|
"build:development": "rspack --mode development",
|
|
14
16
|
"analyze": "rspack --mode=production --env.analyze=true",
|
|
@@ -46,7 +48,10 @@
|
|
|
46
48
|
],
|
|
47
49
|
"dependencies": {
|
|
48
50
|
"@carbon/react": "^1.83.0",
|
|
49
|
-
"
|
|
51
|
+
"cors": "^2.8.6",
|
|
52
|
+
"docx-preview": "^0.4.0",
|
|
53
|
+
"express": "^5.2.1",
|
|
54
|
+
"multer": "^2.3.0"
|
|
50
55
|
},
|
|
51
56
|
"peerDependencies": {
|
|
52
57
|
"@carbon/react": "1.x",
|
|
@@ -70,6 +75,9 @@
|
|
|
70
75
|
"@testing-library/jest-dom": "^6.8.0",
|
|
71
76
|
"@testing-library/react": "^16.3.0",
|
|
72
77
|
"@testing-library/user-event": "^14.5.2",
|
|
78
|
+
"@types/cors": "^2",
|
|
79
|
+
"@types/express": "^5",
|
|
80
|
+
"@types/multer": "^2",
|
|
73
81
|
"@types/react": "^18.3.0",
|
|
74
82
|
"@types/react-dom": "^18.3.0",
|
|
75
83
|
"@vitest/coverage-v8": "^4.1.2",
|
|
@@ -39,6 +39,90 @@ const AddResultsForm: React.FC = () => {
|
|
|
39
39
|
const [instituteName, setInstituteName] = useState<string>('');
|
|
40
40
|
const [currentUserUuid, setCurrentUserUuid] = useState<string>('');
|
|
41
41
|
|
|
42
|
+
// Add New Parameter Modal State
|
|
43
|
+
const [showAddParamModal, setShowAddParamModal] = useState<boolean>(false);
|
|
44
|
+
const [newParamName, setNewParamName] = useState<string>('');
|
|
45
|
+
const [newParamUnit, setNewParamUnit] = useState<string>('');
|
|
46
|
+
const [newParamRange, setNewParamRange] = useState<string>('');
|
|
47
|
+
const [newParamGender, setNewParamGender] = useState<string>('Both');
|
|
48
|
+
const [newParamAgeFrom, setNewParamAgeFrom] = useState<number>(2);
|
|
49
|
+
const [newParamAgeTo, setNewParamAgeTo] = useState<number>(100);
|
|
50
|
+
const [savingNewParam, setSavingNewParam] = useState<boolean>(false);
|
|
51
|
+
|
|
52
|
+
// Handle saving new parameter to master details & local state
|
|
53
|
+
const handleSaveNewParameter = async (e: React.FormEvent) => {
|
|
54
|
+
e.preventDefault();
|
|
55
|
+
|
|
56
|
+
const trimmedName = newParamName.trim();
|
|
57
|
+
if (!trimmedName) {
|
|
58
|
+
showToast('error', 'Please enter a Parameter Name.');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const singleTestName = orderedTests[0] ? orderedTests[0].name : testName;
|
|
63
|
+
if (!singleTestName) {
|
|
64
|
+
showToast('error', 'No active test selected to add parameter to.');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
try {
|
|
69
|
+
setSavingNewParam(true);
|
|
70
|
+
|
|
71
|
+
const payload = {
|
|
72
|
+
id: 0,
|
|
73
|
+
location: '', // empty for global parameter
|
|
74
|
+
testname: singleTestName.trim(),
|
|
75
|
+
parametername: trimmedName,
|
|
76
|
+
gender: newParamGender || 'Both',
|
|
77
|
+
agefrom: Number(newParamAgeFrom || 2),
|
|
78
|
+
ageto: Number(newParamAgeTo || 100),
|
|
79
|
+
unit: newParamUnit.trim(),
|
|
80
|
+
referencerange: newParamRange.trim(),
|
|
81
|
+
cby: currentUserUuid || ''
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const res = await fetch('/openmrs/ws/rest/v1/labtestmasterdetails/savedetails', {
|
|
85
|
+
method: 'POST',
|
|
86
|
+
headers: { 'Content-Type': 'application/json' },
|
|
87
|
+
body: JSON.stringify(payload)
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
if (!res.ok) {
|
|
91
|
+
throw new Error(`Failed to save parameter: ${res.statusText}`);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Append new parameter to parameters state so it appears immediately in the table
|
|
95
|
+
const newParamObj = {
|
|
96
|
+
id: Date.now(),
|
|
97
|
+
name: trimmedName,
|
|
98
|
+
options: [],
|
|
99
|
+
value: '',
|
|
100
|
+
units: newParamUnit.trim(),
|
|
101
|
+
flag: '',
|
|
102
|
+
ranges: newParamRange.trim(),
|
|
103
|
+
savedId: 0,
|
|
104
|
+
isTestRow: false
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
setParameters(prev => [...prev, newParamObj]);
|
|
108
|
+
showToast('success', `Parameter "${trimmedName}" saved and added to test!`);
|
|
109
|
+
|
|
110
|
+
// Reset modal state
|
|
111
|
+
setNewParamName('');
|
|
112
|
+
setNewParamUnit('');
|
|
113
|
+
setNewParamRange('');
|
|
114
|
+
setNewParamGender('Both');
|
|
115
|
+
setNewParamAgeFrom(2);
|
|
116
|
+
setNewParamAgeTo(100);
|
|
117
|
+
setShowAddParamModal(false);
|
|
118
|
+
} catch (err: any) {
|
|
119
|
+
console.error(err);
|
|
120
|
+
showToast('error', err.message || 'Failed to save new parameter');
|
|
121
|
+
} finally {
|
|
122
|
+
setSavingNewParam(false);
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
42
126
|
// Parameters list
|
|
43
127
|
const [parameters, setParameters] = useState<any[]>([]);
|
|
44
128
|
const [loading, setLoading] = useState<boolean>(true);
|
|
@@ -813,9 +897,21 @@ const AddResultsForm: React.FC = () => {
|
|
|
813
897
|
</div>
|
|
814
898
|
</div>
|
|
815
899
|
<hr style={{ margin: '2rem 0', borderTop: '1px solid var(--border-color)' }} />
|
|
816
|
-
<
|
|
817
|
-
{
|
|
818
|
-
|
|
900
|
+
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '1rem' }}>
|
|
901
|
+
<h3 style={{ fontSize: '1.1rem', fontWeight: 600, margin: 0, color: 'var(--primary-color)' }}>
|
|
902
|
+
{isMultiTest ? 'Ordered Tests' : 'Test Parameters'}
|
|
903
|
+
</h3>
|
|
904
|
+
{!isMultiTest && (
|
|
905
|
+
<button
|
|
906
|
+
type="button"
|
|
907
|
+
className={`${styles.btn} ${styles.btnPrimary}`}
|
|
908
|
+
onClick={() => setShowAddParamModal(true)}
|
|
909
|
+
style={{ padding: '0.4rem 0.8rem', fontSize: '0.875rem' }}
|
|
910
|
+
>
|
|
911
|
+
+ Add New Parameter
|
|
912
|
+
</button>
|
|
913
|
+
)}
|
|
914
|
+
</div>
|
|
819
915
|
<div className={styles.showHideTableParameter}>
|
|
820
916
|
<table className={`${styles.table} ${styles.tableBordered} ${styles.tableStriped}`}>
|
|
821
917
|
<thead>
|
|
@@ -939,6 +1035,139 @@ const AddResultsForm: React.FC = () => {
|
|
|
939
1035
|
</div>
|
|
940
1036
|
</div>
|
|
941
1037
|
)}
|
|
1038
|
+
|
|
1039
|
+
{/* Add New Parameter Modal */}
|
|
1040
|
+
{showAddParamModal && (
|
|
1041
|
+
<div style={{
|
|
1042
|
+
position: 'fixed',
|
|
1043
|
+
top: 0,
|
|
1044
|
+
left: 0,
|
|
1045
|
+
right: 0,
|
|
1046
|
+
bottom: 0,
|
|
1047
|
+
backgroundColor: 'rgba(0,0,0,0.5)',
|
|
1048
|
+
display: 'flex',
|
|
1049
|
+
justifyContent: 'center',
|
|
1050
|
+
alignItems: 'center',
|
|
1051
|
+
zIndex: 9999
|
|
1052
|
+
}}>
|
|
1053
|
+
<div style={{
|
|
1054
|
+
backgroundColor: '#ffffff',
|
|
1055
|
+
borderRadius: '8px',
|
|
1056
|
+
padding: '1.5rem',
|
|
1057
|
+
width: '480px',
|
|
1058
|
+
maxWidth: '90%',
|
|
1059
|
+
boxShadow: '0 4px 12px rgba(0,0,0,0.15)'
|
|
1060
|
+
}}>
|
|
1061
|
+
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: '1rem' }}>
|
|
1062
|
+
<h3 style={{ margin: 0, fontSize: '1.1rem', fontWeight: 600, color: 'var(--primary-color)' }}>
|
|
1063
|
+
Add New Parameter to "{orderedTests[0] ? orderedTests[0].name : testName}"
|
|
1064
|
+
</h3>
|
|
1065
|
+
<button
|
|
1066
|
+
type="button"
|
|
1067
|
+
onClick={() => setShowAddParamModal(false)}
|
|
1068
|
+
style={{ background: 'none', border: 'none', fontSize: '1.25rem', cursor: 'pointer', color: '#666' }}
|
|
1069
|
+
>
|
|
1070
|
+
×
|
|
1071
|
+
</button>
|
|
1072
|
+
</div>
|
|
1073
|
+
<form onSubmit={handleSaveNewParameter}>
|
|
1074
|
+
<div className={styles.my1}>
|
|
1075
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>
|
|
1076
|
+
Parameter Name <span style={{ color: 'red' }}>*</span>
|
|
1077
|
+
</label>
|
|
1078
|
+
<input
|
|
1079
|
+
type="text"
|
|
1080
|
+
className={styles.formControl}
|
|
1081
|
+
style={{ width: '100%' }}
|
|
1082
|
+
value={newParamName}
|
|
1083
|
+
onChange={(e) => setNewParamName(e.target.value)}
|
|
1084
|
+
placeholder="e.g. Hemoglobin / WBC / SGPT"
|
|
1085
|
+
required
|
|
1086
|
+
/>
|
|
1087
|
+
</div>
|
|
1088
|
+
<div className={styles.row} style={{ marginTop: '0.5rem' }}>
|
|
1089
|
+
<div className={`${styles.col} ${styles.my1}`}>
|
|
1090
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>Unit</label>
|
|
1091
|
+
<input
|
|
1092
|
+
type="text"
|
|
1093
|
+
className={styles.formControl}
|
|
1094
|
+
style={{ width: '100%' }}
|
|
1095
|
+
value={newParamUnit}
|
|
1096
|
+
onChange={(e) => setNewParamUnit(e.target.value)}
|
|
1097
|
+
placeholder="e.g. g/dL"
|
|
1098
|
+
/>
|
|
1099
|
+
</div>
|
|
1100
|
+
<div className={`${styles.col} ${styles.my1}`}>
|
|
1101
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>Reference Range</label>
|
|
1102
|
+
<input
|
|
1103
|
+
type="text"
|
|
1104
|
+
className={styles.formControl}
|
|
1105
|
+
style={{ width: '100%' }}
|
|
1106
|
+
value={newParamRange}
|
|
1107
|
+
onChange={(e) => setNewParamRange(e.target.value)}
|
|
1108
|
+
placeholder="e.g. 12.0 - 16.0"
|
|
1109
|
+
/>
|
|
1110
|
+
</div>
|
|
1111
|
+
</div>
|
|
1112
|
+
<div className={styles.row} style={{ marginTop: '0.5rem' }}>
|
|
1113
|
+
<div className={`${styles.col} ${styles.my1}`}>
|
|
1114
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>Gender</label>
|
|
1115
|
+
<select
|
|
1116
|
+
className={styles.formControl}
|
|
1117
|
+
style={{ width: '100%' }}
|
|
1118
|
+
value={newParamGender}
|
|
1119
|
+
onChange={(e) => setNewParamGender(e.target.value)}
|
|
1120
|
+
>
|
|
1121
|
+
<option value="Both">Both</option>
|
|
1122
|
+
<option value="Male">Male</option>
|
|
1123
|
+
<option value="Female">Female</option>
|
|
1124
|
+
</select>
|
|
1125
|
+
</div>
|
|
1126
|
+
<div className={`${styles.col} ${styles.my1}`}>
|
|
1127
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>Age From</label>
|
|
1128
|
+
<input
|
|
1129
|
+
type="number"
|
|
1130
|
+
className={styles.formControl}
|
|
1131
|
+
style={{ width: '100%' }}
|
|
1132
|
+
value={newParamAgeFrom}
|
|
1133
|
+
onChange={(e) => setNewParamAgeFrom(Number(e.target.value))}
|
|
1134
|
+
min={0}
|
|
1135
|
+
/>
|
|
1136
|
+
</div>
|
|
1137
|
+
<div className={`${styles.col} ${styles.my1}`}>
|
|
1138
|
+
<label style={{ display: 'block', fontWeight: 500, marginBottom: '0.25rem' }}>Age To</label>
|
|
1139
|
+
<input
|
|
1140
|
+
type="number"
|
|
1141
|
+
className={styles.formControl}
|
|
1142
|
+
style={{ width: '100%' }}
|
|
1143
|
+
value={newParamAgeTo}
|
|
1144
|
+
onChange={(e) => setNewParamAgeTo(Number(e.target.value))}
|
|
1145
|
+
min={0}
|
|
1146
|
+
/>
|
|
1147
|
+
</div>
|
|
1148
|
+
</div>
|
|
1149
|
+
<div style={{ display: 'flex', justifyContent: 'flex-end', gap: '0.5rem', marginTop: '1.5rem' }}>
|
|
1150
|
+
<button
|
|
1151
|
+
type="button"
|
|
1152
|
+
className={`${styles.btn}`}
|
|
1153
|
+
onClick={() => setShowAddParamModal(false)}
|
|
1154
|
+
disabled={savingNewParam}
|
|
1155
|
+
style={{ backgroundColor: '#e0e0e0', color: '#333' }}
|
|
1156
|
+
>
|
|
1157
|
+
Cancel
|
|
1158
|
+
</button>
|
|
1159
|
+
<button
|
|
1160
|
+
type="submit"
|
|
1161
|
+
className={`${styles.btn} ${styles.btnPrimary}`}
|
|
1162
|
+
disabled={savingNewParam}
|
|
1163
|
+
>
|
|
1164
|
+
{savingNewParam ? 'Saving...' : 'Save Parameter'}
|
|
1165
|
+
</button>
|
|
1166
|
+
</div>
|
|
1167
|
+
</form>
|
|
1168
|
+
</div>
|
|
1169
|
+
</div>
|
|
1170
|
+
)}
|
|
942
1171
|
</div>
|
|
943
1172
|
);
|
|
944
1173
|
};
|