care.emr.resources.allergy_intolerance.spec module

class ClinicalStatusChoices(*values)

Bases: str, Enum

active = 'active'
inactive = 'inactive'
resolved = 'resolved'
class VerificationStatusChoices(*values)

Bases: str, Enum

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

Bases: str, Enum

food = 'food'
medication = 'medication'
environment = 'environment'
biologic = 'biologic'
class CriticalityChoices(*values)

Bases: str, Enum

low = 'low'
high = 'high'
unable_to_assess = 'unable_to_assess'
class AllergyIntoleranceOnSetSpec(*, meta: dict = {}, onset_datetime: datetime = None, onset_age: int = None, onset_string: str = None, note: str)

Bases: EMRResource

onset_datetime: datetime
onset_age: int
onset_string: str
note: str
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=str, required=True), 'onset_age': FieldInfo(annotation=int, required=False, default=None), 'onset_datetime': FieldInfo(annotation=datetime, required=False, default=None), 'onset_string': FieldInfo(annotation=str, 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 AllergyIntoleranceTypeOptions(*values)

Bases: str, Enum

allergy = 'allergy'
intolerance = 'intolerance'
class BaseAllergyIntoleranceSpec(*, 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 AllergyIntoleranceUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, clinical_status: ClinicalStatusChoices, verification_status: VerificationStatusChoices, criticality: CriticalityChoices, last_occurrence: datetime | None = None, note: str | None = None, encounter: Annotated[UUID, UuidVersion(uuid_version=4)], allergy_intolerance_type: AllergyIntoleranceTypeOptions = AllergyIntoleranceTypeOptions.allergy)

Bases: BaseAllergyIntoleranceSpec

clinical_status: ClinicalStatusChoices
verification_status: VerificationStatusChoices
criticality: CriticalityChoices
last_occurrence: datetime | None
note: str | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
allergy_intolerance_type: AllergyIntoleranceTypeOptions
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]] = {'allergy_intolerance_type': FieldInfo(annotation=AllergyIntoleranceTypeOptions, required=False, default=<AllergyIntoleranceTypeOptions.allergy: 'allergy'>), 'clinical_status': FieldInfo(annotation=ClinicalStatusChoices, required=True), 'criticality': FieldInfo(annotation=CriticalityChoices, 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)]), 'last_occurrence': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, 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 AllergyIntoleranceWriteSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, clinical_status: ~care.emr.resources.allergy_intolerance.spec.ClinicalStatusChoices, verification_status: ~care.emr.resources.allergy_intolerance.spec.VerificationStatusChoices, category: ~care.emr.resources.allergy_intolerance.spec.CategoryChoices, criticality: ~care.emr.resources.allergy_intolerance.spec.CriticalityChoices, last_occurrence: ~datetime.datetime | None = None, recorded_date: ~datetime.datetime | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], code: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, onset: ~care.emr.resources.allergy_intolerance.spec.AllergyIntoleranceOnSetSpec = {}, allergy_intolerance_type: ~care.emr.resources.allergy_intolerance.spec.AllergyIntoleranceTypeOptions = AllergyIntoleranceTypeOptions.allergy, note: str | None = None)

Bases: BaseAllergyIntoleranceSpec

clinical_status: ClinicalStatusChoices
verification_status: VerificationStatusChoices
category: CategoryChoices
criticality: CriticalityChoices
last_occurrence: datetime | None
recorded_date: datetime | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
code: BoundCoding
onset: AllergyIntoleranceOnSetSpec
allergy_intolerance_type: AllergyIntoleranceTypeOptions
note: str | None
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]] = {'allergy_intolerance_type': FieldInfo(annotation=AllergyIntoleranceTypeOptions, required=False, default=<AllergyIntoleranceTypeOptions.allergy: 'allergy'>), 'category': FieldInfo(annotation=CategoryChoices, required=True), 'clinical_status': FieldInfo(annotation=ClinicalStatusChoices, required=True), 'code': FieldInfo(annotation=ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, required=True), 'criticality': FieldInfo(annotation=CriticalityChoices, 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)]), 'last_occurrence': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'onset': FieldInfo(annotation=AllergyIntoleranceOnSetSpec, required=False, default={}), 'recorded_date': FieldInfo(annotation=Union[datetime, 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 AllergyIntoleranceReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, clinical_status: str, verification_status: str, category: str, criticality: str, code: ~care.emr.resources.common.coding.Coding, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], onset: ~care.emr.resources.allergy_intolerance.spec.AllergyIntoleranceOnSetSpec = <class 'dict'>, last_occurrence: ~datetime.datetime | None = None, recorded_date: ~datetime.datetime | None = None, created_by: dict = {}, updated_by: dict = {}, note: str | None = None, allergy_intolerance_type: str, created_date: ~datetime.datetime, modified_date: ~datetime.datetime)

Bases: BaseAllergyIntoleranceSpec

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

clinical_status: str
verification_status: str
category: str
criticality: str
code: Coding
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
onset: AllergyIntoleranceOnSetSpec
last_occurrence: datetime | None
recorded_date: datetime | None
created_by: dict
updated_by: dict
note: str | None
allergy_intolerance_type: str
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]] = {'allergy_intolerance_type': FieldInfo(annotation=str, required=True), 'category': FieldInfo(annotation=str, required=True), 'clinical_status': FieldInfo(annotation=str, required=True), 'code': FieldInfo(annotation=Coding, required=True), 'created_by': FieldInfo(annotation=dict, 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)]), 'last_occurrence': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), '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=AllergyIntoleranceOnSetSpec, required=False, default=<class 'dict'>), 'recorded_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'updated_by': FieldInfo(annotation=dict, 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.