Skip to content

Commit

Permalink
add. tests to refactor concept Ids for nursing task and system genera…
Browse files Browse the repository at this point in the history
…ted tasks
  • Loading branch information
Arjun-Go committed May 30, 2024
1 parent fad9ee8 commit d92bc82
Show file tree
Hide file tree
Showing 9 changed files with 75 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ import { PatientDetailsCell } from "./PatientDetailsCell";
import { SlotDetailsCell } from "./SlotDetailsCell";
import { Header } from "./Header";
import { getPreviousShiftDetails } from "../../CareViewSummary/utils/CareViewSummary";
import { currentShiftHoursArray, setCurrentShiftTimes } from "../../DisplayControls/DrugChart/utils/DrugChartUtils";
import {
currentShiftHoursArray,
setCurrentShiftTimes,
} from "../../DisplayControls/DrugChart/utils/DrugChartUtils";

export const CareViewPatientsSummary = ({
patientsSummary,
Expand All @@ -19,17 +22,16 @@ export const CareViewPatientsSummary = ({
}) => {
const [slotDetails, setSlotDetails] = useState([]);
const [nonMedicationDetails, setNonMedicationDetails] = useState([]);
const [previousShiftNonMedicationDetails, setPreviousShiftNonMedicationDetails] = useState([]);
const [
previousShiftNonMedicationDetails,
setPreviousShiftNonMedicationDetails,
] = useState([]);
const { careViewConfig, ipdConfig } = useContext(CareViewContext);
const { shiftDetails: shiftConfig = {} } = ipdConfig;
const timeframeLimitInHours = careViewConfig.timeframeLimitInHours;
const shiftDetails = currentShiftHoursArray(
new Date(),
shiftConfig
);
const shiftDetails = currentShiftHoursArray(new Date(), shiftConfig);
const shiftRangeArray = shiftDetails.rangeArray;
const shiftIndex = shiftDetails.shiftIndex;


const fetchSlots = async (patients) => {
const patientUuids = patients.map((patient) => patient.patientDetails.uuid);
Expand All @@ -52,11 +54,8 @@ export const CareViewPatientsSummary = ({
};

const fetchPreviousShiftTasks = async (patients) => {
const [startDateTime, endDateTime] = setCurrentShiftTimes(
shiftDetails
);
const previousShiftDetails =
getPreviousShiftDetails(
const [startDateTime, endDateTime] = setCurrentShiftTimes(shiftDetails);
const previousShiftDetails = getPreviousShiftDetails(
shiftRangeArray,
shiftIndex,
startDateTime,
Expand All @@ -65,31 +64,33 @@ export const CareViewPatientsSummary = ({
const patientUuids = patients.map((patient) => patient.patientDetails.uuid);
const response = await getTasksForPatients(
patientUuids,
previousShiftDetails.startDateTime ,
previousShiftDetails.endDateTime
previousShiftDetails.startDateTime,
previousShiftDetails.endDateTime
);
const groupedData = [];
response.forEach(patientData => {
const patientUuid = patientData.patientUuid;
const patientTasks = [];
patientData.tasks.forEach(task => {
if (task.taskType.display === "nursing_activity_system" && task.status === "REQUESTED") {

response.forEach((patientData) => {
const patientUuid = patientData.patientUuid;
const patientTasks = [];
patientData.tasks.forEach((task) => {
if (
task.taskType.display === "Automated Nursing Tasks" &&
task.status === "REQUESTED"
) {
patientTasks.push({
taskName: task.name,
taskId: task.uuid
taskName: task.name,
taskId: task.uuid,
});
}
});
groupedData.push({
patient: patientUuid,
tasks: patientTasks
}
});
groupedData.push({
patient: patientUuid,
tasks: patientTasks,
});
});
});
setPreviousShiftNonMedicationDetails(groupedData);
}
useEffect(() => {
};

useEffect(() => {
if (patientsSummary.length > 0) {
fetchPreviousShiftTasks(patientsSummary);
fetchSlots(patientsSummary);
Expand All @@ -111,10 +112,12 @@ export const CareViewPatientsSummary = ({
bedDetails,
careTeam,
newTreatments,
visitDetails
visitDetails,
} = patientSummary;
const { uuid } = patientDetails;
const matchingShift = previousShiftNonMedicationDetails.find(shift => shift.patient === uuid);
const matchingShift = previousShiftNonMedicationDetails.find(
(shift) => shift.patient === uuid
);
const tasks = matchingShift ? matchingShift.tasks : [];
return (
<tr key={idx} className={"patient-row-container"}>
Expand Down
6 changes: 3 additions & 3 deletions src/features/CareViewSummary/tests/CareViewSummaryMock.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const mockNonMedicationData = [
partOf: null,
taskType: {
uuid: "91e3eeba-e840-11ee-b597-0242ac120005",
display: "nursing_activity",
display: "Manual Nursing Tasks",
},
creator: {
uuid: "c1c21e11-3f10-11e4-adec-0800271c1b75",
Expand All @@ -57,7 +57,7 @@ export const mockNonMedicationData = [
partOf: null,
taskType: {
uuid: "91e3eeba-e840-11ee-b597-0242ac120005",
display: "nursing_activity",
display: "Manual Nursing Tasks",
},
creator: {
uuid: "c1c21e11-3f10-11e4-adec-0800271c1b75",
Expand All @@ -75,7 +75,7 @@ export const mockNonMedicationData = [
partOf: null,
taskType: {
uuid: "91e3eeba-e840-11ee-b597-0242ac120005",
display: "nursing_activity",
display: "Manual Nursing Tasks",
},
creator: {
uuid: "c1c21e11-3f10-11e4-adec-0800271c1b75",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ const AddEmergencyTasks = (props) => {
patientUuid: patientId,
encounterUuid: encounterUuid.encounterUuid,
intent: "ORDER",
taskType: "nursing_activity",
taskType: "Manual Nursing Tasks",
status: "REQUESTED",
};
return nonMedicationPayload;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export default function TaskTile(props) {
nursingTasks
);

const isSystemGeneratedTask = taskType?.display === "nursing_activity_system";
const isSystemGeneratedTask = taskType?.display === "Automated Nursing Tasks";

const creatorName = (creator) => {
var formattedName = creator.split(".").join(" ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,9 @@ const UpdateNursingTasks = (props) => {
setOpenConfirmationModal(false);
updateNursingTasksSlider(false);
updateIsPRNMedication(false);
task.status === 'not-done' ? handleAuditEvent("SKIP_SCHEDULED_MEDICATION_TASK") : handleAuditEvent("ADMINISTER_MEDICATION_TASK");
task.status === "not-done"
? handleAuditEvent("SKIP_SCHEDULED_MEDICATION_TASK")
: handleAuditEvent("ADMINISTER_MEDICATION_TASK");
};

const saveAdministeredNonMedicationTasks = () => {
Expand All @@ -109,7 +111,9 @@ const UpdateNursingTasks = (props) => {
const response = isPRNMedication
? await saveEmergencyMedication(administeredTasks[0])
: await saveAdministeredMedication(administeredTasks);
response.status === 200 ? saveAdministeredTasks(administeredTasks[0]) : null;
response.status === 200
? saveAdministeredTasks(administeredTasks[0])
: null;
};

const createAdministeredTasksPayload = () => {
Expand Down Expand Up @@ -168,7 +172,7 @@ const UpdateNursingTasks = (props) => {
updateIsPRNMedication(medicationTask?.dosingInstructions?.asNeeded);
updateIsNonMedication(medicationTask?.taskType?.display);
updateIsSystemGeneratedNonMedication(
medicationTask?.taskType?.display == "nursing_activity_system"
medicationTask?.taskType?.display == "Automated Nursing Tasks"
);
updateTasks((prev) => {
return {
Expand Down Expand Up @@ -506,21 +510,24 @@ const UpdateNursingTasks = (props) => {
}`}
>
{medicationTask.drugName}
{!isNonMedication ?
(<><FormattedMessage id={"AT"} defaultMessage={" at "} />
{enable24HourTime
? formatTime(
medicationTasks[0].startTime,
timeFormatFor24Hr,
timeFormatFor24Hr
)
: formatTime(
medicationTasks[0].startTime,
timeFormatFor24Hr,
timeFormatFor12Hr
)}
{!isNonMedication ? (
<>
<FormattedMessage id={"AT"} defaultMessage={" at "} />
{enable24HourTime
? formatTime(
medicationTasks[0].startTime,
timeFormatFor24Hr,
timeFormatFor24Hr
)
: formatTime(
medicationTasks[0].startTime,
timeFormatFor24Hr,
timeFormatFor12Hr
)}
</>
) : (<></>)}
) : (
<></>
)}
</div>
)}
{!isNonMedication ? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ describe("NursingTasks", () => {
requestedStartTime: 1939452389000,
requestedEndTime: 1939452389000,
partOf: null,
taskType: { display: "nursing_activity" },
taskType: { display: "Manual Nursing Tasks" },
creator: {
uuid: "c1c21e11-3f10-11e4-adec-0800271c1b75",
display: "bailly.rurangirwa",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ export const mockUpdateResponse = {
partOf: null,
taskType: {
uuid: "a5ea9d94-f662-11ee-8850-0242ac120006",
display: "nursing_activity",
display: "Manual Nursing Tasks",
links: [
{
rel: "self",
Expand Down Expand Up @@ -1230,7 +1230,7 @@ export const mockNonMedicationTileData = [
startTime: "16:38",
isDisabled: false,
partOf: null,
taskType: { display: "nursing_activity" },
taskType: { display: "Manual Nursing Tasks" },
creator: {
uuid: "c1c21e11-3f10-11e4-adec-0800271c1b75",
display: "bailly.rurangirwa",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ export const fetchMedicationNursingTasks = async (
const response = await axios.get(FETCH_MEDICATIONS_URL);
return response.data;
} catch (error) {
return {error};
return { error };
}
};

Expand Down Expand Up @@ -65,7 +65,7 @@ export const ExtractMedicationNursingTasksData = (
: "";
let drugName, drugRoute, duration, dosage, doseType, dosingInstructions;
if (order) {
drugName = order.drugNonCoded ? order.drugNonCoded :order.drug.display;
drugName = order.drugNonCoded ? order.drugNonCoded : order.drug.display;
drugRoute = order.route?.display;
if (order.duration) {
duration = order.duration + " " + order.durationUnits.display;
Expand Down Expand Up @@ -274,7 +274,7 @@ export const disableTaskTilePastNextSlotTime = (
const currentTimeInEpoch = moment().unix();
if (upcomingTaskTimeInEpoch <= currentTimeInEpoch) {
currentTask.isDisabled =
currentTask.taskType.display === "nursing_activity";
currentTask.taskType.display === "Manual Nursing Tasks";
}
}
};
Expand Down Expand Up @@ -361,10 +361,10 @@ export const ExtractNonMedicationTasks = (
}
});
const nursingActivityTask = pendingExtractedData.filter(
(data) => data.taskType?.display === "nursing_activity"
(data) => data.taskType?.display === "Manual Nursing Tasks"
);
const systemGeneratedTasks = pendingExtractedData.filter(
(data) => data.taskType?.display !== "nursing_activity"
(data) => data.taskType?.display !== "Manual Nursing Tasks"
);
const extractedNursingActivityTask = groupTasks(
nursingActivityTask,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ exports[`PatientFeedingRecord should render PatientFeedingRecord 1`] = `
<div
class="period-time"
>
10 May 2024
30 May 2024
<span
class="mr-5"
Expand Down Expand Up @@ -109,7 +109,7 @@ exports[`PatientFeedingRecord should render PatientFeedingRecord 1`] = `
to
</span>
11 May 2024
31 May 2024
<span
class="mr-5"
Expand Down

0 comments on commit d92bc82

Please sign in to comment.