@kenyaemr/esm-ward-app 8.5.1-pre.35 → 8.5.1-pre.41
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.
- package/.turbo/turbo-build.log +12 -12
- package/dist/1160.js +1 -0
- package/dist/1160.js.map +1 -0
- package/dist/1917.js +1 -1
- package/dist/1917.js.map +1 -1
- package/dist/2059.js +1 -0
- package/dist/2059.js.map +1 -0
- package/dist/3161.js +1 -1
- package/dist/3161.js.map +1 -1
- package/dist/4224.js +2 -0
- package/dist/4224.js.map +1 -0
- package/dist/6012.js +1 -1
- package/dist/6012.js.map +1 -1
- package/dist/6871.js +1 -1
- package/dist/6871.js.map +1 -1
- package/dist/7059.js +2 -0
- package/dist/7059.js.map +1 -0
- package/dist/7661.js +1 -1
- package/dist/7661.js.map +1 -1
- package/dist/8205.js +1 -1
- package/dist/8205.js.map +1 -1
- package/dist/8308.js +1 -0
- package/dist/8308.js.map +1 -0
- package/dist/9113.js +1 -0
- package/dist/{9880.js.map → 9113.js.map} +1 -1
- package/dist/kenyaemr-esm-ward-app.js.buildmanifest.json +163 -112
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +2 -1
- package/src/config-schema.ts +6 -0
- package/src/discharge-printouts/discharge-printout.preview-modal.tsx +40 -0
- package/src/discharge-printouts/discharge-printout.resource.ts +215 -0
- package/src/discharge-printouts/discharge-printouts.scss +125 -0
- package/src/discharge-printouts/discharge-summary.tsx +171 -0
- package/src/discharge-printouts/field-input.tsx +21 -0
- package/src/discharge-printouts/gate-pass-printout.tsx +125 -0
- package/src/hooks/useIpdDischargeEncounter.ts +10 -8
- package/src/index.ts +4 -0
- package/src/routes.json +4 -0
- package/src/ward-patients/admitted-patients.tsx +2 -2
- package/src/ward-patients/discharge-in-patients.tsx +22 -17
- package/src/ward-patients/discharge-patients.tsx +23 -3
- package/src/ward-patients/patient-cells.tsx +6 -12
- package/src/ward-workspace/admit-patient-form-workspace/patient-admission.resources.ts +19 -1
- package/src/ward-workspace/kenya-emr-patient-discharge/patient-discharge.resource.tsx +2 -1
- package/src/ward-workspace/patient-transfer-bed-swap/patient-admit-or-transfer-request-form.component.tsx +1 -1
- package/dist/1352.js +0 -2
- package/dist/1352.js.map +0 -1
- package/dist/3423.js +0 -1
- package/dist/3423.js.map +0 -1
- package/dist/4701.js +0 -2
- package/dist/4701.js.map +0 -1
- package/dist/9880.js +0 -1
- /package/dist/{1352.js.LICENSE.txt → 4224.js.LICENSE.txt} +0 -0
- /package/dist/{4701.js.LICENSE.txt → 7059.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { InlineLoading, InlineNotification } from '@carbon/react';
|
|
2
|
+
import { useEmrConfiguration, usePatient, useSession } from '@openmrs/esm-framework';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
4
|
+
import React, { useMemo, type FC } from 'react';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { useEncounterDetails } from '../hooks/useIpdDischargeEncounter';
|
|
7
|
+
import styles from './discharge-printouts.scss';
|
|
8
|
+
import FieldInput from './field-input';
|
|
9
|
+
import { DATE_FORMART, TIME_FORMART } from './discharge-printout.resource';
|
|
10
|
+
|
|
11
|
+
type GatePassPrintoutProps = {
|
|
12
|
+
dischargeEncounterUuid: string;
|
|
13
|
+
patient: {
|
|
14
|
+
uuid: string;
|
|
15
|
+
openmrsId: string;
|
|
16
|
+
name: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
const GatePassPrintout: FC<GatePassPrintoutProps> = ({ dischargeEncounterUuid, patient: _patient }) => {
|
|
21
|
+
const { t } = useTranslation();
|
|
22
|
+
|
|
23
|
+
const { encounter, error, isLoading } = useEncounterDetails(dischargeEncounterUuid);
|
|
24
|
+
const { isLoading: isLoadingPatient, patient, error: patientError } = usePatient(_patient.uuid);
|
|
25
|
+
const session = useSession();
|
|
26
|
+
const { emrConfiguration, isLoadingEmrConfiguration, errorFetchingEmrConfiguration } = useEmrConfiguration();
|
|
27
|
+
|
|
28
|
+
const admissionDate = useMemo(() => {
|
|
29
|
+
const admisionEncounter = encounter?.visit?.encounters?.find(
|
|
30
|
+
(e) => e.encounterType.uuid === emrConfiguration?.admissionEncounterType?.uuid,
|
|
31
|
+
);
|
|
32
|
+
if (!admisionEncounter || !admisionEncounter.encounterDatetime) return null;
|
|
33
|
+
return admisionEncounter.encounterDatetime;
|
|
34
|
+
}, [encounter, emrConfiguration]);
|
|
35
|
+
|
|
36
|
+
if (isLoading || isLoadingPatient || isLoadingEmrConfiguration) return <InlineLoading />;
|
|
37
|
+
if (error || patientError || errorFetchingEmrConfiguration)
|
|
38
|
+
return (
|
|
39
|
+
<InlineNotification
|
|
40
|
+
kind="error"
|
|
41
|
+
title={error?.message ?? patientError?.message ?? errorFetchingEmrConfiguration?.message}
|
|
42
|
+
/>
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div className={styles.content}>
|
|
47
|
+
<div className={styles.header}>
|
|
48
|
+
<h5>{session?.sessionLocation?.display}</h5>
|
|
49
|
+
<h5>{t('wardGatePass', 'Ward gate pass')}</h5>
|
|
50
|
+
</div>
|
|
51
|
+
<div className={styles.cols4}>
|
|
52
|
+
<FieldInput name={t('paperNo', 'Paper No')} value={_patient.openmrsId} />
|
|
53
|
+
<FieldInput name={t('patientNo', 'Patient No')} value={_patient.openmrsId} />
|
|
54
|
+
<FieldInput name={t('date', 'Date')} value={dayjs().format(DATE_FORMART)} />
|
|
55
|
+
<FieldInput name={t('time', 'Time')} value={dayjs().format(TIME_FORMART)} />
|
|
56
|
+
</div>
|
|
57
|
+
<div className={styles.cols2}>
|
|
58
|
+
<FieldInput name={t('patientNames', 'Patient names')} value={_patient.name} />
|
|
59
|
+
<FieldInput
|
|
60
|
+
name={t('age', 'Age')}
|
|
61
|
+
value={`${Math.abs(dayjs(patient.birthDate).diff(dayjs(), 'years'))} years`}
|
|
62
|
+
/>
|
|
63
|
+
</div>
|
|
64
|
+
<div className={styles.cols2}>
|
|
65
|
+
<FieldInput name={t('dateOfAdmissionAbrv', 'DOA')} value={dayjs(admissionDate).format(DATE_FORMART)} />
|
|
66
|
+
<FieldInput
|
|
67
|
+
name={t('dateOfDischargeAbrv', 'DOD')}
|
|
68
|
+
value={dayjs(encounter.encounterDatetime).format(DATE_FORMART)}
|
|
69
|
+
/>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div>
|
|
73
|
+
<p>{t('methodsOfPayment', 'Method of payment (tick as approximately)')}</p>
|
|
74
|
+
<br />
|
|
75
|
+
<div className={styles.cols7}>
|
|
76
|
+
<span>{t('cashCheckBox', 'Cash [ ]')}</span>
|
|
77
|
+
<span>{t('chequCheckBox', 'Cheque [ ]')}</span>
|
|
78
|
+
<span>{t('shaCheckBox', 'SHA [ ]')}</span>
|
|
79
|
+
<span>{t('scheme', 'Scheme [ ]')}</span>
|
|
80
|
+
<span>{t('mrm', 'M.R.M [ ]')}</span>
|
|
81
|
+
<FieldInput name={t('other', 'Other')} />
|
|
82
|
+
<FieldInput name="." delimiter="." />
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
<p>
|
|
86
|
+
<strong>{t('approvedBy', 'Approved By')}</strong>
|
|
87
|
+
</p>
|
|
88
|
+
<div className={styles.cols4}>
|
|
89
|
+
<FieldInput name={t('accountOfficer', 'Account Ofiicer')} />
|
|
90
|
+
<FieldInput name="." delimiter="." />
|
|
91
|
+
<FieldInput name={t('sign', 'Sign')} />
|
|
92
|
+
<FieldInput name={t('date', 'Date')} />
|
|
93
|
+
</div>
|
|
94
|
+
<div className={styles.cols4}>
|
|
95
|
+
<FieldInput name={t('healthRecordOfficer', 'Health Record Officer')} />
|
|
96
|
+
<FieldInput name="." delimiter="." />
|
|
97
|
+
<FieldInput name={t('sign', 'Sign')} />
|
|
98
|
+
<FieldInput name={t('date', 'Date')} />
|
|
99
|
+
</div>
|
|
100
|
+
<div className={styles.cols4}>
|
|
101
|
+
<FieldInput name={t('nurseInCharge', 'Nurse In Charge')} />
|
|
102
|
+
<FieldInput name="." delimiter="." />
|
|
103
|
+
<FieldInput name={t('sign', 'Sign')} />
|
|
104
|
+
<FieldInput name={t('date', 'Date')} />
|
|
105
|
+
</div>
|
|
106
|
+
<div className={styles.cols4}>
|
|
107
|
+
<FieldInput name={t('securityGuard', 'Security Guard')} />
|
|
108
|
+
<FieldInput name="." delimiter="." />
|
|
109
|
+
<FieldInput name={t('sign', 'Sign')} />
|
|
110
|
+
<FieldInput name={t('date', 'Date')} />
|
|
111
|
+
</div>
|
|
112
|
+
<p>
|
|
113
|
+
<strong>{t('note', 'N/B')}:</strong>
|
|
114
|
+
<span>
|
|
115
|
+
{t(
|
|
116
|
+
'noteText',
|
|
117
|
+
'This form should be filled in duplicate, one copy to be retained in the ward and the other to be left in the main gate',
|
|
118
|
+
)}
|
|
119
|
+
</span>
|
|
120
|
+
</p>
|
|
121
|
+
</div>
|
|
122
|
+
);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export default GatePassPrintout;
|
|
@@ -94,10 +94,12 @@ export const useIpdDischargeEncounter = () => {
|
|
|
94
94
|
const { isLoadingLocation, location, errorFetchingLocation } = useWardLocation();
|
|
95
95
|
const pageSizes = [10, 20, 50, 100];
|
|
96
96
|
const [currPageSize, setCurrPageSize] = useState(10);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
97
|
+
|
|
98
|
+
const urls = useMemo(() => {
|
|
99
|
+
if (!location || !emrConfiguration?.exitFromInpatientEncounterType?.uuid) return null;
|
|
100
|
+
else
|
|
101
|
+
return `${fhirBaseUrl}/Encounter?_summary=data&type=${emrConfiguration?.exitFromInpatientEncounterType?.uuid}&location=${location?.uuid}`;
|
|
102
|
+
}, [location, emrConfiguration]);
|
|
101
103
|
const { data, isLoading, error, paginated, currentPage, goTo, totalCount, currentPageSize } =
|
|
102
104
|
useFhirPagination<Entry>(urls, currPageSize);
|
|
103
105
|
const encounters = useMemo(() => {
|
|
@@ -126,10 +128,10 @@ export const useIpdDischargeEncounter = () => {
|
|
|
126
128
|
};
|
|
127
129
|
};
|
|
128
130
|
|
|
129
|
-
export const useEncounterDetails = (encounterUuid: string) => {
|
|
130
|
-
const
|
|
131
|
-
'custom:(uuid,display,encounterDatetime,visit:(uuid,display,encounters:(uuid,display,encounterType:(uuid,display),encounterDatetime)))';
|
|
132
|
-
const url = `${restBaseUrl}/encounter/${encounterUuid}?v=${rep}`;
|
|
131
|
+
export const useEncounterDetails = (encounterUuid: string, rep?: string) => {
|
|
132
|
+
const _rep =
|
|
133
|
+
'custom:(uuid,display,location:(display),encounterDatetime,visit:(uuid,display,encounters:(uuid,display,encounterType:(uuid,display),encounterDatetime)))';
|
|
134
|
+
const url = `${restBaseUrl}/encounter/${encounterUuid}?v=${rep ?? _rep}`;
|
|
133
135
|
const { data, error, isLoading } = useSWR<FetchResponse<Encounter>>(url, openmrsFetch);
|
|
134
136
|
return {
|
|
135
137
|
isLoading,
|
package/src/index.ts
CHANGED
|
@@ -128,6 +128,10 @@ export const wardPatientWorkspaceBanner = getAsyncLifecycle(
|
|
|
128
128
|
() => import('./ward-workspace/patient-banner/patient-banner.component'),
|
|
129
129
|
options,
|
|
130
130
|
);
|
|
131
|
+
export const patientDischargeDocumentPreview = getAsyncLifecycle(
|
|
132
|
+
() => import('./discharge-printouts/discharge-printout.preview-modal'),
|
|
133
|
+
options,
|
|
134
|
+
);
|
|
131
135
|
|
|
132
136
|
export function startupApp() {
|
|
133
137
|
registerBreadcrumbs([]);
|
package/src/routes.json
CHANGED
|
@@ -85,6 +85,10 @@
|
|
|
85
85
|
"name": "maternal-ward",
|
|
86
86
|
"slot": "maternal-ward"
|
|
87
87
|
},
|
|
88
|
+
{
|
|
89
|
+
"component": "patientDischargeDocumentPreview",
|
|
90
|
+
"name": "patient-discharge-document-preview-modal"
|
|
91
|
+
},
|
|
88
92
|
{
|
|
89
93
|
"component": "wardPatientWorkspaceBanner",
|
|
90
94
|
"name": "ward-patient-workspace-banner",
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
parseDate,
|
|
19
19
|
useAppContext,
|
|
20
20
|
useConfig,
|
|
21
|
-
usePagination
|
|
21
|
+
usePagination,
|
|
22
22
|
} from '@openmrs/esm-framework';
|
|
23
23
|
import { usePaginationInfo } from '@openmrs/esm-patient-common-lib';
|
|
24
24
|
import dayjs from 'dayjs';
|
|
@@ -109,7 +109,7 @@ const AdmittedPatients = () => {
|
|
|
109
109
|
action: (
|
|
110
110
|
<OverflowMenu size={'sm'} flipped>
|
|
111
111
|
<OverflowMenuItem
|
|
112
|
-
itemText={t('
|
|
112
|
+
itemText={t('interWardTransfer', 'Interward Trasfer')}
|
|
113
113
|
onClick={() =>
|
|
114
114
|
launchWorkspace('patient-transfer-swap-workspace', {
|
|
115
115
|
workspaceTitle: 'Trasfer',
|
|
@@ -1,37 +1,35 @@
|
|
|
1
1
|
import {
|
|
2
|
+
DataTable,
|
|
2
3
|
OverflowMenu,
|
|
3
4
|
OverflowMenuItem,
|
|
4
|
-
|
|
5
|
-
TableContainer,
|
|
5
|
+
Pagination,
|
|
6
6
|
Table,
|
|
7
|
-
TableHead,
|
|
8
|
-
TableRow,
|
|
9
|
-
TableHeader,
|
|
10
7
|
TableBody,
|
|
11
8
|
TableCell,
|
|
12
|
-
|
|
9
|
+
TableContainer,
|
|
10
|
+
TableHead,
|
|
11
|
+
TableHeader,
|
|
12
|
+
TableRow,
|
|
13
13
|
} from '@carbon/react';
|
|
14
|
-
import React, { useMemo, useState } from 'react';
|
|
15
|
-
import { useTranslation } from 'react-i18next';
|
|
16
|
-
import { EmptyState } from './table-state-components';
|
|
17
14
|
import {
|
|
18
15
|
type Encounter,
|
|
19
16
|
formatDatetime,
|
|
20
|
-
launchWorkspace,
|
|
21
|
-
type OpenmrsResource,
|
|
22
17
|
parseDate,
|
|
23
18
|
useAppContext,
|
|
24
19
|
useConfig,
|
|
25
20
|
useEmrConfiguration,
|
|
26
21
|
usePagination,
|
|
27
22
|
} from '@openmrs/esm-framework';
|
|
28
|
-
import { type WardPatient, type WardViewContext } from '../types';
|
|
29
|
-
import { bedLayoutToBed, getOpenmrsId } from '../ward-view/ward-view.resource';
|
|
30
|
-
import dayjs from 'dayjs';
|
|
31
23
|
import { usePaginationInfo } from '@openmrs/esm-patient-common-lib';
|
|
24
|
+
import dayjs from 'dayjs';
|
|
25
|
+
import React, { useMemo, useState } from 'react';
|
|
26
|
+
import { useTranslation } from 'react-i18next';
|
|
32
27
|
import { type WardConfigObject } from '../config-schema';
|
|
33
|
-
import {
|
|
28
|
+
import { type WardPatient, type WardViewContext } from '../types';
|
|
29
|
+
import { bedLayoutToBed, getOpenmrsId } from '../ward-view/ward-view.resource';
|
|
34
30
|
import { usePatientDischarge } from '../ward-workspace/kenya-emr-patient-discharge/patient-discharge.resource';
|
|
31
|
+
import { HyperLinkPatientCell, PatientBillStatus, UnAssignPatientBedAction } from './patient-cells';
|
|
32
|
+
import { EmptyState } from './table-state-components';
|
|
35
33
|
|
|
36
34
|
const DischargeInPatients = () => {
|
|
37
35
|
const { t } = useTranslation();
|
|
@@ -130,15 +128,22 @@ const DischargeInPatients = () => {
|
|
|
130
128
|
<UnAssignPatientBedAction
|
|
131
129
|
patientUuid={patient.patient.uuid}
|
|
132
130
|
encounterUuid={encounterAssigningToCurrentInpatientLocation?.uuid}
|
|
131
|
+
loading={wardPatientGroupDetails?.admissionLocationResponse?.isLoading}
|
|
133
132
|
onClick={async () => {
|
|
134
|
-
await handleDischarge(
|
|
133
|
+
await handleDischarge(
|
|
134
|
+
{} as Encounter,
|
|
135
|
+
patient,
|
|
136
|
+
emrConfiguration as Record<string, any>,
|
|
137
|
+
patient.visit,
|
|
138
|
+
wardPatientGroupDetails?.admissionLocationResponse?.admissionLocation?.ward,
|
|
139
|
+
);
|
|
135
140
|
}}
|
|
136
141
|
/>
|
|
137
142
|
</OverflowMenu>
|
|
138
143
|
),
|
|
139
144
|
};
|
|
140
145
|
});
|
|
141
|
-
}, [results, t, emrConfiguration, handleDischarge]);
|
|
146
|
+
}, [results, t, emrConfiguration, handleDischarge, wardPatientGroupDetails]);
|
|
142
147
|
|
|
143
148
|
if (!patients.length) return <EmptyState message={t('noDischargeInpatients', 'No Discharge in patients')} />;
|
|
144
149
|
|
|
@@ -16,7 +16,7 @@ import React, { useMemo } from 'react';
|
|
|
16
16
|
import { useTranslation } from 'react-i18next';
|
|
17
17
|
import { EmptyState, ErrorState } from './table-state-components';
|
|
18
18
|
import { useIpdDischargeEncounter } from '../hooks/useIpdDischargeEncounter';
|
|
19
|
-
import { formatDatetime, parseDate } from '@openmrs/esm-framework';
|
|
19
|
+
import { formatDatetime, parseDate, showModal } from '@openmrs/esm-framework';
|
|
20
20
|
import {
|
|
21
21
|
HyperLinkPatientCell,
|
|
22
22
|
PatientAdmissionDateCell,
|
|
@@ -24,6 +24,8 @@ import {
|
|
|
24
24
|
PatientDayInWardCell,
|
|
25
25
|
PatientGenderCell,
|
|
26
26
|
} from './patient-cells';
|
|
27
|
+
import DischargeSummary from '../discharge-printouts/discharge-summary';
|
|
28
|
+
import GatePassPrintout from '../discharge-printouts/gate-pass-printout';
|
|
27
29
|
|
|
28
30
|
const DischargePatients = () => {
|
|
29
31
|
const { t } = useTranslation();
|
|
@@ -64,8 +66,26 @@ const DischargePatients = () => {
|
|
|
64
66
|
daysAdmitted: <PatientDayInWardCell patientUuid={encounter.patient.uuid} encounterUuid={encounter.uuid} />,
|
|
65
67
|
action: (
|
|
66
68
|
<OverflowMenu size={'sm'} flipped>
|
|
67
|
-
<OverflowMenuItem
|
|
68
|
-
|
|
69
|
+
<OverflowMenuItem
|
|
70
|
+
itemText={t('dischargeSummary', 'Discharge Summary')}
|
|
71
|
+
onClick={() => {
|
|
72
|
+
const dispose = showModal('patient-discharge-document-preview-modal', {
|
|
73
|
+
size: 'lg',
|
|
74
|
+
onClose: () => dispose(),
|
|
75
|
+
printout: <DischargeSummary dischargeEncounterUuid={encounter.uuid} patient={encounter.patient} />,
|
|
76
|
+
});
|
|
77
|
+
}}
|
|
78
|
+
/>
|
|
79
|
+
<OverflowMenuItem
|
|
80
|
+
itemText={t('gatePass', 'Gate Pass')}
|
|
81
|
+
onClick={() => {
|
|
82
|
+
const dispose = showModal('patient-discharge-document-preview-modal', {
|
|
83
|
+
size: 'lg',
|
|
84
|
+
onClose: () => dispose(),
|
|
85
|
+
printout: <GatePassPrintout dischargeEncounterUuid={encounter.uuid} patient={encounter.patient} />,
|
|
86
|
+
});
|
|
87
|
+
}}
|
|
88
|
+
/>
|
|
69
89
|
</OverflowMenu>
|
|
70
90
|
),
|
|
71
91
|
};
|
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
import { InlineLoading, OverflowMenuItem, Tag } from '@carbon/react';
|
|
2
|
-
import {
|
|
3
|
-
ConfigurableLink,
|
|
4
|
-
formatDatetime,
|
|
5
|
-
parseDate,
|
|
6
|
-
useConfig,
|
|
7
|
-
useEmrConfiguration,
|
|
8
|
-
usePatient,
|
|
9
|
-
} from '@openmrs/esm-framework';
|
|
2
|
+
import { ConfigurableLink, formatDatetime, parseDate, useEmrConfiguration, usePatient } from '@openmrs/esm-framework';
|
|
10
3
|
import dayjs from 'dayjs';
|
|
11
4
|
import React, { type FC, useMemo } from 'react';
|
|
12
5
|
import { useTranslation } from 'react-i18next';
|
|
13
|
-
import { type WardConfigObject } from '../config-schema';
|
|
14
6
|
import { useEncounterDetails } from '../hooks/useIpdDischargeEncounter';
|
|
15
7
|
import { usePatientBills } from '../ward-workspace/kenya-emr-patient-discharge/patient-discharge.resource';
|
|
16
8
|
|
|
@@ -55,7 +47,7 @@ export const PatientAdmissionDateCell: FC<PatientAdmissionCellProps> = ({ encoun
|
|
|
55
47
|
|
|
56
48
|
const admissionDate = useMemo(() => {
|
|
57
49
|
const admisionEncounter = encounter?.visit?.encounters?.find(
|
|
58
|
-
(e) => e.encounterType.uuid === emrConfiguration?.
|
|
50
|
+
(e) => e.encounterType.uuid === emrConfiguration?.admissionEncounterType?.uuid,
|
|
59
51
|
);
|
|
60
52
|
if (!admisionEncounter || !admisionEncounter.encounterDatetime) return '--';
|
|
61
53
|
return formatDatetime(parseDate(admisionEncounter.encounterDatetime));
|
|
@@ -72,7 +64,7 @@ export const PatientDayInWardCell: FC<PatientAdmissionCellProps> = ({ encounterU
|
|
|
72
64
|
|
|
73
65
|
const daysInWard = useMemo(() => {
|
|
74
66
|
const admisionEncounter = encounter?.visit?.encounters?.find(
|
|
75
|
-
(e) => e.encounterType.uuid === emrConfiguration?.
|
|
67
|
+
(e) => e.encounterType.uuid === emrConfiguration?.admissionEncounterType?.uuid,
|
|
76
68
|
);
|
|
77
69
|
if (!admisionEncounter || !admisionEncounter.encounterDatetime) return '--';
|
|
78
70
|
const dischargeEncounter = encounter?.visit?.encounters?.find((e) => e.uuid === encounterUuid);
|
|
@@ -127,11 +119,13 @@ export const PatientBillStatus: FC<PatientAdmissionCellProps> = ({ patientUuid,
|
|
|
127
119
|
|
|
128
120
|
type UnAssignPatientBedActionProps = PatientAdmissionCellProps & {
|
|
129
121
|
onClick?: () => void;
|
|
122
|
+
loading?: boolean;
|
|
130
123
|
};
|
|
131
124
|
export const UnAssignPatientBedAction: FC<UnAssignPatientBedActionProps> = ({
|
|
132
125
|
encounterUuid,
|
|
133
126
|
patientUuid,
|
|
134
127
|
onClick,
|
|
128
|
+
loading,
|
|
135
129
|
}) => {
|
|
136
130
|
const { encounter, error, isLoading } = useEncounterDetails(encounterUuid);
|
|
137
131
|
const { t } = useTranslation();
|
|
@@ -156,7 +150,7 @@ export const UnAssignPatientBedAction: FC<UnAssignPatientBedActionProps> = ({
|
|
|
156
150
|
dailyBedFeeSettled,
|
|
157
151
|
} = usePatientBills(patientUuid, startDate?.toDate(), endDateDate.toDate());
|
|
158
152
|
|
|
159
|
-
if (isLoading || isLoadingBills) return <InlineLoading />;
|
|
153
|
+
if (isLoading || isLoadingBills || loading) return <InlineLoading />;
|
|
160
154
|
if (error || billsError) return null;
|
|
161
155
|
if (bills.length === 0) return null;
|
|
162
156
|
if (pendingBills.length > 0) return null;
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type Concept,
|
|
3
|
+
type FetchResponse,
|
|
4
|
+
restBaseUrl,
|
|
5
|
+
useConfig,
|
|
6
|
+
useDebounce,
|
|
7
|
+
useOpenmrsFetchAll,
|
|
8
|
+
} from '@openmrs/esm-framework';
|
|
2
9
|
import { useMemo, useState } from 'react';
|
|
3
10
|
import z from 'zod';
|
|
4
11
|
import { type WardConfigObject } from '../../config-schema';
|
|
5
12
|
import dayjs from 'dayjs';
|
|
13
|
+
import useSWR from 'swr';
|
|
6
14
|
export const useDiagnoses = () => {
|
|
7
15
|
const { diagnosisConceptSourceUud } = useConfig<WardConfigObject>();
|
|
8
16
|
const [q, setQ] = useState('');
|
|
@@ -53,6 +61,16 @@ export const useProviders = () => {
|
|
|
53
61
|
};
|
|
54
62
|
};
|
|
55
63
|
|
|
64
|
+
export const useProvider = (uuid: string) => {
|
|
65
|
+
const url = `${restBaseUrl}/provider/${uuid}?v=custom:(uuid,display)`;
|
|
66
|
+
const { data, error, isLoading } = useSWR<FetchResponse<Provider>>(url);
|
|
67
|
+
return {
|
|
68
|
+
provider: data?.data,
|
|
69
|
+
error,
|
|
70
|
+
isLoading,
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
|
|
56
74
|
export const inpatientAdmissionSchema = z.object({
|
|
57
75
|
bedId: z.number().optional(),
|
|
58
76
|
admissionDate: z.date({ coerce: true }),
|
|
@@ -85,12 +85,13 @@ export const usePatientDischarge = () => {
|
|
|
85
85
|
wardPatient: WardPatient,
|
|
86
86
|
emrConfiguration: Record<string, unknown>,
|
|
87
87
|
visit: Visit,
|
|
88
|
+
wardLocation?: OpenmrsResource,
|
|
88
89
|
) => {
|
|
89
90
|
try {
|
|
90
91
|
const encounterPayload = createDischargeEncounterPayload(
|
|
91
92
|
wardPatient.patient.uuid,
|
|
92
93
|
emrConfiguration.exitFromInpatientEncounterType as OpenmrsResource,
|
|
93
|
-
session?.sessionLocation as OpenmrsResource,
|
|
94
|
+
wardLocation ?? (session?.sessionLocation as OpenmrsResource),
|
|
94
95
|
session?.currentProvider as OpenmrsResource,
|
|
95
96
|
visit.uuid,
|
|
96
97
|
emrConfiguration.clinicianEncounterRole as OpenmrsResource,
|
|
@@ -206,7 +206,7 @@ export default function PatientAdmitOrTransferForm({
|
|
|
206
206
|
field={field}
|
|
207
207
|
invalid={!!error?.message}
|
|
208
208
|
invalidText={error?.message}
|
|
209
|
-
ancestorLocation={visit?.location}
|
|
209
|
+
// ancestorLocation={visit?.location}
|
|
210
210
|
excludeLocations={currentAdmission ? [currentAdmission.currentInpatientLocation] : []}
|
|
211
211
|
/>
|
|
212
212
|
)}
|
package/dist/1352.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 1352.js.LICENSE.txt */
|
|
2
|
-
(globalThis.webpackChunk_kenyaemr_esm_ward_app=globalThis.webpackChunk_kenyaemr_esm_ward_app||[]).push([[1352],{13002:(e,n,t)=>{"use strict";t.d(n,{E:()=>s,R_:()=>o,Tb:()=>u,tf:()=>c});var r=t(38254),a=t(65980),i=t(92891);function o(){var e=(0,i.A)().location,n=(0,r.useSession)().currentProvider,t=(0,a.A)(),o=t.emrConfiguration,s=t.isLoadingEmrConfiguration,c=t.errorFetchingEmrConfiguration;return{createEncounter:function(t,a,i){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],c={patient:t.uuid,encounterType:a,location:null==e?void 0:e.uuid,encounterProviders:[{provider:null==n?void 0:n.uuid,encounterRole:o.clinicianEncounterRole.uuid}],obs:s,visit:i};return(0,r.openmrsFetch)("".concat(r.restBaseUrl,"/encounter"),{method:"POST",headers:{"content-type":"application/json"},body:c})},emrConfiguration:o,isLoadingEmrConfiguration:s,errorFetchingEmrConfiguration:c}}function s(){var e=o(),n=e.createEncounter,t=e.emrConfiguration;return{admitPatient:function(e,r,a,i){var o="ADMIT"===r?t.admissionEncounterType:"TRANSFER"===r?t.transferWithinHospitalEncounterType:null;return n(e,o,a,i)},isLoadingEmrConfiguration:e.isLoadingEmrConfiguration,errorFetchingEmrConfiguration:e.errorFetchingEmrConfiguration}}function c(e,n,t){return(0,r.openmrsFetch)("".concat(r.restBaseUrl,"/beds/").concat(e),{method:"POST",headers:{"content-type":"application/json"},body:{patientUuid:n,encounterUuid:t}})}function u(e,n){return(0,r.openmrsFetch)("".concat(r.restBaseUrl,"/beds/").concat(e,"?patientUuid=").concat(n),{method:"DELETE"})}},14441:(e,n,t)=>{"use strict";t.d(n,{A:()=>r});const r=function(e){var n=null==e?0:e.length;return n?e[n-1]:void 0}},14583:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});var r=t(30977),a=t.n(r),i=t(95924),o=t.n(i)()(a());o.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-ward__bed-selector__radioButtonGroup___8Yn5Y{margin-top:.5rem}.-esm-ward__bed-selector__radioButtonGroup___8Yn5Y fieldset{flex-direction:column;align-items:flex-start}.-esm-ward__bed-selector__radioButtonGroup___8Yn5Y fieldset .cds--radio-button-wrapper{margin-bottom:.75rem}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/ward-workspace/bed-selector.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCzDF,mDACE,gBCgBW,CDfX,4DACE,qBAAA,CACA,sBAAA,CAEA,uFACE,oBCeO",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/type';\n@use '@carbon/layout';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.radioButtonGroup {\n margin-top: layout.$spacing-03;\n fieldset {\n flex-direction: column;\n align-items: flex-start;\n\n :global(.cds--radio-button-wrapper) {\n margin-bottom: layout.$spacing-04;\n }\n }\n}\n","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),o.locals={radioButtonGroup:"-esm-ward__bed-selector__radioButtonGroup___8Yn5Y"};const s=o},21352:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>V});var r=t(21580),a=t(81160),i=t(38254),o=t(90380),s=t.n(o),c=t(80824),u=t(93150),d=t(83209),l=t(92891),p=t(13002),m=t(54443),f=t(81776),g=t(72591),b=t.n(g),y=t(1740),h=t.n(y),v=t(88128),A=t.n(v),$=t(30855),w=t.n($),_=t(93051),C=t.n(_),E=t(73656),k=t.n(E),T=t(60333),S={};S.styleTagTransform=k(),S.setAttributes=w(),S.insert=A().bind(null,"head"),S.domAPI=h(),S.insertStyleElement=C(),b()(T.A,S);const x=T.A&&T.A.locals?T.A.locals:void 0;var D=t(46195),I=t(23464),P=t.n(I);function N(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var O=D.Ay.object({bedId:D.Ay.number().optional(),admissionDate:D.Ay.date({coerce:!0}),diagnosis:D.Ay.string().optional(),primaryDoctor:D.Ay.string().optional(),primaryDoctorPhoneNumber:D.Ay.string().optional(),emergencyDoctor:D.Ay.string().optional(),emergencyDoctorPhoneNumber:D.Ay.string().optional(),paymentMode:D.Ay.string().optional(),insuranceType:D.Ay.string().optional(),otherInsuranceType:D.Ay.string().optional()});const M=function(e){var n=e.control,t=e.name,a=(0,u.useTranslation)().t,d=function(){var e,n,t=(0,i.useConfig)().diagnosisConceptSourceUud,r=(e=(0,o.useState)(""),n=2,function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i=[],o=!0,s=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){s=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(s)throw a}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return N(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?N(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0],s=r[1],c=(0,i.useDebounce)(a,500),u="".concat(i.restBaseUrl,"/concept?q=").concat(c,"&v=").concat("custom:(uuid,name:(uuid,display),conceptClass:(uuid,display),setMembers,mappings:(conceptReferenceTerm:(code,name,display,conceptSource:(uuid))))","&references=").concat(t),d=(0,i.useOpenmrsFetchAll)((null==c?void 0:c.length)>=3?u:null),l=d.data,p=d.error,m=d.isLoading;return{diagnoses:(0,o.useMemo)((function(){return(null!=l?l:[]).filter((function(e){var n;return null===(n=e.mappings)||void 0===n?void 0:n.some((function(e){var n,r;return(null==e||null===(r=e.conceptReferenceTerm)||void 0===r||null===(n=r.conceptSource)||void 0===n?void 0:n.uuid)===t}))})).map((function(e){var n,r,a,i=null===(a=e.mappings)||void 0===a||null===(r=a.find((function(e){var n,r;return(null==e||null===(r=e.conceptReferenceTerm)||void 0===r||null===(n=r.conceptSource)||void 0===n?void 0:n.uuid)===t})))||void 0===r||null===(n=r.conceptReferenceTerm)||void 0===n?void 0:n.code;return{display:"".concat(i,"-").concat(e.name.display),uuid:e.uuid}}))}),[l,t]),isLoading:m,error:p,searchTerm:a,onSearchTermChange:s}}(),l=d.diagnoses,p=d.onSearchTermChange,m=d.isLoading;return s().createElement(c.xI,{control:n,name:t,render:function(e){var n=e.field,t=n.onChange,i=n.value,o=e.fieldState.error;return s().createElement(r.a32,{id:"diagnosis",invalid:null==o?void 0:o.message,invalidText:null==o?void 0:o.message,itemToString:function(e){var n,t;return null!==(t=null===(n=l.find((function(n){return n.uuid===e})))||void 0===n?void 0:n.display)&&void 0!==t?t:""},items:l.map((function(e){return e.uuid})),placeholder:a("diagnosis","Diagnosis"),titleText:a("majorComplaintOrDiagnosis","Major Complaint/Diagnosis"),onInputChange:p,type:"default",selectedItem:i,helperText:m?"Loading....":void 0,onChange:function(e){var n=e.selectedItem;t(n)}})}})};function F(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function B(e,n,t,r,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void t(e)}s.done?n(c):Promise.resolve(c).then(r,a)}function U(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function L(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){U(e,n,t[n])}))}return e}function W(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):function(e){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n.push.apply(n,t)}return n}(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})),e}function R(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,a,i=[],o=!0,s=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){s=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(s)throw a}}return i}}(e,n)||function(e,n){if(e){if("string"==typeof e)return F(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?F(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const V=function(e){var n,t,g,b,y,h,v,A,$,w=e.wardPatient,_=e.closeWorkspace,C=e.closeWorkspaceWithSavedChanges,E=e.promptBeforeClosing,k=null!=w?w:{},T=k.patient,S=k.inpatientRequest,D=k.visit,I=null!==(g=null==S?void 0:S.dispositionType)&&void 0!==g?g:"ADMIT",N=(0,i.useConfig)(),F=(0,u.useTranslation)().t,U=(0,l.A)().location,V=R((0,o.useState)(!1),2),j=V[0],Y=V[1],G=(0,p.E)(),z=G.admitPatient,H=G.isLoadingEmrConfiguration,Z=G.errorFetchingEmrConfiguration,K=R((0,o.useState)(!1),2),q=K[0],J=K[1],Q=(null!==(b=(0,i.useAppContext)("ward-view-context"))&&void 0!==b?b:{}).wardPatientGroupDetails,X=(null!==(y=null==Q?void 0:Q.admissionLocationResponse)&&void 0!==y?y:{}).isLoading,ee=(0,d.r)(T.uuid),ne=ee.data,te=ee.isLoading,re=X?[]:null!==(h=null==Q?void 0:Q.bedLayouts)&&void 0!==h?h:[],ae=(0,c.mN)({defaultValues:{admissionDate:new Date},resolver:(0,a.u)(O)}),ie=ae.control,oe=ae.formState,se=oe.errors,ce=oe.isDirty,ue=ae.handleSubmit,de=ae.watch,le=(v="".concat(i.restBaseUrl,"/provider?v=custom:(uuid,display)"),{providers:null!=($=(A=(0,i.useOpenmrsFetchAll)(v)).data)?$:[],error:A.error,isLoading:A.isLoading}),pe=le.isLoading,me=le.providers,fe=R(de(["paymentMode","insuranceType","bedId"]),3),ge=fe[0],be=fe[1],ye=fe[2];(0,o.useEffect)((function(){E((function(){return ce}))}),[ce,E]);var he,ve=(0,o.useCallback)((function(e){J(!0),Y(!1)}),[]);return Q?s().createElement(r.lVW,{control:ie,className:x.form,onSubmit:ue((function(e){J(!1),Y(!0);var n=re.find((function(n){return n.bedId===e.bedId})),t=function(e,n){var t,r=[{concept:n.conceptUuidForWardAdmission.admissionDateTime,value:(t=null==e?void 0:e.admissionDate,t?P()(t).format("YYYY-MM-DD HH:mm:ss"):"")},{concept:n.conceptUuidForWardAdmission.primaryDoctor,value:e.primaryDoctor},{concept:n.conceptUuidForWardAdmission.chiefComplaint,value:e.diagnosis},{concept:n.conceptUuidForWardAdmission.primaryDoctorPhoneNumber,value:e.primaryDoctorPhoneNumber},{concept:n.conceptUuidForWardAdmission.emmergencyDoctor,value:e.emergencyDoctor},{concept:n.conceptUuidForWardAdmission.emmergencyDoctorPhoneNumber,value:e.emergencyDoctorPhoneNumber},{concept:n.conceptUuidForWardAdmission.paymentMethod,value:e.paymentMode}];return e.paymentMode===n.conceptUuidForWardAdmission.insurancePaymentMethod&&(r.push({concept:n.conceptUuidForWardAdmission.insurancePaymentMethod,value:e.insuranceType}),e.otherInsuranceType===n.conceptUuidForWardAdmission.otherInsuaranceType&&r.push({concept:n.conceptUuidForWardAdmission.insuranceOtherSpecify,value:e.otherInsuranceType})),r.filter((function(e){return Boolean(e.value)}))}(e,N);z(T,I,D.uuid,t).then((function(t){return(r=function(){var r,a,i,o;return function(e,n){var t,r,a,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(t=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!((a=(a=i.trys).length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=n.call(e,i)}catch(e){s=[6,e],r=0}finally{t=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}(this,(function(s){return t.ok?n?[2,(0,p.tf)(e.bedId,T.uuid,t.data.uuid)]:(o=null==ne||null===(i=ne.data)||void 0===i||null===(a=i.results)||void 0===a||null===(r=a[0])||void 0===r?void 0:r.bedId)?[2,(0,p.Tb)(o,T.uuid)]:[2,t]:[2]}))},function(){var e=this,n=arguments;return new Promise((function(t,a){var i=r.apply(e,n);function o(e){B(i,t,a,o,s,"next",e)}function s(e){B(i,t,a,o,s,"throw",e)}o(void 0)}))})();var r}),(function(e){(0,i.showSnackbar)({kind:"error",title:F("errorCreatingEncounter","Failed to admit patient"),subtitle:e.message})})).then((function(e){e&&(null==e?void 0:e.ok)&&(n?(0,i.showSnackbar)({kind:"success",title:F("patientAdmittedSuccessfully","Patient admitted successfully"),subtitle:F("patientAdmittedSuccessfullySubtitle","{{patientName}} has been successfully admitted and assigned to bed {{bedNumber}}",{patientName:T.person.preferredName.display,bedNumber:n.bedNumber})}):(0,i.showSnackbar)({kind:"success",title:F("patientAdmittedSuccessfully","Patient admitted successfully"),subtitle:F("patientAdmittedWoBed","Patient admitted successfully to {{location}}",{location:null==U?void 0:U.display})}))}),(function(){(0,i.showSnackbar)({kind:"warning",title:F("patientAdmittedSuccessfully","Patient admitted successfully"),subtitle:F("patientAdmittedButBedNotAssigned","Patient admitted successfully but fail to assign bed to patient")})})).finally((function(){var e;Y(!1),null==Q||null===(e=Q.mutate)||void 0===e||e.call(Q),C()}))}),ve)},s().createElement(r.BJc,{gap:4,className:x.grid},s().createElement(f.default,{wardPatient:w}),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"admissionDate",render:function(e){var n=e.field,t=n.onChange,a=n.value,i=e.fieldState.error;return s().createElement(r.lrV,{value:a,datePickerType:"single",onChange:function(e){var n=R(e,1)[0];t(n)},className:x.datePickerInput},s().createElement(r.tKA,{id:"admission-date",labelText:F("admissionDate","Admission Date"),placeholder:"mm/dd/yyyy",invalid:null==i?void 0:i.message,invalidText:null==i?void 0:i.message}))}})),s().createElement(r.VPZ,null,s().createElement(M,{control:ie,name:"diagnosis"})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"primaryDoctor",render:function(e){var n=e.field,t=n.onChange,a=n.value,i=e.fieldState.error;return s().createElement(r.a32,{id:"primary-doctor",invalid:null==i?void 0:i.message,helperText:pe?"Loading....":void 0,invalidText:null==i?void 0:i.message,itemToString:function(e){var n,t;return null!==(t=null===(n=me.find((function(n){return n.uuid===e})))||void 0===n?void 0:n.display)&&void 0!==t?t:""},items:me.map((function(e){return e.uuid})),selectedItem:a,onChange:function(e){var n=e.selectedItem;return t(n)},placeholder:F("primaryDoctor","Primary Doctor"),titleText:F("primaryDoctor","Primary Doctor"),type:"default"})}})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"primaryDoctorPhoneNumber",render:function(e){var n=e.field,t=e.fieldState.error;return s().createElement(r.ksK,W(L({},n),{invalid:null==t?void 0:t.message,invalidText:null==t?void 0:t.message,id:"primary-doctor-phone-number",labelText:F("primaryDoctorPhoneNumber","Primary doctor phone number"),placeholder:F("phoneNumber","Phone number"),size:"md",type:"text"}))}})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"emergencyDoctor",render:function(e){var n=e.field,t=n.onChange,a=n.value,i=e.fieldState.error;return s().createElement(r.a32,{id:"emergency-doctor",invalid:null==i?void 0:i.message,helperText:pe?"Loading....":void 0,invalidText:null==i?void 0:i.message,itemToString:function(e){var n,t;return null!==(t=null===(n=me.find((function(n){return n.uuid===e})))||void 0===n?void 0:n.display)&&void 0!==t?t:""},items:me.map((function(e){return e.uuid})),selectedItem:a,onChange:function(e){var n=e.selectedItem;return t(n)},placeholder:F("emergencyDoctor","Emergence Doctor"),titleText:F("emergencyDoctor","Emergency Doctor"),type:"default"})}})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"emergencyDoctorPhoneNumber",render:function(e){var n=e.field,t=e.fieldState.error;return s().createElement(r.ksK,W(L({},n),{invalid:null==t?void 0:t.message,invalidText:null==t?void 0:t.message,id:"emergency-doctor-phone-number",labelText:F("emergencyDoctorPhoneNumber","Emergency doctor phone number"),placeholder:F("phoneNumber","Phone number"),size:"md",type:"text"}))}})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"paymentMode",render:function(e){var n=e.field,t=n.onChange,a=n.value,i=e.fieldState.error;return s().createElement(r.zWQ,{legendText:F("paymentMode","Payment mode"),name:"payment-mode",defaultSelected:a,invalid:null==i?void 0:i.message,invalidText:null==i?void 0:i.message,onChange:t,orientation:"vertical"},s().createElement(r.aaP,{labelText:F("cash","Cash"),value:N.conceptUuidForWardAdmission.cashPaymentMethod}),s().createElement(r.aaP,{labelText:F("mpesa","MPESA"),value:N.conceptUuidForWardAdmission.mpesaPaymentMethod}),s().createElement(r.aaP,{labelText:F("insuarance","Insuarance"),value:N.conceptUuidForWardAdmission.insurancePaymentMethod}))}})),ge===N.conceptUuidForWardAdmission.insurancePaymentMethod&&s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"insuranceType",render:function(e){var n=e.field,t=n.onChange,a=n.value,i=e.fieldState.error;return s().createElement(r.msM,{invalid:null==i?void 0:i.message,invalidText:null==i?void 0:i.message,selectedItem:a,onChange:function(e){var n=e.selectedItem;return t(n)},id:"insurance-type",itemToString:function(e){var n,t;return null!==(t=null===(n=N.insuaranceTypes.find((function(n){return n.concept===e})))||void 0===n?void 0:n.label)&&void 0!==t?t:""},items:N.insuaranceTypes.map((function(e){return e.concept})),label:F("insuranceType","Insurance type"),titleText:F("insuranceType","Insurance type"),type:"default"})}})),ge===N.conceptUuidForWardAdmission.insurancePaymentMethod&&be===N.conceptUuidForWardAdmission.otherInsuaranceType&&s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"otherInsuranceType",render:function(e){var n=e.field,t=e.fieldState.error;return s().createElement(r.ksK,W(L({},n),{invalid:null==t?void 0:t.message,invalidText:null==t?void 0:t.message,id:"other-insurance-type",labelText:F("otherInsuranceType","Other Insurance Type"),placeholder:F("pleaseSpecify","Please specify"),size:"md",type:"text"}))}})),s().createElement(r.VPZ,null,s().createElement(c.xI,{control:ie,name:"bedId",render:function(e){var n=e.field,t=n.onChange,r=n.value,a=e.fieldState.error;return s().createElement(m.A,{beds:re,isLoadingBeds:X,currentPatient:T,selectedBedId:r,error:a,control:ie,onChange:t})}})),s().createElement(r.VPZ,null,s().createElement(r.ksK,{value:null!==(he=null==re||null===(t=re.find((function(e){return e.bedId===ye})))||void 0===t||null===(n=t.bedType)||void 0===n?void 0:n.displayName)&&void 0!==he?he:"",readOnly:!0,labelText:F("bedType","Bed type"),placeholder:F("notConfigured","Bed type not configured")})),s().createElement(r.VPZ,null,s().createElement("div",{className:x.errorNotifications},q&&Object.entries(se).map((function(e){var n=R(e,2),t=n[0],a=n[1];return s().createElement(r.fI1,{key:t},s().createElement(r.VPZ,null,s().createElement(r.jeF,{kind:"error",subtitle:a.message,lowContrast:!0})))}))))),s().createElement(r.Te$,{className:x.buttonSet},s().createElement(r.$nd,{className:x.button,size:"xl",kind:"secondary",onClick:function(){return _({ignoreChanges:!0})}},F("cancel","Cancel")),s().createElement(r.$nd,{className:x.button,type:"submit",size:"xl",disabled:j||H||Z||X||te},j?F("admitting","Admitting..."):F("admit","Admit")))):s().createElement(s().Fragment,null)}},23464:function(e){e.exports=function(){"use strict";var e=6e4,n=36e5,t="millisecond",r="second",a="minute",i="hour",o="day",s="week",c="month",u="quarter",d="year",l="date",p="Invalid Date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var n=["th","st","nd","rd"],t=e%100;return"["+e+(n[(t-20)%10]||n[t]||n[0])+"]"}},b=function(e,n,t){var r=String(e);return!r||r.length>=n?e:""+Array(n+1-r.length).join(t)+e},y={s:b,z:function(e){var n=-e.utcOffset(),t=Math.abs(n),r=Math.floor(t/60),a=t%60;return(n<=0?"+":"-")+b(r,2,"0")+":"+b(a,2,"0")},m:function e(n,t){if(n.date()<t.date())return-e(t,n);var r=12*(t.year()-n.year())+(t.month()-n.month()),a=n.clone().add(r,c),i=t-a<0,o=n.clone().add(r+(i?-1:1),c);return+(-(r+(t-a)/(i?a-o:o-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:c,y:d,w:s,d:o,D:l,h:i,m:a,s:r,ms:t,Q:u}[e]||String(e||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},h="en",v={};v[h]=g;var A="$isDayjsObject",$=function(e){return e instanceof E||!(!e||!e[A])},w=function e(n,t,r){var a;if(!n)return h;if("string"==typeof n){var i=n.toLowerCase();v[i]&&(a=i),t&&(v[i]=t,a=i);var o=n.split("-");if(!a&&o.length>1)return e(o[0])}else{var s=n.name;v[s]=n,a=s}return!r&&a&&(h=a),a||!r&&h},_=function(e,n){if($(e))return e.clone();var t="object"==typeof n?n:{};return t.date=e,t.args=arguments,new E(t)},C=y;C.l=w,C.i=$,C.w=function(e,n){return _(e,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})};var E=function(){function g(e){this.$L=w(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[A]=!0}var b=g.prototype;return b.parse=function(e){this.$d=function(e){var n=e.date,t=e.utc;if(null===n)return new Date(NaN);if(C.u(n))return new Date;if(n instanceof Date)return new Date(n);if("string"==typeof n&&!/Z$/i.test(n)){var r=n.match(m);if(r){var a=r[2]-1||0,i=(r[7]||"0").substring(0,3);return t?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(n)}(e),this.init()},b.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},b.$utils=function(){return C},b.isValid=function(){return!(this.$d.toString()===p)},b.isSame=function(e,n){var t=_(e);return this.startOf(n)<=t&&t<=this.endOf(n)},b.isAfter=function(e,n){return _(e)<this.startOf(n)},b.isBefore=function(e,n){return this.endOf(n)<_(e)},b.$g=function(e,n,t){return C.u(e)?this[n]:this.set(t,e)},b.unix=function(){return Math.floor(this.valueOf()/1e3)},b.valueOf=function(){return this.$d.getTime()},b.startOf=function(e,n){var t=this,u=!!C.u(n)||n,p=C.p(e),m=function(e,n){var r=C.w(t.$u?Date.UTC(t.$y,n,e):new Date(t.$y,n,e),t);return u?r:r.endOf(o)},f=function(e,n){return C.w(t.toDate()[e].apply(t.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(n)),t)},g=this.$W,b=this.$M,y=this.$D,h="set"+(this.$u?"UTC":"");switch(p){case d:return u?m(1,0):m(31,11);case c:return u?m(1,b):m(0,b+1);case s:var v=this.$locale().weekStart||0,A=(g<v?g+7:g)-v;return m(u?y-A:y+(6-A),b);case o:case l:return f(h+"Hours",0);case i:return f(h+"Minutes",1);case a:return f(h+"Seconds",2);case r:return f(h+"Milliseconds",3);default:return this.clone()}},b.endOf=function(e){return this.startOf(e,!1)},b.$set=function(e,n){var s,u=C.p(e),p="set"+(this.$u?"UTC":""),m=(s={},s[o]=p+"Date",s[l]=p+"Date",s[c]=p+"Month",s[d]=p+"FullYear",s[i]=p+"Hours",s[a]=p+"Minutes",s[r]=p+"Seconds",s[t]=p+"Milliseconds",s)[u],f=u===o?this.$D+(n-this.$W):n;if(u===c||u===d){var g=this.clone().set(l,1);g.$d[m](f),g.init(),this.$d=g.set(l,Math.min(this.$D,g.daysInMonth())).$d}else m&&this.$d[m](f);return this.init(),this},b.set=function(e,n){return this.clone().$set(e,n)},b.get=function(e){return this[C.p(e)]()},b.add=function(t,u){var l,p=this;t=Number(t);var m=C.p(u),f=function(e){var n=_(p);return C.w(n.date(n.date()+Math.round(e*t)),p)};if(m===c)return this.set(c,this.$M+t);if(m===d)return this.set(d,this.$y+t);if(m===o)return f(1);if(m===s)return f(7);var g=(l={},l[a]=e,l[i]=n,l[r]=1e3,l)[m]||1,b=this.$d.getTime()+t*g;return C.w(b,this)},b.subtract=function(e,n){return this.add(-1*e,n)},b.format=function(e){var n=this,t=this.$locale();if(!this.isValid())return t.invalidDate||p;var r=e||"YYYY-MM-DDTHH:mm:ssZ",a=C.z(this),i=this.$H,o=this.$m,s=this.$M,c=t.weekdays,u=t.months,d=t.meridiem,l=function(e,t,a,i){return e&&(e[t]||e(n,r))||a[t].slice(0,i)},m=function(e){return C.s(i%12||12,e,"0")},g=d||function(e,n,t){var r=e<12?"AM":"PM";return t?r.toLowerCase():r};return r.replace(f,(function(e,r){return r||function(e){switch(e){case"YY":return String(n.$y).slice(-2);case"YYYY":return C.s(n.$y,4,"0");case"M":return s+1;case"MM":return C.s(s+1,2,"0");case"MMM":return l(t.monthsShort,s,u,3);case"MMMM":return l(u,s);case"D":return n.$D;case"DD":return C.s(n.$D,2,"0");case"d":return String(n.$W);case"dd":return l(t.weekdaysMin,n.$W,c,2);case"ddd":return l(t.weekdaysShort,n.$W,c,3);case"dddd":return c[n.$W];case"H":return String(i);case"HH":return C.s(i,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return g(i,o,!0);case"A":return g(i,o,!1);case"m":return String(o);case"mm":return C.s(o,2,"0");case"s":return String(n.$s);case"ss":return C.s(n.$s,2,"0");case"SSS":return C.s(n.$ms,3,"0");case"Z":return a}return null}(e)||a.replace(":","")}))},b.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},b.diff=function(t,l,p){var m,f=this,g=C.p(l),b=_(t),y=(b.utcOffset()-this.utcOffset())*e,h=this-b,v=function(){return C.m(f,b)};switch(g){case d:m=v()/12;break;case c:m=v();break;case u:m=v()/3;break;case s:m=(h-y)/6048e5;break;case o:m=(h-y)/864e5;break;case i:m=h/n;break;case a:m=h/e;break;case r:m=h/1e3;break;default:m=h}return p?m:C.a(m)},b.daysInMonth=function(){return this.endOf(c).$D},b.$locale=function(){return v[this.$L]},b.locale=function(e,n){if(!e)return this.$L;var t=this.clone(),r=w(e,n,!0);return r&&(t.$L=r),t},b.clone=function(){return C.w(this.$d,this)},b.toDate=function(){return new Date(this.valueOf())},b.toJSON=function(){return this.isValid()?this.toISOString():null},b.toISOString=function(){return this.$d.toISOString()},b.toString=function(){return this.$d.toUTCString()},g}(),k=E.prototype;return _.prototype=k,[["$ms",t],["$s",r],["$m",a],["$H",i],["$W",o],["$M",c],["$y",d],["$D",l]].forEach((function(e){k[e[1]]=function(n){return this.$g(n,e[0],e[1])}})),_.extend=function(e,n){return e.$i||(e(n,E,_),e.$i=!0),_},_.locale=w,_.isDayjs=$,_.unix=function(e){return _(1e3*e)},_.en=v[h],_.Ls=v,_.p={},_}()},54443:(e,n,t)=>{"use strict";t.d(n,{A:()=>E});var r=t(21580),a=t(90380),i=t.n(a),o=t(93150),s=t(92891),c=t(72591),u=t.n(c),d=t(1740),l=t.n(d),p=t(88128),m=t.n(p),f=t(30855),g=t.n(f),b=t(93051),y=t.n(b),h=t(73656),v=t.n(h),A=t(14583),$={};$.styleTagTransform=v(),$.setAttributes=g(),$.insert=m().bind(null,"head"),$.domAPI=l(),$.insertStyleElement=y(),u()(A.A,$);const w=A.A&&A.A.locals?A.A.locals:void 0;function _(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function C(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return _(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}const E=function(e){var n=e.selectedBedId,t=e.beds,a=e.isLoadingBeds,c=e.error,u=e.onChange,d=e.currentPatient,l=e.control,p=e.minBedCountToUseDropdown,m=void 0===p?16:p,f=(0,s.A)().location,g=(0,o.useTranslation)().t,b=[{bedId:0,label:g("noBed","No bed"),bedType:"",disabled:!1}].concat(C(t.map((function(e){var n,t,r,a,i,o,s,c=e.patients.some((function(e){return e.uuid===d.uuid}));return{bedId:e.bedId,label:(r=e,o=r.bedNumber,s=0===r.patients.length?[g("emptyText","Empty")]:r.patients.map((function(e){var n,t;return null==e||null===(t=e.person)||void 0===t||null===(n=t.preferredName)||void 0===n?void 0:n.display})),[o,null!==(i=null==r||null===(a=r.bedType)||void 0===a?void 0:a.displayName)&&void 0!==i?i:"Type unconfigured"].concat(C(s)).join(" · ")),bedType:null!==(t=null==e||null===(n=e.bedType)||void 0===n?void 0:n.displayName)&&void 0!==t?t:"",disabled:c}})))),y=b.find((function(e){return e.bedId===n})),h=t.length>=m;return a?i().createElement(r.zWQ,{className:w.radioButtonGroup,name:"bedId"},i().createElement(r.Psq,null),i().createElement(r.Psq,null),i().createElement(r.Psq,null)):t.length?h?i().createElement(r.msM,{id:"default",titleText:g("selectABed","Select a bed"),helperText:"",label:!y&&g("chooseAnOption","Choose an option"),items:b,itemToString:function(e){return e.label},selectedItem:y,onChange:function(e){var n=e.selectedItem;return u(n.bedId)},invalid:!!c,invalidText:null==c?void 0:c.message}):i().createElement(r.zWQ,{name:"bedId",className:w.radioButtonGroup,onChange:u,invalid:!!c,invalidText:null==c?void 0:c.message},b.map((function(e){var t=e.bedId,a=e.label,o=(e.bedType,e.disabled);return i().createElement(r.aaP,{key:t,labelText:a,control:l,value:t,checked:t===n,disabled:o})}))):i().createElement(r.jeF,{kind:"error",title:g("noBedsConfiguredForLocation","No beds configured for {{location}} location",{location:null==f?void 0:f.display}),lowContrast:!0,hideCloseButton:!0})}},58139:(e,n,t)=>{"use strict";e.exports=t(93296)},60333:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});var r=t(30977),a=t.n(r),i=t(95924),o=t.n(i)()(a());o.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-ward__admit-patient-form__form___VclKa{display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%}.-esm-ward__admit-patient-form__grid___EmQpn{margin:1rem 1rem;padding:1rem 0 0 0}.-esm-ward__admit-patient-form__button___ZFDw0{display:flex;align-content:flex-start;align-items:baseline;min-width:50%}.-esm-ward__admit-patient-form__buttonSet___16JkQ{display:flex;justify-content:space-between;width:100%}.-esm-ward__admit-patient-form__datePickerInput___1eWzV span,.-esm-ward__admit-patient-form__datePickerInput___1eWzV div,.-esm-ward__admit-patient-form__datePickerInput___1eWzV input,.-esm-ward__admit-patient-form__datePickerInput___1eWzV{min-width:100%}.-esm-ward__admit-patient-form__flexWrapper___SdEat{height:100%;display:flex;flex-direction:column;color:#393939}.-esm-ward__admit-patient-form__formError___O1o8s{margin:-1rem -1rem 1rem -1rem}.-esm-ward__admit-patient-form__errorNotifications___RzKmK{margin-top:1rem}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/ward-workspace/admit-patient-form-workspace/admit-patient-form.scss","webpack://./../../node_modules/@carbon/layout/scss/generated/_spacing.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CCxDF,6CACE,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,UAAA,CACA,WAAA,CAGF,6CACE,gBAAA,CACA,kBAAA,CAGF,+CACE,YAAA,CACA,wBAAA,CACA,oBAAA,CACA,aAAA,CAGF,kDACE,YAAA,CACA,6BAAA,CACA,UAAA,CAGF,+OAIE,cAAA,CAIF,oDACE,WAAA,CACA,YAAA,CACA,qBAAA,CACA,aAAA,CAGF,kDACE,6BAAA,CAKF,2DACE,eCtBW",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@carbon/type';\n@use '@carbon/layout';\n@use '@openmrs/esm-styleguide/src/vars' as *;\n\n\n.form {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n height: 100%;\n}\n\n.grid {\n margin: layout.$spacing-05 layout.$spacing-05;\n padding: layout.$spacing-05 0 0 0;\n}\n\n.button {\n display: flex;\n align-content: flex-start;\n align-items: baseline;\n min-width: 50%;\n}\n\n.buttonSet {\n display: flex;\n justify-content: space-between;\n width: 100%;\n}\n\n.datePickerInput span,\n.datePickerInput div,\n.datePickerInput input,\n.datePickerInput {\n min-width: 100%;\n}\n\n\n.flexWrapper {\n height: 100%;\n display: flex;\n flex-direction: column;\n color: #393939;\n}\n\n.formError {\n margin: (-(layout.$spacing-05)) (-(layout.$spacing-05)) layout.$spacing-05 (\n -(layout.$spacing-05)\n );\n}\n\n.errorNotifications {\n margin-top: layout.$spacing-05;\n}","// Code generated by @carbon/layout. DO NOT EDIT.\n//\n// Copyright IBM Corp. 2018, 2023\n//\n// This source code is licensed under the Apache-2.0 license found in the\n// LICENSE file in the root directory of this source tree.\n//\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-01: 0.125rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-02: 0.25rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-03: 0.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-04: 0.75rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-05: 1rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-06: 1.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-07: 2rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-08: 2.5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-09: 3rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-10: 4rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-11: 5rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-12: 6rem !default;\n\n/// @type Number\n/// @access public\n/// @group @carbon/layout\n$spacing-13: 10rem !default;\n\n/// @type Map\n/// @access public\n/// @group @carbon/layout\n$spacing: (\n spacing-01: $spacing-01,\n spacing-02: $spacing-02,\n spacing-03: $spacing-03,\n spacing-04: $spacing-04,\n spacing-05: $spacing-05,\n spacing-06: $spacing-06,\n spacing-07: $spacing-07,\n spacing-08: $spacing-08,\n spacing-09: $spacing-09,\n spacing-10: $spacing-10,\n spacing-11: $spacing-11,\n spacing-12: $spacing-12,\n spacing-13: $spacing-13,\n);\n"],sourceRoot:""}]),o.locals={form:"-esm-ward__admit-patient-form__form___VclKa",grid:"-esm-ward__admit-patient-form__grid___EmQpn",button:"-esm-ward__admit-patient-form__button___ZFDw0",buttonSet:"-esm-ward__admit-patient-form__buttonSet___16JkQ",datePickerInput:"-esm-ward__admit-patient-form__datePickerInput___1eWzV",flexWrapper:"-esm-ward__admit-patient-form__flexWrapper___SdEat",formError:"-esm-ward__admit-patient-form__formError___O1o8s",errorNotifications:"-esm-ward__admit-patient-form__errorNotifications___RzKmK"};const s=o},65980:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var r=t(38254),a=t(90380),i=t(88010),o=t.n(i),s="custom:".concat([["metadataSourceName","ref"],["orderingProviderEncounterRole","ref"],["supportsTransferLocationTag","(uuid,display,name,links)"],["unknownLocation","ref"],["denyAdmissionConcept","ref"],["admissionForm","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["consultFreeTextCommentsConcept","ref"],["sameAsConceptMapType","ref"],["testPatientPersonAttributeType","ref"],["admissionDecisionConcept","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["checkInEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["suppressedDiagnosisConcepts","ref"],["primaryIdentifierType","ref"],["nonDiagnosisConceptSets","ref"],["fullPrivilegeLevel","ref"],["unknownProvider","ref"],["diagnosisSets","ref"],["personImageDirectory","ref"],["visitNoteEncounterType","ref"],["inpatientNoteEncounterType","ref"],["transferRequestEncounterType","ref"],["consultEncounterType","ref"],["diagnosisMetadata","ref"],["narrowerThanConceptMapType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["patientDiedConcept","ref"],["emrApiConceptSource","ref"],["lastViewedPatientSizeLimit","ref"],["identifierTypesToSearch","ref"],["telephoneAttributeType","ref"],["checkInClerkEncounterRole","ref"],["dischargeForm","ref"],["unknownCauseOfDeathConcept","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["atFacilityVisitType","ref"],["visitExpireHours","ref"],["admissionEncounterType","ref"],["motherChildRelationshipType","ref"],["dispositions","ref"],["dispositionDescriptor","ref"],["highPrivilegeLevel","ref"],["supportsLoginLocationTag","(uuid,display,name,links)"],["unknownPatientPersonAttributeType","ref"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["transferForm","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["admissionDecisionConcept","ref"],["denyAdmissionConcept","ref"]].map((function(e){return e.join(":")})).join(","));function c(){var e=o()("".concat(r.restBaseUrl,"/emrapi/configuration?v=").concat(s),r.openmrsFetch);return(0,a.useMemo)((function(){var n;return{emrConfiguration:null===(n=e.data)||void 0===n?void 0:n.data,isLoadingEmrConfiguration:e.isLoading,mutateEmrConfiguration:e.mutate,errorFetchingEmrConfiguration:e.error}}),[e])}},71123:(e,n,t)=>{"use strict";t.d(n,{Ay:()=>u,BE:()=>c,iX:()=>i.useSWRConfig});var r=t(90380),a=t(58139),i=t(55434);const o=r.use||(e=>{if("pending"===e.status)throw e;if("fulfilled"===e.status)return e.value;throw"rejected"===e.status?e.reason:(e.status="pending",e.then((n=>{e.status="fulfilled",e.value=n}),(n=>{e.status="rejected",e.reason=n})),e)}),s={dedupe:!0},c=i.OBJECT.defineProperty(i.SWRConfig,"defaultValue",{value:i.defaultConfig}),u=(0,i.withArgs)(((e,n,t)=>{const{cache:c,compare:u,suspense:d,fallbackData:l,revalidateOnMount:p,revalidateIfStale:m,refreshInterval:f,refreshWhenHidden:g,refreshWhenOffline:b,keepPreviousData:y}=t,[h,v,A,$]=i.SWRGlobalState.get(c),[w,_]=(0,i.serialize)(e),C=(0,r.useRef)(!1),E=(0,r.useRef)(!1),k=(0,r.useRef)(w),T=(0,r.useRef)(n),S=(0,r.useRef)(t),x=()=>S.current,D=()=>x().isVisible()&&x().isOnline(),[I,P,N,O]=(0,i.createCacheHelper)(c,w),M=(0,r.useRef)({}).current,F=(0,i.isUndefined)(l)?t.fallback[w]:l,B=(e,n)=>{for(const t in M){const r=t;if("data"===r){if(!u(e[r],n[r])){if(!(0,i.isUndefined)(e[r]))return!1;if(!u(z,n[r]))return!1}}else if(n[r]!==e[r])return!1}return!0},U=(0,r.useMemo)((()=>{const e=!!w&&!!n&&((0,i.isUndefined)(p)?!x().isPaused()&&!d&&(!!(0,i.isUndefined)(m)||m):p),t=n=>{const t=(0,i.mergeObjects)(n);return delete t._k,e?{isValidating:!0,isLoading:!0,...t}:t},r=I(),a=O(),o=t(r),s=r===a?o:t(a);let c=o;return[()=>{const e=t(I());return B(e,c)?(c.data=e.data,c.isLoading=e.isLoading,c.isValidating=e.isValidating,c.error=e.error,c):(c=e,e)},()=>s]}),[c,w]),L=(0,a.useSyncExternalStore)((0,r.useCallback)((e=>N(w,((n,t)=>{B(t,n)||e()}))),[c,w]),U[0],U[1]),W=!C.current,R=h[w]&&h[w].length>0,V=L.data,j=(0,i.isUndefined)(V)?F:V,Y=L.error,G=(0,r.useRef)(j),z=y?(0,i.isUndefined)(V)?G.current:V:j,H=!(R&&!(0,i.isUndefined)(Y))&&(W&&!(0,i.isUndefined)(p)?p:!x().isPaused()&&(d?!(0,i.isUndefined)(j)&&m:(0,i.isUndefined)(j)||m)),Z=!!(w&&n&&W&&H),K=(0,i.isUndefined)(L.isValidating)?Z:L.isValidating,q=(0,i.isUndefined)(L.isLoading)?Z:L.isLoading,J=(0,r.useCallback)((async e=>{const n=T.current;if(!w||!n||E.current||x().isPaused())return!1;let r,a,o=!0;const s=e||{},c=!A[w]||!s.dedupe,d=()=>i.IS_REACT_LEGACY?!E.current&&w===k.current&&C.current:w===k.current,l={isValidating:!1,isLoading:!1},p=()=>{P(l)},m=()=>{const e=A[w];e&&e[1]===a&&delete A[w]},f={isValidating:!0};(0,i.isUndefined)(I().data)&&(f.isLoading=!0);try{if(c&&(P(f),t.loadingTimeout&&(0,i.isUndefined)(I().data)&&setTimeout((()=>{o&&d()&&x().onLoadingSlow(w,t)}),t.loadingTimeout),A[w]=[n(_),(0,i.getTimestamp)()]),[r,a]=A[w],r=await r,c&&setTimeout(m,t.dedupingInterval),!A[w]||A[w][1]!==a)return c&&d()&&x().onDiscarded(w),!1;l.error=i.UNDEFINED;const e=v[w];if(!(0,i.isUndefined)(e)&&(a<=e[0]||a<=e[1]||0===e[1]))return p(),c&&d()&&x().onDiscarded(w),!1;const s=I().data;l.data=u(s,r)?s:r,c&&d()&&x().onSuccess(r,w,t)}catch(e){m();const n=x(),{shouldRetryOnError:t}=n;n.isPaused()||(l.error=e,c&&d()&&(n.onError(e,w,n),(!0===t||(0,i.isFunction)(t)&&t(e))&&(x().revalidateOnFocus&&x().revalidateOnReconnect&&!D()||n.onErrorRetry(e,w,n,(e=>{const n=h[w];n&&n[0]&&n[0](i.revalidateEvents.ERROR_REVALIDATE_EVENT,e)}),{retryCount:(s.retryCount||0)+1,dedupe:!0}))))}return o=!1,p(),!0}),[w,c]),Q=(0,r.useCallback)(((...e)=>(0,i.internalMutate)(c,k.current,...e)),[]);if((0,i.useIsomorphicLayoutEffect)((()=>{T.current=n,S.current=t,(0,i.isUndefined)(V)||(G.current=V)})),(0,i.useIsomorphicLayoutEffect)((()=>{if(!w)return;const e=J.bind(i.UNDEFINED,s);let n=0;const t=(0,i.subscribeCallback)(w,h,((t,r={})=>{if(t==i.revalidateEvents.FOCUS_EVENT){const t=Date.now();x().revalidateOnFocus&&t>n&&D()&&(n=t+x().focusThrottleInterval,e())}else if(t==i.revalidateEvents.RECONNECT_EVENT)x().revalidateOnReconnect&&D()&&e();else{if(t==i.revalidateEvents.MUTATE_EVENT)return J();if(t==i.revalidateEvents.ERROR_REVALIDATE_EVENT)return J(r)}}));return E.current=!1,k.current=w,C.current=!0,P({_k:_}),H&&((0,i.isUndefined)(j)||i.IS_SERVER?e():(0,i.rAF)(e)),()=>{E.current=!0,t()}}),[w]),(0,i.useIsomorphicLayoutEffect)((()=>{let e;function n(){const n=(0,i.isFunction)(f)?f(I().data):f;n&&-1!==e&&(e=setTimeout(t,n))}function t(){I().error||!g&&!x().isVisible()||!b&&!x().isOnline()?n():J(s).then(n)}return n(),()=>{e&&(clearTimeout(e),e=-1)}}),[f,g,b,w]),(0,r.useDebugValue)(z),d&&(0,i.isUndefined)(j)&&w){if(!i.IS_REACT_LEGACY&&i.IS_SERVER)throw new Error("Fallback data is required when using suspense in SSR.");T.current=n,S.current=t,E.current=!1;const e=$[w];if(!(0,i.isUndefined)(e)){const n=Q(e);o(n)}if(!(0,i.isUndefined)(Y))throw Y;{const e=J(s);(0,i.isUndefined)(z)||(e.status="fulfilled",e.value=!0),o(e)}}return{mutate:Q,get data(){return M.data=!0,z},get error(){return M.error=!0,Y},get isValidating(){return M.isValidating=!0,K},get isLoading(){return M.isLoading=!0,q}}}))},71296:(e,n,t)=>{"use strict";t.d(n,{A:()=>s});var r=t(30977),a=t.n(r),i=t(95924),o=t.n(i)()(a());o.push([e.id,":root{--brand-01: #005d5d;--brand-02: #004144;--brand-03: #007d79;--bottom-nav-height: 4rem;--workspace-header-height: 3rem;--tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));--desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height))}.-esm-ward__style__wardWorkspacePatientBanner___2KnUU>div{background:#f4f4f4}","",{version:3,sources:["webpack://./../../node_modules/@openmrs/esm-styleguide/src/_vars.scss","webpack://./src/ward-workspace/patient-banner/style.scss"],names:[],mappings:"AAsDA,MACE,mBAAA,CACA,mBAAA,CACA,mBAAA,CACA,yBAAA,CACA,+BAAA,CACA,oGAAA,CACA,2GAAA,CC1DA,0DACE,kBDFI",sourcesContent:["@use '@carbon/layout';\n\n$ui-01: #f4f4f4;\n$ui-02: #ffffff;\n$ui-03: #e0e0e0;\n$ui-04: #8d8d8d;\n$ui-05: #161616;\n$text-02: #525252;\n$text-03: #a8a8a8;\n$ui-background: #ffffff;\n$color-gray-30: #c6c6c6;\n$color-gray-70: #525252;\n$color-gray-100: #161616;\n$color-blue-60-2: #0f62fe;\n$color-blue-10: #edf5ff;\n$color-yellow-50: #feecae;\n$carbon--red-50: #fa4d56;\n$inverse-link: #78a9ff;\n$support-02: #24a148;\n$inverse-support-03: #f1c21b;\n$warning-background: #fff8e1;\n$openmrs-background-grey: #f4f4f4;\n$danger: #da1e28;\n$interactive-01: #0f62fe;\n$field-01: #f4f4f4;\n$grey-2: #e0e0e0;\n$labeldropdown: #c6c6c6;\n\n$brand-primary-10: #d9fbfb;\n$brand-primary-20: #9ef0f0;\n$brand-primary-30: #3ddbd9;\n$brand-primary-40: #08bdba;\n$brand-primary-50: #009d9a;\n\n/* 60,70 and 80 are already declared as brand-01, 02 and 03 respectively */\n\n$brand-primary-90: #022b30;\n$brand-primary-100: #081a1c;\n\n@mixin brand-01($property) {\n #{$property}: #005d5d;\n #{$property}: var(--brand-01);\n}\n\n@mixin brand-02($property) {\n #{$property}: #004144;\n #{$property}: var(--brand-02);\n}\n\n@mixin brand-03($property) {\n #{$property}: #007d79;\n #{$property}: var(--brand-03);\n}\n\n:root {\n --brand-01: #005d5d;\n --brand-02: #004144;\n --brand-03: #007d79;\n --bottom-nav-height: #{layout.$spacing-10};\n --workspace-header-height: #{layout.$spacing-09};\n --tablet-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--bottom-nav-height));\n --desktop-workspace-window-height: calc(100vh - var(--omrs-navbar-height) - var(--workspace-header-height));\n}\n\n$breakpoint-phone-min: 0px;\n$breakpoint-phone-max: 600px;\n$breakpoint-tablet-min: 601px;\n$breakpoint-tablet-max: 1023px;\n$breakpoint-small-desktop-min: 1024px;\n$breakpoint-small-desktop-max: 1439px;\n$breakpoint-large-desktop-min: 1440px;\n$breakpoint-large-desktop-max: 99999999px;\n\n/* These color variables will be removed in a future release */\n$brand-teal-01: #007d79;\n$brand-01: #005d5d;\n$brand-02: #004144;\n","@use '@openmrs/esm-styleguide/src/vars' as *;\n\n.wardWorkspacePatientBanner {\n > div {\n background: $ui-01;\n }\n}\n"],sourceRoot:""}]),o.locals={wardWorkspacePatientBanner:"-esm-ward__style__wardWorkspacePatientBanner___2KnUU"};const s=o},81776:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>$});var r=t(38254),a=t(90380),i=t.n(a),o=t(72591),s=t.n(o),c=t(1740),u=t.n(c),d=t(88128),l=t.n(d),p=t(30855),m=t.n(p),f=t(93051),g=t.n(f),b=t(73656),y=t.n(b),h=t(71296),v={};v.styleTagTransform=y(),v.setAttributes=m(),v.insert=l().bind(null,"head"),v.domAPI=u(),v.insertStyleElement=g(),s()(h.A,v);const A=h.A&&h.A.locals?h.A.locals:void 0,$=function(e){var n,t=e.wardPatient,a=(null!=t?t:{}).patient,o=(null!==(n=(0,r.useAppContext)("ward-view-context"))&&void 0!==n?n:{}).WardPatientHeader;return a?o?i().createElement("div",{className:A.wardWorkspacePatientBanner},i().createElement(o,{wardPatient:t})):i().createElement(i().Fragment,null):(console.warn("Patient details were not received by the ward workspace"),null)}},83209:(e,n,t)=>{"use strict";t.d(n,{r:()=>i});var r=t(38254),a=t(71123);function i(e){var n="".concat(r.restBaseUrl,"/beds?patientUuid=").concat(e);return(0,a.Ay)(n,r.openmrsFetch)}},92891:(e,n,t)=>{"use strict";t.d(n,{A:()=>c});var r=t(38254),a=t(14441),i=t(88010),o=t.n(i),s=function(e){return/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/.test(e)};function c(e){var n,t=window.location.pathname,i=(0,a.A)(t.split("/"));s(i)&&(n=i);var c=(0,r.useSession)().sessionLocation,u=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"custom:(display,uuid)";return o()(e?"".concat(r.restBaseUrl,"/location/").concat(e,"?v=").concat(n):null,r.openmrsFetch)}(e||n||null),d=u.data,l=u.isLoading,p=u.error,m=n&&p;return{location:n||e?null==d?void 0:d.data:c,isLoadingLocation:l,errorFetchingLocation:p,invalidLocation:m}}},93296:(e,n,t)=>{"use strict";var r=t(90380),a="function"==typeof Object.is?Object.is:function(e,n){return e===n&&(0!==e||1/e==1/n)||e!=e&&n!=n},i=r.useState,o=r.useEffect,s=r.useLayoutEffect,c=r.useDebugValue;function u(e){var n=e.getSnapshot;e=e.value;try{var t=n();return!a(e,t)}catch(e){return!0}}var d="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,n){return n()}:function(e,n){var t=n(),r=i({inst:{value:t,getSnapshot:n}}),a=r[0].inst,d=r[1];return s((function(){a.value=t,a.getSnapshot=n,u(a)&&d({inst:a})}),[e,t,n]),o((function(){return u(a)&&d({inst:a}),e((function(){u(a)&&d({inst:a})}))}),[e]),c(t),t};n.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:d}}]);
|