ref Medical Card List
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
from .medical_card import *
|
||||
from .checkup import *
|
||||
from .checkup import *
|
||||
from .persons import *
|
||||
@@ -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
|
||||
38
src/medical_info/db/schemas/persons.py
Normal file
38
src/medical_info/db/schemas/persons.py
Normal 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]] = []
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user