@ampath/esm-dha-workflow-app 4.0.0-next.15 → 4.0.0-next.151

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 (379) 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/1558.js.map +1 -0
  6. package/dist/1729.js +1 -0
  7. package/dist/1729.js.map +1 -0
  8. package/dist/182.js +1 -0
  9. package/dist/182.js.map +1 -0
  10. package/dist/1826.js +1 -0
  11. package/dist/1826.js.map +1 -0
  12. package/dist/1833.js +1 -0
  13. package/dist/1833.js.map +1 -0
  14. package/dist/1856.js +1 -0
  15. package/dist/1856.js.map +1 -0
  16. package/dist/1925.js +1 -0
  17. package/dist/1925.js.map +1 -0
  18. package/dist/2021.js +1 -0
  19. package/dist/2021.js.map +1 -0
  20. package/dist/2054.js +1 -0
  21. package/dist/2054.js.map +1 -0
  22. package/dist/2177.js +2 -0
  23. package/dist/2177.js.map +1 -0
  24. package/dist/2333.js +1 -0
  25. package/dist/2333.js.map +1 -0
  26. package/dist/2364.js +2 -0
  27. package/dist/{388.js.LICENSE.txt → 2364.js.LICENSE.txt} +15 -0
  28. package/dist/2364.js.map +1 -0
  29. package/dist/2801.js +1 -0
  30. package/dist/2801.js.map +1 -0
  31. package/dist/3041.js +1 -0
  32. package/dist/3041.js.map +1 -0
  33. package/dist/3099.js +1 -0
  34. package/dist/3184.js +2 -0
  35. package/dist/3184.js.map +1 -0
  36. package/dist/3654.js +1 -0
  37. package/dist/3654.js.map +1 -0
  38. package/dist/4055.js +1 -0
  39. package/dist/4205.js +1 -0
  40. package/dist/4205.js.map +1 -0
  41. package/dist/4225.js +1 -0
  42. package/dist/4225.js.map +1 -0
  43. package/dist/4300.js +1 -0
  44. package/dist/4335.js +1 -0
  45. package/dist/4353.js +1 -0
  46. package/dist/4353.js.map +1 -0
  47. package/dist/4517.js +1 -0
  48. package/dist/4517.js.map +1 -0
  49. package/dist/4652.js +1 -0
  50. package/dist/4674.js +1 -0
  51. package/dist/4674.js.map +1 -0
  52. package/dist/4947.js +1 -0
  53. package/dist/4947.js.map +1 -0
  54. package/dist/5015.js +1 -0
  55. package/dist/5015.js.map +1 -0
  56. package/dist/5422.js +1 -0
  57. package/dist/5422.js.map +1 -0
  58. package/dist/5428.js +1 -0
  59. package/dist/5428.js.map +1 -0
  60. package/dist/5752.js +1 -0
  61. package/dist/5752.js.map +1 -0
  62. package/dist/5851.js +1 -0
  63. package/dist/5851.js.map +1 -0
  64. package/dist/6260.js +1 -0
  65. package/dist/6260.js.map +1 -0
  66. package/dist/6264.js +1 -0
  67. package/dist/6264.js.map +1 -0
  68. package/dist/6540.js +2 -0
  69. package/dist/6540.js.map +1 -0
  70. package/dist/6606.js +1 -0
  71. package/dist/6606.js.map +1 -0
  72. package/dist/{709.js → 693.js} +1 -1
  73. package/dist/693.js.map +1 -0
  74. package/dist/6991.js +1 -0
  75. package/dist/6991.js.map +1 -0
  76. package/dist/7199.js +1 -0
  77. package/dist/7199.js.map +1 -0
  78. package/dist/7255.js +1 -0
  79. package/dist/7255.js.map +1 -0
  80. package/dist/7258.js +1 -0
  81. package/dist/7258.js.map +1 -0
  82. package/dist/7420.js +1 -0
  83. package/dist/7420.js.map +1 -0
  84. package/dist/8114.js +1 -0
  85. package/dist/8114.js.map +1 -0
  86. package/dist/8235.js +1 -0
  87. package/dist/8235.js.map +1 -0
  88. package/dist/8339.js +1 -0
  89. package/dist/8339.js.map +1 -0
  90. package/dist/8558.js +1 -0
  91. package/dist/8558.js.map +1 -0
  92. package/dist/8865.js +1 -0
  93. package/dist/8865.js.map +1 -0
  94. package/dist/8895.js +1 -0
  95. package/dist/8895.js.map +1 -0
  96. package/dist/9037.js +1 -0
  97. package/dist/9037.js.map +1 -0
  98. package/dist/9091.js +1 -0
  99. package/dist/9091.js.map +1 -0
  100. package/dist/9093.js +1 -0
  101. package/dist/9093.js.map +1 -0
  102. package/dist/9117.js +1 -0
  103. package/dist/9117.js.map +1 -0
  104. package/dist/9721.js +1 -0
  105. package/dist/9721.js.map +1 -0
  106. package/dist/esm-dha-workflow-app.js +1 -1
  107. package/dist/esm-dha-workflow-app.js.buildmanifest.json +990 -215
  108. package/dist/esm-dha-workflow-app.js.map +1 -1
  109. package/dist/main.js +1 -1
  110. package/dist/main.js.map +1 -1
  111. package/dist/routes.json +1 -1
  112. package/package.json +10 -3
  113. package/src/accounting/accounting.component.tsx +13 -0
  114. package/src/admissions/admission-request-list/admission-request-list.scss +0 -0
  115. package/src/admissions/admission-request-list/admission-request-list.tsx +134 -0
  116. package/src/admissions/admissions-dashboard.component.scss +15 -0
  117. package/src/admissions/admissions-dashboard.component.tsx +160 -0
  118. package/src/admissions/admissions.resource.ts +101 -0
  119. package/src/admissions/admitted-list/admitted-patients-list.tsx +141 -0
  120. package/src/admissions/constants/index.ts +33 -0
  121. package/src/admissions/discharged-list/discharged-list.scss +0 -0
  122. package/src/admissions/discharged-list/discharged-list.tsx +58 -0
  123. package/src/admissions/inpatient/admission-history/patient-admission-history.tsx +76 -0
  124. package/src/admissions/inpatient/admission-requests/patient-admission-requests.scss +19 -0
  125. package/src/admissions/inpatient/admission-requests/patient-admission-requests.tsx +72 -0
  126. package/src/admissions/inpatient/inpatient-admissions.component.scss +7 -0
  127. package/src/admissions/inpatient/inpatient-admissions.component.tsx +46 -0
  128. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.scss +23 -0
  129. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.tsx +156 -0
  130. package/src/admissions/modal/admit-patient/admit-patient.modal.scss +0 -0
  131. package/src/admissions/modal/admit-patient/admit-patient.modal.tsx +109 -0
  132. package/src/admissions/modal/bed-swap/bed-swap.modal.scss +0 -0
  133. package/src/admissions/modal/bed-swap/bed-swap.modal.tsx +102 -0
  134. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.scss +11 -0
  135. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.tsx +105 -0
  136. package/src/admissions/modal/discharge/discharge-patient.modal.scss +13 -0
  137. package/src/admissions/modal/discharge/discharge-patient.modal.tsx +84 -0
  138. package/src/admissions/types/index.ts +192 -0
  139. package/src/appointments/appointments.component.tsx +13 -0
  140. package/src/billing/api/billing.api.ts +107 -0
  141. package/src/billing/billing-root.tsx +20 -0
  142. package/src/billing/dashboard/billingDashboard.component.scss +0 -0
  143. package/src/billing/dashboard/billingDashboard.component.tsx +25 -0
  144. package/src/billing/extensions/visit-billing/visit-billing.extension.scss +0 -0
  145. package/src/billing/extensions/visit-billing/visit-billing.extension.tsx +508 -0
  146. package/src/billing/invoice/bill.resource.ts +47 -0
  147. package/src/billing/invoice/invoice-header/header-card/header-card.scss +17 -0
  148. package/src/billing/invoice/invoice-header/header-card/header-card.tsx +21 -0
  149. package/src/billing/invoice/invoice.scss +113 -0
  150. package/src/billing/invoice/invoice.tsx +1441 -0
  151. package/src/billing/invoice/line-items/line-items.scss +0 -0
  152. package/src/billing/invoice/line-items/line-items.tsx +120 -0
  153. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.scss +23 -0
  154. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.tsx +114 -0
  155. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.scss +0 -0
  156. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.tsx +122 -0
  157. package/src/billing/invoice/payment-details/payment-details.scss +0 -0
  158. package/src/billing/invoice/payment-details/payment-details.tsx +43 -0
  159. package/src/billing/invoice/print-invoice/print-receipt.component.tsx +44 -0
  160. package/src/billing/invoice/print-invoice/print-receipt.scss +14 -0
  161. package/src/billing/types/index.ts +84 -0
  162. package/src/billing/utils/index.ts +17 -0
  163. package/src/billing/widgets/billingTotalsRow.component.scss +0 -0
  164. package/src/billing/widgets/billingTotalsRow.component.tsx +712 -0
  165. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.resource.ts +103 -0
  166. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.scss +58 -0
  167. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.workspace.tsx +349 -0
  168. package/src/billing/workspaces/create-order-bill-form-workspace/schema.ts +11 -0
  169. package/src/bookings/bookings.component.scss +7 -0
  170. package/src/bookings/bookings.component.tsx +31 -0
  171. package/src/bookings/daily/daily-bookings.component.scss +38 -0
  172. package/src/bookings/daily/daily-bookings.component.tsx +138 -0
  173. package/src/bookings/daily/daily-bookings.resource.ts +28 -0
  174. package/src/bookings/daily/filters/daily-bookings-filter.component.scss +15 -0
  175. package/src/bookings/daily/filters/daily-bookings-filter.component.tsx +80 -0
  176. package/src/bookings/daily/patient-list/daily-bookings-patient-list.component.tsx +97 -0
  177. package/src/bookings/types/index.ts +68 -0
  178. package/src/config-schema.ts +91 -1
  179. package/src/createDashboardLink.tsx +9 -0
  180. package/src/dashboard/charts/chart.component.scss +13 -0
  181. package/src/dashboard/charts/chart.component.tsx +56 -0
  182. package/src/dashboard/dashboard.component.scss +7 -0
  183. package/src/dashboard/dashboard.component.tsx +51 -0
  184. package/src/dashboard/overview/overview.component.scss +150 -0
  185. package/src/dashboard/overview/overview.component.tsx +134 -0
  186. package/src/dashboard/patient-list/patient-list.component.tsx +41 -0
  187. package/src/dashboard-meta/accounting-dashboard.meta.ts +6 -0
  188. package/src/dashboard-meta/admissions-dashboard.meta.ts +6 -0
  189. package/src/dashboard-meta/billing-dashboard.meta.ts +6 -0
  190. package/src/dashboard-meta/bookings-dashboard.meta.ts +6 -0
  191. package/src/dashboard-meta/consultation-dashboard.meta.ts +6 -0
  192. package/src/dashboard-meta/dha-workflow-dashboard.meta.ts +6 -0
  193. package/src/dashboard-meta/inpatient-admissions.meta.ts +6 -0
  194. package/src/dashboard-meta/maternity-dashboard.meta.ts +6 -0
  195. package/src/dashboard-meta/mch-dashboard.meta.ts +6 -0
  196. package/src/dashboard-meta/pharmacy-dashboard.meta.ts +6 -0
  197. package/src/dashboard-meta/queue-dashboard.meta.ts +6 -0
  198. package/src/dashboard-meta/registers-dashboard.meta.ts +6 -0
  199. package/src/dashboard-meta/registry-dashboard.meta.ts +6 -0
  200. package/src/dashboard-meta/service-queue-admin.meta.ts +6 -0
  201. package/src/dashboard-meta/triage-dashboard.meta.ts +6 -0
  202. package/src/hooks/useActions.ts +19 -2
  203. package/src/index.ts +110 -15
  204. package/src/laboratory/laboratory.component.tsx +13 -0
  205. package/src/mnch/maternity/maternity-queues.component.scss +7 -0
  206. package/src/mnch/maternity/maternity-queues.component.tsx +28 -0
  207. package/src/mnch/maternity/queues/triage/maternity-triage.tsx +15 -0
  208. package/src/mnch/mch/mch-queues.component.scss +7 -0
  209. package/src/mnch/mch/mch-queues.component.tsx +32 -0
  210. package/src/mnch/mch/queues/consultation/mch-consultation.tsx +18 -0
  211. package/src/mnch/mch/queues/triage/mch-triage.tsx +15 -0
  212. package/src/mnch/mnch-root.tsx +17 -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 +139 -54
  223. package/src/registry/modal/send-to-triage/send-to-triage.modal.scss +9 -1
  224. package/src/registry/modal/send-to-triage/send-to-triage.modal.tsx +665 -45
  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 +6 -0
  228. package/src/registry/registry.component.tsx +94 -27
  229. package/src/registry/registry.resource.ts +10 -6
  230. package/src/registry/types/index.ts +120 -0
  231. package/src/registry/utils/hie-client-adapter.ts +3 -0
  232. package/src/registry/utils/mask-data.ts +11 -0
  233. package/src/resources/dashboard.resource.ts +20 -0
  234. package/src/resources/identifier-types.ts +2 -0
  235. package/src/resources/patient-resource.ts +3 -1
  236. package/src/resources/queue.resource.ts +24 -1
  237. package/src/resources/superset.resource.ts +21 -0
  238. package/src/resources/visit.resource.ts +19 -1
  239. package/src/root.component.tsx +27 -6
  240. package/src/routes.json +222 -15
  241. package/src/{consultation → service-queues}/action-button.component.tsx +2 -2
  242. package/src/{consultation → service-queues}/action-overflow-menu-item.component.tsx +2 -2
  243. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.scss +31 -0
  244. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.tsx +143 -0
  245. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.scss +0 -0
  246. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.tsx +154 -0
  247. package/src/service-queues/admin/queue/queue-list/queue-list.scss +33 -0
  248. package/src/service-queues/admin/queue/queue-list/queue-list.tsx +113 -0
  249. package/src/service-queues/admin/queue-entry/queue-entry-list.component.scss +6 -0
  250. package/src/service-queues/admin/queue-entry/queue-entry-list.component.tsx +137 -0
  251. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.scss +31 -0
  252. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.tsx +137 -0
  253. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.scss +0 -0
  254. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.tsx +146 -0
  255. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.scss +22 -0
  256. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.tsx +120 -0
  257. package/src/service-queues/admin/service-queue-admin-dashboard.component.scss +6 -0
  258. package/src/service-queues/admin/service-queue-admin-dashboard.component.tsx +34 -0
  259. package/src/service-queues/consultation/consultation.component.scss +7 -0
  260. package/src/service-queues/consultation/consultation.component.tsx +15 -0
  261. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.scss +30 -0
  262. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.tsx +108 -0
  263. package/src/service-queues/metrics/metrics-cards/attended-patients.extension.tsx +38 -0
  264. package/src/service-queues/metrics/metrics-cards/waiting-patients.extension.tsx +34 -0
  265. package/src/service-queues/metrics/metrics-container.component.tsx +23 -0
  266. package/src/{metrics → service-queues/metrics}/metrics.resource.ts +0 -36
  267. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.scss +26 -0
  268. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.tsx +108 -0
  269. package/src/service-queues/modals/move/move-patient.component.scss +35 -0
  270. package/src/service-queues/modals/move/move-patient.component.tsx +152 -0
  271. package/src/service-queues/modals/serve/serve-patient.comppnent.scss +0 -0
  272. package/src/service-queues/modals/serve/serve-patient.comppnent.tsx +80 -0
  273. package/src/service-queues/modals/sign-off/sign-off.modal.scss +0 -0
  274. package/src/service-queues/modals/sign-off/sign-off.modal.tsx +79 -0
  275. package/src/service-queues/modals/transition/transition-patient.component.scss +0 -0
  276. package/src/service-queues/modals/transition/transition-patient.component.tsx +122 -0
  277. package/src/service-queues/queue-list/check-in.service.ts +26 -0
  278. package/src/service-queues/queue-list/queue-list.component.scss +50 -0
  279. package/src/service-queues/queue-list/queue-list.component.tsx +302 -0
  280. package/src/service-queues/queue-room.component.tsx +39 -0
  281. package/src/service-queues/room/room.component.tsx +58 -0
  282. package/src/service-queues/service-queue/service-queue.component.scss +14 -0
  283. package/src/service-queues/service-queue/service-queue.component.tsx +399 -0
  284. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.scss +12 -0
  285. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.tsx +63 -0
  286. package/src/service-queues/service-queue.scss +27 -0
  287. package/src/service-queues/service-queue.tsx +37 -0
  288. package/src/service-queues/service-queues.resource.ts +303 -4
  289. package/src/service-queues/service.resource.ts +28 -0
  290. package/src/shared/constants/concepts.ts +18 -0
  291. package/src/shared/constants/index.ts +1 -2
  292. package/src/shared/constants/patient-category.ts +6 -0
  293. package/src/shared/constants/patient-type.ts +10 -0
  294. package/src/shared/constants/visit-types.ts +7 -0
  295. package/src/shared/services/billing.resource.ts +38 -0
  296. package/src/shared/services/client-payment-mode.resource.ts +27 -0
  297. package/src/shared/services/client-payment.resource.ts +17 -0
  298. package/src/shared/services/eligibility.resource.ts +19 -0
  299. package/src/shared/services/encounters.resource.ts +27 -0
  300. package/src/shared/services/location.resource.ts +9 -0
  301. package/src/shared/types/index.ts +152 -0
  302. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.scss +42 -0
  303. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.tsx +42 -0
  304. package/src/shared/ui/confirm-modal/confirm.modal.scss +18 -0
  305. package/src/shared/ui/confirm-modal/confirm.modal.tsx +38 -0
  306. package/src/shared/ui/otp-input/otp-input.component.scss +14 -0
  307. package/src/shared/ui/otp-input/otp-input.component.tsx +90 -0
  308. package/src/shared/ui/stat-card/stat-card.component.scss +10 -0
  309. package/src/shared/ui/stat-card/stat-card.component.tsx +26 -0
  310. package/src/shared/ui/timer/timer.component.scss +5 -0
  311. package/src/shared/ui/timer/timer.component.tsx +40 -0
  312. package/src/shared/utils/get-base-url.ts +27 -0
  313. package/src/shared/utils/get-tag-type.ts +66 -0
  314. package/src/side-nav-menu/mnch-nav-link-config.ts +16 -0
  315. package/src/side-nav-menu/mnch-nav-links.tsx +42 -0
  316. package/src/side-nav-menu/nav-link-config.ts +6 -4
  317. package/src/triage/metrics/attended-patients.extension.tsx +42 -0
  318. package/src/triage/metrics/metrics.scss +36 -0
  319. package/src/triage/metrics/triage-metrics.component.tsx +21 -0
  320. package/src/triage/metrics/waiting-patients.extension.tsx +39 -0
  321. package/src/triage/room/room.scss +29 -0
  322. package/src/triage/triage.component.tsx +15 -0
  323. package/src/triage/triage.resource.ts +19 -0
  324. package/src/triage/types.ts +16 -0
  325. package/src/types/types.ts +82 -2
  326. package/dist/104.js +0 -2
  327. package/dist/104.js.map +0 -1
  328. package/dist/184.js +0 -2
  329. package/dist/184.js.map +0 -1
  330. package/dist/197.js +0 -1
  331. package/dist/255.js +0 -1
  332. package/dist/255.js.map +0 -1
  333. package/dist/300.js +0 -1
  334. package/dist/306.js +0 -1
  335. package/dist/306.js.map +0 -1
  336. package/dist/335.js +0 -1
  337. package/dist/353.js +0 -1
  338. package/dist/353.js.map +0 -1
  339. package/dist/388.js +0 -2
  340. package/dist/388.js.map +0 -1
  341. package/dist/420.js +0 -1
  342. package/dist/420.js.map +0 -1
  343. package/dist/460.js +0 -1
  344. package/dist/460.js.map +0 -1
  345. package/dist/540.js +0 -2
  346. package/dist/540.js.map +0 -1
  347. package/dist/55.js +0 -1
  348. package/dist/560.js +0 -1
  349. package/dist/560.js.map +0 -1
  350. package/dist/635.js +0 -1
  351. package/dist/635.js.map +0 -1
  352. package/dist/652.js +0 -1
  353. package/dist/695.js +0 -1
  354. package/dist/695.js.map +0 -1
  355. package/dist/709.js.map +0 -1
  356. package/dist/710.js +0 -2
  357. package/dist/710.js.map +0 -1
  358. package/dist/91.js +0 -1
  359. package/dist/91.js.map +0 -1
  360. package/dist/93.js +0 -1
  361. package/dist/93.js.map +0 -1
  362. package/dist/978.js +0 -1
  363. package/dist/978.js.map +0 -1
  364. package/dist/99.js +0 -1
  365. package/src/consultation/consultation-room.component.tsx +0 -60
  366. package/src/consultation/consultation.scss +0 -5
  367. package/src/consultation/consultation.tsx +0 -14
  368. package/src/hooks/useQueueEntries.ts +0 -35
  369. package/src/metrics/metrics-cards/attended-patients.extension.tsx +0 -18
  370. package/src/metrics/metrics-cards/waiting-patients.extension.tsx +0 -18
  371. package/src/metrics/metrics-container.component.tsx +0 -16
  372. package/src/registry/mock-client.ts +0 -627
  373. /package/dist/{710.js.LICENSE.txt → 1558.js.LICENSE.txt} +0 -0
  374. /package/dist/{104.js.LICENSE.txt → 2177.js.LICENSE.txt} +0 -0
  375. /package/dist/{184.js.LICENSE.txt → 3184.js.LICENSE.txt} +0 -0
  376. /package/dist/{540.js.LICENSE.txt → 6540.js.LICENSE.txt} +0 -0
  377. /package/src/{metrics → service-queues/metrics}/metrics-cards/metrics-card.component.tsx +0 -0
  378. /package/src/{metrics → service-queues/metrics}/metrics-cards/metrics-card.scss +0 -0
  379. /package/src/{metrics → service-queues/metrics}/metrics-container.scss +0 -0
@@ -0,0 +1,146 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { type QueueRoom, type CreateQueueRoomDto, type Queue } from '../../../../../types/types';
3
+ import { Modal, ModalBody, Select, SelectItem, TextInput } from '@carbon/react';
4
+ import styles from './edit-queue-room.modal.scss';
5
+ import { showSnackbar, useSession } from '@openmrs/esm-framework';
6
+ import { editQueueRoom, getQueuesByLocationUuid } from '../../../../service-queues.resource';
7
+
8
+ interface EditQueueRoomModalProps {
9
+ open: boolean;
10
+ queueRoom: QueueRoom;
11
+ onModalClose: () => void;
12
+ }
13
+
14
+ const EditQueueRoomModal: React.FC<EditQueueRoomModalProps> = ({ open, queueRoom, onModalClose }) => {
15
+ const session = useSession();
16
+ const location = session.sessionLocation;
17
+ const locationUuid = location.uuid;
18
+ const [queueRoomName, setQueueRoomName] = useState<string>(queueRoom.name);
19
+ const [description, setDescription] = useState<string>(queueRoom.description);
20
+ const [queueServiceUuid, setQueueServiceUuid] = useState<string>();
21
+ const [queues, setQueues] = useState<Queue[]>([]);
22
+
23
+ useEffect(() => {
24
+ fetchQueues();
25
+ }, [locationUuid]);
26
+ const fetchQueues = async () => {
27
+ const queues = await getQueuesByLocationUuid(locationUuid);
28
+ setQueues(queues);
29
+ };
30
+
31
+ const handleQueueRoomName = (queueRoomName: string) => {
32
+ setQueueRoomName(queueRoomName);
33
+ };
34
+ const handleQueueDescription = (queueDescription: string) => {
35
+ setDescription(queueDescription);
36
+ };
37
+ const handleQueueService = (queueServiceUuid: string) => {
38
+ setQueueServiceUuid(queueServiceUuid);
39
+ };
40
+ if (!queueRoom) {
41
+ return <>No Queue room selected</>;
42
+ }
43
+ const handleUpdateQueueRoom = async () => {
44
+ const payload = generateCreateQueueRoomPayload();
45
+ if (isValidateEditQueueRoomDto(payload)) {
46
+ const resp = await editQueueRoom(queueRoom.uuid, payload);
47
+ if (resp) {
48
+ showAlert('Queue updated successfully!', 'success');
49
+ onModalClose();
50
+ }
51
+ }
52
+ };
53
+ const generateCreateQueueRoomPayload = (): CreateQueueRoomDto => {
54
+ return {
55
+ name: queueRoom.name,
56
+ description: description,
57
+ queue: {
58
+ uuid: queueServiceUuid,
59
+ },
60
+ };
61
+ };
62
+ const isValidateEditQueueRoomDto = (payload: CreateQueueRoomDto): boolean => {
63
+ if (!payload.name) {
64
+ showAlert('Please add the queue room name', 'error');
65
+ return false;
66
+ }
67
+ if (!payload.description) {
68
+ showAlert('Please add the queue room description', 'error');
69
+ return false;
70
+ }
71
+ if (!payload.queue) {
72
+ showAlert('Please add the queue service', 'error');
73
+ return false;
74
+ } else {
75
+ if (!payload.queue.uuid) {
76
+ showAlert('Please select a queue service', 'error');
77
+ return false;
78
+ }
79
+ }
80
+ return true;
81
+ };
82
+ const showAlert = (message: string, alertType: 'success' | 'error') => {
83
+ showSnackbar({
84
+ kind: alertType,
85
+ title: 'Queue Room Updated',
86
+ subtitle: message,
87
+ });
88
+ };
89
+ return (
90
+ <>
91
+ <Modal
92
+ open={open}
93
+ size="md"
94
+ onSecondarySubmit={() => onModalClose()}
95
+ onRequestClose={() => onModalClose()}
96
+ onRequestSubmit={handleUpdateQueueRoom}
97
+ primaryButtonText="Update Queue Room"
98
+ secondaryButtonText="Cancel"
99
+ >
100
+ <ModalBody>
101
+ <div className={styles.createQueueModalLayout}>
102
+ <div className={styles.sectionHeader}>
103
+ <h4 className={styles.sectionTitle}>Update Queue Room</h4>
104
+ </div>
105
+ <div className={styles.createQueueModalContentSection}>
106
+ <div className={styles.createQueueModalFormRow}>
107
+ <div className={styles.createQueueModalFormControl}>
108
+ <TextInput
109
+ id="queue-room-name"
110
+ labelText="Queue Room Name"
111
+ value={queueRoomName}
112
+ onChange={(e) => handleQueueRoomName(e.target.value)}
113
+ type="text"
114
+ />
115
+ </div>
116
+ </div>
117
+ <div className={styles.createQueueModalFormRow}>
118
+ <div className={styles.createQueueModalFormControl}>
119
+ <TextInput
120
+ id="description"
121
+ value={description}
122
+ labelText="Description"
123
+ onChange={(e) => handleQueueDescription(e.target.value)}
124
+ type="text"
125
+ />
126
+ </div>
127
+ </div>
128
+ <div className={styles.createQueueModalFormRow}>
129
+ <div className={styles.createQueueModalFormControl}>
130
+ <Select id="service" labelText="Service Queue" onChange={(e) => handleQueueService(e.target.value)}>
131
+ <SelectItem value="" text="Select Queue" />
132
+ {queues.map((queue) => {
133
+ return <SelectItem value={queue.uuid} text={queue.display} />;
134
+ })}
135
+ </Select>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ </div>
140
+ </ModalBody>
141
+ </Modal>
142
+ </>
143
+ );
144
+ };
145
+
146
+ export default EditQueueRoomModal;
@@ -0,0 +1,22 @@
1
+ .queueRoomListLayout{
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ row-gap: 10px;
6
+ .layoutAction{
7
+ display: flex;
8
+ flex-direction: row;
9
+ justify-content: flex-end;
10
+ width: 100%;
11
+ column-gap: 5px;
12
+ }
13
+ }
14
+
15
+ .actionBtns{
16
+ display: flex;
17
+ flex-direction: row;
18
+ column-gap: 10px;
19
+ }
20
+ .iconBtn:hover {
21
+ cursor: pointer;
22
+ }
@@ -0,0 +1,120 @@
1
+ import { showSnackbar, useSession } from '@openmrs/esm-framework';
2
+ import React, { useEffect, useState } from 'react';
3
+ import { deleteQueueRoom, getQueueRoomsByLocationUuid } from '../../../service-queues.resource';
4
+ import { type QueueRoom } from '../../../../types/types';
5
+ import styles from './queue-room-list.scss';
6
+ import { Button, IconButton, Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@carbon/react';
7
+ import { Add, Delete, Edit } from '@carbon/react/icons';
8
+ import EditQueueModal from '../../queue/modal/edit-queue/edit-queue.modal';
9
+ import CreateQueueRoomModal from '../modal/create-queue-room/create-queue-room.modal';
10
+ import EditQueueRoomModal from '../modal/edit-queue-room/edit-queue-room.modal';
11
+ interface QueueRoomListProps {}
12
+ const QueueRoomList: React.FC<QueueRoomListProps> = () => {
13
+ const session = useSession();
14
+ const locationUuid = session.sessionLocation.uuid;
15
+ const [queueRooms, setQueueRooms] = useState<QueueRoom[]>([]);
16
+ const [selectedQueueRoom, setSelectedQueueRoom] = useState<QueueRoom>();
17
+ const [displayCreateRoomQueueModal, setDisplayCreateQueueRoomModal] = useState<boolean>(false);
18
+ const [displayEditQueueRoomModal, setDisplayEditQueueRoomModal] = useState<boolean>(false);
19
+ useEffect(() => {
20
+ fetchQueueRooms();
21
+ }, [locationUuid]);
22
+
23
+ const fetchQueueRooms = async () => {
24
+ const queueRooms = await getQueueRoomsByLocationUuid(locationUuid);
25
+ setQueueRooms(queueRooms);
26
+ };
27
+ const handleDeleteQueueRoom = async (queueUuid: string) => {
28
+ await deleteQueueRoom(queueUuid);
29
+ fetchQueueRooms();
30
+ showAlert('Queue Room deleted successfully', 'success');
31
+ };
32
+ const handleCloseCreateQueueRoomModal = () => {
33
+ setDisplayCreateQueueRoomModal(false);
34
+ };
35
+ const handleCloseEditQueueRoomModal = () => {
36
+ setDisplayEditQueueRoomModal(false);
37
+ fetchQueueRooms();
38
+ };
39
+ const handleEditQueueRoom = async (queue: QueueRoom) => {
40
+ setSelectedQueueRoom(queue);
41
+ setDisplayEditQueueRoomModal(true);
42
+ };
43
+ const handleAddQueue = async () => {
44
+ setDisplayCreateQueueRoomModal(true);
45
+ fetchQueueRooms();
46
+ };
47
+ const handleRefresh = () => {
48
+ fetchQueueRooms();
49
+ };
50
+ const showAlert = (message: string, alertType: 'success' | 'error') => {
51
+ showSnackbar({
52
+ kind: alertType,
53
+ title: 'Queue Deleted',
54
+ subtitle: message,
55
+ });
56
+ };
57
+ return (
58
+ <>
59
+ <div className={styles.queueRoomListLayout}>
60
+ <div className={styles.layoutHeader}>
61
+ <h4>Queue Room Management</h4>
62
+ </div>
63
+ <div className={styles.layoutAction}>
64
+ <IconButton label="Add" onClick={() => handleAddQueue()}>
65
+ <Add />
66
+ </IconButton>
67
+ <Button kind="ghost" onClick={handleRefresh}>
68
+ Refresh
69
+ </Button>
70
+ </div>
71
+ <div>
72
+ <Table>
73
+ <TableHead>
74
+ <TableRow>
75
+ <TableHeader>No</TableHeader>
76
+ <TableHeader>Name</TableHeader>
77
+ <TableHeader>Description</TableHeader>
78
+ <TableHeader>Location</TableHeader>
79
+ <TableHeader>Queue</TableHeader>
80
+ <TableHeader>Service</TableHeader>
81
+ <TableHeader>Action</TableHeader>
82
+ </TableRow>
83
+ </TableHead>
84
+ <TableBody>
85
+ {queueRooms.map((queueRoom, index) => (
86
+ <TableRow key={queueRoom.uuid}>
87
+ <TableCell>{index + 1}</TableCell>
88
+ <TableCell>{queueRoom.display}</TableCell>
89
+ <TableCell>{queueRoom.description}</TableCell>
90
+ <TableCell>{(queueRoom.queue.location.display as any).name}</TableCell>
91
+ <TableCell>{queueRoom.queue.display}</TableCell>
92
+ <TableCell>{queueRoom.queue.service.display}</TableCell>
93
+ <TableCell>
94
+ <div className={styles.actionBtns}>
95
+ <Delete onClick={() => handleDeleteQueueRoom(queueRoom.uuid)} className={styles.iconBtn} />
96
+ <Edit onClick={() => handleEditQueueRoom(queueRoom)} className={styles.iconBtn} />
97
+ </div>
98
+ </TableCell>
99
+ </TableRow>
100
+ ))}
101
+ </TableBody>
102
+ </Table>
103
+ </div>
104
+ <CreateQueueRoomModal open={displayCreateRoomQueueModal} onModalClose={handleCloseCreateQueueRoomModal} />
105
+ {selectedQueueRoom && displayEditQueueRoomModal ? (
106
+ <>
107
+ <EditQueueRoomModal
108
+ open={displayEditQueueRoomModal}
109
+ queueRoom={selectedQueueRoom}
110
+ onModalClose={handleCloseEditQueueRoomModal}
111
+ />
112
+ </>
113
+ ) : (
114
+ <></>
115
+ )}
116
+ </div>
117
+ </>
118
+ );
119
+ };
120
+ export default QueueRoomList;
@@ -0,0 +1,6 @@
1
+ .queueDashboardLayout{
2
+ display: flex;
3
+ flex-direction: column;
4
+ row-gap: 5px;
5
+ padding: 15px 15px;
6
+ }
@@ -0,0 +1,34 @@
1
+ import { Tab, TabList, TabPanel, TabPanels, Tabs } from '@carbon/react';
2
+ import React from 'react';
3
+ import AdminQueueList from './queue/queue-list/queue-list';
4
+ import styles from './service-queue-admin-dashboard.component.scss';
5
+ import QueueRoomList from './queue-room/queue-room-list/queue-room-list';
6
+ import QueueEntryList from './queue-entry/queue-entry-list.component';
7
+ interface ServiceQueueAdminDashboardProps {}
8
+ const ServiceQueueAdminDashboard: React.FC<ServiceQueueAdminDashboardProps> = () => {
9
+ return (
10
+ <>
11
+ <div className={styles.queueDashboardLayout}>
12
+ <Tabs>
13
+ <TabList contained>
14
+ <Tab>Service Queues</Tab>
15
+ <Tab>Queue Rooms</Tab>
16
+ <Tab>Queue Entries</Tab>
17
+ </TabList>
18
+ <TabPanels>
19
+ <TabPanel>
20
+ <AdminQueueList />
21
+ </TabPanel>
22
+ <TabPanel>
23
+ <QueueRoomList />
24
+ </TabPanel>
25
+ <TabPanel>
26
+ <QueueEntryList />
27
+ </TabPanel>
28
+ </TabPanels>
29
+ </Tabs>
30
+ </div>
31
+ </>
32
+ );
33
+ };
34
+ export default ServiceQueueAdminDashboard;
@@ -0,0 +1,7 @@
1
+ .consultationLayout{
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ padding: 15px 15px;
6
+ row-gap: 15px;
7
+ }
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { QUEUE_SERVICE_UUIDS } from '../../shared/constants/concepts';
3
+ import ServiceQueueComponent from '../service-queue/service-queue.component';
4
+ const Consultation: React.FC = () => {
5
+ return (
6
+ <>
7
+ <ServiceQueueComponent
8
+ serviceTypeUuid={QUEUE_SERVICE_UUIDS.CLINICAL_CONSULTATION_SERVICE_UUID}
9
+ title="Clinical Consultation"
10
+ />
11
+ </>
12
+ );
13
+ };
14
+
15
+ export default Consultation;
@@ -0,0 +1,30 @@
1
+ .bannerLayout{
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ row-gap: 10px;
6
+ padding: 5px;
7
+ }
8
+ .sectionContent{
9
+ display: flex;
10
+ flex-direction: row;
11
+ column-gap: 15px;
12
+ justify-content: center;
13
+ align-items: center;
14
+ }
15
+ .transferBtn{
16
+ background-color: #FF5F1F;
17
+ color: #FFF;
18
+ }
19
+ .nonUrgentTag{
20
+ background-color:rgb(167, 240, 186);
21
+ color:rgb(14, 96, 39);
22
+ }
23
+ .emergencyTag{
24
+ background-color:#da1e28;
25
+ color:#FFF;
26
+ }
27
+ .priorityTag{
28
+ background-color:rgb(248,237,98);
29
+ color:brown;
30
+ }
@@ -0,0 +1,108 @@
1
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
2
+ import styles from './service-queue-patient-banner.scss';
3
+ import { Button, Tag } from '@carbon/react';
4
+ import { getTagClassByPriority } from '../../../shared/utils/get-tag-type';
5
+ import { useSession } from '@openmrs/esm-framework';
6
+ import { getActiveQueueEntryByPatientUuid } from '../../service-queues.resource';
7
+ import { type QueueEntry } from '../../../types/types';
8
+ import MovePatientModal from '../../modals/move/move-patient.component';
9
+
10
+ interface ServiceQueuePatientBannerProps {
11
+ renderedFrom: string;
12
+ patientUuid: string;
13
+ }
14
+ const ServiceQueuePatientBanner: React.FC<ServiceQueuePatientBannerProps> = ({ renderedFrom, patientUuid }) => {
15
+ const session = useSession();
16
+ const location = session.sessionLocation;
17
+ const [currentQueueEntry, setCurrentQueueEntry] = useState<QueueEntry>();
18
+ const [showTransferModal, setShowTransferModal] = useState<boolean>(false);
19
+ const isPatientChart = renderedFrom === 'patient-chart';
20
+ const getPatientCurrentServiceQueue = useCallback(async () => {
21
+ if (!patientUuid || !isPatientChart) return null;
22
+
23
+ try {
24
+ const resp = await getActiveQueueEntryByPatientUuid(patientUuid);
25
+ if (resp.length > 0) {
26
+ setCurrentQueueEntry(resp[0]);
27
+ } else {
28
+ setCurrentQueueEntry(null);
29
+ }
30
+ } catch (error) {
31
+ console.error(error);
32
+ }
33
+ }, [patientUuid]);
34
+ useEffect(() => {
35
+ getPatientCurrentServiceQueue();
36
+ }, [patientUuid]);
37
+
38
+ const redirectToRegistryPage = () => {
39
+ window.location.href = `${window.spaBase}/home/registry`;
40
+ };
41
+
42
+ const handleTransferModalClose = () => {
43
+ setShowTransferModal(false);
44
+ };
45
+ const displayTransferModal = () => {
46
+ setShowTransferModal(true);
47
+ };
48
+
49
+ const handleTransferSuccess = () => {
50
+ handleTransferModalClose();
51
+ redirectToRegistryPage();
52
+ };
53
+
54
+ function getPriorityDisplayName(name: string) {
55
+ if (name === 'NORMAL PRIORITY') {
56
+ return 'PRIORITY';
57
+ } else if (name === 'NOT URGENT') {
58
+ return 'NON URGENT PRIORITY';
59
+ } else {
60
+ return name;
61
+ }
62
+ }
63
+
64
+ if (!isPatientChart) {
65
+ return null;
66
+ }
67
+ return (
68
+ <>
69
+ {currentQueueEntry ? (
70
+ <>
71
+ <div className={styles.bannerLayout}>
72
+ <div className={styles.sectionContent}>
73
+ <div>
74
+ <span>{currentQueueEntry.queue.display}</span>
75
+ </div>
76
+ <div>
77
+ <Tag size="md" className={styles[getTagClassByPriority(currentQueueEntry.priority.display)]}>
78
+ {getPriorityDisplayName(currentQueueEntry.priority.display)}
79
+ </Tag>
80
+ </div>
81
+ <div>
82
+ <Button className={styles.transferBtn} size="xs" onClick={displayTransferModal}>
83
+ Transfer
84
+ </Button>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ {showTransferModal && location ? (
89
+ <>
90
+ <MovePatientModal
91
+ open={showTransferModal}
92
+ currentQueueEntryUuid={currentQueueEntry.uuid}
93
+ locationUuid={location.uuid}
94
+ onModalClose={handleTransferModalClose}
95
+ onTransferSuccess={handleTransferSuccess}
96
+ />
97
+ </>
98
+ ) : (
99
+ <></>
100
+ )}
101
+ </>
102
+ ) : (
103
+ <></>
104
+ )}
105
+ </>
106
+ );
107
+ };
108
+ export default ServiceQueuePatientBanner;
@@ -0,0 +1,38 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { MetricsCard, MetricsCardHeader, MetricsCardBody, MetricsCardItem } from './metrics-card.component';
4
+ import { useSession } from '@openmrs/esm-framework';
5
+ import { QUEUE_SERVICE_UUIDS } from '../../../shared/constants/concepts';
6
+ import { getServiceQueueByLocationUuid } from '../../service-queues.resource';
7
+ import { type QueueEntryResult } from '../../../registry/types';
8
+
9
+ export default function AttendedToPatientsExtension() {
10
+ const { t } = useTranslation();
11
+
12
+ const [consultationQueueEntries, setConsultationQueueEntries] = useState<QueueEntryResult[]>([]);
13
+ const session = useSession();
14
+ const locationUuid = session.sessionLocation.uuid;
15
+ const consultationServiceUuid = QUEUE_SERVICE_UUIDS.CLINICAL_CONSULTATION_SERVICE_UUID;
16
+ useEffect(() => {
17
+ getConsultationEntryQueues();
18
+ }, []);
19
+
20
+ const getConsultationEntryQueues = async () => {
21
+ const res = await getServiceQueueByLocationUuid(consultationServiceUuid, locationUuid);
22
+ setConsultationQueueEntries(res);
23
+ };
24
+
25
+ const attendedToPatientsCount = consultationQueueEntries?.filter((p) => p.status === 'COMPLETED').length ?? 0;
26
+
27
+ return (
28
+ <MetricsCard>
29
+ <MetricsCardHeader title={t('patientsAttendedTo', 'Patients attended to')} />
30
+ <MetricsCardBody>
31
+ <MetricsCardItem
32
+ label={t('patients', 'Patients')}
33
+ value={attendedToPatientsCount ? attendedToPatientsCount : '--'}
34
+ />
35
+ </MetricsCardBody>
36
+ </MetricsCard>
37
+ );
38
+ }
@@ -0,0 +1,34 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
+ import { MetricsCard, MetricsCardHeader, MetricsCardBody, MetricsCardItem } from './metrics-card.component';
4
+ import { getServiceQueueByLocationUuid } from '../../service-queues.resource';
5
+ import { QUEUE_SERVICE_UUIDS } from '../../../shared/constants/concepts';
6
+ import { useSession } from '@openmrs/esm-framework';
7
+ import { type QueueEntryResult } from '../../../registry/types';
8
+
9
+ export default function WaitingPatientsExtension() {
10
+ const { t } = useTranslation();
11
+ const [consultationQueueEntries, setConsultationQueueEntries] = useState<QueueEntryResult[]>([]);
12
+ const session = useSession();
13
+ const locationUuid = session.sessionLocation.uuid;
14
+ const consultationServiceUuid = QUEUE_SERVICE_UUIDS.CLINICAL_CONSULTATION_SERVICE_UUID;
15
+ useEffect(() => {
16
+ getConsultationEntryQueues();
17
+ }, []);
18
+
19
+ const getConsultationEntryQueues = async () => {
20
+ const res = await getServiceQueueByLocationUuid(consultationServiceUuid, locationUuid);
21
+ setConsultationQueueEntries(res);
22
+ };
23
+
24
+ const waitingPatientsCount = consultationQueueEntries?.filter((p) => p.status === 'WAITING').length ?? 0;
25
+
26
+ return (
27
+ <MetricsCard>
28
+ <MetricsCardHeader title={t('patientsInWaiting', 'Patients in waiting')} />
29
+ <MetricsCardBody>
30
+ <MetricsCardItem label={t('patients', 'Patients')} value={waitingPatientsCount ? waitingPatientsCount : '--'} />
31
+ </MetricsCardBody>
32
+ </MetricsCard>
33
+ );
34
+ }
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ import { ExtensionSlot } from '@openmrs/esm-framework';
3
+ import styles from './metrics-container.scss';
4
+ import AttendedToPatientsExtension from './metrics-cards/attended-patients.extension';
5
+ import WaitingPatientsExtension from './metrics-cards/waiting-patients.extension';
6
+
7
+ export interface Service {
8
+ display: string;
9
+ uuid?: string;
10
+ }
11
+
12
+ function MetricsContainer() {
13
+ return (
14
+ <>
15
+ <div className={styles.cardContainer}>
16
+ <WaitingPatientsExtension />
17
+ <AttendedToPatientsExtension />;
18
+ </div>
19
+ </>
20
+ );
21
+ }
22
+
23
+ export default MetricsContainer;
@@ -63,39 +63,3 @@ export function useServiceMetricsCount(status: string = 'Waiting', service: stri
63
63
  isLoading
64
64
  };
65
65
  }
66
-
67
- export function useConsultationQueues(service: string = "7f7ec7ad-cdd7-4ed9-bc2e-5c5bd9f065b2", status: string = 'WAITING') {
68
- const currentUserSession = useSession();
69
- const location = currentUserSession?.sessionLocation?.uuid;
70
-
71
- const customRepresentation =
72
- 'custom:(uuid,display,queue,status,patient:(uuid,display,person,identifiers:(uuid,display,identifier,identifierType)),' +
73
- 'visit:(uuid,display,startDatetime))'
74
-
75
- const apiUrl =
76
- `${restBaseUrl}/queue-entry?status=${status}&isEnded=false` +
77
- (service ? `&service=${service}` : '') +
78
- (location ? `&location=${location}` : '') +
79
- `&v=${customRepresentation}`;
80
-
81
- const { data, isLoading } = useSWR<
82
- {
83
- data: {
84
- results: Array<{
85
- patient: {
86
- uuid: string;
87
- display: string;
88
- },
89
- visit: {
90
- uuid: string;
91
- display: string;
92
- startDatetime: string;
93
- }
94
- }>;
95
- };
96
- },
97
- Error
98
- >(service ? apiUrl : null, openmrsFetch);
99
-
100
- return { data, isLoading };
101
- }
@@ -0,0 +1,26 @@
1
+ .checkedInlLayout {
2
+ display: flex;
3
+ flex-direction: column;
4
+ width: 100%;
5
+ row-gap: 10px;
6
+
7
+ .actionHeaderSection {
8
+ display: flex;
9
+ flex-direction: row;
10
+ justify-content: flex-end;
11
+ width: 100%;
12
+ column-gap: 15px;
13
+
14
+ .searchInput {
15
+ width: 40%;
16
+ }
17
+ }
18
+
19
+ .serveModalContentSection {
20
+ display: flex;
21
+ flex-direction: column;
22
+ width: 100%;
23
+ row-gap: 10px;
24
+ }
25
+
26
+ }