This commit is contained in:
@ -1,14 +1,19 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, Field, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||
|
||||
|
||||
class ErrorModel(BaseModel):
|
||||
error: str = Field(title='Текст ошибки')
|
||||
model_config = ConfigDict(
|
||||
validate_by_alias=True,
|
||||
validate_by_name=True,
|
||||
)
|
||||
|
||||
error: str = Field(title='Текст ошибки', alias='message')
|
||||
|
||||
|
||||
class PatientModel(BaseModel):
|
||||
id: str = Field(
|
||||
patId: str = Field(
|
||||
title='Идентификатор пациента',
|
||||
examples=['b62e9f22-a871-4c52-96d6-559c707a716d'],
|
||||
)
|
||||
@ -18,18 +23,6 @@ class PatientModel(BaseModel):
|
||||
middleName: str = Field(title='Отчество', examples=['Пациентович'])
|
||||
birthDate: datetime = Field(title='Дата рождения', examples=['2024-10-16'])
|
||||
gender: str = Field(title='Пол', examples=['М'])
|
||||
docType: str = Field(title='Тип документа', examples=['Паспорт РФ'])
|
||||
docSer: str = Field(title='Серия документа', examples=['12 34'])
|
||||
docNum: str = Field(title='Номер документа', examples=['999999'])
|
||||
polNum: str = Field(title='Номер полиса', examples=['999999'])
|
||||
address1: str = Field(
|
||||
title='Адрес проживания',
|
||||
examples=['г. Москва, ул. Пушкина, д. 1'],
|
||||
)
|
||||
|
||||
|
||||
class PatientsModel(BaseModel):
|
||||
patients: list[PatientModel]
|
||||
|
||||
|
||||
class TrustedPersonModel(BaseModel):
|
||||
@ -215,7 +208,9 @@ class WorkerModel(BaseModel):
|
||||
firstName: str = Field(title='Имя', examples=['Владимир'])
|
||||
lastName: str = Field(title='Фамилия', examples=['Камашев'])
|
||||
middleName: str = Field(title='Отчество', examples=['Михайлович'])
|
||||
birthDate: datetime = Field(title='Дата рождения', examples=['30.05.1961'])
|
||||
birthDate: datetime | None = Field(
|
||||
title='Дата рождения', examples=['30.05.1961'], default=None
|
||||
)
|
||||
positions: list[WorkersPositionModel]
|
||||
|
||||
|
||||
@ -411,9 +406,10 @@ class ExaminationModel(BaseModel):
|
||||
'style="BORDER-TOP: #ffffff 1px..... </TABLE>'
|
||||
],
|
||||
)
|
||||
Recommendation: str = Field(
|
||||
Recommendation: str | None = Field(
|
||||
title='Идентификатор результата исследования',
|
||||
examples=['рекомендации 1 тест'],
|
||||
default=None,
|
||||
)
|
||||
SEMDs: list[SEMDModel] | None = Field(title='Список СЭМД', default=None)
|
||||
|
||||
@ -688,6 +684,10 @@ class PatientFLGModel(BaseModel):
|
||||
title='Контингент (флюорография)',
|
||||
examples=['Неорганизованное население'],
|
||||
)
|
||||
PrgDecision: str | None = Field(
|
||||
title='Решение (флюорография)',
|
||||
examples=['Требует дообследования'],
|
||||
)
|
||||
|
||||
|
||||
class DiagResultFileModel(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user