@kenyaemr/esm-ward-app 8.1.2-pre.214 → 8.5.1-pre.13

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 (350) hide show
  1. package/.turbo/turbo-build.log +25 -35
  2. package/README.md +38 -0
  3. package/dist/1119.js +1 -0
  4. package/dist/1197.js +1 -0
  5. package/dist/1663.js +1 -0
  6. package/dist/1663.js.map +1 -0
  7. package/dist/1741.js +1 -0
  8. package/dist/1741.js.map +1 -0
  9. package/dist/1776.js +1 -0
  10. package/dist/1776.js.map +1 -0
  11. package/dist/1899.js +1 -0
  12. package/dist/1899.js.map +1 -0
  13. package/dist/2146.js +1 -0
  14. package/dist/2372.js +1 -0
  15. package/dist/2372.js.map +1 -0
  16. package/dist/2470.js +1 -0
  17. package/dist/2470.js.map +1 -0
  18. package/dist/2499.js +2 -0
  19. package/dist/{372.js.LICENSE.txt → 2499.js.LICENSE.txt} +2 -2
  20. package/dist/2499.js.map +1 -0
  21. package/dist/2537.js +1 -0
  22. package/dist/2537.js.map +1 -0
  23. package/dist/2557.js +1 -0
  24. package/dist/2557.js.map +1 -0
  25. package/dist/2690.js +1 -0
  26. package/dist/2728.js +2 -0
  27. package/dist/{649.js.LICENSE.txt → 2728.js.LICENSE.txt} +2 -2
  28. package/dist/2728.js.map +1 -0
  29. package/dist/2775.js +2 -0
  30. package/dist/2775.js.LICENSE.txt +59 -0
  31. package/dist/2775.js.map +1 -0
  32. package/dist/2904.js +2 -0
  33. package/dist/2904.js.LICENSE.txt +15 -0
  34. package/dist/2904.js.map +1 -0
  35. package/dist/2913.js +2 -0
  36. package/dist/2913.js.map +1 -0
  37. package/dist/2932.js +1 -0
  38. package/dist/2932.js.map +1 -0
  39. package/dist/2941.js +1 -0
  40. package/dist/2941.js.map +1 -0
  41. package/dist/2948.js +1 -0
  42. package/dist/2948.js.map +1 -0
  43. package/dist/3099.js +1 -0
  44. package/dist/3103.js +1 -0
  45. package/dist/3103.js.map +1 -0
  46. package/dist/3296.js +2 -0
  47. package/dist/3296.js.LICENSE.txt +9 -0
  48. package/dist/3296.js.map +1 -0
  49. package/dist/3365.js +1 -0
  50. package/dist/3365.js.map +1 -0
  51. package/dist/3373.js +2 -0
  52. package/dist/3373.js.LICENSE.txt +5 -0
  53. package/dist/3373.js.map +1 -0
  54. package/dist/3399.js +1 -0
  55. package/dist/3399.js.map +1 -0
  56. package/dist/3413.js +1 -0
  57. package/dist/3413.js.map +1 -0
  58. package/dist/3584.js +1 -0
  59. package/dist/3737.js +1 -0
  60. package/dist/3737.js.map +1 -0
  61. package/dist/3982.js +1 -0
  62. package/dist/3982.js.map +1 -0
  63. package/dist/4041.js +2 -0
  64. package/dist/4041.js.map +1 -0
  65. package/dist/4055.js +1 -0
  66. package/dist/4132.js +1 -0
  67. package/dist/4300.js +1 -0
  68. package/dist/4335.js +1 -0
  69. package/dist/4430.js +2 -0
  70. package/dist/4430.js.LICENSE.txt +29 -0
  71. package/dist/4430.js.map +1 -0
  72. package/dist/4618.js +1 -0
  73. package/dist/4652.js +1 -0
  74. package/dist/4701.js +2 -0
  75. package/dist/4701.js.LICENSE.txt +9 -0
  76. package/dist/4701.js.map +1 -0
  77. package/dist/4944.js +1 -0
  78. package/dist/5173.js +1 -0
  79. package/dist/5241.js +1 -0
  80. package/dist/5442.js +1 -0
  81. package/dist/559.js +1 -1
  82. package/dist/559.js.map +1 -1
  83. package/dist/5661.js +1 -0
  84. package/dist/6012.js +2 -0
  85. package/dist/6012.js.LICENSE.txt +5 -0
  86. package/dist/6012.js.map +1 -0
  87. package/dist/6022.js +1 -0
  88. package/dist/6468.js +1 -0
  89. package/dist/6679.js +1 -0
  90. package/dist/6840.js +1 -0
  91. package/dist/6859.js +1 -0
  92. package/dist/7097.js +1 -0
  93. package/dist/7159.js +1 -0
  94. package/dist/7179.js +2 -0
  95. package/dist/7179.js.LICENSE.txt +9 -0
  96. package/dist/7179.js.map +1 -0
  97. package/dist/723.js +1 -0
  98. package/dist/7232.js +2 -0
  99. package/dist/7232.js.LICENSE.txt +9 -0
  100. package/dist/7232.js.map +1 -0
  101. package/dist/7524.js +1 -0
  102. package/dist/7524.js.map +1 -0
  103. package/dist/7617.js +1 -0
  104. package/dist/7661.js +1 -0
  105. package/dist/7661.js.map +1 -0
  106. package/dist/7886.js +1 -0
  107. package/dist/7886.js.map +1 -0
  108. package/dist/795.js +1 -0
  109. package/dist/8163.js +1 -0
  110. package/dist/8205.js +1 -0
  111. package/dist/8205.js.map +1 -0
  112. package/dist/8349.js +1 -0
  113. package/dist/8501.js +1 -0
  114. package/dist/8501.js.map +1 -0
  115. package/dist/8522.js +1 -0
  116. package/dist/8522.js.map +1 -0
  117. package/dist/8618.js +1 -0
  118. package/dist/8622.js +1 -0
  119. package/dist/8622.js.map +1 -0
  120. package/dist/89.js +1 -0
  121. package/dist/89.js.map +1 -0
  122. package/dist/890.js +1 -0
  123. package/dist/9045.js +1 -0
  124. package/dist/9045.js.map +1 -0
  125. package/dist/9117.js +1 -0
  126. package/dist/9117.js.map +1 -0
  127. package/dist/9214.js +1 -0
  128. package/dist/9538.js +1 -0
  129. package/dist/9569.js +1 -0
  130. package/dist/986.js +1 -0
  131. package/dist/9876.js +2 -0
  132. package/dist/9876.js.LICENSE.txt +9 -0
  133. package/dist/9876.js.map +1 -0
  134. package/dist/9879.js +1 -0
  135. package/dist/9880.js +1 -0
  136. package/dist/9880.js.map +1 -0
  137. package/dist/9895.js +1 -0
  138. package/dist/9900.js +1 -0
  139. package/dist/9913.js +1 -0
  140. package/dist/kenyaemr-esm-ward-app.js +1 -1
  141. package/dist/kenyaemr-esm-ward-app.js.buildmanifest.json +1457 -237
  142. package/dist/kenyaemr-esm-ward-app.js.map +1 -1
  143. package/dist/main.js +1 -1
  144. package/dist/main.js.LICENSE.txt +0 -35
  145. package/dist/main.js.map +1 -1
  146. package/dist/routes.json +1 -1
  147. package/mock.tsx +15 -2
  148. package/package.json +10 -5
  149. package/src/beds/{empty-bed-skeleton.tsx → empty-bed-skeleton.component.tsx} +2 -2
  150. package/src/config-schema.ts +48 -0
  151. package/src/declarations.d.ts +8 -0
  152. package/src/hooks/useAdmissionLocation.ts +22 -1
  153. package/src/hooks/useInpatientAdmission.ts +12 -8
  154. package/src/hooks/useInpatientAdmissionByPatients.ts +29 -0
  155. package/src/hooks/useInpatientRequest.ts +3 -0
  156. package/src/hooks/useInpatientRequestByPatients.ts +34 -0
  157. package/src/hooks/useIpdDischargeEncounter.ts +137 -0
  158. package/src/hooks/usePatientPendingOrders.ts +1 -1
  159. package/src/hooks/useRestPatient.ts +11 -3
  160. package/src/hooks/useWardLocation.test.ts +1 -1
  161. package/src/hooks/useWardLocation.ts +15 -2
  162. package/src/hooks/useWardPatientGrouping.ts +60 -7
  163. package/src/index.ts +24 -4
  164. package/src/location-selector/location-selector.component.tsx +38 -5
  165. package/src/root.component.tsx +2 -2
  166. package/src/routes.json +60 -26
  167. package/src/types/index.ts +17 -6
  168. package/src/ward-patient-card/card-rows/admission-request-note-row.component.tsx +1 -1
  169. package/src/ward-patient-card/card-rows/coded-obs-tags-row.component.tsx +4 -4
  170. package/src/ward-patient-card/card-rows/mother-child-row.component.tsx +6 -6
  171. package/src/ward-patient-card/card-rows/pending-items-row.component.tsx +2 -3
  172. package/src/ward-patient-card/row-elements/{ward-patient-coded-obs-tags.tsx → ward-patient-coded-obs-tags.component.tsx} +5 -5
  173. package/src/ward-patient-card/row-elements/{ward-patient-header-address.tsx → ward-patient-header-address.component.tsx} +2 -2
  174. package/src/ward-patient-card/row-elements/{ward-patient-identifier.tsx → ward-patient-identifier.component.tsx} +7 -1
  175. package/src/ward-patient-card/row-elements/ward-patient-identifier.scss +3 -0
  176. package/src/ward-patient-card/row-elements/{ward-patient-obs.tsx → ward-patient-obs.component.tsx} +5 -5
  177. package/src/ward-patient-card/row-elements/{ward-patient-pending-transfer.tsx → ward-patient-pending-transfer.component.tsx} +3 -5
  178. package/src/ward-patient-card/row-elements/ward-patient-time-on-ward.component.tsx +73 -0
  179. package/src/ward-patient-card/row-elements/ward-patient-time-since-admission.component.tsx +29 -0
  180. package/src/ward-patient-card/ward-patient-card.component.tsx +5 -5
  181. package/src/ward-patient-card/ward-patient-card.scss +2 -6
  182. package/src/ward-patients/admitted-patients.tsx +218 -0
  183. package/src/ward-patients/awaiting-admission-patients.tsx +158 -0
  184. package/src/ward-patients/discharge-in-patients.tsx +183 -0
  185. package/src/ward-patients/discharge-patients.tsx +129 -0
  186. package/src/ward-patients/patient-cells.tsx +75 -0
  187. package/src/ward-patients/table-state-components.tsx +40 -0
  188. package/src/ward-patients/ward-patient.scss +24 -0
  189. package/src/ward-patients/ward-patients-table.tsx +38 -0
  190. package/src/ward-view/default-ward/default-ward-patient-card-header.component.tsx +8 -8
  191. package/src/ward-view/default-ward/default-ward-pending-patients.component.tsx +3 -3
  192. package/src/ward-view/default-ward/default-ward-view.component.tsx +31 -6
  193. package/src/ward-view/linelist-wards/Filters.tsx +25 -0
  194. package/src/ward-view/linelist-wards/Header.tsx +27 -0
  195. package/src/ward-view/linelist-wards/LineListTable.tsx +147 -0
  196. package/src/ward-view/linelist-wards/Metrics.tsx +21 -0
  197. package/src/ward-view/linelist-wards/WardsLineList.tsx +29 -0
  198. package/src/ward-view/linelist-wards/linelist-wards.scss +100 -0
  199. package/src/ward-view/materal-ward/maternal-ward-patient-card-header.component.tsx +8 -8
  200. package/src/ward-view/materal-ward/maternal-ward-patient-card.component.tsx +2 -2
  201. package/src/ward-view/materal-ward/maternal-ward-patient-card.test.tsx +1 -1
  202. package/src/ward-view/materal-ward/maternal-ward-pending-patients.component.tsx +1 -1
  203. package/src/ward-view/materal-ward/maternal-ward-view.component.tsx +4 -4
  204. package/src/ward-view/ward-view-content-wrapper.tsx +36 -0
  205. package/src/ward-view/ward-view.resource.ts +26 -8
  206. package/src/ward-view/ward-view.scss +15 -8
  207. package/src/ward-view/ward-view.test.tsx +8 -8
  208. package/src/ward-view/ward.component.tsx +2 -2
  209. package/src/ward-view-header/admission-requests-bar.component.tsx +18 -8
  210. package/src/ward-view-header/admission-requests-bar.test.tsx +3 -3
  211. package/src/ward-view-header/ward-metric.component.tsx +2 -3
  212. package/src/ward-workspace/admission-request-card/admission-request-card-actions.component.tsx +12 -14
  213. package/src/ward-workspace/admission-request-card/admission-request-card-header.component.tsx +5 -5
  214. package/src/ward-workspace/admission-request-card/admission-request-card.component.tsx +1 -1
  215. package/src/ward-workspace/admission-request-workspace/admission-requests-action-button.extension.tsx +18 -0
  216. package/src/ward-workspace/admission-request-workspace/admission-requests-context.ts +20 -0
  217. package/src/ward-workspace/admission-request-workspace/admission-requests-workspace.test.tsx +7 -6
  218. package/src/ward-workspace/admission-request-workspace/admission-requests.workspace.tsx +15 -25
  219. package/src/ward-workspace/admit-patient-button.component.tsx +41 -18
  220. package/src/ward-workspace/admit-patient-form-workspace/admit-patient-form.test.tsx +14 -16
  221. package/src/ward-workspace/admit-patient-form-workspace/admit-patient-form.workspace.tsx +2 -2
  222. package/src/ward-workspace/bed-selector.component.tsx +1 -1
  223. package/src/ward-workspace/cancel-admission-request-workspace/cancel-admission-request.test.tsx +1 -1
  224. package/src/ward-workspace/cancel-admission-request-workspace/cancel-admission-request.workspace.tsx +4 -6
  225. package/src/ward-workspace/create-admission-encounter/create-admission-encounter-action-button.extension.tsx +46 -0
  226. package/src/ward-workspace/create-admission-encounter/create-admission-encounter.test.tsx +241 -0
  227. package/src/ward-workspace/create-admission-encounter/create-admission-encounter.workspace.tsx +152 -0
  228. package/src/ward-workspace/kenya-emr-patient-discharge/discharge-workspace-siderail.component.tsx +23 -0
  229. package/src/ward-workspace/kenya-emr-patient-discharge/patient-discharge.resource.tsx +123 -0
  230. package/src/ward-workspace/kenya-emr-patient-discharge/patient-discharge.workspace.tsx +101 -0
  231. package/src/ward-workspace/patient-discharge/patient-discharge.workspace.tsx +6 -15
  232. package/src/ward-workspace/patient-transfer-bed-swap/{patient-transfer-request-form.component.tsx → patient-admit-or-transfer-request-form.component.tsx} +56 -37
  233. package/src/ward-workspace/patient-transfer-bed-swap/patient-bed-swap-form.component.tsx +13 -3
  234. package/src/ward-workspace/patient-transfer-bed-swap/patient-transfer-swap.workspace.tsx +11 -5
  235. package/src/ward-workspace/patient-transfer-request-workspace/patient-transfer-request.scss +5 -0
  236. package/src/ward-workspace/patient-transfer-request-workspace/patient-transfer-request.workspace.tsx +20 -6
  237. package/src/ward-workspace/ward-patient-notes/form/notes-form.component.tsx +2 -1
  238. package/src/ward-workspace/ward-patient-notes/history/note.component.tsx +3 -3
  239. package/src/ward.resource.ts +9 -3
  240. package/translations/am.json +123 -0
  241. package/translations/ar.json +123 -0
  242. package/translations/ar_SY.json +123 -0
  243. package/translations/bn.json +123 -0
  244. package/translations/de.json +123 -0
  245. package/translations/en.json +31 -3
  246. package/translations/en_US.json +123 -0
  247. package/translations/es.json +123 -0
  248. package/translations/es_MX.json +123 -0
  249. package/translations/fr.json +123 -0
  250. package/translations/he.json +123 -0
  251. package/translations/hi.json +123 -0
  252. package/translations/hi_IN.json +123 -0
  253. package/translations/id.json +123 -0
  254. package/translations/it.json +123 -0
  255. package/translations/ka.json +123 -0
  256. package/translations/km.json +123 -0
  257. package/translations/ku.json +123 -0
  258. package/translations/ky.json +123 -0
  259. package/translations/lg.json +123 -0
  260. package/translations/ne.json +123 -0
  261. package/translations/pl.json +123 -0
  262. package/translations/pt.json +123 -0
  263. package/translations/pt_BR.json +123 -0
  264. package/translations/qu.json +123 -0
  265. package/translations/ro_RO.json +123 -0
  266. package/translations/ru_RU.json +123 -0
  267. package/translations/si.json +123 -0
  268. package/translations/sw.json +123 -0
  269. package/translations/sw_KE.json +123 -0
  270. package/translations/tr.json +123 -0
  271. package/translations/tr_TR.json +123 -0
  272. package/translations/uk.json +123 -0
  273. package/translations/uz.json +123 -0
  274. package/translations/uz@Latn.json +123 -0
  275. package/translations/uz_UZ.json +123 -0
  276. package/translations/vi.json +123 -0
  277. package/translations/zh.json +123 -0
  278. package/translations/zh_CN.json +123 -0
  279. package/dist/109.js +0 -1
  280. package/dist/109.js.map +0 -1
  281. package/dist/124.js +0 -1
  282. package/dist/124.js.map +0 -1
  283. package/dist/125.js +0 -1
  284. package/dist/125.js.map +0 -1
  285. package/dist/126.js +0 -1
  286. package/dist/126.js.map +0 -1
  287. package/dist/130.js +0 -2
  288. package/dist/130.js.LICENSE.txt +0 -5
  289. package/dist/130.js.map +0 -1
  290. package/dist/146.js +0 -1
  291. package/dist/146.js.map +0 -1
  292. package/dist/15.js +0 -1
  293. package/dist/15.js.map +0 -1
  294. package/dist/325.js +0 -1
  295. package/dist/325.js.map +0 -1
  296. package/dist/348.js +0 -1
  297. package/dist/348.js.map +0 -1
  298. package/dist/362.js +0 -1
  299. package/dist/362.js.map +0 -1
  300. package/dist/372.js +0 -2
  301. package/dist/372.js.map +0 -1
  302. package/dist/443.js +0 -1
  303. package/dist/443.js.map +0 -1
  304. package/dist/471.js +0 -1
  305. package/dist/471.js.map +0 -1
  306. package/dist/481.js +0 -1
  307. package/dist/481.js.map +0 -1
  308. package/dist/53.js +0 -1
  309. package/dist/53.js.map +0 -1
  310. package/dist/574.js +0 -1
  311. package/dist/576.js +0 -1
  312. package/dist/576.js.map +0 -1
  313. package/dist/577.js +0 -1
  314. package/dist/577.js.map +0 -1
  315. package/dist/591.js +0 -2
  316. package/dist/591.js.map +0 -1
  317. package/dist/598.js +0 -1
  318. package/dist/598.js.map +0 -1
  319. package/dist/649.js +0 -2
  320. package/dist/649.js.map +0 -1
  321. package/dist/662.js +0 -1
  322. package/dist/662.js.map +0 -1
  323. package/dist/767.js +0 -1
  324. package/dist/767.js.map +0 -1
  325. package/dist/784.js +0 -2
  326. package/dist/784.js.map +0 -1
  327. package/dist/921.js +0 -1
  328. package/dist/921.js.map +0 -1
  329. package/dist/922.js +0 -1
  330. package/dist/922.js.map +0 -1
  331. package/dist/925.js +0 -2
  332. package/dist/925.js.LICENSE.txt +0 -40
  333. package/dist/925.js.map +0 -1
  334. package/dist/940.js +0 -1
  335. package/dist/940.js.map +0 -1
  336. package/dist/969.js +0 -1
  337. package/dist/969.js.map +0 -1
  338. package/dist/983.js +0 -1
  339. package/dist/983.js.map +0 -1
  340. package/package-lock.json +0 -5001
  341. package/src/ward-patient-card/row-elements/ward-patient-time-on-ward.tsx +0 -22
  342. package/src/ward-patient-card/row-elements/ward-patient-time-since-admission.tsx +0 -22
  343. /package/dist/{591.js.LICENSE.txt → 2913.js.LICENSE.txt} +0 -0
  344. /package/dist/{784.js.LICENSE.txt → 4041.js.LICENSE.txt} +0 -0
  345. /package/src/ward-patient-card/row-elements/{ward-patient-age.tsx → ward-patient-age.component.tsx} +0 -0
  346. /package/src/ward-patient-card/row-elements/{ward-patient-bed-number.tsx → ward-patient-bed-number.component.tsx} +0 -0
  347. /package/src/ward-patient-card/row-elements/{ward-patient-location.tsx → ward-patient-location.component.tsx} +0 -0
  348. /package/src/ward-patient-card/row-elements/{ward-patient-name.tsx → ward-patient-name.component.tsx} +0 -0
  349. /package/src/ward-patient-card/row-elements/{ward-patient-responsive-tooltip.tsx → ward-patient-responsive-tooltip.component.tsx} +0 -0
  350. /package/src/ward-patient-card/row-elements/{ward-patient-skeleton-text.tsx → ward-patient-skeleton-text.component.tsx} +0 -0
@@ -4,8 +4,8 @@ import React, { useState } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import type { WardPatientWorkspaceProps } from '../../types';
6
6
  import WardPatientWorkspaceBanner from '../patient-banner/patient-banner.component';
7
+ import PatientAdmitOrTransferForm from './patient-admit-or-transfer-request-form.component';
7
8
  import PatientBedSwapForm from './patient-bed-swap-form.component';
8
- import PatientTransferForm from './patient-transfer-request-form.component';
9
9
  import styles from './patient-transfer-swap.scss';
10
10
 
11
11
  const TransferSection = {
@@ -15,9 +15,15 @@ const TransferSection = {
15
15
 
16
16
  type TransferSectionValues = (typeof TransferSection)[keyof typeof TransferSection];
17
17
 
18
- export default function PatientTransferAndSwapWorkspace(props: WardPatientWorkspaceProps) {
18
+ export default function PatientTransferAndSwapWorkspace({
19
+ defaultTransfersection,
20
+ withContentSwitcher = true,
21
+ ...props
22
+ }: WardPatientWorkspaceProps & { withContentSwitcher?: boolean; defaultTransfersection?: TransferSectionValues }) {
19
23
  const { t } = useTranslation();
20
- const [selectedSection, setSelectedSection] = useState<TransferSectionValues>(TransferSection.TRANSFER);
24
+ const [selectedSection, setSelectedSection] = useState<TransferSectionValues>(
25
+ defaultTransfersection ?? TransferSection.TRANSFER,
26
+ );
21
27
  const isBedManagementModuleInstalled = useFeatureFlag('bedmanagement-module');
22
28
 
23
29
  return (
@@ -25,7 +31,7 @@ export default function PatientTransferAndSwapWorkspace(props: WardPatientWorksp
25
31
  <div className={styles.patientWorkspaceBanner}>
26
32
  <WardPatientWorkspaceBanner wardPatient={props?.wardPatient} />
27
33
  </div>
28
- {isBedManagementModuleInstalled && (
34
+ {isBedManagementModuleInstalled && withContentSwitcher && (
29
35
  <div className={styles.contentSwitcherWrapper}>
30
36
  <h2 className={styles.productiveHeading02}>{t('typeOfTransfer', 'Type of transfer')}</h2>
31
37
  <div className={styles.contentSwitcher}>
@@ -38,7 +44,7 @@ export default function PatientTransferAndSwapWorkspace(props: WardPatientWorksp
38
44
  )}
39
45
  <div className={styles.workspaceForm}>
40
46
  {selectedSection === TransferSection.TRANSFER ? (
41
- <PatientTransferForm {...props} />
47
+ <PatientAdmitOrTransferForm {...props} />
42
48
  ) : (
43
49
  <PatientBedSwapForm {...props} />
44
50
  )}
@@ -0,0 +1,5 @@
1
+ .patientTransferRequestWorkspace {
2
+ height: 100%;
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
@@ -1,11 +1,25 @@
1
- import React from 'react';
2
- import PatientTransferForm from '../patient-transfer-bed-swap/patient-transfer-request-form.component';
1
+ import React, { useEffect } from 'react';
2
+ import { useTranslation } from 'react-i18next';
3
3
  import { type WardPatientWorkspaceProps } from '../../types';
4
+ import WardPatientWorkspaceBanner from '../patient-banner/patient-banner.component';
5
+ import PatientAdmitOrTransferForm from '../patient-transfer-bed-swap/patient-admit-or-transfer-request-form.component';
6
+ import styles from './patient-transfer-request.scss';
4
7
 
5
- interface PatientTransferRequestFormProps extends WardPatientWorkspaceProps {}
8
+ interface PatientTransferRequestWorkspaceProps extends WardPatientWorkspaceProps {}
6
9
 
7
- const PatientTransferRequestForm: React.FC<PatientTransferRequestFormProps> = (props) => {
8
- return <PatientTransferForm {...props} />;
10
+ /**
11
+ * This workspace is launched when the "Transfer elsewhere" / "Admit elsewhere"
12
+ * button on a pending request patient card is clicked on
13
+ */
14
+ const PatientTransferRequestWorkspace: React.FC<PatientTransferRequestWorkspaceProps> = (props) => {
15
+ const { wardPatient } = props;
16
+
17
+ return (
18
+ <div className={styles.patientTransferRequestWorkspace}>
19
+ <WardPatientWorkspaceBanner {...{ wardPatient }} />
20
+ <PatientAdmitOrTransferForm {...props} />
21
+ </div>
22
+ );
9
23
  };
10
24
 
11
- export default PatientTransferRequestForm;
25
+ export default PatientTransferRequestWorkspace;
@@ -16,6 +16,7 @@ import { moduleName } from '../../../constant';
16
16
  import { savePatientNote } from '../notes.resource';
17
17
  import useEmrConfiguration from '../../../hooks/useEmrConfiguration';
18
18
  import styles from './notes-form.scss';
19
+ import { type EncounterPayload } from '../../../types';
19
20
 
20
21
  type NotesFormData = z.infer<typeof noteFormSchema>;
21
22
 
@@ -66,7 +67,7 @@ const PatientNotesForm: React.FC<PatientNotesFormProps> = ({
66
67
  const { wardClinicalNote } = data;
67
68
  setIsSubmitting(true);
68
69
 
69
- const notePayload = {
70
+ const notePayload: EncounterPayload = {
70
71
  patient: patientUuid,
71
72
  location: locationUuid,
72
73
  encounterType: emrConfiguration?.inpatientNoteEncounterType.uuid,
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { type PatientNote } from '../types';
3
- import { SkeletonText, Tag, Tile } from '@carbon/react';
4
- import { useTranslation } from 'react-i18next';
5
2
  import dayjs from 'dayjs';
3
+ import { useTranslation } from 'react-i18next';
4
+ import { SkeletonText, Tag, Tile } from '@carbon/react';
5
+ import { type PatientNote } from '../types';
6
6
  import styles from './styles.scss';
7
7
 
8
8
  export const InPatientNoteSkeleton: React.FC = () => {
@@ -8,7 +8,12 @@ export function useCreateEncounter() {
8
8
  const { currentProvider } = useSession();
9
9
  const { emrConfiguration, isLoadingEmrConfiguration, errorFetchingEmrConfiguration } = useEmrConfiguration();
10
10
 
11
- const createEncounter = (patient: Patient, encounterType: OpenmrsResource, obs: ObsPayload[] = []) => {
11
+ const createEncounter = (
12
+ patient: Patient,
13
+ encounterType: OpenmrsResource,
14
+ visitUuid: string,
15
+ obs: ObsPayload[] = [],
16
+ ) => {
12
17
  const encounterPayload = {
13
18
  patient: patient.uuid,
14
19
  encounterType,
@@ -20,6 +25,7 @@ export function useCreateEncounter() {
20
25
  },
21
26
  ],
22
27
  obs,
28
+ visit: visitUuid,
23
29
  };
24
30
 
25
31
  return openmrsFetch<Encounter>(`${restBaseUrl}/encounter`, {
@@ -38,14 +44,14 @@ export function useAdmitPatient() {
38
44
  const { createEncounter, emrConfiguration, isLoadingEmrConfiguration, errorFetchingEmrConfiguration } =
39
45
  useCreateEncounter();
40
46
 
41
- const admitPatient = (patient: Patient, dispositionType: DispositionType) => {
47
+ const admitPatient = (patient: Patient, dispositionType: DispositionType, visitUuid: string) => {
42
48
  const encounterType =
43
49
  dispositionType === 'ADMIT'
44
50
  ? emrConfiguration.admissionEncounterType
45
51
  : dispositionType === 'TRANSFER'
46
52
  ? emrConfiguration.transferWithinHospitalEncounterType
47
53
  : null;
48
- return createEncounter(patient, encounterType);
54
+ return createEncounter(patient, encounterType, visitUuid);
49
55
  };
50
56
 
51
57
  return { admitPatient, isLoadingEmrConfiguration, errorFetchingEmrConfiguration };
@@ -0,0 +1,123 @@
1
+ {
2
+ "admissionRequestCancelled": "Admission request cancelled.",
3
+ "admissionRequests": "Admission requests",
4
+ "admissionRequestsCount_one": "{{count}} admission request",
5
+ "admissionRequestsCount_other": "{{count}} admission requests",
6
+ "admit": "Admit",
7
+ "admitElsewhere": "Admit elsewhere",
8
+ "admitPatient": "Admit patient",
9
+ "admitting": "Admitting...",
10
+ "backToSearchResults": "Back to search results",
11
+ "bedShare": "Bed share",
12
+ "bedSwap": "Bed swap",
13
+ "cancel": "Cancel",
14
+ "cancelAdmissionRequest": "Cancel admission request",
15
+ "capacity": "Capacity",
16
+ "capacityMetricValue": "{{ metricValue }} %",
17
+ "chooseAnOption": "Choose an option",
18
+ "clinicalForms": "Clinical forms",
19
+ "clinicalNoteLabel": "Write your notes",
20
+ "clinicalNotes": "Clinical notes",
21
+ "countItems_one": "{{count}} {{item}}",
22
+ "countItems_other": "{{count}} {{item}}",
23
+ "days_one": "{{count}} day",
24
+ "days_other": "{{count}} days",
25
+ "discharge": "Discharge",
26
+ "emptyBed": "Empty bed",
27
+ "emptyText": "Empty",
28
+ "encounterDisplay": "{{encounterType}} {{encounterDate}}",
29
+ "Error cancelling admission request": "Error cancelling admission request",
30
+ "errorChangingPatientBedAssignment": "Error changing patient bed assignment",
31
+ "errorConfiguringPatientCard": "Error configuring patient card",
32
+ "errorConfiguringPatientCardMessage": "Unable to find configuration for {{elementType}}, id: {{id}}",
33
+ "errorCreatingEncounter": "Failed to admit patient",
34
+ "errorCreatingTransferRequest": "Error creating transfer request",
35
+ "errorDischargingPatient": "Error discharging patient",
36
+ "errorLoadingBedDetails": "Error loading bed details",
37
+ "errorLoadingChildren": "Error loading children info",
38
+ "errorLoadingMother": "Error loading mother info",
39
+ "errorLoadingPatientAdmissionRequests": "Error loading patient admission requests",
40
+ "errorLoadingPatientInfo": "Error loading patient info",
41
+ "errorLoadingPatients": "Error loading admitted patients",
42
+ "errorLoadingWardLocation": "Error loading ward location",
43
+ "female": "Female",
44
+ "fetchingEmrConfigurationFailed": "Fetching EMR configuration failed. Try refreshing the page or contact your system administrator.",
45
+ "fetchingPatientNotesFailed": "Fetching patient notes failed. Try refreshing the page or contact your system administrator.",
46
+ "freeBeds": "Free beds",
47
+ "freeBedsMetricValue": "{{ metricValue }}",
48
+ "hours_one": "{{count}} hour",
49
+ "hours_other": "{{count}} hours",
50
+ "inpatientNotesWorkspaceTitle": "In-patient notes",
51
+ "invalidLocationSpecified": "Invalid location specified",
52
+ "invalidWardLocation": "Invalid ward location: {{location}}",
53
+ "labelColon": "{{label}}:",
54
+ "male": "Male",
55
+ "manage": "Manage",
56
+ "minutes_one": "{{count}} minutes",
57
+ "minutes_other": "{{count}} minutes",
58
+ "motherChildBedShare": "Mother / Child",
59
+ "nextPage": "Next page",
60
+ "noBed": "No bed",
61
+ "noBedsConfigured": "No beds configured for this location",
62
+ "noBedsConfiguredForLocation": "No beds configured for {{location}} location",
63
+ "noLocationsFound": "No locations found",
64
+ "noPendingPatientRequests": "No pending patient requests",
65
+ "note": "Note",
66
+ "notes": "Notes",
67
+ "notesRequiredForCancellingRequest": "Notes required for cancelling admission or transfer request",
68
+ "Orders": "Orders",
69
+ "other": "Other",
70
+ "patientAdmittedButBedNotAssigned": "Patient admitted successfully but fail to assign bed to patient",
71
+ "patientAdmittedSuccessfully": "Patient admitted successfully",
72
+ "patientAdmittedSuccessfullySubtitle": "{{patientName}} has been successfully admitted and assigned to bed {{bedNumber}}",
73
+ "patientAdmittedWoBed": "Patient admitted successfully to {{location}}",
74
+ "patientAlreadyAdmittedToCurrentLocation": "Patient already admitted to current location",
75
+ "patientAssignedNewBed": "Patient assigned to new bed",
76
+ "patientAssignedNewBedDetail": "{{patientName}} assigned to bed {{bedNumber}}",
77
+ "patientCurrentlyAdmittedToWardLocation": "Patient currently admitted to {{wardLocation}}",
78
+ "patientCurrentlyNotAdmitted": "Patient currently not admitted",
79
+ "patienthasNoActiveVisit": "Patient has no active visit",
80
+ "patientHasPendingAdmissionRequest": "Patient already has a pending admission request to location {{location}}",
81
+ "patientNoteNowVisible": "It should be now visible in the notes history",
82
+ "patientNoteSaveError": "Error saving patient note",
83
+ "patientNotesDidntLoad": "Patient notes didn't load",
84
+ "patients": "Patients",
85
+ "patientsMetricValue": "{{ metricValue }}",
86
+ "patientTransferRequestCreated": "Patient transfer request created",
87
+ "patientUnassignedFromBed": "Patient unassigned from bed",
88
+ "patientUnassignedFromBedDetail": "{{patientName}} is now unassigned from bed",
89
+ "patientWasDischarged": "Patient was discharged",
90
+ "pendingDischarge": "Pending Discharge",
91
+ "pendingOut": "Pending out",
92
+ "pendingOutMetricValue": "{{ metricValue }}",
93
+ "pendingTransfer": "Pending Transfer",
94
+ "pleaseSelectBed": "Please select a bed",
95
+ "pleaseSelectTransferLocation": "Please select transfer location",
96
+ "pleaseSelectTransferType": "Please select transfer type",
97
+ "previousPage": "Previous page",
98
+ "proceedWithPatientDischarge": "Proceed with patient discharge",
99
+ "save": "Save",
100
+ "saving": "Saving...",
101
+ "searchLocations": "Search locations",
102
+ "seconds_one": "{{count}} second",
103
+ "seconds_other": "{{count}} seconds",
104
+ "selectABed": "Select a bed",
105
+ "selectALocation": "Select a location",
106
+ "showingLocations_one": "{{start}}-{{end}} of {{count}} locations",
107
+ "showingLocations_other": "{{start}}-{{end}} of {{count}} locations",
108
+ "somePartsOfTheFormDidntLoad": "Some parts of the form didn't load",
109
+ "timeOnWard": "Time on this ward: {{timeOnWard}}",
110
+ "timeSinceAdmission": "Admitted: {{timeSinceAdmission}}",
111
+ "transfer": "Transfer",
112
+ "transferElsewhere": "Transfer elsewhere",
113
+ "transferPatient": "Transfer patient",
114
+ "transferRequest": "Transfer request",
115
+ "transfers": "Transfers",
116
+ "transferToDispositionLocation": "Transfer to {{location}}",
117
+ "transferType": "Transfer type",
118
+ "typeOfTransfer": "Type of transfer",
119
+ "unknown": "Unknown",
120
+ "visitNoteSaved": "Patient note saved",
121
+ "wardClinicalNotePlaceholder": "Write any notes here",
122
+ "wards": "Wards"
123
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "admissionRequestCancelled": "Admission request cancelled.",
3
+ "admissionRequests": "Admission requests",
4
+ "admissionRequestsCount_one": "{{count}} admission request",
5
+ "admissionRequestsCount_other": "{{count}} admission requests",
6
+ "admit": "Admit",
7
+ "admitElsewhere": "Admit elsewhere",
8
+ "admitPatient": "Admit patient",
9
+ "admitting": "Admitting...",
10
+ "backToSearchResults": "Back to search results",
11
+ "bedShare": "Bed share",
12
+ "bedSwap": "Bed swap",
13
+ "cancel": "Cancel",
14
+ "cancelAdmissionRequest": "Cancel admission request",
15
+ "capacity": "Capacity",
16
+ "capacityMetricValue": "{{ metricValue }} %",
17
+ "chooseAnOption": "Choose an option",
18
+ "clinicalForms": "Clinical forms",
19
+ "clinicalNoteLabel": "Write your notes",
20
+ "clinicalNotes": "Clinical notes",
21
+ "countItems_one": "{{count}} {{item}}",
22
+ "countItems_other": "{{count}} {{item}}",
23
+ "days_one": "{{count}} day",
24
+ "days_other": "{{count}} days",
25
+ "discharge": "Discharge",
26
+ "emptyBed": "Empty bed",
27
+ "emptyText": "Empty",
28
+ "encounterDisplay": "{{encounterType}} {{encounterDate}}",
29
+ "Error cancelling admission request": "Error cancelling admission request",
30
+ "errorChangingPatientBedAssignment": "Error changing patient bed assignment",
31
+ "errorConfiguringPatientCard": "Error configuring patient card",
32
+ "errorConfiguringPatientCardMessage": "Unable to find configuration for {{elementType}}, id: {{id}}",
33
+ "errorCreatingEncounter": "Failed to admit patient",
34
+ "errorCreatingTransferRequest": "Error creating transfer request",
35
+ "errorDischargingPatient": "Error discharging patient",
36
+ "errorLoadingBedDetails": "Error loading bed details",
37
+ "errorLoadingChildren": "Error loading children info",
38
+ "errorLoadingMother": "Error loading mother info",
39
+ "errorLoadingPatientAdmissionRequests": "Error loading patient admission requests",
40
+ "errorLoadingPatientInfo": "Error loading patient info",
41
+ "errorLoadingPatients": "Error loading admitted patients",
42
+ "errorLoadingWardLocation": "Error loading ward location",
43
+ "female": "Female",
44
+ "fetchingEmrConfigurationFailed": "Fetching EMR configuration failed. Try refreshing the page or contact your system administrator.",
45
+ "fetchingPatientNotesFailed": "Fetching patient notes failed. Try refreshing the page or contact your system administrator.",
46
+ "freeBeds": "Free beds",
47
+ "freeBedsMetricValue": "{{ metricValue }}",
48
+ "hours_one": "{{count}} hour",
49
+ "hours_other": "{{count}} hours",
50
+ "inpatientNotesWorkspaceTitle": "In-patient notes",
51
+ "invalidLocationSpecified": "Invalid location specified",
52
+ "invalidWardLocation": "Invalid ward location: {{location}}",
53
+ "labelColon": "{{label}}:",
54
+ "male": "Male",
55
+ "manage": "Manage",
56
+ "minutes_one": "{{count}} minutes",
57
+ "minutes_other": "{{count}} minutes",
58
+ "motherChildBedShare": "Mother / Child",
59
+ "nextPage": "Next page",
60
+ "noBed": "No bed",
61
+ "noBedsConfigured": "No beds configured for this location",
62
+ "noBedsConfiguredForLocation": "No beds configured for {{location}} location",
63
+ "noLocationsFound": "No locations found",
64
+ "noPendingPatientRequests": "No pending patient requests",
65
+ "note": "Note",
66
+ "notes": "Notes",
67
+ "notesRequiredForCancellingRequest": "Notes required for cancelling admission or transfer request",
68
+ "Orders": "Orders",
69
+ "other": "Other",
70
+ "patientAdmittedButBedNotAssigned": "Patient admitted successfully but fail to assign bed to patient",
71
+ "patientAdmittedSuccessfully": "Patient admitted successfully",
72
+ "patientAdmittedSuccessfullySubtitle": "{{patientName}} has been successfully admitted and assigned to bed {{bedNumber}}",
73
+ "patientAdmittedWoBed": "Patient admitted successfully to {{location}}",
74
+ "patientAlreadyAdmittedToCurrentLocation": "Patient already admitted to current location",
75
+ "patientAssignedNewBed": "Patient assigned to new bed",
76
+ "patientAssignedNewBedDetail": "{{patientName}} assigned to bed {{bedNumber}}",
77
+ "patientCurrentlyAdmittedToWardLocation": "Patient currently admitted to {{wardLocation}}",
78
+ "patientCurrentlyNotAdmitted": "Patient currently not admitted",
79
+ "patienthasNoActiveVisit": "Patient has no active visit",
80
+ "patientHasPendingAdmissionRequest": "Patient already has a pending admission request to location {{location}}",
81
+ "patientNoteNowVisible": "It should be now visible in the notes history",
82
+ "patientNoteSaveError": "Error saving patient note",
83
+ "patientNotesDidntLoad": "Patient notes didn't load",
84
+ "patients": "Patients",
85
+ "patientsMetricValue": "{{ metricValue }}",
86
+ "patientTransferRequestCreated": "Patient transfer request created",
87
+ "patientUnassignedFromBed": "Patient unassigned from bed",
88
+ "patientUnassignedFromBedDetail": "{{patientName}} is now unassigned from bed",
89
+ "patientWasDischarged": "Patient was discharged",
90
+ "pendingDischarge": "Pending Discharge",
91
+ "pendingOut": "Pending out",
92
+ "pendingOutMetricValue": "{{ metricValue }}",
93
+ "pendingTransfer": "Pending Transfer",
94
+ "pleaseSelectBed": "Please select a bed",
95
+ "pleaseSelectTransferLocation": "Please select transfer location",
96
+ "pleaseSelectTransferType": "Please select transfer type",
97
+ "previousPage": "Previous page",
98
+ "proceedWithPatientDischarge": "Proceed with patient discharge",
99
+ "save": "Save",
100
+ "saving": "Saving...",
101
+ "searchLocations": "Search locations",
102
+ "seconds_one": "{{count}} second",
103
+ "seconds_other": "{{count}} seconds",
104
+ "selectABed": "Select a bed",
105
+ "selectALocation": "Select a location",
106
+ "showingLocations_one": "{{start}}-{{end}} of {{count}} locations",
107
+ "showingLocations_other": "{{start}}-{{end}} of {{count}} locations",
108
+ "somePartsOfTheFormDidntLoad": "Some parts of the form didn't load",
109
+ "timeOnWard": "Time on this ward: {{timeOnWard}}",
110
+ "timeSinceAdmission": "Admitted: {{timeSinceAdmission}}",
111
+ "transfer": "Transfer",
112
+ "transferElsewhere": "Transfer elsewhere",
113
+ "transferPatient": "Transfer patient",
114
+ "transferRequest": "Transfer request",
115
+ "transfers": "Transfers",
116
+ "transferToDispositionLocation": "Transfer to {{location}}",
117
+ "transferType": "Transfer type",
118
+ "typeOfTransfer": "Type of transfer",
119
+ "unknown": "Unknown",
120
+ "visitNoteSaved": "Patient note saved",
121
+ "wardClinicalNotePlaceholder": "Write any notes here",
122
+ "wards": "Wards"
123
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "admissionRequestCancelled": "Admission request cancelled.",
3
+ "admissionRequests": "Admission requests",
4
+ "admissionRequestsCount_one": "{{count}} admission request",
5
+ "admissionRequestsCount_other": "{{count}} admission requests",
6
+ "admit": "Admit",
7
+ "admitElsewhere": "Admit elsewhere",
8
+ "admitPatient": "Admit patient",
9
+ "admitting": "Admitting...",
10
+ "backToSearchResults": "Back to search results",
11
+ "bedShare": "Bed share",
12
+ "bedSwap": "Bed swap",
13
+ "cancel": "Cancel",
14
+ "cancelAdmissionRequest": "Cancel admission request",
15
+ "capacity": "Capacity",
16
+ "capacityMetricValue": "{{ metricValue }} %",
17
+ "chooseAnOption": "Choose an option",
18
+ "clinicalForms": "Clinical forms",
19
+ "clinicalNoteLabel": "Write your notes",
20
+ "clinicalNotes": "Clinical notes",
21
+ "countItems_one": "{{count}} {{item}}",
22
+ "countItems_other": "{{count}} {{item}}",
23
+ "days_one": "{{count}} day",
24
+ "days_other": "{{count}} days",
25
+ "discharge": "Discharge",
26
+ "emptyBed": "Empty bed",
27
+ "emptyText": "Empty",
28
+ "encounterDisplay": "{{encounterType}} {{encounterDate}}",
29
+ "Error cancelling admission request": "Error cancelling admission request",
30
+ "errorChangingPatientBedAssignment": "Error changing patient bed assignment",
31
+ "errorConfiguringPatientCard": "Error configuring patient card",
32
+ "errorConfiguringPatientCardMessage": "Unable to find configuration for {{elementType}}, id: {{id}}",
33
+ "errorCreatingEncounter": "Failed to admit patient",
34
+ "errorCreatingTransferRequest": "Error creating transfer request",
35
+ "errorDischargingPatient": "Error discharging patient",
36
+ "errorLoadingBedDetails": "Error loading bed details",
37
+ "errorLoadingChildren": "Error loading children info",
38
+ "errorLoadingMother": "Error loading mother info",
39
+ "errorLoadingPatientAdmissionRequests": "Error loading patient admission requests",
40
+ "errorLoadingPatientInfo": "Error loading patient info",
41
+ "errorLoadingPatients": "Error loading admitted patients",
42
+ "errorLoadingWardLocation": "Error loading ward location",
43
+ "female": "Female",
44
+ "fetchingEmrConfigurationFailed": "Fetching EMR configuration failed. Try refreshing the page or contact your system administrator.",
45
+ "fetchingPatientNotesFailed": "Fetching patient notes failed. Try refreshing the page or contact your system administrator.",
46
+ "freeBeds": "Free beds",
47
+ "freeBedsMetricValue": "{{ metricValue }}",
48
+ "hours_one": "{{count}} hour",
49
+ "hours_other": "{{count}} hours",
50
+ "inpatientNotesWorkspaceTitle": "In-patient notes",
51
+ "invalidLocationSpecified": "Invalid location specified",
52
+ "invalidWardLocation": "Invalid ward location: {{location}}",
53
+ "labelColon": "{{label}}:",
54
+ "male": "Male",
55
+ "manage": "Manage",
56
+ "minutes_one": "{{count}} minutes",
57
+ "minutes_other": "{{count}} minutes",
58
+ "motherChildBedShare": "Mother / Child",
59
+ "nextPage": "Next page",
60
+ "noBed": "No bed",
61
+ "noBedsConfigured": "No beds configured for this location",
62
+ "noBedsConfiguredForLocation": "No beds configured for {{location}} location",
63
+ "noLocationsFound": "No locations found",
64
+ "noPendingPatientRequests": "No pending patient requests",
65
+ "note": "Note",
66
+ "notes": "Notes",
67
+ "notesRequiredForCancellingRequest": "Notes required for cancelling admission or transfer request",
68
+ "Orders": "Orders",
69
+ "other": "Other",
70
+ "patientAdmittedButBedNotAssigned": "Patient admitted successfully but fail to assign bed to patient",
71
+ "patientAdmittedSuccessfully": "Patient admitted successfully",
72
+ "patientAdmittedSuccessfullySubtitle": "{{patientName}} has been successfully admitted and assigned to bed {{bedNumber}}",
73
+ "patientAdmittedWoBed": "Patient admitted successfully to {{location}}",
74
+ "patientAlreadyAdmittedToCurrentLocation": "Patient already admitted to current location",
75
+ "patientAssignedNewBed": "Patient assigned to new bed",
76
+ "patientAssignedNewBedDetail": "{{patientName}} assigned to bed {{bedNumber}}",
77
+ "patientCurrentlyAdmittedToWardLocation": "Patient currently admitted to {{wardLocation}}",
78
+ "patientCurrentlyNotAdmitted": "Patient currently not admitted",
79
+ "patienthasNoActiveVisit": "Patient has no active visit",
80
+ "patientHasPendingAdmissionRequest": "Patient already has a pending admission request to location {{location}}",
81
+ "patientNoteNowVisible": "It should be now visible in the notes history",
82
+ "patientNoteSaveError": "Error saving patient note",
83
+ "patientNotesDidntLoad": "Patient notes didn't load",
84
+ "patients": "Patients",
85
+ "patientsMetricValue": "{{ metricValue }}",
86
+ "patientTransferRequestCreated": "Patient transfer request created",
87
+ "patientUnassignedFromBed": "Patient unassigned from bed",
88
+ "patientUnassignedFromBedDetail": "{{patientName}} is now unassigned from bed",
89
+ "patientWasDischarged": "Patient was discharged",
90
+ "pendingDischarge": "Pending Discharge",
91
+ "pendingOut": "Pending out",
92
+ "pendingOutMetricValue": "{{ metricValue }}",
93
+ "pendingTransfer": "Pending Transfer",
94
+ "pleaseSelectBed": "Please select a bed",
95
+ "pleaseSelectTransferLocation": "Please select transfer location",
96
+ "pleaseSelectTransferType": "Please select transfer type",
97
+ "previousPage": "Previous page",
98
+ "proceedWithPatientDischarge": "Proceed with patient discharge",
99
+ "save": "Save",
100
+ "saving": "Saving...",
101
+ "searchLocations": "Search locations",
102
+ "seconds_one": "{{count}} second",
103
+ "seconds_other": "{{count}} seconds",
104
+ "selectABed": "Select a bed",
105
+ "selectALocation": "Select a location",
106
+ "showingLocations_one": "{{start}}-{{end}} of {{count}} locations",
107
+ "showingLocations_other": "{{start}}-{{end}} of {{count}} locations",
108
+ "somePartsOfTheFormDidntLoad": "Some parts of the form didn't load",
109
+ "timeOnWard": "Time on this ward: {{timeOnWard}}",
110
+ "timeSinceAdmission": "Admitted: {{timeSinceAdmission}}",
111
+ "transfer": "Transfer",
112
+ "transferElsewhere": "Transfer elsewhere",
113
+ "transferPatient": "Transfer patient",
114
+ "transferRequest": "Transfer request",
115
+ "transfers": "Transfers",
116
+ "transferToDispositionLocation": "Transfer to {{location}}",
117
+ "transferType": "Transfer type",
118
+ "typeOfTransfer": "Type of transfer",
119
+ "unknown": "Unknown",
120
+ "visitNoteSaved": "Patient note saved",
121
+ "wardClinicalNotePlaceholder": "Write any notes here",
122
+ "wards": "Wards"
123
+ }