import { Tag } from 'carbon-components-react'; import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { EncounterList, EncounterListColumn, findObs, getObsFromEncounter } from 'openmrs-esm-ohri-commons-lib'; import { FirstName_UUID, IndexHIVStatus_UUID, PatnerNotificationContactDate_UUID, PatnerNotificationEncounterType_UUID, Relationship_UUID, } from '../../constants'; import styles from '../common.scss'; const statusColorMap = { '6378487b-584d-4422-a6a6-56c8830873ff': 'red', // positive '664AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA': 'gray', // negative '1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA': 'purple', // unknown }; interface PartnerNotificationListProps { patientUuid: string; } const columns: EncounterListColumn[] = [ { key: 'contactDate', header: 'Contact Date', getValue: encounter => { return getObsFromEncounter(encounter, PatnerNotificationContactDate_UUID, true); }, }, { key: 'name', header: 'Name', getValue: encounter => { return getObsFromEncounter(encounter, FirstName_UUID); }, }, { key: 'relationship', header: 'Relationship', getValue: encounter => { return getObsFromEncounter(encounter, Relationship_UUID); }, }, { key: 'hivStatus', header: 'Status', getValue: encounter => { const hivStatus = getObsFromEncounter(encounter, IndexHIVStatus_UUID); const hivStatusObs = findObs(encounter, IndexHIVStatus_UUID); if (hivStatus == '--') { return '--'; } else { return ( {hivStatus} ); } }, }, { key: 'actions', header: 'Actions', getValue: encounter => { const baseActions = [ { form: { name: 'patner_notification', package: 'hiv' }, encounterUuid: encounter.uuid, intent: '*', label: 'View Details', mode: 'view', }, { form: { name: 'patner_notification', package: 'hiv' }, encounterUuid: encounter.uuid, intent: '*', label: 'Edit Form', mode: 'edit', }, ]; return baseActions; }, }, ]; const PartnerNotificationList: React.FC = ({ patientUuid }) => { const { t } = useTranslation(); const headerTitle = t('partnerNotification', 'Partner Notification'); const displayText = t('partnerNotification', 'Partner Notification'); return ( ); }; export default PartnerNotificationList;