Skip to content

Commit

Permalink
(fix) Mutate visit banner after starting new visit (#1434)
Browse files Browse the repository at this point in the history
Co-authored-by: Dennis Kigen <kigen.work@gmail.com>
  • Loading branch information
CynthiaKamau and denniskigen committed Oct 31, 2023
1 parent 386fffa commit 79ef809
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,12 @@ interface UseVisitQueueEntries {
isLoading: boolean;
isError: Error;
isValidating?: boolean;
mutate: () => void;
}

export function useVisitQueueEntry(patientUuid, visitUuid): UseVisitQueueEntries {
const apiUrl = `/ws/rest/v1/visit-queue-entry?patient=${patientUuid}`;
const { data, error, isLoading, isValidating } = useSWR<{ data: { results: Array<VisitQueueEntry> } }, Error>(
const { data, error, isLoading, isValidating, mutate } = useSWR<{ data: { results: Array<VisitQueueEntry> } }, Error>(
apiUrl,
openmrsFetch,
);
Expand Down Expand Up @@ -105,6 +106,7 @@ export function useVisitQueueEntry(patientUuid, visitUuid): UseVisitQueueEntries
isLoading,
isError: error,
isValidating,
mutate,
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ import BaseVisitType from './base-visit-type.component';
import LocationSelector from './location-selection.component';
import VisitAttributeTypeFields from './visit-attribute-type.component';
import styles from './visit-form.scss';
import { useVisitQueueEntry } from '../queue-entry/queue.resource';

export type VisitFormData = {
visitDate: Date;
Expand Down Expand Up @@ -81,14 +82,16 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
const visitHeaderSlotState = useMemo(() => ({ patientUuid }), [patientUuid]);
const { activePatientEnrollment, isLoading } = useActivePatientEnrollment(patientUuid);
const allVisitTypes = useVisitTypes();
const { mutate } = useVisit(patientUuid);
const { mutate: mutateVisit } = useVisit(patientUuid);
const [ignoreChanges, setIgnoreChanges] = useState(true);
const [errorFetchingResources, setErrorFetchingResources] = useState<{
blockSavingForm: boolean;
}>(null);
const [upcomingAppointment, setUpcomingAppointment] = useState(null);
const upcomingAppointmentState = useMemo(() => ({ patientUuid, setUpcomingAppointment }), [patientUuid]);
const visitQueueNumberAttributeUuid = config.visitQueueNumberAttributeUuid;
const [visitUuid, setVisitUuid] = useState('');
const { mutate: mutateQueueEntry } = useVisitQueueEntry(patientUuid, visitUuid);

const visitFormSchema = useMemo(() => {
const visitAttributes = (config.visitAttributeTypes ?? [])?.reduce(
Expand Down Expand Up @@ -173,7 +176,7 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
if (response.status === 201) {
if (config.showServiceQueueFields) {
// retrieve values from queue extension

setVisitUuid(response.data.uuid);
const queueLocation = event?.target['queueLocation']?.value;
const serviceUuid = event?.target['service']?.value;
const priority = event?.target['priority']?.value;
Expand All @@ -193,7 +196,8 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
).then(
({ status }) => {
if (status === 201) {
mutate();
mutateVisit();
mutateQueueEntry();
showToast({
kind: 'success',
title: t('visitStarted', 'Visit started'),
Expand Down Expand Up @@ -225,7 +229,7 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
saveAppointment(appointmentPayload, abortController).then(
({ status }) => {
if (status === 201) {
mutate();
mutateVisit();
showToast({
critical: true,
kind: 'success',
Expand All @@ -244,7 +248,7 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
},
);
}
mutate();
mutateVisit();
closeWorkspace();

showToast({
Expand Down Expand Up @@ -272,7 +276,7 @@ const StartVisitForm: React.FC<DefaultWorkspaceProps> = ({ patientUuid, closeWor
config.showServiceQueueFields,
config.showUpcomingAppointments,
visitQueueNumberAttributeUuid,
mutate,
mutateVisit,
patientUuid,
upcomingAppointment,
t,
Expand Down

0 comments on commit 79ef809

Please sign in to comment.