@kenyaemr/esm-ward-app 8.5.3 → 8.5.4-pre.10

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 (291) hide show
  1. package/README.md +31 -0
  2. package/package.json +11 -7
  3. package/src/action-menu-buttons/transfer-workspace-siderail.component.tsx +2 -8
  4. package/src/config-schema.ts +521 -3
  5. package/src/declarations.d.ts +0 -4
  6. package/src/discharge-printouts/PostProcedureSummaryLauncher.tsx +18 -0
  7. package/src/discharge-printouts/discharge-summary.tsx +16 -14
  8. package/src/discharge-printouts/gate-pass-printout.tsx +6 -7
  9. package/src/discharge-printouts/post-operation-summary.tsx +135 -0
  10. package/src/discharge-printouts/post-procedure-printout.resource.ts +61 -0
  11. package/src/discharge-printouts/post-procedure-printout.scss +124 -0
  12. package/src/hooks/useAdmissionLocation.ts +1 -0
  13. package/src/hooks/useCurrentPatientAdmissionEncounter.ts +6 -1
  14. package/src/hooks/useIpdDischargeEncounter.ts +6 -1
  15. package/src/hooks/useWardLocation.test.ts +2 -2
  16. package/src/hooks/useWardPatientGrouping.ts +3 -1
  17. package/src/in-patient/admission-request.component.tsx +37 -17
  18. package/src/in-patient/in-patient-table/in-patient-table.component.tsx +3 -3
  19. package/src/in-patient/in-patient.resource.tsx +32 -0
  20. package/src/in-patient/inpatient-detail-view.component.tsx +32 -16
  21. package/src/in-patient/inpatient-forms.component.tsx +24 -17
  22. package/src/in-patient/inpatient-tabs.component.tsx +157 -0
  23. package/src/in-patient/inpatient.scss +45 -2
  24. package/src/in-patient/labourCareGuide/alert-rules.ts +559 -0
  25. package/src/in-patient/labourCareGuide/components/lcg-correction-audit-banner.component.tsx +42 -0
  26. package/src/in-patient/labourCareGuide/components/section-toolbar.component.tsx +53 -0
  27. package/src/in-patient/labourCareGuide/constants/admission-form.constants.ts +22 -0
  28. package/src/in-patient/labourCareGuide/constants/labour-care-guide.constants.ts +4 -0
  29. package/src/in-patient/labourCareGuide/context/lcg-section-state.context.tsx +252 -0
  30. package/src/in-patient/labourCareGuide/forms/admission-details-form.component.tsx +360 -0
  31. package/src/in-patient/labourCareGuide/forms/baby-form.component.tsx +1044 -0
  32. package/src/in-patient/labourCareGuide/forms/contractions-form.component.tsx +275 -0
  33. package/src/in-patient/labourCareGuide/forms/emergency-entry-modal.component.tsx +116 -0
  34. package/src/in-patient/labourCareGuide/forms/form-scoped-time-pickers.component.tsx +20 -0
  35. package/src/in-patient/labourCareGuide/forms/index.ts +9 -0
  36. package/src/in-patient/labourCareGuide/forms/labour-care-guide-forms.component.tsx +678 -0
  37. package/src/in-patient/labourCareGuide/forms/labour-progress-form.component.tsx +1036 -0
  38. package/src/in-patient/labourCareGuide/forms/lcg-session-correction-wizard.component.tsx +214 -0
  39. package/src/in-patient/labourCareGuide/forms/medication-form.component.tsx +1136 -0
  40. package/src/in-patient/labourCareGuide/forms/shared-decision-assessment-field.component.tsx +109 -0
  41. package/src/in-patient/labourCareGuide/forms/shared-decision-making-form.component.tsx +787 -0
  42. package/src/in-patient/labourCareGuide/forms/supportive-care-form.component.tsx +399 -0
  43. package/src/in-patient/labourCareGuide/forms/time-form.component.tsx +253 -0
  44. package/src/in-patient/labourCareGuide/forms/time-picker-dropdown.component.tsx +435 -0
  45. package/src/in-patient/labourCareGuide/forms/time-picker-dropdown.scss +107 -0
  46. package/src/in-patient/labourCareGuide/forms/time-picker-with-clock.component.tsx +175 -0
  47. package/src/in-patient/labourCareGuide/forms/time-picker-with-clock.scss +178 -0
  48. package/src/in-patient/labourCareGuide/forms/woman-form.component.tsx +575 -0
  49. package/src/in-patient/labourCareGuide/global-cds-alerts/global-cds-alert-banner.component.tsx +236 -0
  50. package/src/in-patient/labourCareGuide/global-cds-alerts/global-cds-alert-context.tsx +260 -0
  51. package/src/in-patient/labourCareGuide/global-cds-alerts/global-cds-alert-display.component.tsx +79 -0
  52. package/src/in-patient/labourCareGuide/graphs/baby.component.tsx +925 -0
  53. package/src/in-patient/labourCareGuide/graphs/drugs-iv-fluids-graph.component.tsx +48 -0
  54. package/src/in-patient/labourCareGuide/graphs/labour-care-guide-header.component.tsx +245 -0
  55. package/src/in-patient/labourCareGuide/graphs/labour-progress.component.tsx +1639 -0
  56. package/src/in-patient/labourCareGuide/graphs/medication.component.tsx +407 -0
  57. package/src/in-patient/labourCareGuide/graphs/shared-decision-making.component.tsx +629 -0
  58. package/src/in-patient/labourCareGuide/graphs/supportive-care.component.tsx +387 -0
  59. package/src/in-patient/labourCareGuide/graphs/woman.component.tsx +1059 -0
  60. package/src/in-patient/labourCareGuide/hooks/use-lcg-alert-sound.ts +136 -0
  61. package/src/in-patient/labourCareGuide/hooks/use-lcg-data.ts +1436 -0
  62. package/src/in-patient/labourCareGuide/hooks/use-lcg-debounced-value.ts +17 -0
  63. package/src/in-patient/labourCareGuide/hooks/use-lcg-form-clock.ts +36 -0
  64. package/src/in-patient/labourCareGuide/hooks/use-lcg-section-autosave.ts +33 -0
  65. package/src/in-patient/labourCareGuide/labour-care-guide-header.component.tsx +93 -0
  66. package/src/in-patient/labourCareGuide/labour-care-guide.component.tsx +1881 -0
  67. package/src/in-patient/labourCareGuide/labour-care-guide.scss +901 -0
  68. package/src/in-patient/labourCareGuide/labour-care-guide.utils.ts +350 -0
  69. package/src/in-patient/labourCareGuide/labour-delivery.scss +187 -0
  70. package/src/in-patient/labourCareGuide/lcg-alert-lifecycle.ts +161 -0
  71. package/src/in-patient/labourCareGuide/partography-dashboard.meta.ts +8 -0
  72. package/src/in-patient/labourCareGuide/partography-data-form.scss +541 -0
  73. package/src/in-patient/labourCareGuide/partography-link.component.tsx +21 -0
  74. package/src/in-patient/labourCareGuide/partography.resource.ts +1674 -0
  75. package/src/in-patient/labourCareGuide/partography.scss +1740 -0
  76. package/src/in-patient/labourCareGuide/resources/admission-details.resource.ts +430 -0
  77. package/src/in-patient/labourCareGuide/resources/baby.resource.ts +408 -0
  78. package/src/in-patient/labourCareGuide/resources/drug-stock.resource.ts +98 -0
  79. package/src/in-patient/labourCareGuide/resources/drugs-fluids.resource.ts +93 -0
  80. package/src/in-patient/labourCareGuide/resources/labour-progress.resource.ts +239 -0
  81. package/src/in-patient/labourCareGuide/resources/labour-time-set-select-setup.resource.ts +121 -0
  82. package/src/in-patient/labourCareGuide/resources/lcg-session-correction.resource.ts +1027 -0
  83. package/src/in-patient/labourCareGuide/resources/medication.resource.ts +528 -0
  84. package/src/in-patient/labourCareGuide/resources/shared-decision-making.resource.ts +358 -0
  85. package/src/in-patient/labourCareGuide/resources/supportive-care.resource.ts +294 -0
  86. package/src/in-patient/labourCareGuide/storage/lcg-local-storage.ts +374 -0
  87. package/src/in-patient/labourCareGuide/time-slot-utils.ts +797 -0
  88. package/src/in-patient/labourCareGuide/types/concept-uuids.constants.ts +171 -0
  89. package/src/in-patient/labourCareGuide/types/index.ts +1615 -0
  90. package/src/in-patient/labourCareGuide/types/labour-care-guide.types.ts +10 -0
  91. package/src/in-patient/labourCareGuide/woman-schedule-utils.ts +160 -0
  92. package/src/in-patient/partograph.component.tsx +27 -0
  93. package/src/in-patient/treatmentChart/nursing-cardex-payload-builder.ts +233 -0
  94. package/src/in-patient/treatmentChart/nursing-cardex-plan.resource.ts +141 -0
  95. package/src/in-patient/treatmentChart/nursing-cardex-plan.workspace.scss +296 -0
  96. package/src/in-patient/treatmentChart/nursing-cardex-plan.workspace.tsx +556 -0
  97. package/src/in-patient/treatmentChart/nursing-treatment-sheet.resource.ts +308 -0
  98. package/src/in-patient/treatmentChart/treatment-chart-dashboard.component.tsx +355 -0
  99. package/src/in-patient/treatmentChart/treatment-chart-dashboard.scss +61 -0
  100. package/src/in-patient/treatmentChart/use-nursing-cardex-form-schema.ts +82 -0
  101. package/src/index.ts +55 -2
  102. package/src/location-selector/location-selector.component.tsx +1 -0
  103. package/src/root.component.tsx +11 -6
  104. package/src/routes.json +159 -35
  105. package/src/types/index.ts +1 -1
  106. package/src/ward-patient-card/card-rows/coded-obs-tags-row.component.tsx +2 -2
  107. package/src/ward-patient-card/row-elements/ward-patient-coded-obs-tags.component.tsx +2 -2
  108. package/src/ward-patient-card/row-elements/ward-patient-gender.component.tsx +1 -2
  109. package/src/ward-patient-card/row-elements/ward-patient-obs.resource.ts +1 -1
  110. package/src/ward-patient-card/row-elements/ward-patient-pending-transfer.component.tsx +3 -3
  111. package/src/ward-patient-card/row-elements/ward-patient-responsive-tooltip.component.tsx +1 -1
  112. package/src/ward-patient-card/ward-patient-card.component.tsx +1 -16
  113. package/src/ward-patients/admitted-patients.tsx +10 -6
  114. package/src/ward-patients/awaiting-admission-patients.tsx +17 -6
  115. package/src/ward-patients/discharge-in-patients.tsx +6 -2
  116. package/src/ward-patients/discharge-patients.tsx +34 -22
  117. package/src/ward-patients/patient-cells.tsx +56 -34
  118. package/src/ward-patients/table-state-components.tsx +2 -2
  119. package/src/ward-patients/ward-patients-slots.ts +21 -0
  120. package/src/ward-patients/ward-patients-table.test.tsx +58 -0
  121. package/src/ward-patients/ward-patients-table.tsx +25 -8
  122. package/src/ward-view/linelist-wards/Filters.tsx +0 -2
  123. package/src/ward-view/linelist-wards/LineListTable.tsx +1 -2
  124. package/src/ward-view/ward-switch.modal.tsx +2 -2
  125. package/src/ward-view/ward-view-content-wrapper.tsx +1 -1
  126. package/src/ward-view/ward-view.resource.ts +1 -1
  127. package/src/ward-workspace/admission-request-card/admission-request-card-actions.component.tsx +4 -4
  128. package/src/ward-workspace/admit-patient-button.component.tsx +3 -3
  129. package/src/ward-workspace/admit-patient-form-workspace/admit-patient-form.workspace.tsx +246 -240
  130. package/src/ward-workspace/admit-patient-form-workspace/diagnosis-input.component.tsx +2 -3
  131. package/src/ward-workspace/bed-selector.component.tsx +9 -13
  132. package/src/ward-workspace/cancel-admission-request-workspace/cancel-admission-request.workspace.tsx +66 -59
  133. package/src/ward-workspace/kenya-emr-patient-discharge/patient-discharge.resource.tsx +39 -34
  134. package/src/ward-workspace/kenya-emr-patient-discharge/patient-discharge.workspace.tsx +17 -19
  135. package/src/ward-workspace/patient-discharge/patient-discharge.workspace.tsx +8 -6
  136. package/src/ward-workspace/patient-transfer-bed-swap/patient-admit-or-transfer-request-form.component.tsx +113 -101
  137. package/src/ward-workspace/patient-transfer-bed-swap/patient-bed-swap-form.component.tsx +68 -65
  138. package/src/ward-workspace/patient-transfer-bed-swap/patient-transfer-swap.workspace.tsx +42 -27
  139. package/src/ward-workspace/patient-transfer-request-workspace/patient-transfer-request.workspace.tsx +15 -8
  140. package/src/ward-workspace/ward-patient-notes/form/notes-form.component.tsx +9 -18
  141. package/src/ward-workspace/ward-patient-notes/notes.workspace.tsx +19 -13
  142. package/translations/en.json +580 -28
  143. package/translations/fr.json +611 -89
  144. package/.turbo/turbo-build.log +0 -13
  145. package/dist/1047.js +0 -1
  146. package/dist/1047.js.map +0 -1
  147. package/dist/1072.js +0 -1
  148. package/dist/1072.js.map +0 -1
  149. package/dist/13.js +0 -1
  150. package/dist/13.js.map +0 -1
  151. package/dist/1339.js +0 -1
  152. package/dist/1339.js.map +0 -1
  153. package/dist/1454.js +0 -1
  154. package/dist/1454.js.map +0 -1
  155. package/dist/1480.js +0 -1
  156. package/dist/155.js +0 -1
  157. package/dist/155.js.map +0 -1
  158. package/dist/1646.js +0 -1
  159. package/dist/1869.js +0 -1
  160. package/dist/1877.js +0 -1
  161. package/dist/203.js +0 -1
  162. package/dist/203.js.map +0 -1
  163. package/dist/2317.js +0 -1
  164. package/dist/2416.js +0 -1
  165. package/dist/2519.js +0 -1
  166. package/dist/2519.js.map +0 -1
  167. package/dist/2767.js +0 -1
  168. package/dist/2767.js.map +0 -1
  169. package/dist/282.js +0 -1
  170. package/dist/2881.js +0 -1
  171. package/dist/3378.js +0 -1
  172. package/dist/3509.js +0 -1
  173. package/dist/3509.js.map +0 -1
  174. package/dist/3530.js +0 -1
  175. package/dist/3530.js.map +0 -1
  176. package/dist/3539.js +0 -1
  177. package/dist/3539.js.map +0 -1
  178. package/dist/3720.js +0 -1
  179. package/dist/3720.js.map +0 -1
  180. package/dist/3722.js +0 -1
  181. package/dist/3722.js.map +0 -1
  182. package/dist/383.js +0 -1
  183. package/dist/383.js.map +0 -1
  184. package/dist/3963.js +0 -1
  185. package/dist/3989.js +0 -1
  186. package/dist/3989.js.map +0 -1
  187. package/dist/4076.js +0 -1
  188. package/dist/4076.js.map +0 -1
  189. package/dist/4106.js +0 -1
  190. package/dist/4111.js +0 -1
  191. package/dist/434.js +0 -1
  192. package/dist/4348.js +0 -1
  193. package/dist/4383.js +0 -1
  194. package/dist/4482.js +0 -36
  195. package/dist/4482.js.map +0 -1
  196. package/dist/4639.js +0 -1
  197. package/dist/4639.js.map +0 -1
  198. package/dist/4658.js +0 -1
  199. package/dist/466.js +0 -1
  200. package/dist/466.js.map +0 -1
  201. package/dist/47.js +0 -1
  202. package/dist/47.js.map +0 -1
  203. package/dist/4830.js +0 -1
  204. package/dist/4830.js.map +0 -1
  205. package/dist/5105.js +0 -1
  206. package/dist/5105.js.map +0 -1
  207. package/dist/5117.js +0 -1
  208. package/dist/5132.js +0 -1
  209. package/dist/5145.js +0 -1
  210. package/dist/5442.js +0 -1
  211. package/dist/5442.js.map +0 -1
  212. package/dist/5488.js +0 -1
  213. package/dist/5488.js.map +0 -1
  214. package/dist/5503.js +0 -1
  215. package/dist/5576.js +0 -1
  216. package/dist/5576.js.map +0 -1
  217. package/dist/5644.js +0 -1
  218. package/dist/5748.js +0 -1
  219. package/dist/5748.js.map +0 -1
  220. package/dist/5794.js +0 -1
  221. package/dist/5794.js.map +0 -1
  222. package/dist/5940.js +0 -1
  223. package/dist/6047.js +0 -1
  224. package/dist/6056.js +0 -1
  225. package/dist/6056.js.map +0 -1
  226. package/dist/6196.js +0 -1
  227. package/dist/6196.js.map +0 -1
  228. package/dist/6242.js +0 -1
  229. package/dist/6242.js.map +0 -1
  230. package/dist/6364.js +0 -1
  231. package/dist/6364.js.map +0 -1
  232. package/dist/6371.js +0 -1
  233. package/dist/6377.js +0 -1
  234. package/dist/6444.js +0 -1
  235. package/dist/6502.js +0 -1
  236. package/dist/6502.js.map +0 -1
  237. package/dist/6508.js +0 -1
  238. package/dist/6724.js +0 -1
  239. package/dist/688.js +0 -1
  240. package/dist/688.js.map +0 -1
  241. package/dist/689.js +0 -1
  242. package/dist/689.js.map +0 -1
  243. package/dist/6904.js +0 -1
  244. package/dist/7045.js +0 -1
  245. package/dist/7175.js +0 -1
  246. package/dist/7205.js +0 -1
  247. package/dist/7205.js.map +0 -1
  248. package/dist/7278.js +0 -1
  249. package/dist/7278.js.map +0 -1
  250. package/dist/7517.js +0 -1
  251. package/dist/7517.js.map +0 -1
  252. package/dist/7557.js +0 -1
  253. package/dist/7557.js.map +0 -1
  254. package/dist/7742.js +0 -1
  255. package/dist/7912.js +0 -1
  256. package/dist/8235.js +0 -1
  257. package/dist/8235.js.map +0 -1
  258. package/dist/8335.js +0 -1
  259. package/dist/8335.js.map +0 -1
  260. package/dist/8358.js +0 -1
  261. package/dist/8359.js +0 -1
  262. package/dist/8461.js +0 -1
  263. package/dist/8461.js.map +0 -1
  264. package/dist/8695.js +0 -1
  265. package/dist/8918.js +0 -1
  266. package/dist/8918.js.map +0 -1
  267. package/dist/903.js +0 -1
  268. package/dist/9061.js +0 -1
  269. package/dist/9061.js.map +0 -1
  270. package/dist/9072.js +0 -1
  271. package/dist/912.js +0 -17
  272. package/dist/912.js.map +0 -1
  273. package/dist/9203.js +0 -1
  274. package/dist/9203.js.map +0 -1
  275. package/dist/9537.js +0 -1
  276. package/dist/9537.js.map +0 -1
  277. package/dist/9712.js +0 -1
  278. package/dist/9712.js.map +0 -1
  279. package/dist/9771.js +0 -1
  280. package/dist/9771.js.map +0 -1
  281. package/dist/9806.js +0 -1
  282. package/dist/9955.js +0 -1
  283. package/dist/9955.js.map +0 -1
  284. package/dist/kenyaemr-esm-ward-app.js +0 -5
  285. package/dist/kenyaemr-esm-ward-app.js.buildmanifest.json +0 -2242
  286. package/dist/kenyaemr-esm-ward-app.js.map +0 -1
  287. package/dist/main.js +0 -40
  288. package/dist/main.js.map +0 -1
  289. package/dist/routes.json +0 -1
  290. package/src/in-patient/admission-request.test.tsx +0 -433
  291. package/src/in-patient/in-patient.component.tsx +0 -32
package/README.md CHANGED
@@ -22,6 +22,37 @@ Please see the [EMR API README](https://github.com/openmrs/openmrs-module-emrapi
22
22
 
23
23
  See the [config-schema](./src/config-schema.ts) for details on the configuration options available to the ward app.
24
24
 
25
+ ## Ward Patient Table Tab Extension Slots
26
+
27
+ The default ward table view renders four fixed tabs (Awaiting Admission, Admitted, Discharge In, Discharged). Each tab panel is backed by an extension slot so implementers can replace the default table UI without forking the ward app.
28
+
29
+ | Tab | Slot name | Default extension name |
30
+ |-----|-----------|------------------------|
31
+ | Awaiting Admission | `ward-patients-awaiting-admission-slot` | `ward-patients-awaiting-admission` |
32
+ | Admitted | `ward-patients-admitted-slot` | `ward-patients-admitted` |
33
+ | Discharge In | `ward-patients-discharge-in-slot` | `ward-patients-discharge-in` |
34
+ | Discharged | `ward-patients-discharged-slot` | `ward-patients-discharged` |
35
+
36
+ ### Custom component requirements
37
+
38
+ - Render under `DefaultWardView` so `useAppContext('ward-view-context')` provides ward patient data.
39
+ - Reuse types from [`src/types/index.ts`](./src/types/index.ts): `WardViewContext`, `WardPatient`, etc.
40
+ - Optional shared UI helpers: `HyperLinkPatientCell`, `EmptyState`, `ErrorState`, `getOpenmrsId`.
41
+
42
+ ### Replacing a default table
43
+
44
+ In your module's `routes.json`, register the replacement extension:
45
+
46
+ ```json
47
+ {
48
+ "name": "my-custom-awaiting-admission",
49
+ "component": "myAwaitingAdmissionTable",
50
+ "slot": "ward-patients-awaiting-admission-slot"
51
+ }
52
+ ```
53
+
54
+ The default table components are exported from this module (`wardPatientsAwaitingAdmissionTable`, `wardPatientsAdmittedTable`, `wardPatientsDischargeInTable`, `wardPatientsDischargedTable`) if you need to wrap or extend them.
55
+
25
56
  ## Bed Management
26
57
 
27
58
  The ward app is designed to support patient bed assignments and to be used in conjunction with the bedmanagement module and the bed-management-app ESM. However, bed management is entirely optional. Patients will appear on a ward if they:
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@kenyaemr/esm-ward-app",
3
- "version": "8.5.3",
3
+ "version": "8.5.4-pre.10",
4
4
  "description": "Ward and bed management module for O3",
5
5
  "browser": "dist/kenyaemr-esm-ward-app.js",
6
6
  "main": "src/index.ts",
7
7
  "source": true,
8
8
  "license": "MPL-2.0",
9
- "homepage": "https://github.com/openmrs/openmrs-esm-patient-management#readme",
9
+ "homepage": "https://github.com/palladium-hub/kenyaemr-esm-ward-app#readme",
10
10
  "scripts": {
11
11
  "analyze": "rspack --mode=production --env analyze=true",
12
12
  "build": "rspack --mode=production",
13
13
  "coverage": "yarn test --coverage",
14
14
  "debug": "npm run serve",
15
- "extract-translations": "i18next 'src/**/*.component.tsx' 'src/index.ts' --config ../../tools/i18next-parser.config.js",
15
+ "extract-translations": "i18next 'src/**/*.{ts,tsx}' --config ../../tools/i18next-parser.config.js",
16
16
  "lint": "eslint src --ext ts,tsx",
17
17
  "serve": "rspack serve --mode=development",
18
18
  "start": "openmrs develop",
@@ -43,14 +43,18 @@
43
43
  "zod": "3.24.1"
44
44
  },
45
45
  "peerDependencies": {
46
- "@openmrs/esm-framework": "6.x",
47
- "@openmrs/esm-patient-common-lib": "^10.x",
46
+ "@openmrs/esm-framework": "9.x",
48
47
  "react": "^18.1.0",
49
48
  "react-i18next": "11.x",
50
49
  "react-router-dom": "6.x",
51
50
  "swr": "2.x"
52
51
  },
53
52
  "publishConfig": {
54
- "access": "public"
55
- }
53
+ "access": "public",
54
+ "registry": "https://registry.npmjs.org"
55
+ },
56
+ "devDependencies": {
57
+ "i18next-parser": "^9.4.0"
58
+ },
59
+ "stableVersion": "8.5.3"
56
60
  }
@@ -1,10 +1,4 @@
1
- import {
2
- ActionMenuButton,
3
- getGlobalStore,
4
- launchWorkspace,
5
- MovementIcon,
6
- type DefaultWorkspaceProps,
7
- } from '@openmrs/esm-framework';
1
+ import { ActionMenuButton, launchWorkspace2, MovementIcon, type DefaultWorkspaceProps } from '@openmrs/esm-framework';
8
2
  import React from 'react';
9
3
  import { useTranslation } from 'react-i18next';
10
4
 
@@ -13,7 +7,7 @@ interface PatientTransferAndSwapSiderailIconProps extends DefaultWorkspaceProps
13
7
  export default function PatientTransferAndSwapSiderailIcon(additionalProps: PatientTransferAndSwapSiderailIconProps) {
14
8
  const { t } = useTranslation();
15
9
  const handler = () => {
16
- launchWorkspace('patient-transfer-swap-workspace');
10
+ launchWorkspace2('patient-transfer-swap-workspace');
17
11
  };
18
12
  return (
19
13
  <ActionMenuButton
@@ -27,6 +27,351 @@ export const addressFields = [
27
27
 
28
28
  type AddressField = keyof typeof addressFields;
29
29
 
30
+ export const labourCareGuideConceptUuids = {
31
+ UUID_SHARED_DECISION_ASSESSMENT: '162164AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
32
+ UUID_SHARED_DECISION_PLAN: '166021AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
33
+ UUID_SHARED_DECISION_ACTION: '160433AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
34
+ UUID_SHARED_DECISION_CONTINUE_MONITORING: '159835AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
35
+ UUID_SHARED_DECISION_TRANSFER_TO_CS: '159739AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
36
+ UUID_SHARED_DECISION_REFERRAL: '0dcc1312-e83e-4317-97c3-4b127b599744',
37
+ UUID_SHARED_DECISION_TWIN_ONE_BIRTH: 'd9ad3cc2-5800-4cd0-ab51-fa3306295617',
38
+ UUID_SHARED_DECISION_BIRTH: 'fb50f3e1-0971-4f82-9774-41ff57e38043',
39
+ UUID_CONTRACTION_NONE: '1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
40
+ UUID_CONTRACTION_MILD: '1498AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
41
+ UUID_CONTRACTION_MODERATE: '1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
42
+ UUID_CONTRACTION_STRONG: '166788AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
43
+ UUID_CONTRACTION_STRONG_FALLBACK: '4b90b73a-ad11-4650-91b0-baea131974e0',
44
+ UUID_URINE_NEGATIVE: '1874AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
45
+ UUID_URINE_ONE_PLUS: '1362AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
46
+ UUID_URINE_TWO_PLUS: '1363AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
47
+ UUID_URINE_THREE_PLUS: '1364AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
48
+ UUID_URINE_NOT_DONE: '1118AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
49
+ UUID_URINE_TEST_TIME_SLOT: 'bb3724c9-fbcc-49c5-9702-6cde0be325ca',
50
+ UUID_PARTOGRAPHY_ENCOUNTER: '022d62af-e2a5-4282-953b-52dd5cba3296',
51
+ UUID_MEDICATION_OXYTOCIN_ADMINISTERED: '82580974-ff46-41c5-b218-4bea7f53bf7e',
52
+ UUID_MEDICATION_OXYTOCIN_DOSE: '166530AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
53
+ UUID_MEDICATION_MEDICATION: '1282AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
54
+ UUID_MEDICATION_NAME: 'c3082af8-f935-40c5-aa5b-74c684e81aea',
55
+ UUID_YES: '1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
56
+ UUID_NO: '1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
57
+ UUID_SUPPORTIVE_CARE_COMPANION: '8a5757a7-b607-4948-b8a8-587b1f44366a',
58
+ UUID_SUPPORTIVE_CARE_PAIN_RELIEF: 'a563b9bd-eb1d-4a0e-8271-f3ee00da6d25',
59
+ UUID_SUPPORTIVE_CARE_ORAL: '217c3dcb-d13e-48d6-89b9-f2c588d50a3c',
60
+ UUID_SUPPORTIVE_CARE_POSTURE: 'dc94a788-de10-417d-aac8-0aed5ba3b806',
61
+ UUID_SUPPORTIVE_CARE_DECLINED: '167156AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
62
+ UUID_SUPPORTIVE_CARE_SUPINE: '159629AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
63
+ UUID_SUPPORTIVE_CARE_MOBILE: 'c05125ad-e297-491f-aa65-d73ecc3245f0',
64
+ UUID_BABY_BASELINE_FHR: '1440AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
65
+ UUID_BABY_FHR_DECELERATION: 'c608022e-a29c-44c9-a4c8-24b6e3105ae4',
66
+ UUID_BABY_AMNIOTIC_FLUID: '30ea66be-16d1-44f6-af40-4fe273814454',
67
+ UUID_BABY_FETAL_POSITION: '78a5cb66-ca95-4965-9c54-0cb6198c9389',
68
+ UUID_BABY_CAPUT: '4e54e9bf-9a1a-4dfd-a4a1-b727860f1c4a',
69
+ UUID_BABY_MOULDING: '166527AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
70
+ UUID_BABY_FHR_DECELERATION_LATE: '167151AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
71
+ UUID_BABY_FHR_DECELERATION_EARLY: '58f1c745-8873-44ff-9680-2a3bbe172990',
72
+ UUID_BABY_FHR_DECELERATION_VARIABLE: '155653AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
73
+ UUID_BABY_AMNIOTIC_INTACT: '164899AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
74
+ UUID_BABY_AMNIOTIC_CLEAR: '159484AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
75
+ UUID_BABY_AMNIOTIC_BLOOD: '1077AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
76
+ UUID_BABY_AMNIOTIC_MECONIUM: '134488AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
77
+ UUID_BABY_FETAL_POSITION_ANTERIOR: '164148AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
78
+ UUID_BABY_FETAL_POSITION_POSTERIOR: '541AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
79
+ UUID_BABY_FETAL_POSITION_TRANSVERSE: '124261AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
80
+ UUID_MATERNITY_INPATIENT_ENCOUNTER_TYPE: '6877a5b4-441d-4dff-ada1-fcc2485c33e6',
81
+ UUID_MATERNITY_INPATIENT_FORM: '57b8bb54-321f-4b94-bba5-58850527bfd6',
82
+ UUID_PARITY_CONCEPT: '160080AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
83
+ UUID_MISCARRIAGE_ABORTIONS_CONCEPT: '1823AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
84
+ UUID_URGE_TO_PUSH: '9ad5b56d-597c-4a40-ade6-387802daa44a',
85
+ UUID_EMERGENCY_OVERRIDE: '1670AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
86
+ UUID_EMERGENCY_REASON: '163761AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
87
+ UUID_SHARED_DECISION_TERMINATE_ONGOING_PROGRESS: '737fa73a-509f-40d8-9e84-91dc71db7f4c',
88
+ UUID_LCG_TERMINATION_REASON_TYPE: '6098AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
89
+ UUID_LCG_TERMINATION_REASON_WRONG_PATIENT: '164144AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
90
+ UUID_LCG_TERMINATION_REASON_OTHER: '5622AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
91
+ UUID_LCG_CORRECTION_ENCOUNTER_TYPE: 'b2c4d5e6-7f8a-4e9b-8c1d-2e3f8e4a3b8f',
92
+ UUID_LCG_CORRECTION_TYPE: '4b3eb27b-43c0-4862-bd83-be06beb3d699',
93
+ UUID_LCG_CORRECTION_TYPE_WRONG_PATIENT_TRANSFER: '1286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
94
+ UUID_LCG_CORRECTION_SOURCE_PATIENT_UUID: '162720AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
95
+ UUID_LCG_CORRECTION_SOURCE_TERMINATE_ENCOUNTER_UUID: '1671AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
96
+ UUID_LCG_CORRECTION_TERMINATION_REASON: '162704AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
97
+ UUID_LCG_CORRECTION_SOURCE_PATIENT_DISPLAY: '850a960b-e8b5-4775-ba74-aaddb2abbf51',
98
+ UUID_LCG_CORRECTION_TERMINATED_AT: '163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
99
+ UUID_LCG_CORRECTION_TRANSFER_NOTES: '1056dc03-ce4d-45cb-a1eb-87707162e6ee',
100
+ FETAL_HEART_RATE_CONCEPT: '1440AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
101
+ FETAL_HEART_RATE_TIME_CONCEPT: 'bb3724c9-fbcc-49c5-9702-6cde0be325ca',
102
+ FETAL_HEART_RATE_HOUR_CONCEPT: '160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
103
+ AMNIOTIC_FLUID_CONCEPT: '162653AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
104
+ RUPTURED_MEMBRANES_CONCEPT: '164900AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
105
+ AMNIOTIC_CLEAR_LIQUOR_CONCEPT: '159484AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
106
+ AMNIOTIC_MECONIUM_STAINED_CONCEPT: '134488AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
107
+ AMNIOTIC_ABSENT_CONCEPT: '163747AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
108
+ AMNIOTIC_BLOOD_STAINED_CONCEPT: '1077AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
109
+ AMNIOTIC_MEMBRANE_INTACT_CONCEPT: 'd1787a76-7310-4223-a645-9fd410d418c1',
110
+ UTERINE_CONTRACTIONS_CONCEPT: '163750AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
111
+ CONTRACTION_LEVEL_MILD_CONCEPT: '1498AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
112
+ CONTRACTION_LEVEL_MODERATE_CONCEPT: '1499AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
113
+ CONTRACTION_LEVEL_STRONG_CONCEPT: '166788AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
114
+ UTERINE_CONTRACTION_FREQUENCY_CONCEPT: 'd266dee4-bbe8-4736-b94d-c33300f55bca',
115
+ UTERINE_CONTRACTION_DURATION_CONCEPT: '159368AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
116
+ OXYTOCIN_TIME_CONCEPT: 'bb3724c9-fbcc-49c5-9702-6cde0be325ca',
117
+ OXYTOCIN_DROPS_PER_MINUTE_CONCEPT: '1d109b10-7b30-4bfa-8a7c-6ecb73357fc2',
118
+ OXYTOCIN_DOSE_CONCEPT: '81369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
119
+ ROUTE_CONCEPT: '8878f9c0-a1ce-47ec-a88f-69ef0f6576ba',
120
+ FREQUENCY_CONCEPT: 'fd9f82fd-f327-4502-ac8e-5d9144dbd504',
121
+ MEDICATION_CONCEPT: 'c3082af8-f935-40c5-aa5b-74c684e81aea',
122
+ IV_FLUIDS_CONCEPT: '644504bd-23bc-4f1e-b9a0-d44f81f4148e',
123
+ IV_FLUID_TYPE_CONCEPT: '161911AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
124
+ DOSAGE_CONCEPT: 'b71ddb80-2d7f-4bde-a44b-236e62d4c1b6',
125
+ DRUG_DOSE_CONCEPT: '162384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
126
+ MATERNAL_PULSE_CONCEPT: '5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
127
+ SYSTOLIC_BP_CONCEPT: '5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
128
+ DIASTOLIC_BP_CONCEPT: '5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
129
+ PULSE_BP_TIME_CONCEPT: 'bb3724c9-fbcc-49c5-9702-6cde0be325ca',
130
+ PROTEIN_LEVEL_CONCEPT: '1875AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
131
+ GLUCOSE_LEVEL_CONCEPT: '887AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
132
+ KETONE_LEVEL_CONCEPT: '161442AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
133
+ URINE_VOLUME_CONCEPT: '159660AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
134
+ URINE_CHARACTERISTICS_CONCEPT: '56AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
135
+ TIME_RESULTS_RETURNED: '67c3d4c6-465e-4c12-9b7f-d8587ca90603',
136
+ TIME_SAMPLE_COLLECTED: 'c554f157-2e16-4585-af29-c48f5e765ce0',
137
+ CERVIX_CONCEPT: '162261AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
138
+ DESCENT_OF_HEAD_CONCEPT: '166528AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
139
+ STATION_0_CONCEPT: '160769AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
140
+ STATION_1_CONCEPT: '162135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
141
+ STATION_2_CONCEPT: '166065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
142
+ STATION_3_CONCEPT: '166066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
143
+ STATION_4_CONCEPT: '166067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
144
+ STATION_5_CONCEPT: '163734AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
145
+ DRUG_ORDER_TYPE_UUID: '131168f4-15f5-102d-96e4-000c29c2a5d7',
146
+ ENCOUNTER_ROLE: '240b26f9-dd88-4172-823d-4a8bfeb7841f',
147
+ MOULDING_NONE_CONCEPT: '1107AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
148
+ MOULDING_SLIGHT_CONCEPT: '1362AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
149
+ MOULDING_MODERATE_CONCEPT: '1363AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
150
+ MOULDING_SEVERE_CONCEPT: '1364AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
151
+ TEMPERATURE_CONCEPT: '5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
152
+ CONTRACTION_COUNT_CONCEPT: 'd266dee4-bbe8-4736-b94d-c33300f55bca',
153
+ MEDICATION_NAME_CONCEPT: '164231AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
154
+ EVENT_TYPE_CONCEPT: '162879AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
155
+ EVENT_DESCRIPTION_CONCEPT: '160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
156
+ MOULDING_CONCEPT: '166527AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
157
+ BLOOD_GROUP_CONCEPT: '300AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
158
+ TIME_SLOT_CONCEPT: '163286AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
159
+ LABOR_PATTERN_CONCEPT: '164135AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
160
+ HOURS_SINCE_RUPTURE_CONCEPT: '167149AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
161
+ DATE_OF_ADMISSION_CONCEPT: '1640AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
162
+ GESTATION_WEEKS_CONCEPT: '1789AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
163
+ ESTIMATED_DELIVERY_DATE_CONCEPT: '5596AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
164
+ LAST_MENSTRUAL_PERIOD_CONCEPT: '1427AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
165
+ } as const;
166
+
167
+ export const labourCareGuidePartographyConfig = {
168
+ conceptMappings: {
169
+ 'fetal-heart-rate': [labourCareGuideConceptUuids.FETAL_HEART_RATE_CONCEPT],
170
+ 'blood-pressure': [
171
+ labourCareGuideConceptUuids.SYSTOLIC_BP_CONCEPT,
172
+ labourCareGuideConceptUuids.DIASTOLIC_BP_CONCEPT,
173
+ ],
174
+ 'maternal-pulse': [labourCareGuideConceptUuids.MATERNAL_PULSE_CONCEPT],
175
+ temperature: [labourCareGuideConceptUuids.TEMPERATURE_CONCEPT],
176
+ 'cervical-dilation': [labourCareGuideConceptUuids.CERVIX_CONCEPT],
177
+ 'descent-of-head': [labourCareGuideConceptUuids.DESCENT_OF_HEAD_CONCEPT],
178
+ 'uterine-contractions': [labourCareGuideConceptUuids.UTERINE_CONTRACTION_FREQUENCY_CONCEPT],
179
+ 'urine-analysis': [
180
+ labourCareGuideConceptUuids.PROTEIN_LEVEL_CONCEPT,
181
+ labourCareGuideConceptUuids.GLUCOSE_LEVEL_CONCEPT,
182
+ labourCareGuideConceptUuids.KETONE_LEVEL_CONCEPT,
183
+ ],
184
+ 'drugs-fluids': [
185
+ labourCareGuideConceptUuids.UUID_MEDICATION_MEDICATION,
186
+ labourCareGuideConceptUuids.IV_FLUIDS_CONCEPT,
187
+ labourCareGuideConceptUuids.IV_FLUID_TYPE_CONCEPT,
188
+ ],
189
+ 'progress-events': [
190
+ labourCareGuideConceptUuids.EVENT_TYPE_CONCEPT,
191
+ labourCareGuideConceptUuids.EVENT_DESCRIPTION_CONCEPT,
192
+ labourCareGuideConceptUuids.FETAL_HEART_RATE_CONCEPT,
193
+ labourCareGuideConceptUuids.CERVIX_CONCEPT,
194
+ labourCareGuideConceptUuids.UTERINE_CONTRACTIONS_CONCEPT,
195
+ ],
196
+ },
197
+ conceptUuids: {
198
+ cervix: labourCareGuideConceptUuids.CERVIX_CONCEPT,
199
+ 'fetal-heart-rate': labourCareGuideConceptUuids.FETAL_HEART_RATE_CONCEPT,
200
+ 'fetal-heart-rate-hour': labourCareGuideConceptUuids.FETAL_HEART_RATE_HOUR_CONCEPT,
201
+ 'fetal-heart-rate-time': labourCareGuideConceptUuids.FETAL_HEART_RATE_TIME_CONCEPT,
202
+ 'cervical-dilation': labourCareGuideConceptUuids.CERVIX_CONCEPT,
203
+ 'descent-of-head': labourCareGuideConceptUuids.DESCENT_OF_HEAD_CONCEPT,
204
+ 'uterine-contractions': labourCareGuideConceptUuids.UTERINE_CONTRACTIONS_CONCEPT,
205
+ 'uterine-contraction-frequency': labourCareGuideConceptUuids.UTERINE_CONTRACTION_FREQUENCY_CONCEPT,
206
+ 'uterine-contraction-duration': labourCareGuideConceptUuids.UTERINE_CONTRACTION_DURATION_CONCEPT,
207
+ 'maternal-pulse': labourCareGuideConceptUuids.MATERNAL_PULSE_CONCEPT,
208
+ 'systolic-bp': labourCareGuideConceptUuids.SYSTOLIC_BP_CONCEPT,
209
+ 'diastolic-bp': labourCareGuideConceptUuids.DIASTOLIC_BP_CONCEPT,
210
+ temperature: labourCareGuideConceptUuids.TEMPERATURE_CONCEPT,
211
+ 'protein-level': labourCareGuideConceptUuids.PROTEIN_LEVEL_CONCEPT,
212
+ 'glucose-level': labourCareGuideConceptUuids.GLUCOSE_LEVEL_CONCEPT,
213
+ 'ketone-level': labourCareGuideConceptUuids.KETONE_LEVEL_CONCEPT,
214
+ 'urine-volume': labourCareGuideConceptUuids.URINE_VOLUME_CONCEPT,
215
+ 'contraction-count': labourCareGuideConceptUuids.CONTRACTION_COUNT_CONCEPT,
216
+ 'urine-characteristics': labourCareGuideConceptUuids.URINE_CHARACTERISTICS_CONCEPT,
217
+ medication: labourCareGuideConceptUuids.MEDICATION_CONCEPT,
218
+ 'medication-name': labourCareGuideConceptUuids.MEDICATION_NAME_CONCEPT,
219
+ 'oxytocin-dose': labourCareGuideConceptUuids.OXYTOCIN_DOSE_CONCEPT,
220
+ 'oxytocin-drops-per-minute': labourCareGuideConceptUuids.OXYTOCIN_DROPS_PER_MINUTE_CONCEPT,
221
+ 'oxytocin-time': labourCareGuideConceptUuids.OXYTOCIN_TIME_CONCEPT,
222
+ 'iv-fluids': labourCareGuideConceptUuids.IV_FLUIDS_CONCEPT,
223
+ 'iv-fluid-type': labourCareGuideConceptUuids.IV_FLUID_TYPE_CONCEPT,
224
+ dosage: labourCareGuideConceptUuids.DOSAGE_CONCEPT,
225
+ route: labourCareGuideConceptUuids.ROUTE_CONCEPT,
226
+ frequency: labourCareGuideConceptUuids.FREQUENCY_CONCEPT,
227
+ 'drug-dose': labourCareGuideConceptUuids.DRUG_DOSE_CONCEPT,
228
+ 'event-type': labourCareGuideConceptUuids.EVENT_TYPE_CONCEPT,
229
+ 'event-description': labourCareGuideConceptUuids.EVENT_DESCRIPTION_CONCEPT,
230
+ 'amniotic-fluid': labourCareGuideConceptUuids.AMNIOTIC_FLUID_CONCEPT,
231
+ 'amniotic-clear-liquor': labourCareGuideConceptUuids.AMNIOTIC_CLEAR_LIQUOR_CONCEPT,
232
+ 'amniotic-meconium-stained': labourCareGuideConceptUuids.AMNIOTIC_MECONIUM_STAINED_CONCEPT,
233
+ 'amniotic-absent': labourCareGuideConceptUuids.AMNIOTIC_ABSENT_CONCEPT,
234
+ 'amniotic-blood-stained': labourCareGuideConceptUuids.AMNIOTIC_BLOOD_STAINED_CONCEPT,
235
+ moulding: labourCareGuideConceptUuids.MOULDING_CONCEPT,
236
+ 'moulding-none': labourCareGuideConceptUuids.MOULDING_NONE_CONCEPT,
237
+ 'moulding-slight': labourCareGuideConceptUuids.MOULDING_SLIGHT_CONCEPT,
238
+ 'moulding-moderate': labourCareGuideConceptUuids.MOULDING_MODERATE_CONCEPT,
239
+ 'moulding-severe': labourCareGuideConceptUuids.MOULDING_SEVERE_CONCEPT,
240
+ 'blood-group': labourCareGuideConceptUuids.BLOOD_GROUP_CONCEPT,
241
+ 'time-slot': labourCareGuideConceptUuids.TIME_SLOT_CONCEPT,
242
+ 'pulse-time-slot': labourCareGuideConceptUuids.PULSE_BP_TIME_CONCEPT,
243
+ 'labor-pattern': labourCareGuideConceptUuids.LABOR_PATTERN_CONCEPT,
244
+ 'hours-since-rupture': labourCareGuideConceptUuids.HOURS_SINCE_RUPTURE_CONCEPT,
245
+ 'ruptured-membranes': labourCareGuideConceptUuids.RUPTURED_MEMBRANES_CONCEPT,
246
+ 'date-of-admission': labourCareGuideConceptUuids.DATE_OF_ADMISSION_CONCEPT,
247
+ 'gestation-weeks': labourCareGuideConceptUuids.GESTATION_WEEKS_CONCEPT,
248
+ 'estimated-delivery-date': labourCareGuideConceptUuids.ESTIMATED_DELIVERY_DATE_CONCEPT,
249
+ 'last-menstrual-period': labourCareGuideConceptUuids.LAST_MENSTRUAL_PERIOD_CONCEPT,
250
+ 'baby-twin-index': '163460AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
251
+ 'station-0': labourCareGuideConceptUuids.STATION_0_CONCEPT,
252
+ 'station-1': labourCareGuideConceptUuids.STATION_1_CONCEPT,
253
+ 'station-2': labourCareGuideConceptUuids.STATION_2_CONCEPT,
254
+ 'station-3': labourCareGuideConceptUuids.STATION_3_CONCEPT,
255
+ 'station-4': labourCareGuideConceptUuids.STATION_4_CONCEPT,
256
+ 'station-5': labourCareGuideConceptUuids.STATION_5_CONCEPT,
257
+ },
258
+ stationDisplayMapping: {
259
+ [labourCareGuideConceptUuids.STATION_0_CONCEPT]: '0/5',
260
+ [labourCareGuideConceptUuids.STATION_1_CONCEPT]: '1/5',
261
+ [labourCareGuideConceptUuids.STATION_2_CONCEPT]: '2/5',
262
+ [labourCareGuideConceptUuids.STATION_3_CONCEPT]: '3/5',
263
+ [labourCareGuideConceptUuids.STATION_4_CONCEPT]: '4/5',
264
+ [labourCareGuideConceptUuids.STATION_5_CONCEPT]: '5/5',
265
+ },
266
+ stationValueMapping: {
267
+ [labourCareGuideConceptUuids.STATION_0_CONCEPT]: 0,
268
+ [labourCareGuideConceptUuids.STATION_1_CONCEPT]: 1,
269
+ [labourCareGuideConceptUuids.STATION_2_CONCEPT]: 2,
270
+ [labourCareGuideConceptUuids.STATION_3_CONCEPT]: 3,
271
+ [labourCareGuideConceptUuids.STATION_4_CONCEPT]: 4,
272
+ [labourCareGuideConceptUuids.STATION_5_CONCEPT]: 5,
273
+ },
274
+ encounterPatterns: [
275
+ 'mch-partograph',
276
+ 'partography',
277
+ 'fetal-monitoring',
278
+ 'maternal-monitoring',
279
+ 'obstetric-vitals',
280
+ 'labor-monitoring',
281
+ 'labour-monitoring',
282
+ ],
283
+ fallbackEncounterMapping: {
284
+ 'fetal-heart-rate': ['mch-mother-consultation', 'vitals', 'obstetric', 'maternal', 'consultation', 'clinical'],
285
+ 'cervical-dilation': ['mch-mother-consultation', 'obstetric', 'maternal', 'consultation', 'clinical'],
286
+ 'maternal-pulse': ['vitals', 'maternal', 'consultation', 'clinical'],
287
+ 'blood-pressure': ['vitals', 'maternal', 'consultation', 'clinical'],
288
+ temperature: ['vitals', 'consultation', 'clinical'],
289
+ 'urine-analysis': ['vitals', 'laboratory', 'consultation', 'clinical'],
290
+ 'drugs-fluids': ['medication', 'treatment', 'consultation', 'clinical'],
291
+ 'progress-events': ['obstetric', 'maternal', 'consultation', 'clinical'],
292
+ },
293
+ defaultFallbackSequence: ['consultation', 'clinical'],
294
+ retryFallbackTypes: ['vitals', 'consultation', 'clinical'],
295
+ defaultEncounterProviderRole: 'a0b03050-c99b-11e0-9572-0800200c9a66',
296
+ defaultLocationUuid: '1',
297
+ storage: {
298
+ maxLocalEntries: 100,
299
+ storageKeyPrefix: 'partography_',
300
+ cacheKeyPrefix: 'partography_encounters_',
301
+ },
302
+ timeConfig: {
303
+ defaultEncounterOffset: 300000,
304
+ retryEncounterOffset: 3600000,
305
+ cacheInvalidationDelay: 1000,
306
+ },
307
+ progressEventConceptNames: {
308
+ [labourCareGuideConceptUuids.FETAL_HEART_RATE_CONCEPT]: {
309
+ name: 'Fetal Heart Rate',
310
+ unit: 'BPM',
311
+ },
312
+ [labourCareGuideConceptUuids.CERVIX_CONCEPT]: {
313
+ name: 'Cervical Dilation',
314
+ unit: 'cm',
315
+ },
316
+ [labourCareGuideConceptUuids.UTERINE_CONTRACTIONS_CONCEPT]: {
317
+ name: 'Uterine Contractions',
318
+ unit: 'per 10min',
319
+ },
320
+ },
321
+ uuids: {
322
+ timeSlot: 'a1b2c3d4-1111-2222-3333-444455556666',
323
+ mchPartographyEncounterUuid: labourCareGuideConceptUuids.UUID_PARTOGRAPHY_ENCOUNTER,
324
+ drugsFluidsEncounterUuid: '39da3525-afe4-45ff-8977-c53b7b359158',
325
+ contractionStrongConceptUuid: labourCareGuideConceptUuids.UUID_CONTRACTION_STRONG_FALLBACK,
326
+ },
327
+ graphTypeDisplayNames: {
328
+ 'fetal-heart-rate': 'Fetal Heart Rate',
329
+ 'cervical-dilation': 'Cervical Dilation',
330
+ 'descent-of-head': 'Descent of Head',
331
+ 'uterine-contractions': 'Uterine Contractions',
332
+ 'maternal-pulse': 'Maternal Pulse',
333
+ 'blood-pressure': 'Blood Pressure',
334
+ temperature: 'Temperature',
335
+ 'urine-analysis': 'Urine Analysis',
336
+ 'drugs-fluids': 'Drugs & Fluids',
337
+ 'progress-events': 'Progress & Events',
338
+ },
339
+ amnioticFluidMap: {
340
+ 'Membrane intact': labourCareGuideConceptUuids.UUID_BABY_AMNIOTIC_INTACT,
341
+ 'Clear liquor': labourCareGuideConceptUuids.UUID_BABY_AMNIOTIC_CLEAR,
342
+ 'Meconium Stained': labourCareGuideConceptUuids.UUID_BABY_AMNIOTIC_MECONIUM,
343
+ Absent: labourCareGuideConceptUuids.AMNIOTIC_ABSENT_CONCEPT,
344
+ 'Blood Stained': labourCareGuideConceptUuids.UUID_BABY_AMNIOTIC_BLOOD,
345
+ },
346
+ mouldingMap: {
347
+ '0': labourCareGuideConceptUuids.UUID_CONTRACTION_NONE,
348
+ '+': labourCareGuideConceptUuids.UUID_URINE_ONE_PLUS,
349
+ '++': labourCareGuideConceptUuids.UUID_URINE_TWO_PLUS,
350
+ '+++': labourCareGuideConceptUuids.UUID_URINE_THREE_PLUS,
351
+ },
352
+ testData: {
353
+ testGraphTypes: ['fetal-heart-rate', 'cervical-dilation', 'maternal-pulse', 'temperature', 'blood-pressure'],
354
+ sampleDataPoints: [
355
+ { value: 120, time: '10:00' },
356
+ { value: 125, time: '11:00' },
357
+ { value: 130, time: '12:00' },
358
+ { value: 128, time: '13:00' },
359
+ ],
360
+ valueIncrement: 10,
361
+ bloodPressureDecrement: 40,
362
+ },
363
+ descentOfHeadUuidToValue: {
364
+ [labourCareGuideConceptUuids.STATION_0_CONCEPT]: 0,
365
+ [labourCareGuideConceptUuids.STATION_1_CONCEPT]: 1,
366
+ [labourCareGuideConceptUuids.STATION_2_CONCEPT]: 2,
367
+ [labourCareGuideConceptUuids.STATION_3_CONCEPT]: 3,
368
+ [labourCareGuideConceptUuids.STATION_4_CONCEPT]: 4,
369
+ [labourCareGuideConceptUuids.STATION_5_CONCEPT]: 5,
370
+ },
371
+ } as const;
372
+
373
+ export type LabourCareGuidePartographyConfig = typeof labourCareGuidePartographyConfig;
374
+
30
375
  export const configSchema: ConfigSchema = {
31
376
  patientCardElements: {
32
377
  _description:
@@ -363,7 +708,7 @@ export const configSchema: ConfigSchema = {
363
708
  dailyBedFeeBillableService: {
364
709
  _description: 'Daily Bed Fee bILLABLE SERVICE uuid',
365
710
  _type: Type.UUID,
366
- _default: '37ce491f-b2dd-4433-b203-efebb8ba1469',
711
+ _default: '0a5a23e3-c953-428c-92e3-3b99f8a822f0',
367
712
  },
368
713
  drugOrderEncounterType: {
369
714
  _description: 'Drug Order encounter type Uuid',
@@ -470,6 +815,16 @@ export const configSchema: ConfigSchema = {
470
815
  label: 'Preoperative Questionnaire',
471
816
  tags: [],
472
817
  },
818
+ {
819
+ uuid: 'b8368c5e-7b3b-419e-bd33-bb05cdf34952',
820
+ label: "Doctor's Follow up Note",
821
+ tags: [],
822
+ },
823
+ {
824
+ uuid: 'e8054795-3df5-435d-9ae3-6ae3a6a1857f',
825
+ label: 'Pre- Anaesthesia Checklist',
826
+ tags: [],
827
+ },
473
828
  ],
474
829
  },
475
830
  inPatientVisitTypeUuid: {
@@ -477,7 +832,114 @@ export const configSchema: ConfigSchema = {
477
832
  _description: 'The visit type uuid for in-patient',
478
833
  _default: 'a73e2ac6-263b-47fc-99fc-e0f2c09fc914',
479
834
  },
480
- };
835
+ postProcedureEncounterTypeUuid: {
836
+ _description: 'Post Procedure encounter type Uuid',
837
+ _type: Type.UUID,
838
+ _default: '13beea61-7d3d-4860-abe3-d5b874f736fb',
839
+ },
840
+ postProcedureConceptUuids: {
841
+ _description: 'Concept UUIDs for the Post Procedure form',
842
+ _type: Type.Object,
843
+ _default: {
844
+ surgeryDateTime: '160715AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
845
+ operativeProcedure: '166635AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
846
+ procedurePerformed: '1651AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
847
+ anaesthesiaType: '164254AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
848
+ patientPosition: '159633AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
849
+ incisionLocation: '163049AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
850
+ incisionType: 'b9879725-26f6-4aa4-8777-bc7f75d388c1',
851
+ closureMethod: '166629AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
852
+ findings: '160632AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
853
+ histologySpecimen: '161934AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
854
+ specimenType: '163761AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
855
+ procedureNotes: '160716AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
856
+ },
857
+ },
858
+ paymentMethods: {
859
+ _type: Type.Array,
860
+ _description: 'List of payment methods used when printing gatepass',
861
+ _default: ['Cash [ ]', 'Cheque [ ]', 'SHA [ ]', 'Scheme [ ]', 'M.R.M [ ]'],
862
+ },
863
+ nursingCardex: {
864
+ _type: Type.Object,
865
+ _description: 'Nursing Cardex form concept UUIDs, form field paths and encounter role.',
866
+ _default: {
867
+ encounterRoleUuid: 'a0b03050-c99b-11e0-9572-0800200c9a66',
868
+ concepts: {
869
+ nursingNotes: '164231AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
870
+ actionTaken: '1282AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
871
+ yes: '1065AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
872
+ no: '1066AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
873
+ medicationGivenGroup: '159369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
874
+ fluidsGivenGroup: '161911AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
875
+ nameField: '164231AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
876
+ timeField: '9c4c7722-ba3e-4bdf-ab97-c04170100037',
877
+ encounterType: 'b6569074-3b8c-43ba-bd4a-98c445405035',
878
+ formUuid: '1f81d5e2-3569-40cf-bbb9-361a53ba409b',
879
+ },
880
+ formFieldPaths: {
881
+ nursingNotes: 'nursingNotes~9',
882
+ actionTaken: 'actionTaKen~10',
883
+ medicationName: 'medicatIonName~11',
884
+ medicationMeta: 'medicatIonMeta~11m',
885
+ medicationTime: 'TtakEn~12',
886
+ medicationGroup: 'medsRepeat~13',
887
+ actionTakenFluids: 'actionTaKenIVfluids~14',
888
+ fluidName: 'flUidName~15',
889
+ fluidMeta: 'flUidMeta~15m',
890
+ fluidTime: 'fluiDsTtakEn~16',
891
+ fluidGroup: 'fluiDsRepeat~17',
892
+ },
893
+ },
894
+ },
895
+ inpatientLocationTags: {
896
+ _default: {
897
+ maternityWard: 'b95dd376-fa35-40a6-b140-d144c5f22f62',
898
+ antenatalWard: 'dab3c2bb-0b0b-4ebd-8f99-3ad44996d311',
899
+ labourWard: '7680b7ee-6880-450c-8b7e-2a748b6f9dc7',
900
+ },
901
+ },
902
+ treatmentChartCardexEncounterTypeUuid: {
903
+ _description: 'Encounter type uuid for the cardex section of the treatment sheet',
904
+ _type: Type.UUID,
905
+ _default: 'b6569074-3b8c-43ba-bd4a-98c445405035',
906
+ },
907
+ treatmentChartCardexFormUuid: {
908
+ _description: 'Form uuid for the cardex section of the treatment sheet',
909
+ _type: Type.UUID,
910
+ _default: '1f81d5e2-3569-40cf-bbb9-361a53ba409b',
911
+ },
912
+ treatmentChartMedicationGroupUuid: {
913
+ _description: 'Concept uuid for the medication group in the cardex section of the treatment sheet',
914
+ _type: Type.UUID,
915
+ _default: '159369AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
916
+ },
917
+ treatmentChartFluidGroupUuid: {
918
+ _description: 'Concept uuid for the fluids group in the cardex section of the treatment sheet',
919
+ _type: Type.UUID,
920
+ _default: '161911AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
921
+ },
922
+ treatmentChartNameConceptUuid: {
923
+ _description: 'Concept uuid for the name field in the cardex section of the treatment sheet',
924
+ _type: Type.UUID,
925
+ _default: '164231AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA',
926
+ },
927
+ treatmentChartTimeConceptUuid: {
928
+ _description: 'Concept uuid for the time field in the cardex section of the treatment sheet',
929
+ _type: Type.UUID,
930
+ _default: '9c4c7722-ba3e-4bdf-ab97-c04170100037',
931
+ },
932
+ partography: {
933
+ _type: Type.Object,
934
+ _description: 'Labour care guide partography module configuration',
935
+ _default: labourCareGuidePartographyConfig,
936
+ },
937
+ lcgSessionCorrectionPrivilege: {
938
+ _type: Type.String,
939
+ _description: 'OpenMRS privilege required to open the LCG wrong-patient correction wizard',
940
+ _default: 'Correct LCG Wrong Patient',
941
+ },
942
+ } as const;
481
943
 
482
944
  export interface WardConfigObject {
483
945
  patientCardElements: {
@@ -531,8 +993,64 @@ export interface WardConfigObject {
531
993
  tags: Array<{ uuid: string; tag: string }>;
532
994
  }>;
533
995
  inPatientVisitTypeUuid: string;
996
+ postProcedureEncounterTypeUuid: string;
997
+ postProcedureConceptUuids: {
998
+ surgeryDateTime: string;
999
+ operativeProcedure: string;
1000
+ procedurePerformed: string;
1001
+ anaesthesiaType: string;
1002
+ patientPosition: string;
1003
+ incisionLocation: string;
1004
+ incisionType: string;
1005
+ closureMethod: string;
1006
+ findings: string;
1007
+ histologySpecimen: string;
1008
+ specimenType: string;
1009
+ procedureNotes: string;
1010
+ };
1011
+ paymentMethods: Array<string>;
1012
+ nursingCardex: {
1013
+ encounterRoleUuid: string;
1014
+ concepts: {
1015
+ nursingNotes: string;
1016
+ actionTaken: string;
1017
+ yes: string;
1018
+ no: string;
1019
+ medicationGivenGroup: string;
1020
+ fluidsGivenGroup: string;
1021
+ nameField: string;
1022
+ timeField: string;
1023
+ encounterType: string;
1024
+ formUuid: string;
1025
+ };
1026
+ formFieldPaths: {
1027
+ nursingNotes: string;
1028
+ actionTaken: string;
1029
+ medicationName: string;
1030
+ medicationMeta: string;
1031
+ medicationTime: string;
1032
+ medicationGroup: string;
1033
+ actionTakenFluids: string;
1034
+ fluidName: string;
1035
+ fluidMeta: string;
1036
+ fluidTime: string;
1037
+ fluidGroup: string;
1038
+ };
1039
+ };
1040
+ inpatientLocationTags: {
1041
+ maternityWard: string;
1042
+ antenatalWard: string;
1043
+ labourWard: string;
1044
+ };
1045
+ treatmentChartCardexEncounterTypeUuid: string;
1046
+ treatmentChartCardexFormUuid: string;
1047
+ treatmentChartMedicationGroupUuid: string;
1048
+ treatmentChartFluidGroupUuid: string;
1049
+ treatmentChartNameConceptUuid: string;
1050
+ treatmentChartTimeConceptUuid: string;
1051
+ partography: LabourCareGuidePartographyConfig;
1052
+ lcgSessionCorrectionPrivilege: string;
534
1053
  }
535
-
536
1054
  export interface PendingItemsElementConfig {
537
1055
  id: string;
538
1056
  showPendingItems: boolean;
@@ -1,8 +1,4 @@
1
- declare module '@carbon/react';
2
-
3
1
  declare module '*.scss' {
4
2
  const content: { [className: string]: string };
5
3
  export default content;
6
4
  }
7
-
8
- declare type SideNavProps = {};