Skip to content

Commit 94745a3

Browse files
authored
fix : add reception facility stats (#101)
1 parent 186c034 commit 94745a3

File tree

2 files changed

+54
-3
lines changed

2 files changed

+54
-3
lines changed

packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.component.tsx

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,15 @@ import {
88
useSelectedQueueRoomLocationUuid,
99
} from '../helpers/helpers';
1010
import { useQueueRoomLocations } from '../patient-search/hooks/useQueueRooms';
11-
import { usePatientsBeingServed, usePatientsServed } from './clinic-metrics.resource';
11+
import {
12+
useActiveVisits,
13+
usePatientsBeingServed,
14+
usePatientsServed,
15+
useQueuePatients,
16+
} from './clinic-metrics.resource';
1217
import styles from './clinic-metrics.scss';
1318
import MetricsCard from './metrics-card.component';
19+
import { use } from 'i18next';
1420

1521
function ClinicMetrics() {
1622
const { t } = useTranslation();
@@ -22,14 +28,23 @@ function ClinicMetrics() {
2228

2329
const { servedCount } = usePatientsServed(userLocation, 'picked');
2430

31+
// overall checked in patients stats
32+
33+
// overall expected appointments
34+
35+
// overall patients being served
36+
const { count } = useQueuePatients('picked');
37+
38+
const { count: pendingCount } = useQueuePatients('pending');
39+
2540
// receptionist ui
2641
return (
2742
<>
2843
<div className={styles.cardContainer}>
2944
<UserHasAccess privilege={PRIVILEGE_RECEPTION_METRIC}>
3045
<MetricsCard
3146
label={t('patients', 'Patients')}
32-
value={0}
47+
value={pendingCount ?? 0}
3348
headerLabel={t('checkedInPatients', 'Checked in patients')}
3449
/>
3550
<MetricsCard
@@ -39,7 +54,7 @@ function ClinicMetrics() {
3954
/>
4055
<MetricsCard
4156
label={t('serving', 'Serving')}
42-
value={patientQueueCount ?? 0}
57+
value={count ?? 0}
4358
headerLabel={t('currentlyServing', 'No. of Currently being Served')}
4459
/>
4560
</UserHasAccess>

packages/esm-patient-queues-app/src/patient-queue-metrics/clinic-metrics.resource.tsx

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,3 +394,39 @@ export function usePatientsBeingServed(currentQueueLocationUuid: string, status:
394394
mutate,
395395
};
396396
}
397+
398+
// overall checked in patients
399+
export function useQueuePatients(status: string) {
400+
const apiUrl = `/ws/rest/v1/patientqueue?v=full&status=${status}`;
401+
const { data, error, isLoading, isValidating, mutate } = useSWR<{ data: { results: Array<PatientQueue> } }, Error>(
402+
apiUrl,
403+
openmrsFetch,
404+
);
405+
406+
return {
407+
count: data?.data.results?.length,
408+
isLoading,
409+
isError: error,
410+
isValidating,
411+
mutate,
412+
};
413+
}
414+
415+
// overall expected appointments
416+
417+
// overall being served patients
418+
export function useQueueServingPatients(status: string) {
419+
const apiUrl = `/ws/rest/v1/patientqueue?v=full&status=${status}`;
420+
const { data, error, isLoading, isValidating, mutate } = useSWR<{ data: { results: Array<PatientQueue> } }, Error>(
421+
apiUrl,
422+
openmrsFetch,
423+
);
424+
425+
return {
426+
patientQueueCount: data?.data.results?.length,
427+
isLoading,
428+
isError: error,
429+
isValidating,
430+
mutate,
431+
};
432+
}

0 commit comments

Comments
 (0)