@ampath/esm-dha-workflow-app 4.0.0-next.33 → 4.0.0-next.331

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 (758) hide show
  1. package/README.md +19 -0
  2. package/dist/1149.js +1 -0
  3. package/dist/1149.js.map +1 -0
  4. package/dist/1197.js +1 -0
  5. package/dist/1362.js +1 -0
  6. package/dist/1362.js.map +1 -0
  7. package/dist/1551.js +1 -0
  8. package/dist/1551.js.map +1 -0
  9. package/dist/1925.js +1 -0
  10. package/dist/1925.js.map +1 -0
  11. package/dist/1927.js +1 -0
  12. package/dist/1927.js.map +1 -0
  13. package/dist/203.js +1 -0
  14. package/dist/203.js.map +1 -0
  15. package/dist/2054.js +1 -0
  16. package/dist/2054.js.map +1 -0
  17. package/dist/2093.js +1 -0
  18. package/dist/2093.js.map +1 -0
  19. package/dist/2177.js +2 -0
  20. package/dist/2177.js.map +1 -0
  21. package/dist/2200.js +1 -0
  22. package/dist/2200.js.map +1 -0
  23. package/dist/2230.js +1 -0
  24. package/dist/2230.js.map +1 -0
  25. package/dist/2493.js +1 -0
  26. package/dist/2493.js.map +1 -0
  27. package/dist/262.js +2 -0
  28. package/dist/262.js.map +1 -0
  29. package/dist/2914.js +1 -0
  30. package/dist/2914.js.map +1 -0
  31. package/dist/2936.js +1 -0
  32. package/dist/2936.js.map +1 -0
  33. package/dist/2988.js +1 -0
  34. package/dist/2988.js.map +1 -0
  35. package/dist/3041.js +1 -0
  36. package/dist/3041.js.map +1 -0
  37. package/dist/307.js +1 -0
  38. package/dist/307.js.map +1 -0
  39. package/dist/3099.js +1 -0
  40. package/dist/3184.js +2 -0
  41. package/dist/3184.js.map +1 -0
  42. package/dist/3202.js +1 -0
  43. package/dist/3202.js.map +1 -0
  44. package/dist/3222.js +1 -0
  45. package/dist/3222.js.map +1 -0
  46. package/dist/3406.js +1 -0
  47. package/dist/3406.js.map +1 -0
  48. package/dist/347.js +1 -0
  49. package/dist/347.js.map +1 -0
  50. package/dist/3654.js +1 -0
  51. package/dist/3654.js.map +1 -0
  52. package/dist/4003.js +1 -0
  53. package/dist/4003.js.map +1 -0
  54. package/dist/4008.js +1 -0
  55. package/dist/4008.js.map +1 -0
  56. package/dist/4055.js +1 -0
  57. package/dist/4205.js +1 -0
  58. package/dist/4205.js.map +1 -0
  59. package/dist/4225.js +1 -0
  60. package/dist/4225.js.map +1 -0
  61. package/dist/4231.js +1 -0
  62. package/dist/4231.js.map +1 -0
  63. package/dist/4300.js +1 -0
  64. package/dist/4335.js +1 -0
  65. package/dist/4353.js +1 -0
  66. package/dist/4353.js.map +1 -0
  67. package/dist/4431.js +1 -0
  68. package/dist/4431.js.map +1 -0
  69. package/dist/4454.js +1 -0
  70. package/dist/4454.js.map +1 -0
  71. package/dist/4457.js +2 -0
  72. package/dist/4457.js.LICENSE.txt +282 -0
  73. package/dist/4457.js.map +1 -0
  74. package/dist/446.js +1 -0
  75. package/dist/446.js.map +1 -0
  76. package/dist/4611.js +1 -0
  77. package/dist/4611.js.map +1 -0
  78. package/dist/4652.js +1 -0
  79. package/dist/4674.js +1 -0
  80. package/dist/4674.js.map +1 -0
  81. package/dist/4755.js +1 -0
  82. package/dist/4755.js.map +1 -0
  83. package/dist/4986.js +1 -0
  84. package/dist/4986.js.map +1 -0
  85. package/dist/5097.js +1 -0
  86. package/dist/5097.js.map +1 -0
  87. package/dist/5119.js +1 -0
  88. package/dist/5119.js.map +1 -0
  89. package/dist/5167.js +1 -0
  90. package/dist/5167.js.map +1 -0
  91. package/dist/5380.js +1 -0
  92. package/dist/5380.js.map +1 -0
  93. package/dist/5422.js +1 -0
  94. package/dist/5422.js.map +1 -0
  95. package/dist/5576.js +1 -0
  96. package/dist/5576.js.map +1 -0
  97. package/dist/5851.js +1 -0
  98. package/dist/5851.js.map +1 -0
  99. package/dist/5961.js +1 -0
  100. package/dist/5961.js.map +1 -0
  101. package/dist/6264.js +1 -0
  102. package/dist/6264.js.map +1 -0
  103. package/dist/6540.js +2 -0
  104. package/dist/6540.js.map +1 -0
  105. package/dist/6606.js +1 -0
  106. package/dist/6606.js.map +1 -0
  107. package/dist/6720.js +1 -0
  108. package/dist/6720.js.map +1 -0
  109. package/dist/6824.js +1 -0
  110. package/dist/6824.js.map +1 -0
  111. package/dist/6942.js +1 -0
  112. package/dist/6942.js.map +1 -0
  113. package/dist/71.js +1 -0
  114. package/dist/71.js.map +1 -0
  115. package/dist/7207.js +1 -0
  116. package/dist/7207.js.map +1 -0
  117. package/dist/7240.js +1 -0
  118. package/dist/7240.js.map +1 -0
  119. package/dist/7255.js +1 -0
  120. package/dist/7255.js.map +1 -0
  121. package/dist/7271.js +1 -0
  122. package/dist/7271.js.map +1 -0
  123. package/dist/7420.js +1 -0
  124. package/dist/7420.js.map +1 -0
  125. package/dist/7521.js +1 -0
  126. package/dist/7521.js.map +1 -0
  127. package/dist/7557.js +1 -0
  128. package/dist/7557.js.map +1 -0
  129. package/dist/7717.js +1 -0
  130. package/dist/7717.js.map +1 -0
  131. package/dist/7830.js +2 -0
  132. package/dist/7830.js.map +1 -0
  133. package/dist/7879.js +1 -0
  134. package/dist/7879.js.map +1 -0
  135. package/dist/7941.js +1 -0
  136. package/dist/7941.js.map +1 -0
  137. package/dist/8091.js +1 -0
  138. package/dist/8091.js.map +1 -0
  139. package/dist/810.js +1 -2
  140. package/dist/810.js.map +1 -1
  141. package/dist/8558.js +1 -0
  142. package/dist/8558.js.map +1 -0
  143. package/dist/8733.js +1 -0
  144. package/dist/8733.js.map +1 -0
  145. package/dist/874.js +1 -0
  146. package/dist/874.js.map +1 -0
  147. package/dist/8895.js +1 -0
  148. package/dist/8895.js.map +1 -0
  149. package/dist/9070.js +1 -0
  150. package/dist/9070.js.map +1 -0
  151. package/dist/9091.js +1 -0
  152. package/dist/9091.js.map +1 -0
  153. package/dist/9093.js +1 -0
  154. package/dist/9093.js.map +1 -0
  155. package/dist/9249.js +1 -0
  156. package/dist/9249.js.map +1 -0
  157. package/dist/9338.js +1 -0
  158. package/dist/9338.js.map +1 -0
  159. package/dist/9418.js +2 -0
  160. package/dist/9418.js.LICENSE.txt +1 -0
  161. package/dist/9418.js.map +1 -0
  162. package/dist/9428.js +1 -0
  163. package/dist/9428.js.map +1 -0
  164. package/dist/9721.js +1 -0
  165. package/dist/9721.js.map +1 -0
  166. package/dist/esm-dha-workflow-app.js +1 -1
  167. package/dist/esm-dha-workflow-app.js.buildmanifest.json +1675 -210
  168. package/dist/esm-dha-workflow-app.js.map +1 -1
  169. package/dist/main.js +1 -1
  170. package/dist/main.js.map +1 -1
  171. package/dist/routes.json +1 -1
  172. package/local-config.json +5 -0
  173. package/package.json +16 -6
  174. package/src/admissions/admission-request-list/admission-request-list.scss +0 -0
  175. package/src/admissions/admission-request-list/admission-request-list.tsx +263 -0
  176. package/src/admissions/admissions-dashboard.component.scss +15 -0
  177. package/src/admissions/admissions-dashboard.component.tsx +277 -0
  178. package/src/admissions/admissions.resource.ts +233 -0
  179. package/src/admissions/admitted-list/admitted-patients-list.tsx +206 -0
  180. package/src/admissions/awaiting-discharge-list/awaiting-discharge-list.tsx +197 -0
  181. package/src/admissions/bed-assigment-request/bed-assignment-request-list.tsx +134 -0
  182. package/src/admissions/constants/index.ts +33 -0
  183. package/src/admissions/discharged-list/discharged-list.scss +0 -0
  184. package/src/admissions/discharged-list/discharged-list.tsx +67 -0
  185. package/src/admissions/form-entry-workspace/form-entry-workspace.tsx +62 -0
  186. package/src/admissions/inpatient/admission-history/patient-admission-history.tsx +76 -0
  187. package/src/admissions/inpatient/admission-requests/patient-admission-requests.scss +19 -0
  188. package/src/admissions/inpatient/admission-requests/patient-admission-requests.tsx +72 -0
  189. package/src/admissions/inpatient/inpatient-admissions.component.scss +7 -0
  190. package/src/admissions/inpatient/inpatient-admissions.component.tsx +46 -0
  191. package/src/admissions/modal/add-bill-items/add-bill-items.modal.scss +17 -0
  192. package/src/admissions/modal/add-bill-items/add-bill-items.modal.tsx +233 -0
  193. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.scss +23 -0
  194. package/src/admissions/modal/admit-elsewhere/admit-elsewhere.modal.tsx +156 -0
  195. package/src/admissions/modal/admit-patient/admit-patient.modal.scss +0 -0
  196. package/src/admissions/modal/admit-patient/admit-patient.modal.tsx +111 -0
  197. package/src/admissions/modal/bed-swap/bed-swap.modal.scss +0 -0
  198. package/src/admissions/modal/bed-swap/bed-swap.modal.tsx +102 -0
  199. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.scss +11 -0
  200. package/src/admissions/modal/cancel-admission-request/cancel-admission-request.tsx +105 -0
  201. package/src/admissions/modal/discharge/discharge-patient.modal.scss +13 -0
  202. package/src/admissions/modal/discharge/discharge-patient.modal.tsx +86 -0
  203. package/src/admissions/types/index.ts +263 -0
  204. package/src/appointments/appointments.component.scss +6 -0
  205. package/src/appointments/appointments.component.tsx +8 -1
  206. package/src/billing/api/billing.api.ts +139 -0
  207. package/src/billing/billing-claims.resource.ts +900 -0
  208. package/src/billing/billing-dashboard-link.component.tsx +31 -0
  209. package/src/billing/billing-dashboard-reset.ts +27 -0
  210. package/src/billing/billing-root.tsx +42 -0
  211. package/src/billing/dashboard/billingDashboard.component.scss +0 -0
  212. package/src/billing/dashboard/billingDashboard.component.tsx +25 -0
  213. package/src/billing/dashboard/v2/active-visits/active-visits.component.tsx +257 -0
  214. package/src/billing/dashboard/v2/active-visits/active-visits.resource.ts +85 -0
  215. package/src/billing/dashboard/v2/active-visits/active-visits.scss +15 -0
  216. package/src/billing/dashboard/v2/active-visits.component.tsx +102 -0
  217. package/src/billing/dashboard/v2/admissions/admission-requests-tab.component.tsx +79 -0
  218. package/src/billing/dashboard/v2/billing-claims-dashboard.component.scss +209 -0
  219. package/src/billing/dashboard/v2/billing-claims-dashboard.component.tsx +347 -0
  220. package/src/billing/dashboard/v2/cash-checklist/bill-document.component.scss +90 -0
  221. package/src/billing/dashboard/v2/cash-checklist/bill-document.component.tsx +101 -0
  222. package/src/billing/dashboard/v2/cash-checklist/cash-checklist.component.scss +199 -0
  223. package/src/billing/dashboard/v2/cash-checklist/cash-checklist.component.tsx +361 -0
  224. package/src/billing/dashboard/v2/cash-checklist/cash-checklist.resource.ts +239 -0
  225. package/src/billing/dashboard/v2/cash-checklist/payment-drawer.component.scss +246 -0
  226. package/src/billing/dashboard/v2/cash-checklist/payment-drawer.component.tsx +182 -0
  227. package/src/billing/dashboard/v2/claim-statuses.ts +143 -0
  228. package/src/billing/dashboard/v2/claim-visits/claim-diagnosis-details/claim-diagnosis-details.component.scss +0 -0
  229. package/src/billing/dashboard/v2/claim-visits/claim-diagnosis-details/claim-diagnosis-details.component.tsx +35 -0
  230. package/src/billing/dashboard/v2/claim-visits/claim-diagnosis-details/claim-diagnosis-panel.component.scss +67 -0
  231. package/src/billing/dashboard/v2/claim-visits/claim-diagnosis-details/claim-diagnosis-panel.component.tsx +90 -0
  232. package/src/billing/dashboard/v2/claim-visits/claim-doctors/claim-doctors.scss +28 -0
  233. package/src/billing/dashboard/v2/claim-visits/claim-doctors/claim-doctors.tsx +36 -0
  234. package/src/billing/dashboard/v2/claim-visits/claim-history/claim-history.component.scss +119 -0
  235. package/src/billing/dashboard/v2/claim-visits/claim-history/claim-history.component.tsx +198 -0
  236. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/claim-intervention-details.component.scss +5 -0
  237. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/claim-intervention-details.component.tsx +160 -0
  238. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/claim-intervention-panel.component.scss +105 -0
  239. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/claim-intervention-panel.component.tsx +184 -0
  240. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/intervention-attachments.component.scss +161 -0
  241. package/src/billing/dashboard/v2/claim-visits/claim-intervention-details/intervention-attachments.component.tsx +328 -0
  242. package/src/billing/dashboard/v2/claim-visits/claim-invoice-details/claim-invoice-details.component.tsx +96 -0
  243. package/src/billing/dashboard/v2/claim-visits/claim-invoice-details/claim-invoice-document.component.tsx +236 -0
  244. package/src/billing/dashboard/v2/claim-visits/claim-invoice-details/claim-invoice-panel.component.scss +98 -0
  245. package/src/billing/dashboard/v2/claim-visits/claim-invoice-details/claim-invoice-panel.component.tsx +292 -0
  246. package/src/billing/dashboard/v2/claim-visits/claim-invoice-line-details/claim-invoice-line-details.component.scss +133 -0
  247. package/src/billing/dashboard/v2/claim-visits/claim-invoice-line-details/claim-invoice-line-details.component.tsx +217 -0
  248. package/src/billing/dashboard/v2/claim-visits/claim-visit-details/claim-details-by-token.component.tsx +150 -0
  249. package/src/billing/dashboard/v2/claim-visits/claim-visit-details/claim-details-page.component.scss +13 -0
  250. package/src/billing/dashboard/v2/claim-visits/claim-visit-details/claim-details-page.component.tsx +116 -0
  251. package/src/billing/dashboard/v2/claim-visits/claim-visit-details/claim-visit-details.component.scss +338 -0
  252. package/src/billing/dashboard/v2/claim-visits/claim-visit-details/claim-visit-details.component.tsx +616 -0
  253. package/src/billing/dashboard/v2/claim-visits/claim-visits.component.scss +5 -0
  254. package/src/billing/dashboard/v2/claim-visits/claim-visits.component.tsx +133 -0
  255. package/src/billing/dashboard/v2/claim-visits/modal/claim-doctors/add-claim-doctor/add-claim-doctor.modal.scss +5 -0
  256. package/src/billing/dashboard/v2/claim-visits/modal/claim-doctors/add-claim-doctor/add-claim-doctor.modal.tsx +49 -0
  257. package/src/billing/dashboard/v2/claim-visits/modal/claim-visit-details/claim-visit-details.modal.scss +17 -0
  258. package/src/billing/dashboard/v2/claim-visits/modal/claim-visit-details/claim-visit-details.modal.tsx +56 -0
  259. package/src/billing/dashboard/v2/claim-visits/modal/close-claim/close-claim.modal.scss +0 -0
  260. package/src/billing/dashboard/v2/claim-visits/modal/close-claim/close-claim.modal.tsx +129 -0
  261. package/src/billing/dashboard/v2/claim-visits/modal/submit-claim/submit-claim.modal.tsx +204 -0
  262. package/src/billing/dashboard/v2/claim-visits/shared/_empty-state.scss +28 -0
  263. package/src/billing/dashboard/v2/claim-visits/shared/record-cards.component.scss +298 -0
  264. package/src/billing/dashboard/v2/claim-visits/shared/record-cards.component.tsx +252 -0
  265. package/src/billing/dashboard/v2/claim-visits/shared/record-details.workspace.scss +42 -0
  266. package/src/billing/dashboard/v2/claim-visits/shared/record-details.workspace.tsx +54 -0
  267. package/src/billing/dashboard/v2/claim-visits/shared/record-table.component.scss +61 -0
  268. package/src/billing/dashboard/v2/claim-visits/shared/record-table.component.tsx +150 -0
  269. package/src/billing/dashboard/v2/claim-visits/switch-intervention/switch-intervention.resource.ts +51 -0
  270. package/src/billing/dashboard/v2/claim-visits/switch-intervention/switch-intervention.workspace.scss +191 -0
  271. package/src/billing/dashboard/v2/claim-visits/switch-intervention/switch-intervention.workspace.tsx +648 -0
  272. package/src/billing/dashboard/v2/claim-workspace/claim-workspace.component.scss +595 -0
  273. package/src/billing/dashboard/v2/claim-workspace/claim-workspace.component.tsx +810 -0
  274. package/src/billing/dashboard/v2/claim-workspace/claim-workspace.resource.ts +282 -0
  275. package/src/billing/dashboard/v2/claims-accounting/bill-utils.ts +134 -0
  276. package/src/billing/dashboard/v2/claims-accounting/claim-detail.component.tsx +346 -0
  277. package/src/billing/dashboard/v2/claims-accounting/claims-accounting.component.scss +546 -0
  278. package/src/billing/dashboard/v2/claims-accounting/claims-accounting.component.tsx +206 -0
  279. package/src/billing/dashboard/v2/claims-accounting/claims-accounting.resource.ts +337 -0
  280. package/src/billing/dashboard/v2/claims-accounting/invoice-document.component.scss +90 -0
  281. package/src/billing/dashboard/v2/claims-accounting/invoice-document.component.tsx +90 -0
  282. package/src/billing/dashboard/v2/claims-accounting/remittances.component.tsx +169 -0
  283. package/src/billing/dashboard/v2/claims-accounting/remittances.resource.ts +46 -0
  284. package/src/billing/dashboard/v2/claims-accounting/status-meta.ts +25 -0
  285. package/src/billing/dashboard/v2/clearance/cash-patients.scss +18 -0
  286. package/src/billing/dashboard/v2/clearance/cash.component.tsx +149 -0
  287. package/src/billing/dashboard/v2/clearance/clearance.component.scss +84 -0
  288. package/src/billing/dashboard/v2/clearance/clearance.component.tsx +225 -0
  289. package/src/billing/dashboard/v2/clearance/pay-cash.component.tsx +176 -0
  290. package/src/billing/dashboard/v2/clearance/pay-cash.scss +28 -0
  291. package/src/billing/dashboard/v2/clearance/prepaid-services.component.tsx +112 -0
  292. package/src/billing/dashboard/v2/facility-bills/claim-status.ts +249 -0
  293. package/src/billing/dashboard/v2/facility-bills/facility-bills.component.scss +140 -0
  294. package/src/billing/dashboard/v2/facility-bills/facility-bills.component.tsx +687 -0
  295. package/src/billing/dashboard/v2/facility-bills/preauths-datatables/pending-preauths.component.tsx +132 -0
  296. package/src/billing/dashboard/v2/facility-bills/preauths-datatables/preauth-preview-table.component.tsx +267 -0
  297. package/src/billing/dashboard/v2/facility-bills/preauths.component.tsx +124 -0
  298. package/src/billing/dashboard/v2/inpatient-requests/inpatient-requests.component.scss +22 -0
  299. package/src/billing/dashboard/v2/inpatient-requests/inpatient-requests.component.tsx +389 -0
  300. package/src/billing/dashboard/v2/inpatient-requests/modal/start-inpatient-claim/start-inpatient-claim.component.scss +0 -0
  301. package/src/billing/dashboard/v2/inpatient-requests/modal/start-inpatient-claim/start-inpatient-claim.component.tsx +0 -0
  302. package/src/billing/dashboard/v2/new-facility-bills/bills-table.component.tsx +78 -0
  303. package/src/billing/dashboard/v2/new-facility-bills/bills-table.scss +18 -0
  304. package/src/billing/dashboard/v2/new-facility-bills/new-facility-bills.component.tsx +64 -0
  305. package/src/billing/dashboard/v2/new-facility-bills/new-facility-bills.scss +146 -0
  306. package/src/billing/dashboard/v2/patient-bill-details/attachments/add-attachments.component.tsx +223 -0
  307. package/src/billing/dashboard/v2/patient-bill-details/attachments/attachment.component.tsx +157 -0
  308. package/src/billing/dashboard/v2/patient-bill-details/attachments/attachments.scss +92 -0
  309. package/src/billing/dashboard/v2/patient-bill-details/attachments/case-summary/case-summary.scss +295 -0
  310. package/src/billing/dashboard/v2/patient-bill-details/attachments/case-summary/case-summary.tsx +326 -0
  311. package/src/billing/dashboard/v2/patient-bill-details/attachments/dialysis/dialysis-chart.scss +238 -0
  312. package/src/billing/dashboard/v2/patient-bill-details/attachments/dialysis/dialysis-chart.tsx +269 -0
  313. package/src/billing/dashboard/v2/patient-bill-details/attachments/discharge-summary/discharge-summary.scss +96 -0
  314. package/src/billing/dashboard/v2/patient-bill-details/attachments/discharge-summary/discharge-summary.tsx +124 -0
  315. package/src/billing/dashboard/v2/patient-bill-details/attachments/final-bill.component.tsx +152 -0
  316. package/src/billing/dashboard/v2/patient-bill-details/attachments/final-bill.scss +225 -0
  317. package/src/billing/dashboard/v2/patient-bill-details/attachments/general-discharge-summary/general-discharge-summary.scss +182 -0
  318. package/src/billing/dashboard/v2/patient-bill-details/attachments/general-discharge-summary/general-discharge-summary.tsx +173 -0
  319. package/src/billing/dashboard/v2/patient-bill-details/attachments/generate-attachments.component.tsx +360 -0
  320. package/src/billing/dashboard/v2/patient-bill-details/attachments/invoice.component.tsx +151 -0
  321. package/src/billing/dashboard/v2/patient-bill-details/attachments/invoice.scss +225 -0
  322. package/src/billing/dashboard/v2/patient-bill-details/attachments/type.ts +44 -0
  323. package/src/billing/dashboard/v2/patient-bill-details/bill-details/bill-details.scss +107 -0
  324. package/src/billing/dashboard/v2/patient-bill-details/bill-details/bill-details.tsx +508 -0
  325. package/src/billing/dashboard/v2/patient-bill-details/bill-details-page.component.scss +30 -0
  326. package/src/billing/dashboard/v2/patient-bill-details/bill-details-page.component.tsx +94 -0
  327. package/src/billing/dashboard/v2/patient-bill-details/claim-details/claim-details-skeleton.component.scss +89 -0
  328. package/src/billing/dashboard/v2/patient-bill-details/claim-details/claim-details-skeleton.component.tsx +53 -0
  329. package/src/billing/dashboard/v2/patient-bill-details/claim-details/patient-claim-details.component.scss +32 -0
  330. package/src/billing/dashboard/v2/patient-bill-details/claim-details/patient-claim-details.component.tsx +215 -0
  331. package/src/billing/dashboard/v2/patient-bill-details/modals/add-claim-diagnosis/add-claim-diagnosis.modal.scss +0 -0
  332. package/src/billing/dashboard/v2/patient-bill-details/modals/add-claim-diagnosis/add-claim-diagnosis.modal.tsx +99 -0
  333. package/src/billing/dashboard/v2/patient-bill-details/modals/add-claim-line/add-claim-line.modal.tsx +186 -0
  334. package/src/billing/dashboard/v2/patient-bill-details/patient-bill-details.scss +153 -0
  335. package/src/billing/dashboard/v2/patient-bill-details/patient-bill-details.tsx +458 -0
  336. package/src/billing/dashboard/v2/patient-bill-details/payment-mode.ts +124 -0
  337. package/src/billing/dashboard/v2/patient-bill-details/workspaces/add-claim-line/add-claim-line.workspace.scss +27 -0
  338. package/src/billing/dashboard/v2/patient-bill-details/workspaces/add-claim-line/add-claim-line.workspace.tsx +222 -0
  339. package/src/billing/dashboard/v2/patient-bill-details/workspaces/bill-item-payment/bill-item-payment.workspace.scss +27 -0
  340. package/src/billing/dashboard/v2/patient-bill-details/workspaces/bill-item-payment/bill-item-payment.workspace.tsx +109 -0
  341. package/src/billing/dashboard/v2/preauth/preauth-attachments.component.tsx +389 -0
  342. package/src/billing/dashboard/v2/preauth/preauth-list.component.scss +38 -0
  343. package/src/billing/dashboard/v2/preauth/preauth-list.component.tsx +226 -0
  344. package/src/billing/dashboard/v2/preauth/preauth-status-tag.component.tsx +75 -0
  345. package/src/billing/dashboard/v2/preauth/preauth-typed-fields.md +125 -0
  346. package/src/billing/dashboard/v2/preauth/preauth.resource.ts +1067 -0
  347. package/src/billing/dashboard/v2/preauth/preauth.workspace.scss +91 -0
  348. package/src/billing/dashboard/v2/preauth/preauth.workspace.tsx +1802 -0
  349. package/src/billing/dashboard/v2/preauth/preauthorizations-tab.component.tsx +45 -0
  350. package/src/billing/dashboard/v2/sha-claims/sha-claims-table.component.tsx +36 -0
  351. package/src/billing/dashboard/v2/sha-claims/sha-claims.component.tsx +60 -0
  352. package/src/billing/dashboard/v2/sha-claims/sha-claims.scss +8 -0
  353. package/src/billing/dashboard/v2/shared/dash-board-card/dash-board-card.component.scss +17 -0
  354. package/src/billing/dashboard/v2/shared/dash-board-card/dash-board-card.component.tsx +15 -0
  355. package/src/billing/dashboard/v2/shared/empty-state.component.scss +24 -0
  356. package/src/billing/dashboard/v2/shared/empty-state.component.tsx +13 -0
  357. package/src/billing/dashboard/v2/shared/scroll-to-top.component.scss +54 -0
  358. package/src/billing/dashboard/v2/shared/scroll-to-top.component.tsx +54 -0
  359. package/src/billing/dashboard/v2/shared/table-toolbar.component.scss +77 -0
  360. package/src/billing/dashboard/v2/shared/table-toolbar.component.tsx +48 -0
  361. package/src/billing/dashboard/v2/types/index.ts +507 -0
  362. package/src/billing/dashboard/v3/active-visits/active-visits.component.tsx +256 -0
  363. package/src/billing/dashboard/v3/active-visits/active-visits.resource.ts +57 -0
  364. package/src/billing/dashboard/v3/active-visits/active-visits.scss +15 -0
  365. package/src/billing/dashboard/v3/cash-checklist/bill-document.component.scss +90 -0
  366. package/src/billing/dashboard/v3/cash-checklist/bill-document.component.tsx +101 -0
  367. package/src/billing/dashboard/v3/cash-checklist/cash-checklist.component.scss +199 -0
  368. package/src/billing/dashboard/v3/cash-checklist/cash-checklist.component.tsx +361 -0
  369. package/src/billing/dashboard/v3/cash-checklist/cash-checklist.resource.ts +240 -0
  370. package/src/billing/dashboard/v3/cash-checklist/payment-drawer.component.scss +246 -0
  371. package/src/billing/dashboard/v3/cash-checklist/payment-drawer.component.tsx +182 -0
  372. package/src/billing/dashboard/v3/claim-visits/claim-diagnosis-details/claim-diagnosis-details.component.scss +0 -0
  373. package/src/billing/dashboard/v3/claim-visits/claim-diagnosis-details/claim-diagnosis-details.component.tsx +44 -0
  374. package/src/billing/dashboard/v3/claim-visits/claim-doctors/claim-doctors.scss +5 -0
  375. package/src/billing/dashboard/v3/claim-visits/claim-doctors/claim-doctors.tsx +42 -0
  376. package/src/billing/dashboard/v3/claim-visits/claim-documents/claim-documents.scss +10 -0
  377. package/src/billing/dashboard/v3/claim-visits/claim-documents/claim-documents.tsx +25 -0
  378. package/src/billing/dashboard/v3/claim-visits/claim-intervention-details/claim-intervention-details.component.tsx +223 -0
  379. package/src/billing/dashboard/v3/claim-visits/claim-invoice-details/claim-invoice-details.component.scss +6 -0
  380. package/src/billing/dashboard/v3/claim-visits/claim-invoice-details/claim-invoice-details.component.tsx +85 -0
  381. package/src/billing/dashboard/v3/claim-visits/claim-invoice-line-details/claim-invoice-line-details.component.scss +0 -0
  382. package/src/billing/dashboard/v3/claim-visits/claim-invoice-line-details/claim-invoice-line-details.component.tsx +109 -0
  383. package/src/billing/dashboard/v3/claim-visits/claim-visit-details/claim-visit-details.component.scss +104 -0
  384. package/src/billing/dashboard/v3/claim-visits/claim-visit-details/claim-visit-details.component.tsx +336 -0
  385. package/src/billing/dashboard/v3/claim-visits/claim-visits.component.scss +5 -0
  386. package/src/billing/dashboard/v3/claim-visits/claim-visits.component.tsx +139 -0
  387. package/src/billing/dashboard/v3/claim-visits/modal/claim-doctors/add-claim-doctor/add-claim-doctor.modal.scss +5 -0
  388. package/src/billing/dashboard/v3/claim-visits/modal/claim-doctors/add-claim-doctor/add-claim-doctor.modal.tsx +49 -0
  389. package/src/billing/dashboard/v3/claim-visits/modal/claim-invoice-lines/claim-invoice-lines.modal.scss +7 -0
  390. package/src/billing/dashboard/v3/claim-visits/modal/claim-invoice-lines/claim-invoice-lines.modal.tsx +35 -0
  391. package/src/billing/dashboard/v3/claim-visits/modal/claim-visit-details/claim-visit-details.modal.scss +6 -0
  392. package/src/billing/dashboard/v3/claim-visits/modal/claim-visit-details/claim-visit-details.modal.tsx +33 -0
  393. package/src/billing/dashboard/v3/claim-visits/modal/close-claim/close-claim.modal.scss +0 -0
  394. package/src/billing/dashboard/v3/claim-visits/modal/close-claim/close-claim.modal.tsx +129 -0
  395. package/src/billing/dashboard/v3/claim-visits/modal/submit-claim/submit-claim.modal.tsx +204 -0
  396. package/src/billing/dashboard/v3/claim-visits/payer-preview/index.scss +140 -0
  397. package/src/billing/dashboard/v3/claim-visits/payer-preview/payer-preview-tile.component.tsx +55 -0
  398. package/src/billing/dashboard/v3/claim-visits/payer-preview/payer-preview-workspace.component.tsx +157 -0
  399. package/src/billing/dashboard/v3/claim-visits/payer-preview/tables/payer-claim-doctors.component.tsx +54 -0
  400. package/src/billing/dashboard/v3/claim-visits/payer-preview/tables/payer-claim-lines.component.tsx +48 -0
  401. package/src/billing/dashboard/v3/claim-visits/payer-preview/tables/payer-claim-notes.component.tsx +47 -0
  402. package/src/billing/dashboard/v3/claim-visits/payer-preview/tables/payer-diagnoses.component.tsx +44 -0
  403. package/src/billing/dashboard/v3/claim-visits/payer-preview/tables/payer-interventions.component.tsx +44 -0
  404. package/src/billing/dashboard/v3/claim-visits/switch-intervention/switch-intervention.resource.ts +51 -0
  405. package/src/billing/dashboard/v3/claim-visits/switch-intervention/switch-intervention.workspace.scss +191 -0
  406. package/src/billing/dashboard/v3/claim-visits/switch-intervention/switch-intervention.workspace.tsx +648 -0
  407. package/src/billing/dashboard/v3/claim-workspace/claim-workspace.component.scss +595 -0
  408. package/src/billing/dashboard/v3/claim-workspace/claim-workspace.component.tsx +810 -0
  409. package/src/billing/dashboard/v3/claim-workspace/claim-workspace.resource.ts +282 -0
  410. package/src/billing/dashboard/v3/claims-accounting/bill-utils.ts +134 -0
  411. package/src/billing/dashboard/v3/claims-accounting/claim-detail.component.tsx +346 -0
  412. package/src/billing/dashboard/v3/claims-accounting/claims-accounting.component.scss +546 -0
  413. package/src/billing/dashboard/v3/claims-accounting/claims-accounting.component.tsx +206 -0
  414. package/src/billing/dashboard/v3/claims-accounting/claims-accounting.resource.ts +337 -0
  415. package/src/billing/dashboard/v3/claims-accounting/invoice-document.component.scss +90 -0
  416. package/src/billing/dashboard/v3/claims-accounting/invoice-document.component.tsx +90 -0
  417. package/src/billing/dashboard/v3/claims-accounting/remittances.component.tsx +169 -0
  418. package/src/billing/dashboard/v3/claims-accounting/remittances.resource.ts +46 -0
  419. package/src/billing/dashboard/v3/claims-accounting/status-meta.ts +25 -0
  420. package/src/billing/dashboard/v3/clearance/clearance.component.scss +100 -0
  421. package/src/billing/dashboard/v3/clearance/clearance.component.tsx +0 -0
  422. package/src/billing/dashboard/v3/clearance/prepaid-services.component.tsx +112 -0
  423. package/src/billing/dashboard/v3/facility-bills/claim-status.ts +243 -0
  424. package/src/billing/dashboard/v3/facility-bills/facility-bills.component.scss +9 -0
  425. package/src/billing/dashboard/v3/facility-bills/facility-bills.component.tsx +172 -0
  426. package/src/billing/dashboard/v3/facility-bills/preauths-datatables/pending-preauths.component.tsx +132 -0
  427. package/src/billing/dashboard/v3/facility-bills/preauths-datatables/preauth-preview-table.component.tsx +232 -0
  428. package/src/billing/dashboard/v3/facility-bills/preauths.component.tsx +124 -0
  429. package/src/billing/dashboard/v3/patient-bill-details/attachments/add-attachments.component.tsx +223 -0
  430. package/src/billing/dashboard/v3/patient-bill-details/attachments/attachment.component.tsx +157 -0
  431. package/src/billing/dashboard/v3/patient-bill-details/attachments/attachments.scss +92 -0
  432. package/src/billing/dashboard/v3/patient-bill-details/attachments/case-summary/case-summary-helper.ts +58 -0
  433. package/src/billing/dashboard/v3/patient-bill-details/attachments/case-summary/case-summary.scss +295 -0
  434. package/src/billing/dashboard/v3/patient-bill-details/attachments/case-summary/case-summary.tsx +273 -0
  435. package/src/billing/dashboard/v3/patient-bill-details/attachments/dialysis/dialysis-chart.scss +238 -0
  436. package/src/billing/dashboard/v3/patient-bill-details/attachments/dialysis/dialysis-chart.tsx +314 -0
  437. package/src/billing/dashboard/v3/patient-bill-details/attachments/discharge-summary/discharge-summary.scss +96 -0
  438. package/src/billing/dashboard/v3/patient-bill-details/attachments/discharge-summary/discharge-summary.tsx +126 -0
  439. package/src/billing/dashboard/v3/patient-bill-details/attachments/final-bill.component.tsx +75 -0
  440. package/src/billing/dashboard/v3/patient-bill-details/attachments/general-discharge-summary/general-discharge-summary.scss +182 -0
  441. package/src/billing/dashboard/v3/patient-bill-details/attachments/general-discharge-summary/general-discharge-summary.tsx +253 -0
  442. package/src/billing/dashboard/v3/patient-bill-details/attachments/generate-attachments.component.tsx +343 -0
  443. package/src/billing/dashboard/v3/patient-bill-details/attachments/invoice.component.tsx +150 -0
  444. package/src/billing/dashboard/v3/patient-bill-details/attachments/invoice.scss +225 -0
  445. package/src/billing/dashboard/v3/patient-bill-details/attachments/type.ts +259 -0
  446. package/src/billing/dashboard/v3/patient-bill-details/bill-details/bill-details.scss +13 -0
  447. package/src/billing/dashboard/v3/patient-bill-details/bill-details/bill-details.tsx +205 -0
  448. package/src/billing/dashboard/v3/patient-bill-details/claim-details/patient-claim-details.component.scss +0 -0
  449. package/src/billing/dashboard/v3/patient-bill-details/claim-details/patient-claim-details.component.tsx +61 -0
  450. package/src/billing/dashboard/v3/patient-bill-details/modals/add-claim-diagnosis/add-claim-diagnosis.modal.scss +0 -0
  451. package/src/billing/dashboard/v3/patient-bill-details/modals/add-claim-diagnosis/add-claim-diagnosis.modal.tsx +99 -0
  452. package/src/billing/dashboard/v3/patient-bill-details/modals/add-claim-line/add-claim-line.modal.scss +14 -0
  453. package/src/billing/dashboard/v3/patient-bill-details/modals/add-claim-line/add-claim-line.modal.tsx +111 -0
  454. package/src/billing/dashboard/v3/patient-bill-details/modals/bill-item-payment/bill-item-payment.modal.scss +6 -0
  455. package/src/billing/dashboard/v3/patient-bill-details/modals/bill-item-payment/bill-item-payment.modal.tsx +139 -0
  456. package/src/billing/dashboard/v3/patient-bill-details/patient-bill-details.scss +20 -0
  457. package/src/billing/dashboard/v3/patient-bill-details/patient-bill-details.tsx +254 -0
  458. package/src/billing/dashboard/v3/patient-bill-details/visit-diagnosis-details/visit-diagnosis-details.component.scss +0 -0
  459. package/src/billing/dashboard/v3/patient-bill-details/visit-diagnosis-details/visit-diagnosis-details.component.tsx +80 -0
  460. package/src/billing/dashboard/v3/preauth/preauth-attachments.component.tsx +389 -0
  461. package/src/billing/dashboard/v3/preauth/preauth-list.component.scss +34 -0
  462. package/src/billing/dashboard/v3/preauth/preauth-list.component.tsx +281 -0
  463. package/src/billing/dashboard/v3/preauth/preauth-status-tag.component.tsx +75 -0
  464. package/src/billing/dashboard/v3/preauth/preauth-typed-fields.md +125 -0
  465. package/src/billing/dashboard/v3/preauth/preauth.resource.ts +1072 -0
  466. package/src/billing/dashboard/v3/preauth/preauth.workspace.scss +91 -0
  467. package/src/billing/dashboard/v3/preauth/preauth.workspace.tsx +1806 -0
  468. package/src/billing/dashboard/v3/preauth/preauthorizations-tab.component.tsx +45 -0
  469. package/src/billing/dashboard/v3/shared/empty-state.component.scss +25 -0
  470. package/src/billing/dashboard/v3/shared/empty-state.component.tsx +13 -0
  471. package/src/billing/dashboard/v3/shared/table-toolbar.component.scss +64 -0
  472. package/src/billing/dashboard/v3/shared/table-toolbar.component.tsx +48 -0
  473. package/src/billing/dashboard/v3/types/index.ts +381 -0
  474. package/src/billing/extensions/generate-order-bill-button/generate-order-bill-button.extension.tsx +55 -0
  475. package/src/billing/extensions/generate-order-bill-button/generate-order-bill-button.scss +16 -0
  476. package/src/billing/extensions/visit-billing/visit-billing.extension.scss +0 -0
  477. package/src/billing/extensions/visit-billing/visit-billing.extension.tsx +509 -0
  478. package/src/billing/invoice/bill.resource.ts +47 -0
  479. package/src/billing/invoice/invoice-header/header-card/header-card.scss +17 -0
  480. package/src/billing/invoice/invoice-header/header-card/header-card.tsx +21 -0
  481. package/src/billing/invoice/invoice.scss +113 -0
  482. package/src/billing/invoice/invoice.tsx +1441 -0
  483. package/src/billing/invoice/line-items/line-items.scss +0 -0
  484. package/src/billing/invoice/line-items/line-items.tsx +120 -0
  485. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.scss +23 -0
  486. package/src/billing/invoice/modal/delete-bill-item/delete-bill-item.modal.tsx +114 -0
  487. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.scss +0 -0
  488. package/src/billing/invoice/modal/edit-bill-item/edit-bill-item.modal.tsx +122 -0
  489. package/src/billing/invoice/payment-details/payment-details.scss +0 -0
  490. package/src/billing/invoice/payment-details/payment-details.tsx +43 -0
  491. package/src/billing/invoice/print-invoice/print-receipt.component.tsx +44 -0
  492. package/src/billing/invoice/print-invoice/print-receipt.scss +14 -0
  493. package/src/billing/maternity-discharge.resource.ts +21 -0
  494. package/src/billing/types/index.ts +354 -0
  495. package/src/billing/utils/index.ts +17 -0
  496. package/src/billing/widgets/billingTotalsRow.component.scss +0 -0
  497. package/src/billing/widgets/billingTotalsRow.component.tsx +712 -0
  498. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.resource.ts +130 -0
  499. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.scss +58 -0
  500. package/src/billing/workspaces/create-order-bill-form-workspace/create-order-bill-form.workspace.tsx +645 -0
  501. package/src/billing/workspaces/create-order-bill-form-workspace/schema.ts +12 -0
  502. package/src/bookings/bookings.component.scss +7 -0
  503. package/src/bookings/bookings.component.tsx +35 -0
  504. package/src/bookings/daily/daily-bookings.resource.ts +2 -1
  505. package/src/case-summary/case-summary.extension.scss +13 -0
  506. package/src/case-summary/case-summary.extension.tsx +40 -0
  507. package/src/case-summary/case-summary.resource.test.ts +69 -0
  508. package/src/case-summary/case-summary.resource.ts +52 -0
  509. package/src/case-summary/components/case-summary-printable.component.scss +174 -0
  510. package/src/case-summary/components/case-summary-printable.component.tsx +288 -0
  511. package/src/case-summary/components/case-summary-printable.utils.ts +51 -0
  512. package/src/case-summary/types/case-summary.types.ts +152 -0
  513. package/src/claims/claims.component.scss +70 -0
  514. package/src/claims/claims.component.tsx +713 -0
  515. package/src/claims/claims.resource.ts +1274 -0
  516. package/src/claims/index.ts +340 -0
  517. package/src/claims/interventions.resource.ts +131 -0
  518. package/src/claims/utils.ts +64 -0
  519. package/src/config-schema.ts +114 -1
  520. package/src/context/patient-context.tsx +27 -0
  521. package/src/createDashboardLink.tsx +9 -0
  522. package/src/dashboard/charts/chart.component.scss +24 -0
  523. package/src/dashboard/charts/chart.component.tsx +56 -0
  524. package/src/dashboard/dashboard.component.scss +48 -3
  525. package/src/dashboard/dashboard.component.tsx +26 -36
  526. package/src/dashboard/overview/overview.component.scss +40 -59
  527. package/src/dashboard/overview/overview.component.tsx +53 -41
  528. package/src/dashboard-meta/accounting-dashboard.meta.ts +6 -0
  529. package/src/dashboard-meta/admissions-dashboard.meta.ts +6 -0
  530. package/src/dashboard-meta/billing-dashboard.meta.ts +6 -0
  531. package/src/dashboard-meta/bookings-dashboard.meta.ts +6 -0
  532. package/src/dashboard-meta/case-summary.meta.ts +6 -0
  533. package/src/dashboard-meta/consultation-dashboard.meta.ts +6 -0
  534. package/src/dashboard-meta/dha-workflow-dashboard.meta.ts +6 -0
  535. package/src/dashboard-meta/inpatient-admissions.meta.ts +6 -0
  536. package/src/dashboard-meta/maternity-dashboard.meta.ts +6 -0
  537. package/src/dashboard-meta/mch-dashboard.meta.ts +6 -0
  538. package/src/dashboard-meta/pharmacy-dashboard.meta.ts +6 -0
  539. package/src/dashboard-meta/queue-dashboard.meta.ts +6 -0
  540. package/src/dashboard-meta/registers-dashboard.meta.ts +6 -0
  541. package/src/dashboard-meta/registry-dashboard.meta.ts +6 -0
  542. package/src/dashboard-meta/service-queue-admin.meta.ts +6 -0
  543. package/src/dashboard-meta/specialized-clinics-dashboard.meta.ts +6 -0
  544. package/src/dashboard-meta/triage-dashboard.meta.ts +6 -0
  545. package/src/index.ts +177 -6
  546. package/src/mnch/maternity/maternity-queues.component.scss +7 -0
  547. package/src/mnch/maternity/maternity-queues.component.tsx +32 -0
  548. package/src/mnch/maternity/queues/triage/maternity-triage.tsx +15 -0
  549. package/src/mnch/mch/mch-queues.component.scss +10 -0
  550. package/src/mnch/mch/mch-queues.component.tsx +36 -0
  551. package/src/mnch/mch/queues/consultation/mch-consultation.tsx +18 -0
  552. package/src/mnch/mch/queues/triage/mch-triage.tsx +15 -0
  553. package/src/mnch/mnch-root.tsx +17 -0
  554. package/src/mortuary/mortuary.component.tsx +13 -0
  555. package/src/pharmacy/pharmacy.component.scss +16 -0
  556. package/src/pharmacy/pharmacy.component.tsx +11 -6
  557. package/src/registers/registers.component.tsx +8 -0
  558. package/src/registry/drawer/emr-compare.component.scss +263 -0
  559. package/src/registry/drawer/emr-compare.component.tsx +302 -0
  560. package/src/registry/drawer/emr-compare.resource.ts +181 -0
  561. package/src/registry/drawer/emr-create-preview.component.tsx +123 -0
  562. package/src/registry/drawer/otp-verification-step.component.tsx +398 -0
  563. package/src/registry/drawer/pomsf-balance.util.test.ts +177 -0
  564. package/src/registry/drawer/pomsf-balance.util.ts +79 -0
  565. package/src/registry/drawer/verification.resource.ts +60 -0
  566. package/src/registry/drawer/workflow-drawer.component.scss +1242 -0
  567. package/src/registry/drawer/workflow-drawer.component.tsx +1476 -0
  568. package/src/registry/eligibility/eligibility-details/eligibility-details.scss +38 -0
  569. package/src/registry/eligibility/eligibility-details/eligibility-details.tsx +101 -0
  570. package/src/registry/eligibility/eliigibility-tags/eligibility-tags.scss +16 -0
  571. package/src/registry/eligibility/eliigibility-tags/eligibility-tags.tsx +120 -0
  572. package/src/registry/eligibility/modal/eligibility-details.modal.scss +0 -0
  573. package/src/registry/eligibility/modal/eligibility-details.modal.tsx +45 -0
  574. package/src/registry/hie.resource.ts +408 -0
  575. package/src/registry/hie.types.ts +57 -0
  576. package/src/registry/modal/biometrics-verification-modal/biometrics-verification-modal.scss +277 -0
  577. package/src/registry/modal/biometrics-verification-modal/biometrics-verification-modal.tsx +218 -0
  578. package/src/registry/modal/biometrics-verification-modal/type.ts +39 -0
  579. package/src/registry/modal/client-details-modal/client-details-modal.tsx +65 -29
  580. package/src/registry/modal/otp-modal/otp-whitlisting-modal.component.tsx +815 -0
  581. package/src/registry/modal/otp-modal/otp-whitlisting-modal.scss +354 -0
  582. package/src/registry/modal/otp-modal/otp-whitlisting.scss +0 -0
  583. package/src/registry/modal/otp-verification-modal/claims-consent.scss +72 -0
  584. package/src/registry/modal/otp-verification-modal/claims-consent.tsx +135 -0
  585. package/src/registry/modal/otp-verification-modal/extension/claims-consent.extension.tsx +124 -0
  586. package/src/registry/modal/otp-verification-modal/otp-verification-modal.scss +30 -0
  587. package/src/registry/modal/otp-verification-modal/otp-verification-modal.tsx +154 -54
  588. package/src/registry/modal/send-to-triage/payment-details.tsx +120 -0
  589. package/src/registry/modal/send-to-triage/payment-method.component.tsx +54 -0
  590. package/src/registry/modal/send-to-triage/send-to-queue.modal.tsx +980 -0
  591. package/src/registry/modal/send-to-triage/send-to-triage.modal.scss +156 -3
  592. package/src/registry/modal/send-to-triage/send-to-triage.modal.tsx +1101 -131
  593. package/src/registry/modal/start-patient-visit/start-patient-visit.modal.scss +34 -0
  594. package/src/registry/modal/start-patient-visit/start-patient-visit.modal.tsx +231 -0
  595. package/src/registry/payment-details/payment-options/payment-options.scss +13 -0
  596. package/src/registry/payment-details/payment-options/payment-options.tsx +61 -14
  597. package/src/registry/registration-list/registration-list.component.scss +32 -0
  598. package/src/registry/registration-list/registration-list.component.tsx +103 -0
  599. package/src/registry/registry-entry.tsx +11 -0
  600. package/src/registry/registry.component.scss +402 -78
  601. package/src/registry/registry.component.tsx +547 -221
  602. package/src/registry/registry.resource.ts +22 -3
  603. package/src/registry/types/index.ts +117 -8
  604. package/src/registry/utils/error-handler.ts +54 -0
  605. package/src/registry/utils/format-dependant-display-data.ts +1 -1
  606. package/src/registry/utils/hie-client-adapter.ts +6 -3
  607. package/src/registry/utils/mask-data.ts +40 -0
  608. package/src/registry/utils/phone-number-formatter.ts +11 -0
  609. package/src/resources/dashboard.resource.ts +20 -0
  610. package/src/resources/identifier-types.ts +2 -0
  611. package/src/resources/patient-resource.ts +6 -1
  612. package/src/resources/queue.resource.ts +24 -1
  613. package/src/resources/superset.resource.ts +21 -0
  614. package/src/resources/visit.resource.ts +19 -1
  615. package/src/root.component.tsx +8 -5
  616. package/src/routes.json +417 -23
  617. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.scss +31 -0
  618. package/src/service-queues/admin/queue/modal/create-queue/create-queue.modal.tsx +153 -0
  619. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.scss +0 -0
  620. package/src/service-queues/admin/queue/modal/edit-queue/edit-queue.modal.tsx +182 -0
  621. package/src/service-queues/admin/queue/queue-list/queue-list.scss +33 -0
  622. package/src/service-queues/admin/queue/queue-list/queue-list.tsx +113 -0
  623. package/src/service-queues/admin/queue-entry/queue-entry-list.component.scss +6 -0
  624. package/src/service-queues/admin/queue-entry/queue-entry-list.component.tsx +137 -0
  625. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.scss +31 -0
  626. package/src/service-queues/admin/queue-room/modal/create-queue-room/create-queue-room.modal.tsx +137 -0
  627. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.scss +0 -0
  628. package/src/service-queues/admin/queue-room/modal/edit-queue-room/edit-queue-room.modal.tsx +146 -0
  629. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.scss +22 -0
  630. package/src/service-queues/admin/queue-room/queue-room-list/queue-room-list.tsx +120 -0
  631. package/src/service-queues/admin/service-queue-admin-dashboard.component.scss +6 -0
  632. package/src/service-queues/admin/service-queue-admin-dashboard.component.tsx +34 -0
  633. package/src/service-queues/consultation/consultation.component.tsx +9 -0
  634. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.scss +30 -0
  635. package/src/service-queues/extensions/service-queue-patient-banner/service-queue-patient-banner.tsx +108 -0
  636. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.scss +26 -0
  637. package/src/service-queues/modals/daily-report-patient-list/daily-report-patient-list.tsx +110 -0
  638. package/src/service-queues/modals/move/move-patient.component.scss +1 -1
  639. package/src/service-queues/modals/move/move-patient.component.tsx +31 -17
  640. package/src/service-queues/queue-list/check-in.service.ts +26 -0
  641. package/src/service-queues/queue-list/queue-list.component.scss +37 -0
  642. package/src/service-queues/queue-list/queue-list.component.tsx +256 -56
  643. package/src/service-queues/service-queue/service-queue.component.tsx +151 -8
  644. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.scss +5 -0
  645. package/src/service-queues/service-queue/stats/stat-details/stat-details.component.tsx +36 -7
  646. package/src/service-queues/service-queue.tsx +22 -16
  647. package/src/service-queues/service-queues.resource.ts +197 -1
  648. package/src/service-queues/service.resource.ts +1 -1
  649. package/src/shared/constants/concepts.ts +50 -0
  650. package/src/shared/constants/patient-category.ts +6 -0
  651. package/src/shared/constants/patient-type.ts +10 -0
  652. package/src/shared/constants/visit-types.ts +7 -0
  653. package/src/shared/services/billing.resource.ts +75 -0
  654. package/src/shared/services/claims.resource.ts +47 -0
  655. package/src/shared/services/client-payment-mode.resource.ts +27 -0
  656. package/src/shared/services/client-payment.resource.ts +17 -0
  657. package/src/shared/services/consultation-clearance.resource.ts +210 -0
  658. package/src/shared/services/eligibility.resource.ts +20 -0
  659. package/src/shared/services/encounters.resource.ts +33 -0
  660. package/src/shared/services/location.resource.ts +9 -0
  661. package/src/shared/types/index.ts +156 -0
  662. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.scss +42 -0
  663. package/src/shared/ui/aggregate-stat-card/aggregate-stat-card.tsx +42 -0
  664. package/src/shared/ui/confirm-modal/confirm.modal.scss +18 -0
  665. package/src/shared/ui/confirm-modal/confirm.modal.tsx +38 -0
  666. package/src/shared/ui/facility-worker-slot/facility-worker.component-slot.component.scss +39 -0
  667. package/src/shared/ui/facility-worker-slot/facility-worker.component-slot.component.tsx +19 -0
  668. package/src/shared/ui/otp-input/otp-input.component.scss +14 -0
  669. package/src/shared/ui/otp-input/otp-input.component.tsx +97 -0
  670. package/src/{service-queues/service-queue/stats → shared/ui}/stat-card/stat-card.component.tsx +6 -3
  671. package/src/shared/ui/timer/timer.component.scss +5 -0
  672. package/src/shared/ui/timer/timer.component.tsx +40 -0
  673. package/src/shared/utils/get-base-url.ts +10 -0
  674. package/src/shared/utils/get-tag-type.ts +75 -0
  675. package/src/side-nav-menu/mnch-nav-link-config.ts +16 -0
  676. package/src/side-nav-menu/mnch-nav-links.tsx +42 -0
  677. package/src/side-nav-menu/nav-link-config.ts +1 -5
  678. package/src/side-nav-menu/specialized-clinics-nav-link-config.ts +36 -0
  679. package/src/side-nav-menu/specialized-clinics-nav-links.tsx +42 -0
  680. package/src/specialized-clinics/critital-care-unit/critical-care-unit-queues.component.scss +7 -0
  681. package/src/specialized-clinics/critital-care-unit/critical-care-unit-queues.component.tsx +36 -0
  682. package/src/specialized-clinics/critital-care-unit/queues/consultation/critical-care-unit-consultation.tsx +15 -0
  683. package/src/specialized-clinics/critital-care-unit/queues/triage/critical-care-unit-triage.tsx +15 -0
  684. package/src/specialized-clinics/dental/dental-queues.component.scss +7 -0
  685. package/src/specialized-clinics/dental/dental-queues.component.tsx +36 -0
  686. package/src/specialized-clinics/dental/queues/consultation/dental-consultation.tsx +15 -0
  687. package/src/specialized-clinics/dental/queues/triage/dental-triage.tsx +15 -0
  688. package/src/specialized-clinics/diagnostic-and-imaging/diagnostic-and-imaging.component.scss +7 -0
  689. package/src/specialized-clinics/diagnostic-and-imaging/diagnostic-and-imaging.component.tsx +36 -0
  690. package/src/specialized-clinics/diagnostic-and-imaging/queues/consultation/diagnosis-and-imaging-consultation.tsx +15 -0
  691. package/src/specialized-clinics/diagnostic-and-imaging/queues/triage/diagnosis-and-imaging-triage.tsx +15 -0
  692. package/src/specialized-clinics/oncology/oncology-queues.component.scss +7 -0
  693. package/src/specialized-clinics/oncology/oncology-queues.component.tsx +36 -0
  694. package/src/specialized-clinics/oncology/queues/consultation/oncology-consultation.tsx +15 -0
  695. package/src/specialized-clinics/oncology/queues/triage/oncology-triage.tsx +15 -0
  696. package/src/specialized-clinics/ophthalmology/ophthalmology-queues.component.scss +7 -0
  697. package/src/specialized-clinics/ophthalmology/ophthalmology-queues.component.tsx +36 -0
  698. package/src/specialized-clinics/ophthalmology/queues/consultation/ophthalmology-consultation.tsx +15 -0
  699. package/src/specialized-clinics/ophthalmology/queues/triage/ophthalmology-triage.tsx +15 -0
  700. package/src/specialized-clinics/psychiatry/psychiatry-queues.component.scss +7 -0
  701. package/src/specialized-clinics/psychiatry/psychiatry-queues.component.tsx +36 -0
  702. package/src/specialized-clinics/psychiatry/queues/consultation/psychiatry-consultation.tsx +15 -0
  703. package/src/specialized-clinics/psychiatry/queues/triage/psychiatry-triage.tsx +15 -0
  704. package/src/specialized-clinics/renal/queues/consultation/dialysis-consultation.tsx +15 -0
  705. package/src/specialized-clinics/renal/queues/triage/renal-triage.tsx +15 -0
  706. package/src/specialized-clinics/renal/renal-queues.component.scss +7 -0
  707. package/src/specialized-clinics/renal/renal-queues.component.tsx +36 -0
  708. package/src/specialized-clinics/specialized-clinics-root.tsx +27 -0
  709. package/src/triage/triage.component.scss +6 -0
  710. package/src/triage/triage.component.tsx +4 -0
  711. package/src/types/types.ts +56 -1
  712. package/webpack.config.js +54 -1
  713. package/dist/104.js +0 -2
  714. package/dist/104.js.map +0 -1
  715. package/dist/15.js +0 -1
  716. package/dist/15.js.map +0 -1
  717. package/dist/184.js +0 -2
  718. package/dist/184.js.map +0 -1
  719. package/dist/197.js +0 -1
  720. package/dist/255.js +0 -1
  721. package/dist/255.js.map +0 -1
  722. package/dist/300.js +0 -1
  723. package/dist/335.js +0 -1
  724. package/dist/339.js +0 -1
  725. package/dist/339.js.map +0 -1
  726. package/dist/353.js +0 -1
  727. package/dist/353.js.map +0 -1
  728. package/dist/420.js +0 -1
  729. package/dist/420.js.map +0 -1
  730. package/dist/540.js +0 -2
  731. package/dist/540.js.map +0 -1
  732. package/dist/55.js +0 -1
  733. package/dist/652.js +0 -1
  734. package/dist/709.js +0 -1
  735. package/dist/709.js.map +0 -1
  736. package/dist/710.js +0 -2
  737. package/dist/710.js.map +0 -1
  738. package/dist/729.js +0 -1
  739. package/dist/729.js.map +0 -1
  740. package/dist/752.js +0 -1
  741. package/dist/752.js.map +0 -1
  742. package/dist/833.js +0 -1
  743. package/dist/833.js.map +0 -1
  744. package/dist/907.js +0 -1
  745. package/dist/907.js.map +0 -1
  746. package/dist/91.js +0 -1
  747. package/dist/91.js.map +0 -1
  748. package/dist/93.js +0 -1
  749. package/dist/93.js.map +0 -1
  750. package/dist/943.js +0 -1
  751. package/dist/943.js.map +0 -1
  752. package/dist/99.js +0 -1
  753. /package/dist/{104.js.LICENSE.txt → 2177.js.LICENSE.txt} +0 -0
  754. /package/dist/{810.js.LICENSE.txt → 262.js.LICENSE.txt} +0 -0
  755. /package/dist/{184.js.LICENSE.txt → 3184.js.LICENSE.txt} +0 -0
  756. /package/dist/{540.js.LICENSE.txt → 6540.js.LICENSE.txt} +0 -0
  757. /package/dist/{710.js.LICENSE.txt → 7830.js.LICENSE.txt} +0 -0
  758. /package/src/{service-queues/service-queue/stats → shared/ui}/stat-card/stat-card.component.scss +0 -0
@@ -1,7 +1,12 @@
1
1
  import React, { useEffect, useMemo, useState } from 'react';
2
2
  import { type QueueEntryResult } from '../../registry/types';
3
3
  import { showSnackbar, useSession } from '@openmrs/esm-framework';
4
- import { closeQueueEntry, getServiceQueueByLocationUuid } from '../service-queues.resource';
4
+ import {
5
+ closeQueueEntry,
6
+ getServiceQueueByLocationUuid,
7
+ getServiceQueueDailyPatientListReport,
8
+ getServiceQueueDailyReport,
9
+ } from '../service-queues.resource';
5
10
  import { Button, InlineLoading, Tab, TabList, TabPanel, TabPanels, Tabs } from '@carbon/react';
6
11
  import QueueList from '../queue-list/queue-list.component';
7
12
  import styles from './service-queue.component.scss';
@@ -12,6 +17,10 @@ import StatDetails from './stats/stat-details/stat-details.component';
12
17
  import SignOffEntryModal from '../modals/sign-off/sign-off.modal';
13
18
  import { endVisit } from '../../resources/visit.resource';
14
19
  import { QUEUE_SERVICE_UUIDS } from '../../shared/constants/concepts';
20
+ import ConfirmModal from '../../shared/ui/confirm-modal/confirm.modal';
21
+ import { type ServiceQueueReportPatientList, type ServiceQueueDailyReport } from '../../shared/types';
22
+ import DailyReportPatientListModal from '../modals/daily-report-patient-list/daily-report-patient-list';
23
+ import FacilityAndWorkerSlot from '../../shared/ui/facility-worker-slot/facility-worker.component-slot.component';
15
24
 
16
25
  interface ServiceQueueComponentProps {
17
26
  serviceTypeUuid: string;
@@ -20,11 +29,18 @@ interface ServiceQueueComponentProps {
20
29
 
21
30
  const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTypeUuid, title }) => {
22
31
  const [queueEntries, setQueueEntries] = useState<QueueEntryResult[]>([]);
32
+ const [queueEntryDailyReport, setQueueEntryDailyReport] = useState<ServiceQueueDailyReport[]>([]);
33
+ const [queueEntryDailyReportPatientList, setQueueEntryDailyReportPatientList] = useState<
34
+ ServiceQueueReportPatientList[]
35
+ >([]);
23
36
  const [selectedQueueEntry, setSelectedQueueEntry] = useState<QueueEntryResult>();
24
37
  const [displayMoveModal, setDisplayMoveModal] = useState<boolean>(false);
25
38
  const [displayTransitionModal, setDisplayTransitionModal] = useState<boolean>(false);
26
39
  const [displayServeModal, setDisplayServeModal] = useState<boolean>(false);
27
40
  const [displaySignOffModal, setDisplaySignOffModal] = useState<boolean>(false);
41
+ const [displayConfirmClearQueueModal, setDisplayConfirmClearQueueModal] = useState<boolean>(false);
42
+ const [queueEntryToClear, setQueueEntryToClear] = useState<QueueEntryResult[]>();
43
+ const [displayDailyReportPatientListModal, setDisplayDailyReportPatientListModal] = useState<boolean>(false);
28
44
  const [loading, setLoading] = useState<boolean>(false);
29
45
  const session = useSession();
30
46
  const locationUuid = session.sessionLocation.uuid;
@@ -46,14 +62,43 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
46
62
  const groupedByRoom: { [key: string]: QueueEntryResult[] } = useMemo(() => groupEntriesByRooms(), [queueEntries]);
47
63
 
48
64
  useEffect(() => {
49
- getEntryQueues();
50
- }, []);
65
+ if (serviceTypeUuid && locationUuid) {
66
+ getEntryQueues();
67
+ getEntryQueueDailyReport();
68
+ fetchStatsPatientList();
69
+ }
70
+ }, [serviceTypeUuid, locationUuid]);
71
+
72
+
51
73
 
52
74
  const getEntryQueues = async () => {
53
75
  setLoading(true);
54
- const res = await getServiceQueueByLocationUuid(serviceTypeUuid, locationUuid);
55
- setQueueEntries(res);
56
- setLoading(false);
76
+ try {
77
+ const res = await getServiceQueueByLocationUuid(serviceTypeUuid, locationUuid);
78
+ setQueueEntries(res);
79
+ setLoading(false);
80
+ } catch (error) {
81
+ showSnackbar({
82
+ kind: 'error',
83
+ title: 'Error fetching queue',
84
+ subtitle: 'An error occurred while fetching the queue. Please reload or contact support',
85
+ });
86
+ }
87
+ };
88
+
89
+ const getEntryQueueDailyReport = async () => {
90
+ setLoading(true);
91
+ try {
92
+ const res = await getServiceQueueDailyReport(serviceTypeUuid, locationUuid);
93
+ setQueueEntryDailyReport(res);
94
+ setLoading(false);
95
+ } catch (error) {
96
+ showSnackbar({
97
+ kind: 'error',
98
+ title: 'Error fetching queue daily report',
99
+ subtitle: 'An error occurred while fetching the queue daily report. Please reload or contact support',
100
+ });
101
+ }
57
102
  };
58
103
 
59
104
  if (!groupedByRoom) {
@@ -130,6 +175,72 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
130
175
  });
131
176
  }
132
177
  };
178
+ const handleClearQueue = async (queueEntries: QueueEntryResult[]) => {
179
+ setQueueEntryToClear(queueEntries);
180
+ setDisplayConfirmClearQueueModal(true);
181
+ };
182
+
183
+ const clearQueue = async () => {
184
+ for (let i = 0; i < queueEntryToClear.length; i++) {
185
+ const queueEntryResult = queueEntries[i];
186
+ await closeQueue(queueEntryResult);
187
+ }
188
+ };
189
+
190
+ const closeQueue = async (queueEntryResult: QueueEntryResult) => {
191
+ try {
192
+ await closeQueueEntry(queueEntryResult.queue_entry_uuid);
193
+ await endVisit(queueEntryResult.visit_uuid, {
194
+ stopDatetime: new Date().toISOString(),
195
+ });
196
+ showSnackbar({
197
+ kind: 'success',
198
+ title: 'Queue entry successfully closed',
199
+ subtitle: `Queue entry ${queueEntryResult.queue_id} successfully closed`,
200
+ });
201
+ } catch (error) {
202
+ showSnackbar({
203
+ kind: 'error',
204
+ title: 'Queue entry close failrure',
205
+ subtitle: `Queue entry ${queueEntryResult.queue_id} could not be closed. Please retry of contact support`,
206
+ });
207
+ }
208
+ };
209
+
210
+ const handleConfirmClearQueue = () => {
211
+ setDisplayConfirmClearQueueModal(false);
212
+ clearQueue();
213
+ setQueueEntryToClear([]);
214
+ handleRefresh();
215
+ };
216
+
217
+ const handleCloseConfirmClearQueueModal = () => {
218
+ setDisplayConfirmClearQueueModal(false);
219
+ setQueueEntryToClear([]);
220
+ };
221
+
222
+ const fetchStatsPatientList = async () => {
223
+ try {
224
+ const resp = await getServiceQueueDailyPatientListReport(serviceTypeUuid, locationUuid);
225
+ setQueueEntryDailyReportPatientList(resp);
226
+ } catch (error) {
227
+ showSnackbar({
228
+ kind: 'error',
229
+ title: 'Error fetching patient list',
230
+ subtitle: 'An error ocuured while fetching the service queue checked in patient list',
231
+ });
232
+ }
233
+ };
234
+
235
+ const getStatsPatientList = () => {
236
+ showDailiyReportPatientListModal();
237
+ };
238
+ const handleCloseDailiyReportPatientListModal = () => {
239
+ setDisplayDailyReportPatientListModal(false);
240
+ };
241
+ const showDailiyReportPatientListModal = () => {
242
+ setDisplayDailyReportPatientListModal(true);
243
+ };
133
244
 
134
245
  if (!serviceTypeUuid) {
135
246
  return <>No service type defined</>;
@@ -144,7 +255,11 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
144
255
  <div>
145
256
  {queueEntries ? (
146
257
  <>
147
- <StatDetails queueEntries={queueEntries} />
258
+ <StatDetails
259
+ queueEntries={queueEntries}
260
+ report={queueEntryDailyReport}
261
+ onStatDetailsRequest={getStatsPatientList}
262
+ />
148
263
  </>
149
264
  ) : (
150
265
  <></>
@@ -171,6 +286,7 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
171
286
  <TabPanel>
172
287
  {
173
288
  <QueueList
289
+ queueRoom={key}
174
290
  queueEntries={groupedByRoom[key]}
175
291
  handleMovePatient={handleMovePatient}
176
292
  handleTransitionPatient={handleTransitionPatient}
@@ -178,6 +294,7 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
178
294
  handleSignOff={handleSignOff}
179
295
  handleRemovePatient={handleRemovePatient}
180
296
  showComingFromCol={serviceTypeUuid !== QUEUE_SERVICE_UUIDS.TRIAGE_SERVICE_UUID}
297
+ handleClearQueue={handleClearQueue}
181
298
  />
182
299
  }
183
300
  </TabPanel>
@@ -192,9 +309,9 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
192
309
  <MovePatientModal
193
310
  open={displayMoveModal}
194
311
  locationUuid={locationUuid}
195
- serviceUuid={serviceTypeUuid}
196
312
  onModalClose={handleModalCloes}
197
313
  currentQueueEntryUuid={selectedQueueEntry.queue_entry_uuid}
314
+ onTransferSuccess={handleModalCloes}
198
315
  />
199
316
  </>
200
317
  ) : (
@@ -238,6 +355,32 @@ const ServiceQueueComponent: React.FC<ServiceQueueComponentProps> = ({ serviceTy
238
355
  ) : (
239
356
  <></>
240
357
  )}
358
+
359
+ {displayConfirmClearQueueModal ? (
360
+ <>
361
+ <ConfirmModal
362
+ open={displayConfirmClearQueueModal}
363
+ onConfirm={handleConfirmClearQueue}
364
+ onModalClose={handleCloseConfirmClearQueueModal}
365
+ title="Clear Queue"
366
+ subtitle="You are about to clear the patient queue and their respective visits. Are you sure?"
367
+ />
368
+ </>
369
+ ) : (
370
+ <></>
371
+ )}
372
+
373
+ {displayDailyReportPatientListModal && queueEntryDailyReportPatientList ? (
374
+ <>
375
+ <DailyReportPatientListModal
376
+ open={displayDailyReportPatientListModal}
377
+ onModalClose={handleCloseDailiyReportPatientListModal}
378
+ patientList={queueEntryDailyReportPatientList}
379
+ />
380
+ </>
381
+ ) : (
382
+ <></>
383
+ )}
241
384
  </>
242
385
  );
243
386
  };
@@ -4,4 +4,9 @@
4
4
  width: 100%;
5
5
  column-gap: 15px;
6
6
  margin-bottom: 15px;
7
+ .aggregate{
8
+ display: flex;
9
+ flex-direction: column;
10
+ width: 50%;
11
+ }
7
12
  }
@@ -1,17 +1,25 @@
1
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import styles from './stat-details.component.scss';
3
3
  import { type QueueEntryResult } from '../../../../registry/types';
4
- import StatCard from '../stat-card/stat-card.component';
4
+ import StatCard from '../../../../shared/ui/stat-card/stat-card.component';
5
+ import { type ServiceQueueDailyReport } from '../../../../shared/types';
6
+ import AgregateStatCard from '../../../../shared/ui/aggregate-stat-card/aggregate-stat-card';
5
7
 
6
8
  interface StatDetailsProps {
7
9
  queueEntries: QueueEntryResult[];
10
+ report: ServiceQueueDailyReport[];
11
+ onStatDetailsRequest: () => void;
8
12
  }
9
13
 
10
- const StatDetails: React.FC<StatDetailsProps> = ({ queueEntries }) => {
14
+ const StatDetails: React.FC<StatDetailsProps> = ({ queueEntries, report, onStatDetailsRequest }) => {
15
+ const patientsInWaiting = useMemo(() => getCategoryTotal(['WAITING']), [queueEntries]);
16
+ const patientsAttendedTo = useMemo(() => getCategoryTotal(['IN SERVICE', 'COMPLETED']), [queueEntries]);
17
+ const patientsCheckedIn = useMemo(() => getTotalCheckedIn(), [report]);
18
+ const aggregateStats = useMemo(() => getAggregateStats(), [report]);
11
19
  if (!queueEntries) {
12
20
  return 'No queue entry records';
13
21
  }
14
- const getCategoryTotal = (categories: string[]) => {
22
+ function getCategoryTotal(categories: string[]) {
15
23
  let total = 0;
16
24
  queueEntries.forEach((q) => {
17
25
  if (categories.includes(q.status)) {
@@ -19,12 +27,33 @@ const StatDetails: React.FC<StatDetailsProps> = ({ queueEntries }) => {
19
27
  }
20
28
  });
21
29
  return total;
22
- };
23
- const patientsInWaiting = getCategoryTotal(['WAITING']);
24
- const patientsAttendedTo = getCategoryTotal(['IN SERVICE', 'COMPLETED']);
30
+ }
31
+ function getTotalCheckedIn() {
32
+ let total = 0;
33
+ report.forEach((r) => {
34
+ total += r.patients;
35
+ });
36
+ return total;
37
+ }
38
+ function getAggregateStats() {
39
+ return report.map((r) => {
40
+ return {
41
+ title: r.queue_room_name,
42
+ count: r.patients,
43
+ };
44
+ });
45
+ }
25
46
 
26
47
  return (
27
48
  <div className={styles.statsSection}>
49
+ <div className={styles.aggregate}>
50
+ <AgregateStatCard
51
+ title="Total Checked In"
52
+ totalCount={patientsCheckedIn ?? 0}
53
+ stats={aggregateStats}
54
+ onStatDetailsRequest={onStatDetailsRequest}
55
+ />
56
+ </div>
28
57
  <StatCard title="Patients in waiting" count={patientsInWaiting ?? 0} />
29
58
  <StatCard title="Patients attended to" count={patientsAttendedTo ?? 0} />
30
59
  </div>
@@ -9,23 +9,29 @@ interface ServiceQueueProps {
9
9
  }
10
10
  const ServiceQueue: React.FC<ServiceQueueProps> = ({ isTriage }) => {
11
11
  const roomParams = useMemo(() => {
12
- return isTriage ? {
13
- serviceUuid: 'triage-service-uuid',
14
- overflowMenuKeys: ['call', 'transition', 'edit', 'remove', 'undo'] as QueueEntryAction[],
15
- defaultMenuKey: 'call' as QueueEntryAction
16
- } : {
17
- serviceUuid: '7f7ec7ad-cdd7-4ed9-bc2e-5c5bd9f065b2',
18
- overflowMenuKeys: ['move', 'transition', 'signOff', 'edit', 'remove', 'undo'] as QueueEntryAction[],
19
- defaultMenuKey: 'move' as QueueEntryAction
20
- };
21
- }
22
- , [isTriage]);
12
+ return isTriage
13
+ ? {
14
+ serviceUuid: 'triage-service-uuid',
15
+ overflowMenuKeys: ['call', 'transition', 'edit', 'remove', 'undo'] as QueueEntryAction[],
16
+ defaultMenuKey: 'call' as QueueEntryAction,
17
+ }
18
+ : {
19
+ serviceUuid: '7f7ec7ad-cdd7-4ed9-bc2e-5c5bd9f065b2',
20
+ overflowMenuKeys: ['move', 'transition', 'signOff', 'edit', 'remove', 'undo'] as QueueEntryAction[],
21
+ defaultMenuKey: 'move' as QueueEntryAction,
22
+ };
23
+ }, [isTriage]);
23
24
 
24
- return (<>
25
- <MetricsContainer />
26
- <QueueRoom serviceUuid={roomParams.serviceUuid} overflowMenuKeys={roomParams.overflowMenuKeys} defaultMenuKey={roomParams.defaultMenuKey}/>
27
- </>
25
+ return (
26
+ <>
27
+ <MetricsContainer />
28
+ <QueueRoom
29
+ serviceUuid={roomParams.serviceUuid}
30
+ overflowMenuKeys={roomParams.overflowMenuKeys}
31
+ defaultMenuKey={roomParams.defaultMenuKey}
32
+ />
33
+ </>
28
34
  );
29
35
  };
30
36
 
31
- export default ServiceQueue;
37
+ export default ServiceQueue;
@@ -5,12 +5,22 @@ import {
5
5
  type MappedEncounter,
6
6
  type MappedVisitQueueEntry,
7
7
  type QueueEntry,
8
+ type Queue,
9
+ type CreateQueueDto,
10
+ type QueueRoom,
11
+ type CreateQueueRoomDto,
8
12
  } from '../types/types';
9
13
  import dayjs from 'dayjs';
10
14
  import useSWR from 'swr';
11
15
  import { useMemo } from 'react';
12
- import { type QueueEntryResult } from '../registry/types';
16
+ import { type QueueEntryResult, type RegistrationQueueList } from '../registry/types';
13
17
  import { getEtlBaseUrl } from '../shared/utils/get-base-url';
18
+ import {
19
+ type ServiceQueueDailyPatientListReportResp,
20
+ type ServiceQueueDailyReport,
21
+ type ServiceQueueDailyReportResp,
22
+ type ServiceQueueReportPatientList,
23
+ } from '../shared/types';
14
24
 
15
25
  export function serveQueueEntry(servicePointName: string, ticketNumber: string, status: string) {
16
26
  const abortController = new AbortController();
@@ -175,3 +185,189 @@ export async function closeQueueEntry(entryQueueUuid: string): Promise<QueueEntr
175
185
  const result = await response.json();
176
186
  return result.data;
177
187
  }
188
+
189
+ export async function getQueuesByLocationUuid(locationUuid: string): Promise<Queue[]> {
190
+ const queueUrl = `${restBaseUrl}/queue`;
191
+ const params = {
192
+ location: locationUuid,
193
+ v: 'full',
194
+ };
195
+ const queryString = new URLSearchParams(params).toString();
196
+ const response = await openmrsFetch(`${queueUrl}?${queryString}`);
197
+ const result = await response.json();
198
+ return result.results;
199
+ }
200
+
201
+ export async function deleteQueue(queueUuid: string): Promise<any> {
202
+ const queueUrl = `${restBaseUrl}/queue/${queueUuid}?!purge`;
203
+ const response = await openmrsFetch(queueUrl, {
204
+ method: 'DELETE',
205
+ });
206
+ return response;
207
+ }
208
+
209
+ export async function createQueue(createQueueDto: CreateQueueDto): Promise<Queue> {
210
+ const createQueueUrl = `${restBaseUrl}/queue/`;
211
+ const response = await openmrsFetch(createQueueUrl, {
212
+ method: 'POST',
213
+ headers: {
214
+ 'content-type': 'application/json',
215
+ },
216
+ body: JSON.stringify(createQueueDto),
217
+ });
218
+ const result = await response.json();
219
+ return result;
220
+ }
221
+
222
+ export async function editQueue(queueUuid: string, editQueueDto: CreateQueueDto): Promise<Queue> {
223
+ const editQueueUrl = `${restBaseUrl}/queue/${queueUuid}`;
224
+ const response = await openmrsFetch(editQueueUrl, {
225
+ method: 'POST',
226
+ headers: {
227
+ 'content-type': 'application/json',
228
+ },
229
+ body: JSON.stringify(editQueueDto),
230
+ });
231
+ const result = await response.json();
232
+ return result;
233
+ }
234
+
235
+ export async function getQueueRoomsByLocationUuid(locationUuid: string): Promise<QueueRoom[]> {
236
+ const queueUrl = `${restBaseUrl}/queue-room`;
237
+ const v =
238
+ 'custom:(uuid,display,name,description,queue:(uuid,display,location:(uuid,display),service:(uuid,display)))';
239
+ const params = {
240
+ location: locationUuid,
241
+ v: v,
242
+ };
243
+ const queryString = new URLSearchParams(params).toString();
244
+ const response = await openmrsFetch(`${queueUrl}?${queryString}`);
245
+ const result = await response.json();
246
+ return result.results;
247
+ }
248
+
249
+ export async function createQueueRoom(createQueueRoomDto: CreateQueueRoomDto): Promise<QueueRoom> {
250
+ const createQueueUrl = `${restBaseUrl}/queue-room/`;
251
+ const response = await openmrsFetch(createQueueUrl, {
252
+ method: 'POST',
253
+ headers: {
254
+ 'content-type': 'application/json',
255
+ },
256
+ body: JSON.stringify(createQueueRoomDto),
257
+ });
258
+ const result = await response.json();
259
+ return result;
260
+ }
261
+
262
+ export async function deleteQueueRoom(queueRoomUuid: string): Promise<any> {
263
+ const queueUrl = `${restBaseUrl}/queue-room/${queueRoomUuid}?!purge`;
264
+ const response = await openmrsFetch(queueUrl, {
265
+ method: 'DELETE',
266
+ });
267
+ return response;
268
+ }
269
+
270
+ export async function editQueueRoom(queueRoomUuid: string, editQueueRoomDto: CreateQueueRoomDto): Promise<QueueRoom> {
271
+ const editQueueUrl = `${restBaseUrl}/queue-room/${queueRoomUuid}`;
272
+ const response = await openmrsFetch(editQueueUrl, {
273
+ method: 'POST',
274
+ headers: {
275
+ 'content-type': 'application/json',
276
+ },
277
+ body: JSON.stringify(editQueueRoomDto),
278
+ });
279
+ const result = await response.json();
280
+ return result;
281
+ }
282
+ export async function getActiveQueueEntryByPatientUuid(patientUuid: string): Promise<QueueEntry[]> {
283
+ const queueUrl = `${restBaseUrl}/queue-entry`;
284
+ const v =
285
+ 'custom:(uuid,display,queue,status,patient:(uuid,display,person,identifiers:(uuid,display,identifier,identifierType)),visit:(uuid,display,startDatetime,encounters:(uuid,display,diagnoses,encounterDatetime,encounterType,obs,encounterProviders,voided),attributes:(uuid,display,value,attributeType)),priority,priorityComment,sortWeight,startedAt,endedAt,locationWaitingFor,queueComingFrom,providerWaitingFor,previousQueueEntry)';
286
+ const params = {
287
+ patient: patientUuid,
288
+ v: v,
289
+ isEnded: 'false',
290
+ totalCount: 'true',
291
+ };
292
+ const queryString = new URLSearchParams(params).toString();
293
+ const response = await openmrsFetch(`${queueUrl}?${queryString}`);
294
+ const result = await response.json();
295
+ return result.results;
296
+ }
297
+
298
+ export async function getServiceQueueDailyReport(
299
+ serviceUuid: string,
300
+ locationUuid: string,
301
+ ): Promise<ServiceQueueDailyReport[]> {
302
+ const etlBaseUrl = await getEtlBaseUrl();
303
+ const reportUrl = `${etlBaseUrl}/service-queue-daily-report?serviceUuid=${serviceUuid}&locationUuid=${locationUuid}`;
304
+ const response = await openmrsFetch<ServiceQueueDailyReportResp>(reportUrl);
305
+ const result = await response.json();
306
+ return result.result;
307
+ }
308
+
309
+ export async function getServiceQueueDailyPatientListReport(
310
+ serviceUuid: string,
311
+ locationUuid: string,
312
+ ): Promise<ServiceQueueReportPatientList[]> {
313
+ const etlBaseUrl = await getEtlBaseUrl();
314
+ const reportUrl = `${etlBaseUrl}/service-queue-daily-report/patient-list?serviceUuid=${serviceUuid}&locationUuid=${locationUuid}`;
315
+ const response = await openmrsFetch<ServiceQueueDailyPatientListReportResp>(reportUrl);
316
+ const result: ServiceQueueDailyPatientListReportResp = await response.json();
317
+ if (result && result.results) {
318
+ return result.results.results ?? [];
319
+ } else {
320
+ return [];
321
+ }
322
+ }
323
+ export async function getQueueEntryByLocationUuid(locationUuid: string): Promise<QueueEntry[]> {
324
+ const queueUrl = `${restBaseUrl}/queue-entry`;
325
+ const v =
326
+ 'custom:(uuid,display,queue,status,patient:(uuid,display,person),visit:(uuid,display,startDatetime,stopDatetime),priority,priorityComment,sortWeight,startedAt,endedAt,locationWaitingFor,queueComingFrom,providerWaitingFor,previousQueueEntry)';
327
+ const params = {
328
+ location: locationUuid,
329
+ v: v,
330
+ isEnded: 'false',
331
+ totalCount: 'true',
332
+ };
333
+ const queryString = new URLSearchParams(params).toString();
334
+ const response = await openmrsFetch(`${queueUrl}?${queryString}`);
335
+ const result = await response.json();
336
+ return result.results;
337
+ }
338
+
339
+ export async function deleteQueueEntry(queueEntryUuid: string): Promise<any> {
340
+ const queueUrl = `${restBaseUrl}/queue-entry/${queueEntryUuid}?!purge`;
341
+ const response = await openmrsFetch(queueUrl, {
342
+ method: 'DELETE',
343
+ });
344
+ return response;
345
+ }
346
+
347
+ export async function endQueueEntry(entryQueueUuid: string, endedAt: string): Promise<QueueEntryResult[]> {
348
+ const queueEntryUrl = `${restBaseUrl}/queue-entry/${entryQueueUuid}`;
349
+ const params = {
350
+ endedAt: endedAt,
351
+ };
352
+ const response = await openmrsFetch(queueEntryUrl, {
353
+ method: 'POST',
354
+ headers: {
355
+ 'content-type': 'application/json',
356
+ },
357
+ body: JSON.stringify(params),
358
+ });
359
+ const result = await response.json();
360
+ return result.data;
361
+ }
362
+
363
+ export async function getRegistrationQueueList(
364
+ locationUuid: string,
365
+ startDate: string,
366
+ endDate: string
367
+ ): Promise<RegistrationQueueList[]> {
368
+ const etlBaseUrl = await getEtlBaseUrl();
369
+ const reportUrl = `${etlBaseUrl}/queue-entry/registration?locationUuid=${locationUuid}&startDate=${startDate}&endDate=${endDate}`;
370
+ const response = await openmrsFetch(reportUrl);
371
+ const result: { data: RegistrationQueueList[] } = await response.json();
372
+ return result.data ?? [];
373
+ }
@@ -4,7 +4,7 @@ import { type TransitionQueueEntryDto } from '../types/types';
4
4
 
5
5
  export async function getServiceQueueByLocation(locationUuid: string): Promise<ServiceQueue[]> {
6
6
  const params = {
7
- v: 'custom:(uuid,name)',
7
+ v: 'custom:(uuid,name,location:(uuid,display))',
8
8
  location: locationUuid,
9
9
  };
10
10
  const queryString = new URLSearchParams(params).toString();
@@ -1,5 +1,6 @@
1
1
  const NORMAL_PRIORITY_UUID = 'bbd99c12-67e9-4381-8b4c-1f231e86f8e2';
2
2
  const EMERGENCY_PRIORITY_UUID = '8e86ff12-ec83-41e8-a534-bb410739d880';
3
+ const NOT_URGENT_PRIORITY_UUID = '26995049-fc00-43f4-a725-851fd517a1ac';
3
4
 
4
5
  const WAITING_UUID = '89d01aa5-0ab0-4626-934b-37766b4cd779';
5
6
  const IN_SERVICE_UUID = 'f9cf5768-508f-45de-8d40-eaf6ea3f3b02';
@@ -8,9 +9,39 @@ const COMPLETED_UUID = 'a89c1ef8-1350-11df-a1f1-0026b9348838';
8
9
  const TRIAGE_SERVICE_UUID = '2d4472e2-d7ab-4430-8e0e-a9ffcd809bf4';
9
10
  const CLINICAL_CONSULTATION_SERVICE_UUID = '7f7ec7ad-cdd7-4ed9-bc2e-5c5bd9f065b2';
10
11
 
12
+ const MCH_TRIAGE_SERVICE_UUID = '7e4452bf-f9b7-4977-a21f-1c8b94831bac';
13
+ const MCH_CLINICAL_CONSULTATION_SERVICE_UUID = '0026e273-5f8c-46b5-8bb4-0d8301d50321';
14
+
15
+ const MATERNITY_TRIAGE_SERVICE_UUID = 'c00a4436-a719-4b55-b3ae-7c22165d4ac2';
16
+
17
+ const DIALYSIS_TRIAGE_SERVICE_UUID = '42740522-d367-4d98-ac14-2f71c3848c94';
18
+ const DIALYSIS_CONSULTATION_SERVICE_UUID = '580a9861-810f-4bd7-b5ed-dd3f1547d9d4';
19
+
20
+ const ONCOLOGY_TRIAGE_SERVICE_UUID = '863b9dee-6580-41fc-a891-74146a6dca47';
21
+ const ONCOLOGY_CONSULTATION_SERVICE_UUID = '0e883ef1-91ad-4d6d-81f3-cfa19f3164f8';
22
+
23
+ const DENTAL_TRIAGE_SERVICE_UUID = 'da0f8512-736e-4b57-8a08-97e0e316669c';
24
+ const DENTAL_CONSULTATION_SERVICE_UUID = '7b504b4f-f36d-4437-ba12-fc41a8a468e5';
25
+
26
+ const DIAGNOSTIC_AND_IMAGING_TRIAGE_SERVICE_UUID = '42f094b8-3898-4103-95c3-1b96b3bf17ae';
27
+ const DIAGNOSTIC_AND_IMAGING_CONSULTATION_SERVICE_UUID = 'ae066325-6fb2-4cf4-9652-75757f0c278f';
28
+
29
+ const OPTHALMOLOGY_TRIAGE_SERVICE_UUID = 'e6396560-f3b1-45e4-8dbf-fd41e2127bda';
30
+ const OPTHALMOLOGY_CONSULTATION_SERVICE_UUID = 'd757a3fd-fc8f-44be-bcc7-9546913e976c';
31
+
32
+ const PSYCHIATRY_TRIAGE_SERVICE_UUID = 'af2ddf7a-f6ba-431f-a2cb-53c2e69258ae';
33
+ const PSYCHIATRY_CONSULTATION_SERVICE_UUID = '5c1d5b4b-e526-4973-9461-f8e3920f184e';
34
+
35
+ const CRITICAL_CARE_UNIT_TRIAGE_SERVICE_UUID = 'df7038f9-9b5d-4544-9f98-be78fba59f99';
36
+ const CRITICAL_CARE_UNIT_CONSULTATION_SERVICE_UUID = '65bb7dc2-e289-4a37-99dd-cbdae293a7ba';
37
+
38
+ const PALLIATIVE_CARE_TRIAGE_SERVICE_UUID = 'd1bff1ec-dc6b-49ef-8f29-e1478cb5fd48';
39
+ const PALLIATIVE_CARE_CONSULTATION_SERVICE_UUID = 'a533982e-1fad-4d59-9823-48fb6cdde533';
40
+
11
41
  export const QUEUE_PRIORITIES_UUIDS = {
12
42
  NORMAL_PRIORITY_UUID,
13
43
  EMERGENCY_PRIORITY_UUID,
44
+ NOT_URGENT_PRIORITY_UUID,
14
45
  };
15
46
 
16
47
  export const QUEUE_STATUS_UUIDS = {
@@ -22,4 +53,23 @@ export const QUEUE_STATUS_UUIDS = {
22
53
  export const QUEUE_SERVICE_UUIDS = {
23
54
  TRIAGE_SERVICE_UUID,
24
55
  CLINICAL_CONSULTATION_SERVICE_UUID,
56
+ MCH_TRIAGE_SERVICE_UUID,
57
+ MCH_CLINICAL_CONSULTATION_SERVICE_UUID,
58
+ MATERNITY_TRIAGE_SERVICE_UUID,
59
+ DIALYSIS_TRIAGE_SERVICE_UUID,
60
+ DIALYSIS_CONSULTATION_SERVICE_UUID,
61
+ ONCOLOGY_TRIAGE_SERVICE_UUID,
62
+ ONCOLOGY_CONSULTATION_SERVICE_UUID,
63
+ DENTAL_TRIAGE_SERVICE_UUID,
64
+ DENTAL_CONSULTATION_SERVICE_UUID,
65
+ DIAGNOSTIC_AND_IMAGING_TRIAGE_SERVICE_UUID,
66
+ DIAGNOSTIC_AND_IMAGING_CONSULTATION_SERVICE_UUID,
67
+ OPTHALMOLOGY_TRIAGE_SERVICE_UUID,
68
+ OPTHALMOLOGY_CONSULTATION_SERVICE_UUID,
69
+ PSYCHIATRY_TRIAGE_SERVICE_UUID,
70
+ PSYCHIATRY_CONSULTATION_SERVICE_UUID,
71
+ CRITICAL_CARE_UNIT_TRIAGE_SERVICE_UUID,
72
+ CRITICAL_CARE_UNIT_CONSULTATION_SERVICE_UUID,
73
+ PALLIATIVE_CARE_TRIAGE_SERVICE_UUID,
74
+ PALLIATIVE_CARE_CONSULTATION_SERVICE_UUID
25
75
  };
@@ -0,0 +1,6 @@
1
+ const CCC_PATIENT_UUID = 'a8a3899a-1350-11df-a1f1-0026b9348838';
2
+ const MCH_PATIENT_UUID = 'a8a17d80-1350-11df-a1f1-0026b9348838';
3
+ export const PatientCategories = {
4
+ CCC_PATIENT_UUID,
5
+ MCH_PATIENT_UUID,
6
+ };
@@ -0,0 +1,10 @@
1
+ const WALK_IN_UUID = '1671c96d-f281-49bf-b246-c0698f200871';
2
+ const SELF_RERERRAL_UUID = 'a8a17d80-1350-11df-a1f1-0026b9348838';
3
+ const REFERRAL_FROM_ANOTHER_FACILITY_UUID = 'a095f6aa-9d15-442e-8b21-d9306b82983f';
4
+ const REFERRED_BY_COMMUNITY_HEALTH_WORKER_UUID = '1d54b745-0afc-4568-a9ba-17ba3fc1dda0';
5
+ export const PatientTypes = {
6
+ WALK_IN_UUID,
7
+ SELF_RERERRAL_UUID,
8
+ REFERRAL_FROM_ANOTHER_FACILITY_UUID,
9
+ REFERRED_BY_COMMUNITY_HEALTH_WORKER_UUID
10
+ };
@@ -0,0 +1,7 @@
1
+ const OPD_VISIT_TYPE_UUID = '57d7f623-6a5c-47b2-a1b0-0238b92bea95';
2
+ const INPATIENT_VISIT_TYPE_UUID = 'be7c422a-9f7d-4817-95d0-0e4d451ad153';
3
+
4
+ export const VisitTypeUuids = {
5
+ OPD_VISIT_TYPE_UUID,
6
+ INPATIENT_VISIT_TYPE_UUID,
7
+ };