@ampath/esm-dha-workflow-app 4.0.0-next.13 → 4.0.0-next.130

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 (364) hide show
  1. package/dist/1197.js +1 -0
  2. package/dist/1277.js +1 -0
  3. package/dist/1277.js.map +1 -0
  4. package/dist/1558.js +2 -0
  5. package/dist/{198.js.LICENSE.txt → 1558.js.LICENSE.txt} +0 -10
  6. package/dist/1558.js.map +1 -0
  7. package/dist/1729.js +1 -0
  8. package/dist/1729.js.map +1 -0
  9. package/dist/182.js +1 -0
  10. package/dist/182.js.map +1 -0
  11. package/dist/1826.js +1 -0
  12. package/dist/1826.js.map +1 -0
  13. package/dist/1833.js +1 -0
  14. package/dist/1833.js.map +1 -0
  15. package/dist/1856.js +1 -0
  16. package/dist/1856.js.map +1 -0
  17. package/dist/1925.js +1 -0
  18. package/dist/1925.js.map +1 -0
  19. package/dist/2021.js +1 -0
  20. package/dist/2021.js.map +1 -0
  21. package/dist/2054.js +1 -0
  22. package/dist/2054.js.map +1 -0
  23. package/dist/2177.js +2 -0
  24. package/dist/2177.js.LICENSE.txt +9 -0
  25. package/dist/2177.js.map +1 -0
  26. package/dist/2364.js +2 -0
  27. package/dist/{200.js.LICENSE.txt → 2364.js.LICENSE.txt} +15 -0
  28. package/dist/2364.js.map +1 -0
  29. package/dist/2566.js +1 -0
  30. package/dist/2566.js.map +1 -0
  31. package/dist/2801.js +1 -0
  32. package/dist/2801.js.map +1 -0
  33. package/dist/2975.js +1 -0
  34. package/dist/2975.js.map +1 -0
  35. package/dist/3041.js +1 -0
  36. package/dist/3041.js.map +1 -0
  37. package/dist/3099.js +1 -0
  38. package/dist/3184.js +2 -0
  39. package/dist/3184.js.map +1 -0
  40. package/dist/3654.js +1 -0
  41. package/dist/3654.js.map +1 -0
  42. package/dist/4055.js +1 -0
  43. package/dist/4205.js +1 -0
  44. package/dist/4205.js.map +1 -0
  45. package/dist/4225.js +1 -0
  46. package/dist/4225.js.map +1 -0
  47. package/dist/4300.js +1 -0
  48. package/dist/4335.js +1 -0
  49. package/dist/4353.js +1 -0
  50. package/dist/4353.js.map +1 -0
  51. package/dist/4517.js +1 -0
  52. package/dist/4517.js.map +1 -0
  53. package/dist/4652.js +1 -0
  54. package/dist/4674.js +1 -0
  55. package/dist/4674.js.map +1 -0
  56. package/dist/4947.js +1 -0
  57. package/dist/4947.js.map +1 -0
  58. package/dist/5015.js +1 -0
  59. package/dist/5015.js.map +1 -0
  60. package/dist/5422.js +1 -0
  61. package/dist/5422.js.map +1 -0
  62. package/dist/5428.js +1 -0
  63. package/dist/5428.js.map +1 -0
  64. package/dist/5752.js +1 -0
  65. package/dist/5752.js.map +1 -0
  66. package/dist/5851.js +1 -0
  67. package/dist/5851.js.map +1 -0
  68. package/dist/6264.js +1 -0
  69. package/dist/6264.js.map +1 -0
  70. package/dist/6540.js +2 -0
  71. package/dist/6540.js.map +1 -0
  72. package/dist/6606.js +1 -0
  73. package/dist/6606.js.map +1 -0
  74. package/dist/693.js +1 -0
  75. package/dist/693.js.map +1 -0
  76. package/dist/6991.js +1 -0
  77. package/dist/6991.js.map +1 -0
  78. package/dist/7076.js +1 -0
  79. package/dist/7076.js.map +1 -0
  80. package/dist/7199.js +1 -0
  81. package/dist/7199.js.map +1 -0
  82. package/dist/7255.js +1 -0
  83. package/dist/7255.js.map +1 -0
  84. package/dist/7258.js +1 -0
  85. package/dist/7258.js.map +1 -0
  86. package/dist/7420.js +1 -0
  87. package/dist/7420.js.map +1 -0
  88. package/dist/7523.js +1 -0
  89. package/dist/7523.js.map +1 -0
  90. package/dist/8114.js +1 -0
  91. package/dist/8114.js.map +1 -0
  92. package/dist/8339.js +1 -0
  93. package/dist/8339.js.map +1 -0
  94. package/dist/8865.js +1 -0
  95. package/dist/8865.js.map +1 -0
  96. package/dist/8895.js +1 -0
  97. package/dist/8895.js.map +1 -0
  98. package/dist/9037.js +1 -0
  99. package/dist/9037.js.map +1 -0
  100. package/dist/9091.js +1 -0
  101. package/dist/9091.js.map +1 -0
  102. package/dist/9093.js +1 -0
  103. package/dist/9093.js.map +1 -0
  104. package/dist/9117.js +1 -0
  105. package/dist/9117.js.map +1 -0
  106. package/dist/9721.js +1 -0
  107. package/dist/9721.js.map +1 -0
  108. package/dist/esm-dha-workflow-app.js +1 -0
  109. package/dist/esm-dha-workflow-app.js.buildmanifest.json +1570 -0
  110. package/dist/esm-dha-workflow-app.js.map +1 -0
  111. package/dist/main.js +1 -1
  112. package/dist/main.js.map +1 -1
  113. package/dist/routes.json +1 -1
  114. package/package.json +11 -4
  115. package/src/accounting/accounting.component.tsx +13 -0
  116. package/src/admissions/admission-request-list/admission-request-list.scss +0 -0
  117. package/src/admissions/admission-request-list/admission-request-list.tsx +134 -0
  118. package/src/admissions/admissions-dashboard.component.scss +15 -0
  119. package/src/admissions/admissions-dashboard.component.tsx +160 -0
  120. package/src/admissions/admissions.resource.ts +101 -0
  121. package/src/admissions/admitted-list/admitted-patients-list.tsx +141 -0
  122. package/src/admissions/constants/index.ts +33 -0
  123. package/src/admissions/discharged-list/discharged-list.scss +0 -0
  124. package/src/admissions/discharged-list/discharged-list.tsx +58 -0
  125. package/src/admissions/inpatient/admission-history/patient-admission-history.tsx +76 -0
  126. package/src/admissions/inpatient/admission-requests/patient-admission-requests.scss +19 -0
  127. package/src/admissions/inpatient/admission-requests/patient-admission-requests.tsx +72 -0
  128. package/src/admissions/inpatient/inpatient-admissions.component.scss +7 -0
  129. package/src/admissions/inpatient/inpatient-admissions.component.tsx +46 -0
  130. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.scss +23 -0
  131. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.tsx +156 -0
  132. package/src/admissions/modal/admit-patient/admit-patient.modal.scss +0 -0
  133. package/src/admissions/modal/admit-patient/admit-patient.modal.tsx +109 -0
  134. package/src/admissions/modal/bed-swap/bed-swap.modal.scss +0 -0
  135. package/src/admissions/modal/bed-swap/bed-swap.modal.tsx +102 -0
  136. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.scss +11 -0
  137. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.tsx +105 -0
  138. package/src/admissions/modal/discharge/discharge-patient.modal.scss +13 -0
  139. package/src/admissions/modal/discharge/discharge-patient.modal.tsx +84 -0
  140. package/src/admissions/types/index.ts +192 -0
  141. package/src/appointments/appointments.component.tsx +13 -0
  142. package/src/billing/api/billing.api.ts +95 -0
  143. package/src/billing/billing-root.tsx +20 -0
  144. package/src/billing/dashboard/billingDashboard.component.scss +0 -0
  145. package/src/billing/dashboard/billingDashboard.component.tsx +25 -0
  146. package/src/billing/extensions/visit-billing/visit-billing.extension.scss +0 -0
  147. package/src/billing/extensions/visit-billing/visit-billing.extension.tsx +409 -0
  148. package/src/billing/invoice/bill.resource.ts +47 -0
  149. package/src/billing/invoice/invoice-header/header-card/header-card.scss +17 -0
  150. package/src/billing/invoice/invoice-header/header-card/header-card.tsx +21 -0
  151. package/src/billing/invoice/invoice.scss +113 -0
  152. package/src/billing/invoice/invoice.tsx +1371 -0
  153. package/src/billing/invoice/line-items/line-items.scss +0 -0
  154. package/src/billing/invoice/line-items/line-items.tsx +120 -0
  155. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.scss +23 -0
  156. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.tsx +114 -0
  157. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.scss +0 -0
  158. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.tsx +122 -0
  159. package/src/billing/invoice/payment-details/payment-details.scss +0 -0
  160. package/src/billing/invoice/payment-details/payment-details.tsx +43 -0
  161. package/src/billing/invoice/print-invoice/print-receipt.component.tsx +44 -0
  162. package/src/billing/invoice/print-invoice/print-receipt.scss +14 -0
  163. package/src/billing/types/index.ts +84 -0
  164. package/src/billing/utils/index.ts +17 -0
  165. package/src/billing/widgets/billingTotalsRow.component.scss +0 -0
  166. package/src/billing/widgets/billingTotalsRow.component.tsx +712 -0
  167. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.resource.ts +85 -0
  168. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.scss +58 -0
  169. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.workspace.tsx +330 -0
  170. package/src/billing/workspaces/create-order-bill-form-workspace/schema.ts +11 -0
  171. package/src/bookings/bookings.component.scss +7 -0
  172. package/src/bookings/bookings.component.tsx +31 -0
  173. package/src/bookings/daily/daily-bookings.component.scss +38 -0
  174. package/src/bookings/daily/daily-bookings.component.tsx +138 -0
  175. package/src/bookings/daily/daily-bookings.resource.ts +28 -0
  176. package/src/bookings/daily/filters/daily-bookings-filter.component.scss +15 -0
  177. package/src/bookings/daily/filters/daily-bookings-filter.component.tsx +80 -0
  178. package/src/bookings/daily/patient-list/daily-bookings-patient-list.component.tsx +97 -0
  179. package/src/bookings/types/index.ts +68 -0
  180. package/src/config-schema.ts +186 -32
  181. package/src/createDashboardLink.tsx +9 -0
  182. package/src/dashboard/charts/chart.component.scss +13 -0
  183. package/src/dashboard/charts/chart.component.tsx +54 -0
  184. package/src/dashboard/dashboard.component.scss +7 -0
  185. package/src/dashboard/dashboard.component.tsx +51 -0
  186. package/src/dashboard/overview/overview.component.scss +147 -0
  187. package/src/dashboard/overview/overview.component.tsx +115 -0
  188. package/src/dashboard/patient-list/patient-list.component.tsx +41 -0
  189. package/src/dashboard-meta/accounting-dashboard.meta.ts +6 -0
  190. package/src/dashboard-meta/admissions-dashboard.meta.ts +6 -0
  191. package/src/dashboard-meta/billing-dashboard.meta.ts +6 -0
  192. package/src/dashboard-meta/bookings-dashboard.meta.ts +6 -0
  193. package/src/dashboard-meta/consultation-dashboard.meta.ts +6 -0
  194. package/src/dashboard-meta/dha-workflow-dashboard.meta.ts +6 -0
  195. package/src/dashboard-meta/inpatient-admissions.meta.ts +6 -0
  196. package/src/dashboard-meta/mch-dashboard.meta.ts +6 -0
  197. package/src/dashboard-meta/pharmacy-dashboard.meta.ts +6 -0
  198. package/src/dashboard-meta/queue-dashboard.meta.ts +6 -0
  199. package/src/dashboard-meta/registers-dashboard.meta.ts +6 -0
  200. package/src/dashboard-meta/registry-dashboard.meta.ts +6 -0
  201. package/src/dashboard-meta/service-queue-admin.meta.ts +6 -0
  202. package/src/dashboard-meta/triage-dashboard.meta.ts +6 -0
  203. package/src/hooks/useActions.ts +165 -0
  204. package/src/index.ts +118 -1
  205. package/src/laboratory/laboratory.component.tsx +13 -0
  206. package/src/left-panel/left-panel.component.tsx +0 -2
  207. package/src/mch/mch-queues.component.scss +7 -0
  208. package/src/mch/mch-queues.component.tsx +32 -0
  209. package/src/mch/queues/consultation/mch-consultation.tsx +18 -0
  210. package/src/mch/queues/triage/mch-triage.tsx +15 -0
  211. package/src/modals/sign-off-modal.scss +7 -0
  212. package/src/modals/sign-off-modal.tsx +52 -0
  213. package/src/mortuary/mortuary.component.tsx +13 -0
  214. package/src/pharmacy/pharmacy.component.tsx +13 -0
  215. package/src/registers/registers.component.tsx +8 -0
  216. package/src/registry/eligibility/eliigibility-tags/eligibility-tags.scss +6 -0
  217. package/src/registry/eligibility/eliigibility-tags/eligibility-tags.tsx +137 -0
  218. package/src/registry/eligibility/modal/eligibility-details.modal.scss +38 -0
  219. package/src/registry/eligibility/modal/eligibility-details.modal.tsx +131 -0
  220. package/src/registry/modal/client-details-modal/client-details-modal.tsx +9 -26
  221. package/src/registry/modal/otp-verification-modal/otp-verification-modal.scss +31 -1
  222. package/src/registry/modal/otp-verification-modal/otp-verification-modal.tsx +145 -58
  223. package/src/registry/modal/send-to-triage/send-to-triage.modal.scss +16 -1
  224. package/src/registry/modal/send-to-triage/send-to-triage.modal.tsx +681 -97
  225. package/src/registry/payment-details/payment-options/payment-options.scss +13 -0
  226. package/src/registry/payment-details/payment-options/payment-options.tsx +61 -14
  227. package/src/registry/registry.component.scss +18 -1
  228. package/src/registry/registry.component.tsx +242 -111
  229. package/src/registry/registry.resource.ts +8 -5
  230. package/src/registry/types/index.ts +179 -1
  231. package/src/registry/utils/error-handler.ts +33 -0
  232. package/src/registry/utils/format-dependant-display-data.ts +8 -0
  233. package/src/registry/utils/hie-client-adapter.ts +312 -0
  234. package/src/registry/utils/mask-data.ts +11 -0
  235. package/src/resources/dashboard.resource.ts +20 -0
  236. package/src/resources/hie-amrs-automatic-registration.service.ts +16 -0
  237. package/src/resources/identifier-types.ts +29 -0
  238. package/src/resources/patient-resource.ts +62 -0
  239. package/src/resources/queue.resource.ts +23 -0
  240. package/src/resources/superset.resource.ts +20 -0
  241. package/src/resources/visit.resource.ts +19 -1
  242. package/src/root.component.tsx +32 -6
  243. package/src/routes.json +232 -7
  244. package/src/service-queues/action-button.component.tsx +34 -0
  245. package/src/service-queues/action-overflow-menu-item.component.tsx +34 -0
  246. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.scss +31 -0
  247. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.tsx +142 -0
  248. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.scss +0 -0
  249. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.tsx +150 -0
  250. package/src/service-queues/admin/queue/queue-list/queue-list.scss +33 -0
  251. package/src/service-queues/admin/queue/queue-list/queue-list.tsx +113 -0
  252. package/src/service-queues/admin/queue-entry/queue-entry-list.component.scss +6 -0
  253. package/src/service-queues/admin/queue-entry/queue-entry-list.component.tsx +137 -0
  254. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.scss +31 -0
  255. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.tsx +137 -0
  256. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.scss +0 -0
  257. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.tsx +146 -0
  258. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.scss +22 -0
  259. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.tsx +120 -0
  260. package/src/service-queues/admin/service-queue-admin-dashboard.component.scss +6 -0
  261. package/src/service-queues/admin/service-queue-admin-dashboard.component.tsx +34 -0
  262. package/src/service-queues/consultation/consultation.component.scss +7 -0
  263. package/src/service-queues/consultation/consultation.component.tsx +15 -0
  264. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.scss +30 -0
  265. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.tsx +108 -0
  266. package/src/service-queues/metrics/metrics-cards/attended-patients.extension.tsx +38 -0
  267. package/src/service-queues/metrics/metrics-cards/metrics-card.component.tsx +86 -0
  268. package/src/service-queues/metrics/metrics-cards/metrics-card.scss +106 -0
  269. package/src/service-queues/metrics/metrics-cards/waiting-patients.extension.tsx +34 -0
  270. package/src/service-queues/metrics/metrics-container.component.tsx +23 -0
  271. package/src/service-queues/metrics/metrics-container.scss +36 -0
  272. package/src/service-queues/metrics/metrics.resource.ts +65 -0
  273. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.scss +26 -0
  274. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.tsx +108 -0
  275. package/src/service-queues/modals/move/move-patient.component.scss +35 -0
  276. package/src/service-queues/modals/move/move-patient.component.tsx +152 -0
  277. package/src/service-queues/modals/serve/serve-patient.comppnent.scss +0 -0
  278. package/src/service-queues/modals/serve/serve-patient.comppnent.tsx +80 -0
  279. package/src/service-queues/modals/sign-off/sign-off.modal.scss +0 -0
  280. package/src/service-queues/modals/sign-off/sign-off.modal.tsx +79 -0
  281. package/src/service-queues/modals/transition/transition-patient.component.scss +0 -0
  282. package/src/service-queues/modals/transition/transition-patient.component.tsx +122 -0
  283. package/src/service-queues/queue-list/check-in.service.ts +26 -0
  284. package/src/service-queues/queue-list/queue-list.component.scss +36 -0
  285. package/src/service-queues/queue-list/queue-list.component.tsx +249 -0
  286. package/src/service-queues/queue-room.component.tsx +39 -0
  287. package/src/service-queues/room/room.component.tsx +58 -0
  288. package/src/service-queues/service-queue/service-queue.component.scss +14 -0
  289. package/src/service-queues/service-queue/service-queue.component.tsx +399 -0
  290. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.scss +12 -0
  291. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.tsx +63 -0
  292. package/src/service-queues/service-queue.scss +27 -0
  293. package/src/service-queues/service-queue.tsx +37 -0
  294. package/src/service-queues/service-queues.resource.ts +361 -0
  295. package/src/service-queues/service.resource.ts +28 -0
  296. package/src/shared/constants/civil-status.ts +29 -0
  297. package/src/shared/constants/concepts.ts +15 -0
  298. package/src/shared/constants/index.ts +1 -2
  299. package/src/shared/constants/patient-category.ts +6 -0
  300. package/src/shared/constants/person-attributes.ts +33 -0
  301. package/src/shared/constants/visit-types.ts +7 -0
  302. package/src/shared/services/billing.resource.ts +38 -0
  303. package/src/shared/services/client-payment-mode.resource.ts +27 -0
  304. package/src/shared/services/client-payment.resource.ts +17 -0
  305. package/src/shared/services/eligibility.resource.ts +19 -0
  306. package/src/shared/services/encounters.resource.ts +27 -0
  307. package/src/shared/services/location.resource.ts +9 -0
  308. package/src/shared/types/index.ts +152 -0
  309. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.scss +42 -0
  310. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.tsx +42 -0
  311. package/src/shared/ui/confirm-modal/confirm.modal.scss +18 -0
  312. package/src/shared/ui/confirm-modal/confirm.modal.tsx +38 -0
  313. package/src/shared/ui/otp-input/otp-input.component.scss +14 -0
  314. package/src/shared/ui/otp-input/otp-input.component.tsx +90 -0
  315. package/src/shared/ui/stat-card/stat-card.component.scss +10 -0
  316. package/src/shared/ui/stat-card/stat-card.component.tsx +26 -0
  317. package/src/shared/ui/timer/timer.component.scss +5 -0
  318. package/src/shared/ui/timer/timer.component.tsx +40 -0
  319. package/src/shared/utils/get-base-url.ts +27 -0
  320. package/src/shared/utils/get-tag-type.ts +66 -0
  321. package/src/side-nav-menu/nav-link-config.ts +6 -0
  322. package/src/triage/metrics/attended-patients.extension.tsx +42 -0
  323. package/src/triage/metrics/metrics.scss +36 -0
  324. package/src/triage/metrics/triage-metrics.component.tsx +21 -0
  325. package/src/triage/metrics/waiting-patients.extension.tsx +39 -0
  326. package/src/triage/room/room.scss +29 -0
  327. package/src/triage/triage.component.tsx +15 -0
  328. package/src/triage/triage.resource.ts +19 -0
  329. package/src/triage/types.ts +16 -0
  330. package/src/types/types.ts +180 -0
  331. package/dist/16.js +0 -1
  332. package/dist/16.js.map +0 -1
  333. package/dist/184.js +0 -2
  334. package/dist/184.js.map +0 -1
  335. package/dist/197.js +0 -1
  336. package/dist/198.js +0 -2
  337. package/dist/198.js.map +0 -1
  338. package/dist/200.js +0 -2
  339. package/dist/200.js.map +0 -1
  340. package/dist/255.js +0 -1
  341. package/dist/255.js.map +0 -1
  342. package/dist/300.js +0 -1
  343. package/dist/335.js +0 -1
  344. package/dist/353.js +0 -1
  345. package/dist/353.js.map +0 -1
  346. package/dist/420.js +0 -1
  347. package/dist/420.js.map +0 -1
  348. package/dist/540.js +0 -2
  349. package/dist/540.js.map +0 -1
  350. package/dist/55.js +0 -1
  351. package/dist/652.js +0 -1
  352. package/dist/860.js +0 -1
  353. package/dist/860.js.map +0 -1
  354. package/dist/91.js +0 -1
  355. package/dist/91.js.map +0 -1
  356. package/dist/93.js +0 -1
  357. package/dist/93.js.map +0 -1
  358. package/dist/99.js +0 -1
  359. package/dist/openmrs-esm-home-app.js +0 -1
  360. package/dist/openmrs-esm-home-app.js.buildmanifest.json +0 -626
  361. package/dist/openmrs-esm-home-app.js.map +0 -1
  362. package/src/consultation/consultation.tsx +0 -7
  363. /package/dist/{184.js.LICENSE.txt → 3184.js.LICENSE.txt} +0 -0
  364. /package/dist/{540.js.LICENSE.txt → 6540.js.LICENSE.txt} +0 -0
@@ -0,0 +1,165 @@
1
+ import { restBaseUrl, showModal, useConfig } from '@openmrs/esm-framework';
2
+ import { type ConfigObject, type QueueEntryAction } from '../config-schema';
3
+ import { useMemo } from 'react';
4
+ import { useSWRConfig } from 'swr';
5
+ import { type QueueEntry } from '../types/types';
6
+ import { mapVisitQueueEntryProperties, serveQueueEntry } from '../service-queues/service-queues.resource';
7
+
8
+ type ActionProps = {
9
+ label: string;
10
+ text: string;
11
+ onClick: (queueEntry: QueueEntry) => void;
12
+ showIf?: (queueEntry: QueueEntry) => boolean;
13
+ isDelete?: boolean;
14
+ };
15
+
16
+ export function useMutateQueueEntries() {
17
+ const { mutate } = useSWRConfig();
18
+
19
+ return {
20
+ mutateQueueEntries: () => {
21
+ return mutate((key) => {
22
+ return (
23
+ typeof key === 'string' &&
24
+ (key.includes(`${restBaseUrl}/queue-entry`) || key.includes(`${restBaseUrl}/visit-queue-entry`))
25
+ );
26
+ }).then(() => {
27
+ window.dispatchEvent(new CustomEvent('queue-entry-updated'));
28
+ });
29
+ },
30
+ };
31
+ }
32
+
33
+ export function useActionPropsByKey() {
34
+ const {
35
+ concepts: { defaultStatusConceptUuid },
36
+ visitQueueNumberAttributeUuid,
37
+ } = useConfig<ConfigObject>();
38
+ const { mutateQueueEntries } = useMutateQueueEntries();
39
+
40
+ // Map action strings to component props
41
+ const actionPropsByKey: Record<QueueEntryAction, ActionProps> = useMemo(() => {
42
+ return {
43
+ call: {
44
+ // t('call', 'Call'),
45
+ label: 'call',
46
+ text: 'Call',
47
+ onClick: async (queueEntry: QueueEntry) => {
48
+ const mappedQueueEntry = mapVisitQueueEntryProperties(queueEntry, visitQueueNumberAttributeUuid);
49
+ const callingQueueResponse = await serveQueueEntry(
50
+ mappedQueueEntry.queue.name,
51
+ mappedQueueEntry.visitQueueNumber,
52
+ 'calling',
53
+ );
54
+ if (callingQueueResponse.ok) {
55
+ await mutateQueueEntries();
56
+ const dispose = showModal('call-queue-entry-modal', {
57
+ closeModal: () => dispose(),
58
+ queueEntry,
59
+ size: 'sm',
60
+ });
61
+ }
62
+ },
63
+ showIf: (queueEntry: QueueEntry) => {
64
+ return queueEntry.status.uuid === defaultStatusConceptUuid;
65
+ },
66
+ },
67
+ move: {
68
+ // t('move', 'Move'),
69
+ label: 'move',
70
+ text: 'Move',
71
+ onClick: (queueEntry: QueueEntry) => {
72
+ const dispose = showModal('move-queue-entry-modal', {
73
+ closeModal: () => dispose(),
74
+ queueEntry,
75
+ size: 'sm',
76
+ });
77
+ },
78
+ },
79
+ transition: {
80
+ // t('transition', 'Transition'),
81
+ label: 'transition',
82
+ text: 'Transition',
83
+ onClick: (queueEntry: QueueEntry) => {
84
+ const dispose = showModal('transition-queue-entry-modal', {
85
+ closeModal: () => dispose(),
86
+ queueEntry,
87
+ size: 'sm',
88
+ });
89
+ },
90
+ },
91
+ edit: {
92
+ // t('edit', 'Edit'),
93
+ label: 'edit',
94
+ text: 'Edit',
95
+ onClick: (queueEntry: QueueEntry) => {
96
+ const dispose = showModal('edit-queue-entry-modal', {
97
+ closeModal: () => dispose(),
98
+ queueEntry,
99
+ size: 'sm',
100
+ });
101
+ },
102
+ },
103
+ remove: {
104
+ // t('removePatient', 'Remove patient'),
105
+ label: 'removePatient',
106
+ text: 'Remove patient',
107
+ onClick: (queueEntry: QueueEntry) => {
108
+ const dispose = showModal('remove-queue-entry-modal', {
109
+ closeModal: () => dispose(),
110
+ queueEntry,
111
+ size: 'sm',
112
+ });
113
+ },
114
+ },
115
+ delete: {
116
+ // t('deleteEntry', 'Delete entry'),
117
+ label: 'deleteEntry',
118
+ text: 'Delete entry',
119
+ onClick: (queueEntry: QueueEntry) => {
120
+ const dispose = showModal('delete-queue-entry-modal', {
121
+ closeModal: () => dispose(),
122
+ queueEntry,
123
+ size: 'sm',
124
+ });
125
+ },
126
+ isDelete: true,
127
+ showIf: (queueEntry: QueueEntry) => {
128
+ return queueEntry.previousQueueEntry === null;
129
+ },
130
+ },
131
+ undo: {
132
+ // t('undoTransition', 'Undo transition'),
133
+ label: 'undoTransition',
134
+ text: 'Undo transition',
135
+ onClick: (queueEntry: QueueEntry) => {
136
+ const dispose = showModal('undo-transition-queue-entry-modal', {
137
+ closeModal: () => dispose(),
138
+ queueEntry,
139
+ size: 'sm',
140
+ });
141
+ },
142
+ isDelete: true,
143
+ showIf: (queueEntry: QueueEntry) => {
144
+ return queueEntry.previousQueueEntry !== null;
145
+ },
146
+ },
147
+ signOff: {
148
+ // t('signOff', 'Sign off'),
149
+ label: 'signOff',
150
+ text: 'Sign off',
151
+ onClick: (queueEntry: QueueEntry) => {
152
+ const dispose = showModal('sign-off-queue-entry-modal', {
153
+ closeModal: () => dispose(),
154
+ queueEntry,
155
+ size: 'sm',
156
+ });
157
+ },
158
+ showIf: (queueEntry: QueueEntry) => {
159
+ return queueEntry.previousQueueEntry !== null;
160
+ },
161
+ },
162
+ };
163
+ }, [defaultStatusConceptUuid, visitQueueNumberAttributeUuid, mutateQueueEntries]);
164
+ return actionPropsByKey;
165
+ }
package/src/index.ts CHANGED
@@ -6,8 +6,24 @@
6
6
  */
7
7
  import { getAsyncLifecycle, defineConfigSchema, getSyncLifecycle } from '@openmrs/esm-framework';
8
8
  import { configSchema } from './config-schema';
9
+ import { registryDashboardMeta } from './dashboard-meta/registry-dashboard.meta';
10
+ import { createDashboardLink } from './createDashboardLink';
11
+ import { createDashboardLink as openMrsCreateDashboardLink } from '@openmrs/esm-patient-common-lib';
12
+ import { queueDashboardMeta } from './dashboard-meta/queue-dashboard.meta';
13
+ import { pharmacyDashboardMeta } from './dashboard-meta/pharmacy-dashboard.meta';
14
+ import { triageDashboardMeta } from './dashboard-meta/triage-dashboard.meta';
15
+ import { consultationDashboardMeta } from './dashboard-meta/consultation-dashboard.meta';
16
+ import { dhaWorkflowDashboardMeta } from './dashboard-meta/dha-workflow-dashboard.meta';
17
+ import { accountingDashboardMeta } from './dashboard-meta/accounting-dashboard.meta';
18
+ import { registersDashboardMeta } from './dashboard-meta/registers-dashboard.meta';
19
+ import { bookingsDashboardMeta } from './dashboard-meta/bookings-dashboard.meta';
20
+ import { mchQueueDashboardMeta } from './dashboard-meta/mch-dashboard.meta';
21
+ import { serviceQueueAdminDashboardMeta } from './dashboard-meta/service-queue-admin.meta';
22
+ import { admissionsDashboardMeta } from './dashboard-meta/admissions-dashboard.meta';
23
+ import { patientChartAdmissionsMetaData } from './dashboard-meta/inpatient-admissions.meta';
24
+ import { billingDashboardMeta } from './dashboard-meta/billing-dashboard.meta';
9
25
 
10
- const moduleName = '@ampath/esm-dha-workflow-app';
26
+ export const moduleName = '@ampath/esm-dha-workflow-app';
11
27
 
12
28
  const options = {
13
29
  featureName: 'Consulation Workflow',
@@ -44,8 +60,109 @@ export const navLinks = getAsyncLifecycle(() => import('./side-nav-menu/nav-link
44
60
  */
45
61
  export const root = getAsyncLifecycle(() => import('./root.component'), options);
46
62
  export const registry = getAsyncLifecycle(() => import('./registry/registry.component'), options);
63
+ export const waitingPatientsExtension = getAsyncLifecycle(
64
+ () => import('./service-queues/metrics/metrics-cards/waiting-patients.extension'),
65
+ options,
66
+ );
67
+ export const attendedToPatientsExtension = getAsyncLifecycle(
68
+ () => import('./service-queues/metrics/metrics-cards/attended-patients.extension'),
69
+ options,
70
+ );
71
+ export const triageWaitingPatientsExtension = getAsyncLifecycle(
72
+ () => import('./triage/metrics/waiting-patients.extension'),
73
+ options,
74
+ );
75
+ export const triageAttendedToPatientsExtension = getAsyncLifecycle(
76
+ () => import('./triage/metrics/attended-patients.extension'),
77
+ options,
78
+ );
47
79
 
48
80
  export const workflowRegistryLink = getAsyncLifecycle(() => import('./widgets/workflow-registry-link.extension'), {
49
81
  featureName: 'workflow-registry-link',
50
82
  moduleName,
51
83
  });
84
+
85
+ export const registryDashboardLink = getSyncLifecycle(createDashboardLink(registryDashboardMeta), options);
86
+
87
+ export const registryExtension = getAsyncLifecycle(() => import('./registry/registry.component'), options);
88
+
89
+ export const queueDashboardLink = getSyncLifecycle(createDashboardLink(queueDashboardMeta), options);
90
+
91
+ export const queueDashboardExtension = getAsyncLifecycle(() => import('./dashboard/dashboard.component'), options);
92
+
93
+ export const pharmacyDashboardLink = getSyncLifecycle(createDashboardLink(pharmacyDashboardMeta), options);
94
+
95
+ export const triageDashboardLink = getSyncLifecycle(createDashboardLink(triageDashboardMeta), options);
96
+
97
+ export const triageQueueExtension = getAsyncLifecycle(() => import('./triage/triage.component'), options);
98
+
99
+ export const consultationDashboardLink = getSyncLifecycle(createDashboardLink(consultationDashboardMeta), options);
100
+
101
+ export const consultationQueue = getAsyncLifecycle(
102
+ () => import('./service-queues/consultation/consultation.component'),
103
+ options,
104
+ );
105
+
106
+ export const dhaWorkflowDashboardLink = getSyncLifecycle(createDashboardLink(dhaWorkflowDashboardMeta), options);
107
+
108
+ export const dhaWorkflowDashboard = getAsyncLifecycle(() => import('./dashboard/dashboard.component'), options);
109
+
110
+ export const accountingDashboardLink = getSyncLifecycle(createDashboardLink(accountingDashboardMeta), options);
111
+
112
+ export const accountingDashboard = getAsyncLifecycle(() => import('./accounting/accounting.component'), options);
113
+
114
+ export const registersDashboardLink = getSyncLifecycle(createDashboardLink(registersDashboardMeta), options);
115
+
116
+ export const registersDashboard = getAsyncLifecycle(() => import('./registers/registers.component'), options);
117
+
118
+ export const bookingsDashboardLink = getSyncLifecycle(createDashboardLink(bookingsDashboardMeta), options);
119
+
120
+ export const bookings = getAsyncLifecycle(() => import('./bookings/bookings.component'), options);
121
+
122
+ export const mnchQueueDashboardLink = getSyncLifecycle(createDashboardLink(mchQueueDashboardMeta), options);
123
+
124
+ export const mnchQueueDashboard = getAsyncLifecycle(() => import('./mch/mch-queues.component'), options);
125
+
126
+ export const serviceQueueAdmin = getAsyncLifecycle(
127
+ () => import('./service-queues/admin/service-queue-admin-dashboard.component'),
128
+ options,
129
+ );
130
+
131
+ export const serviceQueuesAdminLink = getSyncLifecycle(createDashboardLink(serviceQueueAdminDashboardMeta), options);
132
+ export const admissionsDashboardLink = getSyncLifecycle(createDashboardLink(admissionsDashboardMeta), options);
133
+
134
+ export const admissionsDashboard = getAsyncLifecycle(
135
+ () => import('./admissions/admissions-dashboard.component'),
136
+ options,
137
+ );
138
+
139
+ export const serviceQueueBannerComponent = getAsyncLifecycle(
140
+ () => import('./service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner'),
141
+ options,
142
+ );
143
+ export const patientChartAdmissionsLink = getSyncLifecycle(
144
+ openMrsCreateDashboardLink(patientChartAdmissionsMetaData as any),
145
+ options,
146
+ );
147
+ export const patientAdmissionSummary = getAsyncLifecycle(
148
+ () => import('./admissions/inpatient/inpatient-admissions.component'),
149
+ options,
150
+ );
151
+ export const billingDashboardLink = getSyncLifecycle(createDashboardLink(billingDashboardMeta), options);
152
+
153
+ export const billingDashboard = getAsyncLifecycle(
154
+ () => import('./billing/dashboard/billingDashboard.component'),
155
+ options,
156
+ );
157
+
158
+ export const billingRoot = getAsyncLifecycle(() => import('./billing/billing-root'), options);
159
+
160
+ export const createOrderBillFormWorkspace = getAsyncLifecycle(
161
+ () => import('./billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.workspace'),
162
+ options,
163
+ );
164
+
165
+ export const visitBillingForm = getAsyncLifecycle(
166
+ () => import('./billing/extensions/visit-billing/visit-billing.extension'),
167
+ options,
168
+ );
@@ -0,0 +1,13 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { ExtensionSlot, WorkspaceContainer } from '@openmrs/esm-framework';
3
+
4
+ const LaboratoryComponent: React.FC = () => {
5
+
6
+ return (
7
+ <div>
8
+ <ExtensionSlot name="laboratory-dashboard-slot" />
9
+ </div>
10
+ );
11
+ };
12
+
13
+ export default LaboratoryComponent;
@@ -4,8 +4,6 @@ import { SideNav } from '@carbon/react';
4
4
  import { attach, ExtensionSlot, isDesktop, useLayoutType } from '@openmrs/esm-framework';
5
5
  import styles from './left-panel.scss';
6
6
 
7
- attach('nav-menu-slot', 'bed-management-left-panel');
8
-
9
7
  const LeftPanel: React.FC = () => {
10
8
  const { t } = useTranslation();
11
9
  const layout = useLayoutType();
@@ -0,0 +1,7 @@
1
+ .mnchLayout{
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ row-gap: 10px;
6
+ padding: 2% 2%;
7
+ }
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import styles from './mch-queues.component.scss';
3
+ import { Tab, TabList, TabPanel, TabPanels, Tabs } from '@carbon/react';
4
+ import MchTriage from './queues/triage/mch-triage';
5
+ import MchConsultation from './queues/consultation/mch-consultation';
6
+ interface MchQueuesProps {}
7
+ const MchQueues: React.FC<MchQueuesProps> = () => {
8
+ return (
9
+ <div className={styles.mnchLayout}>
10
+ <div className={styles.mnchHeader}>
11
+ <h4>MNCH</h4>
12
+ </div>
13
+ <div className={styles.mnchContent}>
14
+ <Tabs>
15
+ <TabList contained>
16
+ <Tab>Triage</Tab>
17
+ <Tab>Consultation</Tab>
18
+ </TabList>
19
+ <TabPanels>
20
+ <TabPanel>
21
+ <MchTriage />
22
+ </TabPanel>
23
+ <TabPanel>
24
+ <MchConsultation />
25
+ </TabPanel>
26
+ </TabPanels>
27
+ </Tabs>
28
+ </div>
29
+ </div>
30
+ );
31
+ };
32
+ export default MchQueues;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import ServiceQueueComponent from '../../../service-queues/service-queue/service-queue.component';
3
+ import { QUEUE_SERVICE_UUIDS } from '../../../shared/constants/concepts';
4
+
5
+ interface MchConsultationProps {}
6
+ const MchConsultation: React.FC<MchConsultationProps> = () => {
7
+ return (
8
+ <>
9
+ <div>
10
+ <ServiceQueueComponent
11
+ serviceTypeUuid={QUEUE_SERVICE_UUIDS.MCH_CLINICAL_CONSULTATION_SERVICE_UUID}
12
+ title="MCH Consultation"
13
+ />
14
+ </div>
15
+ </>
16
+ );
17
+ };
18
+ export default MchConsultation;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import ServiceQueueComponent from '../../../service-queues/service-queue/service-queue.component';
3
+ import { QUEUE_SERVICE_UUIDS } from '../../../shared/constants/concepts';
4
+
5
+ interface TriageProps {}
6
+ const MchTriage: React.FC<TriageProps> = () => {
7
+ return (
8
+ <>
9
+ <div>
10
+ <ServiceQueueComponent serviceTypeUuid={QUEUE_SERVICE_UUIDS.MCH_TRIAGE_SERVICE_UUID} title="MCH Triage" />
11
+ </div>
12
+ </>
13
+ );
14
+ };
15
+ export default MchTriage;
@@ -0,0 +1,7 @@
1
+ @use '@carbon/type';
2
+ @use '@openmrs/esm-styleguide/src/vars' as *;
3
+
4
+ .subHeading {
5
+ @include type.type-style('heading-compact-01');
6
+ color: $ui-05;
7
+ }
@@ -0,0 +1,52 @@
1
+ import React, { useCallback, useState } from 'react';
2
+ import { Button, ButtonSkeleton, ModalBody, ModalFooter, ModalHeader } from '@carbon/react';
3
+ import { useTranslation } from 'react-i18next';
4
+ import styles from './sign-off-modal.scss';
5
+ import { type QueueEntry } from '../types/types';
6
+
7
+ interface SignOffModalProps {
8
+ queueEntries: Array<QueueEntry>;
9
+ closeModal: () => void;
10
+ }
11
+
12
+ const SignOffModal: React.FC<SignOffModalProps> = ({ queueEntries, closeModal }) => {
13
+ const { t } = useTranslation();
14
+ const [isSubmitting, setIsSubmitting] = useState(false);
15
+
16
+ const handleSignOffRequest = useCallback(() => {
17
+ setIsSubmitting(true);
18
+ }, []);
19
+
20
+ return (
21
+ <div>
22
+ <ModalHeader
23
+ closeModal={closeModal}
24
+ label={t('signOffMessage', 'Sign off message')}
25
+ title={t('signOffMessage', 'Sign off message')}
26
+ />
27
+ <ModalBody>
28
+ <p className={styles.subHeading} id="subHeading">
29
+ {t(
30
+ 'signOffMessage',
31
+ 'Sign off message',
32
+ )}
33
+ .
34
+ </p>
35
+ </ModalBody>
36
+ <ModalFooter>
37
+ <Button kind="secondary" onClick={closeModal}>
38
+ {t('cancel', 'Cancel')}
39
+ </Button>
40
+ {isSubmitting === true ? (
41
+ <ButtonSkeleton />
42
+ ) : (
43
+ <Button kind="danger" onClick={handleSignOffRequest}>
44
+ {t('signOff', 'SignOff')}
45
+ </Button>
46
+ )}
47
+ </ModalFooter>
48
+ </div>
49
+ );
50
+ };
51
+
52
+ export default SignOffModal;
@@ -0,0 +1,13 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { ExtensionSlot, WorkspaceContainer } from '@openmrs/esm-framework';
3
+
4
+ const Mortuary: React.FC = () => {
5
+
6
+ return (
7
+ <div>
8
+ <ExtensionSlot name="mortuary-dashboard-slot" />
9
+ </div>
10
+ );
11
+ };
12
+
13
+ export default Mortuary;
@@ -0,0 +1,13 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { ExtensionSlot, WorkspaceContainer } from '@openmrs/esm-framework';
3
+
4
+ const PharmacyComponent: React.FC = () => {
5
+
6
+ return (
7
+ <div>
8
+ <ExtensionSlot name="dispensing-dashboard-slot" />
9
+ </div>
10
+ );
11
+ };
12
+
13
+ export default PharmacyComponent;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+
3
+ interface RegistersProps {}
4
+ const Registers: React.FC<RegistersProps> = () => {
5
+ return <>Registers</>;
6
+ };
7
+
8
+ export default Registers;
@@ -0,0 +1,6 @@
1
+ .eligibilityTagsLayout{
2
+ display: flex;
3
+ flex-direction: row;
4
+ width: 100%;
5
+ column-gap: 5px;
6
+ }
@@ -0,0 +1,137 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { type EligibilityFilterDto, type HieClientEligibility } from '../../types';
3
+ import { getTagType } from '../../../shared/utils/get-tag-type';
4
+ import { Button, InlineLoading, Tag } from '@carbon/react';
5
+ import { getClientEligibityStatus } from '../../../shared/services/eligibility.resource';
6
+ import styles from './eligibility-tags.scss';
7
+ import ClientEligibilityDetailsModal from '../modal/eligibility-details.modal';
8
+ import { showSnackbar } from '@openmrs/esm-framework';
9
+ interface EligibilityTags {
10
+ crId: string;
11
+ locationUuid: string;
12
+ }
13
+ const EligibilityTags: React.FC<EligibilityTags> = ({ crId, locationUuid }) => {
14
+ const [clientEligibility, setClientEligibility] = useState<HieClientEligibility>();
15
+ const [isLoading, setIsLoading] = useState<boolean>(false);
16
+ const [displayEligibilityDetailsModal, setDisplayEligibilityDetailsModal] = useState<boolean>(false);
17
+ useEffect(() => {
18
+ getPatientEligibilityStatus();
19
+ }, [crId]);
20
+
21
+ if (!crId) {
22
+ return <></>;
23
+ }
24
+
25
+ function generatePatientEligibilityPayload(): EligibilityFilterDto {
26
+ const payload: EligibilityFilterDto = {
27
+ requestIdNumber: '',
28
+ requestIdType: '',
29
+ locationUuid: locationUuid,
30
+ };
31
+
32
+ if (crId) {
33
+ payload.requestIdNumber = crId;
34
+ payload.requestIdType = '3';
35
+ }
36
+
37
+ return payload;
38
+ }
39
+
40
+ async function getPatientEligibilityStatus() {
41
+ setIsLoading(true);
42
+ const payload = generatePatientEligibilityPayload();
43
+ if (!isValidEligibilityPayload(payload)) {
44
+ setIsLoading(false);
45
+ return;
46
+ }
47
+ try {
48
+ const resp = await getClientEligibityStatus(payload);
49
+ setClientEligibility(resp);
50
+ } catch (error) {
51
+ showSnackbar({
52
+ kind: 'error',
53
+ title: 'Failed getting eligibility status',
54
+ subtitle: 'An error occurred while fetching eligibility status. Please try again or contact support',
55
+ });
56
+ } finally {
57
+ setIsLoading(false);
58
+ }
59
+ }
60
+
61
+ function isValidEligibilityPayload(eligibilityFilterDto: EligibilityFilterDto): boolean {
62
+ if (!eligibilityFilterDto.locationUuid) {
63
+ return false;
64
+ }
65
+ if (!eligibilityFilterDto.requestIdNumber) {
66
+ return false;
67
+ }
68
+ if (!eligibilityFilterDto.requestIdType) {
69
+ return false;
70
+ }
71
+
72
+ return true;
73
+ }
74
+ function handleModalClose() {
75
+ setDisplayEligibilityDetailsModal(false);
76
+ }
77
+ function showEligibilityDetailsModal() {
78
+ setDisplayEligibilityDetailsModal(true);
79
+ }
80
+ return (
81
+ <>
82
+ <div className={styles.eligibilityTagsLayout}>
83
+ {isLoading ? (
84
+ <>
85
+ <InlineLoading description="Fetching Eligibility data..." />
86
+ </>
87
+ ) : (
88
+ <>
89
+ {clientEligibility ? (
90
+ <>
91
+ {clientEligibility.schemes && clientEligibility.schemes.length > 0 ? (
92
+ <>
93
+ {clientEligibility.schemes.map((s) => {
94
+ return (
95
+ <div>
96
+ <Tag className="some-class" size="md" title="Status" type={getTagType(s.coverage.status)}>
97
+ {s.schemeName} : {s.coverage.status === '1' ? 'Active' : 'Not Active'}
98
+ </Tag>
99
+ </div>
100
+ );
101
+ })}
102
+ <div>
103
+ <Button kind="ghost" size="sm" onClick={showEligibilityDetailsModal}>
104
+ View
105
+ </Button>
106
+ </div>
107
+ </>
108
+ ) : (
109
+ <div>
110
+ <Tag className="some-class" size="md" title="Status" type="gray">
111
+ No Insurance schemes found
112
+ </Tag>
113
+ </div>
114
+ )}
115
+ </>
116
+ ) : (
117
+ <></>
118
+ )}
119
+ </>
120
+ )}
121
+ {displayEligibilityDetailsModal ? (
122
+ <>
123
+ <ClientEligibilityDetailsModal
124
+ onModalClose={handleModalClose}
125
+ onSubmit={handleModalClose}
126
+ open={displayEligibilityDetailsModal}
127
+ hieClientEligibility={clientEligibility}
128
+ />
129
+ </>
130
+ ) : (
131
+ <></>
132
+ )}
133
+ </div>
134
+ </>
135
+ );
136
+ };
137
+ export default EligibilityTags;