care.emr.resources.consent.spec module

class ConsentStatusChoices(*values)

Bases: str, Enum

draft = 'draft'
active = 'active'
inactive = 'inactive'
not_done = 'not_done'
entered_in_error = 'entered_in_error'
class VerificationType(*values)

Bases: str, Enum

family = 'family'
validation = 'validation'
class DecisionType(*values)

Bases: str, Enum

deny = 'deny'
permit = 'permit'
class CategoryChoice(*values)

Bases: str, Enum

research = 'research'
patient_privacy = 'patient_privacy'
treatment = 'treatment'
dnr = 'dnr'
comfort_care = 'comfort_care'
acd = 'acd'
adr = 'adr'
class ConsentVerificationSpec(*, verified: bool, verified_by: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, verification_date: datetime | None = None, verification_type: VerificationType, note: str | None = None)

Bases: BaseModel

verified: bool
verified_by: Annotated[UUID, UuidVersion(uuid_version=4)] | None
verification_date: datetime | None
verification_type: VerificationType
note: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'verification_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'verification_type': FieldInfo(annotation=VerificationType, required=True), 'verified': FieldInfo(annotation=bool, required=True), 'verified_by': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class ConsentBaseSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.consent.spec.ConsentStatusChoices, category: ~care.emr.resources.consent.spec.CategoryChoice, date: ~datetime.datetime, period: ~care.emr.resources.base.PeriodSpec = <class 'dict'>, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], decision: ~care.emr.resources.consent.spec.DecisionType, note: str | None = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
status: ConsentStatusChoices
category: CategoryChoice
date: datetime
period: PeriodSpec
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
decision: DecisionType
note: str | None
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=CategoryChoice, required=True), 'date': FieldInfo(annotation=datetime, required=True), 'decision': FieldInfo(annotation=DecisionType, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None, description='Unique identifier for the consent record'), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'period': FieldInfo(annotation=PeriodSpec, required=False, default=<class 'dict'>), 'status': FieldInfo(annotation=ConsentStatusChoices, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class ConsentCreateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.consent.spec.ConsentStatusChoices, category: ~care.emr.resources.consent.spec.CategoryChoice, date: ~datetime.datetime, period: ~care.emr.resources.base.PeriodSpec = <class 'dict'>, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], decision: ~care.emr.resources.consent.spec.DecisionType, note: str | None = None)

Bases: ConsentBaseSpec

validate_period_and_date()
perform_extra_deserialization(is_update, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=CategoryChoice, required=True), 'date': FieldInfo(annotation=datetime, required=True), 'decision': FieldInfo(annotation=DecisionType, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None, description='Unique identifier for the consent record'), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'period': FieldInfo(annotation=PeriodSpec, required=False, default=<class 'dict'>), 'status': FieldInfo(annotation=ConsentStatusChoices, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class ConsentUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, status: ConsentStatusChoices | None = None, category: CategoryChoice | None = None, date: datetime | None = None, period: PeriodSpec | None = None, encounter: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, decision: DecisionType | None = None, note: str | None = None)

Bases: ConsentBaseSpec

status: ConsentStatusChoices | None
category: CategoryChoice | None
date: datetime | None
period: PeriodSpec | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)] | None
decision: DecisionType | None
note: str | None
perform_extra_deserialization(is_update, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=Union[CategoryChoice, NoneType], required=False, default=None), 'date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'decision': FieldInfo(annotation=Union[DecisionType, NoneType], required=False, default=None), 'encounter': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None, description='Unique identifier for the consent record'), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'period': FieldInfo(annotation=Union[PeriodSpec, NoneType], required=False, default=None), 'status': FieldInfo(annotation=Union[ConsentStatusChoices, NoneType], required=False, default=None)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class ConsentListSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.consent.spec.ConsentStatusChoices, category: ~care.emr.resources.consent.spec.CategoryChoice, date: ~datetime.datetime, period: ~care.emr.resources.base.PeriodSpec = <class 'dict'>, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], decision: ~care.emr.resources.consent.spec.DecisionType, note: str | None = None, source_attachments: list[dict] = [], verification_details: list[dict] = [])

Bases: ConsentBaseSpec

source_attachments: list[dict]
verification_details: list[dict]
classmethod perform_extra_serialization(mapping, obj)
model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=CategoryChoice, required=True), 'date': FieldInfo(annotation=datetime, required=True), 'decision': FieldInfo(annotation=DecisionType, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None, description='Unique identifier for the consent record'), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'period': FieldInfo(annotation=PeriodSpec, required=False, default=<class 'dict'>), 'source_attachments': FieldInfo(annotation=list[dict], required=False, default=[]), 'status': FieldInfo(annotation=ConsentStatusChoices, required=True), 'verification_details': FieldInfo(annotation=list[dict], required=False, default=[])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

class ConsentRetrieveSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.consent.spec.ConsentStatusChoices, category: ~care.emr.resources.consent.spec.CategoryChoice, date: ~datetime.datetime, period: ~care.emr.resources.base.PeriodSpec = <class 'dict'>, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], decision: ~care.emr.resources.consent.spec.DecisionType, note: str | None = None, source_attachments: list[dict] = [], verification_details: list[dict] = [])

Bases: ConsentListSpec

model_computed_fields: ClassVar[Dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[Dict[str, FieldInfo]] = {'category': FieldInfo(annotation=CategoryChoice, required=True), 'date': FieldInfo(annotation=datetime, required=True), 'decision': FieldInfo(annotation=DecisionType, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None, description='Unique identifier for the consent record'), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'period': FieldInfo(annotation=PeriodSpec, required=False, default=<class 'dict'>), 'source_attachments': FieldInfo(annotation=list[dict], required=False, default=[]), 'status': FieldInfo(annotation=ConsentStatusChoices, required=True), 'verification_details': FieldInfo(annotation=list[dict], required=False, default=[])}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.