diff --git a/src/views/index-case-testing/tabs/ict-family-contacts.component.tsx b/src/views/index-case-testing/tabs/ict-family-contacts.component.tsx index 6b810a9..68f532d 100644 --- a/src/views/index-case-testing/tabs/ict-family-contacts.component.tsx +++ b/src/views/index-case-testing/tabs/ict-family-contacts.component.tsx @@ -1,10 +1,11 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import { EncounterList } from "@ohri/openmrs-esm-ohri-commons-lib"; import { FAMILY_INDEX_CASE_CONTACTS_ENCOUNTER_TYPE } from "../../../constants"; import { getData } from "../../encounterUtils"; import { moduleName } from "../../../index"; +import { fetchIdentifiers } from "../../../api/api"; const columns = [ { @@ -64,9 +65,17 @@ const columns = [ }, ]; -const FamilyIndexCaseContacts: React.FC<{ patientUuid: string }> = ({ - patientUuid, -}) => { +const FamilyIndexCaseContacts: React.FC<{ patientUuid: string }> = ({ patientUuid }) => { + const [hasMRN, setHasMRN] = useState(false); + const [hideAddButton, setHideAddButton] = useState(true); + useEffect(() => { + (async () => { + const identifiers = await fetchIdentifiers(patientUuid); + if (identifiers?.find((e) => e.identifierType.display === "MRN")) { + setHasMRN(true); + } + })(); + }); return ( <> = ({ launchOptions={{ displayText: "Add", moduleName: moduleName, - hideFormLauncher: true, + hideFormLauncher: hideAddButton, }} /> diff --git a/src/views/index-case-testing/tabs/ict-partner-information.component.tsx b/src/views/index-case-testing/tabs/ict-partner-information.component.tsx index 8c36c1b..77320f2 100644 --- a/src/views/index-case-testing/tabs/ict-partner-information.component.tsx +++ b/src/views/index-case-testing/tabs/ict-partner-information.component.tsx @@ -1,10 +1,11 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import { EncounterList } from "@ohri/openmrs-esm-ohri-commons-lib"; import { PARTNER_INDEX_CASE_INFORMATION_ENCOUNTER_TYPE } from "../../../constants"; import { getData } from "../../encounterUtils"; import { moduleName } from "../../../index"; +import { fetchIdentifiers } from "../../../api/api"; const columns = [ { @@ -71,9 +72,17 @@ const columns = [ }, ]; -const PartnerIndexCaseInformation: React.FC<{ patientUuid: string }> = ({ - patientUuid, -}) => { +const PartnerIndexCaseInformation: React.FC<{ patientUuid: string }> = ({ patientUuid }) => { + const [hasMRN, setHasMRN] = useState(false); + const [hideAddButton, setHideAddButton] = useState(true); + useEffect(() => { + (async () => { + const identifiers = await fetchIdentifiers(patientUuid); + if (identifiers?.find((e) => e.identifierType.display === "MRN")) { + setHasMRN(true); + } + })(); + }); return ( <> = ({ launchOptions={{ displayText: "Add", moduleName: moduleName, - hideFormLauncher: true, + hideFormLauncher: hideAddButton, }} /> diff --git a/src/views/index-case-testing/tabs/ict-screening.component.tsx b/src/views/index-case-testing/tabs/ict-screening.component.tsx index b806b46..86003d5 100644 --- a/src/views/index-case-testing/tabs/ict-screening.component.tsx +++ b/src/views/index-case-testing/tabs/ict-screening.component.tsx @@ -1,10 +1,11 @@ -import React from "react"; +import React, { useEffect, useState } from "react"; import { EncounterList } from "@ohri/openmrs-esm-ohri-commons-lib"; import { ICT_SCREENING_ENCOUNTER_TYPE, } from "../../../constants"; import { getData } from "../../encounterUtils"; import { moduleName } from "../../../index"; +import { fetchIdentifiers } from "../../../api/api"; const columns = [ { @@ -64,9 +65,17 @@ const columns = [ }, ]; -const ICTScreening: React.FC<{ patientUuid: string }> = ({ - patientUuid, -}) => { +const ICTScreening: React.FC<{ patientUuid: string }> = ({ patientUuid }) => { + const [hasMRN, setHasMRN] = useState(false); + const [hideAddButton, setHideAddButton] = useState(true); + useEffect(() => { + (async () => { + const identifiers = await fetchIdentifiers(patientUuid); + if (identifiers?.find((e) => e.identifierType.display === "MRN")) { + setHasMRN(true); + } + })(); + }); return ( <> = ({ launchOptions={{ displayText: "Add", moduleName: moduleName, - hideFormLauncher: true, + hideFormLauncher: hideAddButton, }} />