import { InlineLoading, InlineNotification } from '@carbon/react'; import { useEmrConfiguration, usePatient, useSession } from '@openmrs/esm-framework'; import dayjs from 'dayjs'; import React, { useMemo, type FC } from 'react'; import { useTranslation } from 'react-i18next'; import { useEncounterDetails } from '../hooks/useIpdDischargeEncounter'; import styles from './discharge-printouts.scss'; import FieldInput from './field-input'; import { DATE_FORMART, TIME_FORMART } from './discharge-printout.resource'; type GatePassPrintoutProps = { dischargeEncounterUuid: string; patient: { uuid: string; openmrsId: string; name: string; }; }; const GatePassPrintout: FC = ({ dischargeEncounterUuid, patient: _patient }) => { const { t } = useTranslation(); const { encounter, error, isLoading } = useEncounterDetails(dischargeEncounterUuid); const { isLoading: isLoadingPatient, patient, error: patientError } = usePatient(_patient.uuid); const session = useSession(); const { emrConfiguration, isLoadingEmrConfiguration, errorFetchingEmrConfiguration } = useEmrConfiguration(); const admissionDate = useMemo(() => { const admisionEncounter = encounter?.visit?.encounters?.find( (e) => e.encounterType.uuid === emrConfiguration?.admissionEncounterType?.uuid, ); if (!admisionEncounter || !admisionEncounter.encounterDatetime) return null; return admisionEncounter.encounterDatetime; }, [encounter, emrConfiguration]); if (isLoading || isLoadingPatient || isLoadingEmrConfiguration) return ; if (error || patientError || errorFetchingEmrConfiguration) return ( ); return (
{session?.sessionLocation?.display}
{t('wardGatePass', 'Ward gate pass')}

{t('methodsOfPayment', 'Method of payment (tick as approximately)')}


{t('cashCheckBox', 'Cash [ ]')} {t('chequCheckBox', 'Cheque [ ]')} {t('shaCheckBox', 'SHA [ ]')} {t('scheme', 'Scheme [ ]')} {t('mrm', 'M.R.M [ ]')}

{t('approvedBy', 'Approved By')}

{t('note', 'N/B')}: {t( 'noteText', 'This form should be filled in duplicate, one copy to be retained in the ward and the other to be left in the main gate', )}

); }; export default GatePassPrintout;