@pih/esm-dispensing-app
Version:
Medication dispensing application
1 lines • 5.06 kB
JavaScript
;(globalThis.webpackChunk_pih_esm_dispensing_app=globalThis.webpackChunk_pih_esm_dispensing_app||[]).push([[963],{90963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>v});var r=n(16072),o=n.n(r),i=n(53941),a=n(78792),c=n(25987),s=n(24756),l=n(85316),u=n(27042),d=n(9806),p=n(40609);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,c=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==n.return||n.return()}finally{if(c)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f(e,t):void 0}}(e,t)||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.")}()}const v=function(e){var t,n,f,v=e.medicationDispense,y=e.mode,g=e.patientUuid,h=e.encounterUuid,C=e.closeWorkspace,O=e.closeWorkspaceWithSavedChanges,E=(0,i.useTranslation)().t,S=(0,c.useConfig)(),w=((0,c.useLayoutType)(),(0,c.usePatient)(g)),j=w.patient,k=w.isLoading,P=b((0,r.useState)(),2),A=P[0],D=P[1],x=b((0,r.useState)(!1),2),T=x[0],_=x[1],N=b((0,r.useState)(!1),2),R=N[0],U=N[1],W=b((0,r.useState)([]),2),I=W[0],L=W[1],F=(0,s.cE)(S.valueSets.reasonForClose.uuid).reasonForCloseValueSet;(0,r.useEffect)((function(){var e,t=[];if(null==F||null===(e=F.compose)||void 0===e?void 0:e.include){var n,r=F.compose.include.find((function(e){return!e.system}));r&&(null===(n=r.concept)||void 0===n||n.forEach((function(e){return t.push({id:e.code,text:e.display})})),t.sort((function(e,t){return e.text.localeCompare(t.text)})))}L(t)}),[F]),(0,r.useEffect)((function(){return D(v)}),[v]),(0,r.useEffect)((function(){var e;A&&(null===(e=A.statusReasonCodeableConcept)||void 0===e?void 0:e.coding[0].code)?_(!0):_(!1)}),[A]);var M=(0,r.useMemo)((function(){if(j)return{patient:j,patientUuid:g,hideActionsOverflow:!0}}),[j,g]);return o().createElement(a.lVW,{className:p.A.formWrapper},o().createElement("div",null,k&&o().createElement(a.OuH,{className:p.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),j&&o().createElement(c.ExtensionSlot,{name:"patient-header-slot",state:M}),o().createElement("section",{className:p.A.formGroup},o().createElement(c.ResponsiveWrapper,null,o().createElement(a.a32,{id:"reasonForPause",items:I,titleText:E("reasonForClose","Reason for close"),itemToString:function(e){return null==e?void 0:e.text},initialSelectedItem:{id:null===(n=v.statusReasonCodeableConcept)||void 0===n||null===(t=n.coding[0])||void 0===t?void 0:t.code,text:null===(f=v.statusReasonCodeableConcept)||void 0===f?void 0:f.text},onChange:function(e){var t,n,r=e.selectedItem;D((t=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){m(e,t,n[t])}))}return e}({},A),n=null!=(n={statusReasonCodeableConcept:{coding:[{code:null==r?void 0:r.id}]}})?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t}(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})),t))}})))),o().createElement("section",{className:p.A.buttonGroup},o().createElement(a.$nd,{disabled:R,onClick:function(){return C()},kind:"secondary"},(0,c.getCoreTranslation)("cancel","Cancel")),o().createElement(a.$nd,{disabled:!T||R,onClick:function(){if(!R){U(!0);var e=new AbortController;(0,d.gY)(h),(0,s.A7)(A,u.NV.declined,e).then((function(e){return e.ok&&!v.id?(0,l.NT)((0,d.vj)(A.authorizingPrescription[0].reference),u.O7.declined):e})).then((function(e){e.ok&&((0,d.Yi)(h),(0,c.showSnackbar)({kind:"success",title:E("enter"===y?"medicationDispenseClosed":"medicationDispenseUpdated","enter"===y?"Medication dispense closed.":"Dispense record successfully updated.")}),O())})).catch((function(e){(0,c.showSnackbar)({title:E("enter"===y?"medicationDispenseCloseError":"medicationDispenseUpdatedError","enter"===y?"Error closing medication dispense.":"Error updating dispense record"),kind:"error",subtitle:null==e?void 0:e.message}),U(!1)}))}}},E("enter"===y?"close":"saveChanges","enter"===y?"Close":"Save changes"))))}}}]);