45 lines
956 B
Python
45 lines
956 B
Python
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class DataItemSchema(BaseModel):
|
|
name: str
|
|
value: str
|
|
unit: str = ""
|
|
reference_range: str = ""
|
|
status: str = "normal"
|
|
category: str = ""
|
|
|
|
|
|
class ReportVerifyRequest(BaseModel):
|
|
"""数据校对提交"""
|
|
data_items: list[DataItemSchema]
|
|
symptoms: Optional[list[str]] = None
|
|
notes: Optional[str] = None
|
|
report_type: Optional[str] = None
|
|
|
|
|
|
class ReportResponse(BaseModel):
|
|
id: str
|
|
report_type: str
|
|
pregnancy_week: Optional[int]
|
|
image_urls: list[str]
|
|
data_items: list[DataItemSchema]
|
|
symptoms: Optional[list[str]]
|
|
notes: Optional[str]
|
|
status: str
|
|
overall_status: str
|
|
created_at: datetime
|
|
|
|
|
|
class ReportListItem(BaseModel):
|
|
id: str
|
|
report_type: str
|
|
pregnancy_week: Optional[int]
|
|
overall_status: str
|
|
summary: str = ""
|
|
item_count: int = 0
|
|
created_at: datetime
|