@openmrs/esm-dispensing-app 1.11.2-pre.1909 → 1.11.2-pre.1913

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.
@@ -0,0 +1 @@
1
+ {"hash":"b50d13fc60b04928","duration":10941}
@@ -4,4 +4,4 @@
4
4
  │ 5389.js (873.244 KiB)
5
5
  
6
6
 
7
- Rspack compiled with 1 warning in 10.06 s
7
+ Rspack compiled with 1 warning in 9.72 s
package/dist/1578.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["1578"],{8493(e,t,r){var n=r(2287),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},a=n.useState,u=n.useEffect,s=n.useLayoutEffect,l=n.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var c="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=a({inst:{value:r,getSnapshot:t}}),i=n[0].inst,c=n[1];return s(function(){i.value=r,i.getSnapshot=t,d(i)&&c({inst:i})},[e,r,t]),u(function(){return d(i)&&c({inst:i}),e(function(){d(i)&&c({inst:i})})},[e]),l(r),r};t.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:c},9888(e,t,r){e.exports=r(8493)},3041(e,t,r){r.r(t),r.d(t,{default:()=>g,infinite:()=>E,unstable_serialize:()=>o});var n=r(2287),i=r.n(n),a=r(9888),u=r(492);let s=i().use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;if("rejected"===e.status)throw e.reason;throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}),l={dedupe:!0};u.OBJECT.defineProperty(u.SWRConfig,"defaultValue",{value:u.defaultConfig});let d=(0,u.withArgs)((e,t,r)=>{let{cache:i,compare:d,suspense:c,fallbackData:o,revalidateOnMount:f,revalidateIfStale:E,refreshInterval:g,refreshWhenHidden:p,refreshWhenOffline:_,keepPreviousData:h}=r,[v,U,R,b]=u.SWRGlobalState.get(i),[m,C]=(0,u.serialize)(e),S=(0,n.useRef)(!1),y=(0,n.useRef)(!1),I=(0,n.useRef)(m),T=(0,n.useRef)(t),V=(0,n.useRef)(r),w=()=>V.current.isVisible()&&V.current.isOnline(),[L,N,k,D]=(0,u.createCacheHelper)(i,m),F=(0,n.useRef)({}).current,O=(0,u.isUndefined)(o)?r.fallback[m]:o,A=(e,t)=>{for(let r in F)if("data"===r){if(!d(e[r],t[r])&&(!(0,u.isUndefined)(e[r])||!d(X,t[r])))return!1}else if(t[r]!==e[r])return!1;return!0},P=(0,n.useMemo)(()=>{let e=!!m&&!!t&&((0,u.isUndefined)(f)?!V.current.isPaused()&&!c&&(!!(0,u.isUndefined)(E)||E):f),r=t=>{let r=(0,u.mergeObjects)(t);return(delete r._k,e)?{isValidating:!0,isLoading:!0,...r}:r},n=L(),i=D(),a=r(n),s=n===i?a:r(i),l=a;return[()=>{let e=r(L());return A(e,l)?(l.data=e.data,l.isLoading=e.isLoading,l.isValidating=e.isValidating,l.error=e.error,l):(l=e,e)},()=>s]},[i,m]),H=(0,a.useSyncExternalStore)((0,n.useCallback)(e=>k(m,(t,r)=>{A(r,t)||e()}),[i,m]),P[0],P[1]),x=!S.current,z=v[m]&&v[m].length>0,j=H.data,G=(0,u.isUndefined)(j)?O:j,M=H.error,W=(0,n.useRef)(G),X=h?(0,u.isUndefined)(j)?W.current:j:G,Y=(!z||!!(0,u.isUndefined)(M))&&(x&&!(0,u.isUndefined)(f)?f:!V.current.isPaused()&&(c?!(0,u.isUndefined)(G)&&E:(0,u.isUndefined)(G)||E)),q=!!(m&&t&&x&&Y),B=(0,u.isUndefined)(H.isValidating)?q:H.isValidating,J=(0,u.isUndefined)(H.isLoading)?q:H.isLoading,K=(0,n.useCallback)(async e=>{let t,n,i=T.current;if(!m||!i||y.current||V.current.isPaused())return!1;let a=!0,s=e||{},l=!R[m]||!s.dedupe,c=()=>u.IS_REACT_LEGACY?!y.current&&m===I.current&&S.current:m===I.current,o={isValidating:!1,isLoading:!1},f=()=>{N(o)},E=()=>{let e=R[m];e&&e[1]===n&&delete R[m]},g={isValidating:!0};(0,u.isUndefined)(L().data)&&(g.isLoading=!0);try{if(l&&(N(g),r.loadingTimeout&&(0,u.isUndefined)(L().data)&&setTimeout(()=>{a&&c()&&V.current.onLoadingSlow(m,r)},r.loadingTimeout),R[m]=[i(C),(0,u.getTimestamp)()]),[t,n]=R[m],t=await t,l&&setTimeout(E,r.dedupingInterval),!R[m]||R[m][1]!==n)return l&&c()&&V.current.onDiscarded(m),!1;o.error=u.UNDEFINED;let e=U[m];if(!(0,u.isUndefined)(e)&&(n<=e[0]||n<=e[1]||0===e[1]))return f(),l&&c()&&V.current.onDiscarded(m),!1;let s=L().data;o.data=d(s,t)?s:t,l&&c()&&V.current.onSuccess(t,m,r)}catch(r){E();let e=V.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(o.error=r,l&&c()&&(e.onError(r,m,e),(!0===t||(0,u.isFunction)(t)&&t(r))&&(!V.current.revalidateOnFocus||!V.current.revalidateOnReconnect||w())&&e.onErrorRetry(r,m,e,e=>{let t=v[m];t&&t[0]&&t[0](u.revalidateEvents.ERROR_REVALIDATE_EVENT,e)},{retryCount:(s.retryCount||0)+1,dedupe:!0})))}return a=!1,f(),!0},[m,i]),Q=(0,n.useCallback)((...e)=>(0,u.internalMutate)(i,I.current,...e),[]);if((0,u.useIsomorphicLayoutEffect)(()=>{T.current=t,V.current=r,(0,u.isUndefined)(j)||(W.current=j)}),(0,u.useIsomorphicLayoutEffect)(()=>{if(!m)return;let e=K.bind(u.UNDEFINED,l),t=0,r=(0,u.subscribeCallback)(m,v,(r,n={})=>{if(r==u.revalidateEvents.FOCUS_EVENT){let r=Date.now();V.current.revalidateOnFocus&&r>t&&w()&&(t=r+V.current.focusThrottleInterval,e())}else if(r==u.revalidateEvents.RECONNECT_EVENT)V.current.revalidateOnReconnect&&w()&&e();else if(r==u.revalidateEvents.MUTATE_EVENT)return K();else if(r==u.revalidateEvents.ERROR_REVALIDATE_EVENT)return K(n)});return y.current=!1,I.current=m,S.current=!0,N({_k:C}),Y&&((0,u.isUndefined)(G)||u.IS_SERVER?e():(0,u.rAF)(e)),()=>{y.current=!0,r()}},[m]),(0,u.useIsomorphicLayoutEffect)(()=>{let e;function t(){let t=(0,u.isFunction)(g)?g(L().data):g;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!L().error&&(p||V.current.isVisible())&&(_||V.current.isOnline())?K(l).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[g,p,_,m]),(0,n.useDebugValue)(X),c&&(0,u.isUndefined)(G)&&m){if(!u.IS_REACT_LEGACY&&u.IS_SERVER)throw Error("Fallback data is required when using suspense in SSR.");T.current=t,V.current=r,y.current=!1;let e=b[m];if((0,u.isUndefined)(e)||s(Q(e)),(0,u.isUndefined)(M)){let e=K(l);(0,u.isUndefined)(X)||(e.status="fulfilled",e.value=!0),s(e)}else throw M}return{mutate:Q,get data(){return F.data=!0,X},get error(){return F.error=!0,M},get isValidating(){return F.isValidating=!0,B},get isLoading(){return F.isLoading=!0,J}}}),c=e=>(0,u.serialize)(e?e(0,null):null)[0],o=e=>u.INFINITE_PREFIX+c(e),f=Promise.resolve(),E=e=>(t,r,i)=>{let s,l=(0,n.useRef)(!1),{cache:d,initialSize:o=1,revalidateAll:E=!1,persistSize:g=!1,revalidateFirstPage:p=!0,revalidateOnMount:_=!1,parallel:h=!1}=i,[,,,v]=u.SWRGlobalState.get(u.cache);try{(s=c(t))&&(s=u.INFINITE_PREFIX+s)}catch(e){}let[U,R,b]=(0,u.createCacheHelper)(d,s),m=(0,n.useCallback)(()=>(0,u.isUndefined)(U()._l)?o:U()._l,[d,s,o]);(0,a.useSyncExternalStore)((0,n.useCallback)(e=>s?b(s,()=>{e()}):()=>{},[d,s]),m,m);let C=(0,n.useCallback)(()=>{let e=U()._l;return(0,u.isUndefined)(e)?o:e},[s,o]),S=(0,n.useRef)(C());(0,u.useIsomorphicLayoutEffect)(()=>{if(!l.current){l.current=!0;return}s&&R({_l:g?S.current:C()})},[s,d]);let y=_&&!l.current,I=e(s,async e=>{let n=U()._i,a=U()._r;R({_r:u.UNDEFINED});let s=[],l=C(),[c]=(0,u.createCacheHelper)(d,e),o=c().data,f=[],g=null;for(let e=0;e<l;++e){let[l,c]=(0,u.serialize)(t(e,h?null:g));if(!l)break;let[_,U]=(0,u.createCacheHelper)(d,l),R=_().data,b=E||n||(0,u.isUndefined)(R)||p&&!e&&!(0,u.isUndefined)(o)||y||o&&!(0,u.isUndefined)(o[e])&&!i.compare(o[e],R);if(r&&("function"==typeof a?a(R,c):b)){let t=async()=>{if(l in v){let e=v[l];delete v[l],R=await e}else R=await r(c);U({data:R,_k:c}),s[e]=R};h?f.push(t):await t()}else s[e]=R;h||(g=R)}return h&&await Promise.all(f.map(e=>e())),R({_i:u.UNDEFINED}),s},i),T=(0,n.useCallback)(function(e,t){let r="boolean"==typeof t?{revalidate:t}:t||{},n=!1!==r.revalidate;return s?(n&&((0,u.isUndefined)(e)?R({_i:!0,_r:r.revalidate}):R({_i:!1,_r:r.revalidate})),arguments.length?I.mutate(e,{...r,revalidate:n}):I.mutate()):f},[s,d]),V=(0,n.useCallback)(e=>{let r;if(!s)return f;let[,n]=(0,u.createCacheHelper)(d,s);if((0,u.isFunction)(e)?r=e(C()):"number"==typeof e&&(r=e),"number"!=typeof r)return f;n({_l:r}),S.current=r;let i=[],[a]=(0,u.createCacheHelper)(d,s),l=null;for(let e=0;e<r;++e){let[r]=(0,u.serialize)(t(e,l)),[n]=(0,u.createCacheHelper)(d,r),s=r?n().data:u.UNDEFINED;if((0,u.isUndefined)(s))return T(a().data);i.push(s),l=s}return T(i)},[s,d,T,C]);return{size:C(),setSize:V,mutate:T,get data(){return I.data},get error(){return I.error},get isValidating(){return I.isValidating},get isLoading(){return I.isLoading}}},g=(0,u.withMiddleware)(d,E)}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["1578"],{3041(e,t,a){a.r(t),a.d(t,{default:()=>_,infinite:()=>d,unstable_serialize:()=>c});var r=a(2287),l=a(2272),i=a(8444),n=a(4993),u=a(9888);let s=e=>(0,i.s)(e?e(0,null):null)[0],c=e=>"$inf$"+s(e),o=Promise.resolve(),d=e=>(t,a,l)=>{let n,c=(0,r.useRef)(!1),{cache:d,initialSize:_=1,revalidateAll:f=!1,persistSize:p=!1,revalidateFirstPage:g=!0,revalidateOnMount:b=!1,parallel:m=!1}=l,[,,,h]=i.a.get(i.o);try{(n=s(t))&&(n="$inf$"+n)}catch(e){}let[k,w,y]=(0,i.c)(d,n),v=(0,r.useCallback)(()=>(0,i.i)(k()._l)?_:k()._l,[d,n,_]);(0,u.useSyncExternalStore)((0,r.useCallback)(e=>n?y(n,()=>{e()}):()=>{},[d,n]),v,v);let C=(0,r.useCallback)(()=>{let e=k()._l;return(0,i.i)(e)?_:e},[n,_]),$=(0,r.useRef)(C());(0,i.u)(()=>{if(!c.current){c.current=!0;return}n&&w({_l:p?$.current:C()})},[n,d]);let U=b&&!c.current,z=e(n,async e=>{let r=k()._i,n=k()._r,u=i.a.get(d),s=u[8],c=()=>u[8]!==s;w({_r:i.U});let o=[],_=C(),[p]=(0,i.c)(d,e),b=p().data,y=[],v=null;for(let e=0;e<_;++e){let[u,s]=(0,i.s)(t(e,m?null:v));if(!u)break;let[_,p]=(0,i.c)(d,u),k=_().data,w=f||r||(0,i.i)(k)||g&&!e&&!(0,i.i)(b)||U||b&&!(0,i.i)(b[e])&&!l.compare(b[e],k);if(a&&("function"==typeof n?n(k,s):w)){let t=async()=>{if(u in h){let e=h[u];delete h[u],k=await e}else k=await a(s);c()||p({data:k,_k:s}),o[e]=k};m?y.push(t):await t()}else o[e]=k;m||(v=k)}return m&&await Promise.all(y.map(e=>e())),c()||w({_i:i.U}),o},l),L=(0,r.useCallback)(function(e,t){let a="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==a.revalidate;return n?(r&&((0,i.i)(e)?w({_i:!0,_r:a.revalidate}):w({_i:!1,_r:a.revalidate})),arguments.length?z.mutate(e,{...a,revalidate:r}):z.mutate()):o},[n,d]),P=(0,r.useCallback)(e=>{let a;if(!n)return o;let[,r]=(0,i.c)(d,n);if((0,i.e)(e)?a=e(C()):"number"==typeof e&&(a=e),"number"!=typeof a)return o;r({_l:a}),$.current=a;let l=[],[u]=(0,i.c)(d,n),s=null;for(let e=0;e<a;++e){let[a]=(0,i.s)(t(e,s)),[r]=(0,i.c)(d,a),n=a?r().data:i.U;if((0,i.i)(n))return L(u().data);l.push(n),s=n}return L(l)},[n,d,L,C]);return{size:C(),setSize:P,mutate:L,get data(){return z.data},get error(){return z.error},get isValidating(){return z.isValidating},get isLoading(){return z.isLoading}}},_=(0,n.withMiddleware)(l.u,d)}}]);
package/dist/1578.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"1578.js","sources":["webpack://@openmrs/esm-dispensing-app/./node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","webpack://@openmrs/esm-dispensing-app/./node_modules/use-sync-external-store/shim/index.js","webpack://@openmrs/esm-dispensing-app/./node_modules/swr/dist/infinite/index.mjs"],"names":["r","Object","u","e","window","i","s","c","f","setTimeout","Date","clearTimeout","Error","Promise","arguments"],"mappings":"qJAWA,IAAI,EAAQA,EAAQ,MAIhB,EAAW,YAAe,OAAOC,OAAO,EAAE,CAAGA,OAAO,EAAE,CAH1D,SAAY,CAAC,CAAE,CAAC,EACd,OAAO,AAAC,IAAM,GAAM,KAAM,GAAK,EAAI,GAAM,EAAI,IAAQ,GAAM,GAAK,GAAM,CACxE,EAEE,EAAW,EAAM,QAAQ,CACzBC,EAAY,EAAM,SAAS,CAC3B,EAAkB,EAAM,eAAe,CACvC,EAAgB,EAAM,aAAa,CA0BrC,SAAS,EAAuB,CAAI,EAClC,IAAI,EAAoB,EAAK,WAAW,CACxC,EAAO,EAAK,KAAK,CACjB,GAAI,CACF,IAAI,EAAY,IAChB,MAAO,CAAC,EAAS,EAAM,EACzB,CAAE,MAAOC,EAAO,CACd,MAAO,CAAC,CACV,CACF,CAIA,IAAI,EACF,IAAgB,OAAOC,QACvB,SAAuBA,OAAO,QAAQ,EACtC,SAAuBA,OAAO,QAAQ,CAAC,aAAa,CANtD,SAAgC,CAAS,CAAE,CAAW,EACpD,OAAO,GACT,EArCA,SAAgC,CAAS,CAAE,CAAW,EACpD,IAAI,EAAQ,IACV,EAAY,EAAS,CAAE,KAAM,CAAE,MAAO,EAAO,YAAa,CAAY,CAAE,GACxEC,EAAO,CAAS,CAAC,EAAE,CAAC,IAAI,CACxB,EAAc,CAAS,CAAC,EAAE,CAmB5B,OAlBA,EACE,WACEA,EAAK,KAAK,CAAG,EACbA,EAAK,WAAW,CAAG,EACnB,EAAuBA,IAAS,EAAY,CAAE,KAAMA,CAAK,EAC3D,EACA,CAAC,EAAW,EAAO,EAAY,EAEjCH,EACE,WAEE,OADA,EAAuBG,IAAS,EAAY,CAAE,KAAMA,CAAK,GAClD,EAAU,WACf,EAAuBA,IAAS,EAAY,CAAE,KAAMA,CAAK,EAC3D,EACF,EACA,CAAC,EAAU,EAEb,EAAc,GACP,CACT,CAoBA,GAAQ,oBAAoB,CAC1B,KAAK,IAAM,EAAM,oBAAoB,CAAG,EAAM,oBAAoB,CAAG,C,cC9DrE,EAAO,OAAO,CAAGL,EAAjB,K,8HCGF,IAAM,EAAM,SAAqB,CAAC,IAC9B,GAAI,AAAmB,YAAnB,EAAQ,MAAM,CACd,MAAM,EACH,GAAI,AAAmB,cAAnB,EAAQ,MAAM,CACrB,OAAO,EAAQ,KAAK,CACjB,GAAI,AAAmB,aAAnB,EAAQ,MAAM,CACrB,MAAM,EAAQ,MAAM,AAUpB,OARA,EAAQ,MAAM,CAAG,UACjB,EAAQ,IAAI,CAAC,AAAC,IACV,EAAQ,MAAM,CAAG,YACjB,EAAQ,KAAK,CAAG,CACpB,EAAG,AAAC,IACA,EAAQ,MAAM,CAAG,WACjB,EAAQ,MAAM,CAAG,CACrB,GACM,CAEd,GACM,EAAc,CAChB,OAAQ,EACZ,EA4eA,uBAAqB,CAAC,WAAS,CAAE,eAAgB,CAC7C,MAAO,eAAa,AACxB,GAeI,IAAM,EAAS,eA5fG,CAAC,EAAM,EAAS,KAClC,GAAM,CAAE,OAAK,CAAE,SAAO,CAAE,UAAQ,CAAE,cAAY,CAAE,mBAAiB,CAAE,mBAAiB,CAAE,iBAAe,CAAE,mBAAiB,CAAE,oBAAkB,CAAE,kBAAgB,CAAE,CAAG,EAC7J,CAAC,EAAoB,EAAU,EAAO,EAAQ,CAAG,oBAAkB,CAAC,GAKpE,CAAC,EAAK,EAAM,CAAG,gBAAU,GAEzB,EAAoB,aAAO,IAG3B,EAAe,aAAO,IAEtB,EAAS,aAAO,GAChB,EAAa,aAAO,GACpB,EAAY,aAAO,GAEnB,EAAW,IAAI,AADC,EAAU,OAAO,CACN,SAAS,IAAM,AAD1B,EAAU,OAAO,CACqB,QAAQ,GAC9D,CAAC,EAAU,EAAU,EAAgB,EAAgB,CAAG,wBAAkB,EAAO,GACjF,EAAoB,aAAO,CAAC,GAAG,OAAO,CACtC,EAAW,kBAAY,GAAgB,EAAO,QAAQ,CAAC,EAAI,CAAG,EAC9D,EAAU,CAAC,EAAM,KACnB,IAAI,IAAM,KAAK,EAEX,GAAI,AAAM,SADA,EAEN,IAAI,CAAC,EAAQ,CAAI,CAFX,EAEc,CAAE,CAAO,CAFvB,EAE0B,IACxB,CAAC,kBAAY,CAAI,CAHnB,EAGsB,GAGpB,CAAC,EAAQ,EAAc,CAAO,CANhC,EAMmC,GAFjC,MAAO,EAKf,MAEA,GAAI,CAAO,CAXL,EAWQ,GAAK,CAAI,CAXjB,EAWoB,CACtB,MAAO,GAInB,MAAO,EACX,EACM,EAAc,cAAQ,KACxB,IAAM,EACF,CAAI,CAAC,IACD,CAAC,IAEA,kBAAY,IAEb,AAhCU,EAAU,OAAO,CAgCf,QAAQ,KACpB,KACA,CAAC,kBAAY,IAA2B,GAJA,GAQ1C,EAAmB,AAAC,IAEtB,IAAM,EAAW,mBAAa,SAE9B,CADA,OAAO,EAAS,EAAE,CACb,GAGE,CACH,aAAc,GACd,UAAW,GACX,GAAG,CAAQ,AACf,EANW,CAOf,EACM,EAAa,IACbK,EAAc,IACd,EAAiB,EAAiB,GAClCC,EAAiB,IAAeD,EAAc,EAAiB,EAAiBA,GAIlF,EAAoB,EACxB,MAAO,CACH,KACI,IAAM,EAAc,EAAiB,YAErC,AADsB,EAAQ,EAAa,IAYvC,EAAkB,IAAI,CAAG,EAAY,IAAI,CACzC,EAAkB,SAAS,CAAG,EAAY,SAAS,CACnD,EAAkB,YAAY,CAAG,EAAY,YAAY,CACzD,EAAkB,KAAK,CAAG,EAAY,KAAK,CACpC,IAEP,EAAoB,EACb,EAEf,EACA,IAAIC,EACP,AAEL,EAAG,CACC,EACA,EACH,EAEK,EAAS,2BAAqB,kBAAY,AAAC,GAAW,EAAe,EAAK,CAAC,EAAS,KAC9E,AAAC,EAAQ,EAAM,IAAU,GACjC,GACJ,CACI,EACA,EACH,EAAG,CAAW,CAAC,EAAE,CAAE,CAAW,CAAC,EAAE,EAC5B,EAAiB,CAAC,EAAkB,OAAO,CAC3C,EAAiB,CAAkB,CAAC,EAAI,EAAI,CAAkB,CAAC,EAAI,CAAC,MAAM,CAAG,EAC7E,EAAa,EAAO,IAAI,CACxB,EAAO,kBAAY,GAAc,EAAW,EAC5C,EAAQ,EAAO,KAAK,CAEpB,EAAe,aAAO,GACtB,EAAe,EAAmB,kBAAY,GAAc,EAAa,OAAO,CAAG,EAAa,EAIhG,EAEF,AAAI,MAAkB,CAAC,kBAAY,EAAK,IAEpC,GAAkB,CAAC,kBAAY,GAA2B,GAE1D,AApHc,EAAU,OAAO,CAoHnB,QAAQ,KAIpB,EAAiB,mBAAY,IAAgB,EAG1C,kBAAY,IAAS,IAI1B,EAAyB,CAAC,CAAE,IAAO,GAAW,GAAkB,CAA0B,EAC1F,EAAe,kBAAY,EAAO,YAAY,EAAI,EAAyB,EAAO,YAAY,CAC9F,EAAY,kBAAY,EAAO,SAAS,EAAI,EAAyB,EAAO,SAAS,CAGrF,EAAa,kBAAY,MAAO,IAClC,IAII,EACA,EALE,EAAiB,EAAW,OAAO,CACzC,GAAI,CAAC,GAAO,CAAC,GAAkB,EAAa,OAAO,EAAI,AAtIrC,EAAU,OAAO,CAsIgC,QAAQ,GACvE,MAAO,GAIX,IAAI,EAAU,GACR,EAAO,GAAkB,CAAC,EAG1B,EAAwB,CAAC,CAAK,CAAC,EAAI,EAAI,CAAC,EAAK,MAAM,CAWlDC,EAAoB,IACvB,AAAI,iBAAe,CACR,CAAC,EAAa,OAAO,EAAI,IAAQ,EAAO,OAAO,EAAI,EAAkB,OAAO,CAEhF,IAAQ,EAAO,OAAO,CAG3B,EAAa,CACf,aAAc,GACd,UAAW,EACf,EACMC,EAA8B,KAChC,EAAS,EACb,EACM,EAAe,KAEjB,IAAM,EAAc,CAAK,CAAC,EAAI,AAC1B,IAAe,CAAW,CAAC,EAAE,GAAK,GAClC,OAAO,CAAK,CAAC,EAAI,AAEzB,EAEM,EAAe,CACjB,aAAc,EAClB,CAGI,mBAAY,IAAW,IAAI,GAC3B,GAAa,SAAS,CAAG,EAAG,EAEhC,GAAI,CAgCA,GA/BI,IACA,EAAS,GAGL,EAAO,cAAc,EAAI,kBAAY,IAAW,IAAI,GACpDC,WAAW,KACH,GAAWF,KACX,AAhMF,EAAU,OAAO,CAgMH,aAAa,CAAC,EAAK,EAEvC,EAAG,EAAO,cAAc,EAI5B,CAAK,CAAC,EAAI,CAAG,CACT,EAAe,GACf,qBACH,EAEL,CAAC,EAAS,EAAQ,CAAG,CAAK,CAAC,EAAI,CAC/B,EAAU,MAAM,EACZ,GAGAE,WAAW,EAAc,EAAO,gBAAgB,EAQhD,CAAC,CAAK,CAAC,EAAI,EAAI,CAAK,CAAC,EAAI,CAAC,EAAE,GAAK,EAMjC,OALI,GACIF,KACA,AA3NE,EAAU,OAAO,CA2NP,WAAW,CAAC,GAGzB,EAGX,GAAW,KAAK,CAAG,WAAS,CAa5B,IAAM,EAAe,CAAQ,CAAC,EAAI,CAClC,GAAI,CAAC,kBAAY,IAChB,IAAW,CAAY,CAAC,EAAE,EAC3B,GAAW,CAAY,CAAC,EAAE,EAC1B,AAAoB,IAApB,CAAY,CAAC,EAAE,AAAK,EAOhB,OANAC,IACI,GACID,KACA,AAtPE,EAAU,OAAO,CAsPP,WAAW,CAAC,GAGzB,GAIX,IAAM,EAAY,IAAW,IAAI,AAGjC,GAAW,IAAI,CAAG,EAAQ,EAAW,GAAW,EAAY,EAExD,GACIA,KACA,AApQM,EAAU,OAAO,CAoQX,SAAS,CAAC,EAAS,EAAK,EAGhD,CAAE,MAAO,EAAK,CACV,IACA,IAAM,EAzQQ,EAAU,OAAO,CA0QzB,CAAE,oBAAkB,CAAE,CAAG,CAE3B,EAAC,EAAc,QAAQ,KAEvB,EAAW,KAAK,CAAG,EAGf,GAAyBA,MACzB,EAAc,OAAO,CAAC,EAAK,EAAK,GAC5B,CAAuB,KAAvB,GAA+B,iBAAW,IAAuB,EAAmB,EAAG,GACnF,EAAC,AApRH,EAAU,OAAO,CAoRF,iBAAiB,EAAI,CAAC,AApRrC,EAAU,OAAO,CAoRgC,qBAAqB,EAAI,GAAS,GAIjF,EAAc,YAAY,CAAC,EAAK,EAAK,EAAe,AAAC,IACjD,IAAM,EAAe,CAAkB,CAAC,EAAI,AACxC,IAAgB,CAAY,CAAC,EAAE,EAC/B,CAAY,CAAC,EAAE,CAAC,yCAAuC,CAAE,EAEjE,EAAG,CACC,WAAY,AAAC,GAAK,UAAU,EAAI,GAAK,EACrC,OAAQ,EACZ,IAKpB,CAKA,OAHA,EAAU,GAEVC,IACO,EACX,EAWA,CACI,EACA,EACH,EAGK,EAAc,kBACpB,CAAC,GAAG,IACO,qBAAe,EAAO,EAAO,OAAO,IAAK,GAEpD,EAAE,EA2GF,GAzGA,GAAAN,EAAA,2BAA0B,KACtB,EAAW,OAAO,CAAG,EACrB,EAAU,OAAO,CAAG,EAGhB,AAAC,kBAAY,IACb,GAAa,OAAO,CAAG,CAAS,CAExC,GAEA,GAAAA,EAAA,2BAA0B,KACtB,GAAI,CAAC,EAAK,OACV,IAAM,EAAiB,EAAW,IAAI,CAAC,WAAS,CAAE,GAG9C,EAAyB,EAmBvB,EAAc,wBAAkB,EAAK,EAlBtB,CAAC,EAAM,EAAO,CAAC,CAAC,IACjC,GAAI,GAAQ,8BAA4B,CAAE,CACtC,IAAM,EAAMQ,KAAK,GAAG,EAChB,AArVM,GAAU,OAAO,CAqVX,iBAAiB,EAAI,EAAM,GAA0B,MACjE,EAAyB,EAAM,AAtVzB,EAAU,OAAO,CAsVoB,qBAAqB,CAChE,IAER,MAAO,GAAI,GAAQ,kCAAgC,CAC3C,AA1VM,EAAU,OAAO,CA0VX,qBAAqB,EAAI,KACrC,SAED,GAAI,GAAQ,+BAA6B,CAC5C,OAAO,SACJ,GAAI,GAAQ,yCAAuC,CACtD,OAAO,EAAW,EAG1B,GAqBA,OAlBA,EAAa,OAAO,CAAG,GACvB,EAAO,OAAO,CAAG,EACjB,EAAkB,OAAO,CAAG,GAE5B,EAAS,CACL,GAAI,CACR,GAEI,IACI,kBAAY,IAAS,WAAS,CAE9B,IAIA,UAAI,IAGL,KAEH,EAAa,OAAO,CAAG,GACvB,GACJ,CACJ,EAAG,CACC,EACH,EAED,GAAAR,EAAA,2BAA0B,KACtB,IAAI,EACJ,SAAS,IAGL,IAAM,EAAW,iBAAW,GAAmB,EAAgB,IAAW,IAAI,EAAI,CAI9E,IAAY,AAAU,KAAV,GACZ,GAAQO,WAAW,EAAS,EAAQ,CAE5C,CACA,SAAS,IAGD,CAAC,IAAW,KAAK,EAAK,IAAqB,AAjZjC,EAAU,OAAO,CAiZ4B,SAAS,EAAC,GAAO,IAAsB,AAjZpF,EAAU,OAAO,CAiZ+E,QAAQ,EAAC,EACnH,EAAW,GAAa,IAAI,CAAC,GAG7B,GAER,CAEA,OADA,IACO,KACC,IACAE,aAAa,GACb,EAAQ,GAEhB,CACJ,EAAG,CACC,EACA,EACA,EACA,EACH,EAED,oBAAc,GAKV,GAAY,kBAAY,IAAS,EAAK,CAItC,GAAI,CAAC,iBAAe,EAAI,WAAS,CAC7B,MAAM,AAAIC,MAAM,wDAGpB,GAAW,OAAO,CAAG,EACrB,EAAU,OAAO,CAAG,EACpB,EAAa,OAAO,CAAG,GACvB,IAAM,EAAM,CAAO,CAAC,EAAI,CAKxB,GAJK,kBAAY,IAEb,EADgB,EAAY,IAG5B,kBAAY,GAAQ,CACpB,IAAM,EAAU,EAAW,GACtB,kBAAY,KACb,EAAQ,MAAM,CAAG,YACjB,EAAQ,KAAK,CAAG,IAEpB,EAAI,EACR,MACI,MAAM,CAEd,CACA,MAAO,CACH,OAAQ,EACR,IAAI,MAAQ,CAER,OADA,EAAkB,IAAI,CAAG,GAClB,CACX,EACA,IAAI,OAAS,CAET,OADA,EAAkB,KAAK,CAAG,GACnB,CACX,EACA,IAAI,cAAgB,CAEhB,OADA,EAAkB,YAAY,CAAG,GAC1B,CACX,EACA,IAAI,WAAa,CAEb,OADA,EAAkB,SAAS,CAAG,GACvB,CACX,CACJ,CACJ,GAoBM,EAAkB,AAAC,GACd,gBAAU,EAAS,EAAO,EAAG,MAAQ,KAAK,CAAC,EAAE,CAElD,EAAqB,AAAC,GACjB,iBAAe,CAAG,EAAgB,GAMvC,EAAgBC,QAAQ,OAAO,GAI/B,EAAW,AAAC,GAAa,CAAC,EAAQ,EAAI,KACpC,IAKI,EALE,EAAc,aAAO,IACrB,CAAE,MAAO,CAAO,CAAE,cAAc,CAAC,CAAE,gBAAgB,EAAK,CAAE,cAAc,EAAK,CAAE,sBAAsB,EAAI,CAAE,oBAAoB,EAAK,CAAE,WAAW,EAAK,CAAE,CAAG,EAC3J,IAAO,EAAQ,CAAG,oBAAkB,CAAC,OAAK,EAIhD,GAAI,CAEI,AADJ,GAAc,EAAgB,EAAM,GACnB,GAAc,iBAAe,CAAG,CAAU,CAC/D,CAAE,MAAOV,EAAK,CAEd,CACA,GAAM,CAAC,EAAK,EAAK,EAAe,CAAG,wBAAkB,EAAS,GACxD,EAAc,kBAAY,IACf,kBAAY,IAAM,EAAE,EAAI,EAAc,IAAM,EAAE,CAG5D,CACC,EACA,EACA,EACH,EACD,2BAAqB,kBAAY,AAAC,GAC9B,AAAI,EAAoB,EAAe,EAAa,KAChD,GACJ,GACO,KAAK,EAEhB,CACI,EACA,EACH,EAAG,EAAa,GACjB,IAAM,EAAkB,kBAAY,KAChC,IAAM,EAAiB,IAAM,EAAE,CAC/B,MAAO,kBAAY,GAAkB,EAAc,CAGvD,EAAG,CACC,EACA,EACH,EAEK,EAAkB,aAAO,KAE/B,GAAAD,EAAA,2BAA0B,KACtB,GAAI,CAAC,EAAY,OAAO,CAAE,CACtB,EAAY,OAAO,CAAG,GACtB,MACJ,CACI,GAGA,EAAI,CACA,GAAI,EAAc,EAAgB,OAAO,CAAG,GAChD,EAIR,EAAG,CACC,EACA,EACH,EAED,IAAM,EAA0B,GAAqB,CAAC,EAAY,OAAO,CAEnE,EAAM,EAAW,EAAa,MAAO,IAEvC,IAAM,EAAqB,IAAM,EAAE,CAC7B,EAAuB,IAAM,EAAE,CACrC,EAAI,CACA,GAAI,WAAS,AACjB,GAEA,IAAM,EAAO,EAAE,CACT,EAAW,IACX,CAAC,EAAS,CAAG,wBAAkB,EAAS,GACxC,EAAY,IAAW,IAAI,CAC3B,EAAe,EAAE,CACnB,EAAmB,KACvB,IAAI,IAAI,EAAI,EAAG,EAAI,EAAU,EAAE,EAAE,CAC7B,GAAM,CAAC,EAAS,EAAQ,CAAG,gBAAU,EAAO,EAAG,EAAW,KAAO,IACjE,GAAI,CAAC,EACD,MAEJ,GAAM,CAAC,EAAa,EAAY,CAAG,wBAAkB,EAAS,GAE1D,EAAW,IAAc,IAAI,CAQ3B,EAAkB,GAAiB,GAAsB,kBAAY,IAAa,GAAuB,CAAC,GAAK,CAAC,kBAAY,IAAc,GAA2B,GAAa,CAAC,kBAAY,CAAS,CAAC,EAAE,GAAK,CAAC,EAAO,OAAO,CAAC,CAAS,CAAC,EAAE,CAAE,GACpP,GAAI,GAAO,CAAgC,YAAhC,OAAO,EAAsC,EAAqB,EAAU,GAAW,CAAc,EAAI,CAChH,IAAM,EAAa,UAEf,GAD4B,KAAW,EAGhC,CACH,IAAM,EAAM,CAAO,CAAC,EAAQ,AAG5B,QAAO,CAAO,CAAC,EAAQ,CAEvB,EAAW,MAAM,CACrB,MARI,EAAW,MAAM,EAAG,GASxB,EAAY,CACR,KAAM,EACN,GAAI,CACR,GACA,CAAI,CAAC,EAAE,CAAG,CACd,EACI,EACA,EAAa,IAAI,CAAC,GAElB,MAAM,GAEd,MACI,CAAI,CAAC,EAAE,CAAG,CAEV,CAAC,GACD,GAAmB,CAAO,CAElC,CAUA,OARI,GACA,MAAMW,QAAQ,GAAG,CAAC,EAAa,GAAG,CAAC,AAAC,GAAI,MAG5C,EAAI,CACA,GAAI,WAAS,AACjB,GAEO,CACX,EAAG,GACG,EAAS,kBACf,SAAS,CAAI,CAAE,CAAI,EAGf,IAAM,EAAU,AAAgB,WAAhB,OAAO,EAAqB,CACxC,WAAY,CAChB,EAAI,GAAQ,CAAC,EAEP,EAAmB,AAAuB,KAAvB,EAAQ,UAAU,QAE3C,AAAK,GACD,IACK,kBAAY,GAQb,EAAI,CACA,GAAI,GACJ,GAAI,EAAQ,UAAU,AAC1B,GATA,EAAI,CACA,GAAI,GACJ,GAAI,EAAQ,UAAU,AAC1B,IASDC,UAAU,MAAM,CAAG,EAAI,MAAM,CAAC,EAAM,CACvC,GAAG,CAAO,CACV,WAAY,CAChB,GAAK,EAAI,MAAM,IAnBU,CAoB7B,EAEA,CACI,EACA,EACH,EAEK,EAAU,kBAAY,AAAC,QAIrB,EAFJ,GAAI,CAAC,EAAa,OAAO,EACzB,GAAM,EAAG,EAAW,CAAG,wBAAkB,EAAS,GAOlD,GALI,iBAAW,GACX,EAAO,EAAI,KACJ,AAAc,UAAd,OAAO,GACd,GAAO,CAAE,EAET,AAAe,UAAf,OAAO,EAAkB,OAAO,EACpC,EAAW,CACP,GAAI,CACR,GACA,EAAgB,OAAO,CAAG,EAE1B,IAAM,EAAO,EAAE,CACT,CAAC,EAAiB,CAAG,wBAAkB,EAAS,GAClD,EAAmB,KACvB,IAAI,IAAI,EAAI,EAAG,EAAI,EAAM,EAAE,EAAE,CACzB,GAAM,CAAC,EAAQ,CAAG,gBAAU,EAAO,EAAG,IAChC,CAAC,EAAS,CAAG,wBAAkB,EAAS,GAExC,EAAW,EAAU,IAAW,IAAI,CAAG,WAAS,CAEtD,GAAI,kBAAY,GACZ,OAAO,EAAO,IAAmB,IAAI,EAEzC,EAAK,IAAI,CAAC,GACV,EAAmB,CACvB,CACA,OAAO,EAAO,EAClB,EAEA,CACI,EACA,EACA,EACA,EACH,EAGD,MAAO,CACH,KAAM,IACN,UACA,SACA,IAAI,MAAQ,CACR,OAAO,EAAI,IAAI,AACnB,EACA,IAAI,OAAS,CACT,OAAO,EAAI,KAAK,AACpB,EACA,IAAI,cAAgB,CAChB,OAAO,EAAI,YAAY,AAC3B,EACA,IAAI,WAAa,CACb,OAAO,EAAI,SAAS,AACxB,CACJ,CACJ,EACE,EAAiB,qBAAe,EAAQ,E"}
1
+ {"version":3,"file":"1578.js","sources":["webpack://@openmrs/esm-dispensing-app/./node_modules/swr/dist/infinite/index.mjs"],"names":["Promise","p","e","i","u","arguments"],"mappings":"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"}
package/dist/3517.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["3517"],{4225(e,a,s){s.r(a),s.d(a,{default:()=>r,immutable:()=>n});var i=s(2272),l=s(4993);let n=e=>(a,s,i)=>(i.revalidateOnFocus=!1,i.revalidateIfStale=!1,i.revalidateOnReconnect=!1,i.refreshInterval=0,e(a,s,i)),r=(0,l.withMiddleware)(i.u,n)}}]);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3517.js","sources":["webpack://@openmrs/esm-dispensing-app/./node_modules/swr/dist/immutable/index.mjs"],"names":[],"mappings":"2NAGA,IAAM,EAAY,AAAC,GAAa,CAAC,EAAK,EAAS,KAEvC,EAAO,iBAAiB,CAAG,GAC3B,EAAO,iBAAiB,CAAG,GAC3B,EAAO,qBAAqB,CAAG,GAC/B,EAAO,eAAe,CAAG,EAClB,EAAW,EAAK,EAAS,IAElC,EAAkB,qBAAe,GAAM,CAAE,E"}
package/dist/3877.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["3877"],{9087(e,n,s){s.d(n,{A:()=>t});let t={productiveHeading02:"-esm-dispensing__forms__productiveHeading02___auR9w",formWrapper:"-esm-dispensing__forms__formWrapper___P2kTX",formGroup:"-esm-dispensing__forms__formGroup___V03DP",bannerLoading:"-esm-dispensing__forms__bannerLoading___ufJ5H",patientInfo:"-esm-dispensing__forms__patientInfo___cMnYx",dateTimeContainer:"-esm-dispensing__forms__dateTimeContainer___p+iNn",timePickersContainer:"-esm-dispensing__forms__timePickersContainer___xC9xQ",frequencyAndDay:"-esm-dispensing__forms__frequencyAndDay___vafQx",datePickerControl:"-esm-dispensing__forms__datePickerControl___EQG5n",buttonGroup:"-esm-dispensing__forms__buttonGroup___gooeW",contentSwitcherWrapper:"-esm-dispensing__forms__contentSwitcherWrapper___w+Cl4",reviewContainer:"-esm-dispensing__forms__reviewContainer___iuZvA",prescriptionFormSectionHeader:"-esm-dispensing__forms__prescriptionFormSectionHeader___4gHgn",prescriptionFormField:"-esm-dispensing__forms__prescriptionFormField___b1R-u"}},8740(e,n,s){s.r(n),s.d(n,{default:()=>u});var t=s(2287),i=s.n(t),o=s(9742),r=s(1399),a=s(2151),_=s(4685),c=s(9513),d=s(1297),p=s(8035),l=s(7351),m=s(9087);let u=({workspaceProps:{medicationDispense:e,mode:n,patientUuid:s,encounterUuid:u,customWorkspaceTitle:f},closeWorkspace:g})=>{let{t:C}=(0,r.useTranslation)(),{mutate:b}=(0,o.useSWRConfig)(),E=(0,_.useConfig)(),{patient:h,isLoading:k}=(0,_.usePatient)(s),[v,S]=(0,t.useState)(),[w,x]=(0,t.useState)(!1),[A,P]=(0,t.useState)(!1),[T,W]=(0,t.useState)([]),{reasonForCloseValueSet:D}=(0,c.cE)(E.valueSets.reasonForClose.uuid);(0,t.useEffect)(()=>{let e=[];if(D?.compose?.include){let n=D.compose.include.find(e=>!e.system);n&&(n.concept?.forEach(n=>e.push({id:n.code,text:n.display})),e.sort((e,n)=>e.text.localeCompare(n.text)))}W(e)},[D]),(0,t.useEffect)(()=>S(e),[e]),(0,t.useEffect)(()=>{v&&v.statusReasonCodeableConcept?.coding[0].code?x(!0):x(!1)},[v]);let F=(0,t.useMemo)(()=>{if(h)return{patient:h,patientUuid:s,hideActionsOverflow:!0}},[h,s]);return i().createElement(_.Workspace2,{title:f??C("closePrescription","Close prescription")},i().createElement(a.lVW,{className:m.A.formWrapper},i().createElement("div",null,k&&i().createElement(a.OuH,{className:m.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),h&&i().createElement(_.ExtensionSlot,{name:"patient-header-slot",state:F}),i().createElement("section",{className:m.A.formGroup},i().createElement(_.ResponsiveWrapper,null,i().createElement(a.a32,{id:"reasonForPause",items:T,titleText:C("reasonForClose","Reason for close"),itemToString:e=>e?.text,initialSelectedItem:{id:e.statusReasonCodeableConcept?.coding[0]?.code,text:e.statusReasonCodeableConcept?.text},onChange:({selectedItem:e})=>{S({...v,statusReasonCodeableConcept:{coding:[{code:e?.id}]}})}})))),i().createElement("section",{className:m.A.buttonGroup},i().createElement(a.$nd,{disabled:A,onClick:()=>{g()},kind:"secondary"},(0,_.getCoreTranslation)("cancel","Cancel")),i().createElement(a.$nd,{disabled:!w||A,onClick:()=>{if(!A){P(!0);let s=new AbortController;(0,l.gY)(u),(0,c.A7)(v,p.NV.declined,s).then(n=>n.ok&&!e.id?(0,d.NT)((0,l.vj)(v.authorizingPrescription[0].reference),p.O7.declined):n).then(e=>{e.ok&&((0,l.Yi)(b,u),(0,_.showSnackbar)({kind:"success",title:C("enter"===n?"medicationDispenseClosed":"medicationDispenseUpdated","enter"===n?"Medication dispense closed.":"Dispense record successfully updated.")}),g({discardUnsavedChanges:!0}))}).catch(e=>{(0,_.showSnackbar)({title:C("enter"===n?"medicationDispenseCloseError":"medicationDispenseUpdatedError","enter"===n?"Error closing medication dispense.":"Error updating dispense record"),kind:"error",subtitle:e?.message}),P(!1)})}}},C("enter"===n?"close":"saveChanges","enter"===n?"Close":"Save changes")))))}}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["3877"],{9087(e,n,s){s.d(n,{A:()=>t});let t={productiveHeading02:"-esm-dispensing__forms__productiveHeading02___auR9w",formWrapper:"-esm-dispensing__forms__formWrapper___P2kTX",formGroup:"-esm-dispensing__forms__formGroup___V03DP",bannerLoading:"-esm-dispensing__forms__bannerLoading___ufJ5H",patientInfo:"-esm-dispensing__forms__patientInfo___cMnYx",dateTimeContainer:"-esm-dispensing__forms__dateTimeContainer___p+iNn",timePickersContainer:"-esm-dispensing__forms__timePickersContainer___xC9xQ",frequencyAndDay:"-esm-dispensing__forms__frequencyAndDay___vafQx",datePickerControl:"-esm-dispensing__forms__datePickerControl___EQG5n",buttonGroup:"-esm-dispensing__forms__buttonGroup___gooeW",contentSwitcherWrapper:"-esm-dispensing__forms__contentSwitcherWrapper___w+Cl4",reviewContainer:"-esm-dispensing__forms__reviewContainer___iuZvA",prescriptionFormSectionHeader:"-esm-dispensing__forms__prescriptionFormSectionHeader___4gHgn",prescriptionFormField:"-esm-dispensing__forms__prescriptionFormField___b1R-u"}},8740(e,n,s){s.r(n),s.d(n,{default:()=>u});var t=s(2287),i=s.n(t),o=s(2059),r=s(1399),a=s(2151),_=s(4685),c=s(9513),d=s(1297),p=s(8035),l=s(7351),m=s(9087);let u=({workspaceProps:{medicationDispense:e,mode:n,patientUuid:s,encounterUuid:u,customWorkspaceTitle:f},closeWorkspace:g})=>{let{t:C}=(0,r.useTranslation)(),{mutate:b}=(0,o.useSWRConfig)(),E=(0,_.useConfig)(),{patient:h,isLoading:k}=(0,_.usePatient)(s),[v,S]=(0,t.useState)(),[w,x]=(0,t.useState)(!1),[A,P]=(0,t.useState)(!1),[T,W]=(0,t.useState)([]),{reasonForCloseValueSet:D}=(0,c.cE)(E.valueSets.reasonForClose.uuid);(0,t.useEffect)(()=>{let e=[];if(D?.compose?.include){let n=D.compose.include.find(e=>!e.system);n&&(n.concept?.forEach(n=>e.push({id:n.code,text:n.display})),e.sort((e,n)=>e.text.localeCompare(n.text)))}W(e)},[D]),(0,t.useEffect)(()=>S(e),[e]),(0,t.useEffect)(()=>{v&&v.statusReasonCodeableConcept?.coding[0].code?x(!0):x(!1)},[v]);let F=(0,t.useMemo)(()=>{if(h)return{patient:h,patientUuid:s,hideActionsOverflow:!0}},[h,s]);return i().createElement(_.Workspace2,{title:f??C("closePrescription","Close prescription")},i().createElement(a.lVW,{className:m.A.formWrapper},i().createElement("div",null,k&&i().createElement(a.OuH,{className:m.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),h&&i().createElement(_.ExtensionSlot,{name:"patient-header-slot",state:F}),i().createElement("section",{className:m.A.formGroup},i().createElement(_.ResponsiveWrapper,null,i().createElement(a.a32,{id:"reasonForPause",items:T,titleText:C("reasonForClose","Reason for close"),itemToString:e=>e?.text,initialSelectedItem:{id:e.statusReasonCodeableConcept?.coding[0]?.code,text:e.statusReasonCodeableConcept?.text},onChange:({selectedItem:e})=>{S({...v,statusReasonCodeableConcept:{coding:[{code:e?.id}]}})}})))),i().createElement("section",{className:m.A.buttonGroup},i().createElement(a.$nd,{disabled:A,onClick:()=>{g()},kind:"secondary"},(0,_.getCoreTranslation)("cancel","Cancel")),i().createElement(a.$nd,{disabled:!w||A,onClick:()=>{if(!A){P(!0);let s=new AbortController;(0,l.gY)(u),(0,c.A7)(v,p.NV.declined,s).then(n=>n.ok&&!e.id?(0,d.NT)((0,l.vj)(v.authorizingPrescription[0].reference),p.O7.declined):n).then(e=>{e.ok&&((0,l.Yi)(b,u),(0,_.showSnackbar)({kind:"success",title:C("enter"===n?"medicationDispenseClosed":"medicationDispenseUpdated","enter"===n?"Medication dispense closed.":"Dispense record successfully updated.")}),g({discardUnsavedChanges:!0}))}).catch(e=>{(0,_.showSnackbar)({title:C("enter"===n?"medicationDispenseCloseError":"medicationDispenseUpdatedError","enter"===n?"Error closing medication dispense.":"Error updating dispense record"),kind:"error",subtitle:e?.message}),P(!1)})}}},C("enter"===n?"close":"saveChanges","enter"===n?"Close":"Save changes")))))}}}]);
package/dist/4302.js CHANGED
@@ -1 +1 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["4302"],{9087(e,t,n){n.d(t,{A:()=>i});let i={productiveHeading02:"-esm-dispensing__forms__productiveHeading02___auR9w",formWrapper:"-esm-dispensing__forms__formWrapper___P2kTX",formGroup:"-esm-dispensing__forms__formGroup___V03DP",bannerLoading:"-esm-dispensing__forms__bannerLoading___ufJ5H",patientInfo:"-esm-dispensing__forms__patientInfo___cMnYx",dateTimeContainer:"-esm-dispensing__forms__dateTimeContainer___p+iNn",timePickersContainer:"-esm-dispensing__forms__timePickersContainer___xC9xQ",frequencyAndDay:"-esm-dispensing__forms__frequencyAndDay___vafQx",datePickerControl:"-esm-dispensing__forms__datePickerControl___EQG5n",buttonGroup:"-esm-dispensing__forms__buttonGroup___gooeW",contentSwitcherWrapper:"-esm-dispensing__forms__contentSwitcherWrapper___w+Cl4",reviewContainer:"-esm-dispensing__forms__reviewContainer___iuZvA",prescriptionFormSectionHeader:"-esm-dispensing__forms__prescriptionFormSectionHeader___4gHgn",prescriptionFormField:"-esm-dispensing__forms__prescriptionFormField___b1R-u"}},3053(e,t,n){n.r(t),n.d(t,{default:()=>S});var i=n(2287),s=n.n(i),o=n(9742),a=n.n(o),r=n(1399),d=n(2151),u=n(4685),c=n(8035),l=n(7351);async function p(e,t){return await (0,u.openmrsFetch)("/ws/rest/v1/stockmanagement/dispenserequest",{method:"POST",signal:t.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify({dispenseItems:[e]})})}var m=n(9513),g=n(1297),_=n(9910),f=n.n(_),y=n(7003),v=n(771);let h=({medication:e,editAction:t})=>{let{t:n}=(0,r.useTranslation)();return s().createElement(d.FAs,{className:"-esm-dispensing__medication-card__medicationTile___dGgE8"},s().createElement("p",{className:"-esm-dispensing__medication-card__medicationName___TMWl1"},s().createElement("strong",null,(0,l.Q0)(e))),t&&s().createElement(d.K0,{align:"bottom-end",kind:"ghost",size:"sm",label:n("editFormulation","Edit formulation"),onClick:t},s().createElement(v.ff,null)))},b="-esm-dispensing__medication-dispense-review__dispenseDetailsContainer___mNXjC",E="-esm-dispensing__medication-dispense-review__quantitySummary___pXs6R",I=({medicationDispense:e,updateMedicationDispense:t,isFreeTextDosage:n,setIsFreeTextDosage:o,quantityRemaining:c,quantityDispensed:p})=>{let{t:_}=(0,r.useTranslation)(),v=(0,u.useConfig)(),I=(0,u.useSession)(),[D,x]=(0,i.useState)(!1),[S,C]=(0,i.useState)([]),[k,T]=(0,i.useState)([]),[q]=(0,i.useState)(e.quantity.value),[w,R]=(0,i.useState)(!1),N=v.dispenseBehavior.allowModifyingPrescription,{orderConfigObject:Q}=(0,m.E)(),{substitutionTypeValueSet:P}=(0,m.ij)(v.valueSets.substitutionType.uuid),{substitutionReasonValueSet:A}=(0,m.Sj)(v.valueSets.substitutionReason.uuid),M=(0,m.u9)(v.dispenserProviderRoles),{medicationRequest:F,isLoading:U}=(0,g.uc)(e.authorizingPrescription?e.authorizingPrescription[0].reference:null,v.refreshInterval),{prescriptionDate:W}=(0,g.IQ)(F?F.encounter.reference:null),{drugRoutes:H,drugDosingUnits:O,drugDispensingUnits:B,orderFrequencies:L}=(0,i.useMemo)(()=>{if(!Q)return{drugRoutes:[],drugDosingUnits:[],drugDispensingUnits:[],orderFrequencies:[]};{let e=Q.drugRoutes.map(e=>({id:e.uuid,text:e.display})),t=Q.drugDosingUnits.map(e=>({id:e.uuid,text:e.display}));return{drugRoutes:e,drugDosingUnits:t,drugDispensingUnits:Q.drugDispensingUnits.map(e=>({id:e.uuid,text:e.display})),orderFrequencies:Q.orderFrequencies.map(e=>({id:e.uuid,text:e.display}))}}},[Q]);(0,i.useEffect)(()=>{let e=[];if(P?.compose?.include){let t=P.compose.include.find(e=>!e.system);t&&t.concept?.forEach(t=>e.push({id:t.code,text:t.display})),e.sort((e,t)=>e.text.localeCompare(t.text))}C(e)},[P]),(0,i.useEffect)(()=>{let e=[];if(A?.compose?.include){let t=A.compose.include.find(e=>!e.system);t&&t.concept?.forEach(t=>e.push({id:t.code,text:t.display})),e.sort((e,t)=>e.text.localeCompare(t.text))}T(e)},[A]);let G=(0,l.M$)((0,l.H_)(e)?.medicationCodeableConcept?.coding),{medicationCodeableConceptUuid:$}=function(e,t){let{data:n}=a()(e||!t?null:`${u.fhirBaseUrl}/${t}`,u.openmrsFetch);return{medicationCodeableConceptUuid:n?(0,l.M$)(n.data.code.coding):null}}(G,(0,l.H_)(e).medicationReference?.reference),{medicationFormulations:z}=function(e){let{data:t}=a()(e?(0,l.bP)(e):null,u.openmrsFetch);return t?.data?.entry?{medicationFormulations:t.data.entry.map(e=>e.resource)}:{}}(G||$||null),j=F?.medicationReference?.reference&&e?.medicationReference?.reference&&F.medicationReference.reference!=e.medicationReference.reference,{substitution:Y}=e;(0,i.useEffect)(()=>{!U&&(j?Y.wasSubstituted||t({substitution:{...Y,wasSubstituted:!0}}):Y!=m.CG&&t({substitution:m.CG}))},[U,j,Y,t]),(0,i.useEffect)(()=>{R(I?.user&&(0,u.userHasAccess)(y.py,I.user))},[I]);let V=(0,i.useMemo)(()=>M.some(e=>e.uuid===I?.currentProvider?.uuid)?M:[...M,{uuid:I.currentProvider.uuid,person:{display:I?.user?.person?.display??""}}],[M,I]),J=(0,i.useMemo)(()=>e?.performer?.[0]?.actor?.reference?V?.find(t=>t.uuid===e.performer[0].actor.reference.split("/")[1]):void 0,[e?.performer,V]);return(0,i.useEffect)(()=>{J?.uuid&&t({performer:[{actor:{reference:`Practitioner/${J.uuid}`}}]})},[J,t]),s().createElement("div",{className:"-esm-dispensing__medication-dispense-review__medicationDispenseReviewContainer___ZEBJm"},s().createElement(d.BJc,{gap:5},s().createElement("div",{className:"-esm-dispensing__medication-dispense-review__medicationCardContainer___Ivkqe"},D?s().createElement(u.ResponsiveWrapper,null,s().createElement(d.msM,{id:"medicationFormulation",items:z,itemToString:e=>(0,l.Qz)(e),initialSelectedItem:{...z?.find(t=>t.id===e.medicationReference?.reference.split("/")[1])},titleText:_("medicationFormulation","Medication Formulation"),label:_("medicationFormulation","Medication Formulation"),onChange:({selectedItem:i})=>{"Medication/"+i.id!==e.medicationReference.reference&&t({medicationCodeableConcept:void 0,medicationReference:{reference:"Medication/"+i?.id,display:(0,l.Qz)(i)},quantity:{...e.quantity,value:0},...n?{}:{dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{...e.dosageInstruction[0].doseAndRate[0],doseQuantity:{...e.dosageInstruction[0].doseAndRate[0].doseQuantity,value:0}}]}]}}),x(!1)}})):s().createElement(h,{medication:(0,l.H_)(e),editAction:w&&N?()=>x(!0):null})),j&&s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{className:"-esm-dispensing__medication-dispense-review__substitutionType___tgANh",id:"substitutionType",items:S,titleText:_("substitutionType","Type of substitution"),itemToString:e=>e?.text,initialSelectedItem:{id:e.substitution.type?.coding[0]?.code,text:e.substitution.type?.text},onChange:({selectedItem:n})=>{t({substitution:{...e.substitution,type:{coding:[{code:n?.id}]}}})}}))),j&&s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{className:"-esm-dispensing__medication-dispense-review__substitutionReason___bgNgx",id:"substitutionReason",items:k,titleText:_("substitutionReason","Reason for substitution"),itemToString:e=>e?.text,initialSelectedItem:{id:e.substitution.reason[0]?.coding[0]?.code,text:e.substitution.reason[0]?.text},onChange:({selectedItem:n})=>{t({substitution:{...e.substitution,reason:[{coding:[{code:n?.id}]}]}})}}))),v.dispenseBehavior.restrictTotalQuantityDispensed?s().createElement(u.ResponsiveWrapper,null,s().createElement("div",null,s().createElement("p",{className:E},_("quantityPrescribed","Quantity Prescribed"),": ",q),s().createElement("p",{className:E},_("quantityDispensed","Quantity Dispensed"),": ",p),s().createElement("p",{className:E},_("quantityRemaining","Quantity Remaining to Dispense"),": ",c))):null,s().createElement("div",{className:b},s().createElement(d.Q7x,{allowEmpty:!0,value:e.quantity.value,disabled:!w,hideSteppers:!0,id:"quantity",invalidText:_("numberIsNotValid","Number is not valid"),label:s().createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"}},_("quantity","Quantity")),min:0,max:v.dispenseBehavior.restrictTotalQuantityDispensed?c:void 0,onChange:(n,i)=>{t({quantity:{...e.quantity,value:i.value?parseFloat(i.value.toString()):0}})}}),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"quantityUnits",disabled:!w||!N,items:B,titleText:_("drugDispensingUnit","Dispensing unit"),itemToString:e=>e?.text,initialSelectedItem:{id:e.quantity.code,text:e.quantity.unit},onChange:({selectedItem:n})=>{t({quantity:{value:e.quantity.value,code:n?.id}})},required:!0}))),s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.lMk,{toggled:n,disabled:!w||!N,id:"isFreeTextToggled",size:"sm",labelText:_("freeTextDosage","Free text dosage"),onToggle:n=>{o(n),n?t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{doseQuantity:{value:null,code:null}}],route:{coding:[{code:null}]},timing:{...e.dosageInstruction[0].timing,code:{coding:[{code:null}]}},text:""}]}):t({dosageInstruction:[{...e.dosageInstruction[0],text:""}]})}}))),!n&&s().createElement(s().Fragment,null,s().createElement("div",{className:b},s().createElement(d.Q7x,{allowEmpty:!1,disabled:!w||!N,hideSteppers:!0,id:"dosingQuantity",invalidText:_("numberIsNotValid","Number is not valid"),min:0,label:_("dose","Dose"),value:e.dosageInstruction[0].doseAndRate[0].doseQuantity.value,onChange:(n,i)=>{t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{...e.dosageInstruction[0].doseAndRate[0],doseQuantity:{...e.dosageInstruction[0].doseAndRate[0].doseQuantity,value:i.value?parseFloat(i.value.toString()):0}}]}]})}}),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"dosingUnits",disabled:!w||!N,items:O,titleText:_("doseUnit","Dose unit"),itemToString:e=>e?.text,initialSelectedItem:{id:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.code,text:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.unit},onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{doseQuantity:{value:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.value,code:n?.id}}]}]})},required:!0}))),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"editRoute",disabled:!w||!N,items:H,initialSelectedItem:{id:e.dosageInstruction[0].route?.coding[0]?.code,text:e.dosageInstruction[0].route?.text},titleText:_("route","Route"),itemToString:e=>e?.text,onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],route:{coding:[{code:n?.id}]}}]})},required:!0})),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"frequency",disabled:!w||!N,items:L,initialSelectedItem:{id:e.dosageInstruction[0].timing?.code?.coding[0]?.code,text:e.dosageInstruction[0].timing?.code?.text},titleText:_("frequency","Frequency"),itemToString:e=>e?.text,onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],timing:{...e.dosageInstruction[0].timing,code:{coding:[{code:n?.id}]}}}]})},required:!0}))),s().createElement(d.fs1,{labelText:n?_("freeTextDosage","Free text dosage"):_("patientInstructions","Patient instructions"),value:e.dosageInstruction[0].text,maxLength:65535,onChange:n=>{t({dosageInstruction:[{...e.dosageInstruction[0],text:n.target.value}]})}}),s().createElement(u.OpenmrsDatePicker,{id:"dispenseDate",labelText:_("dispenseDate","Date of Dispense"),minDate:W?f()(W).startOf("day").toDate():null,maxDate:f()().toDate(),onChange:n=>{let i=e.whenHandedOver?f()(e.whenHandedOver):null,s=f()(n);t({whenHandedOver:i?.isSame(s,"day")?i.toISOString():s.toISOString()})},value:f()(e.whenHandedOver).toDate()}),V&&s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"dispenser",initialSelectedItem:J,onChange:({selectedItem:e})=>{let n=e?e.uuid:I.currentProvider.uuid;t({performer:[{actor:{reference:`Practitioner/${n}`}}]})},items:V,itemToString:e=>e?.person?.display,required:!0,titleText:_("dispensedBy","Dispensed by")}))))},D=({medicationDispense:e,updateInventoryItem:t})=>{let{t:n}=(0,r.useTranslation)(),i=(0,u.useConfig)(),{inventoryItems:o,error:c,isLoading:l}=(e=>{let t=(0,u.useSession)(),n=`/ws/rest/v1/stockmanagement/stockiteminventory?v=default&totalCount=true&drugUuid=${e}&includeBatchNo=true&groupBy=LocationStockItemBatchNo&dispenseLocationUuid=${t?.sessionLocation?.uuid}&includeStrength=1&includeConceptRefIds=1&emptyBatch=1&emptyBatchLocationUuid=${t?.sessionLocation?.uuid}&dispenseAtLocation=1`,{data:i,error:s,isLoading:o}=a()(n,u.openmrsFetch);return{inventoryItems:i?.data?.results??[],error:s,isLoading:o}})(e?.medicationReference?.reference?.split("/")[1]),p=o.filter(t=>{var n,s;return n=e,s=t,void 0!==i&&!i.validateBatch||!!(n?.dosageInstruction&&n?.dosageInstruction.length>0)&&n.dosageInstruction.some(e=>{if(e.timing?.repeat?.duration&&e.timing?.repeat?.durationUnit&&s.quantity>0){let t=e.timing.repeat.durationUnit,n=e.timing.repeat.duration,i=new Date;switch(t){case"s":i.setSeconds(i.getSeconds()+n);break;case"min":i.setMinutes(i.getMinutes()+n);break;case"h":i.setHours(i.getHours()+n);break;case"d":i.setDate(i.getDate()+n);break;case"wk":i.setDate(i.getDate()+7*n);break;case"mo":i.setMonth(i.getMonth()+n);break;case"y":i.setFullYear(i.getFullYear()+n);break;default:return!1}return new Date(s.expiration)>i}return!1})}).sort((e,t)=>new Date(e.expiration).getTime()-new Date(t.expiration).getTime());return c?s().createElement(d.jeF,{"aria-label":"closes notification",kind:"error",lowContrast:!0,statusIconDescription:"notification",subtitle:n("errorLoadingInventoryItems","Error fetching inventory items"),title:n("error","Error")}):l?s().createElement(d.OuH,{description:n("loadingInventoryItems","Loading inventory items...")}):s().createElement(d.Wdr,null,s().createElement(d.a32,{id:"stockDispense",items:p,onChange:({selectedItem:e})=>{t(e)},itemToString:e=>e?n("stockDispenseDetails","Batch: {{batchNumber}} - Quantity: {{quantity}} ({{quantityUoM}}) - Expiry: {{expiration}}",{batchNumber:e.batchNumber,quantity:Math.floor(e.quantity),quantityUoM:e.quantityUoM,expiration:(0,u.formatDate)(new Date(e.expiration))}):"",titleText:n("stockDispense","Stock Dispense"),placeholder:n("selectStockDispense","Select stock to dispense from")}))};var x=n(9087);let S=({workspaceProps:{medicationDispense:e,medicationRequestBundle:t,mode:n,patientUuid:a,encounterUuid:_,quantityRemaining:f,quantityDispensed:y,customWorkspaceTitle:v,onWorkspaceClosed:h},closeWorkspace:b})=>{let{t:E}=(0,r.useTranslation)(),{mutate:S}=(0,o.useSWRConfig)(),{patient:C,isLoading:k}=(0,u.usePatient)(a),T=(0,u.useConfig)(),[q,w]=(0,i.useState)(),[R,N]=(0,i.useState)(e),[Q,P]=(0,i.useState)(!1),[A,M]=(0,i.useState)(!1),[F,U]=(0,i.useState)(()=>{let t=(0,l.Gp)(e?.dosageInstruction);return!!t&&(0,l.XM)(t)}),W=()=>{if(Q)return Promise.resolve();P(!0);let e=new AbortController;return(0,l.gY)(_),(0,m.A7)(R,c.NV.completed,e).then(e=>{if(e.ok){if(T.completeOrderWithThisDispense&&A)return(0,g.NT)((0,l.vj)(R.authorizingPrescription[0].reference),c.O7.completed).then(()=>e);let n=(0,l._e)(R,t,T.dispenseBehavior.restrictTotalQuantityDispensed);if((0,l.Qm)(t.request)!==n)return(0,g.NT)((0,l.vj)(R.authorizingPrescription[0].reference),n).then(()=>e)}return e}).then(t=>{let{status:n}=t;T.enableStockDispense&&(201===n||200===n)&&p({dispenseLocation:q.locationUuid,patient:a,order:(0,l.vj)(R.authorizingPrescription[0].reference),encounter:_,stockItem:q?.stockItemUuid,stockBatch:q.stockBatchUuid,stockItemPackagingUOM:q.quantityUoMUuid,quantity:R.quantity.value},e).then(()=>{(0,u.showSnackbar)({title:E("stockDispensed","Stock dispensed"),kind:"success",subtitle:E("stockDispensedSuccessfully","Stock dispensed successfully and batch level updated.")})},e=>{(0,u.showSnackbar)({title:"Stock dispense error",kind:"error",subtitle:e?.message})});return t}).then(e=>{let{status:t}=e;T.completeOrderWithThisDispense&&A&&e?.data?.status==="completed"&&(0,u.showSnackbar)({title:E("prescriptionCompleted","Prescription completed"),kind:"success",subtitle:E("prescriptionCompletedSuccessfully","Medication dispensed and prescription marked as completed")}),(201===t||200===t)&&((0,l.Yi)(S,_),(0,u.showSnackbar)({kind:"success",subtitle:E("medicationListUpdated","Medication dispense list has been updated."),title:E("enter"===n?"medicationDispensed":"medicationDispenseUpdated","enter"===n?"Medication successfully dispensed.":"Medication dispense record successfully updated.")}),b({discardUnsavedChanges:!0}),P(!1),h?.())},e=>{(0,u.showSnackbar)({kind:"error",title:E("enter"===n?"medicationDispenseError":"medicationDispenseUpdatedError","enter"===n?"Error dispensing medication.":"Error updating dispense record"),subtitle:e?.message}),P(!1)})},H=(0,i.useCallback)(e=>{N(t=>({...t,...e}))},[]),O=(0,i.useMemo)(()=>{if(!R)return!1;let e=R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.value||R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.code||R.dosageInstruction[0]?.route?.coding[0]?.code||R.dosageInstruction[0]?.timing?.code?.coding[0].code,t=R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.value&&R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.code&&R.dosageInstruction[0]?.route?.coding[0]?.code&&R.dosageInstruction[0]?.timing?.code?.coding[0].code;return R.performer&&R.performer[0]?.actor.reference&&R.quantity?.value&&(!f||R?.quantity?.value<=f)&&R.quantity?.code&&(t&&!F||!e&&F&&R.dosageInstruction[0]?.text)&&(!R.substitution.wasSubstituted||R.substitution.reason[0]?.coding[0].code&&R.substitution.type?.coding[0].code)},[F,R,f]);(0,i.useEffect)(()=>{if("enter"===n&&t?.request?.dispenseRequest){let e=t.request.dispenseRequest.numberOfRepeatsAllowed;(0===e||null==e)&&M(!0)}},[t,n]);let B=!!T.enableStockDispense&&!q||!O||Q,L=(0,i.useMemo)(()=>{if(C)return{patient:C,patientUuid:a,hideActionsOverflow:!0}},[C,a]);return s().createElement(u.Workspace2,{title:v??E("dispensePrescription","Dispense prescription")},s().createElement(d.lVW,{className:x.A.formWrapper},s().createElement("div",null,k&&s().createElement(d.OuH,{className:x.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),C&&s().createElement(u.ExtensionSlot,{name:"patient-header-slot",state:L}),s().createElement("section",{className:x.A.formGroup},s().createElement(d.lRv,null,T.dispenseBehavior.allowModifyingPrescription?E("drugHelpText","You may edit the formulation and quantity dispensed here"):E("drugHelpTextNoEdit","You may edit quantity dispensed here")),R?s().createElement("div",null,s().createElement(I,{medicationDispense:R,updateMedicationDispense:H,isFreeTextDosage:F,setIsFreeTextDosage:U,quantityRemaining:f,quantityDispensed:y}),T.completeOrderWithThisDispense&&"enter"===n&&!e?.id&&s().createElement(d.Sc0,{id:"complete-order-with-this-dispense",labelText:E("completeOrderWithThisDispense","Complete order with this dispense"),checked:A,onChange:(e,{checked:t})=>M(t)}),T.enableStockDispense&&s().createElement(D,{inventoryItem:q,medicationDispense:e,updateInventoryItem:w})):null)),s().createElement("section",{className:x.A.buttonGroup},s().createElement(d.$nd,{disabled:Q,onClick:()=>{b(),h?.()},kind:"secondary"},(0,u.getCoreTranslation)("cancel","Cancel")),s().createElement(d.$nd,{disabled:B,onClick:()=>{let e,i,s,o,a,r=R?(e=t?.dispenses??[],i=T.duplicateCheckWindowDays,s=e=>{if(!e)return null;let t=new Date(e).getTime();return Number.isNaN(t)?null:t},o=24*i*36e5,a=s(R.whenHandedOver??R.whenPrepared)??Date.now(),e.filter(e=>e.status===c.NV.completed).filter(e=>{let t=s(e.whenHandedOver??e.whenPrepared);return null!==t&&t<=a&&a-t<=o}).sort((e,t)=>s(t.whenHandedOver??t.whenPrepared)-s(e.whenHandedOver??e.whenPrepared)).find(e=>{if("edit"===n&&e.id&&R.id&&e.id===R.id)return!1;let t=e.medicationCodeableConcept?.coding?.[0]?.code===R.medicationCodeableConcept?.coding?.[0]?.code,i=e.quantity?.value===R.quantity?.value&&e.quantity?.code===R.quantity?.code,s=e.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.value===R.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.value&&e.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.code===R.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.code;return t&&i&&s})):null;if(T.enableDuplicateDispenseCheck&&r){let e;e=(0,u.showModal)("duplicate-dispense-modal",{onClose:()=>e(),medicationName:R?.medicationCodeableConcept?.text||"",previousDispense:r,previousDispenseDate:r?.whenHandedOver??r?.whenPrepared??void 0,previousSchedule:r?.dosageInstruction?.[0]?.timing?.code?.text??R?.dosageInstruction?.[0]?.timing?.code?.text,previousQuantity:r?.quantity?.value??R?.quantity?.value,previousQuantityUnit:r?.quantity?.unit??r?.quantity?.code??R?.quantity?.code,previousPerformer:r?.performer?.[0]?.actor?.display??R?.performer?.[0]?.actor?.display,onConfirm:()=>W()})}else W()}},E("enter"===n?"dispensePrescription":"saveChanges","enter"===n?"Dispense prescription":"Save changes")))))}}}]);
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["4302"],{9087(e,t,n){n.d(t,{A:()=>i});let i={productiveHeading02:"-esm-dispensing__forms__productiveHeading02___auR9w",formWrapper:"-esm-dispensing__forms__formWrapper___P2kTX",formGroup:"-esm-dispensing__forms__formGroup___V03DP",bannerLoading:"-esm-dispensing__forms__bannerLoading___ufJ5H",patientInfo:"-esm-dispensing__forms__patientInfo___cMnYx",dateTimeContainer:"-esm-dispensing__forms__dateTimeContainer___p+iNn",timePickersContainer:"-esm-dispensing__forms__timePickersContainer___xC9xQ",frequencyAndDay:"-esm-dispensing__forms__frequencyAndDay___vafQx",datePickerControl:"-esm-dispensing__forms__datePickerControl___EQG5n",buttonGroup:"-esm-dispensing__forms__buttonGroup___gooeW",contentSwitcherWrapper:"-esm-dispensing__forms__contentSwitcherWrapper___w+Cl4",reviewContainer:"-esm-dispensing__forms__reviewContainer___iuZvA",prescriptionFormSectionHeader:"-esm-dispensing__forms__prescriptionFormSectionHeader___4gHgn",prescriptionFormField:"-esm-dispensing__forms__prescriptionFormField___b1R-u"}},3053(e,t,n){n.r(t),n.d(t,{default:()=>S});var i=n(2287),s=n.n(i),o=n(2059),a=n.n(o),r=n(1399),d=n(2151),u=n(4685),c=n(8035),l=n(7351);async function p(e,t){return await (0,u.openmrsFetch)("/ws/rest/v1/stockmanagement/dispenserequest",{method:"POST",signal:t.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify({dispenseItems:[e]})})}var m=n(9513),g=n(1297),_=n(9910),f=n.n(_),y=n(7003),v=n(771);let h=({medication:e,editAction:t})=>{let{t:n}=(0,r.useTranslation)();return s().createElement(d.FAs,{className:"-esm-dispensing__medication-card__medicationTile___dGgE8"},s().createElement("p",{className:"-esm-dispensing__medication-card__medicationName___TMWl1"},s().createElement("strong",null,(0,l.Q0)(e))),t&&s().createElement(d.K0,{align:"bottom-end",kind:"ghost",size:"sm",label:n("editFormulation","Edit formulation"),onClick:t},s().createElement(v.ff,null)))},b="-esm-dispensing__medication-dispense-review__dispenseDetailsContainer___mNXjC",E="-esm-dispensing__medication-dispense-review__quantitySummary___pXs6R",I=({medicationDispense:e,updateMedicationDispense:t,isFreeTextDosage:n,setIsFreeTextDosage:o,quantityRemaining:c,quantityDispensed:p})=>{let{t:_}=(0,r.useTranslation)(),v=(0,u.useConfig)(),I=(0,u.useSession)(),[D,x]=(0,i.useState)(!1),[S,C]=(0,i.useState)([]),[k,T]=(0,i.useState)([]),[q]=(0,i.useState)(e.quantity.value),[w,R]=(0,i.useState)(!1),N=v.dispenseBehavior.allowModifyingPrescription,{orderConfigObject:Q}=(0,m.E)(),{substitutionTypeValueSet:P}=(0,m.ij)(v.valueSets.substitutionType.uuid),{substitutionReasonValueSet:A}=(0,m.Sj)(v.valueSets.substitutionReason.uuid),M=(0,m.u9)(v.dispenserProviderRoles),{medicationRequest:F,isLoading:U}=(0,g.uc)(e.authorizingPrescription?e.authorizingPrescription[0].reference:null,v.refreshInterval),{prescriptionDate:W}=(0,g.IQ)(F?F.encounter.reference:null),{drugRoutes:H,drugDosingUnits:O,drugDispensingUnits:B,orderFrequencies:L}=(0,i.useMemo)(()=>{if(!Q)return{drugRoutes:[],drugDosingUnits:[],drugDispensingUnits:[],orderFrequencies:[]};{let e=Q.drugRoutes.map(e=>({id:e.uuid,text:e.display})),t=Q.drugDosingUnits.map(e=>({id:e.uuid,text:e.display}));return{drugRoutes:e,drugDosingUnits:t,drugDispensingUnits:Q.drugDispensingUnits.map(e=>({id:e.uuid,text:e.display})),orderFrequencies:Q.orderFrequencies.map(e=>({id:e.uuid,text:e.display}))}}},[Q]);(0,i.useEffect)(()=>{let e=[];if(P?.compose?.include){let t=P.compose.include.find(e=>!e.system);t&&t.concept?.forEach(t=>e.push({id:t.code,text:t.display})),e.sort((e,t)=>e.text.localeCompare(t.text))}C(e)},[P]),(0,i.useEffect)(()=>{let e=[];if(A?.compose?.include){let t=A.compose.include.find(e=>!e.system);t&&t.concept?.forEach(t=>e.push({id:t.code,text:t.display})),e.sort((e,t)=>e.text.localeCompare(t.text))}T(e)},[A]);let G=(0,l.M$)((0,l.H_)(e)?.medicationCodeableConcept?.coding),{medicationCodeableConceptUuid:$}=function(e,t){let{data:n}=a()(e||!t?null:`${u.fhirBaseUrl}/${t}`,u.openmrsFetch);return{medicationCodeableConceptUuid:n?(0,l.M$)(n.data.code.coding):null}}(G,(0,l.H_)(e).medicationReference?.reference),{medicationFormulations:z}=function(e){let{data:t}=a()(e?(0,l.bP)(e):null,u.openmrsFetch);return t?.data?.entry?{medicationFormulations:t.data.entry.map(e=>e.resource)}:{}}(G||$||null),j=F?.medicationReference?.reference&&e?.medicationReference?.reference&&F.medicationReference.reference!=e.medicationReference.reference,{substitution:Y}=e;(0,i.useEffect)(()=>{!U&&(j?Y.wasSubstituted||t({substitution:{...Y,wasSubstituted:!0}}):Y!=m.CG&&t({substitution:m.CG}))},[U,j,Y,t]),(0,i.useEffect)(()=>{R(I?.user&&(0,u.userHasAccess)(y.py,I.user))},[I]);let V=(0,i.useMemo)(()=>M.some(e=>e.uuid===I?.currentProvider?.uuid)?M:[...M,{uuid:I.currentProvider.uuid,person:{display:I?.user?.person?.display??""}}],[M,I]),J=(0,i.useMemo)(()=>e?.performer?.[0]?.actor?.reference?V?.find(t=>t.uuid===e.performer[0].actor.reference.split("/")[1]):void 0,[e?.performer,V]);return(0,i.useEffect)(()=>{J?.uuid&&t({performer:[{actor:{reference:`Practitioner/${J.uuid}`}}]})},[J,t]),s().createElement("div",{className:"-esm-dispensing__medication-dispense-review__medicationDispenseReviewContainer___ZEBJm"},s().createElement(d.BJc,{gap:5},s().createElement("div",{className:"-esm-dispensing__medication-dispense-review__medicationCardContainer___Ivkqe"},D?s().createElement(u.ResponsiveWrapper,null,s().createElement(d.msM,{id:"medicationFormulation",items:z,itemToString:e=>(0,l.Qz)(e),initialSelectedItem:{...z?.find(t=>t.id===e.medicationReference?.reference.split("/")[1])},titleText:_("medicationFormulation","Medication Formulation"),label:_("medicationFormulation","Medication Formulation"),onChange:({selectedItem:i})=>{"Medication/"+i.id!==e.medicationReference.reference&&t({medicationCodeableConcept:void 0,medicationReference:{reference:"Medication/"+i?.id,display:(0,l.Qz)(i)},quantity:{...e.quantity,value:0},...n?{}:{dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{...e.dosageInstruction[0].doseAndRate[0],doseQuantity:{...e.dosageInstruction[0].doseAndRate[0].doseQuantity,value:0}}]}]}}),x(!1)}})):s().createElement(h,{medication:(0,l.H_)(e),editAction:w&&N?()=>x(!0):null})),j&&s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{className:"-esm-dispensing__medication-dispense-review__substitutionType___tgANh",id:"substitutionType",items:S,titleText:_("substitutionType","Type of substitution"),itemToString:e=>e?.text,initialSelectedItem:{id:e.substitution.type?.coding[0]?.code,text:e.substitution.type?.text},onChange:({selectedItem:n})=>{t({substitution:{...e.substitution,type:{coding:[{code:n?.id}]}}})}}))),j&&s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{className:"-esm-dispensing__medication-dispense-review__substitutionReason___bgNgx",id:"substitutionReason",items:k,titleText:_("substitutionReason","Reason for substitution"),itemToString:e=>e?.text,initialSelectedItem:{id:e.substitution.reason[0]?.coding[0]?.code,text:e.substitution.reason[0]?.text},onChange:({selectedItem:n})=>{t({substitution:{...e.substitution,reason:[{coding:[{code:n?.id}]}]}})}}))),v.dispenseBehavior.restrictTotalQuantityDispensed?s().createElement(u.ResponsiveWrapper,null,s().createElement("div",null,s().createElement("p",{className:E},_("quantityPrescribed","Quantity Prescribed"),": ",q),s().createElement("p",{className:E},_("quantityDispensed","Quantity Dispensed"),": ",p),s().createElement("p",{className:E},_("quantityRemaining","Quantity Remaining to Dispense"),": ",c))):null,s().createElement("div",{className:b},s().createElement(d.Q7x,{allowEmpty:!0,value:e.quantity.value,disabled:!w,hideSteppers:!0,id:"quantity",invalidText:_("numberIsNotValid","Number is not valid"),label:s().createElement("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"}},_("quantity","Quantity")),min:0,max:v.dispenseBehavior.restrictTotalQuantityDispensed?c:void 0,onChange:(n,i)=>{t({quantity:{...e.quantity,value:i.value?parseFloat(i.value.toString()):0}})}}),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"quantityUnits",disabled:!w||!N,items:B,titleText:_("drugDispensingUnit","Dispensing unit"),itemToString:e=>e?.text,initialSelectedItem:{id:e.quantity.code,text:e.quantity.unit},onChange:({selectedItem:n})=>{t({quantity:{value:e.quantity.value,code:n?.id}})},required:!0}))),s().createElement("div",{className:b},s().createElement(u.ResponsiveWrapper,null,s().createElement(d.lMk,{toggled:n,disabled:!w||!N,id:"isFreeTextToggled",size:"sm",labelText:_("freeTextDosage","Free text dosage"),onToggle:n=>{o(n),n?t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{doseQuantity:{value:null,code:null}}],route:{coding:[{code:null}]},timing:{...e.dosageInstruction[0].timing,code:{coding:[{code:null}]}},text:""}]}):t({dosageInstruction:[{...e.dosageInstruction[0],text:""}]})}}))),!n&&s().createElement(s().Fragment,null,s().createElement("div",{className:b},s().createElement(d.Q7x,{allowEmpty:!1,disabled:!w||!N,hideSteppers:!0,id:"dosingQuantity",invalidText:_("numberIsNotValid","Number is not valid"),min:0,label:_("dose","Dose"),value:e.dosageInstruction[0].doseAndRate[0].doseQuantity.value,onChange:(n,i)=>{t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{...e.dosageInstruction[0].doseAndRate[0],doseQuantity:{...e.dosageInstruction[0].doseAndRate[0].doseQuantity,value:i.value?parseFloat(i.value.toString()):0}}]}]})}}),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"dosingUnits",disabled:!w||!N,items:O,titleText:_("doseUnit","Dose unit"),itemToString:e=>e?.text,initialSelectedItem:{id:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.code,text:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.unit},onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],doseAndRate:[{doseQuantity:{value:e.dosageInstruction[0].doseAndRate[0].doseQuantity?.value,code:n?.id}}]}]})},required:!0}))),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"editRoute",disabled:!w||!N,items:H,initialSelectedItem:{id:e.dosageInstruction[0].route?.coding[0]?.code,text:e.dosageInstruction[0].route?.text},titleText:_("route","Route"),itemToString:e=>e?.text,onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],route:{coding:[{code:n?.id}]}}]})},required:!0})),s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"frequency",disabled:!w||!N,items:L,initialSelectedItem:{id:e.dosageInstruction[0].timing?.code?.coding[0]?.code,text:e.dosageInstruction[0].timing?.code?.text},titleText:_("frequency","Frequency"),itemToString:e=>e?.text,onChange:({selectedItem:n})=>{t({dosageInstruction:[{...e.dosageInstruction[0],timing:{...e.dosageInstruction[0].timing,code:{coding:[{code:n?.id}]}}}]})},required:!0}))),s().createElement(d.fs1,{labelText:n?_("freeTextDosage","Free text dosage"):_("patientInstructions","Patient instructions"),value:e.dosageInstruction[0].text,maxLength:65535,onChange:n=>{t({dosageInstruction:[{...e.dosageInstruction[0],text:n.target.value}]})}}),s().createElement(u.OpenmrsDatePicker,{id:"dispenseDate",labelText:_("dispenseDate","Date of Dispense"),minDate:W?f()(W).startOf("day").toDate():null,maxDate:f()().toDate(),onChange:n=>{let i=e.whenHandedOver?f()(e.whenHandedOver):null,s=f()(n);t({whenHandedOver:i?.isSame(s,"day")?i.toISOString():s.toISOString()})},value:f()(e.whenHandedOver).toDate()}),V&&s().createElement(u.ResponsiveWrapper,null,s().createElement(d.a32,{id:"dispenser",initialSelectedItem:J,onChange:({selectedItem:e})=>{let n=e?e.uuid:I.currentProvider.uuid;t({performer:[{actor:{reference:`Practitioner/${n}`}}]})},items:V,itemToString:e=>e?.person?.display,required:!0,titleText:_("dispensedBy","Dispensed by")}))))},D=({medicationDispense:e,updateInventoryItem:t})=>{let{t:n}=(0,r.useTranslation)(),i=(0,u.useConfig)(),{inventoryItems:o,error:c,isLoading:l}=(e=>{let t=(0,u.useSession)(),n=`/ws/rest/v1/stockmanagement/stockiteminventory?v=default&totalCount=true&drugUuid=${e}&includeBatchNo=true&groupBy=LocationStockItemBatchNo&dispenseLocationUuid=${t?.sessionLocation?.uuid}&includeStrength=1&includeConceptRefIds=1&emptyBatch=1&emptyBatchLocationUuid=${t?.sessionLocation?.uuid}&dispenseAtLocation=1`,{data:i,error:s,isLoading:o}=a()(n,u.openmrsFetch);return{inventoryItems:i?.data?.results??[],error:s,isLoading:o}})(e?.medicationReference?.reference?.split("/")[1]),p=o.filter(t=>{var n,s;return n=e,s=t,void 0!==i&&!i.validateBatch||!!(n?.dosageInstruction&&n?.dosageInstruction.length>0)&&n.dosageInstruction.some(e=>{if(e.timing?.repeat?.duration&&e.timing?.repeat?.durationUnit&&s.quantity>0){let t=e.timing.repeat.durationUnit,n=e.timing.repeat.duration,i=new Date;switch(t){case"s":i.setSeconds(i.getSeconds()+n);break;case"min":i.setMinutes(i.getMinutes()+n);break;case"h":i.setHours(i.getHours()+n);break;case"d":i.setDate(i.getDate()+n);break;case"wk":i.setDate(i.getDate()+7*n);break;case"mo":i.setMonth(i.getMonth()+n);break;case"y":i.setFullYear(i.getFullYear()+n);break;default:return!1}return new Date(s.expiration)>i}return!1})}).sort((e,t)=>new Date(e.expiration).getTime()-new Date(t.expiration).getTime());return c?s().createElement(d.jeF,{"aria-label":"closes notification",kind:"error",lowContrast:!0,statusIconDescription:"notification",subtitle:n("errorLoadingInventoryItems","Error fetching inventory items"),title:n("error","Error")}):l?s().createElement(d.OuH,{description:n("loadingInventoryItems","Loading inventory items...")}):s().createElement(d.Wdr,null,s().createElement(d.a32,{id:"stockDispense",items:p,onChange:({selectedItem:e})=>{t(e)},itemToString:e=>e?n("stockDispenseDetails","Batch: {{batchNumber}} - Quantity: {{quantity}} ({{quantityUoM}}) - Expiry: {{expiration}}",{batchNumber:e.batchNumber,quantity:Math.floor(e.quantity),quantityUoM:e.quantityUoM,expiration:(0,u.formatDate)(new Date(e.expiration))}):"",titleText:n("stockDispense","Stock Dispense"),placeholder:n("selectStockDispense","Select stock to dispense from")}))};var x=n(9087);let S=({workspaceProps:{medicationDispense:e,medicationRequestBundle:t,mode:n,patientUuid:a,encounterUuid:_,quantityRemaining:f,quantityDispensed:y,customWorkspaceTitle:v,onWorkspaceClosed:h},closeWorkspace:b})=>{let{t:E}=(0,r.useTranslation)(),{mutate:S}=(0,o.useSWRConfig)(),{patient:C,isLoading:k}=(0,u.usePatient)(a),T=(0,u.useConfig)(),[q,w]=(0,i.useState)(),[R,N]=(0,i.useState)(e),[Q,P]=(0,i.useState)(!1),[A,M]=(0,i.useState)(!1),[F,U]=(0,i.useState)(()=>{let t=(0,l.Gp)(e?.dosageInstruction);return!!t&&(0,l.XM)(t)}),W=()=>{if(Q)return Promise.resolve();P(!0);let e=new AbortController;return(0,l.gY)(_),(0,m.A7)(R,c.NV.completed,e).then(e=>{if(e.ok){if(T.completeOrderWithThisDispense&&A)return(0,g.NT)((0,l.vj)(R.authorizingPrescription[0].reference),c.O7.completed).then(()=>e);let n=(0,l._e)(R,t,T.dispenseBehavior.restrictTotalQuantityDispensed);if((0,l.Qm)(t.request)!==n)return(0,g.NT)((0,l.vj)(R.authorizingPrescription[0].reference),n).then(()=>e)}return e}).then(t=>{let{status:n}=t;T.enableStockDispense&&(201===n||200===n)&&p({dispenseLocation:q.locationUuid,patient:a,order:(0,l.vj)(R.authorizingPrescription[0].reference),encounter:_,stockItem:q?.stockItemUuid,stockBatch:q.stockBatchUuid,stockItemPackagingUOM:q.quantityUoMUuid,quantity:R.quantity.value},e).then(()=>{(0,u.showSnackbar)({title:E("stockDispensed","Stock dispensed"),kind:"success",subtitle:E("stockDispensedSuccessfully","Stock dispensed successfully and batch level updated.")})},e=>{(0,u.showSnackbar)({title:"Stock dispense error",kind:"error",subtitle:e?.message})});return t}).then(e=>{let{status:t}=e;T.completeOrderWithThisDispense&&A&&e?.data?.status==="completed"&&(0,u.showSnackbar)({title:E("prescriptionCompleted","Prescription completed"),kind:"success",subtitle:E("prescriptionCompletedSuccessfully","Medication dispensed and prescription marked as completed")}),(201===t||200===t)&&((0,l.Yi)(S,_),(0,u.showSnackbar)({kind:"success",subtitle:E("medicationListUpdated","Medication dispense list has been updated."),title:E("enter"===n?"medicationDispensed":"medicationDispenseUpdated","enter"===n?"Medication successfully dispensed.":"Medication dispense record successfully updated.")}),b({discardUnsavedChanges:!0}),P(!1),h?.())},e=>{(0,u.showSnackbar)({kind:"error",title:E("enter"===n?"medicationDispenseError":"medicationDispenseUpdatedError","enter"===n?"Error dispensing medication.":"Error updating dispense record"),subtitle:e?.message}),P(!1)})},H=(0,i.useCallback)(e=>{N(t=>({...t,...e}))},[]),O=(0,i.useMemo)(()=>{if(!R)return!1;let e=R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.value||R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.code||R.dosageInstruction[0]?.route?.coding[0]?.code||R.dosageInstruction[0]?.timing?.code?.coding[0].code,t=R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.value&&R.dosageInstruction[0]?.doseAndRate[0]?.doseQuantity?.code&&R.dosageInstruction[0]?.route?.coding[0]?.code&&R.dosageInstruction[0]?.timing?.code?.coding[0].code;return R.performer&&R.performer[0]?.actor.reference&&R.quantity?.value&&(!f||R?.quantity?.value<=f)&&R.quantity?.code&&(t&&!F||!e&&F&&R.dosageInstruction[0]?.text)&&(!R.substitution.wasSubstituted||R.substitution.reason[0]?.coding[0].code&&R.substitution.type?.coding[0].code)},[F,R,f]);(0,i.useEffect)(()=>{if("enter"===n&&t?.request?.dispenseRequest){let e=t.request.dispenseRequest.numberOfRepeatsAllowed;(0===e||null==e)&&M(!0)}},[t,n]);let B=!!T.enableStockDispense&&!q||!O||Q,L=(0,i.useMemo)(()=>{if(C)return{patient:C,patientUuid:a,hideActionsOverflow:!0}},[C,a]);return s().createElement(u.Workspace2,{title:v??E("dispensePrescription","Dispense prescription")},s().createElement(d.lVW,{className:x.A.formWrapper},s().createElement("div",null,k&&s().createElement(d.OuH,{className:x.A.bannerLoading,iconDescription:"Loading",description:"Loading banner",status:"active"}),C&&s().createElement(u.ExtensionSlot,{name:"patient-header-slot",state:L}),s().createElement("section",{className:x.A.formGroup},s().createElement(d.lRv,null,T.dispenseBehavior.allowModifyingPrescription?E("drugHelpText","You may edit the formulation and quantity dispensed here"):E("drugHelpTextNoEdit","You may edit quantity dispensed here")),R?s().createElement("div",null,s().createElement(I,{medicationDispense:R,updateMedicationDispense:H,isFreeTextDosage:F,setIsFreeTextDosage:U,quantityRemaining:f,quantityDispensed:y}),T.completeOrderWithThisDispense&&"enter"===n&&!e?.id&&s().createElement(d.Sc0,{id:"complete-order-with-this-dispense",labelText:E("completeOrderWithThisDispense","Complete order with this dispense"),checked:A,onChange:(e,{checked:t})=>M(t)}),T.enableStockDispense&&s().createElement(D,{inventoryItem:q,medicationDispense:e,updateInventoryItem:w})):null)),s().createElement("section",{className:x.A.buttonGroup},s().createElement(d.$nd,{disabled:Q,onClick:()=>{b(),h?.()},kind:"secondary"},(0,u.getCoreTranslation)("cancel","Cancel")),s().createElement(d.$nd,{disabled:B,onClick:()=>{let e,i,s,o,a,r=R?(e=t?.dispenses??[],i=T.duplicateCheckWindowDays,s=e=>{if(!e)return null;let t=new Date(e).getTime();return Number.isNaN(t)?null:t},o=24*i*36e5,a=s(R.whenHandedOver??R.whenPrepared)??Date.now(),e.filter(e=>e.status===c.NV.completed).filter(e=>{let t=s(e.whenHandedOver??e.whenPrepared);return null!==t&&t<=a&&a-t<=o}).sort((e,t)=>s(t.whenHandedOver??t.whenPrepared)-s(e.whenHandedOver??e.whenPrepared)).find(e=>{if("edit"===n&&e.id&&R.id&&e.id===R.id)return!1;let t=e.medicationCodeableConcept?.coding?.[0]?.code===R.medicationCodeableConcept?.coding?.[0]?.code,i=e.quantity?.value===R.quantity?.value&&e.quantity?.code===R.quantity?.code,s=e.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.value===R.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.value&&e.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.code===R.dosageInstruction?.[0]?.doseAndRate?.[0]?.doseQuantity?.code;return t&&i&&s})):null;if(T.enableDuplicateDispenseCheck&&r){let e;e=(0,u.showModal)("duplicate-dispense-modal",{onClose:()=>e(),medicationName:R?.medicationCodeableConcept?.text||"",previousDispense:r,previousDispenseDate:r?.whenHandedOver??r?.whenPrepared??void 0,previousSchedule:r?.dosageInstruction?.[0]?.timing?.code?.text??R?.dosageInstruction?.[0]?.timing?.code?.text,previousQuantity:r?.quantity?.value??R?.quantity?.value,previousQuantityUnit:r?.quantity?.unit??r?.quantity?.code??R?.quantity?.code,previousPerformer:r?.performer?.[0]?.actor?.display??R?.performer?.[0]?.actor?.display,onConfirm:()=>W()})}else W()}},E("enter"===n?"dispensePrescription":"saveChanges","enter"===n?"Dispense prescription":"Save changes")))))}}}]);
package/dist/467.js CHANGED
@@ -1 +1 @@
1
- (globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["467"],{4767(e,t,n){var i={"./uk.json":["723","9072"],"./ar.json":["4132","7045"],"./ru_RU.json":["986","8359"],"./uz_UZ.json":["890","7175"],"./fr.json":["4055","6508"],"./sw_KE.json":["8618","903"],"./uz.json":["3584","6377"],"./en.json":["4300","5117"],"./ky.json":["8163","2416"],"./pl.json":["1119","6724"],"./sq.json":["8371","4928"],"./ka.json":["795","1480"],"./si.json":["6859","6904"],"./zh_TW.json":["439","556"],"./de.json":["4944","5145"],"./lg.json":["4618","8695"],"./vi.json":["9214","6371"],"./tr.json":["5241","434"],"./es_MX.json":["8349","1646"],"./tr_TR.json":["9900","1869"],"./zh_CN.json":["9879","5644"],"./en_US.json":["9569","4106"],"./he.json":["4652","2317"],"./id.json":["2690","6047"],"./ku.json":["9895","4348"],"./es.json":["3099","7912"],"./ne.json":["2146","5503"],"./ar_SY.json":["7617","282"],"./uz@Latn.json":["7097","4658"],"./bn.json":["7159","6444"],"./cs.json":["6589","7182"],"./zh.json":["5661","7742"],"./hi_IN.json":["5442","4383"],"./pt_BR.json":["6468","1877"],"./qu.json":["5173","8358"],"./ro_RO.json":["6022","3963"],"./sw.json":["9913","3378"],"./am.json":["1197","9806"],"./pt.json":["6679","5132"],"./it.json":["9538","4111"],"./km.json":["6716","5940"],"./hi.json":["6840","2881"]};function s(e){if(!n.o(i,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=i[e],s=t[0];return n.e(t[1]).then(function(){return n(s)})}s.keys=()=>Object.keys(i),s.id=4767,e.exports=s},6339(e,t,n){"use strict";n.d(t,{A:()=>m});var i=n(2287),s=n.n(i),a=n(6942),r=n.n(a),o=n(1399),l=n(2151),c=n(4685),d=n(7351);let p="-esm-dispensing__medication-event__bodyLong01___+dWdf",u="-esm-dispensing__medication-event__label01___GOwXJ",m=({medicationEvent:e,status:t=null,children:n,isDispenseEvent:i})=>{let{t:a}=(0,o.useTranslation)(),m=(0,d.Gp)(e.dosageInstruction),_=(0,d.XM)(m),f=(0,d.Qe)(e),h=(0,d.c1)(e),g=!(0,c.isDesktop)((0,c.useLayoutType)());return s().createElement(l.FAs,{className:r()({"-esm-dispensing__medication-event__medicationEventTile___aCxUk":!0,"-esm-dispensing__medication-event__dispenseEvent___pfeL9":i,"-esm-dispensing__medication-event__isTablet___tYol6":g})},s().createElement("div",null,s().createElement("p",{className:"-esm-dispensing__medication-event__medicationName___Dy9oL"},t,t&&" ",s().createElement("strong",null,(0,d.Q0)((0,d.H_)(e)))),!_&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("dose","Dose").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__dosage___94wUZ"},m?.doseAndRate&&m.doseAndRate.map((e,t)=>s().createElement("span",{key:t},e?.doseQuantity?.value," ",e?.doseQuantity?.unit))),m?.route?.text&&s().createElement(s().Fragment,null," — ",m.route.text),m?.timing?.code?.text&&s().createElement(s().Fragment,null," — ",m.timing.code.text),m?.timing?.repeat?.duration&&s().createElement(s().Fragment,null," ","for ",m.timing.repeat.duration," ",m.timing.repeat.durationUnit)),f&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("quantity","Quantity").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__quantity___xyD-l"},f.value," ",f.unit)),(h||0===h)&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("refills","Refills").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__refills___sJbuJ"},h)),m?.text&&s().createElement("p",{className:p},m.text),m?.additionalInstruction?.length>0&&s().createElement("p",{className:p},m?.additionalInstruction[0].text)),n)}},7003(e,t,n){"use strict";n.d(t,{Bi:()=>o,T:()=>m,Ub:()=>f,Wz:()=>a,Yj:()=>r,Zw:()=>c,_8:()=>d,c1:()=>_,ih:()=>p,p1:()=>i,py:()=>l,w9:()=>u}),window.getOpenmrsSpaBase;let i=`${window.spaBase}/dispensing`,s="http://fhir.openmrs.org/ext",a=s+"/medicine",r=s+"/medicationrequest/fulfillerstatus",o="Task: dispensing.create.dispense",l="Task: dispensing.create.dispense.allowSubstitutions",c="Task: dispensing.edit.dispense",d="Task: dispensing.delete.dispense",p="Task: dispensing.delete.dispense.ifCreator",u="application/merge-patch+json",m="Encounter?_query=encountersWithMedicationRequests",_="MedicationRequest",f="medication-dispense-action-slot"},7886(e,t,n){"use strict";n.r(t),n.d(t,{dispenseWorkspace:()=>ec,closeDispenseWorkspace:()=>el,pauseActionButton:()=>eo,printPrescriptionPreviewModal:()=>ep,dispensingDashboard:()=>ei,dispensingDashboardLink:()=>es,startupApp:()=>ee,dispensingLink:()=>en,duplicateDispenseModal:()=>em,deleteConfirmModal:()=>eu,importTranslation:()=>J,pauseDispenseWorkspace:()=>ed,dispenseActionButton:()=>er,patientDiagnoses:()=>e_,dispensing:()=>et,onPrescriptionFilledModal:()=>eh,closeActionButton:()=>ea,patientConditions:()=>ef});var i=n(4685);let s={drugOrderTypeUUID:{_type:i.Type.UUID,_description:"UUID for the 'Drug' order type, used to filter the order basket to show only drug order panels. Must match the orderTypeUuid config in @openmrs/esm-patient-medications-app.",_default:"131168f4-15f5-102d-96e4-000c29c2a5d7"},appName:{_type:i.Type.String,_default:"Pharmacy"},enableDuplicateDispenseCheck:{_type:i.Type.Boolean,_description:"Enable/Disable the duplicate dispense check feature",_default:!0},duplicateCheckWindowDays:{_type:i.Type.Number,_description:"Number of days to look back when checking for duplicate dispenses",_default:7},actionButtons:{pauseButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Pause button in the button action bar",_default:!0}},closeButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Close button in the button action bar",_default:!0}},printPrescriptionsButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Print Prescriptions button in the prescriptions action bar",_default:!0}}},dispenseBehavior:{allowModifyingPrescription:{_type:i.Type.Boolean,_description:"Enable/Disable editing the prescription. If Disabled, Quantity will be he only editable field on prescription form. Note that this means that quantity units will need to be mandatory and set correctly on the prescription.",_default:!0},restrictTotalQuantityDispensed:{_type:i.Type.Boolean,_description:"Enable/Disable restricting dispensing quantity greater than total quantity ordered. Marks prescription as complete when total quantity dispensed. If true, allowModifyingPrescription *must* be false, as this functionality relies solely on numeric quantity and assumes no change in formulation, dosage, unit, etc",_default:!1}},dispenserProviderRoles:{_type:i.Type.Array,_description:'Array of provider roles uuids. If specified, only providers with these roles will be listed in the "Dispensed By" dropdown. Note that this simply restricts the providers that can be recorded as Dispensers, it does not limit who can create dispense events.',_default:[]},medicationRequestExpirationPeriodInDays:{_type:i.Type.Number,_description:"Medication Requests older that this will be considered expired",_default:90},locationBehavior:{locationColumn:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Location column in the main prescriptions table showing ordering location",_default:!1}},locationFilter:{enabled:{_type:i.Type.Boolean,_description:"Enable/Disable Location filter on main prescriptions page",_default:!1},tag:{_type:i.Type.String,_description:"Only locations with this tag will appear as options in the location dropdown filter",_default:"Login Location"},associatedPharmacyLocationAttribute:{_type:i.Type.String,_description:"Name of the location attribute whose value identifies the associated pharmacy location. The location whose attribute value matches the user's login location will be pre-selected in the filter dropdown. This attribute has no effect on which locations appear as options.",_default:"Associated Pharmacy Location"}},restrictToVisitLocationDescendants:{_type:i.Type.Boolean,_description:"If true, limits prescriptions shown to locations that are descendants of the current login location's nearest ancestor tagged as a visit location. Requires the EMR API module to be installed.",_default:!1}},refreshInterval:{_type:i.Type.Number,_description:"The interval, in milliseconds, to query the backend for new/changed data",_default:6e4},valueSets:{reasonForPause:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Pause' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/168099/",_default:"2462a9d7-61fb-4bf5-9359-aedecb8d03cb"}},reasonForClose:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Close' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/168099/",_default:"2462a9d7-61fb-4bf5-9359-aedecb8d03cb"}},substitutionReason:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Substitution' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/167862/",_default:"2de6e1be-f2dd-4ba0-9516-8a611aa2af9b"}},substitutionType:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Type of Substitution' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/167859/",_default:"b9c5bca0-d026-4245-a4d2-e4c0a8999082"}}},enableStockDispense:{_type:i.Type.Boolean,_description:"Enable or disable stock deduction during the dispensing process. Requires the stock management module to be installed and configured.",_default:!1},validateBatch:{_type:i.Type.Boolean,_description:"Enable or disable stock item batch number validation. Requires the stock management module to be installed and configured.",_default:!0},leftNavMode:{_type:i.Type.String,_description:"Sets the left nav mode for the dispensing app.",_validators:[i.validators.oneOf(["normal","collapsed","hidden"])],_default:"collapsed"},completeOrderWithThisDispense:{_type:i.Type.Boolean,_description:'Enable or disable the "Complete order with this dispense" checkbox on the dispense form.',_default:!1},customTabs:{_type:i.Type.Array,_description:"Custom tabs to be added to the prescription panel. See README for more details.",_default:[]}};var a=n(2287),r=n.n(a),o=n(2151),l=n(1399),c=n(9513),d=n(6942),p=n.n(d);let u={dispensing:"-esm-dispensing__dispensing__dispensing___9APDl",hasLeftNav:"-esm-dispensing__dispensing__hasLeftNav___oNrBA"};var m=n(7136),_=n(3335);let f=()=>r().createElement("svg",{width:"72",height:"72",viewBox:"0 0 62 58",xmlns:"http://www.w3.org/2000/svg"},r().createElement("defs",null,r().createElement("path",{id:"whv9q6f4ta",d:"M0 0h62v30.508H0z"}),r().createElement("path",{id:"hp71ojgcnc",d:"M0 0h24.603v26.571H0z"})),r().createElement("g",{fill:"none"},r().createElement("g",{opacity:".193",transform:"matrix(-1 0 0 1 62 26.571)"},r().createElement("path",{d:"M62 0c0 16.85-13.916 30.508-31.037 30.508S0 16.849 0 0h62z",fill:"var(--brand-03)",mask:"url(#rt0c8mo6eb)"})),r().createElement("g",{opacity:".396",transform:"matrix(-1 0 0 1 60.032 0)"},r().createElement("path",{d:"m24.603 26.571-13.35-23.51C9.592.141 5.884-.869 3.011.817.138 2.503-.855 6.272.804 9.193l9.874 17.378",fill:"var(--brand-03)",mask:"url(#hgianthqwd)"})))),h="-esm-dispensing__pharmacy-header__value___IfLyg",g=()=>{let{t:e}=(0,l.useTranslation)(),t=(0,i.useSession)(),n=(0,i.useConfig)(),s=t?.sessionLocation?.display;return r().createElement("div",{className:"-esm-dispensing__pharmacy-header__header___1ZXtT"},r().createElement("div",{className:"-esm-dispensing__pharmacy-header__leftJustifiedItems___s1JmM"},r().createElement(f,null),r().createElement("div",{className:"-esm-dispensing__pharmacy-header__pageLabels___ZqJpt"},r().createElement("p",null,e("appName",n.appName)),r().createElement("p",{className:"-esm-dispensing__pharmacy-header__pageName___B80gx"},e("home","Home")))),r().createElement("div",{className:"-esm-dispensing__pharmacy-header__rightJustifiedItems___YqnNm"},r().createElement("div",{className:"-esm-dispensing__pharmacy-header__dateAndLocation___4Rnjf"},r().createElement(m.aZ,{size:16}),r().createElement("span",{className:h},s),r().createElement("span",{className:"-esm-dispensing__pharmacy-header__middot___0XUIQ"},"\xb7"),r().createElement(_.Vv,{size:16}),r().createElement("span",{className:h},(0,i.formatDate)(new Date,{noToday:!0})))))};var y=n(9742),E=n.n(y);class b extends Error{constructor(e){super(e),this.name="MissingOptionalBackendDependencyError"}}function v(e){return t=>({id:t.uuid,name:t.name,associatedPharmacyLocation:t.attributes?.find(t=>t.attributeType.name===e)?.value?.uuid??null})}var T=n(1297);let N=({patient:{name:e,uuid:t}})=>{let n,{error:s,isLoading:a,age:o}=(e=>{let t=`${i.restBaseUrl}/person/${e}?v=custom:(age)`,{data:n,error:s,isLoading:a,mutate:r}=E()(t,i.openmrsFetch);return{age:n?.data?.age,error:s,isLoading:a,mutate:r}})(t),{t:c}=(0,l.useTranslation)(),d=c("age","Age");if(a||s)return r().createElement(r().Fragment,null,e);let p=-1!==(n=e.lastIndexOf(")"))?e.slice(0,n)+`, ${d}: ${o}`+e.slice(n):`${e} ${d}: ${o}`;return r().createElement(r().Fragment,null,p)};var C=n(8035),D=n(7003),w=n(7351),S=n(6339);let k="-esm-dispensing__history-and-comments__menuitem___TLhEk",P="-esm-dispensing__history-and-comments__historyHeader___+Wyzw",L=({medicationDispense:e,medicationRequestBundle:t,patientUuid:n,encounterUuid:s})=>{let{t:a}=(0,l.useTranslation)(),{mutate:d}=(0,y.useSWRConfig)(),p=(0,i.useSession)(),u=(0,i.useConfig)(),m=p?.user&&(0,i.userHasAccess)(D.Zw,p.user),_=((e,t)=>{if(e?.user){if((0,i.userHasAccess)(D._8,e.user))return!0;else if((0,i.userHasAccess)(D.ih,e.user)&&e.currentProvider?.uuid&&t.performer?.find(t=>t?.actor?.reference?.length>1&&t.actor.reference.split("/")[1]===e.currentProvider.uuid)!==void 0)return!0}return!1})(p,e);return m||_?r().createElement(o.obU,{"aria-label":a("medicationDispenseActionMenu","Medication Dispense Action Menu"),className:"-esm-dispensing__history-and-comments__medicationEventActionMenu___HLh3V",flipped:!0},m&&r().createElement(o.XSD,{className:k,itemText:a("editRecord","Edit record"),onClick:()=>{var r;let{workspaceName:o,props:l}=((e,t)=>{if(e.status===C.NV.completed){let i=null,a=null;return u.dispenseBehavior.restrictTotalQuantityDispensed&&(i=(0,w.HP)(t)+(e?.quantity?e.quantity.value:0),t.dispenses&&(a=(0,w.ky)(t.dispenses))),{workspaceName:"dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,medicationRequestBundle:t,quantityRemaining:i,quantityDispensed:a,mode:"edit"}}}return e.status===C.NV.on_hold?{workspaceName:"pause-dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,mode:"edit"}}:e.status===C.NV.declined?{workspaceName:"close-dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,mode:"edit"}}:void 0})(e,t),c=(r=e).status===C.NV.completed?a("editDispenseRecord","Edit Dispense Record"):r.status===C.NV.on_hold?a("editPauseRecord","Edit Pause Record"):r.status===C.NV.declined?a("editCloseRecord","Edit Close Record"):void 0;(0,i.launchWorkspace2)(o,{customWorkspaceTitle:c,...l})}}),_&&r().createElement(o.XSD,{className:k,hasDivider:!0,isDelete:!0,itemText:a("delete","Delete"),onClick:()=>(({medicationDispense:e,medicationRequestBundle:t})=>{let n=(0,i.showModal)("delete-confirm-modal",{title:a("deleteDispenseRecord","Delete Dispense Record"),message:a("deleteDispenseRecordMessage","Are you sure you want to delete this dispense record?"),onDelete:()=>{let r,o;r=(0,w.Qm)(t.request),o=(0,w.aC)(e,t,u.dispenseBehavior.restrictTotalQuantityDispensed),(0,w.gY)(s),(0,c._D)(e.id).then(()=>{(0,i.showSnackbar)({kind:"success",title:a("success","Success"),subtitle:a("medicationDispenseDeleted","Medication dispense was deleted successfully")}),r!==o&&(0,T.NT)((0,w.vj)(e.authorizingPrescription[0].reference),o).then(()=>{(0,w.Yi)(d,s)}).catch(()=>{(0,i.showSnackbar)({kind:"error",title:a("updateStatusFailed","Update Status Failed"),subtitle:a("couldNotUpdateMedicationRequestStatus","Could not update medication request status")})}),(0,w.Yi)(d,s)}).catch(()=>{(0,i.showSnackbar)({kind:"error",title:a("deleteFailed","Delete Failed"),subtitle:a("couldNotDeleteMedicationDispense","Could not delete medication dispense")})}),n()},onClose:()=>{n()}})})({medicationDispense:e,medicationRequestBundle:t})})):null},I=({medicationDispense:e})=>{let{t}=(0,l.useTranslation)();return e.status===C.NV.completed?r().createElement(o.vwO,{type:"gray"},t("dispensed","Dispensed")):e.status===C.NV.on_hold?r().createElement(o.vwO,{type:"red"},t("paused","Paused")):e.status===C.NV.declined?r().createElement(o.vwO,{type:"red"},t("closed","Closed")):null},q=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,i.useConfig)(),{medicationRequestBundles:c,prescriptionDate:d,error:p,isLoading:u}=(0,T.IQ)(e,s.refreshInterval),{sortedDispenses:m,requests:_,hasHistory:f}=(0,a.useMemo)(()=>{let e=c?.flatMap(e=>e.dispenses)??[],t=c?.flatMap(e=>e.request)??[];return{sortedDispenses:[...e].sort(w.Fq),requests:t,hasHistory:e.length>0||t.length>0}},[c]);return r().createElement("div",{className:"-esm-dispensing__history-and-comments__historyAndCommentsContainer___at3xs"},u&&r().createElement(o.FAs,null,r().createElement(o.rrI,{paragraph:!0,lineCount:2})),p&&r().createElement("p",{className:"-esm-dispensing__history-and-comments__error___d6E4w"},n("errorLoadingHistory","Error loading history"),": ",p.message),!u&&!p&&!f&&r().createElement("p",{className:"-esm-dispensing__history-and-comments__emptyState___c53py"},n("noHistoryFound","No history found")),!u&&!p&&f&&r().createElement(r().Fragment,null,m.map(s=>{var a;return r().createElement("div",{key:s.id},r().createElement("h5",{className:P},s.performer&&s.performer[0]?.actor?.display," ",(a=s).status===C.NV.completed?n("dispensedMedication","dispensed medication"):a.status===C.NV.on_hold?n("pausedDispense","paused dispense"):a.status===C.NV.declined?n("closedDispense","closed dispense"):null," —"," ",(0,i.formatDatetime)((0,i.parseDate)(s.whenHandedOver))),r().createElement(S.A,{medicationEvent:s,status:r().createElement(I,{medicationDispense:s}),isDispenseEvent:!0},r().createElement("div",{className:"-esm-dispensing__history-and-comments__dispenseEventActions___mIrli"},r().createElement(i.ExtensionSlot,{name:D.Ub,state:{medicationDispense:s,patientUuid:t,encounterUuid:e}}),r().createElement(L,{medicationDispense:s,medicationRequestBundle:(0,w.p8)(c,s),patientUuid:t,encounterUuid:e}))))}),_.map(e=>r().createElement("div",{key:e.id},r().createElement("h5",{className:P},e.requester.display," ",n("orderedMedication","ordered medication")," —"," ",(0,i.formatDatetime)(d)),r().createElement(S.A,{medicationEvent:e,status:r().createElement(o.vwO,{type:"green"},n("ordered","Ordered"))})))))};var A=n(2383);let B=({medicationRequestBundle:e,patientUuid:t,encounterUuid:n,disabled:s})=>{let a=(0,i.useConfig)(),o=(0,i.useSession)(),l=(0,c.u9)(a.dispenserProviderRoles),d=(0,w.Z_)(e.dispenses),p=(0,w.ox)(e.request,a.medicationRequestExpirationPeriodInDays),u=p===C.FA.active&&d!==C.NV.declined,m=a.actionButtons.pauseButton.enabled&&p===C.FA.active&&d!==C.NV.on_hold&&d!==C.NV.declined,_=a.actionButtons.closeButton.enabled&&p===C.FA.active&&d!==C.NV.declined,f=null;a.dispenseBehavior.restrictTotalQuantityDispensed&&(f=(0,w.HP)(e));let h=0;a.dispenseBehavior.restrictTotalQuantityDispensed&&e.dispenses&&(h=(0,w.ky)(e.dispenses));let g={dispensable:u,pauseable:m,closeable:_,quantityRemaining:f,quantityDispensed:h,patientUuid:t,encounterUuid:n,medicationRequestBundle:e,session:o,providers:l,disabled:s};return r().createElement("div",{className:"-esm-dispensing__action-buttons__actionBtns___Ci-6w"},r().createElement(i.ExtensionSlot,{className:"-esm-dispensing__action-buttons__extensionSlot___GCdJ6",name:"prescription-action-button-slot",state:g}))};var R=n(9564);let U=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,a.useCallback)(()=>{let n=(0,i.showModal)("prescription-print-preview-modal",{onClose:()=>n(),encounterUuid:e,patientUuid:t})},[e,t]);return r().createElement(o.$nd,{renderIcon:R.xj,iconDescription:n("print","Print"),onClick:s,kind:"ghost"},n("printPrescriptions","Print prescriptions"))},F="-esm-dispensing__prescription-actions__actionCluster___LwZa9",M=({encounterUuid:e,patientUuid:t})=>{let n=(0,i.useConfig)();return r().createElement(o.Wdr,{className:"-esm-dispensing__prescription-actions__actionsContainer___8oGYo"},r().createElement("div",{className:F},n.actionButtons.printPrescriptionsButton.enabled&&r().createElement(U,{encounterUuid:e,patientUuid:t})),r().createElement("div",{className:F}))},x="-esm-dispensing__prescription-details__error___ZNUtP",j="-esm-dispensing__prescription-details__skeletonTile___dKD-J",$=({encounterUuid:e,patientUuid:t})=>{let n,{t:s}=(0,l.useTranslation)(),a=(0,i.useConfig)(),{allergies:c,totalAllergies:d,isLoading:p,error:u}=(0,T.PA)(t,a.refreshInterval),{medicationRequestBundles:m,error:_,isLoading:f}=(0,T.IQ)(e,a.refreshInterval),{staleEncounterUuids:h}=(0,w.se)();return r().createElement("div",{className:"-esm-dispensing__prescription-details__prescriptionContainer___lDo9S"},p&&r().createElement(o.FAs,{className:j},r().createElement(o.rrI,null)),!p&&r().createElement(o.FAs,{className:"-esm-dispensing__prescription-details__allergiesTile___J9wuQ"},r().createElement("div",{className:"-esm-dispensing__prescription-details__allergiesContent___cJD5c"},r().createElement("div",null,r().createElement(A.BF,{size:24,className:"-esm-dispensing__prescription-details__allergiesIcon___ldspC"}),r().createElement("p",null,u&&r().createElement("span",{className:x},s("errorLoadingAllergies","Error loading allergies"),": ",u.message),!u&&d>0&&r().createElement("span",null,r().createElement("span",{className:"-esm-dispensing__prescription-details__allergiesCount___A9wbi"},s("allergiesCount","{{ count }} allergies",{count:d}))," ",(n=s("unknownAllergy","Unknown allergy"),c.map(e=>e.code?.text?e.code.text:e.code?.coding?.length?(0,w.R9)(e.code.coding)??e.code.coding[0]?.display:n).filter(Boolean).join(", "))),!u&&"number"==typeof d&&0===d&&s("noAllergyDetailsFound","No allergy details found"))))),r().createElement("h5",{className:"-esm-dispensing__prescription-details__prescribedHeader___kvUih"},s("prescribed","Prescribed")),f&&r().createElement(o.FAs,{className:j},r().createElement(o.rrI,{paragraph:!0,lineCount:2})),_&&r().createElement("p",{className:x},s("errorLoadingPrescriptionDetails","Error loading prescription details"),": ",_.message),m&&(m.length>0?m.map(n=>{let l;return r().createElement(S.A,{key:n.request.id,medicationEvent:n.request,status:(l=(0,w.Xs)(n.request,a.medicationRequestExpirationPeriodInDays))===C._z.cancelled?r().createElement(o.vwO,{type:"red"},s("cancelled","Cancelled")):l===C._z.completed?r().createElement(o.vwO,{type:"green"},s("completed","Completed")):l===C._z.expired?r().createElement(o.vwO,{type:"red"},s("expired","Expired")):l===C._z.declined?r().createElement(o.vwO,{type:"red"},s("closed","Closed")):l===C._z.on_hold?r().createElement(o.vwO,{type:"red"},s("paused","Paused")):(0,w.Z_)(n.dispenses)===C.NV.completed?r().createElement(o.vwO,{type:"gray"},s("dispensed","Dispensed")):null},r().createElement(i.UserHasAccess,{privilege:D.Bi},r().createElement(B,{patientUuid:t,encounterUuid:e,medicationRequestBundle:n,disabled:h.includes(e)})))}):r().createElement("p",{className:"-esm-dispensing__prescription-details__emptyState___2yYDA"},s("noPrescriptionsFound","No prescriptions found"))),m?.length>0&&r().createElement(M,{encounterUuid:e,patientUuid:t}))},z=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,i.getAssignedExtensions)("dispensing-condition-and-diagnoses"),a=[{name:n("prescriptionDetails","Prescription details"),component:r().createElement($,{encounterUuid:e,patientUuid:t})},s&&s.length>0?{name:n("conditionsAndDiagnoses","Conditions and diagnoses"),component:r().createElement(i.ExtensionSlot,{name:"dispensing-condition-and-diagnoses",state:{patientUuid:t,encounterUuid:e}})}:null,{name:n("historyComments","History and comments"),component:r().createElement(q,{encounterUuid:e,patientUuid:t})}];return r().createElement("div",{className:"-esm-dispensing__prescription-expanded__expandedTabsParentContainer___Vsvf1"},r().createElement("div",{className:"-esm-dispensing__prescription-expanded__verticalTabs___iM-yu"},r().createElement(o.tUM,null,r().createElement(o.wbY,{"aria-label":n("tabList","Tab List")},a.filter(Boolean).map((e,t)=>r().createElement(o.ozo,{key:t},e.name))),r().createElement(o.T2N,null,a.filter(Boolean).map((e,t)=>r().createElement(o.KpK,{key:t},e.component))))))},O={link:"-esm-dispensing__prescriptions__link___O-9UM",breadcrumbsSlot:"-esm-dispensing__prescriptions__breadcrumbsSlot___IuWkK",prescriptionTabsContainer:"-esm-dispensing__prescriptions__prescriptionTabsContainer___L5i4n",newListButton:"-esm-dispensing__prescriptions__newListButton___lz50j",tabsContainer:"-esm-dispensing__prescriptions__tabsContainer___j9Njd",patientListTableContainer:"-esm-dispensing__prescriptions__patientListTableContainer___1P0kM",searchContainer:"-esm-dispensing__prescriptions__searchContainer___XY-JU",addPrescriptionBtn:"-esm-dispensing__prescriptions__addPrescriptionBtn___kwZsR",patientSearch:"-esm-dispensing__prescriptions__patientSearch___EY2F3",locationFilter:"-esm-dispensing__prescriptions__locationFilter___aEgiF",search:"-esm-dispensing__prescriptions__search___9Z7xs",hiddenRow:"-esm-dispensing__prescriptions__hiddenRow___U3N1u",filterEmptyState:"-esm-dispensing__prescriptions__filterEmptyState___FafZM",filterEmptyStateTile:"-esm-dispensing__prescriptions__filterEmptyStateTile___R1a8K",filterEmptyStateContent:"-esm-dispensing__prescriptions__filterEmptyStateContent___ELI03",filterEmptyStateHelper:"-esm-dispensing__prescriptions__filterEmptyStateHelper___6iQZW",paginationContainer:"-esm-dispensing__prescriptions__paginationContainer___lw6Gt"},V=({loadData:e,debouncedSearchTerm:t,locations:n,status:s,customPrescriptionsTableEndpoint:c})=>{let{t:d}=(0,l.useTranslation)(),p=(0,i.useConfig)(),[u,m]=(0,a.useState)(1),[_,f]=(0,a.useState)(10),h=(u-1)*_,{prescriptionsTableRows:g,error:y,isLoading:E,totalOrders:b}=(0,T.JZ)(e,c,s,_,h,t,n,p.medicationRequestExpirationPeriodInDays,p.refreshInterval);(0,a.useEffect)(()=>{m(1)},[t]);let v=[{header:d("created","Created"),key:"created"},{header:d("patientName","Patient name"),key:"patient"},{header:d("prescriber","Prescriber"),key:"prescriber"},{header:d("drugs","Drugs"),key:"drugs"},{header:d("lastDispenser","Last dispenser"),key:"lastDispenser"},{header:d("status","Status"),key:"status"}];return p.locationBehavior?.locationColumn?.enabled&&(v=[...v.slice(0,3),{header:d("location","Location"),key:"location"},...v.slice(3)]),r().createElement("div",{className:O.patientListTableContainer},E&&r().createElement(o.OOb,{role:"progressbar"}),y&&r().createElement("div",{className:O.filterEmptyState},r().createElement(o.Wdr,null,r().createElement(o.FAs,{className:O.filterEmptyStateTile},r().createElement("p",{className:O.filterEmptyStateContent},d("errorLoadingPrescriptions","Error loading prescriptions")),r().createElement("p",{className:O.filterEmptyStateHelper},y?.message)))),g&&r().createElement(r().Fragment,null,r().createElement(o.bQt,{rows:g,headers:v,isSortable:!0},({rows:e,headers:t,getExpandHeaderProps:n,getHeaderProps:s,getRowProps:a,getTableProps:l})=>r().createElement(o.K3K,null,r().createElement(o.XIK,{...l(),useZebraStyles:!0},r().createElement(o.ndF,null,r().createElement(o.Hjg,null,r().createElement(o.Uwq,n()),t.map(e=>r().createElement(o.A0N,s({header:e}),e.header)))),r().createElement(o.BFY,null,e.map(e=>r().createElement(r().Fragment,{key:e.id},r().createElement(o.fZD,a({row:e}),e.cells.map(e=>r().createElement(o.nA6,{key:e.id},e.id.endsWith("created")?(0,i.formatDatetime)((0,i.parseDate)(e.value)):e.id.endsWith("patient")?r().createElement(N,{patient:e.value}):e.id.endsWith("status")?d(e.value):e.value))),e.isExpanded?r().createElement(o.cwJ,{colSpan:t.length+1},e.cells.find(e=>e.id.endsWith("patient"))?.value?.uuid&&r().createElement(z,{encounterUuid:e.id,patientUuid:e.cells.find(e=>e.id.endsWith("patient")).value.uuid})):r().createElement(o.cwJ,{className:O.hiddenRow,colSpan:t.length+1}))))))),g?.length===0&&r().createElement("div",{className:O.filterEmptyState},r().createElement(o.Wdr,null,r().createElement(o.FAs,{className:O.filterEmptyStateTile},r().createElement("p",{className:O.filterEmptyStateContent},d("noPrescriptionsToDisplay","No prescriptions to display")),r().createElement("p",{className:O.filterEmptyStateHelper},d("checkFilters","Check the filters above"))))),g?.length>0&&r().createElement("div",{className:O.paginationContainer},r().createElement(o.dKS,{page:u,pageSize:_,pageSizes:[10,20,30,40,50,100],totalItems:b,onChange:({page:e,pageSize:t})=>{t!==_?m(1):m(e),f(t)}}))))},W=({locations:e})=>{let{t}=(0,l.useTranslation)(),[n,s]=(0,a.useState)(""),[c,d]=(0,a.useState)("");return r().createElement(o.KpK,null,r().createElement("div",{className:"-esm-dispensing__patient-search-tab-panel__searchTabPanel___pEhk7"},r().createElement("form",{className:"-esm-dispensing__patient-search-tab-panel__searchBar___+0aRo",onSubmit:e=>{e.preventDefault(),d(n)}},r().createElement(o.vji,{closeButtonLabelText:t("clearSearchInput","Clear search input"),defaultValue:n,placeholder:t("searchForPatient","Search for a patient by name or identifier number"),labelText:t("searchForPatient","Search for a patient by name or identifier number"),onChange:e=>{s(e.target.value)},onClear:()=>d(""),size:"lg"}),r().createElement(o.$nd,{kind:"secondary",type:"submit"},t("search","Search"))),c?r().createElement(V,{loadData:!0,status:"ACTIVE",debouncedSearchTerm:c,locations:e}):r().createElement("div",{className:"-esm-dispensing__patient-search-tab-panel__searchForPatientPlaceholder___tb0Q3"},r().createElement("div",null,r().createElement(i.PatientSearchPictogram,null),r().createElement("h5",null,t("searchForPatientHeader","Search for a patient")),r().createElement("div",null,t("searchForPatient","Search for a patient by name or identifier number"))))))},H=({status:e,isTabActive:t,customPrescriptionsTableEndpoint:n,locations:s,isLocationsLoading:c})=>{let{t:d}=(0,l.useTranslation)(),p=(0,i.useConfig)(),u=(0,a.useRef)(!1),{sessionLocation:m}=(0,i.useSession)(),[_,f]=(0,a.useState)(""),h=(0,i.useDebounce)(_,500),[g,y]=(0,a.useState)([]);return(0,a.useEffect)(()=>{!u.current&&!c&&m?.uuid&&(y(s?.filter(e=>m?.uuid===e.associatedPharmacyLocation)||[]),u.current=!0)},[c,m,s]),r().createElement(o.KpK,null,r().createElement("div",{className:O.searchContainer},p.locationBehavior?.locationFilter?.enabled&&!c&&u.current&&s?.length>1&&r().createElement(o.KFt,{hideLabel:!0,id:"locationFilter",label:d("filterByLocations","Filter by locations"),initialSelectedItems:g,items:s,itemToString:e=>e?.name,onChange:({selectedItems:e})=>{y(e)},className:O.locationFilter}),r().createElement(o.vji,{closeButtonLabelText:d("clearSearchInput","Clear search input"),defaultValue:_,placeholder:d("searchByPatientIdOrName","Search by patient ID or name"),labelText:d("searchByPatientIdOrName","Search by patient ID or name"),onChange:e=>{e.preventDefault(),f(e.target.value)},size:"md",className:O.patientSearch})),r().createElement(V,{loadData:t,status:e,customPrescriptionsTableEndpoint:n,debouncedSearchTerm:h,locations:p.locationBehavior.restrictToVisitLocationDescendants&&0===g.length?s:g}))},Q=()=>{let{t:e}=(0,l.useTranslation)(),t=(0,i.useConfig)(),n=(0,i.useSession)(),{locations:s,isLoading:c,error:d}=function(e){let{restrictToVisitLocationDescendants:t}=e.locationBehavior,n=function(e,t){let{tag:n,associatedPharmacyLocationAttribute:s}=e.locationBehavior.locationFilter,r=t?`${i.restBaseUrl}/location?tag=${encodeURIComponent(n)}&v=custom:(uuid,name,attributes:(attributeType:(name),value:(uuid)))`:null,{data:o,...l}=E()(r,i.openmrsFetch);return{locations:(0,a.useMemo)(()=>(o?.data?.results??[]).map(v(s)).sort((e,t)=>e.name.localeCompare(t.name)),[o,s]),...l}}(e,!t),s=function(e,t){let{sessionLocation:n}=(0,i.useSession)(),{tag:s,associatedPharmacyLocationAttribute:r}=e.locationBehavior.locationFilter,o=(0,i.useFeatureFlag)("emrapi-module"),l=(0,a.useMemo)(()=>t&&!o?new b("The restrictToVisitLocationDescendants option is enabled in the configuration, but the EMR API module is not installed."):null,[t,o]),c=t&&!l&&n?.uuid?`${i.restBaseUrl}/emrapi/locationThatSupportsVisits?location=${n.uuid}&v=custom:(uuid,name,descendantLocations:(uuid,name,tags,attributes:(attributeType:(name),value:(uuid))))`:null,{data:d,...p}=E()(c,i.openmrsFetch);return{locations:(0,a.useMemo)(()=>(d?.data?.descendantLocations??[]).filter(e=>e.tags?.some(e=>e.display===s)).map(v(r)).sort((e,t)=>e.name.localeCompare(t.name)),[d,s,r]),...p,error:l??p.error}}(e,t);return t?s:n}(t);(0,a.useEffect)(()=>{d instanceof b&&(0,i.showSnackbar)({kind:"error",title:e("configurationError","Configuration error"),subtitle:e("locationFilterMisconfigured","The location filter is misconfigured. Check that the required backend module is installed.")})},[d,e]);let[p,u]=(0,a.useState)(0),m=(0,a.useMemo)(()=>t?.customTabs?.filter(e=>!e.associatedLocations||e.associatedLocations.includes(n.sessionLocation?.uuid))||[],[n,t]);return r().createElement("main",{className:"omrs-main-content"},r().createElement("section",{className:O.prescriptionTabsContainer},r().createElement(o.tUM,{onChange:e=>{u(e.selectedIndex)}},r().createElement(o.wbY,{"aria-label":e("tabList","Tab List"),contained:!0,className:O.tabsContainer},r().createElement(o.ozo,{title:e("search","Search"),id:"tab-search",className:O.tab},e("search","Search")),r().createElement(o.ozo,{title:e("activePrescriptions","Active Prescriptions"),id:"tab-active-prescription",className:O.tab},e("activePrescriptions","Active Prescriptions")),r().createElement(o.ozo,{title:e("allPrescriptions","All Prescriptions"),id:"tab-all-prescription",className:O.tab},e("allPrescriptions","All Prescriptions")),m.map((t,n)=>r().createElement(o.ozo,{title:e(t.title),id:"custom_tab_"+n,className:O.tab},e(t.title)))),r().createElement(o.T2N,null,r().createElement(W,{locations:s}),r().createElement(H,{isTabActive:1===p,status:"ACTIVE",locations:s,isLocationsLoading:c}),r().createElement(H,{isTabActive:2===p,status:"",locations:s,isLocationsLoading:c}),m.map((e,t)=>r().createElement(H,{isTabActive:p===t+3,customPrescriptionsTableEndpoint:e.customPrescriptionsTableEndpoint,locations:s,isLocationsLoading:c}))))))},Z=()=>{let e="tablet"===(0,i.useLayoutType)(),{t}=(0,l.useTranslation)(),{drugOrderTypeUUID:n}=(0,i.useConfig)();return r().createElement("div",{className:"-esm-dispensing__fill-prescription-button__buttonContainer___uZrDT"},r().createElement(o.$nd,{kind:"primary",renderIcon:e=>r().createElement(i.AddIcon,{size:16,...e}),size:e?"lg":"md",onClick:()=>{(0,i.launchWorkspace2)("dispensing-patient-search-workspace",{workspaceTitle:t("fillPrescriptionForPatient","Fill prescription for patient"),onPatientSelected(e,s,a,r){var o;(o=e,(0,i.openmrsFetch)(`${i.restBaseUrl}/visit?patient=${o}&v=${(void 0)??"default"}&includeInactive=false`,{signal:void 0,method:"GET",headers:{"Content-type":"application/json"}})).then(async a=>{let o=a.data.results?.[0];o?(await r(),(0,i.launchWorkspace2)("dispensing-order-basket-workspace",{},{patientUuid:e,patient:s,visitContext:o,drugOrderWorkspaceName:"dispensing-order-basket-add-drug-order-workspace",allergyFormWorkspaceName:"dispensing-order-basket-add-allergy-workspace",visibleOrderPanels:[n],onOrderBasketSubmitted:(e,t)=>{(0,i.showModal)("on-prescription-filled-modal",{patient:s,encounterUuid:e})}})):(0,i.showSnackbar)({title:t("visitRequired","Visit required"),subtitle:t("visitRequiredForPatientToFillPrescription","Visit required for patient to fill prescription"),kind:"error"})})}},{startVisitWorkspaceName:"dispensing-start-visit-workspace"})}},t("fillPrescription","Fill prescription")))};var Y=n(8651);function K(){let{t:e}=(0,l.useTranslation)(),t=`${window.spaBase}/home`,n=(0,a.useMemo)(()=>{let e=location.pathname.split("/home");return decodeURIComponent(e[e.length-1])},[]);return r().createElement(i.ConfigurableLink,{className:p()("cds--side-nav__link",{"active-left-nav-link":n.match("dispensing")}),to:`${t}/dispensing`},e("dispensing","Dispensing"))}let J=n(4767),X="@openmrs/esm-dispensing-app",G={featureName:"dispensing",moduleName:X};function ee(){(0,i.defineConfigSchema)(X,s)}let et=(0,i.getSyncLifecycle)(function(){let{leftNavMode:e}=(0,i.useConfig)(),t=(0,i.useLayoutType)(),n=window.spaBase+"/dispensing";return(0,i.useLeftNav)({name:"homepage-dashboard-slot",basePath:n,mode:e}),r().createElement("div",{className:p()([(0,i.isDesktop)(t)?u.desktopContainer:"","normal"===e?u.hasLeftNav:""])},r().createElement(i.ExtensionSlot,{name:"dispensing-dashboard-slot"}))},G),en=(0,i.getSyncLifecycle)(function(){let{t:e}=(0,l.useTranslation)();return r().createElement(i.ConfigurableLink,{to:D.p1},e("dispensing","Dispensing"))},G),ei=(0,i.getSyncLifecycle)(function(){let e=(0,i.useConfig)(),{t}=(0,l.useTranslation)();return e.dispenseBehavior.restrictTotalQuantityDispensed&&e.dispenseBehavior.allowModifyingPrescription?r().createElement("div",{className:"omrs-main-content"},r().createElement(o.jeF,{title:t("dispensingAppError","Dispensing App Error"),subtitle:t("dispensingAppMisconfigurationMessage","Please contact your system administration: Misconfiguration - 'restrictTotalQuantityDispensed' cannot be enabled if 'allowModifyingPrescription' is enabled.")})):r().createElement("div",{className:"omrs-main-content"},r().createElement(g,null),r().createElement(Z,null),r().createElement(Q,null))},G),es=(0,i.getSyncLifecycle)(()=>r().createElement(Y.Kd,null,r().createElement(K,null)),G),ea=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,closeable:d,disabled:p})=>{let{t:u}=(0,l.useTranslation)(),m={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!1),mode:"enter"};return d?r().createElement(o.$nd,{kind:"danger",onClick:()=>{(0,i.launchWorkspace2)("close-dispense-workspace",m)},disabled:p},u("close","Close")):null},G),er=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,dispensable:d,quantityRemaining:p,quantityDispensed:u,disabled:m})=>{let{t:_}=(0,l.useTranslation)(),f={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!0),medicationRequestBundle:n,quantityRemaining:p,quantityDispensed:u,mode:"enter"};return d?r().createElement(o.$nd,{kind:"primary",onClick:()=>{(0,i.launchWorkspace2)("dispense-workspace",f)},disabled:m},_("dispense","Dispense")):null},G),eo=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,pauseable:d,disabled:p})=>{let{t:u}=(0,l.useTranslation)(),m={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!1),mode:"enter"};return d?r().createElement(o.$nd,{kind:"secondary",onClick:()=>{(0,i.launchWorkspace2)("pause-dispense-workspace",m)},disabled:p},u("pause","Pause")):null},G),el=(0,i.getAsyncLifecycle)(()=>n.e("3877").then(n.bind(n,8740)),G),ec=(0,i.getAsyncLifecycle)(()=>n.e("4302").then(n.bind(n,3053)),G),ed=(0,i.getAsyncLifecycle)(()=>n.e("9331").then(n.bind(n,3214)),G),ep=(0,i.getAsyncLifecycle)(()=>Promise.all([n.e("353"),n.e("6983")]).then(n.bind(n,10)),G),eu=(0,i.getAsyncLifecycle)(()=>n.e("4437").then(n.bind(n,7060)),G),em=(0,i.getAsyncLifecycle)(()=>n.e("3438").then(n.bind(n,2829)),G),e_=(0,i.getAsyncLifecycle)(()=>n.e("8453").then(n.bind(n,4452)),G),ef=(0,i.getAsyncLifecycle)(()=>n.e("4318").then(n.bind(n,5645)),G),eh=(0,i.getAsyncLifecycle)(()=>n.e("9866").then(n.bind(n,6913)),G)},9513(e,t,n){"use strict";n.d(t,{A7:()=>l,CG:()=>y,E:()=>d,M5:()=>u,Sj:()=>f,_D:()=>c,cE:()=>m,ij:()=>_,u9:()=>p,ux:()=>g});var i=n(9910),s=n.n(i),a=n(9742),r=n.n(a),o=n(4685);function l(e,t,n){let i=e.id?`${o.fhirBaseUrl}/MedicationDispense/${e.id}`:`${o.fhirBaseUrl}/MedicationDispense`,s=e.id?"PUT":"POST";return e.status=t,e.whenPrepared=e.whenHandedOver,(0,o.openmrsFetch)(i,{method:s,signal:n?.signal,headers:{"Content-Type":"application/json"},body:e})}function c(e){return(0,o.openmrsFetch)(`${o.fhirBaseUrl}/MedicationDispense/${e}`,{method:"DELETE"})}function d(){let{data:e,error:t,isValidating:n}=r()(`${o.restBaseUrl}/orderentryconfig`,o.openmrsFetch);return{orderConfigObject:e?e.data:null,error:t,isLoading:!e&&!t,isValidating:n}}function p(e){let t="custom:(uuid,person:(display)",{data:n}=r()(e&&e.length>0?`${o.restBaseUrl}/provider?providerRoles=${e.join(",")}&v=${t})`:`${o.restBaseUrl}/provider?v=${t})`,o.openmrsFetch);return n?.data?.results.sort((e,t)=>e.person?.display.localeCompare(t.person?.display))}function u(e){return{reasonForPauseValueSet:h(e)}}function m(e){return{reasonForCloseValueSet:h(e)}}function _(e){return{substitutionTypeValueSet:h(e)}}function f(e){return{substitutionReasonValueSet:h(e)}}function h(e){let{data:t}=r()(`${o.fhirBaseUrl}/ValueSet/${e}`,o.openmrsFetch);return t?t.data:null}function g(e,t,n,i){let a={resourceType:"MedicationDispense",status:null,authorizingPrescription:[{reference:"MedicationRequest/"+e.id,type:"MedicationRequest"}],medicationReference:e.medicationReference,medicationCodeableConcept:e.medicationCodeableConcept,subject:e.subject,performer:[{actor:{reference:t?.currentProvider?`Practitioner/${t.currentProvider.uuid}`:""}}],location:{reference:t?.sessionLocation?`Location/${t.sessionLocation.uuid}`:""},whenHandedOver:s()().format()};return i&&(a={...a,quantity:{value:e.dispenseRequest?.quantity?.value,code:e.dispenseRequest?.quantity?.code,unit:e.dispenseRequest?.quantity?.unit,system:e.dispenseRequest?.quantity?.system},dosageInstruction:[{text:[e.dosageInstruction[0].text,e.dosageInstruction[0].additionalInstruction?.length>0?e.dosageInstruction[0].additionalInstruction[0].text:null].filter(e=>null!=e).join(" "),timing:e.dosageInstruction[0].timing,asNeededBoolean:!1,route:e.dosageInstruction[0].route,doseAndRate:e.dosageInstruction[0].doseAndRate?e.dosageInstruction[0].doseAndRate:[{doseQuantity:{value:null,code:null,unit:null}}]}],substitution:y}),a}let y={wasSubstituted:!1,reason:[{coding:[{code:null}]}],type:{coding:[{code:null}]}}},1297(e,t,n){"use strict";n.d(t,{IQ:()=>u,JZ:()=>p,NT:()=>f,PA:()=>m,uc:()=>_});var i=n(2287),s=n(9910),a=n.n(s),r=n(9742),o=n.n(r),l=n(4685),c=n(7003),d=n(7351);function p(e,t="",n="",i=10,s=0,r="",c=[],u,m){let _,{data:f,error:h}=o()(e?(0,d.gh)(t,n,s,i,a()(new Date).startOf("day").subtract(u,"day").toISOString(),r,c?.map(e=>e.id).join(",")):null,l.openmrsFetch,{refreshInterval:m});if(f){let e=f?.data.entry;if(e){let t=e.filter(e=>e?.resource?.resourceType=="Encounter").map(e=>e.resource),n=e.filter(e=>e?.resource?.resourceType=="MedicationRequest").map(e=>e.resource),i=e.filter(e=>e?.resource?.resourceType=="MedicationDispense").map(e=>e.resource).sort(d.Fq);(_=t.map(e=>{var t,s,a,r;let o=n.filter(t=>t.encounter.reference=="Encounter/"+e.id),l=o.map(e=>"MedicationRequest/"+e.id);return t=e,s=o,a=i.filter(e=>l.includes(e.authorizingPrescription[0]?.reference)),r=u,{id:t?.id,created:t?.period?.start,patient:{name:t?.subject?.display,uuid:t?.subject?.reference?.split("/")[1]},drugs:[...new Set(s.map(e=>(0,d.Q0)((0,d.H_)(e))).sort((e,t)=>e.localeCompare(t)))].join("; "),lastDispenser:a&&a[0]?.performer&&a[0]?.performer[0]?.actor.display,prescriber:[...new Set(s.map(e=>e.requester.display))].join(", "),status:(0,d.oK)(s,r),location:t?.location?t?.location[0]?.location.display:null}})).sort((e,t)=>e.created<t.created?1:-1)}else _=[]}return{prescriptionsTableRows:_,error:h,isLoading:!_&&!h,totalOrders:f?.data.total}}function u(e,t=null){let{data:n,...s}=o()((0,d.Yo)(e),l.openmrsFetch,{refreshInterval:t}),{medicationRequestBundles:a,prescriptionDate:r}=(0,i.useMemo)(()=>n?function(e){let t,n=[],i=e?.filter(e=>e?.resource?.resourceType=="Encounter").map(e=>e.resource);if(i){t=(0,l.parseDate)(i[0]?.period.start);let s=e?.filter(e=>e?.resource?.resourceType=="MedicationRequest").map(e=>e.resource),a=e?.filter(e=>e?.resource?.resourceType=="MedicationDispense").map(e=>e.resource).sort(d.Fq);s.every(e=>n.push({request:e,dispenses:(0,d.CL)(e,a).sort(d.Fq)}))}return{medicationRequestBundles:n,prescriptionDate:t}}(n.data.entry):{medicationRequestBundles:[],prescriptionDate:null},[n]);return{medicationRequestBundles:a,prescriptionDate:r,...s}}function m(e,t){let{data:n,error:i,isLoading:s}=o()(`${l.fhirBaseUrl}/AllergyIntolerance?patient=${e}`,l.openmrsFetch,{refreshInterval:t});return{allergies:n?.data.entry?.map(e=>e.resource)??[],totalAllergies:n?.data.total,error:i,isLoading:s}}function _(e,t){e=e?e.startsWith("MedicationRequest")?e:`MedicationRequest/${e}`:null;let{data:n,isLoading:i}=o()(e?`${l.fhirBaseUrl}/${e}`:null,l.openmrsFetch,{refreshInterval:t});return{medicationRequest:n?n.data:null,isLoading:i}}function f(e,t){let n=`${l.fhirBaseUrl}/MedicationRequest/${e}`;return(0,l.openmrsFetch)(n,{method:"PATCH",headers:{"Content-Type":c.w9},body:{extension:[{url:c.Yj,valueCode:t}]}})}},8035(e,t,n){"use strict";n.d(t,{FA:()=>l,NV:()=>o,O7:()=>c,_z:()=>d});var i,s,a,r,o=((i={}).on_hold="on-hold",i.completed="completed",i.declined="declined",i),l=((s={}).active="active",s.cancelled="cancelled",s.completed="completed",s.expired="expired",s),c=((a={}).on_hold="ON_HOLD",a.declined="DECLINED",a.completed="COMPLETED",a),d=((r={}).active="active",r.cancelled="cancelled",r.completed="completed",r.expired="expired",r.on_hold="on-hold",r.declined="declined",r.unknown="unknown",r)},7351(e,t,n){"use strict";n.d(t,{CL:()=>E,Fq:()=>x,Gp:()=>N,HP:()=>g,H_:()=>S,M$:()=>T,Q0:()=>w,Qe:()=>A,Qm:()=>C,Qz:()=>L,R9:()=>v,XM:()=>j,Xs:()=>u,Yi:()=>F,Yo:()=>I,Z_:()=>k,_e:()=>_,aC:()=>f,bP:()=>D,c1:()=>R,gY:()=>M,gh:()=>q,ky:()=>y,oK:()=>h,ox:()=>m,p8:()=>P,se:()=>z,vj:()=>U});var i=n(9910),s=n.n(i),a=n(872),r=n.n(a),o=n(8035),l=n(4685),c=n(7003);let d="Misconfiguration, please contact your System Administrator: Can't calculate quantity dispensed if units don't match. Likely issue: allowModifyingPrescription and restrictTotalQuantityDispensed configuration parameters both set to true. Either set restrictTotalQuantityDispensed to false or set allowModifyingPrescription to false. If you have previously entered dispense events that modified prescriptions, you will likely need to clean up or remove that data before setting restrictTotalQuantityDispensed to true.";function p(e,t,n=!1){if(t&&0>=g(e))return o.O7.completed;let i=k(e.dispenses);return i===o.NV.declined?o.O7.declined:i===o.NV.on_hold?o.O7.on_hold:t||i!==o.NV.completed||e.request.status!==o.FA.completed||n?null:o.O7.completed}function u(e,t){let n=m(e,t),i=C(e);if(n!==o.FA.active){if(n===o.FA.expired)return o._z.expired;else if(n===o.FA.completed)return o._z.completed;else if(n===o.FA.cancelled)return o._z.cancelled}return i===o.O7.declined?o._z.declined:i===o.O7.on_hold?o._z.on_hold:o._z.active}function m(e,t){return e.status===o.FA.cancelled||e.status===o.FA.completed?e.status:e.dispenseRequest?.validityPeriod?.start&&s()(e.dispenseRequest.validityPeriod.start).isBefore(s()().startOf("day").subtract(t,"day"))?o.FA.expired:o.FA.active}function _(e,t,n){let i=[...t.dispenses];return i=e.id?i.map(t=>t.id===e.id?e:t):[e,...i],p({request:t.request,dispenses:i},n,!1)}function f(e,t,n){return p({request:t.request,dispenses:t.dispenses.filter(t=>t.id!==e.id)},n,e.status===o.NV.completed)}function h(e,t){let n=function(e,t){if(!e||0===e.length)return null;let n=e.map(e=>u(e,t));if(n.includes(o._z.active))return o._z.active;if(n.includes(o._z.on_hold))return o._z.on_hold;if(n.includes(o._z.completed))return o._z.completed;if(n.includes(o._z.declined))return o._z.declined;if(n.includes(o._z.cancelled))return o._z.cancelled;else if(n.includes(o._z.expired))return o._z.expired;return null}(e,t);if(null===n);else if(n===o._z.active)return"active";else if(n===o._z.on_hold)return"paused";else if(n===o._z.completed)return"completed";else if(n===o._z.declined)return"closed";else if(n===o._z.expired)return"expired";else if(n===o._z.cancelled)return"cancelled";return null}function g(e){if(e){var t;let n;if(!B([e.request,...e.dispenses]))throw Error(d);return n=R(t=e.request),(t.dispenseRequest?.quantity?.value?t.dispenseRequest.quantity.value*(1+(n||0)):null)-y(e.dispenses)}return 0}function y(e){if(!e)return 0;if(!B(e))throw Error(d);return e.map(e=>e.quantity?.value?e.quantity?.value:0).reduce((e,t)=>e+t,0)}function E(e,t){return t?.filter(t=>t?.authorizingPrescription?.some(t=>t.reference.endsWith(e.id)))}function b(e){return e?e.find(e=>!("system"in e)||void 0===e.system):null}function v(e){return b(e)?.display}function T(e){return b(e)?.code}function N(e){return e?.length>0?e[0]:null}function C(e){return e?.extension?.find(e=>e.url===c.Yj)?.valueCode}function D(e){return`${l.fhirBaseUrl}/Medication?code=${e}`}function w(e){return e.medicationReference?e.medicationReference.display:v(e?.medicationCodeableConcept.coding)+": "+e?.medicationCodeableConcept.text}function S(e){return{medicationReference:e.medicationReference,medicationCodeableConcept:e.medicationCodeableConcept}}function k(e){let t=e?.sort(x);return t&&t.length>0?t[0].status:null}function P(e,t){return e.find(e=>e.dispenses.find(e=>e.id===t.id))}function L(e){if(!e||!e.extension)return null;let t=e.extension.find(e=>e.url===c.Wz);if(!t||!t.extension)return null;let n=t.extension.find(e=>e.url===c.Wz+"#drugName");return n?n.valueString:null}function I(e){return`${l.fhirBaseUrl}/${c.c1}?encounter=${e}&_revinclude=MedicationDispense:prescription&_include=MedicationRequest:encounter`}function q(e,t,n,i,s,a,o){return r()(e||("ACTIVE"===t?"${fhirBaseUrl}/${PRESCRIPTIONS_TABLE_ENDPOINT}&_getpagesoffset=${pageOffset}&_count=${pageSize}&date=ge${date}&status=${status}"+(a?"&patientSearchTerm=${patientSearchTerm}":"")+(o?"&location=${location}":""):"${fhirBaseUrl}/${PRESCRIPTIONS_TABLE_ENDPOINT}&_getpagesoffset=${pageOffset}&_count=${pageSize}&status=${status}"+(a?"&patientSearchTerm=${patientSearchTerm}":"")+(o?"&location=${location}":"")))({fhirBaseUrl:l.fhirBaseUrl,PRESCRIPTIONS_TABLE_ENDPOINT:c.T,status:t,pageOffset:n,pageSize:i,date:s,patientSearchTerm:a,location:o})}function A(e){return"MedicationRequest"==e.resourceType?e.dispenseRequest?.quantity:"MedicationDispense"==e.resourceType?e.quantity:void 0}function B(e){if(!e)return!0;{let t=e.map(e=>A(e)?.code).filter(e=>e);return!(t.length>0)||t.every(e=>e===t[0])}}function R(e){return"MedicationRequest"==e.resourceType?e.dispenseRequest?.numberOfRepeatsAllowed:null}function U(e){return e?.includes("/")?e.split("/")[1]:e}async function F(e,t){await e(e=>"string"==typeof e&&(e.startsWith(`${l.fhirBaseUrl}/${c.T}`)||e.startsWith(`${l.fhirBaseUrl}/${c.c1}?encounter=${t}`))),$.setState(e=>({staleEncounterUuids:e.staleEncounterUuids.filter(e=>e!==t)}))}function M(e){$.setState(t=>({staleEncounterUuids:[...t.staleEncounterUuids,e]}))}function x(e,t){if(null===t.whenHandedOver)return 1;if(null===e.whenHandedOver)return -1;let n=(0,l.parseDate)(t.whenHandedOver).getTime()-(0,l.parseDate)(e.whenHandedOver).getTime();return 0!==n?n:e.id.localeCompare(t.id)}function j(e){return(!e?.doseAndRate||!e?.doseAndRate[0]?.doseQuantity?.value)&&!e?.timing?.code?.coding[0]?.code&&!e?.route}let $=(0,l.createGlobalStore)("dispensing-store",{staleEncounterUuids:[]});function z(){return(0,l.useStore)($)}}}]);
1
+ (globalThis.webpackChunk_openmrs_esm_dispensing_app=globalThis.webpackChunk_openmrs_esm_dispensing_app||[]).push([["467"],{4767(e,t,n){var i={"./uk.json":["723","9072"],"./ar.json":["4132","7045"],"./ru_RU.json":["986","8359"],"./uz_UZ.json":["890","7175"],"./fr.json":["4055","6508"],"./sw_KE.json":["8618","903"],"./uz.json":["3584","6377"],"./en.json":["4300","5117"],"./ky.json":["8163","2416"],"./pl.json":["1119","6724"],"./sq.json":["8371","4928"],"./ka.json":["795","1480"],"./si.json":["6859","6904"],"./zh_TW.json":["439","556"],"./de.json":["4944","5145"],"./lg.json":["4618","8695"],"./vi.json":["9214","6371"],"./tr.json":["5241","434"],"./es_MX.json":["8349","1646"],"./tr_TR.json":["9900","1869"],"./zh_CN.json":["9879","5644"],"./en_US.json":["9569","4106"],"./he.json":["4652","2317"],"./id.json":["2690","6047"],"./ku.json":["9895","4348"],"./es.json":["3099","7912"],"./ne.json":["2146","5503"],"./ar_SY.json":["7617","282"],"./uz@Latn.json":["7097","4658"],"./bn.json":["7159","6444"],"./cs.json":["6589","7182"],"./zh.json":["5661","7742"],"./hi_IN.json":["5442","4383"],"./pt_BR.json":["6468","1877"],"./qu.json":["5173","8358"],"./ro_RO.json":["6022","3963"],"./sw.json":["9913","3378"],"./am.json":["1197","9806"],"./pt.json":["6679","5132"],"./it.json":["9538","4111"],"./km.json":["6716","5940"],"./hi.json":["6840","2881"]};function s(e){if(!n.o(i,e))return Promise.resolve().then(function(){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=i[e],s=t[0];return n.e(t[1]).then(function(){return n(s)})}s.keys=()=>Object.keys(i),s.id=4767,e.exports=s},6339(e,t,n){"use strict";n.d(t,{A:()=>m});var i=n(2287),s=n.n(i),a=n(6942),r=n.n(a),o=n(1399),l=n(2151),c=n(4685),d=n(7351);let p="-esm-dispensing__medication-event__bodyLong01___+dWdf",u="-esm-dispensing__medication-event__label01___GOwXJ",m=({medicationEvent:e,status:t=null,children:n,isDispenseEvent:i})=>{let{t:a}=(0,o.useTranslation)(),m=(0,d.Gp)(e.dosageInstruction),_=(0,d.XM)(m),f=(0,d.Qe)(e),h=(0,d.c1)(e),g=!(0,c.isDesktop)((0,c.useLayoutType)());return s().createElement(l.FAs,{className:r()({"-esm-dispensing__medication-event__medicationEventTile___aCxUk":!0,"-esm-dispensing__medication-event__dispenseEvent___pfeL9":i,"-esm-dispensing__medication-event__isTablet___tYol6":g})},s().createElement("div",null,s().createElement("p",{className:"-esm-dispensing__medication-event__medicationName___Dy9oL"},t,t&&" ",s().createElement("strong",null,(0,d.Q0)((0,d.H_)(e)))),!_&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("dose","Dose").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__dosage___94wUZ"},m?.doseAndRate&&m.doseAndRate.map((e,t)=>s().createElement("span",{key:t},e?.doseQuantity?.value," ",e?.doseQuantity?.unit))),m?.route?.text&&s().createElement(s().Fragment,null," — ",m.route.text),m?.timing?.code?.text&&s().createElement(s().Fragment,null," — ",m.timing.code.text),m?.timing?.repeat?.duration&&s().createElement(s().Fragment,null," ","for ",m.timing.repeat.duration," ",m.timing.repeat.durationUnit)),f&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("quantity","Quantity").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__quantity___xyD-l"},f.value," ",f.unit)),(h||0===h)&&s().createElement("p",{className:p},s().createElement("span",{className:u},a("refills","Refills").toUpperCase())," ",s().createElement("span",{className:"-esm-dispensing__medication-event__refills___sJbuJ"},h)),m?.text&&s().createElement("p",{className:p},m.text),m?.additionalInstruction?.length>0&&s().createElement("p",{className:p},m?.additionalInstruction[0].text)),n)}},7003(e,t,n){"use strict";n.d(t,{Bi:()=>o,T:()=>m,Ub:()=>f,Wz:()=>a,Yj:()=>r,Zw:()=>c,_8:()=>d,c1:()=>_,ih:()=>p,p1:()=>i,py:()=>l,w9:()=>u}),window.getOpenmrsSpaBase;let i=`${window.spaBase}/dispensing`,s="http://fhir.openmrs.org/ext",a=s+"/medicine",r=s+"/medicationrequest/fulfillerstatus",o="Task: dispensing.create.dispense",l="Task: dispensing.create.dispense.allowSubstitutions",c="Task: dispensing.edit.dispense",d="Task: dispensing.delete.dispense",p="Task: dispensing.delete.dispense.ifCreator",u="application/merge-patch+json",m="Encounter?_query=encountersWithMedicationRequests",_="MedicationRequest",f="medication-dispense-action-slot"},7886(e,t,n){"use strict";n.r(t),n.d(t,{dispenseWorkspace:()=>ec,closeDispenseWorkspace:()=>el,pauseActionButton:()=>eo,printPrescriptionPreviewModal:()=>ep,dispensingDashboard:()=>ei,dispensingDashboardLink:()=>es,startupApp:()=>ee,dispensingLink:()=>en,duplicateDispenseModal:()=>em,deleteConfirmModal:()=>eu,importTranslation:()=>J,pauseDispenseWorkspace:()=>ed,dispenseActionButton:()=>er,patientDiagnoses:()=>e_,dispensing:()=>et,onPrescriptionFilledModal:()=>eh,closeActionButton:()=>ea,patientConditions:()=>ef});var i=n(4685);let s={drugOrderTypeUUID:{_type:i.Type.UUID,_description:"UUID for the 'Drug' order type, used to filter the order basket to show only drug order panels. Must match the orderTypeUuid config in @openmrs/esm-patient-medications-app.",_default:"131168f4-15f5-102d-96e4-000c29c2a5d7"},appName:{_type:i.Type.String,_default:"Pharmacy"},enableDuplicateDispenseCheck:{_type:i.Type.Boolean,_description:"Enable/Disable the duplicate dispense check feature",_default:!0},duplicateCheckWindowDays:{_type:i.Type.Number,_description:"Number of days to look back when checking for duplicate dispenses",_default:7},actionButtons:{pauseButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Pause button in the button action bar",_default:!0}},closeButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Close button in the button action bar",_default:!0}},printPrescriptionsButton:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Print Prescriptions button in the prescriptions action bar",_default:!0}}},dispenseBehavior:{allowModifyingPrescription:{_type:i.Type.Boolean,_description:"Enable/Disable editing the prescription. If Disabled, Quantity will be he only editable field on prescription form. Note that this means that quantity units will need to be mandatory and set correctly on the prescription.",_default:!0},restrictTotalQuantityDispensed:{_type:i.Type.Boolean,_description:"Enable/Disable restricting dispensing quantity greater than total quantity ordered. Marks prescription as complete when total quantity dispensed. If true, allowModifyingPrescription *must* be false, as this functionality relies solely on numeric quantity and assumes no change in formulation, dosage, unit, etc",_default:!1}},dispenserProviderRoles:{_type:i.Type.Array,_description:'Array of provider roles uuids. If specified, only providers with these roles will be listed in the "Dispensed By" dropdown. Note that this simply restricts the providers that can be recorded as Dispensers, it does not limit who can create dispense events.',_default:[]},medicationRequestExpirationPeriodInDays:{_type:i.Type.Number,_description:"Medication Requests older that this will be considered expired",_default:90},locationBehavior:{locationColumn:{enabled:{_type:i.Type.Boolean,_description:"Enabled/Disable including a Location column in the main prescriptions table showing ordering location",_default:!1}},locationFilter:{enabled:{_type:i.Type.Boolean,_description:"Enable/Disable Location filter on main prescriptions page",_default:!1},tag:{_type:i.Type.String,_description:"Only locations with this tag will appear as options in the location dropdown filter",_default:"Login Location"},associatedPharmacyLocationAttribute:{_type:i.Type.String,_description:"Name of the location attribute whose value identifies the associated pharmacy location. The location whose attribute value matches the user's login location will be pre-selected in the filter dropdown. This attribute has no effect on which locations appear as options.",_default:"Associated Pharmacy Location"}},restrictToVisitLocationDescendants:{_type:i.Type.Boolean,_description:"If true, limits prescriptions shown to locations that are descendants of the current login location's nearest ancestor tagged as a visit location. Requires the EMR API module to be installed.",_default:!1}},refreshInterval:{_type:i.Type.Number,_description:"The interval, in milliseconds, to query the backend for new/changed data",_default:6e4},valueSets:{reasonForPause:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Pause' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/168099/",_default:"2462a9d7-61fb-4bf5-9359-aedecb8d03cb"}},reasonForClose:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Close' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/168099/",_default:"2462a9d7-61fb-4bf5-9359-aedecb8d03cb"}},substitutionReason:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Reason for Substitution' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/167862/",_default:"2de6e1be-f2dd-4ba0-9516-8a611aa2af9b"}},substitutionType:{uuid:{_type:i.Type.UUID,_description:"UUID for the Value Set of valid answers to the 'Type of Substitution' question. Defaults to CIEL value set: https://app.openconceptlab.org/#/orgs/CIEL/sources/CIEL/concepts/167859/",_default:"b9c5bca0-d026-4245-a4d2-e4c0a8999082"}}},enableStockDispense:{_type:i.Type.Boolean,_description:"Enable or disable stock deduction during the dispensing process. Requires the stock management module to be installed and configured.",_default:!1},validateBatch:{_type:i.Type.Boolean,_description:"Enable or disable stock item batch number validation. Requires the stock management module to be installed and configured.",_default:!0},leftNavMode:{_type:i.Type.String,_description:"Sets the left nav mode for the dispensing app.",_validators:[i.validators.oneOf(["normal","collapsed","hidden"])],_default:"collapsed"},completeOrderWithThisDispense:{_type:i.Type.Boolean,_description:'Enable or disable the "Complete order with this dispense" checkbox on the dispense form.',_default:!1},customTabs:{_type:i.Type.Array,_description:"Custom tabs to be added to the prescription panel. See README for more details.",_default:[]}};var a=n(2287),r=n.n(a),o=n(2151),l=n(1399),c=n(9513),d=n(6942),p=n.n(d);let u={dispensing:"-esm-dispensing__dispensing__dispensing___9APDl",hasLeftNav:"-esm-dispensing__dispensing__hasLeftNav___oNrBA"};var m=n(7136),_=n(3335);let f=()=>r().createElement("svg",{width:"72",height:"72",viewBox:"0 0 62 58",xmlns:"http://www.w3.org/2000/svg"},r().createElement("defs",null,r().createElement("path",{id:"whv9q6f4ta",d:"M0 0h62v30.508H0z"}),r().createElement("path",{id:"hp71ojgcnc",d:"M0 0h24.603v26.571H0z"})),r().createElement("g",{fill:"none"},r().createElement("g",{opacity:".193",transform:"matrix(-1 0 0 1 62 26.571)"},r().createElement("path",{d:"M62 0c0 16.85-13.916 30.508-31.037 30.508S0 16.849 0 0h62z",fill:"var(--brand-03)",mask:"url(#rt0c8mo6eb)"})),r().createElement("g",{opacity:".396",transform:"matrix(-1 0 0 1 60.032 0)"},r().createElement("path",{d:"m24.603 26.571-13.35-23.51C9.592.141 5.884-.869 3.011.817.138 2.503-.855 6.272.804 9.193l9.874 17.378",fill:"var(--brand-03)",mask:"url(#hgianthqwd)"})))),h="-esm-dispensing__pharmacy-header__value___IfLyg",g=()=>{let{t:e}=(0,l.useTranslation)(),t=(0,i.useSession)(),n=(0,i.useConfig)(),s=t?.sessionLocation?.display;return r().createElement("div",{className:"-esm-dispensing__pharmacy-header__header___1ZXtT"},r().createElement("div",{className:"-esm-dispensing__pharmacy-header__leftJustifiedItems___s1JmM"},r().createElement(f,null),r().createElement("div",{className:"-esm-dispensing__pharmacy-header__pageLabels___ZqJpt"},r().createElement("p",null,e("appName",n.appName)),r().createElement("p",{className:"-esm-dispensing__pharmacy-header__pageName___B80gx"},e("home","Home")))),r().createElement("div",{className:"-esm-dispensing__pharmacy-header__rightJustifiedItems___YqnNm"},r().createElement("div",{className:"-esm-dispensing__pharmacy-header__dateAndLocation___4Rnjf"},r().createElement(m.aZ,{size:16}),r().createElement("span",{className:h},s),r().createElement("span",{className:"-esm-dispensing__pharmacy-header__middot___0XUIQ"},"\xb7"),r().createElement(_.Vv,{size:16}),r().createElement("span",{className:h},(0,i.formatDate)(new Date,{noToday:!0})))))};var y=n(2059),E=n.n(y);class b extends Error{constructor(e){super(e),this.name="MissingOptionalBackendDependencyError"}}function v(e){return t=>({id:t.uuid,name:t.name,associatedPharmacyLocation:t.attributes?.find(t=>t.attributeType.name===e)?.value?.uuid??null})}var T=n(1297);let N=({patient:{name:e,uuid:t}})=>{let n,{error:s,isLoading:a,age:o}=(e=>{let t=`${i.restBaseUrl}/person/${e}?v=custom:(age)`,{data:n,error:s,isLoading:a,mutate:r}=E()(t,i.openmrsFetch);return{age:n?.data?.age,error:s,isLoading:a,mutate:r}})(t),{t:c}=(0,l.useTranslation)(),d=c("age","Age");if(a||s)return r().createElement(r().Fragment,null,e);let p=-1!==(n=e.lastIndexOf(")"))?e.slice(0,n)+`, ${d}: ${o}`+e.slice(n):`${e} ${d}: ${o}`;return r().createElement(r().Fragment,null,p)};var C=n(8035),D=n(7003),w=n(7351),S=n(6339);let k="-esm-dispensing__history-and-comments__menuitem___TLhEk",P="-esm-dispensing__history-and-comments__historyHeader___+Wyzw",L=({medicationDispense:e,medicationRequestBundle:t,patientUuid:n,encounterUuid:s})=>{let{t:a}=(0,l.useTranslation)(),{mutate:d}=(0,y.useSWRConfig)(),p=(0,i.useSession)(),u=(0,i.useConfig)(),m=p?.user&&(0,i.userHasAccess)(D.Zw,p.user),_=((e,t)=>{if(e?.user){if((0,i.userHasAccess)(D._8,e.user))return!0;else if((0,i.userHasAccess)(D.ih,e.user)&&e.currentProvider?.uuid&&t.performer?.find(t=>t?.actor?.reference?.length>1&&t.actor.reference.split("/")[1]===e.currentProvider.uuid)!==void 0)return!0}return!1})(p,e);return m||_?r().createElement(o.obU,{"aria-label":a("medicationDispenseActionMenu","Medication Dispense Action Menu"),className:"-esm-dispensing__history-and-comments__medicationEventActionMenu___HLh3V",flipped:!0},m&&r().createElement(o.XSD,{className:k,itemText:a("editRecord","Edit record"),onClick:()=>{var r;let{workspaceName:o,props:l}=((e,t)=>{if(e.status===C.NV.completed){let i=null,a=null;return u.dispenseBehavior.restrictTotalQuantityDispensed&&(i=(0,w.HP)(t)+(e?.quantity?e.quantity.value:0),t.dispenses&&(a=(0,w.ky)(t.dispenses))),{workspaceName:"dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,medicationRequestBundle:t,quantityRemaining:i,quantityDispensed:a,mode:"edit"}}}return e.status===C.NV.on_hold?{workspaceName:"pause-dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,mode:"edit"}}:e.status===C.NV.declined?{workspaceName:"close-dispense-workspace",props:{patientUuid:n,encounterUuid:s,medicationDispense:e,mode:"edit"}}:void 0})(e,t),c=(r=e).status===C.NV.completed?a("editDispenseRecord","Edit Dispense Record"):r.status===C.NV.on_hold?a("editPauseRecord","Edit Pause Record"):r.status===C.NV.declined?a("editCloseRecord","Edit Close Record"):void 0;(0,i.launchWorkspace2)(o,{customWorkspaceTitle:c,...l})}}),_&&r().createElement(o.XSD,{className:k,hasDivider:!0,isDelete:!0,itemText:a("delete","Delete"),onClick:()=>(({medicationDispense:e,medicationRequestBundle:t})=>{let n=(0,i.showModal)("delete-confirm-modal",{title:a("deleteDispenseRecord","Delete Dispense Record"),message:a("deleteDispenseRecordMessage","Are you sure you want to delete this dispense record?"),onDelete:()=>{let r,o;r=(0,w.Qm)(t.request),o=(0,w.aC)(e,t,u.dispenseBehavior.restrictTotalQuantityDispensed),(0,w.gY)(s),(0,c._D)(e.id).then(()=>{(0,i.showSnackbar)({kind:"success",title:a("success","Success"),subtitle:a("medicationDispenseDeleted","Medication dispense was deleted successfully")}),r!==o&&(0,T.NT)((0,w.vj)(e.authorizingPrescription[0].reference),o).then(()=>{(0,w.Yi)(d,s)}).catch(()=>{(0,i.showSnackbar)({kind:"error",title:a("updateStatusFailed","Update Status Failed"),subtitle:a("couldNotUpdateMedicationRequestStatus","Could not update medication request status")})}),(0,w.Yi)(d,s)}).catch(()=>{(0,i.showSnackbar)({kind:"error",title:a("deleteFailed","Delete Failed"),subtitle:a("couldNotDeleteMedicationDispense","Could not delete medication dispense")})}),n()},onClose:()=>{n()}})})({medicationDispense:e,medicationRequestBundle:t})})):null},I=({medicationDispense:e})=>{let{t}=(0,l.useTranslation)();return e.status===C.NV.completed?r().createElement(o.vwO,{type:"gray"},t("dispensed","Dispensed")):e.status===C.NV.on_hold?r().createElement(o.vwO,{type:"red"},t("paused","Paused")):e.status===C.NV.declined?r().createElement(o.vwO,{type:"red"},t("closed","Closed")):null},q=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,i.useConfig)(),{medicationRequestBundles:c,prescriptionDate:d,error:p,isLoading:u}=(0,T.IQ)(e,s.refreshInterval),{sortedDispenses:m,requests:_,hasHistory:f}=(0,a.useMemo)(()=>{let e=c?.flatMap(e=>e.dispenses)??[],t=c?.flatMap(e=>e.request)??[];return{sortedDispenses:[...e].sort(w.Fq),requests:t,hasHistory:e.length>0||t.length>0}},[c]);return r().createElement("div",{className:"-esm-dispensing__history-and-comments__historyAndCommentsContainer___at3xs"},u&&r().createElement(o.FAs,null,r().createElement(o.rrI,{paragraph:!0,lineCount:2})),p&&r().createElement("p",{className:"-esm-dispensing__history-and-comments__error___d6E4w"},n("errorLoadingHistory","Error loading history"),": ",p.message),!u&&!p&&!f&&r().createElement("p",{className:"-esm-dispensing__history-and-comments__emptyState___c53py"},n("noHistoryFound","No history found")),!u&&!p&&f&&r().createElement(r().Fragment,null,m.map(s=>{var a;return r().createElement("div",{key:s.id},r().createElement("h5",{className:P},s.performer&&s.performer[0]?.actor?.display," ",(a=s).status===C.NV.completed?n("dispensedMedication","dispensed medication"):a.status===C.NV.on_hold?n("pausedDispense","paused dispense"):a.status===C.NV.declined?n("closedDispense","closed dispense"):null," —"," ",(0,i.formatDatetime)((0,i.parseDate)(s.whenHandedOver))),r().createElement(S.A,{medicationEvent:s,status:r().createElement(I,{medicationDispense:s}),isDispenseEvent:!0},r().createElement("div",{className:"-esm-dispensing__history-and-comments__dispenseEventActions___mIrli"},r().createElement(i.ExtensionSlot,{name:D.Ub,state:{medicationDispense:s,patientUuid:t,encounterUuid:e}}),r().createElement(L,{medicationDispense:s,medicationRequestBundle:(0,w.p8)(c,s),patientUuid:t,encounterUuid:e}))))}),_.map(e=>r().createElement("div",{key:e.id},r().createElement("h5",{className:P},e.requester.display," ",n("orderedMedication","ordered medication")," —"," ",(0,i.formatDatetime)(d)),r().createElement(S.A,{medicationEvent:e,status:r().createElement(o.vwO,{type:"green"},n("ordered","Ordered"))})))))};var A=n(2383);let B=({medicationRequestBundle:e,patientUuid:t,encounterUuid:n,disabled:s})=>{let a=(0,i.useConfig)(),o=(0,i.useSession)(),l=(0,c.u9)(a.dispenserProviderRoles),d=(0,w.Z_)(e.dispenses),p=(0,w.ox)(e.request,a.medicationRequestExpirationPeriodInDays),u=p===C.FA.active&&d!==C.NV.declined,m=a.actionButtons.pauseButton.enabled&&p===C.FA.active&&d!==C.NV.on_hold&&d!==C.NV.declined,_=a.actionButtons.closeButton.enabled&&p===C.FA.active&&d!==C.NV.declined,f=null;a.dispenseBehavior.restrictTotalQuantityDispensed&&(f=(0,w.HP)(e));let h=0;a.dispenseBehavior.restrictTotalQuantityDispensed&&e.dispenses&&(h=(0,w.ky)(e.dispenses));let g={dispensable:u,pauseable:m,closeable:_,quantityRemaining:f,quantityDispensed:h,patientUuid:t,encounterUuid:n,medicationRequestBundle:e,session:o,providers:l,disabled:s};return r().createElement("div",{className:"-esm-dispensing__action-buttons__actionBtns___Ci-6w"},r().createElement(i.ExtensionSlot,{className:"-esm-dispensing__action-buttons__extensionSlot___GCdJ6",name:"prescription-action-button-slot",state:g}))};var R=n(9564);let U=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,a.useCallback)(()=>{let n=(0,i.showModal)("prescription-print-preview-modal",{onClose:()=>n(),encounterUuid:e,patientUuid:t})},[e,t]);return r().createElement(o.$nd,{renderIcon:R.xj,iconDescription:n("print","Print"),onClick:s,kind:"ghost"},n("printPrescriptions","Print prescriptions"))},F="-esm-dispensing__prescription-actions__actionCluster___LwZa9",M=({encounterUuid:e,patientUuid:t})=>{let n=(0,i.useConfig)();return r().createElement(o.Wdr,{className:"-esm-dispensing__prescription-actions__actionsContainer___8oGYo"},r().createElement("div",{className:F},n.actionButtons.printPrescriptionsButton.enabled&&r().createElement(U,{encounterUuid:e,patientUuid:t})),r().createElement("div",{className:F}))},x="-esm-dispensing__prescription-details__error___ZNUtP",j="-esm-dispensing__prescription-details__skeletonTile___dKD-J",$=({encounterUuid:e,patientUuid:t})=>{let n,{t:s}=(0,l.useTranslation)(),a=(0,i.useConfig)(),{allergies:c,totalAllergies:d,isLoading:p,error:u}=(0,T.PA)(t,a.refreshInterval),{medicationRequestBundles:m,error:_,isLoading:f}=(0,T.IQ)(e,a.refreshInterval),{staleEncounterUuids:h}=(0,w.se)();return r().createElement("div",{className:"-esm-dispensing__prescription-details__prescriptionContainer___lDo9S"},p&&r().createElement(o.FAs,{className:j},r().createElement(o.rrI,null)),!p&&r().createElement(o.FAs,{className:"-esm-dispensing__prescription-details__allergiesTile___J9wuQ"},r().createElement("div",{className:"-esm-dispensing__prescription-details__allergiesContent___cJD5c"},r().createElement("div",null,r().createElement(A.BF,{size:24,className:"-esm-dispensing__prescription-details__allergiesIcon___ldspC"}),r().createElement("p",null,u&&r().createElement("span",{className:x},s("errorLoadingAllergies","Error loading allergies"),": ",u.message),!u&&d>0&&r().createElement("span",null,r().createElement("span",{className:"-esm-dispensing__prescription-details__allergiesCount___A9wbi"},s("allergiesCount","{{ count }} allergies",{count:d}))," ",(n=s("unknownAllergy","Unknown allergy"),c.map(e=>e.code?.text?e.code.text:e.code?.coding?.length?(0,w.R9)(e.code.coding)??e.code.coding[0]?.display:n).filter(Boolean).join(", "))),!u&&"number"==typeof d&&0===d&&s("noAllergyDetailsFound","No allergy details found"))))),r().createElement("h5",{className:"-esm-dispensing__prescription-details__prescribedHeader___kvUih"},s("prescribed","Prescribed")),f&&r().createElement(o.FAs,{className:j},r().createElement(o.rrI,{paragraph:!0,lineCount:2})),_&&r().createElement("p",{className:x},s("errorLoadingPrescriptionDetails","Error loading prescription details"),": ",_.message),m&&(m.length>0?m.map(n=>{let l;return r().createElement(S.A,{key:n.request.id,medicationEvent:n.request,status:(l=(0,w.Xs)(n.request,a.medicationRequestExpirationPeriodInDays))===C._z.cancelled?r().createElement(o.vwO,{type:"red"},s("cancelled","Cancelled")):l===C._z.completed?r().createElement(o.vwO,{type:"green"},s("completed","Completed")):l===C._z.expired?r().createElement(o.vwO,{type:"red"},s("expired","Expired")):l===C._z.declined?r().createElement(o.vwO,{type:"red"},s("closed","Closed")):l===C._z.on_hold?r().createElement(o.vwO,{type:"red"},s("paused","Paused")):(0,w.Z_)(n.dispenses)===C.NV.completed?r().createElement(o.vwO,{type:"gray"},s("dispensed","Dispensed")):null},r().createElement(i.UserHasAccess,{privilege:D.Bi},r().createElement(B,{patientUuid:t,encounterUuid:e,medicationRequestBundle:n,disabled:h.includes(e)})))}):r().createElement("p",{className:"-esm-dispensing__prescription-details__emptyState___2yYDA"},s("noPrescriptionsFound","No prescriptions found"))),m?.length>0&&r().createElement(M,{encounterUuid:e,patientUuid:t}))},z=({encounterUuid:e,patientUuid:t})=>{let{t:n}=(0,l.useTranslation)(),s=(0,i.getAssignedExtensions)("dispensing-condition-and-diagnoses"),a=[{name:n("prescriptionDetails","Prescription details"),component:r().createElement($,{encounterUuid:e,patientUuid:t})},s&&s.length>0?{name:n("conditionsAndDiagnoses","Conditions and diagnoses"),component:r().createElement(i.ExtensionSlot,{name:"dispensing-condition-and-diagnoses",state:{patientUuid:t,encounterUuid:e}})}:null,{name:n("historyComments","History and comments"),component:r().createElement(q,{encounterUuid:e,patientUuid:t})}];return r().createElement("div",{className:"-esm-dispensing__prescription-expanded__expandedTabsParentContainer___Vsvf1"},r().createElement("div",{className:"-esm-dispensing__prescription-expanded__verticalTabs___iM-yu"},r().createElement(o.tUM,null,r().createElement(o.wbY,{"aria-label":n("tabList","Tab List")},a.filter(Boolean).map((e,t)=>r().createElement(o.ozo,{key:t},e.name))),r().createElement(o.T2N,null,a.filter(Boolean).map((e,t)=>r().createElement(o.KpK,{key:t},e.component))))))},O={link:"-esm-dispensing__prescriptions__link___O-9UM",breadcrumbsSlot:"-esm-dispensing__prescriptions__breadcrumbsSlot___IuWkK",prescriptionTabsContainer:"-esm-dispensing__prescriptions__prescriptionTabsContainer___L5i4n",newListButton:"-esm-dispensing__prescriptions__newListButton___lz50j",tabsContainer:"-esm-dispensing__prescriptions__tabsContainer___j9Njd",patientListTableContainer:"-esm-dispensing__prescriptions__patientListTableContainer___1P0kM",searchContainer:"-esm-dispensing__prescriptions__searchContainer___XY-JU",addPrescriptionBtn:"-esm-dispensing__prescriptions__addPrescriptionBtn___kwZsR",patientSearch:"-esm-dispensing__prescriptions__patientSearch___EY2F3",locationFilter:"-esm-dispensing__prescriptions__locationFilter___aEgiF",search:"-esm-dispensing__prescriptions__search___9Z7xs",hiddenRow:"-esm-dispensing__prescriptions__hiddenRow___U3N1u",filterEmptyState:"-esm-dispensing__prescriptions__filterEmptyState___FafZM",filterEmptyStateTile:"-esm-dispensing__prescriptions__filterEmptyStateTile___R1a8K",filterEmptyStateContent:"-esm-dispensing__prescriptions__filterEmptyStateContent___ELI03",filterEmptyStateHelper:"-esm-dispensing__prescriptions__filterEmptyStateHelper___6iQZW",paginationContainer:"-esm-dispensing__prescriptions__paginationContainer___lw6Gt"},V=({loadData:e,debouncedSearchTerm:t,locations:n,status:s,customPrescriptionsTableEndpoint:c})=>{let{t:d}=(0,l.useTranslation)(),p=(0,i.useConfig)(),[u,m]=(0,a.useState)(1),[_,f]=(0,a.useState)(10),h=(u-1)*_,{prescriptionsTableRows:g,error:y,isLoading:E,totalOrders:b}=(0,T.JZ)(e,c,s,_,h,t,n,p.medicationRequestExpirationPeriodInDays,p.refreshInterval);(0,a.useEffect)(()=>{m(1)},[t]);let v=[{header:d("created","Created"),key:"created"},{header:d("patientName","Patient name"),key:"patient"},{header:d("prescriber","Prescriber"),key:"prescriber"},{header:d("drugs","Drugs"),key:"drugs"},{header:d("lastDispenser","Last dispenser"),key:"lastDispenser"},{header:d("status","Status"),key:"status"}];return p.locationBehavior?.locationColumn?.enabled&&(v=[...v.slice(0,3),{header:d("location","Location"),key:"location"},...v.slice(3)]),r().createElement("div",{className:O.patientListTableContainer},E&&r().createElement(o.OOb,{role:"progressbar"}),y&&r().createElement("div",{className:O.filterEmptyState},r().createElement(o.Wdr,null,r().createElement(o.FAs,{className:O.filterEmptyStateTile},r().createElement("p",{className:O.filterEmptyStateContent},d("errorLoadingPrescriptions","Error loading prescriptions")),r().createElement("p",{className:O.filterEmptyStateHelper},y?.message)))),g&&r().createElement(r().Fragment,null,r().createElement(o.bQt,{rows:g,headers:v,isSortable:!0},({rows:e,headers:t,getExpandHeaderProps:n,getHeaderProps:s,getRowProps:a,getTableProps:l})=>r().createElement(o.K3K,null,r().createElement(o.XIK,{...l(),useZebraStyles:!0},r().createElement(o.ndF,null,r().createElement(o.Hjg,null,r().createElement(o.Uwq,n()),t.map(e=>r().createElement(o.A0N,s({header:e}),e.header)))),r().createElement(o.BFY,null,e.map(e=>r().createElement(r().Fragment,{key:e.id},r().createElement(o.fZD,a({row:e}),e.cells.map(e=>r().createElement(o.nA6,{key:e.id},e.id.endsWith("created")?(0,i.formatDatetime)((0,i.parseDate)(e.value)):e.id.endsWith("patient")?r().createElement(N,{patient:e.value}):e.id.endsWith("status")?d(e.value):e.value))),e.isExpanded?r().createElement(o.cwJ,{colSpan:t.length+1},e.cells.find(e=>e.id.endsWith("patient"))?.value?.uuid&&r().createElement(z,{encounterUuid:e.id,patientUuid:e.cells.find(e=>e.id.endsWith("patient")).value.uuid})):r().createElement(o.cwJ,{className:O.hiddenRow,colSpan:t.length+1}))))))),g?.length===0&&r().createElement("div",{className:O.filterEmptyState},r().createElement(o.Wdr,null,r().createElement(o.FAs,{className:O.filterEmptyStateTile},r().createElement("p",{className:O.filterEmptyStateContent},d("noPrescriptionsToDisplay","No prescriptions to display")),r().createElement("p",{className:O.filterEmptyStateHelper},d("checkFilters","Check the filters above"))))),g?.length>0&&r().createElement("div",{className:O.paginationContainer},r().createElement(o.dKS,{page:u,pageSize:_,pageSizes:[10,20,30,40,50,100],totalItems:b,onChange:({page:e,pageSize:t})=>{t!==_?m(1):m(e),f(t)}}))))},W=({locations:e})=>{let{t}=(0,l.useTranslation)(),[n,s]=(0,a.useState)(""),[c,d]=(0,a.useState)("");return r().createElement(o.KpK,null,r().createElement("div",{className:"-esm-dispensing__patient-search-tab-panel__searchTabPanel___pEhk7"},r().createElement("form",{className:"-esm-dispensing__patient-search-tab-panel__searchBar___+0aRo",onSubmit:e=>{e.preventDefault(),d(n)}},r().createElement(o.vji,{closeButtonLabelText:t("clearSearchInput","Clear search input"),defaultValue:n,placeholder:t("searchForPatient","Search for a patient by name or identifier number"),labelText:t("searchForPatient","Search for a patient by name or identifier number"),onChange:e=>{s(e.target.value)},onClear:()=>d(""),size:"lg"}),r().createElement(o.$nd,{kind:"secondary",type:"submit"},t("search","Search"))),c?r().createElement(V,{loadData:!0,status:"ACTIVE",debouncedSearchTerm:c,locations:e}):r().createElement("div",{className:"-esm-dispensing__patient-search-tab-panel__searchForPatientPlaceholder___tb0Q3"},r().createElement("div",null,r().createElement(i.PatientSearchPictogram,null),r().createElement("h5",null,t("searchForPatientHeader","Search for a patient")),r().createElement("div",null,t("searchForPatient","Search for a patient by name or identifier number"))))))},H=({status:e,isTabActive:t,customPrescriptionsTableEndpoint:n,locations:s,isLocationsLoading:c})=>{let{t:d}=(0,l.useTranslation)(),p=(0,i.useConfig)(),u=(0,a.useRef)(!1),{sessionLocation:m}=(0,i.useSession)(),[_,f]=(0,a.useState)(""),h=(0,i.useDebounce)(_,500),[g,y]=(0,a.useState)([]);return(0,a.useEffect)(()=>{!u.current&&!c&&m?.uuid&&(y(s?.filter(e=>m?.uuid===e.associatedPharmacyLocation)||[]),u.current=!0)},[c,m,s]),r().createElement(o.KpK,null,r().createElement("div",{className:O.searchContainer},p.locationBehavior?.locationFilter?.enabled&&!c&&u.current&&s?.length>1&&r().createElement(o.KFt,{hideLabel:!0,id:"locationFilter",label:d("filterByLocations","Filter by locations"),initialSelectedItems:g,items:s,itemToString:e=>e?.name,onChange:({selectedItems:e})=>{y(e)},className:O.locationFilter}),r().createElement(o.vji,{closeButtonLabelText:d("clearSearchInput","Clear search input"),defaultValue:_,placeholder:d("searchByPatientIdOrName","Search by patient ID or name"),labelText:d("searchByPatientIdOrName","Search by patient ID or name"),onChange:e=>{e.preventDefault(),f(e.target.value)},size:"md",className:O.patientSearch})),r().createElement(V,{loadData:t,status:e,customPrescriptionsTableEndpoint:n,debouncedSearchTerm:h,locations:p.locationBehavior.restrictToVisitLocationDescendants&&0===g.length?s:g}))},Q=()=>{let{t:e}=(0,l.useTranslation)(),t=(0,i.useConfig)(),n=(0,i.useSession)(),{locations:s,isLoading:c,error:d}=function(e){let{restrictToVisitLocationDescendants:t}=e.locationBehavior,n=function(e,t){let{tag:n,associatedPharmacyLocationAttribute:s}=e.locationBehavior.locationFilter,r=t?`${i.restBaseUrl}/location?tag=${encodeURIComponent(n)}&v=custom:(uuid,name,attributes:(attributeType:(name),value:(uuid)))`:null,{data:o,...l}=E()(r,i.openmrsFetch);return{locations:(0,a.useMemo)(()=>(o?.data?.results??[]).map(v(s)).sort((e,t)=>e.name.localeCompare(t.name)),[o,s]),...l}}(e,!t),s=function(e,t){let{sessionLocation:n}=(0,i.useSession)(),{tag:s,associatedPharmacyLocationAttribute:r}=e.locationBehavior.locationFilter,o=(0,i.useFeatureFlag)("emrapi-module"),l=(0,a.useMemo)(()=>t&&!o?new b("The restrictToVisitLocationDescendants option is enabled in the configuration, but the EMR API module is not installed."):null,[t,o]),c=t&&!l&&n?.uuid?`${i.restBaseUrl}/emrapi/locationThatSupportsVisits?location=${n.uuid}&v=custom:(uuid,name,descendantLocations:(uuid,name,tags,attributes:(attributeType:(name),value:(uuid))))`:null,{data:d,...p}=E()(c,i.openmrsFetch);return{locations:(0,a.useMemo)(()=>(d?.data?.descendantLocations??[]).filter(e=>e.tags?.some(e=>e.display===s)).map(v(r)).sort((e,t)=>e.name.localeCompare(t.name)),[d,s,r]),...p,error:l??p.error}}(e,t);return t?s:n}(t);(0,a.useEffect)(()=>{d instanceof b&&(0,i.showSnackbar)({kind:"error",title:e("configurationError","Configuration error"),subtitle:e("locationFilterMisconfigured","The location filter is misconfigured. Check that the required backend module is installed.")})},[d,e]);let[p,u]=(0,a.useState)(0),m=(0,a.useMemo)(()=>t?.customTabs?.filter(e=>!e.associatedLocations||e.associatedLocations.includes(n.sessionLocation?.uuid))||[],[n,t]);return r().createElement("main",{className:"omrs-main-content"},r().createElement("section",{className:O.prescriptionTabsContainer},r().createElement(o.tUM,{onChange:e=>{u(e.selectedIndex)}},r().createElement(o.wbY,{"aria-label":e("tabList","Tab List"),contained:!0,className:O.tabsContainer},r().createElement(o.ozo,{title:e("search","Search"),id:"tab-search",className:O.tab},e("search","Search")),r().createElement(o.ozo,{title:e("activePrescriptions","Active Prescriptions"),id:"tab-active-prescription",className:O.tab},e("activePrescriptions","Active Prescriptions")),r().createElement(o.ozo,{title:e("allPrescriptions","All Prescriptions"),id:"tab-all-prescription",className:O.tab},e("allPrescriptions","All Prescriptions")),m.map((t,n)=>r().createElement(o.ozo,{title:e(t.title),id:"custom_tab_"+n,className:O.tab},e(t.title)))),r().createElement(o.T2N,null,r().createElement(W,{locations:s}),r().createElement(H,{isTabActive:1===p,status:"ACTIVE",locations:s,isLocationsLoading:c}),r().createElement(H,{isTabActive:2===p,status:"",locations:s,isLocationsLoading:c}),m.map((e,t)=>r().createElement(H,{isTabActive:p===t+3,customPrescriptionsTableEndpoint:e.customPrescriptionsTableEndpoint,locations:s,isLocationsLoading:c}))))))},Z=()=>{let e="tablet"===(0,i.useLayoutType)(),{t}=(0,l.useTranslation)(),{drugOrderTypeUUID:n}=(0,i.useConfig)();return r().createElement("div",{className:"-esm-dispensing__fill-prescription-button__buttonContainer___uZrDT"},r().createElement(o.$nd,{kind:"primary",renderIcon:e=>r().createElement(i.AddIcon,{size:16,...e}),size:e?"lg":"md",onClick:()=>{(0,i.launchWorkspace2)("dispensing-patient-search-workspace",{workspaceTitle:t("fillPrescriptionForPatient","Fill prescription for patient"),onPatientSelected(e,s,a,r){var o;(o=e,(0,i.openmrsFetch)(`${i.restBaseUrl}/visit?patient=${o}&v=${(void 0)??"default"}&includeInactive=false`,{signal:void 0,method:"GET",headers:{"Content-type":"application/json"}})).then(async a=>{let o=a.data.results?.[0];o?(await r(),(0,i.launchWorkspace2)("dispensing-order-basket-workspace",{},{patientUuid:e,patient:s,visitContext:o,drugOrderWorkspaceName:"dispensing-order-basket-add-drug-order-workspace",allergyFormWorkspaceName:"dispensing-order-basket-add-allergy-workspace",visibleOrderPanels:[n],onOrderBasketSubmitted:(e,t)=>{(0,i.showModal)("on-prescription-filled-modal",{patient:s,encounterUuid:e})}})):(0,i.showSnackbar)({title:t("visitRequired","Visit required"),subtitle:t("visitRequiredForPatientToFillPrescription","Visit required for patient to fill prescription"),kind:"error"})})}},{startVisitWorkspaceName:"dispensing-start-visit-workspace"})}},t("fillPrescription","Fill prescription")))};var Y=n(8651);function K(){let{t:e}=(0,l.useTranslation)(),t=`${window.spaBase}/home`,n=(0,a.useMemo)(()=>{let e=location.pathname.split("/home");return decodeURIComponent(e[e.length-1])},[]);return r().createElement(i.ConfigurableLink,{className:p()("cds--side-nav__link",{"active-left-nav-link":n.match("dispensing")}),to:`${t}/dispensing`},e("dispensing","Dispensing"))}let J=n(4767),X="@openmrs/esm-dispensing-app",G={featureName:"dispensing",moduleName:X};function ee(){(0,i.defineConfigSchema)(X,s)}let et=(0,i.getSyncLifecycle)(function(){let{leftNavMode:e}=(0,i.useConfig)(),t=(0,i.useLayoutType)(),n=window.spaBase+"/dispensing";return(0,i.useLeftNav)({name:"homepage-dashboard-slot",basePath:n,mode:e}),r().createElement("div",{className:p()([(0,i.isDesktop)(t)?u.desktopContainer:"","normal"===e?u.hasLeftNav:""])},r().createElement(i.ExtensionSlot,{name:"dispensing-dashboard-slot"}))},G),en=(0,i.getSyncLifecycle)(function(){let{t:e}=(0,l.useTranslation)();return r().createElement(i.ConfigurableLink,{to:D.p1},e("dispensing","Dispensing"))},G),ei=(0,i.getSyncLifecycle)(function(){let e=(0,i.useConfig)(),{t}=(0,l.useTranslation)();return e.dispenseBehavior.restrictTotalQuantityDispensed&&e.dispenseBehavior.allowModifyingPrescription?r().createElement("div",{className:"omrs-main-content"},r().createElement(o.jeF,{title:t("dispensingAppError","Dispensing App Error"),subtitle:t("dispensingAppMisconfigurationMessage","Please contact your system administration: Misconfiguration - 'restrictTotalQuantityDispensed' cannot be enabled if 'allowModifyingPrescription' is enabled.")})):r().createElement("div",{className:"omrs-main-content"},r().createElement(g,null),r().createElement(Z,null),r().createElement(Q,null))},G),es=(0,i.getSyncLifecycle)(()=>r().createElement(Y.Kd,null,r().createElement(K,null)),G),ea=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,closeable:d,disabled:p})=>{let{t:u}=(0,l.useTranslation)(),m={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!1),mode:"enter"};return d?r().createElement(o.$nd,{kind:"danger",onClick:()=>{(0,i.launchWorkspace2)("close-dispense-workspace",m)},disabled:p},u("close","Close")):null},G),er=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,dispensable:d,quantityRemaining:p,quantityDispensed:u,disabled:m})=>{let{t:_}=(0,l.useTranslation)(),f={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!0),medicationRequestBundle:n,quantityRemaining:p,quantityDispensed:u,mode:"enter"};return d?r().createElement(o.$nd,{kind:"primary",onClick:()=>{(0,i.launchWorkspace2)("dispense-workspace",f)},disabled:m},_("dispense","Dispense")):null},G),eo=(0,i.getSyncLifecycle)(({patientUuid:e,encounterUuid:t,medicationRequestBundle:n,session:s,providers:a,pauseable:d,disabled:p})=>{let{t:u}=(0,l.useTranslation)(),m={patientUuid:e,encounterUuid:t,medicationDispense:(0,c.ux)(n.request,s,a,!1),mode:"enter"};return d?r().createElement(o.$nd,{kind:"secondary",onClick:()=>{(0,i.launchWorkspace2)("pause-dispense-workspace",m)},disabled:p},u("pause","Pause")):null},G),el=(0,i.getAsyncLifecycle)(()=>n.e("3877").then(n.bind(n,8740)),G),ec=(0,i.getAsyncLifecycle)(()=>n.e("4302").then(n.bind(n,3053)),G),ed=(0,i.getAsyncLifecycle)(()=>n.e("9331").then(n.bind(n,3214)),G),ep=(0,i.getAsyncLifecycle)(()=>Promise.all([n.e("353"),n.e("6983")]).then(n.bind(n,10)),G),eu=(0,i.getAsyncLifecycle)(()=>n.e("4437").then(n.bind(n,7060)),G),em=(0,i.getAsyncLifecycle)(()=>n.e("3438").then(n.bind(n,2829)),G),e_=(0,i.getAsyncLifecycle)(()=>n.e("8453").then(n.bind(n,4452)),G),ef=(0,i.getAsyncLifecycle)(()=>n.e("4318").then(n.bind(n,5645)),G),eh=(0,i.getAsyncLifecycle)(()=>n.e("9866").then(n.bind(n,6913)),G)},9513(e,t,n){"use strict";n.d(t,{A7:()=>l,CG:()=>y,E:()=>d,M5:()=>u,Sj:()=>f,_D:()=>c,cE:()=>m,ij:()=>_,u9:()=>p,ux:()=>g});var i=n(9910),s=n.n(i),a=n(2059),r=n.n(a),o=n(4685);function l(e,t,n){let i=e.id?`${o.fhirBaseUrl}/MedicationDispense/${e.id}`:`${o.fhirBaseUrl}/MedicationDispense`,s=e.id?"PUT":"POST";return e.status=t,e.whenPrepared=e.whenHandedOver,(0,o.openmrsFetch)(i,{method:s,signal:n?.signal,headers:{"Content-Type":"application/json"},body:e})}function c(e){return(0,o.openmrsFetch)(`${o.fhirBaseUrl}/MedicationDispense/${e}`,{method:"DELETE"})}function d(){let{data:e,error:t,isValidating:n}=r()(`${o.restBaseUrl}/orderentryconfig`,o.openmrsFetch);return{orderConfigObject:e?e.data:null,error:t,isLoading:!e&&!t,isValidating:n}}function p(e){let t="custom:(uuid,person:(display)",{data:n}=r()(e&&e.length>0?`${o.restBaseUrl}/provider?providerRoles=${e.join(",")}&v=${t})`:`${o.restBaseUrl}/provider?v=${t})`,o.openmrsFetch);return n?.data?.results.sort((e,t)=>e.person?.display.localeCompare(t.person?.display))}function u(e){return{reasonForPauseValueSet:h(e)}}function m(e){return{reasonForCloseValueSet:h(e)}}function _(e){return{substitutionTypeValueSet:h(e)}}function f(e){return{substitutionReasonValueSet:h(e)}}function h(e){let{data:t}=r()(`${o.fhirBaseUrl}/ValueSet/${e}`,o.openmrsFetch);return t?t.data:null}function g(e,t,n,i){let a={resourceType:"MedicationDispense",status:null,authorizingPrescription:[{reference:"MedicationRequest/"+e.id,type:"MedicationRequest"}],medicationReference:e.medicationReference,medicationCodeableConcept:e.medicationCodeableConcept,subject:e.subject,performer:[{actor:{reference:t?.currentProvider?`Practitioner/${t.currentProvider.uuid}`:""}}],location:{reference:t?.sessionLocation?`Location/${t.sessionLocation.uuid}`:""},whenHandedOver:s()().format()};return i&&(a={...a,quantity:{value:e.dispenseRequest?.quantity?.value,code:e.dispenseRequest?.quantity?.code,unit:e.dispenseRequest?.quantity?.unit,system:e.dispenseRequest?.quantity?.system},dosageInstruction:[{text:[e.dosageInstruction[0].text,e.dosageInstruction[0].additionalInstruction?.length>0?e.dosageInstruction[0].additionalInstruction[0].text:null].filter(e=>null!=e).join(" "),timing:e.dosageInstruction[0].timing,asNeededBoolean:!1,route:e.dosageInstruction[0].route,doseAndRate:e.dosageInstruction[0].doseAndRate?e.dosageInstruction[0].doseAndRate:[{doseQuantity:{value:null,code:null,unit:null}}]}],substitution:y}),a}let y={wasSubstituted:!1,reason:[{coding:[{code:null}]}],type:{coding:[{code:null}]}}},1297(e,t,n){"use strict";n.d(t,{IQ:()=>u,JZ:()=>p,NT:()=>f,PA:()=>m,uc:()=>_});var i=n(2287),s=n(9910),a=n.n(s),r=n(2059),o=n.n(r),l=n(4685),c=n(7003),d=n(7351);function p(e,t="",n="",i=10,s=0,r="",c=[],u,m){let _,{data:f,error:h}=o()(e?(0,d.gh)(t,n,s,i,a()(new Date).startOf("day").subtract(u,"day").toISOString(),r,c?.map(e=>e.id).join(",")):null,l.openmrsFetch,{refreshInterval:m});if(f){let e=f?.data.entry;if(e){let t=e.filter(e=>e?.resource?.resourceType=="Encounter").map(e=>e.resource),n=e.filter(e=>e?.resource?.resourceType=="MedicationRequest").map(e=>e.resource),i=e.filter(e=>e?.resource?.resourceType=="MedicationDispense").map(e=>e.resource).sort(d.Fq);(_=t.map(e=>{var t,s,a,r;let o=n.filter(t=>t.encounter.reference=="Encounter/"+e.id),l=o.map(e=>"MedicationRequest/"+e.id);return t=e,s=o,a=i.filter(e=>l.includes(e.authorizingPrescription[0]?.reference)),r=u,{id:t?.id,created:t?.period?.start,patient:{name:t?.subject?.display,uuid:t?.subject?.reference?.split("/")[1]},drugs:[...new Set(s.map(e=>(0,d.Q0)((0,d.H_)(e))).sort((e,t)=>e.localeCompare(t)))].join("; "),lastDispenser:a&&a[0]?.performer&&a[0]?.performer[0]?.actor.display,prescriber:[...new Set(s.map(e=>e.requester.display))].join(", "),status:(0,d.oK)(s,r),location:t?.location?t?.location[0]?.location.display:null}})).sort((e,t)=>e.created<t.created?1:-1)}else _=[]}return{prescriptionsTableRows:_,error:h,isLoading:!_&&!h,totalOrders:f?.data.total}}function u(e,t=null){let{data:n,...s}=o()((0,d.Yo)(e),l.openmrsFetch,{refreshInterval:t}),{medicationRequestBundles:a,prescriptionDate:r}=(0,i.useMemo)(()=>n?function(e){let t,n=[],i=e?.filter(e=>e?.resource?.resourceType=="Encounter").map(e=>e.resource);if(i){t=(0,l.parseDate)(i[0]?.period.start);let s=e?.filter(e=>e?.resource?.resourceType=="MedicationRequest").map(e=>e.resource),a=e?.filter(e=>e?.resource?.resourceType=="MedicationDispense").map(e=>e.resource).sort(d.Fq);s.every(e=>n.push({request:e,dispenses:(0,d.CL)(e,a).sort(d.Fq)}))}return{medicationRequestBundles:n,prescriptionDate:t}}(n.data.entry):{medicationRequestBundles:[],prescriptionDate:null},[n]);return{medicationRequestBundles:a,prescriptionDate:r,...s}}function m(e,t){let{data:n,error:i,isLoading:s}=o()(`${l.fhirBaseUrl}/AllergyIntolerance?patient=${e}`,l.openmrsFetch,{refreshInterval:t});return{allergies:n?.data.entry?.map(e=>e.resource)??[],totalAllergies:n?.data.total,error:i,isLoading:s}}function _(e,t){e=e?e.startsWith("MedicationRequest")?e:`MedicationRequest/${e}`:null;let{data:n,isLoading:i}=o()(e?`${l.fhirBaseUrl}/${e}`:null,l.openmrsFetch,{refreshInterval:t});return{medicationRequest:n?n.data:null,isLoading:i}}function f(e,t){let n=`${l.fhirBaseUrl}/MedicationRequest/${e}`;return(0,l.openmrsFetch)(n,{method:"PATCH",headers:{"Content-Type":c.w9},body:{extension:[{url:c.Yj,valueCode:t}]}})}},8035(e,t,n){"use strict";n.d(t,{FA:()=>l,NV:()=>o,O7:()=>c,_z:()=>d});var i,s,a,r,o=((i={}).on_hold="on-hold",i.completed="completed",i.declined="declined",i),l=((s={}).active="active",s.cancelled="cancelled",s.completed="completed",s.expired="expired",s),c=((a={}).on_hold="ON_HOLD",a.declined="DECLINED",a.completed="COMPLETED",a),d=((r={}).active="active",r.cancelled="cancelled",r.completed="completed",r.expired="expired",r.on_hold="on-hold",r.declined="declined",r.unknown="unknown",r)},7351(e,t,n){"use strict";n.d(t,{CL:()=>E,Fq:()=>x,Gp:()=>N,HP:()=>g,H_:()=>S,M$:()=>T,Q0:()=>w,Qe:()=>A,Qm:()=>C,Qz:()=>L,R9:()=>v,XM:()=>j,Xs:()=>u,Yi:()=>F,Yo:()=>I,Z_:()=>k,_e:()=>_,aC:()=>f,bP:()=>D,c1:()=>R,gY:()=>M,gh:()=>q,ky:()=>y,oK:()=>h,ox:()=>m,p8:()=>P,se:()=>z,vj:()=>U});var i=n(9910),s=n.n(i),a=n(872),r=n.n(a),o=n(8035),l=n(4685),c=n(7003);let d="Misconfiguration, please contact your System Administrator: Can't calculate quantity dispensed if units don't match. Likely issue: allowModifyingPrescription and restrictTotalQuantityDispensed configuration parameters both set to true. Either set restrictTotalQuantityDispensed to false or set allowModifyingPrescription to false. If you have previously entered dispense events that modified prescriptions, you will likely need to clean up or remove that data before setting restrictTotalQuantityDispensed to true.";function p(e,t,n=!1){if(t&&0>=g(e))return o.O7.completed;let i=k(e.dispenses);return i===o.NV.declined?o.O7.declined:i===o.NV.on_hold?o.O7.on_hold:t||i!==o.NV.completed||e.request.status!==o.FA.completed||n?null:o.O7.completed}function u(e,t){let n=m(e,t),i=C(e);if(n!==o.FA.active){if(n===o.FA.expired)return o._z.expired;else if(n===o.FA.completed)return o._z.completed;else if(n===o.FA.cancelled)return o._z.cancelled}return i===o.O7.declined?o._z.declined:i===o.O7.on_hold?o._z.on_hold:o._z.active}function m(e,t){return e.status===o.FA.cancelled||e.status===o.FA.completed?e.status:e.dispenseRequest?.validityPeriod?.start&&s()(e.dispenseRequest.validityPeriod.start).isBefore(s()().startOf("day").subtract(t,"day"))?o.FA.expired:o.FA.active}function _(e,t,n){let i=[...t.dispenses];return i=e.id?i.map(t=>t.id===e.id?e:t):[e,...i],p({request:t.request,dispenses:i},n,!1)}function f(e,t,n){return p({request:t.request,dispenses:t.dispenses.filter(t=>t.id!==e.id)},n,e.status===o.NV.completed)}function h(e,t){let n=function(e,t){if(!e||0===e.length)return null;let n=e.map(e=>u(e,t));if(n.includes(o._z.active))return o._z.active;if(n.includes(o._z.on_hold))return o._z.on_hold;if(n.includes(o._z.completed))return o._z.completed;if(n.includes(o._z.declined))return o._z.declined;if(n.includes(o._z.cancelled))return o._z.cancelled;else if(n.includes(o._z.expired))return o._z.expired;return null}(e,t);if(null===n);else if(n===o._z.active)return"active";else if(n===o._z.on_hold)return"paused";else if(n===o._z.completed)return"completed";else if(n===o._z.declined)return"closed";else if(n===o._z.expired)return"expired";else if(n===o._z.cancelled)return"cancelled";return null}function g(e){if(e){var t;let n;if(!B([e.request,...e.dispenses]))throw Error(d);return n=R(t=e.request),(t.dispenseRequest?.quantity?.value?t.dispenseRequest.quantity.value*(1+(n||0)):null)-y(e.dispenses)}return 0}function y(e){if(!e)return 0;if(!B(e))throw Error(d);return e.map(e=>e.quantity?.value?e.quantity?.value:0).reduce((e,t)=>e+t,0)}function E(e,t){return t?.filter(t=>t?.authorizingPrescription?.some(t=>t.reference.endsWith(e.id)))}function b(e){return e?e.find(e=>!("system"in e)||void 0===e.system):null}function v(e){return b(e)?.display}function T(e){return b(e)?.code}function N(e){return e?.length>0?e[0]:null}function C(e){return e?.extension?.find(e=>e.url===c.Yj)?.valueCode}function D(e){return`${l.fhirBaseUrl}/Medication?code=${e}`}function w(e){return e.medicationReference?e.medicationReference.display:v(e?.medicationCodeableConcept.coding)+": "+e?.medicationCodeableConcept.text}function S(e){return{medicationReference:e.medicationReference,medicationCodeableConcept:e.medicationCodeableConcept}}function k(e){let t=e?.sort(x);return t&&t.length>0?t[0].status:null}function P(e,t){return e.find(e=>e.dispenses.find(e=>e.id===t.id))}function L(e){if(!e||!e.extension)return null;let t=e.extension.find(e=>e.url===c.Wz);if(!t||!t.extension)return null;let n=t.extension.find(e=>e.url===c.Wz+"#drugName");return n?n.valueString:null}function I(e){return`${l.fhirBaseUrl}/${c.c1}?encounter=${e}&_revinclude=MedicationDispense:prescription&_include=MedicationRequest:encounter`}function q(e,t,n,i,s,a,o){return r()(e||("ACTIVE"===t?"${fhirBaseUrl}/${PRESCRIPTIONS_TABLE_ENDPOINT}&_getpagesoffset=${pageOffset}&_count=${pageSize}&date=ge${date}&status=${status}"+(a?"&patientSearchTerm=${patientSearchTerm}":"")+(o?"&location=${location}":""):"${fhirBaseUrl}/${PRESCRIPTIONS_TABLE_ENDPOINT}&_getpagesoffset=${pageOffset}&_count=${pageSize}&status=${status}"+(a?"&patientSearchTerm=${patientSearchTerm}":"")+(o?"&location=${location}":"")))({fhirBaseUrl:l.fhirBaseUrl,PRESCRIPTIONS_TABLE_ENDPOINT:c.T,status:t,pageOffset:n,pageSize:i,date:s,patientSearchTerm:a,location:o})}function A(e){return"MedicationRequest"==e.resourceType?e.dispenseRequest?.quantity:"MedicationDispense"==e.resourceType?e.quantity:void 0}function B(e){if(!e)return!0;{let t=e.map(e=>A(e)?.code).filter(e=>e);return!(t.length>0)||t.every(e=>e===t[0])}}function R(e){return"MedicationRequest"==e.resourceType?e.dispenseRequest?.numberOfRepeatsAllowed:null}function U(e){return e?.includes("/")?e.split("/")[1]:e}async function F(e,t){await e(e=>"string"==typeof e&&(e.startsWith(`${l.fhirBaseUrl}/${c.T}`)||e.startsWith(`${l.fhirBaseUrl}/${c.c1}?encounter=${t}`))),$.setState(e=>({staleEncounterUuids:e.staleEncounterUuids.filter(e=>e!==t)}))}function M(e){$.setState(t=>({staleEncounterUuids:[...t.staleEncounterUuids,e]}))}function x(e,t){if(null===t.whenHandedOver)return 1;if(null===e.whenHandedOver)return -1;let n=(0,l.parseDate)(t.whenHandedOver).getTime()-(0,l.parseDate)(e.whenHandedOver).getTime();return 0!==n?n:e.id.localeCompare(t.id)}function j(e){return(!e?.doseAndRate||!e?.doseAndRate[0]?.doseQuantity?.value)&&!e?.timing?.code?.coding[0]?.code&&!e?.route}let $=(0,l.createGlobalStore)("dispensing-store",{staleEncounterUuids:[]});function z(){return(0,l.useStore)($)}}}]);