ref Medical Card List

This commit is contained in:
dderbentsov
2023-08-05 02:43:17 +03:00
parent 2199be3109
commit 687659f42b
7 changed files with 92 additions and 68 deletions

View File

@@ -1,2 +1,3 @@
from .medical_card import *
from .checkup import *
from .checkup import *
from .persons import *

View File

@@ -2,17 +2,13 @@ from pydantic import BaseModel
from pydantic.types import UUID4, Json
from typing import List, Optional, Any
from datetime import date, datetime
from .persons import PersonOut
class Person(BaseModel):
first_name: str
last_name: str
patronymic: Optional[str]
birth_date: Optional[date]
class MedicalCardResponse(BaseModel):
id: UUID4
number: Optional[str]
person_id: UUID4
person: Person
person: PersonOut
created_at: Optional[datetime]
@@ -27,43 +23,13 @@ class MedicalCardBase(BaseModel):
class Config:
orm_mode = True
class PersonAddress(BaseModel):
category: str
region: Optional[str]
city: Optional[str]
street: Optional[str]
house: Optional[str]
flat: Optional[str]
class PersonContact(BaseModel):
category: str
value: str
class PersonDocument(BaseModel):
category: str
series: str
number: str
issued_by: str
issued_at: Optional[date]
attachments: Optional[List[str]]
class PersonDetail(BaseModel):
first_name: str
last_name: str
patronymic: Optional[str]
gender: Optional[str]
birth_date: Optional[date]
addresses: Optional[List[PersonAddress]] = []
contacts: Optional[List[PersonContact]] = []
documents: Optional[List[PersonDocument]] = []
photos: Optional[List[str]] = []
class MedicalCardDetail(BaseModel):
id: UUID4
number: str
created_at: datetime
person_id: UUID4
person: Optional[PersonDetail]
person: Optional[PersonOut]
class Config:
orm_mode = True
@@ -91,5 +57,14 @@ class MedicalCardUpdateRs(BaseModel):
number: str
created_at: datetime
person_id: UUID4
class Config:
orm_mode = True
class MedicalCardOut(BaseModel):
id: UUID4
number: str
created_at: datetime
person_id: UUID4
person: Optional[PersonOut]
class Config:
orm_mode = True

View File

@@ -0,0 +1,38 @@
from pydantic import BaseModel
from typing import Optional, List
from datetime import date
class Address(BaseModel):
category: str
region: str | None
city: str | None
street: str | None
house: str | None
flat: str | None
class Contact(BaseModel):
category: str
value: str
class Document(BaseModel):
category: str
series: str
number: str
issued_by: str
issued_at: date | None
attachments: Optional[List[str]]
class PersonOut(BaseModel):
id: str
first_name: str
last_name: str
patronymic: str | None
gender: str | None
birth_date: date | None
addresses: Optional[List[Address]] = []
contacts: Optional[List[Contact]] = []
documents: Optional[List[Document]] = []
photos: Optional[List[str]] = []