# This file was auto-generated by Fern from our API Definition.

# isort: skip_file

import typing
from importlib import import_module

if typing.TYPE_CHECKING:
    from .types import (
        AdjustmentId,
        AppointmentId,
        BadRequestErrorMessage,
        BillingProviderCommercialLicenseType,
        ChargeCaptureClaimCreationId,
        ChargeCaptureId,
        ChargeCapturePostBilledChangeId,
        ClaimAdjustmentGroupCodes,
        ClaimId,
        ClaimSubmissionPayerResponsibilityType,
        Clearinghouse,
        ClinicalTrialId,
        Date,
        DateRangeOptionalEnd,
        Decimal,
        DelayReasonCode,
        Email,
        EmrPayerCrosswalk,
        EncounterExternalId,
        EncounterId,
        EntityConflictErrorMessage,
        EntityNotFoundErrorMessage,
        EpsdtReferralConditionIndicatorCode,
        ErrorMessage,
        FacilityTypeCode,
        InsuranceTypeCode,
        IntendedSubmissionMedium,
        InternalErrorMessage,
        InvoiceId,
        LinkUrl,
        NetworkType,
        NextResponsibleParty,
        Npi,
        OrganizationId,
        OrganizationNotAuthorizedErrorMessage,
        PageToken,
        PatientExternalId,
        PatientRelationshipToInsuredCodeAll,
        PayerPlanGroupId,
        PhoneNumber,
        PhoneNumberOptional,
        PhoneNumberType,
        PreEncounterAppointmentId,
        PreEncounterPatientId,
        Primitive,
        ProcedureModifier,
        ProviderCredentialingSpanId,
        ProviderId,
        QualifierCode,
        RateId,
        RegionNational,
        RegionStates,
        Regions,
        Regions_National,
        Regions_States,
        RemovableDateRangeOptionalEnd,
        RemovableDateRangeOptionalEnd_DateRange,
        RemovableDateRangeOptionalEnd_Remove,
        ReportTransmissionCode,
        ReportTypeCode,
        RequestValidationError,
        ResourcePage,
        SchemaId,
        ServiceLineId,
        ServiceLineUnits,
        SortDirection,
        SourceOfPaymentCode,
        State,
        StreetAddressBase,
        StreetAddressLongZip,
        StreetAddressLongZipOptional,
        StreetAddressOptionalBase,
        StreetAddressShortZip,
        StreetAddressShortZipOptional,
        TaskAssignmentId,
        TaskId,
        TaskNoteId,
        UnauthorizedErrorMessage,
        UnprocessableEntityErrorMessage,
        UpdatesDisabledDueToExternalSystemIntegrationErrorMessage,
        UserId,
        WorkQueueId,
    )
    from .errors import (
        BadRequestError,
        EntityConflictError,
        EntityNotFoundError,
        HttpRequestValidationError,
        HttpRequestValidationsError,
        InternalError,
        OrganizationNotAuthorizedError,
        UnauthorizedError,
        UnprocessableEntityError,
        UpdatesDisabledDueToExternalSystemIntegrationError,
    )
_dynamic_imports: typing.Dict[str, str] = {
    "AdjustmentId": ".types",
    "AppointmentId": ".types",
    "BadRequestError": ".errors",
    "BadRequestErrorMessage": ".types",
    "BillingProviderCommercialLicenseType": ".types",
    "ChargeCaptureClaimCreationId": ".types",
    "ChargeCaptureId": ".types",
    "ChargeCapturePostBilledChangeId": ".types",
    "ClaimAdjustmentGroupCodes": ".types",
    "ClaimId": ".types",
    "ClaimSubmissionPayerResponsibilityType": ".types",
    "Clearinghouse": ".types",
    "ClinicalTrialId": ".types",
    "Date": ".types",
    "DateRangeOptionalEnd": ".types",
    "Decimal": ".types",
    "DelayReasonCode": ".types",
    "Email": ".types",
    "EmrPayerCrosswalk": ".types",
    "EncounterExternalId": ".types",
    "EncounterId": ".types",
    "EntityConflictError": ".errors",
    "EntityConflictErrorMessage": ".types",
    "EntityNotFoundError": ".errors",
    "EntityNotFoundErrorMessage": ".types",
    "EpsdtReferralConditionIndicatorCode": ".types",
    "ErrorMessage": ".types",
    "FacilityTypeCode": ".types",
    "HttpRequestValidationError": ".errors",
    "HttpRequestValidationsError": ".errors",
    "InsuranceTypeCode": ".types",
    "IntendedSubmissionMedium": ".types",
    "InternalError": ".errors",
    "InternalErrorMessage": ".types",
    "InvoiceId": ".types",
    "LinkUrl": ".types",
    "NetworkType": ".types",
    "NextResponsibleParty": ".types",
    "Npi": ".types",
    "OrganizationId": ".types",
    "OrganizationNotAuthorizedError": ".errors",
    "OrganizationNotAuthorizedErrorMessage": ".types",
    "PageToken": ".types",
    "PatientExternalId": ".types",
    "PatientRelationshipToInsuredCodeAll": ".types",
    "PayerPlanGroupId": ".types",
    "PhoneNumber": ".types",
    "PhoneNumberOptional": ".types",
    "PhoneNumberType": ".types",
    "PreEncounterAppointmentId": ".types",
    "PreEncounterPatientId": ".types",
    "Primitive": ".types",
    "ProcedureModifier": ".types",
    "ProviderCredentialingSpanId": ".types",
    "ProviderId": ".types",
    "QualifierCode": ".types",
    "RateId": ".types",
    "RegionNational": ".types",
    "RegionStates": ".types",
    "Regions": ".types",
    "Regions_National": ".types",
    "Regions_States": ".types",
    "RemovableDateRangeOptionalEnd": ".types",
    "RemovableDateRangeOptionalEnd_DateRange": ".types",
    "RemovableDateRangeOptionalEnd_Remove": ".types",
    "ReportTransmissionCode": ".types",
    "ReportTypeCode": ".types",
    "RequestValidationError": ".types",
    "ResourcePage": ".types",
    "SchemaId": ".types",
    "ServiceLineId": ".types",
    "ServiceLineUnits": ".types",
    "SortDirection": ".types",
    "SourceOfPaymentCode": ".types",
    "State": ".types",
    "StreetAddressBase": ".types",
    "StreetAddressLongZip": ".types",
    "StreetAddressLongZipOptional": ".types",
    "StreetAddressOptionalBase": ".types",
    "StreetAddressShortZip": ".types",
    "StreetAddressShortZipOptional": ".types",
    "TaskAssignmentId": ".types",
    "TaskId": ".types",
    "TaskNoteId": ".types",
    "UnauthorizedError": ".errors",
    "UnauthorizedErrorMessage": ".types",
    "UnprocessableEntityError": ".errors",
    "UnprocessableEntityErrorMessage": ".types",
    "UpdatesDisabledDueToExternalSystemIntegrationError": ".errors",
    "UpdatesDisabledDueToExternalSystemIntegrationErrorMessage": ".types",
    "UserId": ".types",
    "WorkQueueId": ".types",
}


def __getattr__(attr_name: str) -> typing.Any:
    module_name = _dynamic_imports.get(attr_name)
    if module_name is None:
        raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
    try:
        module = import_module(module_name, __package__)
        if module_name == f".{attr_name}":
            return module
        else:
            return getattr(module, attr_name)
    except ImportError as e:
        raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
    except AttributeError as e:
        raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e


def __dir__():
    lazy_attrs = list(_dynamic_imports.keys())
    return sorted(lazy_attrs)


__all__ = [
    "AdjustmentId",
    "AppointmentId",
    "BadRequestError",
    "BadRequestErrorMessage",
    "BillingProviderCommercialLicenseType",
    "ChargeCaptureClaimCreationId",
    "ChargeCaptureId",
    "ChargeCapturePostBilledChangeId",
    "ClaimAdjustmentGroupCodes",
    "ClaimId",
    "ClaimSubmissionPayerResponsibilityType",
    "Clearinghouse",
    "ClinicalTrialId",
    "Date",
    "DateRangeOptionalEnd",
    "Decimal",
    "DelayReasonCode",
    "Email",
    "EmrPayerCrosswalk",
    "EncounterExternalId",
    "EncounterId",
    "EntityConflictError",
    "EntityConflictErrorMessage",
    "EntityNotFoundError",
    "EntityNotFoundErrorMessage",
    "EpsdtReferralConditionIndicatorCode",
    "ErrorMessage",
    "FacilityTypeCode",
    "HttpRequestValidationError",
    "HttpRequestValidationsError",
    "InsuranceTypeCode",
    "IntendedSubmissionMedium",
    "InternalError",
    "InternalErrorMessage",
    "InvoiceId",
    "LinkUrl",
    "NetworkType",
    "NextResponsibleParty",
    "Npi",
    "OrganizationId",
    "OrganizationNotAuthorizedError",
    "OrganizationNotAuthorizedErrorMessage",
    "PageToken",
    "PatientExternalId",
    "PatientRelationshipToInsuredCodeAll",
    "PayerPlanGroupId",
    "PhoneNumber",
    "PhoneNumberOptional",
    "PhoneNumberType",
    "PreEncounterAppointmentId",
    "PreEncounterPatientId",
    "Primitive",
    "ProcedureModifier",
    "ProviderCredentialingSpanId",
    "ProviderId",
    "QualifierCode",
    "RateId",
    "RegionNational",
    "RegionStates",
    "Regions",
    "Regions_National",
    "Regions_States",
    "RemovableDateRangeOptionalEnd",
    "RemovableDateRangeOptionalEnd_DateRange",
    "RemovableDateRangeOptionalEnd_Remove",
    "ReportTransmissionCode",
    "ReportTypeCode",
    "RequestValidationError",
    "ResourcePage",
    "SchemaId",
    "ServiceLineId",
    "ServiceLineUnits",
    "SortDirection",
    "SourceOfPaymentCode",
    "State",
    "StreetAddressBase",
    "StreetAddressLongZip",
    "StreetAddressLongZipOptional",
    "StreetAddressOptionalBase",
    "StreetAddressShortZip",
    "StreetAddressShortZipOptional",
    "TaskAssignmentId",
    "TaskId",
    "TaskNoteId",
    "UnauthorizedError",
    "UnauthorizedErrorMessage",
    "UnprocessableEntityError",
    "UnprocessableEntityErrorMessage",
    "UpdatesDisabledDueToExternalSystemIntegrationError",
    "UpdatesDisabledDueToExternalSystemIntegrationErrorMessage",
    "UserId",
    "WorkQueueId",
]
