Files
ctms/backend/app/schemas/subject.py
T
Cheng Zhou 917ab7ccf1 feat: refine subject visits and project workflows
Add early termination visit workflow with ordering, non-applicable visit handling, visit window display, and medication adherence support.

Extend monitoring visit issue template fields, site scoping, setup draft project info handling, login security UI, attachment behavior, and related tests/migrations.
2026-05-09 17:10:34 +08:00

47 lines
1.2 KiB
Python

import uuid
from datetime import date, datetime
from typing import Optional
from pydantic import BaseModel, ConfigDict
class SubjectCreate(BaseModel):
site_id: uuid.UUID
subject_no: str
screening_date: Optional[date] = None
consent_date: Optional[date] = None
enrollment_date: Optional[date] = None
baseline_date: Optional[date] = None
class SubjectUpdate(BaseModel):
status: Optional[str] = None
consent_date: Optional[date] = None
enrollment_date: Optional[date] = None
baseline_date: Optional[date] = None
completion_date: Optional[date] = None
actual_medication_count: Optional[int] = None
drop_reason: Optional[str] = None
class SubjectRead(BaseModel):
id: uuid.UUID
study_id: uuid.UUID
site_id: uuid.UUID
subject_no: str
status: str
screening_date: Optional[date]
consent_date: Optional[date]
enrollment_date: Optional[date]
baseline_date: Optional[date]
completion_date: Optional[date]
actual_medication_count: Optional[int]
drop_reason: Optional[str]
created_at: datetime
updated_at: datetime
has_ae: Optional[bool] = None
has_sae: Optional[bool] = None
has_susar: Optional[bool] = None
model_config = ConfigDict(from_attributes=True)