# -*- coding: utf-8 -*-
# ----  AUTO-GENERATED BY redox_lib_gen. DO NOT MODIFY MANUALLY!!  ---- #

from typing import List, Union

from pydantic import Field

from ..abstract_base import EventTypeAbstractModel, RedoxAbstractModel
from ..field_types import Number


class PatientPush(EventTypeAbstractModel):

    AdvanceDirectives: List["PatientPushAdvanceDirective"] = Field(None)
    AdvanceDirectivesText: Union[str, None] = Field(None)
    Allergies: List["PatientPushAllergy"] = Field(None)
    AllergyText: Union[str, None] = Field(None)
    Encounters: List["PatientPushEncounter"] = Field(None)
    EncountersText: Union[str, None] = Field(None)
    FamilyHistory: List["PatientPushFamilyHistory"] = Field(None)
    FamilyHistoryText: Union[str, None] = Field(None)
    FunctionalStatus: "PatientPushFunctionalStatus" = Field(None)
    FunctionalStatusText: Union[str, None] = Field(None)
    Goals: List["PatientPushGoal"] = Field(None)
    GoalsText: Union[str, None] = Field(None)
    Header: "PatientPushHeader" = Field(None)
    HealthConcerns: List["PatientPushHealthConcern"] = Field(None)
    HealthConcernsText: Union[str, None] = Field(None)
    Immunizations: List["PatientPushImmunization"] = Field(None)
    ImmunizationText: Union[str, None] = Field(None)
    Insurances: List["PatientPushInsurance"] = Field(None)
    InsurancesText: Union[str, None] = Field(None)
    MedicalEquipment: List["PatientPushMedicalEquipment"] = Field(None)
    MedicalEquipmentText: Union[str, None] = Field(None)
    MedicalHistoryText: Union[str, None] = Field(None)
    Medications: List["PatientPushMedication"] = Field(None)
    MedicationsText: Union[str, None] = Field(None)
    Meta: "PatientPushMeta" = Field(...)
    NoteSections: List["PatientPushNoteSection"] = Field(None)
    PlanOfCare: "PatientPushPlanOfCare" = Field(None)
    PlanOfCareText: Union[str, None] = Field(None)
    Problems: List["PatientPushProblem"] = Field(None)
    ProblemsText: Union[str, None] = Field(None)
    Procedures: "PatientPushProcedures" = Field(None)
    ProceduresText: Union[str, None] = Field(None)
    ResolvedProblems: List["PatientPushResolvedProblem"] = Field(None)
    ResolvedProblemsText: Union[str, None] = Field(None)
    Results: List["PatientPushResult"] = Field(None)
    ResultText: Union[str, None] = Field(None)
    SocialHistory: "PatientPushSocialHistory" = Field(None)
    SocialHistoryText: Union[str, None] = Field(None)
    VitalSigns: List["PatientPushVitalSign"] = Field(None)
    VitalSignsText: Union[str, None] = Field(None)


class PatientPushAdvanceDirective(RedoxAbstractModel):

    AltCodes: List["PatientPushAdvanceDirectiveAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Custodians: List["PatientPushAdvanceDirectiveCustodian"] = Field(None)
    EndDate: Union[str, None] = Field(None)
    ExternalReference: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Type: "PatientPushAdvanceDirectiveType" = Field(None)
    VerifiedBy: List["PatientPushAdvanceDirectiveVerifiedBy"] = Field(None)


class PatientPushAdvanceDirectiveAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAdvanceDirectiveCustodian(RedoxAbstractModel):

    Address: "PatientPushAdvanceDirectiveCustodianAddress" = Field(None)
    Credentials: Union[str, None] = Field(None)
    FirstName: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)


class PatientPushAdvanceDirectiveCustodianAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushAdvanceDirectiveType(RedoxAbstractModel):

    AltCodes: List["PatientPushAdvanceDirectiveTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAdvanceDirectiveTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAdvanceDirectiveVerifiedBy(RedoxAbstractModel):

    Credentials: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    FirstName: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)


class PatientPushAllergy(RedoxAbstractModel):

    Comment: Union[str, None] = Field(None)
    Criticality: "PatientPushAllergyCriticality" = Field(None)
    EndDate: Union[str, None] = Field(None)
    Reaction: List["PatientPushAllergyReaction"] = Field(None)
    Severity: "PatientPushAllergySeverity" = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: "PatientPushAllergyStatus" = Field(None)
    Substance: "PatientPushAllergySubstance" = Field(None)
    Type: "PatientPushAllergyType" = Field(None)


class PatientPushAllergyCriticality(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergyReaction(RedoxAbstractModel):

    AltCodes: List["PatientPushAllergyReactionAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Severity: "PatientPushAllergyReactionSeverity" = Field(None)
    Text: Union[str, None] = Field(None)


class PatientPushAllergyReactionAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergyReactionSeverity(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergySeverity(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergyStatus(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergySubstance(RedoxAbstractModel):

    AltCodes: List["PatientPushAllergySubstanceAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergySubstanceAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergyType(RedoxAbstractModel):

    AltCodes: List["PatientPushAllergyTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushAllergyTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounter(RedoxAbstractModel):

    DateTime: Union[str, None] = Field(None)
    Diagnosis: List["PatientPushEncounterDiagnosis"] = Field(None)
    EndDateTime: Union[str, None] = Field(None)
    Identifiers: List["PatientPushEncounterIdentifier"] = Field(None)
    Locations: List["PatientPushEncounterLocation"] = Field(None)
    Providers: List["PatientPushEncounterProvider"] = Field(None)
    ReasonForVisit: List["PatientPushEncounterReasonForVisit"] = Field(None)
    Type: "PatientPushEncounterType" = Field(None)


class PatientPushEncounterDiagnosis(RedoxAbstractModel):

    AltCodes: List["PatientPushEncounterDiagnosisAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterDiagnosisAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushEncounterLocation(RedoxAbstractModel):

    Address: "PatientPushEncounterLocationAddress" = Field(None)
    Name: Union[str, None] = Field(None)
    Type: "PatientPushEncounterLocationType" = Field(None)


class PatientPushEncounterLocationAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushEncounterLocationType(RedoxAbstractModel):

    AltCodes: List["PatientPushEncounterLocationTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterLocationTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterProvider(RedoxAbstractModel):

    Address: "PatientPushEncounterProviderAddress" = Field(None)
    Credentials: List[str] = Field(None)
    EmailAddresses: List[str] = Field(None)
    FirstName: Union[str, None] = Field(None)
    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)
    Location: "PatientPushEncounterProviderLocation" = Field(None)
    NPI: Union[str, None] = Field(None)
    PhoneNumber: "PatientPushEncounterProviderPhoneNumber" = Field(None)
    Role: "PatientPushEncounterProviderRole" = Field(None)


class PatientPushEncounterProviderAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushEncounterProviderLocation(RedoxAbstractModel):

    Department: Union[str, None] = Field(None)
    Facility: Union[str, None] = Field(None)
    Room: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushEncounterProviderPhoneNumber(RedoxAbstractModel):

    Office: Union[str, None] = Field(None)


class PatientPushEncounterProviderRole(RedoxAbstractModel):

    AltCodes: List["PatientPushEncounterProviderRoleAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterProviderRoleAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterReasonForVisit(RedoxAbstractModel):

    AltCodes: List["PatientPushEncounterReasonForVisitAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterReasonForVisitAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterType(RedoxAbstractModel):

    AltCodes: List["PatientPushEncounterTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushEncounterTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFamilyHistory(RedoxAbstractModel):

    Problems: List["PatientPushFamilyHistoryProblem"] = Field(None)
    Relation: "PatientPushFamilyHistoryRelation" = Field(None)


class PatientPushFamilyHistoryProblem(RedoxAbstractModel):

    AgeAtOnset: Union[str, None] = Field(None)
    AltCodes: List["PatientPushFamilyHistoryProblemAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    IsCauseOfDeath: Union[bool, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Type: "PatientPushFamilyHistoryProblemType" = Field(None)


class PatientPushFamilyHistoryProblemAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFamilyHistoryProblemType(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFamilyHistoryRelation(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Demographics: "PatientPushFamilyHistoryRelationDemographics" = Field(None)
    IsDeceased: Union[bool, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFamilyHistoryRelationDemographics(RedoxAbstractModel):

    DOB: Union[str, None] = Field(None)
    Sex: Union[str, None] = Field(None)


class PatientPushFunctionalStatus(RedoxAbstractModel):

    Observations: List["PatientPushFunctionalStatusObservation"] = Field(None)
    Supplies: List["PatientPushFunctionalStatusSupply"] = Field(None)


class PatientPushFunctionalStatusObservation(RedoxAbstractModel):

    AltCodes: List["PatientPushFunctionalStatusObservationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodedValue: "PatientPushFunctionalStatusObservationCodedValue" = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    ReferenceRange: "PatientPushFunctionalStatusObservationReferenceRange" = Field(None)
    Units: Union[str, None] = Field(None)
    Value: Union[str, None] = Field(None)


class PatientPushFunctionalStatusObservationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFunctionalStatusObservationCodedValue(RedoxAbstractModel):

    AltCodes: List["PatientPushFunctionalStatusObservationCodedValueAltCode"] = Field(
        None
    )
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFunctionalStatusObservationCodedValueAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushFunctionalStatusObservationReferenceRange(RedoxAbstractModel):

    High: Union[Number, None] = Field(None)
    Low: Union[Number, None] = Field(None)
    Text: Union[str, None] = Field(None)


class PatientPushFunctionalStatusSupply(RedoxAbstractModel):

    AltCodes: List["PatientPushFunctionalStatusSupplyAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushFunctionalStatusSupplyAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoal(RedoxAbstractModel):

    AchievementStatus: "PatientPushGoalAchievementStatus" = Field(None)
    AltCodes: List["PatientPushGoalAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodedValue: "PatientPushGoalCodedValue" = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    Milestones: List["PatientPushGoalMilestone"] = Field(None)
    Name: Union[str, None] = Field(None)
    Priority: "PatientPushGoalPriority" = Field(None)
    StartDate: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)
    Value: Union[str, None] = Field(None)


class PatientPushGoalAchievementStatus(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalCodedValue(RedoxAbstractModel):

    AltCodes: List["PatientPushGoalCodedValueAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalCodedValueAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalMilestone(RedoxAbstractModel):

    AchievementStatus: "PatientPushGoalMilestoneAchievementStatus" = Field(None)
    AltCodes: List["PatientPushGoalMilestoneAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodedValue: "PatientPushGoalMilestoneCodedValue" = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Priority: "PatientPushGoalMilestonePriority" = Field(None)
    StartDate: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)
    Value: Union[str, None] = Field(None)


class PatientPushGoalMilestoneAchievementStatus(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalMilestoneAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalMilestoneCodedValue(RedoxAbstractModel):

    AltCodes: List["PatientPushGoalMilestoneCodedValueAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalMilestoneCodedValueAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalMilestonePriority(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushGoalPriority(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeader(RedoxAbstractModel):

    DirectAddressFrom: Union[None] = Field(None)
    DirectAddressTo: Union[None] = Field(None)
    Document: "PatientPushHeaderDocument" = Field(None)
    Patient: "PatientPushHeaderPatient" = Field(None)
    PCP: "PatientPushHeaderPCP" = Field(None)


class PatientPushHeaderDocument(RedoxAbstractModel):

    Author: "PatientPushHeaderDocumentAuthor" = Field(None)
    Custodian: "PatientPushHeaderDocumentCustodian" = Field(None)
    DateTime: Union[str, None] = Field(None)
    ID: Union[str, None] = Field(None)
    Locale: Union[str, None] = Field(None)
    Title: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)
    TypeCode: "PatientPushHeaderDocumentTypeCode" = Field(None)
    Visit: "PatientPushHeaderDocumentVisit" = Field(None)


class PatientPushHeaderDocumentAuthor(RedoxAbstractModel):

    Address: "PatientPushHeaderDocumentAuthorAddress" = Field(None)
    Credentials: List[str] = Field(None)
    EmailAddresses: List[str] = Field(None)
    FirstName: Union[str, None] = Field(None)
    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)
    Location: "PatientPushHeaderDocumentAuthorLocation" = Field(None)
    PhoneNumber: "PatientPushHeaderDocumentAuthorPhoneNumber" = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderDocumentAuthorAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushHeaderDocumentAuthorLocation(RedoxAbstractModel):

    Department: Union[str, None] = Field(None)
    Facility: Union[str, None] = Field(None)
    Room: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderDocumentAuthorPhoneNumber(RedoxAbstractModel):

    Office: Union[str, None] = Field(None)


class PatientPushHeaderDocumentCustodian(RedoxAbstractModel):

    Address: "PatientPushHeaderDocumentCustodianAddress" = Field(None)
    Identifiers: List["PatientPushHeaderDocumentCustodianIdentifier"] = Field(None)
    Name: Union[None] = Field(None)
    Telecom: List["PatientPushHeaderDocumentCustodianTelecom"] = Field(None)
    Type: "PatientPushHeaderDocumentCustodianType" = Field(None)


class PatientPushHeaderDocumentCustodianAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushHeaderDocumentCustodianIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushHeaderDocumentCustodianTelecom(RedoxAbstractModel):

    System: Union[None] = Field(None)
    Use: Union[None] = Field(None)
    Value: Union[None] = Field(None)


class PatientPushHeaderDocumentCustodianType(RedoxAbstractModel):

    AltCodes: List["PatientPushHeaderDocumentCustodianTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderDocumentCustodianTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderDocumentTypeCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderDocumentVisit(RedoxAbstractModel):

    EndDateTime: Union[str, None] = Field(None)
    Location: "PatientPushHeaderDocumentVisitLocation" = Field(None)
    Reason: Union[str, None] = Field(None)
    StartDateTime: Union[str, None] = Field(None)
    Type: "PatientPushHeaderDocumentVisitType" = Field(None)
    VisitNumber: Union[str, None] = Field(None)


class PatientPushHeaderDocumentVisitLocation(RedoxAbstractModel):

    Department: Union[str, None] = Field(None)
    Facility: Union[str, None] = Field(None)
    Room: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderDocumentVisitType(RedoxAbstractModel):

    AltCodes: List["PatientPushHeaderDocumentVisitTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderDocumentVisitTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderPatient(RedoxAbstractModel):

    Demographics: "PatientPushHeaderPatientDemographics" = Field(None)
    Identifiers: List["PatientPushHeaderPatientIdentifier"] = Field(None)
    Organization: "PatientPushHeaderPatientOrganization" = Field(None)


class PatientPushHeaderPatientDemographics(RedoxAbstractModel):

    Address: "PatientPushHeaderPatientDemographicsAddress" = Field(None)
    DeathDateTime: Union[str, None] = Field(None)
    DOB: Union[str, None] = Field(None)
    EmailAddresses: List["PatientPushHeaderPatientDemographicsEmailAddress"] = Field(
        None
    )
    EthnicGroupCodes: List[
        "PatientPushHeaderPatientDemographicsEthnicGroupCode"
    ] = Field(None)
    Ethnicity: Union[str, None] = Field(None)
    FirstName: Union[str, None] = Field(None)
    IsDeceased: Union[bool, None] = Field(None)
    Language: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)
    MaritalStatus: Union[str, None] = Field(None)
    MiddleName: Union[str, None] = Field(None)
    PhoneNumber: "PatientPushHeaderPatientDemographicsPhoneNumber" = Field(None)
    Race: Union[str, None] = Field(None)
    RaceCodes: List["PatientPushHeaderPatientDemographicsRaceCode"] = Field(None)
    Religion: Union[str, None] = Field(None)
    Sex: Union[str, None] = Field(None)
    SSN: Union[str, None] = Field(None)


class PatientPushHeaderPatientDemographicsAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushHeaderPatientDemographicsEmailAddress(RedoxAbstractModel):

    Address: Union[str, None] = Field(None)


class PatientPushHeaderPatientDemographicsEthnicGroupCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderPatientDemographicsPhoneNumber(RedoxAbstractModel):

    Home: Union[str, None] = Field(None)
    Mobile: Union[str, None] = Field(None)


class PatientPushHeaderPatientDemographicsRaceCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderPatientIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderPatientOrganization(RedoxAbstractModel):

    Address: "PatientPushHeaderPatientOrganizationAddress" = Field(None)
    Identifiers: List["PatientPushHeaderPatientOrganizationIdentifier"] = Field(None)
    Name: Union[None] = Field(None)
    Telecom: List["PatientPushHeaderPatientOrganizationTelecom"] = Field(None)
    Type: "PatientPushHeaderPatientOrganizationType" = Field(None)


class PatientPushHeaderPatientOrganizationAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushHeaderPatientOrganizationIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushHeaderPatientOrganizationTelecom(RedoxAbstractModel):

    System: Union[None] = Field(None)
    Use: Union[None] = Field(None)
    Value: Union[None] = Field(None)


class PatientPushHeaderPatientOrganizationType(RedoxAbstractModel):

    AltCodes: List["PatientPushHeaderPatientOrganizationTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderPatientOrganizationTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushHeaderPCP(RedoxAbstractModel):

    Address: "PatientPushHeaderPCPAddress" = Field(None)
    Credentials: List[str] = Field(None)
    EmailAddresses: List[str] = Field(None)
    FirstName: Union[str, None] = Field(None)
    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    LastName: Union[str, None] = Field(None)
    Location: "PatientPushHeaderPCPLocation" = Field(None)
    PhoneNumber: "PatientPushHeaderPCPPhoneNumber" = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderPCPAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushHeaderPCPLocation(RedoxAbstractModel):

    Department: Union[str, None] = Field(None)
    Facility: Union[str, None] = Field(None)
    Room: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushHeaderPCPPhoneNumber(RedoxAbstractModel):

    Office: Union[str, None] = Field(None)


class PatientPushHealthConcern(RedoxAbstractModel):

    AltCodes: List["PatientPushHealthConcernAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushHealthConcernAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushImmunization(RedoxAbstractModel):

    DateTime: Union[str, None] = Field(None)
    Dose: "PatientPushImmunizationDose" = Field(None)
    Product: "PatientPushImmunizationProduct" = Field(None)
    Route: "PatientPushImmunizationRoute" = Field(None)


class PatientPushImmunizationDose(RedoxAbstractModel):

    Quantity: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushImmunizationProduct(RedoxAbstractModel):

    AltCodes: List["PatientPushImmunizationProductAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    LotNumber: Union[str, None] = Field(None)
    Manufacturer: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushImmunizationProductAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushImmunizationRoute(RedoxAbstractModel):

    AltCodes: List["PatientPushImmunizationRouteAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushImmunizationRouteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushInsurance(RedoxAbstractModel):

    AgreementType: Union[str, None] = Field(None)
    Company: "PatientPushInsuranceCompany" = Field(None)
    CoverageType: Union[str, None] = Field(None)
    EffectiveDate: Union[str, None] = Field(None)
    ExpirationDate: Union[str, None] = Field(None)
    GroupName: Union[str, None] = Field(None)
    GroupNumber: Union[str, None] = Field(None)
    Insured: "PatientPushInsuranceInsured" = Field(None)
    MemberNumber: Union[str, None] = Field(None)
    Plan: "PatientPushInsurancePlan" = Field(None)
    PolicyNumber: Union[str, None] = Field(None)
    Priority: Union[str, None] = Field(None)


class PatientPushInsuranceCompany(RedoxAbstractModel):

    Address: "PatientPushInsuranceCompanyAddress" = Field(None)
    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    PhoneNumber: Union[str, None] = Field(None)


class PatientPushInsuranceCompanyAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushInsuranceInsured(RedoxAbstractModel):

    Address: "PatientPushInsuranceInsuredAddress" = Field(None)
    DOB: Union[str, None] = Field(None)
    FirstName: Union[str, None] = Field(None)
    Identifiers: List["PatientPushInsuranceInsuredIdentifier"] = Field(None)
    LastName: Union[str, None] = Field(None)
    MiddleName: Union[str, None] = Field(None)
    Relationship: Union[str, None] = Field(None)
    Sex: Union[str, None] = Field(None)
    SSN: Union[str, None] = Field(None)


class PatientPushInsuranceInsuredAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushInsuranceInsuredIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushInsurancePlan(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Type: Union[str, None] = Field(None)


class PatientPushMedicalEquipment(RedoxAbstractModel):

    Product: "PatientPushMedicalEquipmentProduct" = Field(None)
    Quantity: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushMedicalEquipmentProduct(RedoxAbstractModel):

    AltCodes: List["PatientPushMedicalEquipmentProductAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicalEquipmentProductAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedication(RedoxAbstractModel):

    Dose: "PatientPushMedicationDose" = Field(None)
    EndDate: Union[str, None] = Field(None)
    FreeTextSig: Union[str, None] = Field(None)
    Frequency: "PatientPushMedicationFrequency" = Field(None)
    Indications: List["PatientPushMedicationIndication"] = Field(None)
    IsPRN: Union[bool, None] = Field(None)
    NumberOfRefillsRemaining: Union[Number, None] = Field(None)
    Prescription: Union[bool, None] = Field(None)
    Product: "PatientPushMedicationProduct" = Field(None)
    Rate: "PatientPushMedicationRate" = Field(None)
    Route: "PatientPushMedicationRoute" = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)
    SupplyOrder: "PatientPushMedicationSupplyOrder" = Field(None)


class PatientPushMedicationDose(RedoxAbstractModel):

    Quantity: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushMedicationFrequency(RedoxAbstractModel):

    EventCode: Union[str, None] = Field(None)
    InstitutionSpecified: Union[bool, None] = Field(None)
    Period: Union[str, None] = Field(None)
    PeriodMax: Union[str, None] = Field(None)
    Unit: Union[str, None] = Field(None)


class PatientPushMedicationIndication(RedoxAbstractModel):

    AltCodes: List["PatientPushMedicationIndicationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationIndicationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationProduct(RedoxAbstractModel):

    AltCodes: List["PatientPushMedicationProductAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationProductAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationRate(RedoxAbstractModel):

    Quantity: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushMedicationRoute(RedoxAbstractModel):

    AltCodes: List["PatientPushMedicationRouteAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationRouteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMedicationSupplyOrder(RedoxAbstractModel):

    EndDate: Union[str, None] = Field(None)
    NumberOfRefillsRemaining: Union[Number, None] = Field(None)
    Quantity: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushMeta(RedoxAbstractModel):

    DataModel: str = Field(...)
    Destinations: List["PatientPushMetaDestination"] = Field(None)
    EventDateTime: Union[str, None] = Field(None)
    EventType: str = Field(...)
    FacilityCode: Union[str, None] = Field(None)
    Logs: List["PatientPushMetaLog"] = Field(None)
    Message: "PatientPushMetaMessage" = Field(None)
    Source: "PatientPushMetaSource" = Field(None)
    Test: Union[bool, None] = Field(None)
    Transmission: "PatientPushMetaTransmission" = Field(None)


class PatientPushMetaDestination(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMetaLog(RedoxAbstractModel):

    AttemptID: Union[str, None] = Field(None)
    ID: Union[str, None] = Field(None)


class PatientPushMetaMessage(RedoxAbstractModel):

    ID: Union[Number, None] = Field(None)


class PatientPushMetaSource(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushMetaTransmission(RedoxAbstractModel):

    ID: Union[Number, None] = Field(None)


class PatientPushNoteSection(RedoxAbstractModel):

    AltCodes: List["PatientPushNoteSectionAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Notes: List["PatientPushNoteSectionNote"] = Field(None)
    Text: Union[str, None] = Field(None)
    Title: Union[str, None] = Field(None)


class PatientPushNoteSectionAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushNoteSectionNote(RedoxAbstractModel):

    AltCodes: List["PatientPushNoteSectionNoteAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    ContentType: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Encounter: "PatientPushNoteSectionNoteEncounter" = Field(None)
    FileContents: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushNoteSectionNoteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushNoteSectionNoteEncounter(RedoxAbstractModel):

    DateTime: Union[str, None] = Field(None)
    EndDateTime: Union[str, None] = Field(None)
    Identifiers: List["PatientPushNoteSectionNoteEncounterIdentifier"] = Field(None)
    Type: "PatientPushNoteSectionNoteEncounterType" = Field(None)


class PatientPushNoteSectionNoteEncounterIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushNoteSectionNoteEncounterType(RedoxAbstractModel):

    AltCodes: List["PatientPushNoteSectionNoteEncounterTypeAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushNoteSectionNoteEncounterTypeAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCare(RedoxAbstractModel):

    Encounters: List["PatientPushPlanOfCareEncounter"] = Field(None)
    MedicationAdministration: List[
        "PatientPushPlanOfCareMedicationAdministration"
    ] = Field(None)
    Orders: List["PatientPushPlanOfCareOrder"] = Field(None)
    Procedures: List["PatientPushPlanOfCareProcedure"] = Field(None)
    Services: List["PatientPushPlanOfCareService"] = Field(None)
    Supplies: List["PatientPushPlanOfCareSupply"] = Field(None)


class PatientPushPlanOfCareEncounter(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareEncounterAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Identifiers: List["PatientPushPlanOfCareEncounterIdentifier"] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareEncounterAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareEncounterIdentifier(RedoxAbstractModel):

    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministration(RedoxAbstractModel):

    Dose: "PatientPushPlanOfCareMedicationAdministrationDose" = Field(None)
    EndDate: Union[str, None] = Field(None)
    Frequency: "PatientPushPlanOfCareMedicationAdministrationFrequency" = Field(None)
    Product: "PatientPushPlanOfCareMedicationAdministrationProduct" = Field(None)
    Rate: "PatientPushPlanOfCareMedicationAdministrationRate" = Field(None)
    Route: "PatientPushPlanOfCareMedicationAdministrationRoute" = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationDose(RedoxAbstractModel):

    Quantity: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationFrequency(RedoxAbstractModel):

    Period: Union[str, None] = Field(None)
    Unit: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationProduct(RedoxAbstractModel):

    AltCodes: List[
        "PatientPushPlanOfCareMedicationAdministrationProductAltCode"
    ] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationProductAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationRate(RedoxAbstractModel):

    Quantity: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationRoute(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareMedicationAdministrationRouteAltCode"] = Field(
        None
    )
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareMedicationAdministrationRouteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareOrder(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareOrderAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareOrderAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareProcedure(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareProcedureAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareProcedureAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareService(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareServiceAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareServiceAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushPlanOfCareSupply(RedoxAbstractModel):

    AltCodes: List["PatientPushPlanOfCareSupplyAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushPlanOfCareSupplyAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblem(RedoxAbstractModel):

    AltCodes: List["PatientPushProblemAltCode"] = Field(None)
    Category: "PatientPushProblemCategory" = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Comment: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    HealthStatus: "PatientPushProblemHealthStatus" = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: "PatientPushProblemStatus" = Field(None)


class PatientPushProblemAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblemCategory(RedoxAbstractModel):

    AltCodes: List["PatientPushProblemCategoryAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblemCategoryAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblemHealthStatus(RedoxAbstractModel):

    AltCodes: List["PatientPushProblemHealthStatusAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblemHealthStatusAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProblemStatus(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProcedures(RedoxAbstractModel):

    Observations: List["PatientPushProceduresObservation"] = Field(None)
    Procedures: List["PatientPushProceduresProcedure"] = Field(None)
    Services: List["PatientPushProceduresService"] = Field(None)


class PatientPushProceduresObservation(RedoxAbstractModel):

    AltCodes: List["PatientPushProceduresObservationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)
    TargetSite: "PatientPushProceduresObservationTargetSite" = Field(None)


class PatientPushProceduresObservationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresObservationTargetSite(RedoxAbstractModel):

    AltCodes: List["PatientPushProceduresObservationTargetSiteAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresObservationTargetSiteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresProcedure(RedoxAbstractModel):

    AltCodes: List["PatientPushProceduresProcedureAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)
    TargetSite: "PatientPushProceduresProcedureTargetSite" = Field(None)


class PatientPushProceduresProcedureAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresProcedureTargetSite(RedoxAbstractModel):

    AltCodes: List["PatientPushProceduresProcedureTargetSiteAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresProcedureTargetSiteAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushProceduresService(RedoxAbstractModel):

    AltCodes: List["PatientPushProceduresServiceAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushProceduresServiceAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResolvedProblem(RedoxAbstractModel):

    AltCodes: List["PatientPushResolvedProblemAltCode"] = Field(None)
    Category: "PatientPushResolvedProblemCategory" = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Comment: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Status: "PatientPushResolvedProblemStatus" = Field(None)


class PatientPushResolvedProblemAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResolvedProblemCategory(RedoxAbstractModel):

    AltCodes: List["PatientPushResolvedProblemCategoryAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResolvedProblemCategoryAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResolvedProblemStatus(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResult(RedoxAbstractModel):

    AltCodes: List["PatientPushResultAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Observations: List["PatientPushResultObservation"] = Field(None)
    Producer: "PatientPushResultProducer" = Field(None)
    Status: Union[str, None] = Field(None)


class PatientPushResultAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResultObservation(RedoxAbstractModel):

    AltCodes: List["PatientPushResultObservationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodedValue: "PatientPushResultObservationCodedValue" = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Interpretation: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    ReferenceRange: "PatientPushResultObservationReferenceRange" = Field(None)
    Status: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)
    Value: Union[str, None] = Field(None)
    ValueType: Union[str, None] = Field(None)


class PatientPushResultObservationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResultObservationCodedValue(RedoxAbstractModel):

    AltCodes: List["PatientPushResultObservationCodedValueAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResultObservationCodedValueAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResultObservationReferenceRange(RedoxAbstractModel):

    High: Union[str, None] = Field(None)
    Low: Union[str, None] = Field(None)
    Text: Union[str, None] = Field(None)


class PatientPushResultProducer(RedoxAbstractModel):

    Address: "PatientPushResultProducerAddress" = Field(None)
    ID: Union[str, None] = Field(None)
    IDType: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushResultProducerAddress(RedoxAbstractModel):

    City: Union[str, None] = Field(None)
    Country: Union[str, None] = Field(None)
    County: Union[str, None] = Field(None)
    State: Union[str, None] = Field(None)
    StreetAddress: Union[str, None] = Field(None)
    ZIP: Union[str, None] = Field(None)


class PatientPushSocialHistory(RedoxAbstractModel):

    Observations: List["PatientPushSocialHistoryObservation"] = Field(None)
    Pregnancy: List["PatientPushSocialHistoryPregnancy"] = Field(None)
    TobaccoUse: List["PatientPushSocialHistoryTobaccoUse"] = Field(None)


class PatientPushSocialHistoryObservation(RedoxAbstractModel):

    AltCodes: List["PatientPushSocialHistoryObservationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)
    Value: "PatientPushSocialHistoryObservationValue" = Field(None)
    ValueText: Union[str, None] = Field(None)


class PatientPushSocialHistoryObservationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushSocialHistoryObservationValue(RedoxAbstractModel):

    AltCodes: List["PatientPushSocialHistoryObservationValueAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushSocialHistoryObservationValueAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushSocialHistoryPregnancy(RedoxAbstractModel):

    EndDate: Union[str, None] = Field(None)
    EstimatedDelivery: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)


class PatientPushSocialHistoryTobaccoUse(RedoxAbstractModel):

    AltCodes: List["PatientPushSocialHistoryTobaccoUseAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    EndDate: Union[str, None] = Field(None)
    IsSmokingStatus: Union[bool, None] = Field(None)
    Name: Union[str, None] = Field(None)
    StartDate: Union[str, None] = Field(None)


class PatientPushSocialHistoryTobaccoUseAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


class PatientPushVitalSign(RedoxAbstractModel):

    DateTime: Union[str, None] = Field(None)
    Observations: List["PatientPushVitalSignObservation"] = Field(None)


class PatientPushVitalSignObservation(RedoxAbstractModel):

    AltCodes: List["PatientPushVitalSignObservationAltCode"] = Field(None)
    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    DateTime: Union[str, None] = Field(None)
    Interpretation: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)
    Status: Union[str, None] = Field(None)
    Units: Union[str, None] = Field(None)
    Value: Union[str, None] = Field(None)


class PatientPushVitalSignObservationAltCode(RedoxAbstractModel):

    Code: Union[str, None] = Field(None)
    CodeSystem: Union[str, None] = Field(None)
    CodeSystemName: Union[str, None] = Field(None)
    Name: Union[str, None] = Field(None)


PatientPush.update_forward_refs()
PatientPushAdvanceDirective.update_forward_refs()
PatientPushAdvanceDirectiveCustodian.update_forward_refs()
PatientPushAdvanceDirectiveType.update_forward_refs()
PatientPushAllergy.update_forward_refs()
PatientPushAllergyReaction.update_forward_refs()
PatientPushAllergySubstance.update_forward_refs()
PatientPushAllergyType.update_forward_refs()
PatientPushEncounter.update_forward_refs()
PatientPushEncounterDiagnosis.update_forward_refs()
PatientPushEncounterLocation.update_forward_refs()
PatientPushEncounterLocationType.update_forward_refs()
PatientPushEncounterProvider.update_forward_refs()
PatientPushEncounterProviderRole.update_forward_refs()
PatientPushEncounterReasonForVisit.update_forward_refs()
PatientPushEncounterType.update_forward_refs()
PatientPushFamilyHistory.update_forward_refs()
PatientPushFamilyHistoryProblem.update_forward_refs()
PatientPushFamilyHistoryRelation.update_forward_refs()
PatientPushFunctionalStatus.update_forward_refs()
PatientPushFunctionalStatusObservation.update_forward_refs()
PatientPushFunctionalStatusObservationCodedValue.update_forward_refs()
PatientPushFunctionalStatusSupply.update_forward_refs()
PatientPushGoal.update_forward_refs()
PatientPushGoalCodedValue.update_forward_refs()
PatientPushGoalMilestone.update_forward_refs()
PatientPushGoalMilestoneCodedValue.update_forward_refs()
PatientPushHeader.update_forward_refs()
PatientPushHeaderDocument.update_forward_refs()
PatientPushHeaderDocumentAuthor.update_forward_refs()
PatientPushHeaderDocumentCustodian.update_forward_refs()
PatientPushHeaderDocumentCustodianType.update_forward_refs()
PatientPushHeaderDocumentVisit.update_forward_refs()
PatientPushHeaderDocumentVisitType.update_forward_refs()
PatientPushHeaderPatient.update_forward_refs()
PatientPushHeaderPatientDemographics.update_forward_refs()
PatientPushHeaderPatientOrganization.update_forward_refs()
PatientPushHeaderPatientOrganizationType.update_forward_refs()
PatientPushHeaderPCP.update_forward_refs()
PatientPushHealthConcern.update_forward_refs()
PatientPushImmunization.update_forward_refs()
PatientPushImmunizationProduct.update_forward_refs()
PatientPushImmunizationRoute.update_forward_refs()
PatientPushInsurance.update_forward_refs()
PatientPushInsuranceCompany.update_forward_refs()
PatientPushInsuranceInsured.update_forward_refs()
PatientPushMedicalEquipment.update_forward_refs()
PatientPushMedicalEquipmentProduct.update_forward_refs()
PatientPushMedication.update_forward_refs()
PatientPushMedicationIndication.update_forward_refs()
PatientPushMedicationProduct.update_forward_refs()
PatientPushMedicationRoute.update_forward_refs()
PatientPushMeta.update_forward_refs()
PatientPushNoteSection.update_forward_refs()
PatientPushNoteSectionNote.update_forward_refs()
PatientPushNoteSectionNoteEncounter.update_forward_refs()
PatientPushNoteSectionNoteEncounterType.update_forward_refs()
PatientPushPlanOfCare.update_forward_refs()
PatientPushPlanOfCareEncounter.update_forward_refs()
PatientPushPlanOfCareMedicationAdministration.update_forward_refs()
PatientPushPlanOfCareMedicationAdministrationProduct.update_forward_refs()
PatientPushPlanOfCareMedicationAdministrationRoute.update_forward_refs()
PatientPushPlanOfCareOrder.update_forward_refs()
PatientPushPlanOfCareProcedure.update_forward_refs()
PatientPushPlanOfCareService.update_forward_refs()
PatientPushPlanOfCareSupply.update_forward_refs()
PatientPushProblem.update_forward_refs()
PatientPushProblemCategory.update_forward_refs()
PatientPushProblemHealthStatus.update_forward_refs()
PatientPushProcedures.update_forward_refs()
PatientPushProceduresObservation.update_forward_refs()
PatientPushProceduresObservationTargetSite.update_forward_refs()
PatientPushProceduresProcedure.update_forward_refs()
PatientPushProceduresProcedureTargetSite.update_forward_refs()
PatientPushProceduresService.update_forward_refs()
PatientPushResolvedProblem.update_forward_refs()
PatientPushResolvedProblemCategory.update_forward_refs()
PatientPushResult.update_forward_refs()
PatientPushResultObservation.update_forward_refs()
PatientPushResultObservationCodedValue.update_forward_refs()
PatientPushResultProducer.update_forward_refs()
PatientPushSocialHistory.update_forward_refs()
PatientPushSocialHistoryObservation.update_forward_refs()
PatientPushSocialHistoryObservationValue.update_forward_refs()
PatientPushSocialHistoryTobaccoUse.update_forward_refs()
PatientPushVitalSign.update_forward_refs()
PatientPushVitalSignObservation.update_forward_refs()
