# Generated by ariadne-codegen
# Source: ./documents

from typing import Optional

from pydantic import Field

from .base_model import BaseModel


class ExtractObservables(BaseModel):
    extract_observables: Optional["ExtractObservablesExtractObservables"] = Field(
        alias="extractObservables"
    )


class ExtractObservablesExtractObservables(BaseModel):
    labels: Optional[list[Optional["ExtractObservablesExtractObservablesLabels"]]]
    categories: Optional[
        list[Optional["ExtractObservablesExtractObservablesCategories"]]
    ]
    emotions: Optional[list[Optional["ExtractObservablesExtractObservablesEmotions"]]]
    persons: Optional[list[Optional["ExtractObservablesExtractObservablesPersons"]]]
    organizations: Optional[
        list[Optional["ExtractObservablesExtractObservablesOrganizations"]]
    ]
    places: Optional[list[Optional["ExtractObservablesExtractObservablesPlaces"]]]
    events: Optional[list[Optional["ExtractObservablesExtractObservablesEvents"]]]
    products: Optional[list[Optional["ExtractObservablesExtractObservablesProducts"]]]
    softwares: Optional[list[Optional["ExtractObservablesExtractObservablesSoftwares"]]]
    repos: Optional[list[Optional["ExtractObservablesExtractObservablesRepos"]]]
    investments: Optional[
        list[Optional["ExtractObservablesExtractObservablesInvestments"]]
    ]
    investment_funds: Optional[
        list[Optional["ExtractObservablesExtractObservablesInvestmentFunds"]]
    ] = Field(alias="investmentFunds")
    medical_studies: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalStudies"]]
    ] = Field(alias="medicalStudies")
    medical_conditions: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalConditions"]]
    ] = Field(alias="medicalConditions")
    medical_guidelines: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalGuidelines"]]
    ] = Field(alias="medicalGuidelines")
    medical_drugs: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalDrugs"]]
    ] = Field(alias="medicalDrugs")
    medical_drug_classes: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalDrugClasses"]]
    ] = Field(alias="medicalDrugClasses")
    medical_indications: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalIndications"]]
    ] = Field(alias="medicalIndications")
    medical_contraindications: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalContraindications"]]
    ] = Field(alias="medicalContraindications")
    medical_procedures: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalProcedures"]]
    ] = Field(alias="medicalProcedures")
    medical_therapies: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalTherapies"]]
    ] = Field(alias="medicalTherapies")
    medical_devices: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalDevices"]]
    ] = Field(alias="medicalDevices")
    medical_tests: Optional[
        list[Optional["ExtractObservablesExtractObservablesMedicalTests"]]
    ] = Field(alias="medicalTests")


class ExtractObservablesExtractObservablesLabels(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesCategories(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesEmotions(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesPersons(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesOrganizations(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesPlaces(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesEvents(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesProducts(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesSoftwares(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesRepos(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesInvestments(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesInvestmentFunds(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalStudies(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalConditions(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalGuidelines(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalDrugs(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalDrugClasses(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalIndications(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalContraindications(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalProcedures(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalTherapies(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalDevices(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


class ExtractObservablesExtractObservablesMedicalTests(BaseModel):
    name: Optional[str]
    metadata: Optional[str]


ExtractObservables.model_rebuild()
ExtractObservablesExtractObservables.model_rebuild()
