@ampath/esm-laboratory-app 1.3.0-next.2 → 1.3.0-next.21

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.
Files changed (154) hide show
  1. package/README.md +2 -1
  2. package/dist/1119.js +1 -1
  3. package/dist/1197.js +1 -1
  4. package/dist/1222.js +1 -1
  5. package/dist/1222.js.map +1 -1
  6. package/dist/1243.js +1 -1
  7. package/dist/1243.js.map +1 -1
  8. package/dist/1270.js +1 -0
  9. package/dist/1270.js.map +1 -0
  10. package/dist/2146.js +1 -1
  11. package/dist/2690.js +1 -1
  12. package/dist/3099.js +1 -1
  13. package/dist/312.js +1 -1
  14. package/dist/312.js.map +1 -1
  15. package/dist/3169.js +2 -0
  16. package/dist/3169.js.map +1 -0
  17. package/dist/3352.js +1 -1
  18. package/dist/3352.js.map +1 -1
  19. package/dist/3535.js +1 -1
  20. package/dist/3535.js.map +1 -1
  21. package/dist/3584.js +1 -1
  22. package/dist/3872.js +1 -0
  23. package/dist/3872.js.map +1 -0
  24. package/dist/4044.js +1 -1
  25. package/dist/4044.js.map +1 -1
  26. package/dist/4055.js +1 -1
  27. package/dist/4132.js +1 -1
  28. package/dist/4300.js +1 -1
  29. package/dist/4335.js +1 -1
  30. package/dist/439.js +1 -1
  31. package/dist/4618.js +1 -1
  32. package/dist/4622.js +1 -0
  33. package/dist/4622.js.map +1 -0
  34. package/dist/4652.js +1 -1
  35. package/dist/4748.js +1 -1
  36. package/dist/4748.js.map +1 -1
  37. package/dist/4920.js +1 -1
  38. package/dist/4920.js.map +1 -1
  39. package/dist/4944.js +1 -1
  40. package/dist/5088.js +1 -1
  41. package/dist/5088.js.map +1 -1
  42. package/dist/5173.js +1 -1
  43. package/dist/5241.js +1 -1
  44. package/dist/53.js +1 -1
  45. package/dist/53.js.map +1 -1
  46. package/dist/533.js +1 -0
  47. package/dist/533.js.map +1 -0
  48. package/dist/5348.js +1 -1
  49. package/dist/5348.js.map +1 -1
  50. package/dist/5380.js +1 -1
  51. package/dist/5380.js.map +1 -1
  52. package/dist/5442.js +1 -1
  53. package/dist/5661.js +1 -1
  54. package/dist/5780.js +1 -1
  55. package/dist/5780.js.map +1 -1
  56. package/dist/6022.js +1 -1
  57. package/dist/611.js +1 -0
  58. package/dist/611.js.map +1 -0
  59. package/dist/6468.js +1 -1
  60. package/dist/6589.js +1 -1
  61. package/dist/6679.js +1 -1
  62. package/dist/6753.js +1 -1
  63. package/dist/6753.js.map +1 -1
  64. package/dist/6777.js +1 -1
  65. package/dist/6777.js.map +1 -1
  66. package/dist/679.js +1 -1
  67. package/dist/679.js.map +1 -1
  68. package/dist/6840.js +1 -1
  69. package/dist/6859.js +1 -1
  70. package/dist/7044.js +1 -0
  71. package/dist/7044.js.map +1 -0
  72. package/dist/7097.js +1 -1
  73. package/dist/7129.js +1 -1
  74. package/dist/7129.js.map +1 -1
  75. package/dist/7159.js +1 -1
  76. package/dist/723.js +1 -1
  77. package/dist/7617.js +1 -1
  78. package/dist/7689.js +1 -0
  79. package/dist/7689.js.map +1 -0
  80. package/dist/791.js +1 -1
  81. package/dist/791.js.map +1 -1
  82. package/dist/795.js +1 -1
  83. package/dist/8163.js +1 -1
  84. package/dist/8349.js +1 -1
  85. package/dist/8371.js +1 -1
  86. package/dist/841.js +1 -1
  87. package/dist/841.js.map +1 -1
  88. package/dist/8618.js +1 -1
  89. package/dist/8764.js +2 -0
  90. package/dist/8764.js.map +1 -0
  91. package/dist/8898.js +1 -1
  92. package/dist/8898.js.map +1 -1
  93. package/dist/890.js +1 -1
  94. package/dist/9214.js +1 -1
  95. package/dist/9321.js +1 -1
  96. package/dist/9321.js.map +1 -1
  97. package/dist/9452.js +1 -1
  98. package/dist/9452.js.map +1 -1
  99. package/dist/9569.js +1 -1
  100. package/dist/9695.js +1 -1
  101. package/dist/9695.js.map +1 -1
  102. package/dist/986.js +1 -1
  103. package/dist/9879.js +1 -1
  104. package/dist/9900.js +1 -1
  105. package/dist/9910.js +1 -1
  106. package/dist/9910.js.map +1 -1
  107. package/dist/9913.js +1 -1
  108. package/dist/main.js +1 -1
  109. package/dist/main.js.map +1 -1
  110. package/dist/openmrs-esm-laboratory-app.js +1 -1
  111. package/dist/openmrs-esm-laboratory-app.js.buildmanifest.json +274 -172
  112. package/dist/openmrs-esm-laboratory-app.js.map +1 -1
  113. package/dist/routes.json +1 -1
  114. package/package.json +3 -1
  115. package/src/bill/bill.resource.ts +60 -0
  116. package/src/components/lab-results/_interpretation.scss +67 -0
  117. package/src/components/lab-results/lab-results.component.tsx +188 -0
  118. package/src/components/lab-results/lab-results.resource.ts +0 -0
  119. package/src/components/lab-results/lab-results.scss +39 -0
  120. package/src/components/lab-results/utils.ts +99 -0
  121. package/src/components/orders-table/list-order-details.component.tsx +9 -5
  122. package/src/components/orders-table/ordered-actions-extension-slot/ordered-actions-extension-slot.tsx +84 -0
  123. package/src/components/orders-table/orders-data-table.component.tsx +59 -12
  124. package/src/components/orders-table/orders-data-table.test.tsx +2 -2
  125. package/src/components/orders-table/priority-tag.component.tsx +60 -0
  126. package/src/components/orders-table/priority-tag.scss +12 -0
  127. package/src/config-schema.ts +64 -7
  128. package/src/constants.ts +1 -1
  129. package/src/index.ts +8 -1
  130. package/src/lab-tabs/actions/add-lab-request-results-action.component.tsx +22 -4
  131. package/src/lab-tabs/actions/amend-lab-results-action.component.tsx +3 -1
  132. package/src/lab-tabs/actions/generate-bill-request-action.component.tsx +46 -0
  133. package/src/lab-tabs/actions/pickup-lab-request-action.component.tsx +6 -4
  134. package/src/lab-tabs/data-table-extensions/pending-review-lab-request-table.extension.tsx +1 -1
  135. package/src/lab-tabs/modals/approval-lab-results-modal.component.tsx +79 -29
  136. package/src/lab-tabs/modals/approval-lab-results-modal.scss +9 -0
  137. package/src/lab-tiles/pending-review-lab-results-tile.component.tsx +1 -1
  138. package/src/laboratory.resource.ts +390 -7
  139. package/src/routes.json +17 -2
  140. package/src/types.ts +183 -1
  141. package/src/utils/utils.ts +35 -0
  142. package/translations/en.json +12 -0
  143. package/dist/3106.js +0 -1
  144. package/dist/3106.js.map +0 -1
  145. package/dist/4535.js +0 -1
  146. package/dist/4535.js.map +0 -1
  147. package/dist/5048.js +0 -2
  148. package/dist/5048.js.map +0 -1
  149. package/dist/5339.js +0 -1
  150. package/dist/5339.js.map +0 -1
  151. package/dist/8627.js +0 -2
  152. package/dist/8627.js.map +0 -1
  153. /package/dist/{8627.js.LICENSE.txt → 3169.js.LICENSE.txt} +0 -0
  154. /package/dist/{5048.js.LICENSE.txt → 8764.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-laboratory-app.js","mappings":"sDACIA,EADAC,ECAAC,EACAC,ECDAC,EAIAC,EAIAC,EAIAC,EAIAC,EAGAC,EAIAC,EAuBAC,EAMAC,EAUAC,EAMAC,EAGAC,EAQAC,EAqBAC,EAKAC,EAgBAC,EACAC,EASAC,EAcAC,E,kBCjJJ,IAAIC,EAAY,CACf,UAAW,IACHC,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,IAAKD,EAAoBC,EAAE,QAAQC,KAAK,IAAM,IAASF,EAAoB,QAG1MjB,EAAM,CAACoB,EAAQC,KAClBJ,EAAoBK,EAAID,EACxBA,EACCJ,EAAoBM,EAAET,EAAWM,GAC9BN,EAAUM,KACVL,QAAQS,UAAUL,KAAK,KACxB,MAAM,IAAIM,MAAM,WAAaL,EAAS,oCAGzCH,EAAoBK,OAAII,EACjBL,GAEJf,EAAO,CAACqB,EAAYC,KACvB,GAAKX,EAAoBY,EAAzB,CACA,IAAIC,EAAO,UACPC,EAAWd,EAAoBY,EAAEC,GACrC,GAAGC,GAAYA,IAAaJ,EAAY,MAAM,IAAIF,MAAM,mGAExD,OADAR,EAAoBY,EAAEC,GAAQH,EACvBV,EAAoBe,EAAEF,EAAMF,EALD,GASnCX,EAAoBgB,EAAEC,EAAS,CAC9BlC,IAAK,IAAM,EACXM,KAAM,IAAM,G,GC5BT6B,EAA2B,CAAC,EAGhC,SAASlB,EAAoBmB,GAE5B,IAAIC,EAAeF,EAAyBC,GAC5C,QAAqBV,IAAjBW,EACH,OAAOA,EAAaH,QAGrB,IAAId,EAASe,EAAyBC,GAAY,CACjDE,GAAIF,EAEJF,QAAS,CAAC,GAOX,OAHAK,EAAoBH,GAAUI,KAAKpB,EAAOc,QAASd,EAAQA,EAAOc,QAASjB,GAGpEG,EAAOc,OACf,CAGAjB,EAAoBwB,EAAIF,EAGxBtB,EAAoByB,EAAIP,EC5BxBlB,EAAoB0B,KAAO,CAAC,ECC5B1B,EAAoB2B,EAAKxB,IACxB,IAAIyB,EAASzB,GAAUA,EAAO0B,WAC7B,IAAO1B,EAAiB,QACxB,IAAM,EAEP,OADAH,EAAoBgB,EAAEY,EAAQ,CAAEE,EAAGF,IAC5BA,GNNJrD,EAAWwD,OAAOC,eAAkBC,GAASF,OAAOC,eAAeC,GAASA,GAASA,EAAa,UAQtGjC,EAAoBkC,EAAI,SAASC,EAAOC,GAEvC,GADU,EAAPA,IAAUD,EAAQE,KAAKF,IAChB,EAAPC,EAAU,OAAOD,EACpB,GAAoB,iBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPC,GAAaD,EAAMN,WAAY,OAAOM,EAC1C,GAAW,GAAPC,GAAoC,mBAAfD,EAAMjC,KAAqB,OAAOiC,CAC5D,CACA,IAAIG,EAAKP,OAAOQ,OAAO,MACvBvC,EAAoBwC,EAAEF,GACtB,IAAIG,EAAM,CAAC,EACXnE,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAImE,EAAiB,EAAPN,GAAYD,EAAyB,iBAAXO,KAAyBpE,EAAeqE,QAAQD,GAAUA,EAAUnE,EAASmE,GACxHX,OAAOa,oBAAoBF,GAASG,QAASC,GAASL,EAAIK,GAAO,IAAOX,EAAMW,IAI/E,OAFAL,EAAa,QAAI,IAAM,EACvBzC,EAAoBgB,EAAEsB,EAAIG,GACnBH,CACR,EOxBAtC,EAAoBgB,EAAI,CAACC,EAAS8B,KACjC,IAAI,IAAID,KAAOC,EACX/C,EAAoBM,EAAEyC,EAAYD,KAAS9C,EAAoBM,EAAEW,EAAS6B,IAC5Ef,OAAOiB,eAAe/B,EAAS6B,EAAK,CAAEG,YAAY,EAAMlE,IAAKgE,EAAWD,MCJ3E9C,EAAoBkD,EAAI,CAAC,EAGzBlD,EAAoBC,EAAKkD,GACjBrD,QAAQC,IAAIgC,OAAOqB,KAAKpD,EAAoBkD,GAAGG,OAAO,CAACC,EAAUR,KACvE9C,EAAoBkD,EAAEJ,GAAKK,EAASG,GAC7BA,GACL,KCNJtD,EAAoBuD,EAAKJ,GAEZA,EAAU,MCHvBnD,EAAoBwD,EAAI,WACvB,GAA0B,iBAAfC,WAAyB,OAAOA,WAC3C,IACC,OAAOpB,MAAQ,IAAIqB,SAAS,cAAb,EAChB,CAAE,MAAOzD,GACR,GAAsB,iBAAX0D,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxB3D,EAAoBM,EAAI,CAAC2B,EAAK2B,IAAU7B,OAAO8B,UAAUC,eAAevC,KAAKU,EAAK2B,GVA9EpF,EAAa,CAAC,EACdC,EAAoB,8BAExBuB,EAAoB+D,EAAI,CAACC,EAAKC,EAAMnB,EAAKK,KACxC,GAAG3E,EAAWwF,GAAQxF,EAAWwF,GAAKE,KAAKD,OAA3C,CACA,IAAIE,EAAQC,EACZ,QAAW3D,IAARqC,EAEF,IADA,IAAIuB,EAAUC,SAASC,qBAAqB,UACpCC,EAAI,EAAGA,EAAIH,EAAQI,OAAQD,IAAK,CACvC,IAAIE,EAAIL,EAAQG,GAChB,GAAGE,EAAEC,aAAa,QAAUX,GAAOU,EAAEC,aAAa,iBAAmBlG,EAAoBqE,EAAK,CAAEqB,EAASO,EAAG,KAAO,CACpH,CAEGP,IACHC,GAAa,GACbD,EAASG,SAASM,cAAc,WAEzBC,QAAU,QACjBV,EAAOW,QAAU,IACb9E,EAAoB+E,IACvBZ,EAAOa,aAAa,QAAShF,EAAoB+E,IAElDZ,EAAOa,aAAa,eAAgBvG,EAAoBqE,GAExDqB,EAAOc,IAAMjB,GAEdxF,EAAWwF,GAAO,CAACC,GACnB,IAAIiB,EAAmB,CAACC,EAAMC,KAE7BjB,EAAOkB,QAAUlB,EAAOmB,OAAS,KACjCC,aAAaT,GACb,IAAIU,EAAUhH,EAAWwF,GAIzB,UAHOxF,EAAWwF,GAClBG,EAAOsB,YAActB,EAAOsB,WAAWC,YAAYvB,GACnDqB,GAAWA,EAAQ3C,QAAS8C,GAAQA,EAAGP,IACpCD,EAAM,OAAOA,EAAKC,IAElBN,EAAUc,WAAWV,EAAiBW,KAAK,UAAMpF,EAAW,CAAEqF,KAAM,UAAWC,OAAQ5B,IAAW,MACtGA,EAAOkB,QAAUH,EAAiBW,KAAK,KAAM1B,EAAOkB,SACpDlB,EAAOmB,OAASJ,EAAiBW,KAAK,KAAM1B,EAAOmB,QACnDlB,GAAcE,SAAS0B,KAAKC,YAAY9B,EApCkB,GWH3DnE,EAAoBwC,EAAKvB,IACH,oBAAXiF,QAA0BA,OAAOC,aAC1CpE,OAAOiB,eAAe/B,EAASiF,OAAOC,YAAa,CAAEhE,MAAO,WAE7DJ,OAAOiB,eAAe/B,EAAS,aAAc,CAAEkB,OAAO,K,MCLvDnC,EAAoBY,EAAI,CAAC,EACzB,IAAIwF,EAAe,CAAC,EAChBC,EAAa,CAAC,EAClBrG,EAAoBe,EAAI,CAACF,EAAMF,KAC1BA,IAAWA,EAAY,IAE3B,IAAI2F,EAAYD,EAAWxF,GAE3B,GADIyF,IAAWA,EAAYD,EAAWxF,GAAQ,CAAC,KAC5CF,EAAUgC,QAAQ2D,IAAc,GAAnC,CAGA,GAFA3F,EAAUuD,KAAKoC,GAEZF,EAAavF,GAAO,OAAOuF,EAAavF,GAEvCb,EAAoBM,EAAEN,EAAoBY,EAAGC,KAAOb,EAAoBY,EAAEC,GAAQ,CAAC,GAEvF,IAAI0F,EAAQvG,EAAoBY,EAAEC,GAI9B2F,EAAa,6BACbC,EAAW,CAAC5F,EAAM6F,EAASC,EAASC,KACvC,IAAIC,EAAWN,EAAM1F,GAAQ0F,EAAM1F,IAAS,CAAC,EACzCiG,EAAgBD,EAASH,KACzBI,IAAmBA,EAAcC,UAAYH,IAAUE,EAAcF,MAAQA,EAAQJ,EAAaM,EAAcE,SAAQH,EAASH,GAAW,CAAE3H,IAAK4H,EAASK,KAAMR,EAAYI,QAASA,KAaxLtD,EAAW,GAWf,MATM,YADCzC,IAEL4F,EAAS,yBAA0B,iBAAkB,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,QAC1TyG,EAAS,QAAS,UAAW,IAAOzG,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,QACvGyG,EAAS,gBAAiB,SAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,KAAMD,EAAoBC,EAAE,QAAQC,KAAK,IAAM,IAAQF,EAAoB,OACtLyG,EAAS,mBAAoB,SAAU,IAAO3G,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,KAAK,IAAM,IAAQF,EAAoB,QAC1LyG,EAAS,QAAS,SAAU,IAAOzG,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,SAKjGoG,EAAavF,GADhByC,EAASmB,OACe3E,QAAQC,IAAIuD,GAAUpD,KAAK,IAAOkG,EAAavF,GAAQ,GADlC,CAvCL,E,WCR7C,IAAIoG,EACAjH,EAAoBwD,EAAE0D,gBAAeD,EAAYjH,EAAoBwD,EAAE2D,SAAW,IACtF,IAAI7C,EAAWtE,EAAoBwD,EAAEc,SACrC,IAAK2C,GAAa3C,IACbA,EAAS8C,eAAkE,WAAjD9C,EAAS8C,cAAcC,QAAQC,gBAC5DL,EAAY3C,EAAS8C,cAAcnC,MAC/BgC,GAAW,CACf,IAAI5C,EAAUC,EAASC,qBAAqB,UAC5C,GAAGF,EAAQI,OAEV,IADA,IAAID,EAAIH,EAAQI,OAAS,EAClBD,GAAK,KAAOyC,IAAc,aAAaM,KAAKN,KAAaA,EAAY5C,EAAQG,KAAKS,GAE3F,CAID,IAAKgC,EAAW,MAAM,IAAIzG,MAAM,yDAChCyG,EAAYA,EAAUO,QAAQ,SAAU,IAAIA,QAAQ,OAAQ,IAAIA,QAAQ,QAAS,IAAIA,QAAQ,YAAa,KAC1GxH,EAAoByH,EAAIR,C,KZlBpBvI,EAAgBgJ,IAEnB,IAAID,EAAEA,GAAWA,EAAEE,MAAM,KAAKC,IAAKH,IAAWA,GAAGA,GAAGA,EAAEA,GAAM9F,EAAE,sCAAsCkG,KAAKH,GAAKlF,EAAEb,EAAE,GAAG8F,EAAE9F,EAAE,IAAI,GAAG,OAAOA,EAAE,KAAKa,EAAEiC,SAASjC,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMA,EAAE,KAAKa,EAAE0B,KAAK,IAAI1B,EAAE0B,KAAK4D,MAAMtF,EAAEiF,EAAE9F,EAAE,MAAMa,GAE1N7D,EAAY,CAACmD,EAAGiG,KAEnBjG,EAAEpD,EAAaoD,GAAGiG,EAAErJ,EAAaqJ,GAAG,IAAI,IAAIvF,EAAE,IAAI,CAAC,GAAGA,GAAGV,EAAE2C,OAAO,OAAOjC,EAAEuF,EAAEtD,QAAQ,aAAasD,EAAEvF,IAAI,GAAG,IAAIvC,EAAE6B,EAAEU,GAAGb,UAAU1B,GAAG,GAAG,GAAGuC,GAAGuF,EAAEtD,OAAO,MAAM,KAAK9C,EAAE,IAAIO,EAAE6F,EAAEvF,GAAGU,UAAUhB,GAAG,GAAG,GAAGP,GAAGuB,EAAE,MAAM,KAAKvB,GAAG,KAAKuB,GAAI,KAAKA,GAAG,KAAKvB,EAAG,GAAG,KAAKA,GAAG,KAAKA,GAAG1B,GAAGiC,EAAE,OAAOjC,EAAEiC,EAAEM,GAAG,GAE/Q5D,EAAiBoJ,IAEpB,IAAIxF,EAAEwF,EAAM,GAAGrG,EAAE,GAAG,GAAG,IAAIqG,EAAMvD,OAAO,MAAM,IAAI,GAAGjC,EAAE,GAAG,CAACb,GAAG,GAAGa,EAAE,MAAM,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAI,GAAGA,EAAE,IAAIA,EAAE,EAAE,IAAI,KAAK,IAAI,IAAIvC,EAAE,EAAE6B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAK7B,IAAI0B,GAAG,aAAaO,EAAE8F,EAAMlG,KAAK,GAAG,KAAK7B,EAAE,EAAE,IAAI,KAAKA,EAAE,EAAEiC,GAAG,OAAOP,CAAC,CAAC,IAAI6B,EAAE,GAAG,IAAI1B,EAAE,EAAEA,EAAEkG,EAAMvD,OAAO3C,IAAI,CAAC,IAAII,EAAE8F,EAAMlG,GAAG0B,EAAEU,KAAK,IAAIhC,EAAE,OAAO5B,IAAI,IAAI,IAAI4B,EAAE,IAAI5B,IAAI,OAAOA,IAAI,IAAI,IAAI4B,EAAEsB,EAAEyE,MAAM,IAAIzE,EAAEyE,MAAMrJ,EAAcsD,GAAG,CAAC,OAAO5B,IAAI,SAASA,IAAI,OAAOkD,EAAEyE,MAAMT,QAAQ,aAAa,KAAK,GAElb3I,EAAU,CAACmJ,EAAOtB,KAErB,GAAG,KAAKsB,EAAM,CAACtB,EAAQhI,EAAagI,GAAS,IAAIzG,EAAE+H,EAAM,GAAGxF,EAAEvC,EAAE,EAAEuC,IAAIvC,GAAGA,EAAE,GAAG,IAAI,IAAI0B,EAAE,EAAE6C,EAAE,EAAE1C,GAAE,GAAI0C,IAAI7C,IAAI,CAAC,IAAIuB,EAAEwB,EAAElB,EAAEgB,EAAEwD,EAAMvD,eAAeuD,EAAMxD,IAAI,GAAG,GAAG,GAAG7C,GAAG+E,EAAQjC,QAAQ,MAAMC,UAAUxB,EAAEwD,EAAQ/E,KAAK,IAAI,OAAOG,IAAI,KAAK0B,EAAEgB,EAAEvE,IAAIuC,EAAE,IAAIgB,GAAGhB,GAAG,GAAG,KAAKkC,GAAG,IAAI5C,GAAG,KAAK0B,EAAE,OAAM,OAAQ,GAAG1B,EAAE,GAAG0B,GAAGkB,EAAE,GAAGF,GAAGvE,GAAG,GAAGiD,GAAG8E,EAAMxD,GAAG,OAAM,MAAO,CAAC,GAAGhC,EAAEU,EAAE8E,EAAMxD,GAAGtB,EAAE8E,EAAMxD,GAAG,OAAM,EAAGtB,GAAG8E,EAAMxD,KAAK1C,GAAE,EAAG,MAAM,GAAG,KAAK0B,GAAG,KAAKA,EAAE,CAAC,GAAGhB,GAAGgC,GAAGvE,EAAE,OAAM,EAAG6B,GAAE,EAAG0C,GAAG,KAAK,CAAC,GAAGA,GAAGvE,GAAGyE,EAAElB,GAAGhB,EAAE,OAAM,EAAGV,GAAE,CAAE,KAAK,KAAK0B,GAAG,KAAKA,IAAI1B,GAAE,EAAG0C,IAAI,CAAC,CAAC,IAAItC,EAAE,GAAG5B,EAAE4B,EAAE+F,IAAIpC,KAAK3D,GAAG,IAAIP,EAAE,EAAEA,EAAEqG,EAAMvD,OAAO9C,IAAI,CAAC,IAAI4B,EAAEyE,EAAMrG,GAAGO,EAAEgC,KAAK,GAAGX,EAAEjD,IAAIA,IAAI,GAAGiD,EAAEjD,IAAIA,IAAIiD,EAAE1E,EAAQ0E,EAAEmD,IAAUpG,IAAI,CAAC,QAAQA,KAE1oBxB,EAAS,CAACyH,EAAOzD,IACbyD,GAASvG,EAAoBM,EAAEiG,EAAOzD,GAE1C/D,EAAOmJ,IACVA,EAAMnB,OAAS,EACRmB,EAAMnJ,OAEVC,EAAa6H,GACT9E,OAAOqB,KAAKyD,GAAUxD,OAAO,CAAC8E,EAAUzB,KACzCG,EAASH,GAASE,QACrBuB,EAASzB,GAAWG,EAASH,IAEvByB,GACN,CAAC,GAiBDlJ,EAA0B,CAACsH,EAAOzD,EAAK8D,KAC1C,IAAIC,EAAWD,EAAQ5H,EAAUuH,EAAMzD,IAAQyD,EAAMzD,GACrD,OAAOf,OAAOqB,KAAKyD,GAAUxD,OAAO,CAACvB,EAAGiG,KAC/BjG,IAAO+E,EAAS/E,GAAGiF,QAAUpI,EAAUmD,EAAGiG,GAAMA,EAAIjG,EAC1D,IAEA5C,EAAoC,CAACqH,EAAOzD,EAAK4D,EAAS0B,IACtD,uBAAyB1B,EAAU,UAAYA,GAAWH,EAAMzD,GAAK4D,GAASM,MAAQ,+BAAiClE,EAAM,cAAgBlE,EAAcwJ,GAAmB,IASlLjJ,EAAQkJ,IACX,MAAM,IAAI7H,MAAM6H,IAKbjJ,EAAsBiJ,IACF,oBAAZC,SAA2BA,QAAQlJ,MAAMkJ,QAAQlJ,KAAKiJ,IAU9D/I,EAAc,CAACiJ,EAAWzF,EAAK0F,IAC3BA,EAAWA,IAfE,EAACD,EAAWzF,IACzB3D,EAAK,iBAAmB2D,EAAM,kCAAoCyF,GAc1CE,CAAeF,EAAWzF,GAoBtDvD,GA7BAF,EAAQsG,GAAO,SAAU4C,EAAWzF,EAAK8D,EAAOnF,EAAGT,GACtD,IAAI0H,EAAU1I,EAAoBe,EAAEwH,GACpC,OAAIG,GAAWA,EAAQxI,OAAS0G,EACxB8B,EAAQxI,KAAKyF,EAAGE,KAAKF,EAAI4C,EAAWvI,EAAoBY,EAAE2H,GAAYzF,GAAK,EAAOrB,EAAGT,IAEtF2E,EAAG4C,EAAWvI,EAAoBY,EAAE2H,GAAYzF,EAAK8D,EAAOnF,EAAGT,EACtE,GAuBsC,CAACuH,EAAWhC,EAAOzD,EAAK8D,EAAO4B,KACrE,IAAK1J,EAAOyH,EAAOzD,GAAM,OAAOxD,EAAYiJ,EAAWzF,EAAK0F,GAC5D,IAAI9B,EAAUzH,EAAwBsH,EAAOzD,EAAK8D,GAClD,OAAO7H,EAAIwH,EAAMzD,GAAK4D,MAEnBlH,EAAqCH,EAAK,CAACkJ,EAAWhC,EAAOzD,EAAK8D,EAAOwB,EAAiBI,KAC7F,IAAK1J,EAAOyH,EAAOzD,GAAM,OAAOxD,EAAYiJ,EAAWzF,EAAK0F,GAC5D,IAAI9B,EAAUzH,EAAwBsH,EAAOzD,EAAK8D,GAIlD,OAHK/H,EAAQuJ,EAAiB1B,IAC7BtH,EAAKF,EAAkCqH,EAAOzD,EAAK4D,EAAS0B,IAEtDrJ,EAAIwH,EAAMzD,GAAK4D,MAUnBjH,EAAmB,CAAC,EACpBC,EAAyB,CAC5B,KAAM,IAAOF,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,IAAK,IAAOQ,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,QAC/I,IAAK,IAAOR,EAAqB,UAAW,SAAS,EAAO,CAAC,EAAE,GAAI,IAAOQ,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,QAC7I,KAAM,IAAOR,EAAqB,UAAW,iBAAiB,EAAO,CAAC,EAAE,IAAK,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,OAAOC,KAAK,IAAM,IAAQF,EAAoB,OAClM,KAAM,IAAOR,EAAqB,UAAW,0BAA0B,EAAO,CAAC,EAAE,GAAI,IAAOM,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,KAAK,IAAM,IAAQF,EAAoB,QACxO,KAAM,IAAOR,EAAqB,UAAW,oBAAoB,EAAO,CAAC,EAAE,GAAI,IAAOQ,EAAoBC,EAAE,MAAMC,KAAK,IAAM,IAAQF,EAAoB,QACzJ,KAAM,IAAOT,EAAc,UAAW,uCAAuC,EAAO,IAAOO,QAAQC,IAAI,CAACC,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,MAAOD,EAAoBC,EAAE,QAAQC,KAAK,IAAM,IAAQF,EAAoB,SAGpOL,EAAe,CAClB,GAAM,CACL,IACA,KACA,KACA,MAED,KAAQ,CACP,MAED,KAAQ,CACP,OAGEC,EAAwB,CAAC,EAC7BI,EAAoBkD,EAAEyF,SAAW,CAACxF,EAASG,KACvCtD,EAAoBM,EAAEX,EAAcwD,IACtCxD,EAAawD,GAASN,QAASxB,IAC9B,GAAGrB,EAAoBM,EAAEb,EAAkB4B,GAAK,OAAOiC,EAASY,KAAKzE,EAAiB4B,IACtF,IAAIzB,EAAsByB,GAAK,CAC/B,IAAIuH,EAAajC,IAChBlH,EAAiB4B,GAAM,EACvBrB,EAAoBwB,EAAEH,GAAOlB,WACrBH,EAAoByB,EAAEJ,GAC7BlB,EAAOc,QAAU0F,MAGnB/G,EAAsByB,IAAM,EAC5B,IAAIwH,EAAWC,WACPrJ,EAAiB4B,GACxBrB,EAAoBwB,EAAEH,GAAOlB,IAE5B,aADOH,EAAoByB,EAAEJ,GACvByH,IAGR,IACC,IAAIJ,EAAUhJ,EAAuB2B,KAClCqH,EAAQxI,KACVoD,EAASY,KAAKzE,EAAiB4B,GAAMqH,EAAQxI,KAAK0I,GAAkB,MAAEC,IAChED,EAAUF,EAClB,CAAE,MAAMzI,GAAK4I,EAAQ5I,EAAI,CACzB,K,MavKH,IAAI8I,EAAkB,CACrB,KAAM,GAGP/I,EAAoBkD,EAAE8F,EAAI,CAAC7F,EAASG,KAElC,IAAI2F,EAAqBjJ,EAAoBM,EAAEyI,EAAiB5F,GAAW4F,EAAgB5F,QAAW1C,EACtG,GAA0B,IAAvBwI,EAGF,GAAGA,EACF3F,EAASY,KAAK+E,EAAmB,SAEjC,GAAI,cAAc1B,KAAKpE,GAyBhB4F,EAAgB5F,GAAW,MAzBD,CAEhC,IAAIuF,EAAU,IAAI5I,QAAQ,CAACS,EAAS2I,IAAYD,EAAqBF,EAAgB5F,GAAW,CAAC5C,EAAS2I,IAC1G5F,EAASY,KAAK+E,EAAmB,GAAKP,GAGtC,IAAI1E,EAAMhE,EAAoByH,EAAIzH,EAAoBuD,EAAEJ,GAEpD2F,EAAQ,IAAItI,MAgBhBR,EAAoB+D,EAAEC,EAfFoB,IACnB,GAAGpF,EAAoBM,EAAEyI,EAAiB5F,KAEf,KAD1B8F,EAAqBF,EAAgB5F,MACR4F,EAAgB5F,QAAW1C,GACrDwI,GAAoB,CACtB,IAAIE,EAAY/D,IAAyB,SAAfA,EAAMU,KAAkB,UAAYV,EAAMU,MAChEsD,EAAUhE,GAASA,EAAMW,QAAUX,EAAMW,OAAOd,IACpD6D,EAAMO,QAAU,iBAAmBlG,EAAU,cAAgBgG,EAAY,KAAOC,EAAU,IAC1FN,EAAMjI,KAAO,iBACbiI,EAAMhD,KAAOqD,EACbL,EAAMQ,QAAUF,EAChBH,EAAmB,GAAGH,EACvB,GAGuC,SAAW3F,EAASA,EAC9D,GAgBJ,IAAIoG,EAAuB,CAACC,EAA4BC,KACvD,IAGItI,EAAUgC,GAHTuG,EAAUC,EAAaC,GAAWH,EAGhBjF,EAAI,EAC3B,GAAGkF,EAASG,KAAMxI,GAAgC,IAAxB0H,EAAgB1H,IAAa,CACtD,IAAIF,KAAYwI,EACZ3J,EAAoBM,EAAEqJ,EAAaxI,KACrCnB,EAAoBwB,EAAEL,GAAYwI,EAAYxI,IAG7CyI,GAAsBA,EAAQ5J,EAClC,CAEA,IADGwJ,GAA4BA,EAA2BC,GACrDjF,EAAIkF,EAASjF,OAAQD,IACzBrB,EAAUuG,EAASlF,GAChBxE,EAAoBM,EAAEyI,EAAiB5F,IAAY4F,EAAgB5F,IACrE4F,EAAgB5F,GAAS,KAE1B4F,EAAgB5F,GAAW,GAKzB2G,EAAqBrG,WAAmD,uCAAIA,WAAmD,wCAAK,GACxIqG,EAAmBjH,QAAQ0G,EAAqB1D,KAAK,KAAM,IAC3DiE,EAAmB5F,KAAOqF,EAAqB1D,KAAK,KAAMiE,EAAmB5F,KAAK2B,KAAKiE,G,KCrFvF9J,EAAoB+E,QAAKtE,ECGzB,IAAIsJ,EAAsB/J,EAAoB,M","sources":["webpack://@ampath/esm-laboratory-app/webpack/runtime/create fake namespace object","webpack://@ampath/esm-laboratory-app/webpack/runtime/load script","webpack://@ampath/esm-laboratory-app/webpack/runtime/consumes","webpack://@ampath/esm-laboratory-app/webpack/container-entry","webpack://@ampath/esm-laboratory-app/webpack/bootstrap","webpack://@ampath/esm-laboratory-app/webpack/runtime/amd options","webpack://@ampath/esm-laboratory-app/webpack/runtime/compat get default export","webpack://@ampath/esm-laboratory-app/webpack/runtime/define property getters","webpack://@ampath/esm-laboratory-app/webpack/runtime/ensure chunk","webpack://@ampath/esm-laboratory-app/webpack/runtime/get javascript chunk filename","webpack://@ampath/esm-laboratory-app/webpack/runtime/global","webpack://@ampath/esm-laboratory-app/webpack/runtime/hasOwnProperty shorthand","webpack://@ampath/esm-laboratory-app/webpack/runtime/make namespace object","webpack://@ampath/esm-laboratory-app/webpack/runtime/sharing","webpack://@ampath/esm-laboratory-app/webpack/runtime/publicPath","webpack://@ampath/esm-laboratory-app/webpack/runtime/jsonp chunk loading","webpack://@ampath/esm-laboratory-app/webpack/runtime/nonce","webpack://@ampath/esm-laboratory-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","init","useFallback","loadSingleton","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","amdO","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-laboratory-app.js","mappings":"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","sources":["webpack://@ampath/esm-laboratory-app/webpack/runtime/create fake namespace object","webpack://@ampath/esm-laboratory-app/webpack/runtime/load script","webpack://@ampath/esm-laboratory-app/webpack/runtime/consumes","webpack://@ampath/esm-laboratory-app/webpack/container-entry","webpack://@ampath/esm-laboratory-app/webpack/bootstrap","webpack://@ampath/esm-laboratory-app/webpack/runtime/amd options","webpack://@ampath/esm-laboratory-app/webpack/runtime/compat get default export","webpack://@ampath/esm-laboratory-app/webpack/runtime/define property getters","webpack://@ampath/esm-laboratory-app/webpack/runtime/ensure chunk","webpack://@ampath/esm-laboratory-app/webpack/runtime/get javascript chunk filename","webpack://@ampath/esm-laboratory-app/webpack/runtime/global","webpack://@ampath/esm-laboratory-app/webpack/runtime/hasOwnProperty shorthand","webpack://@ampath/esm-laboratory-app/webpack/runtime/make namespace object","webpack://@ampath/esm-laboratory-app/webpack/runtime/sharing","webpack://@ampath/esm-laboratory-app/webpack/runtime/publicPath","webpack://@ampath/esm-laboratory-app/webpack/runtime/jsonp chunk loading","webpack://@ampath/esm-laboratory-app/webpack/runtime/nonce","webpack://@ampath/esm-laboratory-app/webpack/startup"],"names":["leafPrototypes","getProto","inProgress","dataWebpackPrefix","parseVersion","versionLt","rangeToString","satisfy","exists","get","eagerOnly","findSingletonVersionKey","getInvalidSingletonVersionMessage","fail","warn","init","useFallback","loadSingleton","loadSingletonVersion","installedModules","moduleToHandlerMapping","chunkMapping","startedInstallModules","moduleMap","Promise","all","__webpack_require__","e","then","module","getScope","R","o","resolve","Error","undefined","shareScope","initScope","S","name","oldScope","I","d","exports","__webpack_module_cache__","moduleId","cachedModule","id","__webpack_modules__","call","m","c","amdO","n","getter","__esModule","a","Object","getPrototypeOf","obj","t","value","mode","this","ns","create","r","def","current","indexOf","getOwnPropertyNames","forEach","key","definition","defineProperty","enumerable","f","chunkId","keys","reduce","promises","u","g","globalThis","Function","window","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","i","length","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","fn","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","initPromises","initTokens","initToken","scope","uniqueName","register","version","factory","eager","versions","activeVersion","loaded","from","scriptUrl","importScripts","location","currentScript","tagName","toUpperCase","test","replace","p","str","split","map","exec","apply","b","range","pop","entry","filtered","requiredVersion","msg","console","scopeName","fallback","failAsNotExist","promise","consumes","onFactory","onError","error","installedChunks","j","installedChunkData","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkIds","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
package/dist/routes.json CHANGED
@@ -1 +1 @@
1
- {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","route":"laboratory"}],"extensions":[{"name":"laboratory-dashboard","slot":"laboratory-dashboard-slot","component":"root"},{"name":"laboratory-dashboard-link","slot":"homepage-dashboard-slot","component":"laboratoryDashboardLink","meta":{"name":"laboratory","slot":"laboratory-dashboard-slot","title":"Laboratory"}},{"name":"pickup-lab-request-modal","component":"pickupLabRequestModal"},{"name":"approval-lab-results-modal","component":"approvalLabResultsModal"},{"name":"reject-lab-request-modal","component":"rejectLabRequestModal"},{"name":"all-lab-requests-table","slot":"lab-panels-slot","order":0,"component":"allLabRequestsTable","meta":{"name":"testsOrderedPanel","title":"Tests ordered"}},{"name":"inprogress-lab-requests-table","slot":"lab-panels-slot","component":"inprogressLabRequestsTable","order":1,"meta":{"name":"inprogressPanel","title":"In progress"}},{"name":"completed-lab-requests-table","slot":"lab-panels-slot","component":"completedLabRequestsTable","order":3,"meta":{"name":"completedPanel","title":"Completed"}},{"name":"tests-ordered-tile-component","slot":"lab-tiles-slot","component":"testOrderedTile","meta":{"name":"testsOrderedTileSlot","title":"Ordered tests"}},{"name":"pending-review-lab-requests-table","slot":"lab-panels-slot","component":"pendingReviewLabRequestsTable","order":2,"meta":{"name":"pendingReviewPanel","title":"Pending review tests"}},{"name":"worklist-tile-component","slot":"lab-tiles-slot","component":"worklistTile","meta":{"name":"worklistTileSlot","title":"Worklist"}},{"name":"pending-review-list-tile-component","slot":"lab-tiles-slot","component":"pendingReviewListTile","meta":{"name":"pendingReviewTileSlot","title":"Pending review tests"}},{"name":"completed-tile-component","slot":"lab-tiles-slot","component":"completedTile","meta":{"name":"completedTileSlot","title":"Completed"}},{"name":"declined-tile-component","slot":"lab-panels-slot","component":"declinedLabRequestsTable","order":4,"meta":{"name":"declinedPanel","title":"Declined tests"}},{"name":"pick-lab-request-action","component":"pickupLabRequestAction","slot":"tests-ordered-actions-slot"},{"name":"approve-lab-results-tests-ordered-action","component":"approveLabResultsAction","slot":"approved-ordered-actions-slot"},{"name":"amend-lab-results-tests-ordered-action","component":"amendLabResultsAction","slot":"amended-ordered-actions-slot"},{"name":"reject-lab-request-tests-ordered-action","component":"rejectLabRequestAction","slot":"rejected-ordered-actions-slot"},{"name":"reject-lab-request-worklist-action","component":"rejectLabRequestAction","slot":"inprogress-tests-actions-slot"},{"name":"add-lab-request-results-action","component":"addLabRequestResultsAction","slot":"inprogress-tests-actions-slot"}],"workspaces2":[{"name":"lab-app-test-results-form-workspace","component":"@openmrs/esm-patient-orders-app#exportedTestResultsFormWorkspace","window":"labs-app-test-results-window"},{"name":"add-test-order-patient-search-workspace","component":"@openmrs/esm-patient-search-app#patientSearchWorkspace2","window":"add-test-order-window"},{"name":"add-test-order-start-visit-workspace","component":"@openmrs/esm-patient-chart-app#exportedVisitForm","window":"add-test-order-window"},{"name":"add-test-order-basket-workspace","component":"@openmrs/esm-patient-orders-app#exportedOrderBasketWorkspace","window":"add-test-order-window"},{"name":"add-test-order-basket-add-lab-order-workspace","component":"@openmrs/esm-patient-tests-app#exportedAddLabOrderWorkspace","window":"add-test-order-window"}],"workspaceWindows2":[{"name":"labs-app-test-results-window","group":"labs-app-group"},{"name":"add-test-order-window","group":"add-test-order-group"}],"workspaceGroups2":[{"name":"labs-app-group","scopePattern":"/home/laboratory"},{"name":"add-test-order-group","scopePattern":"/home/laboratory"}],"version":"1.3.0-next.2"}
1
+ {"$schema":"https://json.openmrs.org/routes.schema.json","backendDependencies":{"webservices.rest":">=2.2.0"},"pages":[{"component":"root","route":"laboratory"}],"extensions":[{"name":"laboratory-dashboard","slot":"laboratory-dashboard-slot","component":"root","privileges":["O3 View Labs Dashboard"]},{"name":"laboratory-dashboard-link","slot":"homepage-dashboard-slot","component":"laboratoryDashboardLink","privileges":["O3 View Labs Dashboard"],"meta":{"name":"laboratory","slot":"laboratory-dashboard-slot","title":"Laboratory"}},{"name":"pickup-lab-request-modal","component":"pickupLabRequestModal"},{"name":"approval-lab-results-modal","component":"approvalLabResultsModal"},{"name":"reject-lab-request-modal","component":"rejectLabRequestModal"},{"name":"all-lab-requests-table","slot":"lab-panels-slot","order":0,"component":"allLabRequestsTable","meta":{"name":"testsOrderedPanel","title":"Tests ordered"}},{"name":"inprogress-lab-requests-table","slot":"lab-panels-slot","component":"inprogressLabRequestsTable","order":1,"meta":{"name":"inprogressPanel","title":"In progress"}},{"name":"completed-lab-requests-table","slot":"lab-panels-slot","component":"completedLabRequestsTable","order":3,"meta":{"name":"completedPanel","title":"Completed"}},{"name":"tests-ordered-tile-component","slot":"lab-tiles-slot","component":"testOrderedTile","meta":{"name":"testsOrderedTileSlot","title":"Ordered tests"}},{"name":"pending-review-lab-requests-table","slot":"lab-panels-slot","component":"pendingReviewLabRequestsTable","order":2,"meta":{"name":"pendingReviewPanel","title":"Pending review tests"}},{"name":"worklist-tile-component","slot":"lab-tiles-slot","component":"worklistTile","meta":{"name":"worklistTileSlot","title":"Worklist"}},{"name":"pending-review-list-tile-component","slot":"lab-tiles-slot","component":"pendingReviewListTile","meta":{"name":"pendingReviewTileSlot","title":"Pending review tests"}},{"name":"completed-tile-component","slot":"lab-tiles-slot","component":"completedTile","meta":{"name":"completedTileSlot","title":"Completed"}},{"name":"declined-tile-component","slot":"lab-panels-slot","component":"declinedLabRequestsTable","order":4,"meta":{"name":"declinedPanel","title":"Declined tests"}},{"name":"pick-lab-request-action","component":"pickupLabRequestAction","slot":"tests-ordered-actions-slot"},{"name":"approve-lab-results-tests-ordered-action","component":"approveLabResultsAction","slot":"approved-ordered-actions-slot"},{"name":"amend-lab-results-tests-ordered-action","component":"amendLabResultsAction","slot":"amended-ordered-actions-slot"},{"name":"reject-lab-request-tests-ordered-action","component":"rejectLabRequestAction","slot":"rejected-ordered-actions-slot"},{"name":"reject-lab-request-worklist-action","component":"rejectLabRequestAction","slot":"inprogress-tests-actions-slot"},{"name":"add-lab-request-results-action","component":"addLabRequestResultsAction","slot":"inprogress-tests-actions-slot"},{"name":"generate-bill-request-action","component":"generateBillRequestAction","slot":"tests-ordered-actions-slot"},{"name":"lab-result-1","component":"labResult","slot":"completed-lab-order-results-slot-1","meta":{"fullWidth":false}}],"workspaces2":[{"name":"lab-app-test-results-form-workspace","component":"@openmrs/esm-patient-orders-app#exportedTestResultsFormWorkspace","window":"labs-app-test-results-window"},{"name":"add-test-order-patient-search-workspace","component":"@openmrs/esm-patient-search-app#patientSearchWorkspace2","window":"add-test-order-window"},{"name":"add-test-order-start-visit-workspace","component":"@openmrs/esm-patient-chart-app#exportedVisitForm","window":"add-test-order-window"},{"name":"add-test-order-basket-workspace","component":"@openmrs/esm-patient-orders-app#exportedOrderBasketWorkspace","window":"add-test-order-window"},{"name":"add-test-order-basket-add-lab-order-workspace","component":"@openmrs/esm-patient-tests-app#exportedAddLabOrderWorkspace","window":"add-test-order-window"}],"workspaceWindows2":[{"name":"labs-app-test-results-window","group":"labs-app-group"},{"name":"add-test-order-window","group":"add-test-order-group"}],"workspaceGroups2":[{"name":"labs-app-group","scopePattern":"/home/laboratory"},{"name":"add-test-order-group","scopePattern":"/home/laboratory"}],"version":"1.3.0-next.21"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampath/esm-laboratory-app",
3
- "version": "1.3.0-next.2",
3
+ "version": "1.3.0-next.21",
4
4
  "license": "MPL-2.0",
5
5
  "description": "An O3 frontend module for managing laboratory requests and queues",
6
6
  "browser": "dist/openmrs-esm-laboratory-app.js",
@@ -8,6 +8,7 @@
8
8
  "source": true,
9
9
  "scripts": {
10
10
  "start": "openmrs develop",
11
+ "dev": "openmrs develop --backend=https://staging.ampath.or.ke --api-url=/openmrs --config-url=https://ngx.ampath.or.ke/o3-config.json --port=8000",
11
12
  "serve": "webpack serve --mode=development",
12
13
  "build": "webpack --mode production",
13
14
  "analyze": "webpack --mode=production --env analyze=true",
@@ -58,6 +59,7 @@
58
59
  },
59
60
  "devDependencies": {
60
61
  "@openmrs/esm-framework": "next",
62
+ "@openmrs/esm-patient-common-lib": "next",
61
63
  "@playwright/test": "^1.52.0",
62
64
  "@swc/cli": "^0.1.62",
63
65
  "@swc/core": "^1.3.62",
@@ -0,0 +1,60 @@
1
+ import { openmrsFetch, restBaseUrl } from '@openmrs/esm-framework';
2
+ import useSWR, { mutate } from 'swr';
3
+ import { type BillInvoice } from '../types';
4
+ import { getHieBaseUrl, postJson } from '../utils/utils';
5
+ import { useCallback } from 'react';
6
+
7
+ export const useBills = (patientUuid: string = '', billStatus: string = 'PENDING') => {
8
+ const url = `${restBaseUrl}/billing/bill?patientUuid=${patientUuid}&v=custom:(uuid,patient:(uuid),lineItems:(uuid,billableService,quantity,price,item,priceUuid,priceName,lineItemOrder,paymentStatus),status)`;
9
+
10
+ const {
11
+ data,
12
+ error,
13
+ isLoading,
14
+ isValidating,
15
+ mutate: mutated,
16
+ } = useSWR<{ data: { results: Array<BillInvoice> } }>(url, openmrsFetch, {
17
+ errorRetryCount: 2,
18
+ });
19
+
20
+ const results = data?.data?.results ?? [];
21
+
22
+ return {
23
+ bills: results,
24
+ error,
25
+ isLoading,
26
+ isValidating,
27
+ mutated,
28
+ };
29
+ };
30
+
31
+ export function useInvalidateBills(patientUuid: string) {
32
+ return useCallback(() => {
33
+ mutate(
34
+ (key) => typeof key === 'string' && key.startsWith(`${restBaseUrl}/billing/bill?patientUuid=${patientUuid}`),
35
+ undefined,
36
+ { revalidate: true },
37
+ );
38
+ }, [patientUuid]);
39
+ }
40
+
41
+ export const getOrderNumberFromHie = async (orderNumber: string) => {
42
+ let hieBaseUrl = await getHieBaseUrl();
43
+ if (!hieBaseUrl) {
44
+ hieBaseUrl = `/hie`;
45
+ }
46
+ const url = `${hieBaseUrl}/bill-order?order_no=${orderNumber}`;
47
+ return postJson<{ bill_uuid: string; line_item_uuid: string }>(url, null, 'GET');
48
+ };
49
+
50
+ export const getOdooBills = async (patientUuid: string) => {
51
+ const url = `/openmrs/etl/odoo/billing/patient/${patientUuid}`;
52
+ return postJson<{
53
+ orders: Array<{
54
+ order_lines: Array<{
55
+ billing_status: string;
56
+ openmrs_order_id: string;
57
+ }>;
58
+ }>;
59
+ }>(url, null, 'GET');
60
+ };
@@ -0,0 +1,67 @@
1
+ @use '@carbon/colors';
2
+ @use '@carbon/type';
3
+ @use '@openmrs/esm-styleguide/src/vars' as *;
4
+
5
+ @mixin styles {
6
+ .off-scale-high,
7
+ .off-scale-low,
8
+ .critically-high,
9
+ .critically-low,
10
+ .high,
11
+ .low {
12
+ span {
13
+ @include type.type-style('heading-compact-01');
14
+ color: $ui-05;
15
+ }
16
+ }
17
+
18
+ .high,
19
+ .low {
20
+ background-color: colors.$orange-10 !important;
21
+ border-top: 1px solid colors.$orange-20 !important;
22
+ }
23
+
24
+ .off-scale-high,
25
+ .off-scale-low,
26
+ .critically-high,
27
+ .critically-low {
28
+ background-color: colors.$red-20 !important;
29
+ border-top: 1px solid colors.$red-20-hover !important;
30
+ }
31
+
32
+ .off-scale-low {
33
+ span::after {
34
+ content: ' ↓↓↓';
35
+ }
36
+ }
37
+
38
+ .off-scale-high {
39
+ span::after {
40
+ content: ' ↑↑↑';
41
+ }
42
+ }
43
+
44
+ .critically-low {
45
+ span::after {
46
+ content: ' ↓↓';
47
+ }
48
+ }
49
+
50
+ .critically-high {
51
+ span::after {
52
+ content: ' ↑↑';
53
+ }
54
+ }
55
+
56
+ .low {
57
+ span::after {
58
+ content: ' ↓';
59
+ }
60
+ }
61
+
62
+ .high {
63
+ span::after {
64
+ content: ' ↑';
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,188 @@
1
+ import React, { useMemo } from 'react';
2
+ import classNames from 'classnames';
3
+ import { useTranslation } from 'react-i18next';
4
+ import {
5
+ DataTable,
6
+ DataTableSkeleton,
7
+ InlineLoading,
8
+ SkeletonText,
9
+ Table,
10
+ TableBody,
11
+ TableCell,
12
+ TableContainer,
13
+ TableHead,
14
+ TableHeader,
15
+ TableRow,
16
+ } from '@carbon/react';
17
+ import { useLayoutType } from '@openmrs/esm-framework';
18
+ import {
19
+ type Order,
20
+ type OBSERVATION_INTERPRETATION,
21
+ ReferenceRangeDisplay,
22
+ useReferenceRanges,
23
+ } from '@openmrs/esm-patient-common-lib';
24
+ // import { useLabEncounter, useOrderConceptByUuid, useOrderConceptsByUuids } from './lab-results.resource';
25
+ import { getConceptUuids, getEffectiveRanges, getInterpretationClass, interpretObservation } from './utils';
26
+ import styles from './lab-results.scss';
27
+ import { useLabEncounter, useOrderConceptByUuid, useOrderConceptsByUuids } from '../../laboratory.resource';
28
+ interface LabResultsProps {
29
+ order: Order;
30
+ /** When provided, reference ranges fetch starts immediately instead of waiting for encounter. Pass from parent when available (e.g. OrderDetailsTable) to avoid request waterfall. */
31
+ patientUuid?: string;
32
+ }
33
+
34
+ const LabResults: React.FC<LabResultsProps> = ({ order, patientUuid: patientUuidProp }) => {
35
+ const { t } = useTranslation();
36
+ const isTablet = useLayoutType() === 'tablet';
37
+ const { concept, isLoading: isLoadingTestConcepts } = useOrderConceptByUuid(order?.concept?.uuid);
38
+ const { encounter, isLoading: isLoadingResult } = useLabEncounter(order?.encounter?.uuid);
39
+
40
+ const patientUuid = patientUuidProp ?? encounter?.patient?.uuid;
41
+
42
+ const conceptUuids = useMemo(() => getConceptUuids(concept), [concept]);
43
+
44
+ // Fetch reference ranges from the API
45
+ const { ranges: referenceRanges, isLoading: isLoadingRanges } = useReferenceRanges(patientUuid, conceptUuids);
46
+
47
+ const tableHeaders = useMemo(() => {
48
+ return [
49
+ {
50
+ key: 'testType',
51
+ header: order?.orderType?.display || '',
52
+ },
53
+ {
54
+ key: 'result',
55
+ header: t('result', 'Result'),
56
+ },
57
+ {
58
+ key: 'normalRange',
59
+ header: t('referenceRange', 'Reference range'),
60
+ },
61
+ ];
62
+ }, [t, order?.orderType?.display]);
63
+
64
+ const [testResultObs, obsUuids] = useMemo(() => {
65
+ if (!encounter) return [[], []];
66
+ const testObs = encounter.obs?.filter((obs) => obs.order?.uuid === order.uuid) ?? [];
67
+ return [testObs, testObs.map((obs) => obs.concept?.uuid).filter(Boolean)];
68
+ }, [encounter, order.uuid]);
69
+
70
+ const { isLoading: isLoadingResultsConcepts, concepts: conceptList } = useOrderConceptsByUuids(obsUuids);
71
+
72
+ const testRows = useMemo(() => {
73
+ if (!Array.isArray(testResultObs) || testResultObs.length === 0) return [];
74
+
75
+ return testResultObs.flatMap((obs) => {
76
+ const concept = conceptList.find((c) => c.uuid === obs.concept.uuid);
77
+ if (!concept) {
78
+ return [];
79
+ }
80
+
81
+ // Handle panel tests (with set members / groupMembers)
82
+ if (concept.setMembers && concept.setMembers.length > 0) {
83
+ return concept.setMembers.map((memberConcept) => {
84
+ const memberObs = obs.groupMembers?.find((gm) => gm.concept.uuid === memberConcept.uuid);
85
+
86
+ const ranges = getEffectiveRanges(memberConcept, referenceRanges);
87
+
88
+ let result: { value: string; interpretation: OBSERVATION_INTERPRETATION } | React.ReactNode;
89
+ if (isLoadingResult) {
90
+ result = <SkeletonText />;
91
+ } else if (memberObs) {
92
+ const { displayValue, interpretation } = interpretObservation(memberObs, ranges);
93
+ result = { value: displayValue, interpretation };
94
+ } else {
95
+ result = '--';
96
+ }
97
+
98
+ return {
99
+ id: memberObs?.uuid ?? `${obs.uuid}:${memberConcept.uuid}`,
100
+ testType: memberConcept.display || '--',
101
+ result,
102
+ normalRange: <ReferenceRangeDisplay ranges={ranges} />,
103
+ };
104
+ });
105
+ }
106
+
107
+ // Handle single test (no set members)
108
+ const ranges = getEffectiveRanges(concept, referenceRanges);
109
+
110
+ let result: { value: string; interpretation: OBSERVATION_INTERPRETATION } | React.ReactNode;
111
+ if (isLoadingResult) {
112
+ result = <SkeletonText />;
113
+ } else {
114
+ const { displayValue, interpretation } = interpretObservation(obs, ranges);
115
+ result = { value: displayValue, interpretation };
116
+ }
117
+
118
+ return {
119
+ id: obs.uuid,
120
+ testType: concept.display || '--',
121
+ result,
122
+ normalRange: <ReferenceRangeDisplay ranges={ranges} />,
123
+ };
124
+ });
125
+ }, [isLoadingResult, testResultObs, conceptList, referenceRanges]);
126
+
127
+ if (isLoadingTestConcepts || isLoadingResultsConcepts || isLoadingResult || isLoadingRanges) {
128
+ return (
129
+ <>
130
+ <InlineLoading
131
+ status="active"
132
+ iconDescription="Loading"
133
+ description={t('loadinglabresults', 'Loading lab results') + '...'}
134
+ />
135
+ <DataTableSkeleton role="progressbar" compact={!isTablet} zebra />
136
+ </>
137
+ );
138
+ }
139
+
140
+ if (!concept) {
141
+ return <div className={styles.error}>{t('noTestData', 'No test data available')}</div>;
142
+ }
143
+
144
+ return (
145
+ <div className={styles.testOrder}>
146
+ <DataTable rows={testRows} headers={tableHeaders} size={isTablet ? 'lg' : 'sm'} useZebraStyles>
147
+ {({ rows, headers, getHeaderProps, getRowProps, getTableProps, getTableContainerProps }) => (
148
+ <TableContainer {...getTableContainerProps()}>
149
+ <Table {...getTableProps()} className={styles.table} aria-label={t('testOrders', 'Test orders')}>
150
+ <TableHead>
151
+ <TableRow>
152
+ {headers.map((header) => {
153
+ const headerProps = getHeaderProps({ header });
154
+ return (
155
+ <TableHeader
156
+ {...headerProps}
157
+ className={classNames(headerProps.className, styles[`col-${header.key}`])}
158
+ >
159
+ {header.header}
160
+ </TableHeader>
161
+ );
162
+ })}
163
+ </TableRow>
164
+ </TableHead>
165
+ <TableBody>
166
+ {rows.map((row) => (
167
+ <TableRow {...getRowProps({ row })}>
168
+ {row.cells.map((cell) =>
169
+ cell.value?.interpretation ? (
170
+ <TableCell key={cell.id} className={getInterpretationClass(styles, cell.value.interpretation)}>
171
+ <span>{cell.value.value}</span>
172
+ </TableCell>
173
+ ) : (
174
+ <TableCell key={cell.id}>{cell.value}</TableCell>
175
+ ),
176
+ )}
177
+ </TableRow>
178
+ ))}
179
+ </TableBody>
180
+ </Table>
181
+ </TableContainer>
182
+ )}
183
+ </DataTable>
184
+ </div>
185
+ );
186
+ };
187
+
188
+ export default LabResults;
@@ -0,0 +1,39 @@
1
+ @use '@carbon/colors';
2
+ @use '@carbon/layout';
3
+ @use './interpretation';
4
+
5
+ .testOrder {
6
+ display: flex;
7
+ flex-direction: column;
8
+ justify-content: space-between;
9
+ border: 1px solid colors.$gray-20;
10
+ border-bottom: none;
11
+ border-top: none;
12
+
13
+ :global(.cds--data-table th) {
14
+ padding: layout.$spacing-03 !important;
15
+ }
16
+ }
17
+
18
+ .table {
19
+ table-layout: fixed;
20
+ width: 100%;
21
+
22
+ td {
23
+ padding-left: layout.$spacing-03 !important;
24
+ }
25
+ }
26
+
27
+ .col-testType {
28
+ width: 50%;
29
+ }
30
+
31
+ .col-result {
32
+ width: 25%;
33
+ }
34
+
35
+ .col-normalRange {
36
+ width: 25%;
37
+ }
38
+
39
+ @include interpretation.styles;
@@ -0,0 +1,99 @@
1
+ import { assessValue, type OBSERVATION_INTERPRETATION, type ReferenceRanges } from '@openmrs/esm-patient-common-lib';
2
+ import { type LabOrderConcept, type Observation, type ObservationValue } from '../../types';
3
+
4
+ export const getInterpretationClass = (
5
+ styles: Record<string, string>,
6
+ interpretation: OBSERVATION_INTERPRETATION,
7
+ ): string => {
8
+ switch (interpretation) {
9
+ case 'OFF_SCALE_HIGH':
10
+ return styles['off-scale-high'];
11
+ case 'CRITICALLY_HIGH':
12
+ return styles['critically-high'];
13
+ case 'HIGH':
14
+ return styles['high'];
15
+ case 'OFF_SCALE_LOW':
16
+ return styles['off-scale-low'];
17
+ case 'CRITICALLY_LOW':
18
+ return styles['critically-low'];
19
+ case 'LOW':
20
+ return styles['low'];
21
+ case 'NORMAL':
22
+ default:
23
+ return '';
24
+ }
25
+ };
26
+
27
+ export const getEffectiveRanges = (
28
+ concept: LabOrderConcept,
29
+ referenceRangesMap?: Map<string, ReferenceRanges>,
30
+ ): ReferenceRanges => {
31
+ const apiRange = referenceRangesMap?.get(concept?.uuid);
32
+ if (apiRange) {
33
+ return {
34
+ ...apiRange,
35
+ units: apiRange.units ?? concept?.units ?? undefined,
36
+ };
37
+ }
38
+ return {
39
+ lowNormal: concept?.lowNormal ?? undefined,
40
+ hiNormal: concept?.hiNormal ?? undefined,
41
+ lowCritical: concept?.lowCritical ?? undefined,
42
+ hiCritical: concept?.hiCritical ?? undefined,
43
+ lowAbsolute: concept?.lowAbsolute ?? undefined,
44
+ hiAbsolute: concept?.hiAbsolute ?? undefined,
45
+ units: concept?.units ?? undefined,
46
+ };
47
+ };
48
+
49
+ export function getConceptUuids(concept: LabOrderConcept | undefined): Array<string> {
50
+ if (!concept) {
51
+ return [];
52
+ }
53
+ const uuids = [concept.uuid];
54
+ if (concept.setMembers) {
55
+ concept.setMembers.forEach((member) => uuids.push(member.uuid));
56
+ }
57
+ return uuids;
58
+ }
59
+
60
+ export interface InterpretedResult {
61
+ displayValue: string;
62
+ interpretation: OBSERVATION_INTERPRETATION;
63
+ }
64
+
65
+ export function interpretObservation(obs: Observation, ranges: ReferenceRanges): InterpretedResult {
66
+ const displayValue = getObservationDisplayValue(obs.value ?? obs);
67
+ const numericValue = typeof obs.value === 'number' ? obs.value : parseFloat(displayValue);
68
+ const obsInterpretation = getObsInterpretation(obs.interpretation);
69
+ const interpretation = obsInterpretation ?? (!isNaN(numericValue) ? assessValue(numericValue, ranges) : 'NORMAL');
70
+ const units = ranges.units ?? '';
71
+ const valueIsNumeric = typeof obs.value === 'number';
72
+ const valueWithUnits = valueIsNumeric && units ? `${displayValue} ${units}` : displayValue;
73
+ return { displayValue: valueWithUnits, interpretation };
74
+ }
75
+
76
+ export const getObservationDisplayValue = (value: ObservationValue): string => {
77
+ if (!value) return '--';
78
+ if (typeof value === 'string') return value;
79
+ if (typeof value === 'number') return value.toString();
80
+ if (value && typeof value === 'object' && 'display' in value) return value.display;
81
+ return '--';
82
+ };
83
+
84
+ const validInterpretations = new Set<string>([
85
+ 'NORMAL',
86
+ 'HIGH',
87
+ 'CRITICALLY_HIGH',
88
+ 'OFF_SCALE_HIGH',
89
+ 'LOW',
90
+ 'CRITICALLY_LOW',
91
+ 'OFF_SCALE_LOW',
92
+ ]);
93
+
94
+ export function getObsInterpretation(interpretation?: string): OBSERVATION_INTERPRETATION | undefined {
95
+ if (interpretation && validInterpretations.has(interpretation)) {
96
+ return interpretation as OBSERVATION_INTERPRETATION;
97
+ }
98
+ return undefined;
99
+ }
@@ -13,6 +13,8 @@ import { capitalize } from 'lodash-es';
13
13
  import { ExtensionSlot, formatDate, parseDate } from '@openmrs/esm-framework';
14
14
  import { type GroupedOrders } from '../../types';
15
15
  import styles from './list-order-details.scss';
16
+ import { useBills } from '../../bill/bill.resource';
17
+ import OrderedActionsExtensionSlot from './ordered-actions-extension-slot/ordered-actions-extension-slot';
16
18
 
17
19
  type OrderDetailsRowProps = {
18
20
  label: ReactNode;
@@ -21,6 +23,7 @@ type OrderDetailsRowProps = {
21
23
 
22
24
  export interface ListOrdersDetailsProps {
23
25
  groupedOrders: GroupedOrders;
26
+ patientUuid: string;
24
27
  }
25
28
 
26
29
  const OrderDetailRow = ({ label, value }: OrderDetailsRowProps) => {
@@ -35,9 +38,10 @@ const OrderDetailRow = ({ label, value }: OrderDetailsRowProps) => {
35
38
  </StructuredListRow>
36
39
  );
37
40
  };
38
- const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders }) => {
41
+ const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders, patientUuid }) => {
39
42
  const { t } = useTranslation();
40
43
  const originalOrders = groupedOrders?.originalOrders ?? [];
44
+ const { bills, isLoading } = useBills(patientUuid);
41
45
 
42
46
  return (
43
47
  <div>
@@ -81,7 +85,7 @@ const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders }) =
81
85
  )}
82
86
  </StructuredListBody>
83
87
  </StructuredListWrapper>
84
- {(order.fulfillerStatus === 'COMPLETED' || order.fulfillerStatus === 'DRAFT') && (
88
+ {(order.fulfillerStatus === 'COMPLETED' || order.fulfillerStatus === 'ON_HOLD') && (
85
89
  <Accordion>
86
90
  <AccordionItem
87
91
  open={order.fulfillerStatus === 'COMPLETED'}
@@ -91,7 +95,7 @@ const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders }) =
91
95
  <ExtensionSlot
92
96
  className={styles.labResultSlot}
93
97
  state={{ order: order }}
94
- name="completed-lab-order-results-slot"
98
+ name="completed-lab-order-results-slot-1"
95
99
  />
96
100
  </div>
97
101
  </AccordionItem>
@@ -103,7 +107,7 @@ const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders }) =
103
107
  <>
104
108
  <div className={styles.testsOrderedActions}>
105
109
  <ExtensionSlot state={{ order: order }} name="rejected-ordered-actions-slot" />
106
- <ExtensionSlot state={{ order: order }} name="tests-ordered-actions-slot" />
110
+ <OrderedActionsExtensionSlot order={order} bills={bills} isLoading={isLoading} />
107
111
  <ExtensionSlot state={{ order: order }} name="add-lab-order-details-slot" />
108
112
  </div>
109
113
  </>
@@ -117,7 +121,7 @@ const ListOrderDetails: React.FC<ListOrdersDetailsProps> = ({ groupedOrders }) =
117
121
  />
118
122
  </div>
119
123
  </>
120
- ) : order.fulfillerStatus === 'DRAFT' ? (
124
+ ) : order.fulfillerStatus === 'ON_HOLD' ? (
121
125
  <>
122
126
  <div className={styles.testsOrderedActions}>
123
127
  <ExtensionSlot