@openmrs/esm-laboratory-app
Version:
An O3 frontend module for managing laboratory requests and queues
1 lines • 4.96 kB
JavaScript
;(globalThis.webpackChunk_openmrs_esm_laboratory_app=globalThis.webpackChunk_openmrs_esm_laboratory_app||[]).push([[8554],{28554:(e,t,r)=>{r.r(t),r.d(t,{default:()=>d});var n=r(16072),a=r.n(n),o=r(53941),i=r(45386),l=r(93495),u=r(25987),s=r(37399);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}const d=function(e){var t,r,d=e.order,p=e.closeModal,f=(0,o.useTranslation)().t,y=(t=(0,n.useState)(!1),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,l=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){l=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(l)throw a}}return o}}(t,r)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=y[0],g=y[1],b=(0,u.useConfig)().laboratoryOrderTypeUuid,v=(0,u.useAbortController)();return a().createElement("div",null,a().createElement(i.rQ0,{closeModal:p,title:f("pickRequest","Pick lab request")}),a().createElement(i.cwr,null,a().createElement("p",null,f("pickRequestConfirmationText",'Continuing will update the request status to "In Progress" and advance it to the next stage. Are you sure you want to proceed?'))),a().createElement(i.jlY,null,a().createElement(i.$nd,{kind:"secondary",onClick:p},f("discard","Discard")),a().createElement(i.$nd,{type:"submit",onClick:function(){g(!0),(0,s.Or)(d.uuid,"IN_PROGRESS",v).then((function(){(0,l.Tk)((function(e){return"string"==typeof e&&e.startsWith("".concat(u.restBaseUrl,"/order?orderTypes=").concat(b))}),void 0,{revalidate:!0}),g(!1),p(),(0,u.showSnackbar)({isLowContrast:!0,title:f("pickedAnOrder","Picked an order"),kind:"success",subtitle:f("orderPickedSuccessfully","You have successfully picked an order")})}),(function(e){g(!1),(0,u.showNotification)({title:f("errorPickingOrder","Error picking order"),kind:"error",critical:!0,description:null==e?void 0:e.message})}))},disabled:m},f("pickupLabRequest","Pick up lab request"))))}},37399:(e,t,r)=>{r.d(t,{Or:()=>c,SM:()=>s,bc:()=>d,ko:()=>u});var n=r(16072),a=r(70231),o=r.n(a),i=r(93495),l=r(25987);function u(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=(null!==(e=(0,l.useAppContext)("laboratory-date-filter"))&&void 0!==e?e:{dateRange:[o()().startOf("day").toDate(),new Date]}).dateRange,u=(0,l.useConfig)().laboratoryOrderTypeUuid,s=(0,n.useMemo)((function(){return"NEW"===t?null:t}),[t]),c="NEW"===t,d="".concat(l.restBaseUrl,"/order?orderTypes=").concat(u,"&v=").concat("custom:(uuid,orderNumber,patient:(uuid,display,person:(uuid,display,age,gender)),concept:(uuid,display),action,careSetting:(uuid,display,description,careSettingType,display),previousOrder,dateActivated,scheduledDate,dateStopped,autoExpireDate,encounter:(uuid,display),orderer:(uuid,display),orderReason,orderReasonNonCoded,orderType:(uuid,display,name,description,conceptClasses,parent),urgency,instructions,commentToFulfiller,display,fulfillerStatus,fulfillerComment,specimenSource,laterality,clinicalHistory,frequency,numberOfRepeats)");d=s?d+"&fulfillerStatus=".concat(s):d,d=r?"".concat(d,"&excludeCanceledAndExpired=true&excludeDiscontinueOrders=true"):d,d=a?"".concat(d,"&activatedOnOrAfterDate=").concat(a.at(0).toISOString(),"&activatedOnOrBeforeDate=").concat(a.at(1).toISOString()):d;var p=(0,i.Ay)("".concat(d),l.openmrsFetch),f=p.data,y=p.error,m=p.mutate,g=p.isLoading,b=p.isValidating;return{labOrders:(null==f?void 0:f.data)&&c&&f.data.results.filter((function(e){return"NEW"===(null==e?void 0:e.action)&&null===(null==e?void 0:e.fulfillerStatus)}))||(null==f?void 0:f.data.results)||[],isLoading:g,isError:y,mutate:m,isValidating:b}}function s(e,t){return(0,n.useMemo)((function(){if(t&&""!==t.trim()){var r=t.toLowerCase();return e.filter((function(e){return e.orders.some((function(e){return e.orderNumber.toLowerCase().includes(r)||e.patient.display.toLowerCase().includes(r)}))}))}return e}),[t,e])}function c(e,t,r){return(0,l.openmrsFetch)("".concat(l.restBaseUrl,"/order/").concat(e,"/fulfillerdetails/"),{method:"POST",headers:{"Content-Type":"application/json"},signal:r.signal,body:{fulfillerStatus:t}})}function d(e,t,r){return(0,l.openmrsFetch)("".concat(l.restBaseUrl,"/order/").concat(e,"/fulfillerdetails/"),{method:"POST",headers:{"Content-Type":"application/json"},signal:r.signal,body:{fulfillerStatus:"DECLINED",fulfillerComment:t}})}}}]);