Skip to content

Commit

Permalink
Adds Prescription and Diagnosis
Browse files Browse the repository at this point in the history
  • Loading branch information
rithviknishad committed May 20, 2024
1 parent 29c2e05 commit 0e6ab2d
Showing 1 changed file with 68 additions and 24 deletions.
92 changes: 68 additions & 24 deletions src/Components/Patient/DailyRounds.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,15 @@ import { DAILY_ROUND_FORM_SCRIBE_DATA } from "../Scribe/formDetails";
import { DailyRoundsModel } from "./models";
import { fetchEventTypeByName } from "../Facility/ConsultationDetails/Events/types";
import InvestigationBuilder from "../Common/prescription-builder/InvestigationBuilder";
import { FieldErrorText, FieldLabel } from "../Form/FormFields/FormField";
import { FieldErrorText } from "../Form/FormFields/FormField";
import { error } from "@pnotify/core";
import { useTranslation } from "react-i18next";
import PrescriptionBuilder from "../Medicine/PrescriptionBuilder";
import { EditDiagnosesBuilder } from "../Diagnosis/ConsultationDiagnosisBuilder/ConsultationDiagnosisBuilder";
import {
ConditionVerificationStatuses,
ConsultationDiagnosis,
} from "../Diagnosis/types";
const Loading = lazy(() => import("../Common/Loading"));

const initForm: any = {
Expand Down Expand Up @@ -104,6 +111,7 @@ const DailyRoundsFormReducer = (state = initialState, action: any) => {
};

export const DailyRounds = (props: any) => {
const { t } = useTranslation();
const { goBack } = useAppHistory();
const { facilityId, patientId, consultationId, id } = props;
const [state, dispatch] = useAutoSaveReducer<any>(
Expand All @@ -120,6 +128,7 @@ export const DailyRounds = (props: any) => {
...initForm,
action: "",
});
const [diagnoses, setDiagnoses] = useState<ConsultationDiagnosis[]>();
const headerText = !id ? "Add Consultation Update" : "Info";
const buttonText = !id ? "Save" : "Continue";

Expand Down Expand Up @@ -173,6 +182,13 @@ export const DailyRounds = (props: any) => {
setPatientName(data.name!);
setFacilityName(data.facility_object!.name);
setConsultationSuggestion(data.last_consultation?.suggestion);
setDiagnoses(
data.last_consultation?.diagnoses?.sort(
(a: ConsultationDiagnosis, b: ConsultationDiagnosis) =>
ConditionVerificationStatuses.indexOf(a.verification_status) -
ConditionVerificationStatuses.indexOf(b.verification_status),
),
);
setPreviousReviewInterval(
Number(data.last_consultation?.review_interval),
);
Expand Down Expand Up @@ -522,29 +538,6 @@ export const DailyRounds = (props: any) => {
</div>
)}

{state.form.rounds_type === "DOCTORS_LOG" && (
<>
<div className="md:col-span-2">
<FieldLabel>Investigations Suggestions</FieldLabel>
<InvestigationBuilder
investigations={state.form.investigations}
setInvestigations={(investigations) => {
handleFormFieldChange({
name: "investigations",
value: investigations,
});

handleFormFieldChange({
name: "investigations_dirty",
value: true,
});
}}
/>
<FieldErrorText error={state.errors.investigation} />
</div>
</>
)}

{state.form.rounds_type !== "DOCTORS_LOG" && (
<>
<SelectFormField
Expand Down Expand Up @@ -697,6 +690,57 @@ export const DailyRounds = (props: any) => {
/>
</>
)}

{state.form.rounds_type === "DOCTORS_LOG" && (
<>
<div className="flex flex-col gap-10 divide-y-2 divide-dashed divide-gray-600 border-t-2 border-dashed border-gray-600 pt-6 md:col-span-2">
<div>
<h3 className="my-4 text-lg font-semibold">
{t("investigations")}
</h3>
<InvestigationBuilder
investigations={state.form.investigations}
setInvestigations={(investigations) => {
handleFormFieldChange({
name: "investigations",
value: investigations,
});
handleFormFieldChange({
name: "investigations_dirty",
value: true,
});
}}
/>
<FieldErrorText error={state.errors.investigation} />
</div>
<div>
<h3 className="mb-4 mt-8 text-lg font-semibold">
{t("prescription_medications")}
</h3>
<PrescriptionBuilder />
</div>
<div>
<h3 className="mb-4 mt-8 text-lg font-semibold">
{t("prn_prescriptions")}
</h3>
<PrescriptionBuilder is_prn />
</div>
<div>
<h3 className="mb-4 mt-8 text-lg font-semibold">
{t("diagnosis")}
</h3>
{/* */}
{diagnoses ? (
<EditDiagnosesBuilder value={diagnoses} />
) : (
<div className="flex animate-pulse justify-center py-4 text-center font-medium text-gray-800">
Fetching existing diagnosis of patient...
</div>
)}
</div>
</div>
</>
)}
</div>

<div className="mt-4 flex flex-col-reverse justify-end gap-2 md:flex-row">
Expand Down

0 comments on commit 0e6ab2d

Please sign in to comment.