diff --git a/packages/framework/esm-framework/docs/API.md b/packages/framework/esm-framework/docs/API.md index b89b5c831..ce54d060e 100644 --- a/packages/framework/esm-framework/docs/API.md +++ b/packages/framework/esm-framework/docs/API.md @@ -7098,7 +7098,7 @@ ___ #### Defined in -[packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx:54](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx#L54) +[packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx:61](https://github.com/openmrs/openmrs-esm-core/blob/main/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx#L61) ___ diff --git a/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx b/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx index d71eb40e0..170396129 100644 --- a/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx +++ b/packages/framework/esm-styleguide/src/patient-banner/patient-info/patient-banner-patient-info.component.tsx @@ -10,6 +10,13 @@ import styles from './patient-banner-patient-info.module.scss'; interface PatientBannerPatientInfoProps { patient: fhir.Patient; + + /** + * A unique string to identify where the PatientInfo is rendered from. + * (ex: Patient Chart, search app, etc...). This string is passed into extensions to + * affect how / if they should be rendered + */ + renderedFrom?: string; } type Gender = 'female' | 'male' | 'other' | 'unknown'; @@ -51,11 +58,14 @@ const getGender = (gender: string) => { }; }; -export function PatientBannerPatientInfo({ patient }: PatientBannerPatientInfoProps) { +export function PatientBannerPatientInfo({ patient, renderedFrom }: PatientBannerPatientInfoProps) { const name = `${patient?.name?.[0]?.given?.join(' ')} ${patient?.name?.[0]?.family}`; const genderInfo = patient?.gender && getGender(patient.gender); - const extensionState = useMemo(() => ({ patientUuid: patient.id, patient }), [patient.id, patient]); + const extensionState = useMemo( + () => ({ patientUuid: patient.id, patient, renderedFrom }), + [patient.id, patient, renderedFrom], + ); return (
@@ -83,6 +93,7 @@ export function PatientBannerPatientInfo({ patient }: PatientBannerPatientInfoPr )} +
);