diff --git a/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx b/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx index bb302e42..131c342f 100644 --- a/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx +++ b/packages/esm-patient-queues-app/src/active-visits/active-visits-table.component.tsx @@ -3,7 +3,6 @@ import { DataTable, DataTableHeader, DataTableSkeleton, - DefinitionTooltip, Layer, Pagination, Tab, @@ -100,7 +99,11 @@ const ActiveVisitsTable: React.FC = ({ status }) => { const { t } = useTranslation(); const session = useSession(); - const { patientQueueEntries, isLoading } = usePatientQueuesList(session?.sessionLocation?.uuid, status); + const { patientQueueEntries, isLoading } = usePatientQueuesList( + session?.sessionLocation?.uuid, + status, + session.user.systemId, + ); const [showOverlay, setShowOverlay] = useState(false); const [view, setView] = useState(''); diff --git a/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts b/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts index 73d3307b..05bd80bb 100644 --- a/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts +++ b/packages/esm-patient-queues-app/src/active-visits/patient-queues.resource.ts @@ -86,47 +86,49 @@ export interface ChildLocation { links: Link[]; } -export function usePatientQueuesList(currentQueueLocationUuid: string, status: string) { +export function usePatientQueuesList(currentQueueLocationUuid: string, status: string, provider: string) { const apiUrl = `/ws/rest/v1/patientqueue?v=full&status=${status}&room=${currentQueueLocationUuid}`; - return usePatientQueueRequest(apiUrl); + return usePatientQueueRequest(apiUrl, provider); } -export function usePatientQueueRequest(apiUrl: string) { +export function usePatientQueueRequest(apiUrl: string, provider) { const { data, error, isLoading, isValidating, mutate } = useSWR<{ data: { results: Array } }, Error>( apiUrl, openmrsFetch, { refreshInterval: 3000 }, ); - const mapppedQueues = data?.data?.results.map((queue: PatientQueue) => { - return { - ...queue, - id: queue.uuid, - name: queue.patient?.person.display, - provider: queue.provider?.person.display, - patientUuid: queue.patient?.uuid, - priorityComment: queue.priorityComment, - priority: queue.priorityComment === 'Urgent' ? 'Priority' : queue.priorityComment, - priorityLevel: queue.priority, - waitTime: queue.dateCreated ? `${dayjs().diff(dayjs(queue.dateCreated), 'minutes')}` : '--', - status: queue.status, - patientAge: queue.patient?.person?.age, - patientSex: queue.patient?.person?.gender === 'M' ? 'MALE' : 'FEMALE', - patientDob: queue.patient?.person?.birthdate - ? formatDate(parseDate(queue.patient.person.birthdate), { time: false }) - : '--', - identifiers: queue.patient?.identifiers, - locationFrom: queue.locationFrom?.uuid, - locationTo: queue.locationTo?.uuid, - locationToName: queue.locationTo?.name, - queueRoom: queue.locationTo?.display, - visitNumber: queue.visitNumber, - dateCreated: queue.dateCreated, - creatorUuid: queue.creator?.uuid, - creatorUsername: queue.creator?.username, - creatorDisplay: queue.creator?.display, - }; - }); + const mapppedQueues = data?.data?.results + .filter((item) => item.provider.identifier !== '' && item.provider.identifier === provider) + .map((queue: PatientQueue) => { + return { + ...queue, + id: queue.uuid, + name: queue.patient?.person.display, + patientUuid: queue.patient?.uuid, + provider: queue.provider?.person.display, + priorityComment: queue.priorityComment, + priority: queue.priorityComment === 'Urgent' ? 'Priority' : queue.priorityComment, + priorityLevel: queue.priority, + waitTime: queue.dateCreated ? `${dayjs().diff(dayjs(queue.dateCreated), 'minutes')}` : '--', + status: queue.status, + patientAge: queue.patient?.person?.age, + patientSex: queue.patient?.person?.gender === 'M' ? 'MALE' : 'FEMALE', + patientDob: queue.patient?.person?.birthdate + ? formatDate(parseDate(queue.patient.person.birthdate), { time: false }) + : '--', + identifiers: queue.patient?.identifiers, + locationFrom: queue.locationFrom?.uuid, + locationTo: queue.locationTo?.uuid, + locationToName: queue.locationTo?.name, + queueRoom: queue.locationTo?.display, + visitNumber: queue.visitNumber, + dateCreated: queue.dateCreated, + creatorUuid: queue.creator?.uuid, + creatorUsername: queue.creator?.username, + creatorDisplay: queue.creator?.display, + }; + }); return { patientQueueEntries: mapppedQueues || [], diff --git a/packages/esm-patient-queues-app/src/queue-board/queue-board.resource.tsx b/packages/esm-patient-queues-app/src/queue-board/queue-board.resource.tsx index 6c826669..cc001add 100644 --- a/packages/esm-patient-queues-app/src/queue-board/queue-board.resource.tsx +++ b/packages/esm-patient-queues-app/src/queue-board/queue-board.resource.tsx @@ -7,7 +7,7 @@ import { useEffect, useState } from 'react'; export function usePatientQueuesListByStatus(status: string) { const apiUrl = `/ws/rest/v1/patientqueue?v=full&status=${status}`; - return usePatientQueueRequest(apiUrl); + return usePatientQueueRequest(apiUrl, ''); } export function usePatientQueuesByParentLocation(status: string) {