@kenyaemr/esm-express-workflow-app 5.4.3 → 5.4.4-pre.1

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 (487) hide show
  1. package/.turbo/turbo-build.log +13 -11
  2. package/dist/1074.js +1 -0
  3. package/dist/1074.js.map +1 -0
  4. package/dist/1084.js +1 -0
  5. package/dist/1084.js.map +1 -0
  6. package/dist/12.js +17 -0
  7. package/dist/12.js.map +1 -0
  8. package/dist/126.js +1 -0
  9. package/dist/126.js.map +1 -0
  10. package/dist/1311.js +1 -0
  11. package/dist/1311.js.map +1 -0
  12. package/dist/1323.js +1 -0
  13. package/dist/1323.js.map +1 -0
  14. package/dist/1469.js +1 -0
  15. package/dist/1469.js.map +1 -0
  16. package/dist/1506.js +13 -0
  17. package/dist/1506.js.map +1 -0
  18. package/dist/1760.js +1 -0
  19. package/dist/1760.js.map +1 -0
  20. package/dist/1780.js +1 -0
  21. package/dist/1780.js.map +1 -0
  22. package/dist/1791.js +1 -0
  23. package/dist/1791.js.map +1 -0
  24. package/dist/1884.js +1 -0
  25. package/dist/1884.js.map +1 -0
  26. package/dist/1972.js +1 -0
  27. package/dist/1972.js.map +1 -0
  28. package/dist/1990.js +1 -0
  29. package/dist/1990.js.map +1 -0
  30. package/dist/2016.js +1 -0
  31. package/dist/2016.js.map +1 -0
  32. package/dist/2024.js +1 -0
  33. package/dist/2024.js.map +1 -0
  34. package/dist/2153.js +1 -0
  35. package/dist/2153.js.map +1 -0
  36. package/dist/216.js +1 -0
  37. package/dist/216.js.map +1 -0
  38. package/dist/2225.js +1 -0
  39. package/dist/2225.js.map +1 -0
  40. package/dist/2294.js +1 -0
  41. package/dist/2294.js.map +1 -0
  42. package/dist/2345.js +1 -0
  43. package/dist/2345.js.map +1 -0
  44. package/dist/2386.js +1 -0
  45. package/dist/2386.js.map +1 -0
  46. package/dist/2438.js +1 -0
  47. package/dist/2438.js.map +1 -0
  48. package/dist/2499.js +1 -0
  49. package/dist/2499.js.map +1 -0
  50. package/dist/2500.js +1 -0
  51. package/dist/2500.js.map +1 -0
  52. package/dist/2586.js +1 -0
  53. package/dist/2586.js.map +1 -0
  54. package/dist/2625.js +1 -0
  55. package/dist/2625.js.map +1 -0
  56. package/dist/2685.js +1 -0
  57. package/dist/2685.js.map +1 -0
  58. package/dist/2757.js +1 -0
  59. package/dist/2757.js.map +1 -0
  60. package/dist/2851.js +1 -0
  61. package/dist/2851.js.map +1 -0
  62. package/dist/2881.js +1 -0
  63. package/dist/2881.js.map +1 -0
  64. package/dist/2948.js +1 -0
  65. package/dist/2948.js.map +1 -0
  66. package/dist/2968.js +1 -0
  67. package/dist/2968.js.map +1 -0
  68. package/dist/2998.js +1 -0
  69. package/dist/2998.js.map +1 -0
  70. package/dist/30.js +1 -0
  71. package/dist/30.js.map +1 -0
  72. package/dist/3089.js +1 -0
  73. package/dist/3089.js.map +1 -0
  74. package/dist/3139.js +1 -0
  75. package/dist/3139.js.map +1 -0
  76. package/dist/3220.js +1 -0
  77. package/dist/3220.js.map +1 -0
  78. package/dist/3265.js +1 -0
  79. package/dist/3265.js.map +1 -0
  80. package/dist/3548.js +1 -0
  81. package/dist/3548.js.map +1 -0
  82. package/dist/3567.js +1 -0
  83. package/dist/3567.js.map +1 -0
  84. package/dist/3571.js +1 -0
  85. package/dist/3571.js.map +1 -0
  86. package/dist/3691.js +1 -0
  87. package/dist/3691.js.map +1 -0
  88. package/dist/3730.js +1 -0
  89. package/dist/3730.js.map +1 -0
  90. package/dist/3923.js +1 -0
  91. package/dist/3923.js.map +1 -0
  92. package/dist/3963.js +1 -0
  93. package/dist/3963.js.map +1 -0
  94. package/dist/4024.js +1 -0
  95. package/dist/4024.js.map +1 -0
  96. package/dist/405.js +1 -0
  97. package/dist/405.js.map +1 -0
  98. package/dist/4296.js +1 -0
  99. package/dist/4296.js.map +1 -0
  100. package/dist/4504.js +1 -0
  101. package/dist/4504.js.map +1 -0
  102. package/dist/4564.js +1 -0
  103. package/dist/4564.js.map +1 -0
  104. package/dist/4581.js +1 -0
  105. package/dist/4581.js.map +1 -0
  106. package/dist/4670.js +1 -0
  107. package/dist/4670.js.map +1 -0
  108. package/dist/4680.js +1 -0
  109. package/dist/4680.js.map +1 -0
  110. package/dist/4682.js +1 -0
  111. package/dist/4682.js.map +1 -0
  112. package/dist/4735.js +1 -0
  113. package/dist/4735.js.map +1 -0
  114. package/dist/4737.js +1 -0
  115. package/dist/4737.js.map +1 -0
  116. package/dist/4744.js +1 -0
  117. package/dist/4744.js.map +1 -0
  118. package/dist/4795.js +1 -0
  119. package/dist/4795.js.map +1 -0
  120. package/dist/4813.js +2 -0
  121. package/dist/4813.js.map +1 -0
  122. package/dist/4818.js +1 -0
  123. package/dist/4818.js.map +1 -0
  124. package/dist/4858.js +1 -0
  125. package/dist/4858.js.map +1 -0
  126. package/dist/487.js +1 -0
  127. package/dist/487.js.map +1 -0
  128. package/dist/4970.js +1 -0
  129. package/dist/4970.js.map +1 -0
  130. package/dist/5047.js +1 -0
  131. package/dist/5047.js.map +1 -0
  132. package/dist/5054.js +1 -0
  133. package/dist/5054.js.map +1 -0
  134. package/dist/5202.js +1 -0
  135. package/dist/5202.js.map +1 -0
  136. package/dist/5491.js +1 -0
  137. package/dist/5491.js.map +1 -0
  138. package/dist/5592.js +1 -0
  139. package/dist/5592.js.map +1 -0
  140. package/dist/5669.js +1 -0
  141. package/dist/5669.js.map +1 -0
  142. package/dist/5787.js +1 -0
  143. package/dist/5787.js.map +1 -0
  144. package/dist/586.js +1 -0
  145. package/dist/586.js.map +1 -0
  146. package/dist/5879.js +1 -0
  147. package/dist/5879.js.map +1 -0
  148. package/dist/5904.js +1 -0
  149. package/dist/5904.js.map +1 -0
  150. package/dist/5986.js +1 -0
  151. package/dist/5986.js.map +1 -0
  152. package/dist/6007.js +11 -0
  153. package/dist/6007.js.map +1 -0
  154. package/dist/6075.js +1 -0
  155. package/dist/6075.js.map +1 -0
  156. package/dist/6258.js +1 -0
  157. package/dist/6258.js.map +1 -0
  158. package/dist/629.js +1 -0
  159. package/dist/629.js.map +1 -0
  160. package/dist/6328.js +1 -0
  161. package/dist/6328.js.map +1 -0
  162. package/dist/6355.js +1 -0
  163. package/dist/6355.js.map +1 -0
  164. package/dist/64.js +1 -0
  165. package/dist/64.js.map +1 -0
  166. package/dist/6445.js +1 -0
  167. package/dist/6445.js.map +1 -0
  168. package/dist/6456.js +1 -0
  169. package/dist/6466.js +3 -0
  170. package/dist/6466.js.map +1 -0
  171. package/dist/6663.js +1 -0
  172. package/dist/6663.js.map +1 -0
  173. package/dist/6720.js +1 -0
  174. package/dist/6720.js.map +1 -0
  175. package/dist/6798.js +66 -0
  176. package/dist/6798.js.map +1 -0
  177. package/dist/6925.js +1 -0
  178. package/dist/6925.js.map +1 -0
  179. package/dist/7201.js +1 -0
  180. package/dist/7201.js.map +1 -0
  181. package/dist/7234.js +1 -0
  182. package/dist/7234.js.map +1 -0
  183. package/dist/7261.js +1 -0
  184. package/dist/7261.js.map +1 -0
  185. package/dist/7326.js +1 -0
  186. package/dist/7359.js +1 -0
  187. package/dist/7405.js +1 -0
  188. package/dist/7405.js.map +1 -0
  189. package/dist/7591.js +1 -0
  190. package/dist/7591.js.map +1 -0
  191. package/dist/7602.js +1 -0
  192. package/dist/7602.js.map +1 -0
  193. package/dist/7607.js +1 -0
  194. package/dist/7701.js +1 -0
  195. package/dist/7701.js.map +1 -0
  196. package/dist/7717.js +1 -0
  197. package/dist/7717.js.map +1 -0
  198. package/dist/7739.js +1 -0
  199. package/dist/7739.js.map +1 -0
  200. package/dist/7788.js +1 -0
  201. package/dist/7788.js.map +1 -0
  202. package/dist/7819.js +1 -0
  203. package/dist/7819.js.map +1 -0
  204. package/dist/7820.js +1 -0
  205. package/dist/7820.js.map +1 -0
  206. package/dist/7844.js +1 -0
  207. package/dist/7844.js.map +1 -0
  208. package/dist/7971.js +1 -0
  209. package/dist/7971.js.map +1 -0
  210. package/dist/807.js +1 -0
  211. package/dist/807.js.map +1 -0
  212. package/dist/8159.js +7 -0
  213. package/dist/8159.js.map +1 -0
  214. package/dist/8338.js +1 -0
  215. package/dist/8338.js.map +1 -0
  216. package/dist/845.js +1 -0
  217. package/dist/845.js.map +1 -0
  218. package/dist/8566.js +1 -0
  219. package/dist/8566.js.map +1 -0
  220. package/dist/8570.js +1 -0
  221. package/dist/8570.js.map +1 -0
  222. package/dist/8613.js +1 -0
  223. package/dist/8613.js.map +1 -0
  224. package/dist/8682.js +1 -0
  225. package/dist/8682.js.map +1 -0
  226. package/dist/87.js +1 -0
  227. package/dist/87.js.map +1 -0
  228. package/dist/8727.js +1 -0
  229. package/dist/8766.js +1 -0
  230. package/dist/8766.js.map +1 -0
  231. package/dist/8799.js +1 -0
  232. package/dist/8799.js.map +1 -0
  233. package/dist/8828.js +1 -0
  234. package/dist/8828.js.map +1 -0
  235. package/dist/8860.js +1 -0
  236. package/dist/8860.js.map +1 -0
  237. package/dist/8911.js +1 -0
  238. package/dist/8911.js.map +1 -0
  239. package/dist/8930.js +1 -0
  240. package/dist/8930.js.map +1 -0
  241. package/dist/8971.js +1 -0
  242. package/dist/8971.js.map +1 -0
  243. package/dist/9011.js +1 -0
  244. package/dist/9011.js.map +1 -0
  245. package/dist/9111.js +1 -0
  246. package/dist/9111.js.map +1 -0
  247. package/dist/9124.js +1 -0
  248. package/dist/9124.js.map +1 -0
  249. package/dist/9157.js +1 -0
  250. package/dist/9157.js.map +1 -0
  251. package/dist/9161.js +1 -0
  252. package/dist/9161.js.map +1 -0
  253. package/dist/9182.js +1 -0
  254. package/dist/921.js +1 -0
  255. package/dist/921.js.map +1 -0
  256. package/dist/9212.js +1 -0
  257. package/dist/9212.js.map +1 -0
  258. package/dist/9255.js +1 -0
  259. package/dist/9255.js.map +1 -0
  260. package/dist/9257.js +1 -0
  261. package/dist/9257.js.map +1 -0
  262. package/dist/9343.js +1 -0
  263. package/dist/9343.js.map +1 -0
  264. package/dist/9404.js +1 -0
  265. package/dist/9404.js.map +1 -0
  266. package/dist/9446.js +1 -0
  267. package/dist/9446.js.map +1 -0
  268. package/dist/9449.js +1 -0
  269. package/dist/9449.js.map +1 -0
  270. package/dist/9488.js +1 -0
  271. package/dist/9488.js.map +1 -0
  272. package/dist/9514.js +1 -0
  273. package/dist/9514.js.map +1 -0
  274. package/dist/9528.js +1 -0
  275. package/dist/9528.js.map +1 -0
  276. package/dist/9535.js +1 -0
  277. package/dist/9535.js.map +1 -0
  278. package/dist/9606.js +1 -0
  279. package/dist/9606.js.map +1 -0
  280. package/dist/9834.js +1 -0
  281. package/dist/9834.js.map +1 -0
  282. package/dist/9845.js +1 -0
  283. package/dist/9845.js.map +1 -0
  284. package/dist/9848.js +1 -0
  285. package/dist/9848.js.map +1 -0
  286. package/dist/kenyaemr-esm-express-workflow-app.js +5 -5
  287. package/dist/kenyaemr-esm-express-workflow-app.js.buildmanifest.json +3394 -173
  288. package/dist/kenyaemr-esm-express-workflow-app.js.map +1 -1
  289. package/dist/main.js +7 -106
  290. package/dist/main.js.map +1 -1
  291. package/dist/routes.json +1 -1
  292. package/package.json +7 -8
  293. package/rspack.config.js +1 -1
  294. package/src/components/accounting/index.tsx +11 -10
  295. package/src/components/admissions/admissions-dashboard.component.tsx +2 -2
  296. package/src/components/admissions/index.tsx +11 -10
  297. package/src/components/anaesthetic/anaesthetic-dashboard.meta.ts +8 -0
  298. package/src/components/anaesthetic/anaesthetic-data-form.component.tsx +442 -0
  299. package/src/components/anaesthetic/anaesthetic-data-form.scss +278 -0
  300. package/src/components/anaesthetic/anaesthetic-link.component.tsx +21 -0
  301. package/src/components/anaesthetic/anaesthetic.component.tsx +618 -0
  302. package/src/components/anaesthetic/anaesthetic.resource.ts +1503 -0
  303. package/src/components/anaesthetic/anaesthetic.scss +1885 -0
  304. package/src/components/anaesthetic/forms/anaesthetic-form.component.tsx +304 -0
  305. package/src/components/anaesthetic/forms/anaesthetic-record-form.component.tsx +707 -0
  306. package/src/components/anaesthetic/forms/icd11-diagnosis-search.component.tsx +178 -0
  307. package/src/components/anaesthetic/forms/icd11-diagnosis-search.scss +126 -0
  308. package/src/components/anaesthetic/forms/index.ts +2 -0
  309. package/src/components/anaesthetic/forms/interoperative-record-drug-given-form.component.tsx +231 -0
  310. package/src/components/anaesthetic/forms/post-operative-summary-form.component.tsx +171 -0
  311. package/src/components/anaesthetic/forms/time-picker-dropdown.component.tsx +202 -0
  312. package/src/components/anaesthetic/forms/time-picker-dropdown.scss +107 -0
  313. package/src/components/anaesthetic/forms/time-picker-with-clock.component.tsx +174 -0
  314. package/src/components/anaesthetic/forms/time-picker-with-clock.scss +178 -0
  315. package/src/components/anaesthetic/forms/useAnaestheticData.ts +16 -0
  316. package/src/components/anaesthetic/graphs/anaesthetic-graph-wrapper.component.tsx +266 -0
  317. package/src/components/anaesthetic/graphs/anaesthetic-graph.component.tsx +185 -0
  318. package/src/components/anaesthetic/graphs/index.ts +2 -0
  319. package/src/components/anaesthetic/graphs/interoperative-record-drug-given-graph-wrapper.component.tsx +197 -0
  320. package/src/components/anaesthetic/graphs/interoperative-record-drug-given-graph.component.tsx +93 -0
  321. package/src/components/anaesthetic/resources/anaesthetic-amniotic-fluid.resource.ts +277 -0
  322. package/src/components/anaesthetic/resources/anaesthetic-form.resource.ts +716 -0
  323. package/src/components/anaesthetic/resources/anaesthetic.resource.ts +378 -0
  324. package/src/components/anaesthetic/types/index.ts +1349 -0
  325. package/src/components/appointments/index.ts +10 -8
  326. package/src/components/consultation/clinical-encounter/clinical-encounter.component.tsx +4 -20
  327. package/src/components/consultation/clinical-encounter/encounter-details.component.tsx +9 -9
  328. package/src/components/consultation/clinical-encounter/encounter-details.test.tsx +19 -18
  329. package/src/components/consultation/consultation-context.tsx +19 -0
  330. package/src/components/consultation/consultation-summary-cards.component.tsx +124 -0
  331. package/src/components/consultation/consultation.component.tsx +41 -268
  332. package/src/components/consultation/consultation.resource.ts +67 -24
  333. package/src/components/consultation/consultation.scss +5 -0
  334. package/src/components/consultation/consultation.utils.tsx +222 -0
  335. package/src/components/consultation/dashboard.component.tsx +0 -2
  336. package/src/components/consultation/index.ts +28 -21
  337. package/src/components/consultation/tabs/index.ts +67 -0
  338. package/src/components/facility-dashboard/components/header/home-header.component.tsx +8 -13
  339. package/src/components/facility-dashboard/index.tsx +10 -9
  340. package/src/components/laboratory/index.ts +22 -10
  341. package/src/components/laboratory/lab-table.component.tsx +40 -12
  342. package/src/components/laboratory/laboratory-tabs.component.tsx +3 -17
  343. package/src/components/mch/dashboard.component.tsx +0 -2
  344. package/src/components/mch/index.tsx +10 -9
  345. package/src/components/mch/mch.component.tsx +1 -3
  346. package/src/components/mch/mch.consultation.component.tsx +27 -15
  347. package/src/components/mch/mch.triage.component.tsx +42 -33
  348. package/src/components/pharmacy/index.ts +21 -19
  349. package/src/components/pharmacy/orders/pharmacy-orders.component.tsx +35 -13
  350. package/src/components/pharmacy/orders/pharmacy-orders.test.tsx +8 -7
  351. package/src/components/pharmacy/pharmacy-tabs.component.tsx +4 -20
  352. package/src/components/pharmacy/tabs/index.ts +21 -0
  353. package/src/components/preauth/index.ts +22 -0
  354. package/src/components/preauth/preauth-dashboard.component.tsx +20 -0
  355. package/src/components/procedures/index.ts +27 -10
  356. package/src/components/procedures/procedure-queues/index.ts +13 -0
  357. package/src/components/procedures/procedure-queues/procedure-form-extras.component.tsx +33 -0
  358. package/src/components/procedures/procedure-queues/procedure-form-extras.scss +5 -0
  359. package/src/components/procedures/procedure-queues/procedure-queues.component.tsx +35 -0
  360. package/src/components/procedures/procedure-queues/procedure-queues.resources.ts +37 -0
  361. package/src/components/procedures/procedure-queues/procedure-room-tabs.component.tsx +80 -0
  362. package/src/components/procedures/procedure-queues/procedure-rooms.scss +13 -0
  363. package/src/components/procedures/procedure-queues/queue-procedure-tabs.component.tsx +34 -0
  364. package/src/components/procedures/procedure-queues/summary-cards.component.tsx +81 -0
  365. package/src/components/procedures/procedure-queues/summary-cards.scss +35 -0
  366. package/src/components/procedures/procedures-table.component.tsx +69 -19
  367. package/src/components/procedures/procedures-tabs.component.test.tsx +57 -0
  368. package/src/components/procedures/procedures-tabs.component.tsx +3 -18
  369. package/src/components/radiology-and-imaging/index.ts +25 -10
  370. package/src/components/radiology-and-imaging/radiology-and-imaging-table.component.tsx +62 -21
  371. package/src/components/radiology-and-imaging/radiology-and-imaging.component.tsx +3 -19
  372. package/src/components/registration/card/HIE-card/hie-card.component.tsx +32 -44
  373. package/src/components/registration/card/Local-card/local-card.component.tsx +22 -24
  374. package/src/components/registration/checkin-form-extra/checkin-form-extra.extension.tsx +8 -2
  375. package/src/components/registration/checkin-form-extra/queue-fields.component.tsx +18 -19
  376. package/src/components/registration/dependants/dependants.component.tsx +37 -60
  377. package/src/components/registration/dependants/dependants.resource.ts +79 -50
  378. package/src/components/registration/end-visit-modal/end-visit-dialog.modal.tsx +320 -0
  379. package/src/components/registration/end-visit-modal/end-visit-dialog.scss +12 -0
  380. package/src/components/registration/end-visit-modal/end-visit.resource.tsx +59 -0
  381. package/src/components/registration/end-visit-modal/sha-end-visit.resource.ts +285 -0
  382. package/src/components/registration/helper/index.ts +4 -0
  383. package/src/components/registration/index.ts +10 -9
  384. package/src/components/registration/search-bar/search-bar.resource.ts +32 -93
  385. package/src/components/registration/start-visit-form/hooks/useDefaultFacilityLocation.tsx +15 -0
  386. package/src/components/registration/start-visit-form/hooks/useDefaultVisitLocation.tsx +24 -0
  387. package/src/components/registration/start-visit-form/hooks/useOfflineVisitType.tsx +18 -0
  388. package/src/components/registration/start-visit-form/hooks/useRecommendedVisitTypes.tsx +36 -0
  389. package/src/components/registration/start-visit-form/hooks/useVisitAttributeType.tsx +102 -0
  390. package/src/components/registration/start-visit-form/overflow-menu-extension/custom-end-active-visit.extension.tsx +44 -0
  391. package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.extension.tsx +57 -0
  392. package/src/components/registration/start-visit-form/overflow-menu-extension/overflow-menu-item.scss +3 -0
  393. package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.component.tsx +126 -0
  394. package/src/components/registration/start-visit-form/start-visit-workspace/base-visit-type.scss +75 -0
  395. package/src/components/registration/start-visit-form/start-visit-workspace/exported-visit-form.workspace.tsx +759 -0
  396. package/src/components/registration/start-visit-form/start-visit-workspace/location-selector.component.tsx +86 -0
  397. package/src/components/registration/start-visit-form/start-visit-workspace/recommended-visit-type.component.tsx +32 -0
  398. package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.component.tsx +257 -0
  399. package/src/components/registration/start-visit-form/start-visit-workspace/visit-attribute-type.scss +5 -0
  400. package/src/components/registration/start-visit-form/start-visit-workspace/visit-date-time.component.tsx +193 -0
  401. package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.resource.ts +389 -0
  402. package/src/components/registration/start-visit-form/start-visit-workspace/visit-form.scss +144 -0
  403. package/src/components/registration/start-visit-form/visit-form-workspace/visit-form.workspace.tsx +48 -0
  404. package/src/components/registration/type/index.ts +101 -0
  405. package/src/components/reports/index.ts +11 -9
  406. package/src/components/triage/dashboard.component.tsx +0 -2
  407. package/src/components/triage/index.ts +10 -9
  408. package/src/components/triage/triage.component.tsx +92 -42
  409. package/src/components/triage/triage.resource.ts +56 -50
  410. package/src/components/triage/triage.scss +6 -0
  411. package/src/config-schema.ts +482 -0
  412. package/src/hooks/useOrders.tsx +2 -2
  413. package/src/hooks/useServiceQueues.tsx +95 -25
  414. package/src/index.ts +84 -28
  415. package/src/routes.json +290 -32
  416. package/src/shared/dashboard-link/dashboard-link.component.tsx +11 -8
  417. package/src/shared/orders/OrderTable.tsx +19 -3
  418. package/src/shared/otp-verification/index.ts +112 -29
  419. package/src/shared/otp-verification/otp-verification.modal.tsx +1110 -122
  420. package/src/shared/otp-verification/otp-verification.scss +374 -0
  421. package/src/shared/patient-chart/patient-summary-dashboard/patient-summary-dashboard.component.tsx +5 -85
  422. package/src/shared/pin-put/pinput.component.test.tsx +7 -6
  423. package/src/shared/queue/queue-entry/queue-entry-table.component.tsx +99 -88
  424. package/src/shared/queue/queue-entry/queue-entry-table.scss +4 -0
  425. package/src/shared/queue/queue-summary-cards.component.tsx +32 -0
  426. package/src/shared/queue/queue-tab.component.tsx +182 -70
  427. package/src/shared/queue/queue-tab.scss +1 -0
  428. package/src/shared/queue/queue-workflow-context.tsx +90 -0
  429. package/src/shared/tabs/create-tab-extension.tsx +33 -0
  430. package/src/shared/tabs/extension-tabs.component.tsx +51 -30
  431. package/src/shared/utils/index.ts +119 -5
  432. package/src/types/index.ts +29 -2
  433. package/translations/am.json +426 -133
  434. package/translations/en.json +312 -19
  435. package/translations/fr.json +351 -63
  436. package/translations/sw.json +330 -37
  437. package/dist/127.js +0 -1
  438. package/dist/200.js +0 -1
  439. package/dist/200.js.map +0 -1
  440. package/dist/24.js +0 -1
  441. package/dist/24.js.map +0 -1
  442. package/dist/267.js +0 -1
  443. package/dist/267.js.map +0 -1
  444. package/dist/285.js +0 -1
  445. package/dist/285.js.map +0 -1
  446. package/dist/329.js +0 -1
  447. package/dist/329.js.map +0 -1
  448. package/dist/40.js +0 -1
  449. package/dist/466.js +0 -1
  450. package/dist/466.js.map +0 -1
  451. package/dist/472.js +0 -66
  452. package/dist/472.js.map +0 -1
  453. package/dist/490.js +0 -1
  454. package/dist/490.js.map +0 -1
  455. package/dist/54.js +0 -1
  456. package/dist/54.js.map +0 -1
  457. package/dist/689.js +0 -1
  458. package/dist/689.js.map +0 -1
  459. package/dist/697.js +0 -1
  460. package/dist/697.js.map +0 -1
  461. package/dist/704.js +0 -1
  462. package/dist/704.js.map +0 -1
  463. package/dist/710.js +0 -1
  464. package/dist/710.js.map +0 -1
  465. package/dist/729.js +0 -17
  466. package/dist/729.js.map +0 -1
  467. package/dist/805.js +0 -37
  468. package/dist/805.js.map +0 -1
  469. package/dist/847.js +0 -1
  470. package/dist/847.js.map +0 -1
  471. package/dist/85.js +0 -1
  472. package/dist/85.js.map +0 -1
  473. package/dist/882.js +0 -1
  474. package/dist/91.js +0 -1
  475. package/dist/91.js.map +0 -1
  476. package/dist/916.js +0 -1
  477. package/dist/994.js +0 -1
  478. package/dist/994.js.map +0 -1
  479. package/dist/998.js +0 -1
  480. package/dist/998.js.map +0 -1
  481. package/jest.config.js +0 -3
  482. package/src/shared/orders/OrdersTabs.tsx +0 -58
  483. package/src/shared/patient-chart/patient-chart.component.tsx +0 -61
  484. package/src/shared/patient-chart/patient-chart.resources.ts +0 -184
  485. package/src/shared/patient-chart/patient-chart.scss +0 -15
  486. package/src/shared/patient-chart/useInitialize.ts +0 -24
  487. /package/src/shared/{patient-chart/patient-summary-dashboard → tabs}/patient-summary-dashboard.scss +0 -0
@@ -1,176 +1,412 @@
1
1
  {
2
+ "accounting": "Accounting",
2
3
  "actions": "Actions",
3
4
  "activeMedications": "Active Medications",
5
+ "activeVisitExists": "This patient already has an active visit",
4
6
  "add": "Add",
7
+ "addAttachment": "Add attachment",
5
8
  "addedPatientToQueue": "Added patient to queue",
9
+ "additionalVisitInformationUpdatedSuccessfully": "Additional visit information updated successfully",
6
10
  "addMedicationOrder": "Add Medication Order",
11
+ "addOrder": "Add Order",
7
12
  "admissions": "Admissions",
8
13
  "Admitted/OPD": "Admitted/OPD Visits",
14
+ "all": "All",
15
+ "AM": "AM",
16
+ "anaesthetic": "Anaesthetic",
17
+ "anaestheticLoadingDefaults": "Loading encounter context, providers and procedures...",
18
+ "anaestheticNotes": "Anaesthetic notes",
19
+ "anaestheticRecord": "Anaesthetic record",
20
+ "anaestheticRecordDetail": "Anaesthetic record detail",
21
+ "anaestheticRecords": "Anaesthetic records",
22
+ "anaestheticRecordSubtitle": "Capture the theatre and anaesthetic details used to contextualize the charts below.",
23
+ "anaestheticSaved": "Anaesthetic form saved",
24
+ "anaestheticSavedToBackend": "Anaesthetic record has been saved to backend",
25
+ "anaestheticSaveFailed": "Save failed",
26
+ "anaesthetist": "Anaesthetist",
9
27
  "appointments": "Appointments",
28
+ "attachment": "Attachment",
29
+ "attachmentRequiredDesc": "Required for this reason. Attach a supporting document (PDF/JPG/PNG, max 5 MB).",
10
30
  "attachments": "Attachments",
11
31
  "attendedTo": "Attended to",
32
+ "awaitingApproval": "Awaiting approval",
12
33
  "awaitingConsultation": "Awaiting consultation",
34
+ "awaitingProcedure": "Awaiting Procedure",
13
35
  "back": "Back",
36
+ "biometricAgentNotReachable": "Biometric agent not running. Please start the agent on this workstation and try again.",
37
+ "biometricAttemptsHelper": "How many times biometric capture has been attempted (use 0 if not applicable).",
38
+ "biometricAttemptsLabel": "Biometric attempts",
39
+ "biometricCapture": "Biometric capture",
40
+ "biometricCaptureTitle": "Biometric capture",
41
+ "biometricCreatingVisit": "Verified creating visit…",
42
+ "biometricEndingVisit": "Verified ending visit…",
43
+ "biometricError": "Biometric error",
44
+ "biometricHint": "Follow the on-screen instructions in the capture window.",
45
+ "biometricMissingNationalId": "Provider National ID not configured. Please add it to your provider profile.",
46
+ "biometricNoEmbedUrl": "Biometric session did not return an embed URL.",
47
+ "biometricRejected": "Biometric verification was rejected. You can try again or use OTP.",
48
+ "biometricRetrying": "Restarting…",
49
+ "biometricStartFailed": "Could not start biometric session.",
50
+ "biometricTimeout": "Biometric verification did not complete in time. Please try again.",
51
+ "biometricVisitFailed": "Biometric was approved but visit creation failed.",
52
+ "biometricWaitingForApproval": "Waiting for SHA to confirm capture…",
14
53
  "birthDate": "Birth Date",
54
+ "blindOrUnderMask": "Blind / Under Mask",
55
+ "bloodPressure": "Blood Pressure (mmHg)",
56
+ "btnCancel": "Cancel",
57
+ "btnRequestOtpWhitelisting": "Request OTP Whitelisting",
58
+ "btnUseBiometrics": "Use of Biometrics",
59
+ "btnUseOtp": "Use OTP",
15
60
  "call": "Call",
16
61
  "cancel": "Cancel",
62
+ "careAuthorization": "Care Authorizations",
17
63
  "carePanel": "Care Panel",
18
- "changePhoneNumber": "Change phone number",
64
+ "Cervical Dilation": "",
65
+ "Cervix data saved successfully": "",
19
66
  "checkedIn": "Checked In",
67
+ "checkFilters": "Check the filters above",
20
68
  "checkIn": "Check In",
21
69
  "checking": "Checking...",
22
- "checkingEligibility": "",
23
- "checkInPatientWorkspaceTitle": "Check in patient",
70
+ "checkingEligibility": "Checking eligibility...",
71
+ "checkingExistingRequest": "Checking existing requests…",
72
+ "checkStatusNow": "Check status now",
73
+ "chooseAnOption": "Choose an option",
24
74
  "chooseIdentifierType": "Choose identifier type",
75
+ "claimProcessingError": "Error",
25
76
  "clearAll": "Clear All",
26
77
  "clearFilters": "Clear filters",
27
78
  "clientRegistry": "Client registry verification",
28
79
  "clientsPatientsAttendedTo": "Clients/Patients attended to",
29
80
  "clientsPatientsWaiting": "Clients/Patients waiting",
30
81
  "clinicalEncounter": "Clinical Encounter",
82
+ "clinicalEncounterTab": "Clinical Encounter",
83
+ "clinicalNotes": "Clinical Notes",
31
84
  "comingFrom": "Coming from",
85
+ "completedProcedures": "Completed Procedures",
86
+ "concentrationRate": "Concentration rate",
32
87
  "configureQueueRooms": "",
33
88
  "confirmationTxt": "Verify the phone number before OTP",
34
89
  "consultation": "Consultation",
90
+ "continue": "Continue",
35
91
  "continueWithCare": "Continue with care",
36
92
  "CRNumber": "CR Number",
93
+ "customCheckin": "Check in",
37
94
  "dashboard": "Dashboard",
38
95
  "dashboardErrorMessage": "Unable to load dashboard data. Please try again.",
96
+ "date": "Date",
39
97
  "dateAndTime": "Date and time",
98
+ "dateOrdered": "Date Ordered",
99
+ "dateTime": "Date & Time",
40
100
  "dependentRegistrationError": "Error registering dependent",
41
101
  "dependentRegistrationErrorSubtitle": "Error registering dependent: {{error}}",
42
102
  "dependents": "Dependent(s)",
103
+ "Descent of Head": "",
104
+ "diagnosis": "Diagnosis (ICD 11)",
105
+ "diagnosisRequired": "Diagnosis is required",
106
+ "diastolicBP": "BP Diastolic",
107
+ "discard": "Discard",
108
+ "dischargeReason": "Discharge reason",
109
+ "dischargeReasonIntro": "Select the reason for ending this visit. You will then be asked to verify your identity.",
43
110
  "diseases": "Diseases",
111
+ "drugOrderSaved": "Drug order saved",
112
+ "drugOrderSavedToBackend": "Drug order has been saved to backend",
113
+ "drugOrderSaveFailed": "Failed to save drug order",
114
+ "drugsIVFluids": "Drugs and IV Fluids Given",
115
+ "editVisit": "Edit visit",
116
+ "effect": "Effect",
44
117
  "emergency": "Emergency",
45
118
  "emergencyCases": "Number of Emergency Cases Seen",
46
119
  "emergencyRegistration": "Emergency registration",
120
+ "Encounter deleted successfully": "",
121
+ "encounterDate": "Encounter Date",
47
122
  "encounterDetails": "Encounter Details",
123
+ "endActiveVisitConfirmation": "Are you sure you want to end this active visit?",
124
+ "endActiveVisitFirst": "You must end the current visit before starting a new one.",
125
+ "endCustomActiveVisit": "End Active Visit",
126
+ "endDate": "End date",
127
+ "endDateTimeRequired": "End date and time are required",
128
+ "ended": "Ended",
129
+ "endTime": "End time",
130
+ "endTimeFormat": "End time format",
131
+ "endTimeMustBeAfterMostRecentEncounter": "End time must be on or after {{lastEncounterDatetime}}",
132
+ "endTimeMustBeAfterStartTime": "End time must be after start time",
133
+ "endVisit_title": "End Visit",
134
+ "endVisitTitle": "End Visit",
135
+ "enterConcentrationRate": "Enter 1, 2.3, 3%, 4.5%",
136
+ "enterFluidsGiven": "Enter fluids given",
48
137
  "enterIdentifierNumber": "Enter identifier number",
138
+ "enterMeasurementValue": "Enter measurement value",
139
+ "enterMedicationGiven": "Enter medications given",
49
140
  "enterOtp": "Enter OTP",
50
141
  "enterOtpSentTo": "Enter the OTP code sent to",
51
142
  "enterPatientIdentifier": "Enter patient identifier number to search for a patient",
52
- "enterPhoneNumber": "Enter phone number",
143
+ "enterPosition": "Enter position",
144
+ "enterPostOperativeManagement": "Enter post-operative management",
145
+ "enterResultsOfOperation": "Enter results of operation",
53
146
  "error": "Error",
147
+ "errorCreatingVisitAttribute": "Error creating the {{attributeName}} visit attribute",
148
+ "errorDeletingVisitAttribute": "Error deleting the {{attributeName}} visit attribute",
54
149
  "errorLoadingDashboard": "Error loading dashboard",
55
150
  "errorLoadingMedicationOrders": "Error loading medication orders",
56
- "errorLoadingPatient": "Error loading patient",
57
151
  "errorLoadingQueueEntries": "Error loading queue entries",
58
152
  "errorLoadingQueues": "Error loading queues",
153
+ "errorUpdatingVisitAttribute": "Error updating the {{attributeName}} visit attribute",
154
+ "errorUpdatingVisitDetails": "Error updating visit details",
155
+ "estimatedBloodLoss": "Estimated Blood Loss (ML)",
156
+ "estimatedBloodLossInvalid": "Estimated blood loss must be 0 or greater",
157
+ "estimatedBloodLossRequired": "Estimated blood loss is required",
158
+ "etco2": "EtCO2",
159
+ "Failed to load membrane amniotic fluid data": "",
160
+ "Failed to save membrane amniotic fluid data": "",
161
+ "failedToDeleteEncounter": "{{status}} {{statusText}}",
162
+ "failedToSaveAnaestheticRecord": "Failed to save anaesthetic record",
163
+ "failedToSaveDrugsIvFluids": "Failed to save drugs and IV fluids data",
164
+ "failedToSavePartographyData": "Failed to save partography data: {{error}}",
165
+ "failedToSavePostOperativeSummary": "Failed to save post operative summary data",
166
+ "fieldRequired": "This field is required",
59
167
  "filters": "Filters",
168
+ "fluidsGiven": "Fluids given",
169
+ "formView": "Form View",
170
+ "futureEndTime": "End time cannot be in the future",
171
+ "futureStartTime": "Start time cannot be in the future",
60
172
  "gender": "Gender",
61
173
  "generalOPDAttendance<5years": "General OPD Attendance <5 years",
62
174
  "generalOPDAttendance>5years": "General OPD Attendance >5 years",
63
175
  "generalOpdAttendanceOver5": "General OPD Attendance >5 years",
64
176
  "generalOpdAttendanceUnder5": "General OPD Attendance <5 years",
177
+ "graphView": "Graph View",
178
+ "heartRate": "Heart Rate (bpm)",
65
179
  "hideDependents": "Hide dependents",
180
+ "Hour": "",
66
181
  "identificationType": "Identification Type",
67
182
  "identifierNumber": "Identifier number*",
68
183
  "identifiers": "Identifiers",
184
+ "ifIv": "If IV",
69
185
  "immunizations": "Immunizations",
70
- "invalidPhoneNumber": "Please enter a valid phone number",
186
+ "inductionAirway": "Induction (Airway)",
187
+ "inPatient": "In-Patient",
188
+ "insuranceClaimProcessingFailed": "Insurance claim processing failed",
189
+ "interoperativeRecordDrugGiven": "Interoperative record",
190
+ "inThePast": "In the past",
71
191
  "investigationAwaiting": "Investigation Awaiting",
72
192
  "investigationCompleted": "Investigation Completed",
73
193
  "lab": "Lab",
74
194
  "labAwaiting": "Lab Awaiting",
75
195
  "labCompleted": "Lab Completed",
76
196
  "laboratoryOrders": "Laboratory Orders",
197
+ "labOrders": "Lab Orders",
77
198
  "labResults": "Lab Results",
199
+ "loading": "Loading...",
78
200
  "loadingDashboard": "Loading dashboard data...",
79
201
  "loadingOtpConfig": "Loading...",
80
- "loadingPatient": "Loading patient...",
81
- "loadingQueueEntries": "Loading queue entries...",
202
+ "loadingProcedures": "Loading procedures...",
203
+ "loadingProviders": "Loading providers...",
82
204
  "loadingQueues": "Loading queues...",
205
+ "Location information is required": "",
206
+ "maintenanceOfAnaesthesia": "Maintenance of Anaesthesia",
207
+ "mch": "MCH",
208
+ "mchConsultation": "MCH Consultation",
83
209
  "mchConsultationQueues": "MCH Consultation Queues",
210
+ "mchTriage": "MCH Triage",
84
211
  "medication": "Medication",
212
+ "medicationOrders": "Medication Orders",
213
+ "medicationsGiven": "Medications given",
214
+ "minimumCharacters": "Type at least 3 characters to search",
215
+ "missingSubmitHandler": "No submit handler was provided for this form",
216
+ "missingVisitType": "Missing visit type",
217
+ "moveToProcedureQueue": "Move to procedure queue",
85
218
  "name": "Name",
219
+ "new": "New",
86
220
  "newPatientResults_one": "New patient(s) found ({{count}})",
87
221
  "newPatientResults_other": "New patient(s) found ({{count}})",
88
222
  "nextPage": "Next page",
223
+ "noAnaestheticRecordData": "No anaesthetic record data available",
224
+ "noCRNumber": "Patient has no SHA CR number.",
89
225
  "noDependentsFound": "No dependents found for this patient",
226
+ "noEncounterTypeFound": "No encounter type found for graph: {{graphType}}",
90
227
  "noFilters": "No filters",
91
- "noMedicationOrders": "No medication orders",
92
- "noMedicationOrdersFound": "No medication orders found",
228
+ "noInteroperativeRecordDrugGivenData": "No interoperative record data available",
229
+ "noMedicationOrdersFound": "medication orders found",
93
230
  "noOfPatients": "No. of Patients",
94
231
  "noPatientFound": "No Patient Found",
95
232
  "noPatientsAwaiting": "No patients awaiting service",
233
+ "noPatientSelected": "No patient selected",
234
+ "noPostOperativeSummary": "No post-operative summary recorded",
235
+ "noProceduresFound": "No procedures found",
96
236
  "noQueueAssociated": "No queue associated with selected room",
97
237
  "noQueueRooms": "No queue rooms configured",
98
238
  "noQueueRoomsConfigured": "No queue rooms configured",
99
239
  "noQueuesAvailable": "No queues available",
100
240
  "noQueueSelected": "Please select a queue",
241
+ "noResults": "No results found",
242
+ "noSavedAnaestheticRecords": "No saved anaesthetic records found",
101
243
  "notCheckedIn": "Not Checked In",
102
244
  "notUrgent": "Not Urgent",
245
+ "noValidObservations": "No valid observations to save",
246
+ "noVisitTypesToDisplay": "No visit types to display",
103
247
  "numberofEmergencyCasesSeen": "Number of Emergency Cases Seen",
248
+ "offlineVisit": "Offline Visit",
249
+ "ongoing": "Ongoing",
250
+ "ongoingProcedures": "Ongoing Procedures",
104
251
  "opdVisits": "OPD Visits",
252
+ "operation": "Operation",
253
+ "optional": "optional",
254
+ "or": "or",
255
+ "order": "Order",
256
+ "orderBy": "Order By",
257
+ "orderNo": "Order No",
258
+ "orderReason": "Order reason",
105
259
  "orders": "Orders",
106
260
  "otpExpired": "OTP Expired",
107
261
  "otpExpiredMessage": "OTP has expired. Please request a new one.",
108
262
  "otpExpiringSoon": "Expiring Soon",
109
263
  "otpExpiryInfo": "The OTP will be valid for {{minutes}} minutes after it is sent.",
264
+ "otpFailedNotWhitelistedSubtitle": "Patient may not be receiving the SMS. Submit a whitelist request to bypass OTP for future visits.",
265
+ "otpFailedRepeatedly": "OTP failed 3 times",
266
+ "otpFailedRetrySubtitle": "OTP failed multiple times. Please try again or use biometrics.",
267
+ "otpFailedWhitelisted": "OTP not working?",
268
+ "otpFailedWhitelistedSubtitle": "Try biometrics instead — biometric capture is available for whitelisted patients.",
110
269
  "otpRequestError": "Error requesting OTP",
270
+ "otpRequestFailed": "Failed to send OTP. Please try again.",
111
271
  "otpTimeRemaining": "Time Remaining",
112
272
  "otpVerification": "OTP Verification",
113
- "otpVerificationError": "Error Verifying OTP",
114
- "partograph": "Partograph",
273
+ "otpVerificationError": "Error verifying OTP",
274
+ "otpVerificationFailed": "OTP verification failed. Please try again.",
275
+ "partOfFormDidntLoad": "Part of the form did not load",
276
+ "partographyDataSavedSuccessfully": "Partography data saved successfully",
115
277
  "pastMedications": "Past Medications",
116
278
  "patientAttended": "Patient attended to",
117
279
  "patientCategory": "Patient Category",
118
280
  "patientExamination": "Patient Examination",
119
281
  "patientHistory": "Patient History",
120
282
  "patientManagement": "Patient Management",
283
+ "patientMissingUuid": "Patient is missing a UUID",
121
284
  "patientsAwaiting": "Patient awaiting",
122
- "patientSummary": "Patient Summary",
285
+ "patientSummaryTab": "Patient Summary",
123
286
  "pendingMedicationOrders": "Pending Medication Orders",
287
+ "pharmacy": "Pharmacy",
124
288
  "pharmacyOrdersDescription": "Active medication prescriptions awaiting pharmacist review and dispensing",
125
- "phoneNumber": "Phone number",
289
+ "PM": "PM",
290
+ "position": "Position",
291
+ "positionRequired": "Position is required",
292
+ "postOperativeManagement": "Post-Operative management",
293
+ "postOperativeManagementRequired": "Post-operative management is required",
294
+ "postOperativeSummary": "Post Operative Summary",
295
+ "postOperativeSummarySaved": "Post Operative Summary saved",
296
+ "postOperativeSummarySavedToBackend": "Post Operative Summary has been saved to backend",
297
+ "postOperativeSummarySaveFailed": "Failed to save Post Operative Summary",
298
+ "precription": "Prescription",
126
299
  "previousPage": "Previous page",
127
300
  "priority": "Priority",
128
301
  "priorityComment": "Priority Comment",
129
302
  "procedures": "Procedures",
303
+ "proceduresAndOrders": "Investigation & Orders",
130
304
  "proceduresAwaiting": "Procedures Awaiting",
131
305
  "proceduresCompleted": "Procedures Completed",
132
306
  "proceduresOrders": "Procedures Orders",
133
307
  "processing": "Processing...",
308
+ "program": "Program",
309
+ "progressEvent": "Progress Event",
310
+ "Provider information is required": "",
134
311
  "quantity": "Quantity",
135
312
  "queue": "Queue",
313
+ "queueEntries": "Queue Entries",
136
314
  "queueEntryAddedSuccessfully": "Queue entry added successfully",
137
315
  "queueEntryError": "Error adding patient to the queue",
138
316
  "queueNumber": "Queue Number",
139
317
  "queuePatient": "Queue Patient",
140
318
  "radiology": "Radiology",
319
+ "radiologyAndImaging": "Radiology and Imaging",
141
320
  "radiologyAndImagingOrders": "Radiology & Imaging Orders",
142
321
  "radiologyAwaiting": "Radiology Awaiting",
143
322
  "radiologyCompleted": "Radiology Completed",
323
+ "recommended": "Recommended",
144
324
  "refresh": "Refresh",
145
325
  "refreshing": "Refreshing...",
326
+ "refreshingData": "Refreshing data...",
146
327
  "refreshInvestigations": "Refresh investigations",
328
+ "refreshToTryAgain": "Please refresh to try again",
147
329
  "registration": "Registration",
148
330
  "relationship": "Relationship",
149
331
  "relationships": "Relationships",
332
+ "replaceAttachment": "Replace attachment",
333
+ "reports": "Reports",
150
334
  "requester": "Requester",
151
- "requestingOtp": "Requesting OTP...",
152
- "reSendingOtp": "Resending OTP...",
335
+ "requestWhitelistDesc": "Submit a whitelisting request for this patient. Once approved, OTP can be used.",
336
+ "required": "Required",
153
337
  "resendOtp": "Resend OTP",
338
+ "results": "Results",
339
+ "resultsOfOperation": "Results of Operation",
340
+ "resultsOfOperationRequired": "Results of operation are required",
154
341
  "revisitPatientResults_one": "Revisit patient(s) ({{count}})",
155
342
  "revisitPatientResults_other": "Revisit patient(s) ({{count}})",
343
+ "save": "Save",
344
+ "saveAnaestheticRecord": "Save anaesthetic record",
345
+ "savedAnaestheticRecords": "Saved anaesthetic records",
346
+ "savedRecordCount_one": "{{count}} saved record(s)",
347
+ "savedRecordCount_other": "{{count}} saved record(s)",
348
+ "saving": "Saving...",
349
+ "scrubNurse": "Scrub Nurse",
156
350
  "search": "Search",
157
351
  "searchFailed": "Failed to search for patient. Please try again.",
158
352
  "searchForAPatient": "Search for a patient",
353
+ "searchForAVisitType": "Search for a visit type",
159
354
  "searching": "Searching...",
160
355
  "searchMedicationOrders": "Search medication orders",
161
356
  "searchPatients": "Search for Patient(s)",
357
+ "searchPlaceholder": "Type to search (minimum 3 characters)...",
358
+ "searchProviderByName": "Type at least 3 letters to search provider",
359
+ "searchSelectScrubNurse": "Search and select scrub nurse",
360
+ "searchSelectSurgeon": "Search and select surgeon",
361
+ "secureAuthBiometricFailedBody": "Please try again or use OTP Whitelisting verification to continue.",
362
+ "secureAuthBiometricFailedBodyWhitelisted": "Please try again or use OTP verification to continue.",
363
+ "secureAuthBiometricFailedTitle": "Biometric Verification Failed",
364
+ "secureAuthBiometricOption": "Biometric authentication (fingerprint)",
365
+ "secureAuthChooseReason": "Choose an option",
366
+ "secureAuthDataNotice": "All authentication data is securely handled and used only for identity verification.",
367
+ "secureAuthEyebrow": "Biometrics or OTP",
368
+ "secureAuthIntro": "To ensure the safety of your health records, please verify your identity using one of the following methods:",
369
+ "secureAuthOtpOption": "One-Time Password (Whitelisting is a must) sent to your registered phone number or email",
370
+ "secureAuthTitle": "Secure Patient Authentication",
371
+ "selectAnOption": "Select an option",
372
+ "selectDischargeReason": "Select a reason",
162
373
  "selectIdentifierAndNumber": "Please select an identifier type and enter an identifier number",
374
+ "selectLocation": "Select a location",
375
+ "selectOrSearchDiagnosis": "Select from list or type at least 3 letters to search ICD-11 diagnosis",
376
+ "selectOrSearchOperation": "Select from list or type to search more operations",
377
+ "selectPatientMessage": "Please select a patient to view partography data.",
378
+ "selectProgramType": "Select program type",
163
379
  "selectQueueRoom": "Select a queue room",
164
380
  "selectTriageRoom": "Select a triage room",
381
+ "selectVisitType": "Please select a Visit Type",
165
382
  "selectWalkInRoom": "Select a walk-in room",
166
383
  "sendingOtp": "Sending OTP...",
167
384
  "sendOtp": "Send OTP",
168
385
  "sendOtpCode": "Send OTP Code",
169
386
  "showDependents": "Show dependents",
170
387
  "specialClinics": "Special Clinics",
388
+ "spo2": "SPO2",
171
389
  "spouseVerificationRequired": "Please verify the spouse with OTP before registering",
172
- "startVisitWorkspaceTitle": "Start Visit for {{patientName}}",
390
+ "startDate": "Start date",
391
+ "startingVisit": "Starting visit",
392
+ "startTime": "Start time",
393
+ "startTimeFormat": "Start time format",
394
+ "startVisit": "Start visit",
395
+ "startVisitError": "Error starting visit",
396
+ "startVisitWorkspaceTitle": "Start a visit",
173
397
  "status": "status",
398
+ "submittingWhitelist": "Submitting…",
399
+ "submitWhitelist": "Submit request",
400
+ "surgeon": "Surgeon",
401
+ "switchToBiometric": "Switch to biometric",
402
+ "systolicBP": "BP Systolic",
403
+ "systolicHigherThanDiastolic": "Systolic BP must be higher than diastolic BP",
404
+ "tableView": "Table View",
405
+ "theVisitIs": "The visit is",
406
+ "time": "Time",
407
+ "Time": "",
408
+ "timeGiven": "Time given",
409
+ "timeGivenRequired": "Time given is required",
174
410
  "top10DiseasesOver5": "Top 10 Diseases over 5",
175
411
  "top10DiseasesUnder5": "Top 10 Diseases under 5",
176
412
  "totalNumberofReferrals-IN": "Total Number of Referrals - IN",
@@ -179,21 +415,78 @@
179
415
  "totalReferralsOut": "Total Number of Referrals - OUT",
180
416
  "totalVisits": "Total Visits",
181
417
  "triage": "Triage",
418
+ "tryBiometricsAgain": "Try biometrics again",
182
419
  "tryDifferentIdentifier": "Try searching with a different identifier or check the identifier type",
420
+ "typeOfPremedication": "Type of premedication",
421
+ "unit": "Unit",
422
+ "unknown": "Unknown",
423
+ "unknownError": "Unknown error",
424
+ "updateVisit": "Update visit",
425
+ "updatingVisit": "Updating visit",
183
426
  "urgent": "Urgent",
184
- "useADifferentNumber": "Use a different number",
427
+ "useOtpDesc": "Send a One-Time Password to the patient's registered phone or email",
185
428
  "validationError": "Validation Error",
429
+ "validDiastolicBPRequired": "Please enter a valid diastolic BP (0-150 mmHg)",
430
+ "validEtCO2Required": "Please enter a valid EtCO2 value (0-100)",
431
+ "validHeartRateRequired": "Please enter a valid heart rate (0-230 bpm)",
432
+ "validSPO2Required": "Please enter a valid SPO2 value (0-100)",
433
+ "validSystolicBPRequired": "Please enter a valid systolic BP (0-250 mmHg)",
434
+ "validTimeRequired": "Please enter a valid time",
435
+ "value": "Value",
186
436
  "verificationRequired": "Verification Required",
187
437
  "verify": "Verify",
438
+ "verifyAndStartVisit": "Verify & Start Visit",
188
439
  "verifyingOtp": "Verifying OTP",
189
440
  "view": "View",
441
+ "visitAttributes": "Visit attributes",
190
442
  "visitDate": "Visit Date",
191
443
  "visitDetails": "Visit Details",
444
+ "visitDetailsUpdated": "Visit details updated",
445
+ "visitDetailsUpdatedSuccessfully": "{{visit}} updated successfully",
446
+ "visitEnded": "Visit ended",
192
447
  "visitLocation": "Visit Location",
448
+ "visitLocationRequired": "Visit location is required",
193
449
  "visitProvider": "Visit Provider",
194
450
  "visits": "Visits",
451
+ "visitStartAndEndDate": "Visit start and end date",
452
+ "visitStartDate": "Visit start date",
453
+ "visitStartDateBeforeBirthdate": "Start date cannot be before the patient's birth date",
454
+ "visitStartDateMustBeBeforeEarliestEncounter": "Start time must be on or before {{firstEncounterDatetime}}",
455
+ "visitStartDateTimeRequired": "Start date and time are required",
456
+ "visitStarted": "Visit started",
457
+ "visitStartedSuccessfully": "{{visit}} started successfully",
195
458
  "visitType": "Visit Type",
459
+ "visitType_title": "Visit Type",
460
+ "visitTypeRequired": "Visit type is required",
196
461
  "vitalsAndAnthropometric": "Vitals & Anthropometric",
197
462
  "waiting": "Waiting",
198
- "waitTime": "Wait time"
463
+ "waitTime": "Wait time",
464
+ "walkIn": "Walk-in",
465
+ "whitelistAttachmentEmpty": "The selected file appears to be empty. Please re-select it.",
466
+ "whitelistAttachmentRequired": "This reason requires an attachment (e.g. medical report).",
467
+ "whitelistAutoApprovalBody": "Your request was submitted. We are checking with SHA — this usually takes a few seconds. Once approved, OTP will be sent automatically.",
468
+ "whitelistAutoApprovalProcessing": "Processing automatic approval…",
469
+ "whitelistAwaitingManualReview": "Awaiting manual review…",
470
+ "whitelistCheckFailed": "Status check failed. Please try again.",
471
+ "whitelistChecking": "Checking status…",
472
+ "whitelistError": "Whitelist submission error",
473
+ "whitelistFormIntro": "Submit a whitelist request so this patient can use OTP for the current visit. After approval, OTP will be sent automatically.",
474
+ "whitelistingRequired": "Whitelisting required",
475
+ "whitelistJustification": "Justification",
476
+ "whitelistJustificationHelper": "Explain why this patient cannot use biometric or OTP normally. Minimum {{min}} characters.",
477
+ "whitelistJustificationTooShort": "At least {{min}} characters required.",
478
+ "whitelistManualCheckBody": "Automatic checking has stopped. Tap \"Check status now\" to see if the request has been approved, or cancel and retry check-in later.",
479
+ "whitelistManualCheckTitle": "Check status manually",
480
+ "whitelistManualReviewBody": "Your request is queued for manual review by SHA. We will keep checking. If you would rather try again later, you can cancel below.",
481
+ "whitelistReasonRequired": "Please select a reason.",
482
+ "whitelistReasonTooShort": "Justification must be at least {{min}} characters.",
483
+ "whitelistReasonType": "Reason",
484
+ "whitelistReasonTypePlaceholder": "Select a reason",
485
+ "whitelistRejected": "The whitelist request was rejected by SHA. You may submit a new request or use biometrics.",
486
+ "whitelistRequestTitle": "Request OTP Whitelisting",
487
+ "whitelistStillPendingShort": "Request is still pending review. We will keep checking automatically.",
488
+ "whitelistSubmitFailed": "Whitelist submission failed.",
489
+ "whitelistWaitingTitle": "Waiting for whitelist approval",
490
+ "yearsOld": "years old",
491
+ "youWillProcessTheClaim": "You will process the insurance claim for this visit."
199
492
  }