@openmrs/esm-patient-medications-app 11.3.1-pre.9452 → 11.3.1-pre.9458
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +13 -13
- package/dist/1022.js +1 -1
- package/dist/1022.js.map +1 -1
- package/dist/1918.js +1 -0
- package/dist/1918.js.map +1 -0
- package/dist/2102.js +1 -0
- package/dist/2102.js.map +1 -0
- package/dist/4138.js +1 -0
- package/dist/4138.js.map +1 -0
- package/dist/4300.js +1 -1
- package/dist/4341.js +1 -0
- package/dist/4341.js.map +1 -0
- package/dist/4953.js +1 -1
- package/dist/4953.js.map +1 -1
- package/dist/8437.js +1 -1
- package/dist/8437.js.map +1 -1
- package/dist/8812.js +1 -1
- package/dist/8812.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/openmrs-esm-patient-medications-app.js +1 -1
- package/dist/openmrs-esm-patient-medications-app.js.buildmanifest.json +117 -68
- package/dist/routes.json +1 -1
- package/package.json +2 -2
- package/src/active-medications/active-medications.component.tsx +8 -2
- package/src/active-medications/active-medications.test.tsx +6 -9
- package/src/add-drug-order/add-drug-order.component.tsx +165 -0
- package/src/add-drug-order/add-drug-order.test.tsx +23 -15
- package/src/add-drug-order/add-drug-order.workspace.tsx +25 -118
- package/src/add-drug-order/drug-order-form.component.tsx +389 -387
- package/src/add-drug-order/drug-order-form.resource.ts +1 -2
- package/src/add-drug-order/drug-search/drug-search-combobox.component.tsx +7 -6
- package/src/add-drug-order/drug-search/drug-search-combobox.test.tsx +1 -1
- package/src/add-drug-order/drug-search/drug-search.component.tsx +9 -11
- package/src/add-drug-order/drug-search/drug-search.resource.tsx +10 -3
- package/src/add-drug-order/drug-search/helpers.ts +1 -1
- package/src/add-drug-order/drug-search/order-basket-search-results.component.tsx +32 -17
- package/src/add-drug-order/exported-add-drug-order.workspace.tsx +28 -0
- package/src/add-drug-order/fill-prescription-form.workspace.tsx +4 -5
- package/src/api/api.ts +13 -4
- package/src/api/order-config.ts +3 -3
- package/src/components/medications-details-table.component.tsx +55 -16
- package/src/drug-order-basket-panel/drug-order-basket-panel.extension.tsx +16 -42
- package/src/drug-order-basket-panel/drug-order-basket-panel.test.tsx +6 -6
- package/src/drug-order-basket-panel/order-basket-item-tile.component.tsx +1 -1
- package/src/index.ts +5 -1
- package/src/medications-summary/medications-summary.component.tsx +2 -2
- package/src/routes.json +7 -7
- package/translations/en.json +2 -0
- package/dist/7151.js +0 -1
- package/dist/7151.js.map +0 -1
- package/dist/8803.js +0 -1
- package/dist/8803.js.map +0 -1
- package/src/types.ts +0 -75
|
@@ -1 +1 @@
|
|
|
1
|
-
var _openmrs_esm_patient_medications_app;(()=>{"use strict";var e,r,t,n,o,a,i,s,l,u,p,f,d,c,h,m,v,g,b,y,w,_={94731:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(3338),t.e(8689),t.e(1343),t.e(5434),t.e(8716),t.e(8437)]).then((()=>()=>t(78437)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},P={};function j(e){var r=P[e];if(void 0!==r)return r.exports;var t=P[e]={id:e,exports:{}};return _[e].call(t.exports,t,t.exports,j),t.exports}j.m=_,j.c=P,j.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return j.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,j.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);j.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,j.d(o,a),o},j.d=(e,r)=>{for(var t in r)j.o(r,t)&&!j.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((r,t)=>(j.f[t](e,r),r)),[])),j.u=e=>e+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-patient-medications-app:",j.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,s;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,j.nc&&i.setAttribute("nonce",j.nc),i.setAttribute("data-webpack",n+o),i.src=e),t[e]=[r];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),s&&document.head.appendChild(i)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{j.S={};var e={},r={};j.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];j.o(j.S,t)||(j.S[t]={});var a=j.S[t],i="@openmrs/esm-patient-medications-app",s=(e,r,t,n)=>{var o=a[e]=a[e]||{},s=o[r];(!s||!s.loaded&&(!n!=!s.eager?n:i>s.from))&&(o[r]={get:t,from:i,eager:!!n})},l=[];return"default"===t&&(s("@openmrs/esm-framework","8.0.1-pre.3518",(()=>Promise.all([j.e(5134),j.e(3338),j.e(5670),j.e(1343),j.e(5434),j.e(2941),j.e(8716)]).then((()=>()=>j(55670))))),s("@openmrs/esm-patient-common-lib","11.3.1-pre.
|
|
1
|
+
var _openmrs_esm_patient_medications_app;(()=>{"use strict";var e,r,t,n,o,a,i,s,l,u,p,f,d,c,h,m,v,g,b,y,w,_={94731:(e,r,t)=>{var n={"./start":()=>Promise.all([t.e(3338),t.e(8689),t.e(1343),t.e(5434),t.e(8716),t.e(8437)]).then((()=>()=>t(78437)))},o=(e,r)=>(t.R=r,r=t.o(n,e)?n[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var n="default",o=t.S[n];if(o&&o!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[n]=e,t.I(n,r)}};t.d(r,{get:()=>o,init:()=>a})}},P={};function j(e){var r=P[e];if(void 0!==r)return r.exports;var t=P[e]={id:e,exports:{}};return _[e].call(t.exports,t,t.exports,j),t.exports}j.m=_,j.c=P,j.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return j.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,j.t=function(t,n){if(1&n&&(t=this(t)),8&n)return t;if("object"==typeof t&&t){if(4&n&&t.__esModule)return t;if(16&n&&"function"==typeof t.then)return t}var o=Object.create(null);j.r(o);var a={};e=e||[null,r({}),r([]),r(r)];for(var i=2&n&&t;"object"==typeof i&&!~e.indexOf(i);i=r(i))Object.getOwnPropertyNames(i).forEach((e=>a[e]=()=>t[e]));return a.default=()=>t,j.d(o,a),o},j.d=(e,r)=>{for(var t in r)j.o(r,t)&&!j.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((r,t)=>(j.f[t](e,r),r)),[])),j.u=e=>e+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},n="@openmrs/esm-patient-medications-app:",j.l=(e,r,o,a)=>{if(t[e])t[e].push(r);else{var i,s;if(void 0!==o)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var p=l[u];if(p.getAttribute("src")==e||p.getAttribute("data-webpack")==n+o){i=p;break}}i||(s=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,j.nc&&i.setAttribute("nonce",j.nc),i.setAttribute("data-webpack",n+o),i.src=e),t[e]=[r];var f=(r,n)=>{i.onerror=i.onload=null,clearTimeout(d);var o=t[e];if(delete t[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),r)return r(n)},d=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),s&&document.head.appendChild(i)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{j.S={};var e={},r={};j.I=(t,n)=>{n||(n=[]);var o=r[t];if(o||(o=r[t]={}),!(n.indexOf(o)>=0)){if(n.push(o),e[t])return e[t];j.o(j.S,t)||(j.S[t]={});var a=j.S[t],i="@openmrs/esm-patient-medications-app",s=(e,r,t,n)=>{var o=a[e]=a[e]||{},s=o[r];(!s||!s.loaded&&(!n!=!s.eager?n:i>s.from))&&(o[r]={get:t,from:i,eager:!!n})},l=[];return"default"===t&&(s("@openmrs/esm-framework","8.0.1-pre.3518",(()=>Promise.all([j.e(5134),j.e(3338),j.e(5670),j.e(1343),j.e(5434),j.e(2941),j.e(8716)]).then((()=>()=>j(55670))))),s("@openmrs/esm-patient-common-lib","11.3.1-pre.9458",(()=>Promise.all([j.e(5134),j.e(3338),j.e(1343),j.e(5434),j.e(2941),j.e(8716),j.e(4341)]).then((()=>()=>j(94341))))),s("dayjs","1.11.13",(()=>j.e(3464).then((()=>()=>j(23464))))),s("react-i18next","16.0.0",(()=>Promise.all([j.e(6336),j.e(1343)]).then((()=>()=>j(16336))))),s("react-router-dom","6.16.0",(()=>Promise.all([j.e(2913),j.e(1343)]).then((()=>()=>j(52913))))),s("react","18.3.1",(()=>j.e(4041).then((()=>()=>j(14041))))),s("rxjs","6.6.7",(()=>j.e(2457).then((()=>()=>j(82457))))),s("swr/_internal","2.2.5",(()=>Promise.all([j.e(2372),j.e(1343)]).then((()=>()=>j(42372))))),s("swr/immutable","2.2.5",(()=>Promise.all([j.e(1343),j.e(5434),j.e(7495)]).then((()=>()=>j(29876))))),s("swr/infinite","2.2.5",(()=>Promise.all([j.e(1343),j.e(5434),j.e(89)]).then((()=>()=>j(52470)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var r=j.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var n=t.length-1;n>-1&&(!e||!/^http(s?):/.test(e));)e=t[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),j.p=e})(),o=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=t[1]?r(t[1]):[];return t[2]&&(n.length++,n.push.apply(n,r(t[2]))),t[3]&&(n.push([]),n.push.apply(n,r(t[3]))),n},a=(e,r)=>{e=o(e),r=o(r);for(var t=0;;){if(t>=e.length)return t<r.length&&"u"!=(typeof r[t])[0];var n=e[t],a=(typeof n)[0];if(t>=r.length)return"u"==a;var i=r[t],s=(typeof i)[0];if(a!=s)return"o"==a&&"n"==s||"s"==s||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;t++}},i=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,t+="u"==(typeof(s=e[o]))[0]?"-":(n>0?".":"")+(n=2,s);return t}var a=[];for(o=1;o<e.length;o++){var s=e[o];a.push(0===s?"not("+l()+")":1===s?"("+l()+" || "+l()+")":2===s?a.pop()+" "+a.pop():i(s))}return l();function l(){return a.pop().replace(/^\((.+)\)$/,"$1")}},s=(e,r)=>{if(0 in e){r=o(r);var t=e[0],n=t<0;n&&(t=-t-1);for(var a=0,i=1,l=!0;;i++,a++){var u,p,f=i<e.length?(typeof e[i])[0]:"";if(a>=r.length||"o"==(p=(typeof(u=r[a]))[0]))return!l||("u"==f?i>t&&!n:""==f!=n);if("u"==p){if(!l||"u"!=f)return!1}else if(l)if(f==p)if(i<=t){if(u!=e[i])return!1}else{if(n?u>e[i]:u<e[i])return!1;u!=e[i]&&(l=!1)}else if("s"!=f&&"n"!=f){if(n||i<=t)return!1;l=!1,i--}else{if(i<=t||p<f!=n)return!1;l=!1}else"s"!=f&&"n"!=f&&(l=!1,i--)}}var d=[],c=d.pop.bind(d);for(a=1;a<e.length;a++){var h=e[a];d.push(1==h?c()|c():2==h?c()&c():h?s(h,r):!c())}return!!c()},l=(e,r)=>e&&j.o(e,r),u=e=>(e.loaded=1,e.get()),p=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),f=(e,r,t)=>{var n=t?p(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&a(e,r)?r:e),0)},d=(e,r,t,n)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+i(n)+")",c=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},m=(e,r,t)=>t?t():((e,r)=>c("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),v=(e=>function(r,t,n,o,a){var i=j.I(r);return i&&i.then&&!n?i.then(e.bind(e,r,j.S[r],t,!1,o,a)):e(r,j.S[r],t,n,o,a)})(((e,r,t,n,o,a)=>{if(!l(r,t))return m(e,t,a);var i=f(r,t,n);return s(o,i)||h(d(r,t,i,o)),u(r[t][i])})),g={},b={1343:()=>v("default","react",!1,[1,18],(()=>j.e(4041).then((()=>()=>j(14041))))),55434:()=>v("default","swr/_internal",!1,[1,2],(()=>j.e(2372).then((()=>()=>j(42372))))),8877:()=>v("default","react-router-dom",!1,[1,6],(()=>j.e(2913).then((()=>()=>j(52913))))),24818:()=>v("default","rxjs",!1,[1,6],(()=>j.e(2457).then((()=>()=>j(82457))))),98394:()=>v("default","swr/infinite",!1,[1,2],(()=>j.e(2470).then((()=>()=>j(52470))))),46372:()=>v("default","dayjs",!1,[1,1],(()=>j.e(3464).then((()=>()=>j(23464))))),54440:()=>v("default","@openmrs/esm-framework",!1,[1,8],(()=>Promise.all([j.e(5134),j.e(5670),j.e(2941)]).then((()=>()=>j(55670))))),72339:()=>v("default","react-i18next",!1,[1,16],(()=>j.e(6336).then((()=>()=>j(16336))))),88010:()=>v("default","swr/immutable",!1,[1,2],(()=>j.e(9876).then((()=>()=>j(29876))))),36274:()=>v("default","@openmrs/esm-patient-common-lib",!1,[1,11],(()=>Promise.all([j.e(5134),j.e(2941),j.e(4341)]).then((()=>()=>j(94341)))))},y={1343:[1343],2941:[8877,24818,98394],5434:[55434],8437:[36274],8716:[46372,54440,72339,88010]},w={},j.f.consumes=(e,r)=>{j.o(y,e)&&y[e].forEach((e=>{if(j.o(g,e))return r.push(g[e]);if(!w[e]){var t=r=>{g[e]=0,j.m[e]=t=>{delete j.c[e],t.exports=r()}};w[e]=!0;var n=r=>{delete g[e],j.m[e]=t=>{throw delete j.c[e],r}};try{var o=b[e]();o.then?r.push(g[e]=o.then(t).catch(n)):t(o)}catch(e){n(e)}}}))},(()=>{var e={282:0};j.f.j=(r,t)=>{var n=j.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(/^(1343|2941|5434|8716)$/.test(r))e[r]=0;else{var o=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=o);var a=j.p+j.u(r),i=new Error;j.l(a,(t=>{if(j.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",i.name="ChunkLoadError",i.type=o,i.request=a,n[1](i)}}),"chunk-"+r,r)}};var r=(r,t)=>{var n,o,[a,i,s]=t,l=0;if(a.some((r=>0!==e[r]))){for(n in i)j.o(i,n)&&(j.m[n]=i[n]);s&&s(j)}for(r&&r(t);l<a.length;l++)o=a[l],j.o(e,o)&&e[o]&&e[o][0](),e[o]=0},t=globalThis.webpackChunk_openmrs_esm_patient_medications_app=globalThis.webpackChunk_openmrs_esm_patient_medications_app||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),j.nc=void 0;var S=j(94731);_openmrs_esm_patient_medications_app=S})();
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"auxiliaryFiles": [
|
|
49
49
|
"openmrs-esm-patient-medications-app.js.map"
|
|
50
50
|
],
|
|
51
|
-
"hash": "
|
|
51
|
+
"hash": "31170dc603001ca3",
|
|
52
52
|
"childrenByOrder": {}
|
|
53
53
|
},
|
|
54
54
|
{
|
|
@@ -166,9 +166,9 @@
|
|
|
166
166
|
"initial": false,
|
|
167
167
|
"entry": false,
|
|
168
168
|
"recorded": false,
|
|
169
|
-
"size":
|
|
169
|
+
"size": 9771,
|
|
170
170
|
"sizes": {
|
|
171
|
-
"javascript":
|
|
171
|
+
"javascript": 9771
|
|
172
172
|
},
|
|
173
173
|
"names": [],
|
|
174
174
|
"idHints": [],
|
|
@@ -182,7 +182,7 @@
|
|
|
182
182
|
"auxiliaryFiles": [
|
|
183
183
|
"1022.js.map"
|
|
184
184
|
],
|
|
185
|
-
"hash": "
|
|
185
|
+
"hash": "d71ed4356c6f01a8",
|
|
186
186
|
"childrenByOrder": {}
|
|
187
187
|
},
|
|
188
188
|
{
|
|
@@ -250,6 +250,54 @@
|
|
|
250
250
|
"hash": "9f84e43d838823e8",
|
|
251
251
|
"childrenByOrder": {}
|
|
252
252
|
},
|
|
253
|
+
{
|
|
254
|
+
"rendered": true,
|
|
255
|
+
"initial": false,
|
|
256
|
+
"entry": false,
|
|
257
|
+
"recorded": false,
|
|
258
|
+
"size": 802,
|
|
259
|
+
"sizes": {
|
|
260
|
+
"javascript": 802
|
|
261
|
+
},
|
|
262
|
+
"names": [],
|
|
263
|
+
"idHints": [],
|
|
264
|
+
"runtime": [
|
|
265
|
+
"@openmrs/esm-patient-medications-app",
|
|
266
|
+
"main"
|
|
267
|
+
],
|
|
268
|
+
"files": [
|
|
269
|
+
"1918.js"
|
|
270
|
+
],
|
|
271
|
+
"auxiliaryFiles": [
|
|
272
|
+
"1918.js.map"
|
|
273
|
+
],
|
|
274
|
+
"hash": "160842f10fcfc41a",
|
|
275
|
+
"childrenByOrder": {}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"rendered": true,
|
|
279
|
+
"initial": false,
|
|
280
|
+
"entry": false,
|
|
281
|
+
"recorded": false,
|
|
282
|
+
"size": 1070,
|
|
283
|
+
"sizes": {
|
|
284
|
+
"javascript": 1070
|
|
285
|
+
},
|
|
286
|
+
"names": [],
|
|
287
|
+
"idHints": [],
|
|
288
|
+
"runtime": [
|
|
289
|
+
"@openmrs/esm-patient-medications-app",
|
|
290
|
+
"main"
|
|
291
|
+
],
|
|
292
|
+
"files": [
|
|
293
|
+
"2102.js"
|
|
294
|
+
],
|
|
295
|
+
"auxiliaryFiles": [
|
|
296
|
+
"2102.js.map"
|
|
297
|
+
],
|
|
298
|
+
"hash": "c7bb6e1cd1ece2e6",
|
|
299
|
+
"childrenByOrder": {}
|
|
300
|
+
},
|
|
253
301
|
{
|
|
254
302
|
"rendered": true,
|
|
255
303
|
"initial": false,
|
|
@@ -588,9 +636,34 @@
|
|
|
588
636
|
"initial": false,
|
|
589
637
|
"entry": false,
|
|
590
638
|
"recorded": false,
|
|
591
|
-
"
|
|
639
|
+
"reason": "split chunk (cache group: default)",
|
|
640
|
+
"size": 123987,
|
|
592
641
|
"sizes": {
|
|
593
|
-
"javascript":
|
|
642
|
+
"javascript": 123987
|
|
643
|
+
},
|
|
644
|
+
"names": [],
|
|
645
|
+
"idHints": [],
|
|
646
|
+
"runtime": [
|
|
647
|
+
"@openmrs/esm-patient-medications-app",
|
|
648
|
+
"main"
|
|
649
|
+
],
|
|
650
|
+
"files": [
|
|
651
|
+
"4138.js"
|
|
652
|
+
],
|
|
653
|
+
"auxiliaryFiles": [
|
|
654
|
+
"4138.js.map"
|
|
655
|
+
],
|
|
656
|
+
"hash": "a72456fbcd7a1049",
|
|
657
|
+
"childrenByOrder": {}
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"rendered": true,
|
|
661
|
+
"initial": false,
|
|
662
|
+
"entry": false,
|
|
663
|
+
"recorded": false,
|
|
664
|
+
"size": 4679,
|
|
665
|
+
"sizes": {
|
|
666
|
+
"javascript": 4679
|
|
594
667
|
},
|
|
595
668
|
"names": [],
|
|
596
669
|
"idHints": [],
|
|
@@ -602,7 +675,7 @@
|
|
|
602
675
|
"4300.js"
|
|
603
676
|
],
|
|
604
677
|
"auxiliaryFiles": [],
|
|
605
|
-
"hash": "
|
|
678
|
+
"hash": "e9c81158f84a2bad",
|
|
606
679
|
"childrenByOrder": {}
|
|
607
680
|
},
|
|
608
681
|
{
|
|
@@ -627,6 +700,31 @@
|
|
|
627
700
|
"hash": "2063760401209edc",
|
|
628
701
|
"childrenByOrder": {}
|
|
629
702
|
},
|
|
703
|
+
{
|
|
704
|
+
"rendered": true,
|
|
705
|
+
"initial": false,
|
|
706
|
+
"entry": false,
|
|
707
|
+
"recorded": false,
|
|
708
|
+
"reason": "reused as split chunk (cache group: default)",
|
|
709
|
+
"size": 256966,
|
|
710
|
+
"sizes": {
|
|
711
|
+
"javascript": 256966
|
|
712
|
+
},
|
|
713
|
+
"names": [],
|
|
714
|
+
"idHints": [],
|
|
715
|
+
"runtime": [
|
|
716
|
+
"@openmrs/esm-patient-medications-app",
|
|
717
|
+
"main"
|
|
718
|
+
],
|
|
719
|
+
"files": [
|
|
720
|
+
"4341.js"
|
|
721
|
+
],
|
|
722
|
+
"auxiliaryFiles": [
|
|
723
|
+
"4341.js.map"
|
|
724
|
+
],
|
|
725
|
+
"hash": "3f5c9c902628854d",
|
|
726
|
+
"childrenByOrder": {}
|
|
727
|
+
},
|
|
630
728
|
{
|
|
631
729
|
"rendered": true,
|
|
632
730
|
"initial": false,
|
|
@@ -699,9 +797,9 @@
|
|
|
699
797
|
"entry": false,
|
|
700
798
|
"recorded": false,
|
|
701
799
|
"reason": "split chunk (cache group: default)",
|
|
702
|
-
"size":
|
|
800
|
+
"size": 140294,
|
|
703
801
|
"sizes": {
|
|
704
|
-
"javascript":
|
|
802
|
+
"javascript": 140294
|
|
705
803
|
},
|
|
706
804
|
"names": [],
|
|
707
805
|
"idHints": [],
|
|
@@ -715,7 +813,7 @@
|
|
|
715
813
|
"auxiliaryFiles": [
|
|
716
814
|
"4953.js.map"
|
|
717
815
|
],
|
|
718
|
-
"hash": "
|
|
816
|
+
"hash": "096e4d14fb587164",
|
|
719
817
|
"childrenByOrder": {}
|
|
720
818
|
},
|
|
721
819
|
{
|
|
@@ -1089,30 +1187,6 @@
|
|
|
1089
1187
|
"hash": "5f9b5c33e3c5efed",
|
|
1090
1188
|
"childrenByOrder": {}
|
|
1091
1189
|
},
|
|
1092
|
-
{
|
|
1093
|
-
"rendered": true,
|
|
1094
|
-
"initial": false,
|
|
1095
|
-
"entry": false,
|
|
1096
|
-
"recorded": false,
|
|
1097
|
-
"size": 122582,
|
|
1098
|
-
"sizes": {
|
|
1099
|
-
"javascript": 122582
|
|
1100
|
-
},
|
|
1101
|
-
"names": [],
|
|
1102
|
-
"idHints": [],
|
|
1103
|
-
"runtime": [
|
|
1104
|
-
"@openmrs/esm-patient-medications-app",
|
|
1105
|
-
"main"
|
|
1106
|
-
],
|
|
1107
|
-
"files": [
|
|
1108
|
-
"7151.js"
|
|
1109
|
-
],
|
|
1110
|
-
"auxiliaryFiles": [
|
|
1111
|
-
"7151.js.map"
|
|
1112
|
-
],
|
|
1113
|
-
"hash": "f34bc1148cf7f4b7",
|
|
1114
|
-
"childrenByOrder": {}
|
|
1115
|
-
},
|
|
1116
1190
|
{
|
|
1117
1191
|
"rendered": true,
|
|
1118
1192
|
"initial": false,
|
|
@@ -1252,10 +1326,10 @@
|
|
|
1252
1326
|
"initial": false,
|
|
1253
1327
|
"entry": false,
|
|
1254
1328
|
"recorded": false,
|
|
1255
|
-
"size":
|
|
1329
|
+
"size": 154555,
|
|
1256
1330
|
"sizes": {
|
|
1257
1331
|
"consume-shared": 42,
|
|
1258
|
-
"javascript":
|
|
1332
|
+
"javascript": 154513
|
|
1259
1333
|
},
|
|
1260
1334
|
"names": [],
|
|
1261
1335
|
"idHints": [],
|
|
@@ -1268,7 +1342,7 @@
|
|
|
1268
1342
|
"auxiliaryFiles": [
|
|
1269
1343
|
"8437.js.map"
|
|
1270
1344
|
],
|
|
1271
|
-
"hash": "
|
|
1345
|
+
"hash": "6e7c7d1c8599d262",
|
|
1272
1346
|
"childrenByOrder": {}
|
|
1273
1347
|
},
|
|
1274
1348
|
{
|
|
@@ -1345,10 +1419,10 @@
|
|
|
1345
1419
|
"initial": true,
|
|
1346
1420
|
"entry": true,
|
|
1347
1421
|
"recorded": false,
|
|
1348
|
-
"size":
|
|
1422
|
+
"size": 3127330,
|
|
1349
1423
|
"sizes": {
|
|
1350
1424
|
"consume-shared": 294,
|
|
1351
|
-
"javascript":
|
|
1425
|
+
"javascript": 3103934,
|
|
1352
1426
|
"share-init": 420,
|
|
1353
1427
|
"runtime": 22682
|
|
1354
1428
|
},
|
|
@@ -1365,32 +1439,7 @@
|
|
|
1365
1439
|
"auxiliaryFiles": [
|
|
1366
1440
|
"main.js.map"
|
|
1367
1441
|
],
|
|
1368
|
-
"hash": "
|
|
1369
|
-
"childrenByOrder": {}
|
|
1370
|
-
},
|
|
1371
|
-
{
|
|
1372
|
-
"rendered": true,
|
|
1373
|
-
"initial": false,
|
|
1374
|
-
"entry": false,
|
|
1375
|
-
"recorded": false,
|
|
1376
|
-
"reason": "reused as split chunk (cache group: default)",
|
|
1377
|
-
"size": 252086,
|
|
1378
|
-
"sizes": {
|
|
1379
|
-
"javascript": 252086
|
|
1380
|
-
},
|
|
1381
|
-
"names": [],
|
|
1382
|
-
"idHints": [],
|
|
1383
|
-
"runtime": [
|
|
1384
|
-
"@openmrs/esm-patient-medications-app",
|
|
1385
|
-
"main"
|
|
1386
|
-
],
|
|
1387
|
-
"files": [
|
|
1388
|
-
"8803.js"
|
|
1389
|
-
],
|
|
1390
|
-
"auxiliaryFiles": [
|
|
1391
|
-
"8803.js.map"
|
|
1392
|
-
],
|
|
1393
|
-
"hash": "2760d13ab6fd16c0",
|
|
1442
|
+
"hash": "00d4b84e9e9678a2",
|
|
1394
1443
|
"childrenByOrder": {}
|
|
1395
1444
|
},
|
|
1396
1445
|
{
|
|
@@ -1398,9 +1447,9 @@
|
|
|
1398
1447
|
"initial": false,
|
|
1399
1448
|
"entry": false,
|
|
1400
1449
|
"recorded": false,
|
|
1401
|
-
"size":
|
|
1450
|
+
"size": 122777,
|
|
1402
1451
|
"sizes": {
|
|
1403
|
-
"javascript":
|
|
1452
|
+
"javascript": 122777
|
|
1404
1453
|
},
|
|
1405
1454
|
"names": [],
|
|
1406
1455
|
"idHints": [],
|
|
@@ -1414,7 +1463,7 @@
|
|
|
1414
1463
|
"auxiliaryFiles": [
|
|
1415
1464
|
"8812.js.map"
|
|
1416
1465
|
],
|
|
1417
|
-
"hash": "
|
|
1466
|
+
"hash": "637a65f7de590f58",
|
|
1418
1467
|
"childrenByOrder": {}
|
|
1419
1468
|
},
|
|
1420
1469
|
{
|
package/dist/routes.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"optionalBackendDependencies":{"providermanagement":{"version":"^2.16.0","feature":{"flagName":"providermanagement-module","label":"Prescribing Clinician Roles","description":"Enable support for configuring prescribing clinicians roles when ordering drugs. Requires the backend providermanagement module."}},"ordertemplates":{"version":"^1.0.2","feature":{"flagName":"ordertemplates-module","label":"Order Templates","description":"Enable support for order templates when ordering drugs. Requires the backend ordertemplates module."}}},"extensions":[{"name":"medications-details-widget","component":"medicationsSummary","slot":"patient-chart-medications-dashboard-slot","meta":{"fullWidth":false}},{"name":"active-medications-widget","component":"activeMedications","slot":"patient-chart-summary-dashboard-slot","meta":{"fullWidth":false},"order":4},{"name":"past-medications-widget","component":"pastMedications","slot":"patient-chart-summary-dashboard-slot","meta":{"fullWidth":false},"order":5},{"name":"medications-summary-dashboard","component":"medicationsDashboardLink","slot":"patient-chart-dashboard-slot","order":3,"meta":{"slot":"patient-chart-medications-dashboard-slot","path":"Medications"}},{"name":"drug-order-panel","component":"drugOrderPanel","slot":"order-basket-slot","order":1},{"name":"drug-order-form","component":"drugOrderForm"},{"name":"drug-search-combobox","component":"drugSearchComboBox"}],"workspaces":[{"name":"
|
|
1
|
+
{"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"optionalBackendDependencies":{"providermanagement":{"version":"^2.16.0","feature":{"flagName":"providermanagement-module","label":"Prescribing Clinician Roles","description":"Enable support for configuring prescribing clinicians roles when ordering drugs. Requires the backend providermanagement module."}},"ordertemplates":{"version":"^1.0.2","feature":{"flagName":"ordertemplates-module","label":"Order Templates","description":"Enable support for order templates when ordering drugs. Requires the backend ordertemplates module."}}},"extensions":[{"name":"medications-details-widget","component":"medicationsSummary","slot":"patient-chart-medications-dashboard-slot","meta":{"fullWidth":false}},{"name":"active-medications-widget","component":"activeMedications","slot":"patient-chart-summary-dashboard-slot","meta":{"fullWidth":false},"order":4},{"name":"past-medications-widget","component":"pastMedications","slot":"patient-chart-summary-dashboard-slot","meta":{"fullWidth":false},"order":5},{"name":"medications-summary-dashboard","component":"medicationsDashboardLink","slot":"patient-chart-dashboard-slot","order":3,"meta":{"slot":"patient-chart-medications-dashboard-slot","path":"Medications"}},{"name":"drug-order-panel","component":"drugOrderPanel","slot":"order-basket-slot","order":1},{"name":"drug-order-form","component":"drugOrderForm"},{"name":"drug-search-combobox","component":"drugSearchComboBox"}],"workspaces":[{"name":"fill-prescription-form","title":"fillPrescription","component":"fillPrescriptionFormWorkspace","type":"order"}],"workspaces2":[{"name":"add-drug-order","component":"addDrugOrderWorkspace","window":"patient-chart-order-basket"}],"version":"11.3.1-pre.9458"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openmrs/esm-patient-medications-app",
|
|
3
|
-
"version": "11.3.1-pre.
|
|
3
|
+
"version": "11.3.1-pre.9458",
|
|
4
4
|
"license": "MPL-2.0",
|
|
5
5
|
"description": "Patient medications microfrontend for the OpenMRS SPA",
|
|
6
6
|
"browser": "dist/openmrs-esm-patient-medications-app.js",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"swr": "2.x"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@openmrs/esm-patient-common-lib": "11.3.1-pre.
|
|
55
|
+
"@openmrs/esm-patient-common-lib": "11.3.1-pre.9458",
|
|
56
56
|
"webpack": "^5.99.9"
|
|
57
57
|
},
|
|
58
58
|
"stableVersion": "11.3.0"
|
|
@@ -16,7 +16,7 @@ const ActiveMedications: React.FC<ActiveMedicationsProps> = ({ patient }) => {
|
|
|
16
16
|
|
|
17
17
|
const { data: activePatientOrders, error, isLoading, isValidating } = useActivePatientOrders(patient?.id);
|
|
18
18
|
|
|
19
|
-
const
|
|
19
|
+
const launchOrderBasket = useLaunchWorkspaceRequiringVisit(patient.id, 'order-basket');
|
|
20
20
|
|
|
21
21
|
if (isLoading) {
|
|
22
22
|
return <DataTableSkeleton role="progressbar" />;
|
|
@@ -40,7 +40,13 @@ const ActiveMedications: React.FC<ActiveMedicationsProps> = ({ patient }) => {
|
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
return
|
|
43
|
+
return (
|
|
44
|
+
<EmptyState
|
|
45
|
+
displayText={displayText}
|
|
46
|
+
headerTitle={headerTitle}
|
|
47
|
+
launchForm={() => launchOrderBasket({}, { encounterUuid: '' })}
|
|
48
|
+
/>
|
|
49
|
+
);
|
|
44
50
|
};
|
|
45
51
|
|
|
46
52
|
export default ActiveMedications;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { launchWorkspace2, openmrsFetch, useSession } from '@openmrs/esm-framework';
|
|
3
3
|
import { screen, within } from '@testing-library/react';
|
|
4
4
|
import userEvent from '@testing-library/user-event';
|
|
5
5
|
import { mockPatientDrugOrdersApiData, mockSessionDataResponse } from '__mocks__';
|
|
@@ -8,9 +8,9 @@ import ActiveMedications from './active-medications.component';
|
|
|
8
8
|
|
|
9
9
|
const mockUseSession = jest.mocked(useSession);
|
|
10
10
|
const mockOpenmrsFetch = openmrsFetch as jest.Mock;
|
|
11
|
-
const
|
|
12
|
-
const mockUseLaunchWorkspaceRequiringVisit = jest.fn().mockImplementation((
|
|
13
|
-
return () =>
|
|
11
|
+
const mockLaunchWorkspace2 = launchWorkspace2 as jest.Mock;
|
|
12
|
+
const mockUseLaunchWorkspaceRequiringVisit = jest.fn().mockImplementation((_, name) => {
|
|
13
|
+
return () => mockLaunchWorkspace2(name);
|
|
14
14
|
});
|
|
15
15
|
mockUseSession.mockReturnValue(mockSessionDataResponse.data);
|
|
16
16
|
|
|
@@ -20,9 +20,6 @@ jest.mock('@openmrs/esm-patient-common-lib', () => {
|
|
|
20
20
|
return {
|
|
21
21
|
...originalModule,
|
|
22
22
|
useLaunchWorkspaceRequiringVisit: (...args) => mockUseLaunchWorkspaceRequiringVisit(...args),
|
|
23
|
-
useWorkspaces: jest.fn(() => {
|
|
24
|
-
return { workspaces: [{ name: 'order-basket' }] };
|
|
25
|
-
}),
|
|
26
23
|
};
|
|
27
24
|
});
|
|
28
25
|
|
|
@@ -105,7 +102,7 @@ test('clicking the Record active medications link opens the order basket form',
|
|
|
105
102
|
await waitForLoadingToFinish();
|
|
106
103
|
const orderLink = screen.getByText(/Record active medications/i);
|
|
107
104
|
await user.click(orderLink);
|
|
108
|
-
expect(
|
|
105
|
+
expect(mockLaunchWorkspace2).toHaveBeenCalledWith('order-basket');
|
|
109
106
|
});
|
|
110
107
|
|
|
111
108
|
test('clicking the Add button opens the order basket form', async () => {
|
|
@@ -117,5 +114,5 @@ test('clicking the Add button opens the order basket form', async () => {
|
|
|
117
114
|
await waitForLoadingToFinish();
|
|
118
115
|
const button = screen.getByRole('button', { name: /Add/i });
|
|
119
116
|
await user.click(button);
|
|
120
|
-
expect(
|
|
117
|
+
expect(mockLaunchWorkspace2).toHaveBeenCalledWith('order-basket');
|
|
121
118
|
});
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import React, { type ComponentProps, useCallback, useState } from 'react';
|
|
2
|
+
import { useTranslation } from 'react-i18next';
|
|
3
|
+
import { Button } from '@carbon/react';
|
|
4
|
+
import {
|
|
5
|
+
ArrowLeftIcon,
|
|
6
|
+
showSnackbar,
|
|
7
|
+
useLayoutType,
|
|
8
|
+
useSession,
|
|
9
|
+
type Visit,
|
|
10
|
+
Workspace2,
|
|
11
|
+
type Workspace2DefinitionProps,
|
|
12
|
+
} from '@openmrs/esm-framework';
|
|
13
|
+
import {
|
|
14
|
+
type DrugOrderBasketItem,
|
|
15
|
+
postOrder,
|
|
16
|
+
showOrderSuccessToast,
|
|
17
|
+
useMutatePatientOrders,
|
|
18
|
+
useOrderBasket,
|
|
19
|
+
} from '@openmrs/esm-patient-common-lib';
|
|
20
|
+
import { careSettingUuid, prepMedicationOrderPostData } from '../api/api';
|
|
21
|
+
import { ordersEqual } from './drug-search/helpers';
|
|
22
|
+
import { DrugOrderForm } from './drug-order-form.component';
|
|
23
|
+
import DrugSearch from './drug-search/drug-search.component';
|
|
24
|
+
import styles from './add-drug-order.scss';
|
|
25
|
+
|
|
26
|
+
export interface AddDrugOrderWorkspaceAdditionalProps {}
|
|
27
|
+
|
|
28
|
+
export interface AddDrugOrderProps {
|
|
29
|
+
initialOrder: DrugOrderBasketItem;
|
|
30
|
+
patient: fhir.Patient;
|
|
31
|
+
patientUuid: string;
|
|
32
|
+
visitContext: Visit;
|
|
33
|
+
closeWorkspace: Workspace2DefinitionProps['closeWorkspace'];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* This workspace displays the drug order form for adding or editing a drug order.
|
|
38
|
+
* On form submission, it saves the drug order to the (frontend) order basket.
|
|
39
|
+
* For a form that submits the drug order directly on submit,
|
|
40
|
+
* see fill-prescription-form.workspace.tsx
|
|
41
|
+
*/
|
|
42
|
+
const AddDrugOrder: React.FC<AddDrugOrderProps> = ({
|
|
43
|
+
initialOrder,
|
|
44
|
+
patient,
|
|
45
|
+
patientUuid,
|
|
46
|
+
visitContext,
|
|
47
|
+
closeWorkspace,
|
|
48
|
+
}) => {
|
|
49
|
+
const { t } = useTranslation();
|
|
50
|
+
const isTablet = useLayoutType() === 'tablet';
|
|
51
|
+
const { orders, setOrders, clearOrders } = useOrderBasket<DrugOrderBasketItem>(
|
|
52
|
+
patient,
|
|
53
|
+
'medications',
|
|
54
|
+
prepMedicationOrderPostData,
|
|
55
|
+
);
|
|
56
|
+
const [currentOrder, setCurrentOrder] = useState(initialOrder);
|
|
57
|
+
const session = useSession();
|
|
58
|
+
const { mutate: mutateOrders } = useMutatePatientOrders(patientUuid);
|
|
59
|
+
|
|
60
|
+
const openOrderForm = useCallback(
|
|
61
|
+
(searchResult: DrugOrderBasketItem) => {
|
|
62
|
+
const existingOrder = orders.find((order) => ordersEqual(order, searchResult));
|
|
63
|
+
if (existingOrder) {
|
|
64
|
+
setCurrentOrder(existingOrder);
|
|
65
|
+
} else {
|
|
66
|
+
setCurrentOrder(searchResult);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
[orders],
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
const saveDrugOrderToBasket = useCallback(
|
|
73
|
+
async (finalizedOrder: DrugOrderBasketItem) => {
|
|
74
|
+
finalizedOrder.careSetting = careSettingUuid;
|
|
75
|
+
finalizedOrder.orderer = session.currentProvider.uuid;
|
|
76
|
+
const newOrders = [...orders];
|
|
77
|
+
const existingOrder = orders.find((order) => ordersEqual(order, finalizedOrder));
|
|
78
|
+
if (existingOrder) {
|
|
79
|
+
newOrders[orders.indexOf(existingOrder)] = {
|
|
80
|
+
...finalizedOrder,
|
|
81
|
+
// Incomplete orders should be marked completed on saving the form
|
|
82
|
+
isOrderIncomplete: false,
|
|
83
|
+
};
|
|
84
|
+
} else {
|
|
85
|
+
newOrders.push(finalizedOrder);
|
|
86
|
+
}
|
|
87
|
+
setOrders(newOrders);
|
|
88
|
+
closeWorkspace({ discardUnsavedChanges: true });
|
|
89
|
+
},
|
|
90
|
+
[orders, setOrders, closeWorkspace, session.currentProvider.uuid],
|
|
91
|
+
);
|
|
92
|
+
|
|
93
|
+
const submitDrugOrderToServer = useCallback(
|
|
94
|
+
async (finalizedOrder: DrugOrderBasketItem) => {
|
|
95
|
+
postOrder(prepMedicationOrderPostData(finalizedOrder, patientUuid, finalizedOrder?.encounterUuid))
|
|
96
|
+
.then(() => {
|
|
97
|
+
clearOrders();
|
|
98
|
+
mutateOrders();
|
|
99
|
+
showOrderSuccessToast(t, [finalizedOrder]);
|
|
100
|
+
closeWorkspace({ discardUnsavedChanges: true });
|
|
101
|
+
})
|
|
102
|
+
.catch((error) => {
|
|
103
|
+
showSnackbar({
|
|
104
|
+
isLowContrast: false,
|
|
105
|
+
kind: 'error',
|
|
106
|
+
title: t('errorSavingDrugOrder', 'Error saving drug order'),
|
|
107
|
+
subtitle: error.message,
|
|
108
|
+
});
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
[clearOrders, closeWorkspace, mutateOrders, patientUuid, t],
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
const closeModifyOrderWorkspace = useCallback(() => {
|
|
115
|
+
clearOrders();
|
|
116
|
+
closeWorkspace();
|
|
117
|
+
}, [clearOrders, closeWorkspace]);
|
|
118
|
+
|
|
119
|
+
const workspaceTitle =
|
|
120
|
+
currentOrder?.action == 'REVISE'
|
|
121
|
+
? t('editDrugOrderWorkspaceTitle', 'Edit drug order')
|
|
122
|
+
: t('addDrugOrderWorkspaceTitle', 'Add drug order');
|
|
123
|
+
|
|
124
|
+
if (!currentOrder) {
|
|
125
|
+
return (
|
|
126
|
+
<Workspace2 title={workspaceTitle}>
|
|
127
|
+
{!isTablet && (
|
|
128
|
+
<div className={styles.backButton}>
|
|
129
|
+
<Button
|
|
130
|
+
iconDescription="Return to order basket"
|
|
131
|
+
kind="ghost"
|
|
132
|
+
onClick={() => closeWorkspace()}
|
|
133
|
+
renderIcon={(props: ComponentProps<typeof ArrowLeftIcon>) => <ArrowLeftIcon size={24} {...props} />}
|
|
134
|
+
size="sm"
|
|
135
|
+
>
|
|
136
|
+
<span>{t('backToOrderBasket', 'Back to order basket')}</span>
|
|
137
|
+
</Button>
|
|
138
|
+
</div>
|
|
139
|
+
)}
|
|
140
|
+
<DrugSearch
|
|
141
|
+
patient={patient}
|
|
142
|
+
visit={visitContext}
|
|
143
|
+
closeWorkspace={closeWorkspace}
|
|
144
|
+
openOrderForm={openOrderForm}
|
|
145
|
+
/>
|
|
146
|
+
</Workspace2>
|
|
147
|
+
);
|
|
148
|
+
} else {
|
|
149
|
+
return (
|
|
150
|
+
<DrugOrderForm
|
|
151
|
+
initialOrderBasketItem={currentOrder}
|
|
152
|
+
onSave={currentOrder?.action == 'REVISE' ? submitDrugOrderToServer : saveDrugOrderToBasket}
|
|
153
|
+
onCancel={currentOrder?.action == 'REVISE' ? closeModifyOrderWorkspace : closeWorkspace}
|
|
154
|
+
patient={patient}
|
|
155
|
+
visitContext={visitContext}
|
|
156
|
+
saveButtonText={t('saveOrder', 'Save order')}
|
|
157
|
+
allowSelectingPrescribingClinician={false}
|
|
158
|
+
allowSelectingDrug={false}
|
|
159
|
+
workspaceTitle={workspaceTitle}
|
|
160
|
+
/>
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export default AddDrugOrder;
|