@kenyaemr/esm-admin-app 5.4.4-pre.41 → 5.4.4-pre.410

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 (493) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/dist/100.js +1 -0
  3. package/dist/100.js.map +1 -0
  4. package/dist/1074.js +1 -0
  5. package/dist/{8240.js.map → 1074.js.map} +1 -1
  6. package/dist/{6192.js → 1242.js} +1 -1
  7. package/dist/1242.js.map +1 -0
  8. package/dist/1311.js +1 -0
  9. package/dist/1311.js.map +1 -0
  10. package/dist/1442.js +1 -0
  11. package/dist/1442.js.map +1 -0
  12. package/dist/1462.js +1 -0
  13. package/dist/1462.js.map +1 -0
  14. package/dist/1469.js +1 -0
  15. package/dist/{2534.js.map → 1469.js.map} +1 -1
  16. package/dist/1506.js +13 -0
  17. package/dist/1506.js.map +1 -0
  18. package/dist/1718.js +1 -0
  19. package/dist/1718.js.map +1 -0
  20. package/dist/1722.js +1 -0
  21. package/dist/1722.js.map +1 -0
  22. package/dist/1772.js +1 -0
  23. package/dist/1772.js.map +1 -0
  24. package/dist/1889.js +1 -0
  25. package/dist/1889.js.map +1 -0
  26. package/dist/1972.js +1 -0
  27. package/dist/{3509.js.map → 1972.js.map} +1 -1
  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/2080.js +1 -0
  33. package/dist/2080.js.map +1 -0
  34. package/dist/{5533.js → 2096.js} +1 -1
  35. package/dist/2096.js.map +1 -0
  36. package/dist/2153.js +1 -0
  37. package/dist/2153.js.map +1 -0
  38. package/dist/216.js +1 -0
  39. package/dist/216.js.map +1 -0
  40. package/dist/2270.js +1 -0
  41. package/dist/2270.js.map +1 -0
  42. package/dist/2294.js +1 -0
  43. package/dist/2294.js.map +1 -0
  44. package/dist/2345.js +1 -0
  45. package/dist/2345.js.map +1 -0
  46. package/dist/2467.js +1 -0
  47. package/dist/2467.js.map +1 -0
  48. package/dist/2500.js +1 -0
  49. package/dist/2500.js.map +1 -0
  50. package/dist/251.js +1 -0
  51. package/dist/251.js.map +1 -0
  52. package/dist/257.js +1 -0
  53. package/dist/257.js.map +1 -0
  54. package/dist/2586.js +1 -0
  55. package/dist/2586.js.map +1 -0
  56. package/dist/2625.js +1 -0
  57. package/dist/{5096.js.map → 2625.js.map} +1 -1
  58. package/dist/2652.js +1 -0
  59. package/dist/2652.js.map +1 -0
  60. package/dist/2685.js +1 -0
  61. package/dist/2685.js.map +1 -0
  62. package/dist/2948.js +1 -0
  63. package/dist/2948.js.map +1 -0
  64. package/dist/3089.js +1 -0
  65. package/dist/3089.js.map +1 -0
  66. package/dist/3190.js +1 -0
  67. package/dist/3190.js.map +1 -0
  68. package/dist/3224.js +1 -0
  69. package/dist/3224.js.map +1 -0
  70. package/dist/3380.js +1 -0
  71. package/dist/3380.js.map +1 -0
  72. package/dist/3548.js +1 -0
  73. package/dist/3548.js.map +1 -0
  74. package/dist/3571.js +1 -0
  75. package/dist/3571.js.map +1 -0
  76. package/dist/3691.js +1 -0
  77. package/dist/3691.js.map +1 -0
  78. package/dist/3775.js +1 -0
  79. package/dist/{9947.js.map → 3775.js.map} +1 -1
  80. package/dist/3816.js +1 -0
  81. package/dist/3816.js.map +1 -0
  82. package/dist/3906.js +1 -0
  83. package/dist/3906.js.map +1 -0
  84. package/dist/3963.js +1 -0
  85. package/dist/3963.js.map +1 -0
  86. package/dist/405.js +1 -0
  87. package/dist/405.js.map +1 -0
  88. package/dist/4296.js +1 -0
  89. package/dist/4296.js.map +1 -0
  90. package/dist/4337.js +1 -0
  91. package/dist/4337.js.map +1 -0
  92. package/dist/4584.js +1 -0
  93. package/dist/4584.js.map +1 -0
  94. package/dist/4687.js +1 -0
  95. package/dist/4687.js.map +1 -0
  96. package/dist/4735.js +1 -0
  97. package/dist/4735.js.map +1 -0
  98. package/dist/4744.js +1 -0
  99. package/dist/4744.js.map +1 -0
  100. package/dist/4813.js +2 -0
  101. package/dist/4813.js.map +1 -0
  102. package/dist/{5809.js → 4858.js} +1 -1
  103. package/dist/4858.js.map +1 -0
  104. package/dist/487.js +1 -0
  105. package/dist/487.js.map +1 -0
  106. package/dist/4970.js +1 -0
  107. package/dist/4970.js.map +1 -0
  108. package/dist/5202.js +1 -0
  109. package/dist/{4178.js.map → 5202.js.map} +1 -1
  110. package/dist/5294.js +1 -0
  111. package/dist/5294.js.map +1 -0
  112. package/dist/5297.js +1 -0
  113. package/dist/5297.js.map +1 -0
  114. package/dist/545.js +1 -0
  115. package/dist/545.js.map +1 -0
  116. package/dist/5592.js +1 -0
  117. package/dist/5592.js.map +1 -0
  118. package/dist/5669.js +1 -0
  119. package/dist/5669.js.map +1 -0
  120. package/dist/5884.js +1 -0
  121. package/dist/5884.js.map +1 -0
  122. package/dist/5910.js +1 -0
  123. package/dist/5910.js.map +1 -0
  124. package/dist/{2738.js → 5940.js} +1 -1
  125. package/dist/5940.js.map +1 -0
  126. package/dist/{2797.js → 6155.js} +1 -1
  127. package/dist/{2797.js.map → 6155.js.map} +1 -1
  128. package/dist/6178.js +1 -0
  129. package/dist/6178.js.map +1 -0
  130. package/dist/6253.js +1 -0
  131. package/dist/6253.js.map +1 -0
  132. package/dist/6455.js +1 -0
  133. package/dist/6455.js.map +1 -0
  134. package/dist/6456.js +1 -0
  135. package/dist/6466.js +3 -0
  136. package/dist/6466.js.map +1 -0
  137. package/dist/6492.js +1 -0
  138. package/dist/6492.js.map +1 -0
  139. package/dist/6800.js +1 -0
  140. package/dist/6800.js.map +1 -0
  141. package/dist/6925.js +1 -0
  142. package/dist/6925.js.map +1 -0
  143. package/dist/7005.js +1 -0
  144. package/dist/7005.js.map +1 -0
  145. package/dist/{2867.js → 7201.js} +1 -1
  146. package/dist/7201.js.map +1 -0
  147. package/dist/{4224.js → 7210.js} +1 -1
  148. package/dist/7210.js.map +1 -0
  149. package/dist/7234.js +1 -0
  150. package/dist/7234.js.map +1 -0
  151. package/dist/7261.js +1 -0
  152. package/dist/{2045.js.map → 7261.js.map} +1 -1
  153. package/dist/7326.js +1 -0
  154. package/dist/7463.js +1 -0
  155. package/dist/7463.js.map +1 -0
  156. package/dist/7528.js +1 -0
  157. package/dist/7528.js.map +1 -0
  158. package/dist/7607.js +1 -0
  159. package/dist/7717.js +1 -0
  160. package/dist/7717.js.map +1 -0
  161. package/dist/7737.js +1 -0
  162. package/dist/7737.js.map +1 -0
  163. package/dist/7739.js +1 -0
  164. package/dist/{4308.js.map → 7739.js.map} +1 -1
  165. package/dist/7765.js +1 -0
  166. package/dist/7765.js.map +1 -0
  167. package/dist/7820.js +1 -0
  168. package/dist/7820.js.map +1 -0
  169. package/dist/7844.js +1 -0
  170. package/dist/7844.js.map +1 -0
  171. package/dist/7866.js +1 -0
  172. package/dist/7866.js.map +1 -0
  173. package/dist/7971.js +1 -0
  174. package/dist/7971.js.map +1 -0
  175. package/dist/8159.js +7 -0
  176. package/dist/8159.js.map +1 -0
  177. package/dist/8206.js +1 -0
  178. package/dist/8206.js.map +1 -0
  179. package/dist/8244.js +1 -0
  180. package/dist/8244.js.map +1 -0
  181. package/dist/8262.js +1 -0
  182. package/dist/8262.js.map +1 -0
  183. package/dist/8376.js +1 -0
  184. package/dist/8376.js.map +1 -0
  185. package/dist/845.js +1 -0
  186. package/dist/845.js.map +1 -0
  187. package/dist/846.js +17 -0
  188. package/dist/846.js.map +1 -0
  189. package/dist/8487.js +1 -0
  190. package/dist/8487.js.map +1 -0
  191. package/dist/8528.js +1 -0
  192. package/dist/8528.js.map +1 -0
  193. package/dist/8570.js +1 -0
  194. package/dist/8570.js.map +1 -0
  195. package/dist/87.js +1 -0
  196. package/dist/87.js.map +1 -0
  197. package/dist/8727.js +1 -0
  198. package/dist/8828.js +1 -0
  199. package/dist/8828.js.map +1 -0
  200. package/dist/8860.js +1 -0
  201. package/dist/8860.js.map +1 -0
  202. package/dist/9036.js +1 -0
  203. package/dist/9036.js.map +1 -0
  204. package/dist/9124.js +1 -0
  205. package/dist/9124.js.map +1 -0
  206. package/dist/9182.js +1 -0
  207. package/dist/921.js +1 -0
  208. package/dist/921.js.map +1 -0
  209. package/dist/9404.js +1 -0
  210. package/dist/9404.js.map +1 -0
  211. package/dist/9446.js +1 -0
  212. package/dist/{8502.js.map → 9446.js.map} +1 -1
  213. package/dist/9449.js +1 -0
  214. package/dist/9449.js.map +1 -0
  215. package/dist/9566.js +5 -0
  216. package/dist/9566.js.map +1 -0
  217. package/dist/9585.js +1 -0
  218. package/dist/9585.js.map +1 -0
  219. package/dist/{3491.js → 9641.js} +1 -1
  220. package/dist/{3491.js.map → 9641.js.map} +1 -1
  221. package/dist/9647.js +1 -0
  222. package/dist/9647.js.map +1 -0
  223. package/dist/9801.js +1 -0
  224. package/dist/9801.js.map +1 -0
  225. package/dist/9835.js +11 -0
  226. package/dist/9835.js.map +1 -0
  227. package/dist/kenyaemr-esm-admin-app.js +5 -5
  228. package/dist/kenyaemr-esm-admin-app.js.buildmanifest.json +804 -754
  229. package/dist/kenyaemr-esm-admin-app.js.map +1 -1
  230. package/dist/main.js +5 -5
  231. package/dist/main.js.map +1 -1
  232. package/dist/routes.json +1 -1
  233. package/package.json +4 -6
  234. package/src/components/confirm-modal/confirmation-operation.test.tsx +8 -19
  235. package/src/components/dashboard/dashboard.component.tsx +4 -1
  236. package/src/components/empty-state/empty-state-log.test.tsx +3 -4
  237. package/src/components/facility-setup/constant/index.ts +3 -0
  238. package/src/components/facility-setup/facility-info.component.tsx +247 -108
  239. package/src/components/facility-setup/facility-info.scss +136 -55
  240. package/src/components/facility-setup/facility-setup.component.tsx +2 -2
  241. package/src/components/facility-setup/header/header.component.tsx +4 -10
  242. package/src/components/facility-setup/header/header.scss +3 -9
  243. package/src/components/facility-setup/shared/custom-info.component.tsx +9 -0
  244. package/src/components/facility-setup/shared/custom-section-card.component.tsx +10 -0
  245. package/src/components/facility-setup/shared/custom-status-tag.component.tsx +22 -0
  246. package/src/components/facility-setup/type/index.ts +61 -0
  247. package/src/components/facility-setup/useFacilityRegistry.ts +29 -0
  248. package/src/components/global-property/dashboard/global-property-dashboard.component.tsx +23 -0
  249. package/src/components/global-property/dashboard/global-property-dashboard.scss +6 -0
  250. package/src/components/global-property/hooks/useGlobalProperty.ts +64 -0
  251. package/src/components/global-property/index.ts +14 -0
  252. package/src/components/global-property/modal/delete-global-property-modal.component.tsx +71 -0
  253. package/src/components/global-property/modal/delete-global-property-modal.test.tsx +131 -0
  254. package/src/components/global-property/table/global-property-table.component.tsx +249 -0
  255. package/src/components/global-property/table/global-property-table.scss +34 -0
  256. package/src/components/global-property/table/global-property-table.test.tsx +198 -0
  257. package/src/components/global-property/workspace/global-property-form-schema.ts +32 -0
  258. package/src/components/global-property/workspace/global-property.workspace.scss +40 -0
  259. package/src/components/global-property/workspace/global-property.workspace.test.tsx +172 -0
  260. package/src/components/global-property/workspace/global-property.workspace.tsx +260 -0
  261. package/src/components/hook/healthWorkerRegistry.ts +78 -0
  262. package/src/components/hook/useProfessionalRegistryEnums.ts +59 -0
  263. package/src/components/locations/forms/add-location/add-location.workspace.tsx +96 -95
  264. package/src/components/locations/forms/search-location/search-location.workspace.tsx +90 -85
  265. package/src/components/locations/tables/locations-table.component.tsx +117 -121
  266. package/src/components/logs-table/operation-log-table.component.tsx +87 -75
  267. package/src/components/logs-table/operation-log.test.tsx +134 -28
  268. package/src/components/modal/hwr-confirmation.modal.scss +80 -4
  269. package/src/components/modal/hwr-confirmation.modal.tsx +118 -128
  270. package/src/components/modal/hwr-sync.modal.tsx +194 -106
  271. package/src/components/users/manage-users/manage-user-role-scope/user-role-scope-workspace/user-role-scope.workspace.tsx +13 -13
  272. package/src/components/users/manage-users/user-details/user-detail.scss +167 -39
  273. package/src/components/users/manage-users/user-details/user-details.component.tsx +130 -122
  274. package/src/components/users/manage-users/user-list/user-list.component.tsx +22 -9
  275. package/src/components/users/manage-users/user-management.workspace.scss +233 -95
  276. package/src/components/users/manage-users/user-management.workspace.tsx +800 -687
  277. package/src/components/users/userManagementFormSchema.tsx +17 -8
  278. package/src/config-schema.ts +48 -68
  279. package/src/index.ts +17 -7
  280. package/src/left-pannel-link.component.tsx +5 -3
  281. package/src/root.component.tsx +13 -13
  282. package/src/routes.json +57 -38
  283. package/src/types/index.ts +40 -3
  284. package/translations/am.json +196 -13
  285. package/translations/en.json +207 -24
  286. package/translations/fr.json +243 -58
  287. package/translations/sw.json +312 -129
  288. package/tsconfig.json +1 -1
  289. package/dist/1072.js +0 -1
  290. package/dist/1072.js.map +0 -1
  291. package/dist/1091.js +0 -1
  292. package/dist/1091.js.map +0 -1
  293. package/dist/1172.js +0 -1
  294. package/dist/1172.js.map +0 -1
  295. package/dist/132.js +0 -1
  296. package/dist/132.js.map +0 -1
  297. package/dist/1332.js +0 -1
  298. package/dist/1332.js.map +0 -1
  299. package/dist/1577.js +0 -1
  300. package/dist/1577.js.map +0 -1
  301. package/dist/1660.js +0 -1
  302. package/dist/1660.js.map +0 -1
  303. package/dist/1729.js +0 -17
  304. package/dist/1729.js.map +0 -1
  305. package/dist/1761.js +0 -1
  306. package/dist/1761.js.map +0 -1
  307. package/dist/1809.js +0 -7
  308. package/dist/1809.js.map +0 -1
  309. package/dist/1866.js +0 -1
  310. package/dist/1866.js.map +0 -1
  311. package/dist/1962.js +0 -1
  312. package/dist/1962.js.map +0 -1
  313. package/dist/2007.js +0 -1
  314. package/dist/2007.js.map +0 -1
  315. package/dist/2045.js +0 -1
  316. package/dist/2163.js +0 -1
  317. package/dist/2163.js.map +0 -1
  318. package/dist/2267.js +0 -1
  319. package/dist/2267.js.map +0 -1
  320. package/dist/2357.js +0 -1
  321. package/dist/2357.js.map +0 -1
  322. package/dist/2419.js +0 -1
  323. package/dist/2419.js.map +0 -1
  324. package/dist/2534.js +0 -1
  325. package/dist/2561.js +0 -1
  326. package/dist/2561.js.map +0 -1
  327. package/dist/2564.js +0 -1
  328. package/dist/2564.js.map +0 -1
  329. package/dist/2738.js.map +0 -1
  330. package/dist/2810.js +0 -2
  331. package/dist/2810.js.map +0 -1
  332. package/dist/2867.js.map +0 -1
  333. package/dist/3040.js +0 -1
  334. package/dist/3134.js +0 -1
  335. package/dist/3134.js.map +0 -1
  336. package/dist/3189.js +0 -1
  337. package/dist/3189.js.map +0 -1
  338. package/dist/3228.js +0 -1
  339. package/dist/3228.js.map +0 -1
  340. package/dist/3248.js +0 -1
  341. package/dist/3248.js.map +0 -1
  342. package/dist/3381.js +0 -1
  343. package/dist/3381.js.map +0 -1
  344. package/dist/3472.js +0 -1
  345. package/dist/3472.js.map +0 -1
  346. package/dist/3509.js +0 -1
  347. package/dist/3576.js +0 -1
  348. package/dist/3576.js.map +0 -1
  349. package/dist/3968.js +0 -1
  350. package/dist/3968.js.map +0 -1
  351. package/dist/4146.js +0 -1
  352. package/dist/4146.js.map +0 -1
  353. package/dist/4178.js +0 -1
  354. package/dist/4220.js +0 -1
  355. package/dist/4220.js.map +0 -1
  356. package/dist/4224.js.map +0 -1
  357. package/dist/4308.js +0 -1
  358. package/dist/4402.js +0 -1
  359. package/dist/4402.js.map +0 -1
  360. package/dist/4637.js +0 -1
  361. package/dist/4637.js.map +0 -1
  362. package/dist/466.js +0 -1
  363. package/dist/466.js.map +0 -1
  364. package/dist/4724.js +0 -1
  365. package/dist/4724.js.map +0 -1
  366. package/dist/4972.js +0 -1
  367. package/dist/4972.js.map +0 -1
  368. package/dist/5086.js +0 -1
  369. package/dist/5086.js.map +0 -1
  370. package/dist/509.js +0 -1
  371. package/dist/509.js.map +0 -1
  372. package/dist/5096.js +0 -1
  373. package/dist/5119.js +0 -1
  374. package/dist/5119.js.map +0 -1
  375. package/dist/5136.js +0 -1
  376. package/dist/5136.js.map +0 -1
  377. package/dist/5159.js +0 -13
  378. package/dist/5159.js.map +0 -1
  379. package/dist/5361.js +0 -1
  380. package/dist/5361.js.map +0 -1
  381. package/dist/5533.js.map +0 -1
  382. package/dist/5676.js +0 -1
  383. package/dist/5676.js.map +0 -1
  384. package/dist/5809.js.map +0 -1
  385. package/dist/5870.js +0 -1
  386. package/dist/5870.js.map +0 -1
  387. package/dist/5882.js +0 -1
  388. package/dist/5939.js +0 -5
  389. package/dist/5939.js.map +0 -1
  390. package/dist/6004.js +0 -1
  391. package/dist/6004.js.map +0 -1
  392. package/dist/6104.js +0 -1
  393. package/dist/6104.js.map +0 -1
  394. package/dist/6121.js +0 -3
  395. package/dist/6121.js.map +0 -1
  396. package/dist/6137.js +0 -1
  397. package/dist/6137.js.map +0 -1
  398. package/dist/6192.js.map +0 -1
  399. package/dist/6232.js +0 -1
  400. package/dist/6232.js.map +0 -1
  401. package/dist/6356.js +0 -1
  402. package/dist/6356.js.map +0 -1
  403. package/dist/6363.js +0 -1
  404. package/dist/6363.js.map +0 -1
  405. package/dist/6427.js +0 -1
  406. package/dist/6427.js.map +0 -1
  407. package/dist/6548.js +0 -1
  408. package/dist/6548.js.map +0 -1
  409. package/dist/6571.js +0 -1
  410. package/dist/6571.js.map +0 -1
  411. package/dist/6615.js +0 -1
  412. package/dist/6615.js.map +0 -1
  413. package/dist/6721.js +0 -1
  414. package/dist/6721.js.map +0 -1
  415. package/dist/682.js +0 -1
  416. package/dist/682.js.map +0 -1
  417. package/dist/6868.js +0 -1
  418. package/dist/6868.js.map +0 -1
  419. package/dist/689.js +0 -1
  420. package/dist/689.js.map +0 -1
  421. package/dist/6892.js +0 -1
  422. package/dist/6892.js.map +0 -1
  423. package/dist/7085.js +0 -1
  424. package/dist/7085.js.map +0 -1
  425. package/dist/7127.js +0 -1
  426. package/dist/7329.js +0 -1
  427. package/dist/7329.js.map +0 -1
  428. package/dist/7419.js +0 -1
  429. package/dist/7419.js.map +0 -1
  430. package/dist/7478.js +0 -1
  431. package/dist/7478.js.map +0 -1
  432. package/dist/754.js +0 -1
  433. package/dist/754.js.map +0 -1
  434. package/dist/7544.js +0 -1
  435. package/dist/7544.js.map +0 -1
  436. package/dist/7560.js +0 -1
  437. package/dist/7560.js.map +0 -1
  438. package/dist/781.js +0 -1
  439. package/dist/781.js.map +0 -1
  440. package/dist/7988.js +0 -1
  441. package/dist/7988.js.map +0 -1
  442. package/dist/8179.js +0 -6
  443. package/dist/8179.js.map +0 -1
  444. package/dist/8189.js +0 -1
  445. package/dist/8189.js.map +0 -1
  446. package/dist/8196.js +0 -1
  447. package/dist/8196.js.map +0 -1
  448. package/dist/8240.js +0 -1
  449. package/dist/8249.js +0 -1
  450. package/dist/8249.js.map +0 -1
  451. package/dist/8502.js +0 -1
  452. package/dist/8522.js +0 -1
  453. package/dist/8522.js.map +0 -1
  454. package/dist/8622.js +0 -1
  455. package/dist/8622.js.map +0 -1
  456. package/dist/8775.js +0 -11
  457. package/dist/8775.js.map +0 -1
  458. package/dist/8820.js +0 -1
  459. package/dist/8820.js.map +0 -1
  460. package/dist/887.js +0 -1
  461. package/dist/887.js.map +0 -1
  462. package/dist/8927.js +0 -1
  463. package/dist/8927.js.map +0 -1
  464. package/dist/8977.js +0 -1
  465. package/dist/8977.js.map +0 -1
  466. package/dist/9011.js +0 -1
  467. package/dist/9011.js.map +0 -1
  468. package/dist/9061.js +0 -1
  469. package/dist/9061.js.map +0 -1
  470. package/dist/916.js +0 -1
  471. package/dist/9303.js +0 -1
  472. package/dist/9303.js.map +0 -1
  473. package/dist/9425.js +0 -1
  474. package/dist/9466.js +0 -1
  475. package/dist/9466.js.map +0 -1
  476. package/dist/9520.js +0 -1
  477. package/dist/9520.js.map +0 -1
  478. package/dist/9675.js +0 -1
  479. package/dist/9675.js.map +0 -1
  480. package/dist/9787.js +0 -1
  481. package/dist/9787.js.map +0 -1
  482. package/dist/981.js +0 -1
  483. package/dist/981.js.map +0 -1
  484. package/dist/984.js +0 -1
  485. package/dist/984.js.map +0 -1
  486. package/dist/9931.js +0 -1
  487. package/dist/9931.js.map +0 -1
  488. package/dist/9947.js +0 -1
  489. package/jest.config.js +0 -8
  490. package/src/components/facility-setup/card.component.tsx +0 -16
  491. package/src/components/facility-setup/facility-setup.resource.tsx +0 -7
  492. package/src/components/hook/healthWorkerAdapter.ts +0 -213
  493. package/src/components/hook/useFacilityInfo.tsx +0 -37
@@ -1,5 +1,5 @@
1
1
  import { useTranslation } from 'react-i18next';
2
- import { optional, z } from 'zod';
2
+ import { z } from 'zod';
3
3
 
4
4
  const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boolean) => {
5
5
  const { t } = useTranslation();
@@ -13,9 +13,10 @@ const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boo
13
13
  message: t('genderRequired', 'Gender is required'),
14
14
  }),
15
15
  }),
16
+
16
17
  phoneNumber: z.string().optional(),
17
18
  email: z.string().optional(),
18
- providerIdentifiers: z.boolean().optional(),
19
+
19
20
  username: z
20
21
  .string()
21
22
  .nonempty(t('usernameRequired', 'Username is required'))
@@ -25,25 +26,33 @@ const UserManagementFormSchema = (existingUsernames: Array<string>, isEdit?: boo
25
26
  password: z.string().optional(),
26
27
  confirmPassword: z.string().optional(),
27
28
  forcePasswordChange: z.boolean().optional(),
29
+
28
30
  roles: z
29
31
  .array(
30
32
  z.object({
31
- uuid: z.string().min(1, 'UUI is required'),
33
+ uuid: z.string().min(1, 'UUID is required'),
32
34
  display: z.string().min(1, 'Role name is required'),
33
35
  description: z.string().nullable().optional(),
34
36
  }),
35
37
  )
36
38
  .optional(),
37
39
  primaryRole: z.string().optional(),
40
+
41
+ providerIdentifiers: z.boolean().optional(),
42
+ isEditProvider: z.boolean().optional(),
38
43
  systemId: z.string().optional(),
39
- providerLicense: z.string().optional(),
40
- licenseExpiryDate: z.date().optional(),
41
- registrationNumber: z.string().optional(),
42
- qualification: z.string().optional(),
44
+
43
45
  nationalId: z.string().optional(),
44
46
  passportNumber: z.string().optional(),
45
- isEditProvider: z.boolean().optional(),
47
+
46
48
  providerUniqueIdentifier: z.string().optional(),
49
+ providerLicense: z.string().optional(),
50
+ licenseExpiryDate: z.date().optional(),
51
+ licenseBody: z.string().optional(),
52
+ qualification: z.string().optional(),
53
+ specialty: z.string().optional(),
54
+ providerCadre: z.string().optional(),
55
+ practiceType: z.string().optional(),
47
56
  });
48
57
 
49
58
  return { userManagementFormSchema };
@@ -4,7 +4,7 @@ import dayjs from 'dayjs';
4
4
  export const configSchema = {
5
5
  providerNationalIdUuid: {
6
6
  _type: Type.String,
7
- _description: 'UUID for provider national id',
7
+ _description: 'UUID for provider national ID',
8
8
  _default: '3d152c97-2293-4a2b-802e-e0f1009b7b15',
9
9
  },
10
10
  passportNumberUuid: {
@@ -12,21 +12,17 @@ export const configSchema = {
12
12
  _description: 'UUID for passport number identification for provider',
13
13
  _default: '5b4b88e8-9db3-41e6-a175-5e39f2c8a9a5',
14
14
  },
15
- providerHieFhirReference: {
16
- _type: Type.String,
17
- _description: 'UUID for provider hie fhir reference',
18
- _default: '67b94e8e-4d61-4810-b0f1-d86497f6e553',
19
- },
20
- qualificationUuid: {
15
+ providerUniqueIdentifierAttributeTypeUuid: {
21
16
  _type: Type.String,
22
- _description: 'UUID for provider hie qualification',
23
- _default: '43f99413-6e7f-4812-bc60-066bb1d43f94',
17
+ _description: 'UUID for cross-regulator provider unique identifier (PUID)',
18
+ _default: 'dace9d99-9f29-4653-9eae-c05929f34a32',
24
19
  },
25
- licenseBodyUuid: {
20
+ externalProviderIdentifierUuid: {
26
21
  _type: Type.String,
27
- _description: 'UUID for license body',
28
- _default: 'ba18bb97-d17c-4640-80d2-58e7df90ca4c',
22
+ _description: 'UUID for external provider identifier (regulator-public reference)',
23
+ _default: 'bbdf67e8-c020-40ff-8ad6-74ba34893882',
29
24
  },
25
+
30
26
  licenseNumberUuid: {
31
27
  _type: Type.String,
32
28
  _description: 'UUID for license number',
@@ -37,6 +33,31 @@ export const configSchema = {
37
33
  _description: 'UUID for license expiry date',
38
34
  _default: '00539959-a1c7-4848-a5ed-8941e9d5e835',
39
35
  },
36
+ licenseBodyUuid: {
37
+ _type: Type.String,
38
+ _description: 'UUID for licensing body (e.g. KMPDC, NCK, PPB, COC)',
39
+ _default: 'ba18bb97-d17c-4640-80d2-58e7df90ca4c',
40
+ },
41
+ qualificationUuid: {
42
+ _type: Type.String,
43
+ _description: 'UUID for provider educational qualification',
44
+ _default: '43f99413-6e7f-4812-bc60-066bb1d43f94',
45
+ },
46
+ specialtyUuid: {
47
+ _type: Type.String,
48
+ _description: 'UUID for provider clinical specialty',
49
+ _default: '7f5d8e2c-3a1b-4d6e-9c0f-2b4a1d5e8c91',
50
+ },
51
+ providerCadreUuid: {
52
+ _type: Type.String,
53
+ _description: 'UUID for provider professional cadre',
54
+ _default: '8a6e9f3d-4b2c-5e7f-ad10-3c5b2e6f9da2',
55
+ },
56
+ practiceTypeUuid: {
57
+ _type: Type.String,
58
+ _description: 'UUID for provider practice type (clinical, non-clinical, etc.)',
59
+ _default: '9b7faa4e-5c3d-6f80-be21-4d6c3f70aeb3',
60
+ },
40
61
  phoneNumberUuid: {
41
62
  _type: Type.String,
42
63
  _description: 'UUID for provider phone number',
@@ -44,9 +65,14 @@ export const configSchema = {
44
65
  },
45
66
  providerAddressUuid: {
46
67
  _type: Type.String,
47
- _description: 'UUID for provider address',
68
+ _description: 'UUID for provider postal address',
48
69
  _default: '033ff604-ecf7-464f-b623-5b77c733667f',
49
70
  },
71
+ providerHieFhirReference: {
72
+ _type: Type.String,
73
+ _description: 'UUID for provider HIE FHIR reference',
74
+ _default: '67b94e8e-4d61-4810-b0f1-d86497f6e553',
75
+ },
50
76
  personEmailAttributeUuid: {
51
77
  _type: Type.String,
52
78
  _description: 'UUID for person email attribute',
@@ -57,48 +83,6 @@ export const configSchema = {
57
83
  _description: 'UUID for person phone number attribute',
58
84
  _default: 'b2c38640-2603-4629-aebd-3b54f33f1e3a',
59
85
  },
60
- providerUniqueIdentifierAttributeTypeUuid: {
61
- _type: Type.String,
62
- _description: 'UUID for provider unique identifier attribute type',
63
- _default: 'dace9d99-9f29-4653-9eae-c05929f34a32',
64
- },
65
- identifierTypes: {
66
- _type: Type.Array,
67
- _elements: {
68
- _type: Type.Object,
69
- properties: {
70
- key: { _type: Type.String },
71
- name: { _type: Type.String },
72
- },
73
- },
74
- _default: [
75
- { key: 'National ID', name: 'National ID' },
76
- { key: 'registration_number', name: 'Registration Number' },
77
- { key: 'Passport', name: 'Passport Number' },
78
- ],
79
- _description: 'List of identifier types with unique keys for each.',
80
- },
81
- regulatorOptions: {
82
- _type: Type.Array,
83
- _elements: {
84
- _type: Type.Object,
85
- properties: {
86
- key: { _type: Type.String },
87
- name: { _type: Type.String },
88
- },
89
- },
90
- _default: [
91
- { key: 'Clinical Officers Council', name: 'Clinical Officers Council' },
92
- { key: 'Pharmacy and Poisons Board', name: 'Pharmacy and Poisons Board' },
93
- { key: 'Nursing Council', name: 'Nursing Council' },
94
- { key: 'KMPDC', name: 'Kenya Medical Practitioners and Dentists Council (KMPDC)' },
95
- {
96
- key: 'Kenya Medical Laboratory Technicians & Technologists Board',
97
- name: 'Kenya Medical Laboratory Technicians & Technologists Board',
98
- },
99
- ],
100
- _description: 'List of regulator options with unique keys for each.',
101
- },
102
86
  };
103
87
 
104
88
  export interface UserProperties {
@@ -109,22 +93,18 @@ export interface UserProperties {
109
93
  export interface ConfigObject {
110
94
  providerNationalIdUuid: string;
111
95
  passportNumberUuid: string;
112
- providerHieFhirReference: string;
113
96
  providerUniqueIdentifierAttributeTypeUuid: string;
97
+ externalProviderIdentifierUuid: string;
98
+ licenseNumberUuid: string;
99
+ licenseExpiryDateUuid: string;
100
+ licenseBodyUuid: string;
101
+ qualificationUuid: string;
102
+ specialtyUuid: string;
103
+ providerCadreUuid: string;
104
+ practiceTypeUuid: string;
114
105
  phoneNumberUuid: string;
115
106
  providerAddressUuid: string;
116
- qualificationUuid: string;
117
- licenseBodyUuid: string;
118
- licenseNumberUuid: string;
107
+ providerHieFhirReference: string;
119
108
  personEmailAttributeUuid: string;
120
109
  personPhonenumberAttributeUuid: string;
121
- licenseExpiryDateUuid: string;
122
- identifierTypes: Array<{
123
- key: string;
124
- name: string;
125
- }>;
126
- regulatorOptions: Array<{
127
- key: string;
128
- name: string;
129
- }>;
130
110
  }
package/src/index.ts CHANGED
@@ -9,7 +9,7 @@ const options = {
9
9
  };
10
10
 
11
11
  export const importTranslation = require.context('../translations', false, /.json$/, 'lazy');
12
-
12
+ export * from './components/global-property/index';
13
13
  export const root = getAsyncLifecycle(() => import('./root.component'), options);
14
14
 
15
15
  export function startupApp() {
@@ -28,33 +28,35 @@ export const userRoleScopeWorkspace = getAsyncLifecycle(
28
28
  ),
29
29
  options,
30
30
  );
31
-
31
+ // t("manageUsers", "Manage Users")
32
32
  export const userManagementLeftPannelLink = getAsyncLifecycle(
33
33
  () =>
34
34
  import('./left-pannel-link.component').then((m) => ({
35
- default: m.createLeftPanelLink({ title: 'Manage Users', name: 'user-management' }),
35
+ default: m.createLeftPanelLink({ title: 'manageUsers', name: 'user-management' }),
36
36
  })),
37
37
  options,
38
38
  );
39
-
39
+ // t("etlAdministration", "ETL Administration")
40
40
  export const etlAdministrationLeftPannelLink = getAsyncLifecycle(
41
41
  () =>
42
42
  import('./left-pannel-link.component').then((m) => ({
43
- default: m.createLeftPanelLink({ title: 'ETL Administration', name: 'etl-administration' }),
43
+ default: m.createLeftPanelLink({ title: 'etlAdministration', name: 'etl-administration' }),
44
44
  })),
45
45
  options,
46
46
  );
47
+ // t("locations", "Locations")
47
48
  export const locationsLeftPanelLink = getAsyncLifecycle(
48
49
  () =>
49
50
  import('./left-pannel-link.component').then((m) => ({
50
- default: m.createLeftPanelLink({ title: 'Locations', name: 'locations' }),
51
+ default: m.createLeftPanelLink({ title: 'locations', name: 'locations' }),
51
52
  })),
52
53
  options,
53
54
  );
55
+ // t("facilityDetails", "Facility Details")
54
56
  export const facilitySetupLeftPanelLink = getAsyncLifecycle(
55
57
  () =>
56
58
  import('./left-pannel-link.component').then((m) => ({
57
- default: m.createLeftPanelLink({ title: 'Facility Details', name: 'facility-setup' }),
59
+ default: m.createLeftPanelLink({ title: 'facilityDetails', name: 'facility-setup' }),
58
60
  })),
59
61
  options,
60
62
  );
@@ -74,6 +76,14 @@ export const searchLocationWorkspace = getAsyncLifecycle(
74
76
  () => import('./components/locations/forms/search-location/search-location.workspace'),
75
77
  options,
76
78
  );
79
+ export const globalPropertyWorkspace = getAsyncLifecycle(
80
+ () => import('./components/global-property/workspace/global-property.workspace'),
81
+ options,
82
+ );
83
+ export const deleteGlobalPropertyModal = getAsyncLifecycle(
84
+ () => import('./components/global-property/modal/delete-global-property-modal.component'),
85
+ options,
86
+ );
77
87
 
78
88
  // t('providerBanner', 'Provider banner')
79
89
  export const providerBanner = getAsyncLifecycle(
@@ -1,7 +1,8 @@
1
- import React, { useMemo } from 'react';
1
+ import { ConfigurableLink } from '@openmrs/esm-framework';
2
2
  import last from 'lodash-es/last';
3
+ import React, { useMemo } from 'react';
4
+ import { useTranslation } from 'react-i18next';
3
5
  import { BrowserRouter, useLocation } from 'react-router-dom';
4
- import { ConfigurableLink } from '@openmrs/esm-framework';
5
6
 
6
7
  export interface LinkConfig {
7
8
  name: string;
@@ -9,6 +10,7 @@ export interface LinkConfig {
9
10
  }
10
11
 
11
12
  function LinkExtension({ config }: { config: LinkConfig }) {
13
+ const { t } = useTranslation();
12
14
  const { name, title } = config;
13
15
  const location = useLocation();
14
16
 
@@ -27,7 +29,7 @@ function LinkExtension({ config }: { config: LinkConfig }) {
27
29
  <ConfigurableLink
28
30
  to={`${window.getOpenmrsSpaBase()}admin${name && name !== 'admin' ? `/${name}` : ''}`}
29
31
  className={`cds--side-nav__link ${name === urlSegment && 'active-left-nav-link'}`}>
30
- {title}
32
+ {t(title)}
31
33
  </ConfigurableLink>
32
34
  );
33
35
  }
@@ -1,24 +1,23 @@
1
- import React, { useEffect } from 'react';
1
+ import React from 'react';
2
+ import { useLeftNav } from '@openmrs/esm-framework';
2
3
  import { BrowserRouter, Route, Routes } from 'react-router-dom';
3
- import { setLeftNav, unsetLeftNav, WorkspaceContainer } from '@openmrs/esm-framework';
4
- import styles from './root.scss';
4
+
5
5
  import LeftPanel from './components/side-menu/left-pannel.component';
6
6
  import UserManagentLandingPage from './components/users/manage-users/manage-user.component';
7
7
  import EtlAdminDashboard from './components/dashboard/etl-dashboard.component';
8
8
  import FacilitySetup from './components/facility-setup/facility-setup.component';
9
9
  import HomeComponent from './components/locations/home/home-locations.component';
10
10
 
11
- const Root: React.FC = () => {
12
- const spaBasePath = window.spaBase;
13
- const adminBasename = window.getOpenmrsSpaBase() + 'admin';
11
+ import styles from './root.scss';
12
+ import GlobalPropertyDashboard from './components/global-property/dashboard/global-property-dashboard.component';
14
13
 
15
- useEffect(() => {
16
- setLeftNav({
17
- name: 'admin-left-panel-slot',
18
- basePath: spaBasePath,
19
- });
20
- return () => unsetLeftNav('admin-left-panel-slot');
21
- }, [spaBasePath]);
14
+ const Root: React.FC = () => {
15
+ const spaBasePath = globalThis.spaBase;
16
+ const adminBasename = globalThis.getOpenmrsSpaBase() + 'admin';
17
+ useLeftNav({
18
+ name: 'admin-left-panel-slot',
19
+ basePath: spaBasePath,
20
+ });
22
21
 
23
22
  return (
24
23
  <BrowserRouter basename={adminBasename}>
@@ -30,6 +29,7 @@ const Root: React.FC = () => {
30
29
  <Route path="/etl-administration" element={<EtlAdminDashboard />} />
31
30
  <Route path="/facility-setup" element={<FacilitySetup />} />
32
31
  <Route path="/locations" element={<HomeComponent />} />
32
+ <Route path="/global-property" element={<GlobalPropertyDashboard />} />
33
33
  </Routes>
34
34
  </main>
35
35
  </BrowserRouter>
package/src/routes.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "component": "userManagementLeftPannelLink",
14
14
  "name": "user-management-left-panel-link",
15
15
  "slot": "admin-left-panel-slot"
16
- },
16
+ },
17
17
  {
18
18
  "component": "etlAdministrationLeftPannelLink",
19
19
  "name": "etl-administration-left-panel-link",
@@ -29,71 +29,90 @@
29
29
  "name": "facility-setup-left-panel-link",
30
30
  "slot": "admin-left-panel-slot"
31
31
  },
32
+ {
33
+ "name":"global-property-link",
34
+ "component":"globalPropertyLink",
35
+ "slot": "admin-left-panel-slot"
36
+ },
32
37
  {
33
38
  "component": "providerBanner",
34
39
  "name": "provider-banner",
35
40
  "slot": "provider-banner-info-slot",
36
- "order":1
41
+ "order": 1
42
+ },
43
+ {
44
+ "component": "globalPropertyDashboard",
45
+ "name": "global-property-dashboard"
46
+ }
47
+ ],
48
+ "modals": [
49
+ {
50
+ "component": "operationConfirmationModal",
51
+ "name": "operation-confirmation-modal"
52
+ },
53
+ {
54
+ "component": "hwrConfirmationModal",
55
+ "name": "hwr-confirmation-modal"
56
+ },
57
+ {
58
+ "component": "hwrEmptyModal",
59
+ "name": "hwr-empty-modal"
60
+ },
61
+ {
62
+ "component": "hwrSyncModal",
63
+ "name": "hwr-syncing-modal"
64
+ },
65
+ {
66
+ "component": "deleteGlobalPropertyModal",
67
+ "name": "delete-global-property-modal"
37
68
  }
38
69
  ],
39
- "workspaces": [
70
+ "workspaces2": [
40
71
  {
41
72
  "name": "manage-user-workspace",
42
73
  "component": "manageUserWorkspace",
43
- "title": "Manage User Workspace",
44
- "type": "other-form",
45
- "canMaximize": true,
46
- "width": "extra-wide"
74
+ "window": "esm-admin-extra-wide-workspace-window"
47
75
  },
48
76
  {
49
77
  "name": "user-role-scope-workspace",
50
78
  "component": "userRoleScopeWorkspace",
51
- "title": "User Rple Scope Workspace",
52
- "type": "other-form",
53
- "canMaximize": true,
54
- "width": "extra-wide"
79
+ "window": "esm-admin-workspace-window"
55
80
  },
56
81
  {
57
82
  "name": "add-location-workspace",
58
- "title": "Add Location",
59
83
  "component": "addLocation",
60
- "type": "workspace"
84
+ "window": "esm-admin-workspace-window"
61
85
  },
62
86
  {
63
87
  "name": "search-location-workspace",
64
- "title": "Search Location",
65
88
  "component": "searchLocationWorkspace",
66
- "type": "workspace"
67
- },
68
- {
69
- "name": "hwr-sync-workspace",
70
- "title": "HWR Sync Workspace",
71
- "component": "hwrSyncWorkspace",
72
- "type": "other-form"
89
+ "window": "esm-admin-workspace-window"
73
90
  },
74
91
  {
75
- "name": "hwr-sync-modal",
76
- "title": "HWR Sync Modal",
77
- "component": "hwrSyncModal",
78
- "type": "modal"
92
+ "name": "global-property-workspace",
93
+ "component": "globalPropertyWorkspace",
94
+ "window": "esm-admin-workspace-window"
79
95
  }
80
96
  ],
81
- "modals": [
97
+ "workspaceWindows2": [
82
98
  {
83
- "component": "operationConfirmationModal",
84
- "name": "operation-confirmation-modal"
99
+ "name": "esm-admin-workspace-window",
100
+ "canMaximize": true,
101
+ "group": "esm-admin-workspace-group",
102
+ "width":"wider"
85
103
  },
86
104
  {
87
- "component": "hwrConfirmationModal",
88
- "name": "hwr-confirmation-modal"
89
- },
105
+ "name": "esm-admin-extra-wide-workspace-window",
106
+ "canMaximize": true,
107
+ "group": "esm-admin-workspace-group",
108
+ "width": "extra-wide"
109
+ }
110
+ ],
111
+ "workspaceGroups2": [
90
112
  {
91
- "component": "hwrEmptyModal",
92
- "name": "hwr-empty-modal"
93
- },
94
- {
95
- "component": "hwrSyncModal",
96
- "name": "hwr-syncing-modal"
113
+ "name": "esm-admin-workspace-group",
114
+ "scopePattern": "/admin",
115
+ "closeable": true
97
116
  }
98
117
  ],
99
118
  "pages": [
@@ -102,4 +121,4 @@
102
121
  "route": "admin"
103
122
  }
104
123
  ]
105
- }
124
+ }
@@ -1,5 +1,3 @@
1
- import { fhirBaseUrl, Type } from '@openmrs/esm-framework';
2
-
3
1
  export interface ETLResponse {
4
2
  script_name: string;
5
3
  start_time: string;
@@ -27,8 +25,36 @@ export interface SHAFacility {
27
25
  shaFacilityLicenseNumber: string;
28
26
  facilityRegistryCode: string;
29
27
  source: string;
28
+ officialName: string;
29
+ facilityType: string;
30
+ facilityOwnership: string;
31
+ fidCode: string;
32
+ isHub: string;
33
+ facilityLicenseStatus: string;
34
+ facilityLicenseStartDate: string;
35
+ regulatoryBody: string;
36
+ shaContractStatus: string;
37
+ shaContractStartDate: string;
38
+ shaContractEndDate: string;
39
+ facilityPhoneNumber: string;
40
+ facilityEmail: string;
41
+ facilityAdministratorName: string;
42
+ facilityAdministratorPhone: string;
43
+ facilityAdministratorEmail: string;
44
+ county: string;
45
+ subCounty: string;
46
+ town: string;
47
+ physicalLocation: string;
48
+ postalAddress: string;
49
+ latitude: string;
50
+ longitude: string;
51
+ totalBeds: string;
52
+ normalBeds: string;
53
+ icuBeds: string;
54
+ hduBeds: string;
55
+ dialysisBeds: string;
56
+ shaContractedServices: string;
30
57
  }
31
-
32
58
  export interface DefaultFacility {
33
59
  locationId: number;
34
60
  uuid: string;
@@ -383,3 +409,14 @@ export interface CustomHIEPractitionerResponse {
383
409
  };
384
410
  fhirFormat: boolean;
385
411
  }
412
+
413
+ export type SystemSettings = {
414
+ property: string;
415
+ description?: string;
416
+ datatypeClassname?: string;
417
+ datatypeConfig?: string;
418
+ preferredHandlerClassname?: string;
419
+ handlerConfig?: string | null;
420
+ value: string;
421
+ uuid?: string;
422
+ };