@kenyaemr/esm-express-workflow-app 5.4.4-pre.43 → 5.4.4-pre.430

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 (627) hide show
  1. package/.turbo/turbo-build.log +14 -7
  2. package/dist/1084.js +1 -0
  3. package/dist/1084.js.map +1 -0
  4. package/dist/1278.js +1 -0
  5. package/dist/1278.js.map +1 -0
  6. package/dist/1324.js +1 -0
  7. package/dist/1324.js.map +1 -0
  8. package/dist/1375.js +66 -0
  9. package/dist/1375.js.map +1 -0
  10. package/dist/1402.js +1 -0
  11. package/dist/1402.js.map +1 -0
  12. package/dist/1442.js +1 -0
  13. package/dist/1442.js.map +1 -0
  14. package/dist/1520.js +1 -0
  15. package/dist/1520.js.map +1 -0
  16. package/dist/1559.js +1 -0
  17. package/dist/1559.js.map +1 -0
  18. package/dist/1593.js +1 -0
  19. package/dist/1593.js.map +1 -0
  20. package/dist/162.js +1 -0
  21. package/dist/162.js.map +1 -0
  22. package/dist/1620.js +1 -0
  23. package/dist/1620.js.map +1 -0
  24. package/dist/1658.js +1 -0
  25. package/dist/1658.js.map +1 -0
  26. package/dist/1659.js +1 -0
  27. package/dist/1659.js.map +1 -0
  28. package/dist/1789.js +1 -0
  29. package/dist/1789.js.map +1 -0
  30. package/dist/1827.js +1 -0
  31. package/dist/1827.js.map +1 -0
  32. package/dist/1831.js +1 -0
  33. package/dist/1831.js.map +1 -0
  34. package/dist/1854.js +1 -0
  35. package/dist/1854.js.map +1 -0
  36. package/dist/196.js +1 -0
  37. package/dist/196.js.map +1 -0
  38. package/dist/2127.js +1 -0
  39. package/dist/2127.js.map +1 -0
  40. package/dist/2152.js +1 -0
  41. package/dist/2152.js.map +1 -0
  42. package/dist/2202.js +1 -0
  43. package/dist/2202.js.map +1 -0
  44. package/dist/221.js +1 -0
  45. package/dist/221.js.map +1 -0
  46. package/dist/2269.js +1 -0
  47. package/dist/2269.js.map +1 -0
  48. package/dist/2293.js +1 -0
  49. package/dist/2293.js.map +1 -0
  50. package/dist/234.js +1 -0
  51. package/dist/234.js.map +1 -0
  52. package/dist/2412.js +1 -1
  53. package/dist/2412.js.map +1 -1
  54. package/dist/2466.js +1 -0
  55. package/dist/2466.js.map +1 -0
  56. package/dist/2534.js +1 -1
  57. package/dist/2534.js.map +1 -1
  58. package/dist/2553.js +1 -0
  59. package/dist/2553.js.map +1 -0
  60. package/dist/2556.js +1 -0
  61. package/dist/2556.js.map +1 -0
  62. package/dist/2648.js +1 -0
  63. package/dist/2648.js.map +1 -0
  64. package/dist/274.js +1 -0
  65. package/dist/274.js.map +1 -0
  66. package/dist/2788.js +1 -0
  67. package/dist/2788.js.map +1 -0
  68. package/dist/2842.js +1 -0
  69. package/dist/2842.js.map +1 -0
  70. package/dist/2874.js +1 -0
  71. package/dist/2874.js.map +1 -0
  72. package/dist/2916.js +1 -0
  73. package/dist/2916.js.map +1 -0
  74. package/dist/2947.js +1 -1
  75. package/dist/2947.js.map +1 -1
  76. package/dist/3012.js +1 -0
  77. package/dist/3012.js.map +1 -0
  78. package/dist/3087.js +1 -0
  79. package/dist/3087.js.map +1 -0
  80. package/dist/3335.js +1 -0
  81. package/dist/3335.js.map +1 -0
  82. package/dist/3378.js +1 -0
  83. package/dist/3378.js.map +1 -0
  84. package/dist/3504.js +1 -0
  85. package/dist/3504.js.map +1 -0
  86. package/dist/3509.js +1 -1
  87. package/dist/3509.js.map +1 -1
  88. package/dist/356.js +1 -0
  89. package/dist/356.js.map +1 -0
  90. package/dist/3690.js +1 -0
  91. package/dist/3690.js.map +1 -0
  92. package/dist/371.js +1 -0
  93. package/dist/371.js.map +1 -0
  94. package/dist/3747.js +1 -0
  95. package/dist/3747.js.map +1 -0
  96. package/dist/3819.js +1 -0
  97. package/dist/3819.js.map +1 -0
  98. package/dist/3820.js +1 -0
  99. package/dist/3820.js.map +1 -0
  100. package/dist/3910.js +1 -0
  101. package/dist/3910.js.map +1 -0
  102. package/dist/393.js +6 -0
  103. package/dist/393.js.map +1 -0
  104. package/dist/3933.js +1 -0
  105. package/dist/3933.js.map +1 -0
  106. package/dist/3989.js +1 -0
  107. package/dist/3989.js.map +1 -0
  108. package/dist/3995.js +1 -0
  109. package/dist/3995.js.map +1 -0
  110. package/dist/4032.js +1 -0
  111. package/dist/4032.js.map +1 -0
  112. package/dist/4145.js +1 -1
  113. package/dist/4145.js.map +1 -1
  114. package/dist/4178.js +1 -1
  115. package/dist/4178.js.map +1 -1
  116. package/dist/4191.js +1 -0
  117. package/dist/4191.js.map +1 -0
  118. package/dist/4212.js +1 -0
  119. package/dist/4212.js.map +1 -0
  120. package/dist/4215.js +1 -0
  121. package/dist/4215.js.map +1 -0
  122. package/dist/4523.js +1 -0
  123. package/dist/4523.js.map +1 -0
  124. package/dist/4588.js +1 -0
  125. package/dist/4588.js.map +1 -0
  126. package/dist/4617.js +1 -0
  127. package/dist/4617.js.map +1 -0
  128. package/dist/466.js +1 -1
  129. package/dist/466.js.map +1 -1
  130. package/dist/4688.js +1 -0
  131. package/dist/{7288.js.map → 4688.js.map} +1 -1
  132. package/dist/470.js +1 -0
  133. package/dist/470.js.map +1 -0
  134. package/dist/4759.js +1 -0
  135. package/dist/4759.js.map +1 -0
  136. package/dist/4818.js +1 -1
  137. package/dist/4818.js.map +1 -1
  138. package/dist/5086.js +1 -1
  139. package/dist/5086.js.map +1 -1
  140. package/dist/5093.js +1 -0
  141. package/dist/5093.js.map +1 -0
  142. package/dist/5097.js +1 -0
  143. package/dist/5097.js.map +1 -0
  144. package/dist/510.js +1 -0
  145. package/dist/510.js.map +1 -0
  146. package/dist/5117.js +1 -0
  147. package/dist/5117.js.map +1 -0
  148. package/dist/5279.js +1 -0
  149. package/dist/5279.js.map +1 -0
  150. package/dist/5434.js +1 -0
  151. package/dist/5434.js.map +1 -0
  152. package/dist/5514.js +1 -0
  153. package/dist/5514.js.map +1 -0
  154. package/dist/5568.js +1 -0
  155. package/dist/5568.js.map +1 -0
  156. package/dist/5576.js +1 -1
  157. package/dist/5576.js.map +1 -1
  158. package/dist/5630.js +1 -0
  159. package/dist/5630.js.map +1 -0
  160. package/dist/5676.js +1 -1
  161. package/dist/5676.js.map +1 -1
  162. package/dist/5695.js +1 -0
  163. package/dist/5695.js.map +1 -0
  164. package/dist/5697.js +1 -1
  165. package/dist/5697.js.map +1 -1
  166. package/dist/5728.js +1 -0
  167. package/dist/5728.js.map +1 -0
  168. package/dist/5809.js +1 -1
  169. package/dist/5809.js.map +1 -1
  170. package/dist/585.js +1 -0
  171. package/dist/585.js.map +1 -0
  172. package/dist/5887.js +1 -0
  173. package/dist/5887.js.map +1 -0
  174. package/dist/5958.js +1 -0
  175. package/dist/5958.js.map +1 -0
  176. package/dist/5964.js +1 -0
  177. package/dist/5964.js.map +1 -0
  178. package/dist/6008.js +1 -0
  179. package/dist/602.js +1 -0
  180. package/dist/602.js.map +1 -0
  181. package/dist/6020.js +1 -0
  182. package/dist/6020.js.map +1 -0
  183. package/dist/6161.js +1 -0
  184. package/dist/6161.js.map +1 -0
  185. package/dist/6273.js +1 -0
  186. package/dist/6273.js.map +1 -0
  187. package/dist/6337.js +1 -0
  188. package/dist/6337.js.map +1 -0
  189. package/dist/6427.js +1 -1
  190. package/dist/6427.js.map +1 -1
  191. package/dist/6429.js +1 -0
  192. package/dist/6429.js.map +1 -0
  193. package/dist/6478.js +7 -0
  194. package/dist/6478.js.map +1 -0
  195. package/dist/6508.js +1 -0
  196. package/dist/6508.js.map +1 -0
  197. package/dist/6634.js +1 -0
  198. package/dist/6634.js.map +1 -0
  199. package/dist/6767.js +1 -0
  200. package/dist/6767.js.map +1 -0
  201. package/dist/6783.js +1 -0
  202. package/dist/6783.js.map +1 -0
  203. package/dist/6868.js +1 -1
  204. package/dist/6868.js.map +1 -1
  205. package/dist/688.js +1 -0
  206. package/dist/688.js.map +1 -0
  207. package/dist/689.js +1 -1
  208. package/dist/689.js.map +1 -1
  209. package/dist/694.js +1 -0
  210. package/dist/694.js.map +1 -0
  211. package/dist/6987.js +1 -0
  212. package/dist/6987.js.map +1 -0
  213. package/dist/7061.js +1 -0
  214. package/dist/7061.js.map +1 -0
  215. package/dist/7078.js +1 -0
  216. package/dist/7078.js.map +1 -0
  217. package/dist/710.js +1 -0
  218. package/dist/710.js.map +1 -0
  219. package/dist/7128.js +1 -0
  220. package/dist/7128.js.map +1 -0
  221. package/dist/7209.js +1 -0
  222. package/dist/7209.js.map +1 -0
  223. package/dist/7424.js +1 -0
  224. package/dist/7424.js.map +1 -0
  225. package/dist/770.js +1 -0
  226. package/dist/770.js.map +1 -0
  227. package/dist/7707.js +1 -0
  228. package/dist/7707.js.map +1 -0
  229. package/dist/7784.js +1 -0
  230. package/dist/7784.js.map +1 -0
  231. package/dist/781.js +1 -1
  232. package/dist/781.js.map +1 -1
  233. package/dist/7824.js +1 -0
  234. package/dist/7824.js.map +1 -0
  235. package/dist/7832.js +1 -0
  236. package/dist/7832.js.map +1 -0
  237. package/dist/8178.js +1 -0
  238. package/dist/8178.js.map +1 -0
  239. package/dist/820.js +1 -0
  240. package/dist/820.js.map +1 -0
  241. package/dist/8224.js +1 -0
  242. package/dist/8224.js.map +1 -0
  243. package/dist/8225.js +1 -0
  244. package/dist/8225.js.map +1 -0
  245. package/dist/8240.js +1 -1
  246. package/dist/8240.js.map +1 -1
  247. package/dist/8258.js +1 -0
  248. package/dist/8258.js.map +1 -0
  249. package/dist/8702.js +1 -0
  250. package/dist/8702.js.map +1 -0
  251. package/dist/8725.js +1 -0
  252. package/dist/8725.js.map +1 -0
  253. package/dist/8762.js +1 -0
  254. package/dist/8762.js.map +1 -0
  255. package/dist/8763.js +1 -0
  256. package/dist/8763.js.map +1 -0
  257. package/dist/8815.js +1 -0
  258. package/dist/8815.js.map +1 -0
  259. package/dist/8882.js +1 -0
  260. package/dist/8882.js.map +1 -0
  261. package/dist/8924.js +1 -1
  262. package/dist/8924.js.map +1 -1
  263. package/dist/8937.js +1 -0
  264. package/dist/8937.js.map +1 -0
  265. package/dist/9.js +1 -1
  266. package/dist/9.js.map +1 -1
  267. package/dist/9061.js +1 -0
  268. package/dist/9061.js.map +1 -0
  269. package/dist/9087.js +1 -0
  270. package/dist/9087.js.map +1 -0
  271. package/dist/9301.js +1 -0
  272. package/dist/9301.js.map +1 -0
  273. package/dist/9324.js +1 -0
  274. package/dist/9324.js.map +1 -0
  275. package/dist/9497.js +1 -0
  276. package/dist/9497.js.map +1 -0
  277. package/dist/9520.js +1 -1
  278. package/dist/9520.js.map +1 -1
  279. package/dist/9526.js +1 -0
  280. package/dist/9526.js.map +1 -0
  281. package/dist/9621.js +1 -0
  282. package/dist/9621.js.map +1 -0
  283. package/dist/9676.js +17 -0
  284. package/dist/9676.js.map +1 -0
  285. package/dist/977.js +1 -0
  286. package/dist/977.js.map +1 -0
  287. package/dist/9771.js +1 -0
  288. package/dist/9771.js.map +1 -0
  289. package/dist/9806.js +1 -0
  290. package/dist/9806.js.map +1 -0
  291. package/dist/989.js +1 -0
  292. package/dist/989.js.map +1 -0
  293. package/dist/kenyaemr-esm-express-workflow-app.js +6 -5
  294. package/dist/kenyaemr-esm-express-workflow-app.js.buildmanifest.json +1407 -809
  295. package/dist/kenyaemr-esm-express-workflow-app.js.map +1 -1
  296. package/dist/main.js +22 -5
  297. package/dist/main.js.map +1 -1
  298. package/dist/routes.json +1 -1
  299. package/package.json +4 -6
  300. package/src/components/admissions/admissions-dashboard.component.tsx +2 -2
  301. package/src/components/anaesthetic/anaesthetic-dashboard.meta.ts +8 -0
  302. package/src/components/anaesthetic/anaesthetic-data-form.component.tsx +442 -0
  303. package/src/components/anaesthetic/anaesthetic-data-form.scss +278 -0
  304. package/src/components/anaesthetic/anaesthetic-link.component.tsx +21 -0
  305. package/src/components/anaesthetic/anaesthetic.component.tsx +618 -0
  306. package/src/components/anaesthetic/anaesthetic.resource.ts +1503 -0
  307. package/src/components/anaesthetic/anaesthetic.scss +1885 -0
  308. package/src/components/anaesthetic/forms/anaesthetic-form.component.tsx +304 -0
  309. package/src/components/anaesthetic/forms/anaesthetic-record-form.component.tsx +707 -0
  310. package/src/components/anaesthetic/forms/icd11-diagnosis-search.component.tsx +178 -0
  311. package/src/components/anaesthetic/forms/icd11-diagnosis-search.scss +126 -0
  312. package/src/components/anaesthetic/forms/index.ts +2 -0
  313. package/src/components/anaesthetic/forms/interoperative-record-drug-given-form.component.tsx +231 -0
  314. package/src/components/anaesthetic/forms/post-operative-summary-form.component.tsx +171 -0
  315. package/src/components/anaesthetic/forms/time-picker-dropdown.component.tsx +202 -0
  316. package/src/components/anaesthetic/forms/time-picker-dropdown.scss +107 -0
  317. package/src/components/anaesthetic/forms/time-picker-with-clock.component.tsx +174 -0
  318. package/src/components/anaesthetic/forms/time-picker-with-clock.scss +178 -0
  319. package/src/components/anaesthetic/forms/useAnaestheticData.ts +16 -0
  320. package/src/components/anaesthetic/graphs/anaesthetic-graph-wrapper.component.tsx +266 -0
  321. package/src/components/anaesthetic/graphs/anaesthetic-graph.component.tsx +185 -0
  322. package/src/components/anaesthetic/graphs/index.ts +2 -0
  323. package/src/components/anaesthetic/graphs/interoperative-record-drug-given-graph-wrapper.component.tsx +197 -0
  324. package/src/components/anaesthetic/graphs/interoperative-record-drug-given-graph.component.tsx +93 -0
  325. package/src/components/anaesthetic/resources/anaesthetic-amniotic-fluid.resource.ts +277 -0
  326. package/src/components/anaesthetic/resources/anaesthetic-form.resource.ts +716 -0
  327. package/src/components/anaesthetic/resources/anaesthetic.resource.ts +378 -0
  328. package/src/components/anaesthetic/types/index.ts +1349 -0
  329. package/src/components/consultation/clinical-encounter/clinical-encounter.component.tsx +4 -20
  330. package/src/components/consultation/clinical-encounter/encounter-details.component.tsx +9 -9
  331. package/src/components/consultation/clinical-encounter/encounter-details.test.tsx +19 -18
  332. package/src/components/consultation/consultation.utils.tsx +1 -1
  333. package/src/components/consultation/dashboard.component.tsx +0 -2
  334. package/src/components/consultation/index.ts +1 -1
  335. package/src/components/consultation/tabs/index.ts +67 -0
  336. package/src/components/facility-dashboard/components/header/home-header.component.tsx +8 -13
  337. package/src/components/laboratory/index.ts +11 -0
  338. package/src/components/laboratory/lab-table.component.tsx +46 -12
  339. package/src/components/laboratory/laboratory-tabs.component.tsx +3 -17
  340. package/src/components/mch/dashboard.component.tsx +0 -2
  341. package/src/components/mch/mch.component.tsx +1 -3
  342. package/src/components/pharmacy/index.ts +1 -1
  343. package/src/components/pharmacy/orders/pharmacy-orders.component.tsx +44 -6
  344. package/src/components/pharmacy/orders/pharmacy-orders.test.tsx +8 -7
  345. package/src/components/pharmacy/pharmacy-tabs.component.tsx +4 -20
  346. package/src/components/pharmacy/tabs/index.ts +21 -0
  347. package/src/components/preauth/index.ts +22 -0
  348. package/src/components/preauth/preauth-dashboard.component.tsx +20 -0
  349. package/src/components/procedures/index.ts +16 -0
  350. package/src/components/procedures/procedure-queues/index.ts +13 -0
  351. package/src/components/procedures/procedure-queues/procedure-form-extras.component.tsx +33 -0
  352. package/src/components/procedures/procedure-queues/procedure-form-extras.scss +5 -0
  353. package/src/components/procedures/procedure-queues/procedure-queues.component.tsx +35 -0
  354. package/src/components/procedures/procedure-queues/procedure-queues.resources.ts +37 -0
  355. package/src/components/procedures/procedure-queues/procedure-room-tabs.component.tsx +80 -0
  356. package/src/components/procedures/procedure-queues/procedure-rooms.scss +13 -0
  357. package/src/components/procedures/procedure-queues/queue-procedure-tabs.component.tsx +34 -0
  358. package/src/components/procedures/procedure-queues/summary-cards.component.tsx +81 -0
  359. package/src/components/procedures/procedure-queues/summary-cards.scss +35 -0
  360. package/src/components/procedures/procedures-table.component.tsx +77 -19
  361. package/src/components/procedures/procedures-tabs.component.test.tsx +57 -0
  362. package/src/components/procedures/procedures-tabs.component.tsx +3 -18
  363. package/src/components/radiology-and-imaging/index.ts +11 -0
  364. package/src/components/radiology-and-imaging/radiology-and-imaging-table.component.tsx +73 -21
  365. package/src/components/radiology-and-imaging/radiology-and-imaging.component.tsx +3 -19
  366. package/src/components/registration/card/HIE-card/hie-card.component.tsx +32 -44
  367. package/src/components/registration/card/Local-card/local-card.component.tsx +22 -24
  368. package/src/components/registration/checkin-form-extra/checkin-form-extra.extension.tsx +8 -2
  369. package/src/components/registration/checkin-form-extra/queue-fields.component.tsx +18 -19
  370. package/src/components/registration/dependants/dependants.component.tsx +37 -60
  371. package/src/components/registration/dependants/dependants.resource.ts +75 -46
  372. package/src/components/registration/end-visit-modal/end-visit-dialog.modal.tsx +320 -0
  373. package/src/components/registration/end-visit-modal/end-visit-dialog.scss +12 -0
  374. package/src/components/registration/end-visit-modal/end-visit.resource.tsx +59 -0
  375. package/src/components/registration/end-visit-modal/sha-end-visit.resource.ts +285 -0
  376. package/src/components/registration/search-bar/search-bar.resource.ts +32 -93
  377. package/src/components/registration/start-visit-form/hooks/useDefaultFacilityLocation.tsx +15 -0
  378. package/src/components/registration/start-visit-form/hooks/useDefaultVisitLocation.tsx +24 -0
  379. package/src/components/registration/start-visit-form/hooks/useOfflineVisitType.tsx +18 -0
  380. package/src/components/registration/start-visit-form/hooks/useRecommendedVisitTypes.tsx +36 -0
  381. package/src/components/registration/start-visit-form/hooks/useVisitAttributeType.tsx +102 -0
  382. package/src/components/registration/start-visit-form/overflow-menu-extension/custom-end-active-visit.extension.tsx +44 -0
  383. package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.extension.tsx +67 -0
  384. package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.scss +3 -0
  385. package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.component.tsx +126 -0
  386. package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.scss +75 -0
  387. package/src/components/registration/start-visit-form/start-visit-workspace/exported-visit-form.workspace.tsx +778 -0
  388. package/src/components/registration/start-visit-form/start-visit-workspace/location-selector.component.tsx +86 -0
  389. package/src/components/registration/start-visit-form/start-visit-workspace/recommended-visit-type.component.tsx +32 -0
  390. package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.component.tsx +257 -0
  391. package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.scss +5 -0
  392. package/src/components/registration/start-visit-form/start-visit-workspace/visit-date-time.component.tsx +193 -0
  393. package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.resource.ts +390 -0
  394. package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.scss +144 -0
  395. package/src/components/registration/start-visit-form/visit-form-workspace/visit-form.workspace.tsx +48 -0
  396. package/src/components/registration/type/index.ts +101 -0
  397. package/src/components/reports/index.ts +1 -0
  398. package/src/components/triage/dashboard.component.tsx +0 -2
  399. package/src/config-schema.ts +476 -0
  400. package/src/hooks/useOrders.tsx +2 -2
  401. package/src/hooks/useServiceQueues.tsx +1 -1
  402. package/src/index.ts +81 -15
  403. package/src/routes.json +298 -32
  404. package/src/shared/dashboard-link/dashboard-link.component.tsx +11 -8
  405. package/src/shared/orders/OrderTable.scss +7 -0
  406. package/src/shared/orders/OrderTable.tsx +68 -8
  407. package/src/shared/orders/print-order/print-order.component.tsx +158 -0
  408. package/src/shared/orders/print-order/print-order.scss +225 -0
  409. package/src/shared/orders/print-prescription/print-prescription.component.tsx +65 -0
  410. package/src/shared/orders/print-prescription/print-prescription.resource.ts +45 -0
  411. package/src/shared/orders/print-prescription/print-prescription.scss +25 -0
  412. package/src/shared/otp-verification/index.ts +112 -29
  413. package/src/shared/otp-verification/otp-verification.modal.tsx +1110 -122
  414. package/src/shared/otp-verification/otp-verification.scss +374 -0
  415. package/src/shared/patient-chart/patient-summary-dashboard/patient-summary-dashboard.component.tsx +5 -84
  416. package/src/shared/pin-put/pinput.component.test.tsx +7 -6
  417. package/src/shared/tabs/create-tab-extension.tsx +33 -0
  418. package/src/shared/tabs/extension-tabs.component.tsx +51 -33
  419. package/src/shared/utils/index.ts +140 -5
  420. package/src/types/index.ts +12 -0
  421. package/translations/am.json +443 -131
  422. package/translations/en.json +327 -15
  423. package/translations/fr.json +372 -63
  424. package/translations/sw.json +347 -35
  425. package/tsconfig.json +1 -0
  426. package/dist/1049.js +0 -1
  427. package/dist/1049.js.map +0 -1
  428. package/dist/1072.js +0 -1
  429. package/dist/1072.js.map +0 -1
  430. package/dist/1091.js +0 -1
  431. package/dist/1091.js.map +0 -1
  432. package/dist/1172.js +0 -1
  433. package/dist/1172.js.map +0 -1
  434. package/dist/132.js +0 -1
  435. package/dist/132.js.map +0 -1
  436. package/dist/1354.js +0 -1
  437. package/dist/1354.js.map +0 -1
  438. package/dist/1704.js +0 -1
  439. package/dist/1704.js.map +0 -1
  440. package/dist/1729.js +0 -17
  441. package/dist/1729.js.map +0 -1
  442. package/dist/1757.js +0 -1
  443. package/dist/1757.js.map +0 -1
  444. package/dist/1761.js +0 -1
  445. package/dist/1761.js.map +0 -1
  446. package/dist/1809.js +0 -7
  447. package/dist/1809.js.map +0 -1
  448. package/dist/1842.js +0 -1
  449. package/dist/1874.js +0 -1
  450. package/dist/1874.js.map +0 -1
  451. package/dist/1962.js +0 -1
  452. package/dist/1962.js.map +0 -1
  453. package/dist/2007.js +0 -1
  454. package/dist/2007.js.map +0 -1
  455. package/dist/2024.js +0 -1
  456. package/dist/2024.js.map +0 -1
  457. package/dist/2045.js +0 -1
  458. package/dist/2045.js.map +0 -1
  459. package/dist/2163.js +0 -1
  460. package/dist/2163.js.map +0 -1
  461. package/dist/2191.js +0 -1
  462. package/dist/2191.js.map +0 -1
  463. package/dist/2267.js +0 -1
  464. package/dist/2267.js.map +0 -1
  465. package/dist/231.js +0 -1
  466. package/dist/231.js.map +0 -1
  467. package/dist/236.js +0 -1
  468. package/dist/236.js.map +0 -1
  469. package/dist/2367.js +0 -1
  470. package/dist/2367.js.map +0 -1
  471. package/dist/2463.js +0 -1
  472. package/dist/2463.js.map +0 -1
  473. package/dist/2561.js +0 -1
  474. package/dist/2561.js.map +0 -1
  475. package/dist/2810.js +0 -2
  476. package/dist/2810.js.map +0 -1
  477. package/dist/2867.js +0 -1
  478. package/dist/2867.js.map +0 -1
  479. package/dist/2909.js +0 -1
  480. package/dist/2909.js.map +0 -1
  481. package/dist/2949.js +0 -1
  482. package/dist/2949.js.map +0 -1
  483. package/dist/3040.js +0 -1
  484. package/dist/3119.js +0 -1
  485. package/dist/3119.js.map +0 -1
  486. package/dist/3215.js +0 -1
  487. package/dist/3215.js.map +0 -1
  488. package/dist/322.js +0 -1
  489. package/dist/322.js.map +0 -1
  490. package/dist/3228.js +0 -1
  491. package/dist/3228.js.map +0 -1
  492. package/dist/330.js +0 -1
  493. package/dist/330.js.map +0 -1
  494. package/dist/3472.js +0 -1
  495. package/dist/3472.js.map +0 -1
  496. package/dist/351.js +0 -1
  497. package/dist/351.js.map +0 -1
  498. package/dist/3576.js +0 -1
  499. package/dist/3576.js.map +0 -1
  500. package/dist/397.js +0 -1
  501. package/dist/397.js.map +0 -1
  502. package/dist/4007.js +0 -66
  503. package/dist/4007.js.map +0 -1
  504. package/dist/4200.js +0 -1
  505. package/dist/4200.js.map +0 -1
  506. package/dist/4224.js +0 -1
  507. package/dist/4224.js.map +0 -1
  508. package/dist/43.js +0 -1
  509. package/dist/43.js.map +0 -1
  510. package/dist/4308.js +0 -1
  511. package/dist/4308.js.map +0 -1
  512. package/dist/4399.js +0 -1
  513. package/dist/4399.js.map +0 -1
  514. package/dist/4505.js +0 -1
  515. package/dist/4505.js.map +0 -1
  516. package/dist/4724.js +0 -1
  517. package/dist/4724.js.map +0 -1
  518. package/dist/498.js +0 -1
  519. package/dist/498.js.map +0 -1
  520. package/dist/509.js +0 -1
  521. package/dist/509.js.map +0 -1
  522. package/dist/5096.js +0 -1
  523. package/dist/5096.js.map +0 -1
  524. package/dist/5159.js +0 -13
  525. package/dist/5159.js.map +0 -1
  526. package/dist/5184.js +0 -1
  527. package/dist/5184.js.map +0 -1
  528. package/dist/5270.js +0 -1
  529. package/dist/5270.js.map +0 -1
  530. package/dist/5361.js +0 -1
  531. package/dist/5361.js.map +0 -1
  532. package/dist/5537.js +0 -1
  533. package/dist/5537.js.map +0 -1
  534. package/dist/566.js +0 -1
  535. package/dist/566.js.map +0 -1
  536. package/dist/5733.js +0 -1
  537. package/dist/5733.js.map +0 -1
  538. package/dist/5854.js +0 -1
  539. package/dist/5854.js.map +0 -1
  540. package/dist/5882.js +0 -1
  541. package/dist/6004.js +0 -1
  542. package/dist/6004.js.map +0 -1
  543. package/dist/6121.js +0 -3
  544. package/dist/6121.js.map +0 -1
  545. package/dist/6137.js +0 -1
  546. package/dist/6137.js.map +0 -1
  547. package/dist/6356.js +0 -1
  548. package/dist/6356.js.map +0 -1
  549. package/dist/6571.js +0 -1
  550. package/dist/6571.js.map +0 -1
  551. package/dist/6721.js +0 -1
  552. package/dist/6721.js.map +0 -1
  553. package/dist/6858.js +0 -1
  554. package/dist/6858.js.map +0 -1
  555. package/dist/6925.js +0 -1
  556. package/dist/6925.js.map +0 -1
  557. package/dist/6960.js +0 -1
  558. package/dist/6960.js.map +0 -1
  559. package/dist/7085.js +0 -1
  560. package/dist/7085.js.map +0 -1
  561. package/dist/7127.js +0 -1
  562. package/dist/7176.js +0 -1
  563. package/dist/7176.js.map +0 -1
  564. package/dist/7237.js +0 -1
  565. package/dist/7237.js.map +0 -1
  566. package/dist/725.js +0 -1
  567. package/dist/725.js.map +0 -1
  568. package/dist/7288.js +0 -1
  569. package/dist/7329.js +0 -1
  570. package/dist/7329.js.map +0 -1
  571. package/dist/7334.js +0 -1
  572. package/dist/7334.js.map +0 -1
  573. package/dist/7461.js +0 -1
  574. package/dist/7461.js.map +0 -1
  575. package/dist/7517.js +0 -1
  576. package/dist/7517.js.map +0 -1
  577. package/dist/7837.js +0 -1
  578. package/dist/7837.js.map +0 -1
  579. package/dist/8103.js +0 -1
  580. package/dist/8103.js.map +0 -1
  581. package/dist/8110.js +0 -1
  582. package/dist/8110.js.map +0 -1
  583. package/dist/8179.js +0 -6
  584. package/dist/8179.js.map +0 -1
  585. package/dist/8189.js +0 -1
  586. package/dist/8189.js.map +0 -1
  587. package/dist/8209.js +0 -1
  588. package/dist/8209.js.map +0 -1
  589. package/dist/8249.js +0 -1
  590. package/dist/8249.js.map +0 -1
  591. package/dist/8285.js +0 -1
  592. package/dist/8285.js.map +0 -1
  593. package/dist/8470.js +0 -1
  594. package/dist/8470.js.map +0 -1
  595. package/dist/8502.js +0 -1
  596. package/dist/8502.js.map +0 -1
  597. package/dist/866.js +0 -1
  598. package/dist/866.js.map +0 -1
  599. package/dist/8889.js +0 -11
  600. package/dist/8889.js.map +0 -1
  601. package/dist/8990.js +0 -1
  602. package/dist/8990.js.map +0 -1
  603. package/dist/8994.js +0 -1
  604. package/dist/8994.js.map +0 -1
  605. package/dist/9049.js +0 -1
  606. package/dist/9049.js.map +0 -1
  607. package/dist/9054.js +0 -1
  608. package/dist/9054.js.map +0 -1
  609. package/dist/916.js +0 -1
  610. package/dist/9231.js +0 -1
  611. package/dist/9231.js.map +0 -1
  612. package/dist/9408.js +0 -1
  613. package/dist/9408.js.map +0 -1
  614. package/dist/9425.js +0 -1
  615. package/dist/9466.js +0 -1
  616. package/dist/9466.js.map +0 -1
  617. package/dist/9919.js +0 -1
  618. package/dist/9919.js.map +0 -1
  619. package/dist/9931.js +0 -1
  620. package/dist/9931.js.map +0 -1
  621. package/jest.config.js +0 -3
  622. package/src/shared/orders/OrdersTabs.tsx +0 -58
  623. package/src/shared/patient-chart/patient-chart.component.tsx +0 -61
  624. package/src/shared/patient-chart/patient-chart.resources.ts +0 -180
  625. package/src/shared/patient-chart/patient-chart.scss +0 -15
  626. package/src/shared/patient-chart/useInitialize.ts +0 -24
  627. /package/src/shared/{patient-chart/patient-summary-dashboard → tabs}/patient-summary-dashboard.scss +0 -0
@@ -2,16 +2,17 @@ import React, { useState, useEffect, useMemo, useCallback } from 'react';
2
2
  import { DataTable, Table, TableHead, TableBody, TableRow, TableCell, TableHeader, Button, Tag } from '@carbon/react';
3
3
  import { TwoFactorAuthentication } from '@carbon/react/icons';
4
4
  import { useTranslation } from 'react-i18next';
5
- import { launchWorkspace, showSnackbar, showModal, navigate, Visit } from '@openmrs/esm-framework';
5
+ import { launchWorkspace2, launchWorkspaceGroup2, showSnackbar, showModal, type Visit } from '@openmrs/esm-framework';
6
6
  import capitalize from 'lodash/capitalize';
7
7
  import styles from './dependants.scss';
8
8
  import { maskName } from '../helper';
9
9
  import { findExistingLocalPatient, registerOrLaunchDependent } from '../search-bar/search-bar.resource';
10
10
  import { getDependentsFromContacts, useMultipleActiveVisits } from './dependants.resource';
11
- import { DependentWithPhone, HIEBundleResponse, HIEPatient, LocalPatient } from '../type';
11
+ import { DependentWithPhone, HIEPatient } from '../type';
12
12
  import { otpManager, useOtpSource, cleanupAllOTPs } from '../card/HIE-card/hie-card.resource';
13
13
  import { launchOtpVerificationModal } from '../../../shared/otp-verification';
14
14
  import { sanitizePhoneNumber } from '../../../shared/utils';
15
+ import { VisitFormProps } from '../start-visit-form/visit-form-workspace/visit-form.workspace';
15
16
 
16
17
  type DependentProps = {
17
18
  patient: HIEPatient;
@@ -28,12 +29,11 @@ const DependentsComponent: React.FC<DependentProps> = ({
28
29
  const [submittingStates, setSubmittingStates] = useState<Record<string, boolean>>({});
29
30
  const [loadingStates, setLoadingStates] = useState<Record<string, boolean>>({});
30
31
  const [localPatientCache, setLocalPatientCache] = useState<Map<string, any>>(new Map());
31
-
32
32
  const [verifiedSpouses, setVerifiedSpouses] = useState<Set<string>>(new Set());
33
33
  const [otpRequestedForSpouse, setOtpRequestedForSpouse] = useState<Set<string>>(new Set());
34
34
  const [activePhoneNumbers, setActivePhoneNumbers] = useState<Map<string, string>>(new Map());
35
35
 
36
- const { otpSource, isLoading: isLoadingOtpSource, error: otpSourceError } = useOtpSource();
36
+ const { otpSource, isLoading: isLoadingOtpSource } = useOtpSource();
37
37
 
38
38
  useEffect(() => {
39
39
  if (otpSource) {
@@ -74,7 +74,7 @@ const DependentsComponent: React.FC<DependentProps> = ({
74
74
  }, []);
75
75
 
76
76
  const getDependentPhoneNumber = useCallback(
77
- (dependent: HIEPatient | DependentWithPhone): string | undefined => {
77
+ (dependent: HIEPatient | DependentWithPhone): string => {
78
78
  if ('contact' in dependent && dependent.contact && Array.isArray(dependent.contact)) {
79
79
  for (const contact of dependent.contact) {
80
80
  if (contact.telecom && Array.isArray(contact.telecom)) {
@@ -82,7 +82,6 @@ const DependentsComponent: React.FC<DependentProps> = ({
82
82
  (telecom) =>
83
83
  telecom.system === 'phone' && telecom.value && telecom.value !== 'N/A' && telecom.value.trim() !== '',
84
84
  );
85
-
86
85
  if (phoneTelecom) {
87
86
  return sanitizePhoneNumber(phoneTelecom.value);
88
87
  }
@@ -99,7 +98,6 @@ const DependentsComponent: React.FC<DependentProps> = ({
99
98
  attr.value.trim() !== '' &&
100
99
  attr.value.trim().length > 0,
101
100
  );
102
-
103
101
  if (phoneAttribute?.value) {
104
102
  return sanitizePhoneNumber(phoneAttribute.value);
105
103
  }
@@ -152,16 +150,12 @@ const DependentsComponent: React.FC<DependentProps> = ({
152
150
  return {
153
151
  onRequestOtp: async (phoneNumber: string): Promise<void> => {
154
152
  const sanitizedPhone = sanitizePhoneNumber(phoneNumber);
155
-
156
153
  try {
157
154
  if (!otpSource) {
158
155
  throw new Error('OTP source not configured. Please contact your administrator.');
159
156
  }
160
-
161
157
  otpManager.setOtpSource(otpSource);
162
-
163
158
  setActivePhoneNumbers((prev) => new Map(prev.set(dependentId, sanitizedPhone)));
164
-
165
159
  await otpManager.requestOTP(sanitizedPhone, dependentName, otpExpiryMinutes, null, dependentId);
166
160
  } catch (error) {
167
161
  throw error;
@@ -172,12 +166,9 @@ const DependentsComponent: React.FC<DependentProps> = ({
172
166
  if (!otpSource) {
173
167
  throw new Error('OTP source not configured. Please contact your administrator.');
174
168
  }
175
-
176
169
  otpManager.setOtpSource(otpSource);
177
-
178
170
  const activePhone = activePhoneNumbers.get(dependentId) || initialPhone;
179
171
  const sanitizedPhone = sanitizePhoneNumber(activePhone);
180
-
181
172
  const isValid = await otpManager.verifyOTP(sanitizedPhone, otp, dependentId);
182
173
  if (!isValid) {
183
174
  throw new Error('OTP verification failed');
@@ -211,20 +202,29 @@ const DependentsComponent: React.FC<DependentProps> = ({
211
202
  }
212
203
 
213
204
  if (localPatient) {
214
- const localPatientName =
215
- localPatient.person?.personName?.display ||
216
- `${localPatient.person?.personName?.givenName || ''} ${localPatient.person?.personName?.middleName || ''} ${
217
- localPatient.person?.personName?.familyName || ''
218
- }`.trim() ||
219
- dependent.name;
220
-
221
- launchWorkspace('start-visit-workspace-form', {
205
+ await launchWorkspaceGroup2('ewf-patient-chart', {
206
+ patient: localPatient,
222
207
  patientUuid: localPatient.uuid,
223
- workspaceTitle: t('checkInPatientWorkspaceTitle', 'Check in patient'),
208
+ visitContext: null as unknown as Visit,
209
+ mutateVisitContext: () => {},
224
210
  });
211
+
212
+ launchWorkspace2<VisitFormProps, {}, {}>(
213
+ 'custom-start-visit-workspace-form',
214
+ {
215
+ openedFrom: 'dependants-check-in',
216
+ showPatientHeader: false,
217
+ },
218
+ {},
219
+ {
220
+ patient: localPatient,
221
+ patientUuid: localPatient.uuid,
222
+ visitContext: null as unknown as Visit,
223
+ mutateVisitContext: () => {},
224
+ },
225
+ );
225
226
  } else {
226
227
  setSubmittingStates((prev) => ({ ...prev, [dependent.id]: true }));
227
-
228
228
  try {
229
229
  await registerOrLaunchDependent(dependent, t);
230
230
  } catch (error) {
@@ -246,34 +246,13 @@ const DependentsComponent: React.FC<DependentProps> = ({
246
246
 
247
247
  const headers = useMemo(
248
248
  () => [
249
- {
250
- key: 'name',
251
- header: t('name', 'Name'),
252
- },
253
- {
254
- key: 'relationship',
255
- header: t('relationship', 'Relationship'),
256
- },
257
- {
258
- key: 'gender',
259
- header: t('gender', 'Gender'),
260
- },
261
- {
262
- key: 'birthDate',
263
- header: t('birthDate', 'Birth Date'),
264
- },
265
- {
266
- key: 'identifiers',
267
- header: t('identifiers', 'Identifiers'),
268
- },
269
- {
270
- key: 'status',
271
- header: t('status', 'Status'),
272
- },
273
- {
274
- key: 'actions',
275
- header: t('actions', 'Actions'),
276
- },
249
+ { key: 'name', header: t('name', 'Name') },
250
+ { key: 'relationship', header: t('relationship', 'Relationship') },
251
+ { key: 'gender', header: t('gender', 'Gender') },
252
+ { key: 'birthDate', header: t('birthDate', 'Birth Date') },
253
+ { key: 'identifiers', header: t('identifiers', 'Identifiers') },
254
+ { key: 'status', header: t('status', 'Status') },
255
+ { key: 'actions', header: t('actions', 'Actions') },
277
256
  ],
278
257
  [t],
279
258
  );
@@ -475,18 +454,16 @@ const DependentsComponent: React.FC<DependentProps> = ({
475
454
  <Table {...getTableProps()}>
476
455
  <TableHead>
477
456
  <TableRow>
478
- {headers.map((header, index) => (
479
- <TableHeader key={index} {...getHeaderProps({ header })}>
480
- {header.header}
481
- </TableHeader>
457
+ {headers.map((header) => (
458
+ <TableHeader {...getHeaderProps({ header })}>{header.header}</TableHeader>
482
459
  ))}
483
460
  </TableRow>
484
461
  </TableHead>
485
462
  <TableBody>
486
- {rows.map((row, index) => (
487
- <TableRow key={index} {...getRowProps({ row })}>
488
- {row.cells.map((cell, cellIndex) => (
489
- <TableCell key={cellIndex}>{cell.value}</TableCell>
463
+ {rows.map((row) => (
464
+ <TableRow {...getRowProps({ row })}>
465
+ {row.cells.map((cell) => (
466
+ <TableCell key={cell.id}>{cell.value}</TableCell>
490
467
  ))}
491
468
  </TableRow>
492
469
  ))}
@@ -1,8 +1,17 @@
1
- import { getSessionLocation, launchWorkspace, openmrsFetch, restBaseUrl, showSnackbar } from '@openmrs/esm-framework';
1
+ import {
2
+ getSessionLocation,
3
+ launchWorkspace2,
4
+ launchWorkspaceGroup2,
5
+ openmrsFetch,
6
+ restBaseUrl,
7
+ showSnackbar,
8
+ type Visit,
9
+ } from '@openmrs/esm-framework';
2
10
  import { DependentPayload, HIEPatient } from '../type';
3
11
  import { generateIdentifier, getIdentifierTypeUUID, sanitizeName } from '../helper';
4
12
  import { openmrsId, openmrsIdSource } from '../constant';
5
13
  import { useEffect, useState } from 'react';
14
+ import { VisitFormProps } from '../start-visit-form/visit-form-workspace/visit-form.workspace';
6
15
 
7
16
  export interface PatientRegistrationPayload {
8
17
  name: string;
@@ -12,18 +21,34 @@ export interface PatientRegistrationPayload {
12
21
  type: 'hie-patient' | 'dependent';
13
22
  }
14
23
 
24
+ interface AddressPayload {
25
+ address1: string;
26
+ address2?: string;
27
+ cityVillage: string;
28
+ country: string;
29
+ postalCode: string;
30
+ stateProvince: string;
31
+ countyDistrict?: string;
32
+ }
33
+
15
34
  export async function createPatient(payload: PatientRegistrationPayload, t: any) {
16
35
  try {
17
- const { patientData, type, name, gender, birthDate } = payload;
18
- const locationUuid = (await getSessionLocation()).uuid;
19
-
20
- let identifiers = [];
36
+ const { patientData, type, gender, birthDate } = payload;
37
+ const sessionLocation = await getSessionLocation();
38
+ const locationUuid = sessionLocation?.uuid ?? '';
39
+
40
+ let identifiers: Array<{
41
+ identifier: string;
42
+ identifierType: string;
43
+ location: string;
44
+ preferred: boolean;
45
+ }> = [];
21
46
  let givenName = '';
22
47
  let middleName = '';
23
48
  let familyName = '';
24
49
  let patientBirthDate = birthDate;
25
50
  let patientGender = gender;
26
- let addresses = [];
51
+ let addresses: AddressPayload[] = [];
27
52
 
28
53
  if (type === 'hie-patient') {
29
54
  const hiePatient = patientData as HIEPatient;
@@ -37,13 +62,13 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
37
62
  preferred: false,
38
63
  }))
39
64
  .filter((identifier) => identifier.identifierType) || [];
40
- const crIdentifier = {
65
+
66
+ identifiers.push({
41
67
  identifier: hiePatient?.id,
42
68
  identifierType: getIdentifierTypeUUID('sha-id-number'),
43
69
  location: locationUuid,
44
70
  preferred: false,
45
- };
46
- identifiers.push(crIdentifier);
71
+ });
47
72
 
48
73
  const patientName = hiePatient.name?.[0];
49
74
  if (patientName) {
@@ -85,13 +110,13 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
85
110
  preferred: false,
86
111
  }))
87
112
  .filter((identifier: any) => identifier.identifierType) || [];
88
- const crIdentifier = {
113
+
114
+ identifiers.push({
89
115
  identifier: dependentInfo?.id,
90
116
  identifierType: getIdentifierTypeUUID('sha-id-number'),
91
117
  location: locationUuid,
92
118
  preferred: false,
93
- };
94
- identifiers.push(crIdentifier);
119
+ });
95
120
 
96
121
  const birthdate = dependentInfo.extension?.find(
97
122
  (ext: any) => ext.url === 'https://ts.kenya-hie.health/fhir/StructureDefinition/date_of_birth',
@@ -129,7 +154,7 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
129
154
  identifiers[0].preferred = true;
130
155
  }
131
156
 
132
- const phoneAttributes = [];
157
+ const phoneAttributes: Array<{ attributeType: string; value: string }> = [];
133
158
  if (type === 'hie-patient') {
134
159
  const phoneContact = patientData.telecom?.find((t: any) => t.system === 'phone');
135
160
  if (phoneContact?.value) {
@@ -140,6 +165,14 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
140
165
  }
141
166
  }
142
167
 
168
+ const defaultAddress: AddressPayload = {
169
+ address1: '',
170
+ cityVillage: '',
171
+ country: '',
172
+ postalCode: '',
173
+ stateProvince: '',
174
+ };
175
+
143
176
  const registrationPayload = {
144
177
  person: {
145
178
  names: [
@@ -154,18 +187,7 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
154
187
  birthdate: patientBirthDate || null,
155
188
  birthdateEstimated: !patientBirthDate,
156
189
  attributes: phoneAttributes,
157
- addresses:
158
- addresses.length > 0
159
- ? addresses
160
- : [
161
- {
162
- address1: '',
163
- cityVillage: '',
164
- country: '',
165
- postalCode: '',
166
- stateProvince: '',
167
- },
168
- ],
190
+ addresses: addresses.length > 0 ? addresses : [defaultAddress],
169
191
  },
170
192
  identifiers: [...identifiers],
171
193
  };
@@ -174,6 +196,10 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
174
196
  const identifierResponse = await generateIdentifier(openmrsIdSource);
175
197
  const location = await getSessionLocation();
176
198
 
199
+ if (!location?.uuid) {
200
+ throw new Error('Could not determine session location');
201
+ }
202
+
177
203
  const openmrsIdentifier = {
178
204
  identifier: identifierResponse.data.identifier,
179
205
  identifierType: openmrsId,
@@ -199,7 +225,7 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
199
225
  throw new Error('No valid identifiers found for the patient');
200
226
  }
201
227
 
202
- const response = await openmrsFetch(`${restBaseUrl}/patient`, {
228
+ const response = await openmrsFetch<{ uuid: string }>(`${restBaseUrl}/patient`, {
203
229
  method: 'POST',
204
230
  headers: {
205
231
  'Content-Type': 'application/json',
@@ -217,7 +243,7 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
217
243
  });
218
244
 
219
245
  return response.data;
220
- } catch (error) {
246
+ } catch (error: any) {
221
247
  console.error('Error creating patient:', error);
222
248
 
223
249
  const patientType = payload.type === 'hie-patient' ? 'Patient' : 'Dependent';
@@ -243,6 +269,25 @@ export async function createPatient(payload: PatientRegistrationPayload, t: any)
243
269
  }
244
270
  }
245
271
 
272
+ async function launchCheckInWorkspace(patient: any, patientUuid: string) {
273
+ await launchWorkspaceGroup2('ewf-patient-chart', {
274
+ patient,
275
+ patientUuid,
276
+ visitContext: null as unknown as Visit,
277
+ mutateVisitContext: () => {},
278
+ });
279
+
280
+ launchWorkspace2<VisitFormProps, {}, {}>(
281
+ 'custom-start-visit-workspace-form',
282
+ {
283
+ openedFrom: 'registration-check-in',
284
+ showPatientHeader: false,
285
+ },
286
+ {},
287
+ null,
288
+ );
289
+ }
290
+
246
291
  export async function createDependentPatient(dependent: DependentPayload, t: any) {
247
292
  const payload: PatientRegistrationPayload = {
248
293
  name: dependent.name,
@@ -252,14 +297,7 @@ export async function createDependentPatient(dependent: DependentPayload, t: any
252
297
  };
253
298
 
254
299
  const result = await createPatient(payload, t);
255
-
256
- launchWorkspace('start-visit-workspace-form', {
257
- patientUuid: result.uuid,
258
- workspaceTitle: t('startVisitWorkspaceTitle', 'Start Visit for {{patientName}}', {
259
- patientName: dependent.name,
260
- }),
261
- });
262
-
300
+ await launchCheckInWorkspace(result, result.uuid);
263
301
  return result;
264
302
  }
265
303
 
@@ -278,14 +316,7 @@ export async function createHIEPatient(hiePatient: HIEPatient, t: any) {
278
316
  };
279
317
 
280
318
  const result = await createPatient(payload, t);
281
-
282
- launchWorkspace('start-visit-workspace-form', {
283
- patientUuid: result.uuid,
284
- workspaceTitle: t('startVisitWorkspaceTitle', 'Start Visit for {{patientName}}', {
285
- patientName: patientName,
286
- }),
287
- });
288
-
319
+ await launchCheckInWorkspace(result, result.uuid);
289
320
  return result;
290
321
  }
291
322
 
@@ -321,11 +352,9 @@ export const getDependentsFromContacts = (patient: HIEPatient) => {
321
352
  const shaIdNumber = identifierExtensions.find(
322
353
  (ext) => ext.valueIdentifier?.type?.coding?.[0]?.code === 'sha-id-number',
323
354
  )?.valueIdentifier?.value;
324
-
325
355
  const nationalId = identifierExtensions.find(
326
356
  (ext) => ext.valueIdentifier?.type?.coding?.[0]?.code === 'national-id',
327
357
  )?.valueIdentifier?.value;
328
-
329
358
  const birthCertificate = identifierExtensions.find(
330
359
  (ext) => ext.valueIdentifier?.type?.coding?.[0]?.code === 'birth-certificate',
331
360
  )?.valueIdentifier?.value;
@@ -372,7 +401,7 @@ export const useActiveVisit = (patientUuid: string | null) => {
372
401
  const data = await response.json();
373
402
  const visits = data?.results || [];
374
403
  setActiveVisit(visits.length > 0 ? visits[0] : null);
375
- } catch (err) {
404
+ } catch (err: any) {
376
405
  console.warn(`Error fetching active visit for patient ${patientUuid}:`, err);
377
406
  setError(err);
378
407
  setActiveVisit(null);