Source code for imednet.models.subjects

from __future__ import annotations

from datetime import datetime
from typing import List

from pydantic import Field

from imednet.models.json_base import JsonModel


[docs]class SubjectKeyword(JsonModel): """A keyword or tag associated with a subject.""" keyword_name: str = Field("", alias="keywordName") keyword_key: str = Field("", alias="keywordKey") keyword_id: int = Field(0, alias="keywordId") date_added: datetime = Field(default_factory=datetime.now, alias="dateAdded") pass
[docs]class Subject(JsonModel): """A subject (participant) in a study, with status and site info.""" study_key: str = Field("", alias="studyKey") subject_id: int = Field(0, alias="subjectId") subject_oid: str = Field("", alias="subjectOid") subject_key: str = Field("", alias="subjectKey") subject_status: str = Field("", alias="subjectStatus") site_id: int = Field(0, alias="siteId") site_name: str = Field("", alias="siteName") deleted: bool = Field(False, alias="deleted") enrollment_start_date: datetime = Field( default_factory=datetime.now, alias="enrollmentStartDate" ) date_created: datetime = Field(default_factory=datetime.now, alias="dateCreated") date_modified: datetime = Field(default_factory=datetime.now, alias="dateModified") keywords: List[SubjectKeyword] = Field(default_factory=list, alias="keywords") pass