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

from typing import List, Union

from pydantic import Field

from pyredox import notes
from ..abstract_base import GenericRedoxAbstractModel
from . import types as generic


class _Notes(GenericRedoxAbstractModel):
    _redox_module = notes


class Delete(_Notes):

    Meta: generic.Meta = Field(...)
    Note: generic.Note = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)


class New(_Notes):

    Meta: generic.Meta = Field(...)
    Note: generic.Note = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)


class Query(_Notes):

    DocumentIDs: List[str] = Field(None)
    DocumentTypes: List[str] = Field(None)
    Meta: generic.Meta = Field(...)
    Patients: List[generic.Patient] = Field(None)
    VisitNumbers: List[str] = Field(None)


class QueryResponse(_Notes):

    Meta: generic.Meta = Field(...)
    Notes: List[generic.Note] = Field(None)


class Replace(_Notes):

    Meta: generic.Meta = Field(...)
    Note: generic.Note = Field(...)
    Orders: List[generic.Order] = Field(None)
    Patient: generic.Patient = Field(...)
    Visit: generic.Visit = Field(None)
