care.emr.resources.condition.spec module

class ClinicalStatusChoices(*values)

Bases: str, Enum

active = 'active'
recurrence = 'recurrence'
relapse = 'relapse'
inactive = 'inactive'
remission = 'remission'
resolved = 'resolved'
unknown = 'unknown'
class VerificationStatusChoices(*values)

Bases: str, Enum

unconfirmed = 'unconfirmed'
provisional = 'provisional'
differential = 'differential'
confirmed = 'confirmed'
refuted = 'refuted'
entered_in_error = 'entered_in_error'
class CategoryChoices(*values)

Bases: str, Enum

problem_list_item = 'problem_list_item'
encounter_diagnosis = 'encounter_diagnosis'
chronic_condition = 'chronic_condition'
class SeverityChoices(*values)

Bases: str, Enum

mild = 'mild'
moderate = 'moderate'
severe = 'severe'
class ConditionOnSetSpec(*, meta: dict = {}, onset_datetime: datetime | None = None, onset_age: int | None = None, onset_string: str | None = None, note: str | None = None)

Bases: EMRResource

onset_datetime: datetime | None
onset_age: int | None
onset_string: str | None
note: str | None
classmethod validate_onset_datetime(onset_datetime: datetime, info)
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]] = {'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset_age': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'onset_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'onset_string': FieldInfo(annotation=Union[str, 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 ConditionAbatementSpec(*, meta: dict = {}, abatement_datetime: datetime | None = None, abatement_age: int | None = None, abatement_string: str | None = None, note: str | None = None)

Bases: EMRResource

abatement_datetime: datetime | None
abatement_age: int | None
abatement_string: str | None
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]] = {'abatement_age': FieldInfo(annotation=Union[int, NoneType], required=False, default=None), 'abatement_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'abatement_string': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, 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 BaseConditionSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)]
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]] = {'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=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 ConditionSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, clinical_status: ~care.emr.resources.condition.spec.ClinicalStatusChoices | None = None, verification_status: ~care.emr.resources.condition.spec.VerificationStatusChoices, severity: ~care.emr.resources.condition.spec.SeverityChoices | None = None, code: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], onset: ~care.emr.resources.condition.spec.ConditionOnSetSpec = {}, abatement: ~care.emr.resources.condition.spec.ConditionAbatementSpec = {}, note: str | None = None, category: ~care.emr.resources.condition.spec.CategoryChoices)

Bases: BaseConditionSpec

clinical_status: ClinicalStatusChoices | None
verification_status: VerificationStatusChoices
severity: SeverityChoices | None
code: BoundCoding
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
onset: ConditionOnSetSpec
abatement: ConditionAbatementSpec
note: str | None
category: CategoryChoices
classmethod validate_encounter_exists(encounter)
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]] = {'abatement': FieldInfo(annotation=ConditionAbatementSpec, required=False, default={}), 'category': FieldInfo(annotation=CategoryChoices, required=True), 'clinical_status': FieldInfo(annotation=Union[ClinicalStatusChoices, NoneType], required=False, default=None), 'code': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset': FieldInfo(annotation=ConditionOnSetSpec, required=False, default={}), 'severity': FieldInfo(annotation=Union[SeverityChoices, NoneType], required=False, default=None), 'verification_status': FieldInfo(annotation=VerificationStatusChoices, 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 ConditionReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, clinical_status: str, verification_status: str, category: str, criticality: str, severity: str, code: Coding, encounter: Annotated[UUID, UuidVersion(uuid_version=4)], onset: ConditionOnSetSpec = {}, abatement: ConditionAbatementSpec = {}, created_by: UserSpec = {}, updated_by: UserSpec = {}, note: str | None = None, created_date: datetime, modified_date: datetime)

Bases: BaseConditionSpec

Validation for deeper models may not be required on read, Just an extra optimisation

clinical_status: str
verification_status: str
category: str
criticality: str
severity: str
code: Coding
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
onset: ConditionOnSetSpec
abatement: ConditionAbatementSpec
created_by: UserSpec
updated_by: UserSpec
note: str | None
created_date: datetime
modified_date: datetime
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]] = {'abatement': FieldInfo(annotation=ConditionAbatementSpec, required=False, default={}), 'category': FieldInfo(annotation=str, required=True), 'clinical_status': FieldInfo(annotation=str, required=True), 'code': FieldInfo(annotation=Coding, required=True), 'created_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'created_date': FieldInfo(annotation=datetime, required=True), 'criticality': FieldInfo(annotation=str, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'modified_date': FieldInfo(annotation=datetime, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset': FieldInfo(annotation=ConditionOnSetSpec, required=False, default={}), 'severity': FieldInfo(annotation=str, required=True), 'updated_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'verification_status': FieldInfo(annotation=str, 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 ConditionUpdateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, clinical_status: ~care.emr.resources.condition.spec.ClinicalStatusChoices | None = None, verification_status: ~care.emr.resources.condition.spec.VerificationStatusChoices, severity: ~care.emr.resources.condition.spec.SeverityChoices | None = None, code: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, onset: ~care.emr.resources.condition.spec.ConditionOnSetSpec = {}, abatement: ~care.emr.resources.condition.spec.ConditionAbatementSpec = {}, note: str | None = None)

Bases: BaseConditionSpec

clinical_status: ClinicalStatusChoices | None
verification_status: VerificationStatusChoices
severity: SeverityChoices | None
code: BoundCoding
onset: ConditionOnSetSpec
abatement: ConditionAbatementSpec
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]] = {'abatement': FieldInfo(annotation=ConditionAbatementSpec, required=False, default={}), 'clinical_status': FieldInfo(annotation=Union[ClinicalStatusChoices, NoneType], required=False, default=None), 'code': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset': FieldInfo(annotation=ConditionOnSetSpec, required=False, default={}), 'severity': FieldInfo(annotation=Union[SeverityChoices, NoneType], required=False, default=None), 'verification_status': FieldInfo(annotation=VerificationStatusChoices, 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 ChronicConditionUpdateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, clinical_status: ~care.emr.resources.condition.spec.ClinicalStatusChoices | None = None, verification_status: ~care.emr.resources.condition.spec.VerificationStatusChoices, severity: ~care.emr.resources.condition.spec.SeverityChoices | None = None, code: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, onset: ~care.emr.resources.condition.spec.ConditionOnSetSpec = {}, abatement: ~care.emr.resources.condition.spec.ConditionAbatementSpec = {}, note: str | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)])

Bases: ConditionUpdateSpec

encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
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]] = {'abatement': FieldInfo(annotation=ConditionAbatementSpec, required=False, default={}), 'clinical_status': FieldInfo(annotation=Union[ClinicalStatusChoices, NoneType], required=False, default=None), 'code': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset': FieldInfo(annotation=ConditionOnSetSpec, required=False, default={}), 'severity': FieldInfo(annotation=Union[SeverityChoices, NoneType], required=False, default=None), 'verification_status': FieldInfo(annotation=VerificationStatusChoices, 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.