care.emr.resources.observation.spec module

class ObservationStatus(*values)

Bases: str, Enum

final = 'final'
amended = 'amended'
entered_in_error = 'entered_in_error'
class PerformerType(*values)

Bases: str, Enum

related_person = 'related_person'
user = 'user'
class Performer(*, type: PerformerType, id: str)

Bases: BaseModel

type: PerformerType
id: 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]] = {'id': FieldInfo(annotation=str, required=True), 'type': FieldInfo(annotation=PerformerType, 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 ReferenceRange(*, min: float | None = None, max: float | None = None, unit: str | None = None, interpretation: str, value: str | None = None)

Bases: BaseModel

min: float | None
max: float | None
unit: str | None
interpretation: str
value: 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]] = {'interpretation': FieldInfo(annotation=str, required=True), 'max': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'min': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'unit': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'value': 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 Component(*, value: QuestionnaireSubmitResultValue, interpretation: str | None = None, reference_range: list[ReferenceRange] = [], code: Coding | None = None, note: str = '')

Bases: BaseModel

value: QuestionnaireSubmitResultValue
interpretation: str | None
reference_range: list[ReferenceRange]
code: Coding | None
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]] = {'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'note': FieldInfo(annotation=str, required=False, default=''), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'value': FieldInfo(annotation=QuestionnaireSubmitResultValue, 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 BaseObservationSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.observation.spec.ObservationStatus, category: ~care.emr.resources.common.coding.Coding | None = None, main_code: ~care.emr.resources.common.coding.Coding | None = None, alternate_coding: ~care.emr.resources.common.codable_concept.CodeableConcept | None = None, subject_type: ~care.emr.resources.questionnaire.spec.SubjectType = 'encounter', encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, effective_datetime: ~datetime.datetime, performer: ~care.emr.resources.observation.spec.Performer | None = None, value_type: ~care.emr.resources.questionnaire.spec.QuestionType, value: ~care.emr.resources.questionnaire_response.spec.QuestionnaireSubmitResultValue, note: str | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, reference_range: list[~care.emr.resources.observation.spec.ReferenceRange] = [], interpretation: str | None = None, parent: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, questionnaire_response: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, component: list[~care.emr.resources.observation.spec.Component] = [])

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
status: ObservationStatus
category: Coding | None
main_code: Coding | None
alternate_coding: CodeableConcept | None
subject_type: SubjectType
encounter: Annotated[UUID, UuidVersion(uuid_version=4)] | None
effective_datetime: datetime
performer: Performer | None
value_type: QuestionType
value: QuestionnaireSubmitResultValue
note: str | None
body_site: BoundCoding | None
method: BoundCoding | None
reference_range: list[ReferenceRange]
interpretation: str | None
parent: Annotated[UUID, UuidVersion(uuid_version=4)] | None
questionnaire_response: Annotated[UUID, UuidVersion(uuid_version=4)] | None
component: list[Component]
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]] = {'alternate_coding': FieldInfo(annotation=Union[CodeableConcept, NoneType], required=False, default=None), 'body_site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'component': FieldInfo(annotation=list[Component], required=False, default=[]), 'effective_datetime': FieldInfo(annotation=datetime, required=True), '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 ID in the system'), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'main_code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'performer': FieldInfo(annotation=Union[Performer, NoneType], required=False, default=None), 'questionnaire_response': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'status': FieldInfo(annotation=ObservationStatus, required=True, description='Status of the observation (final or amended)'), 'subject_type': FieldInfo(annotation=SubjectType, required=False, default='encounter'), 'value': FieldInfo(annotation=QuestionnaireSubmitResultValue, required=True), 'value_type': FieldInfo(annotation=QuestionType, 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 ObservationUpdateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.observation.spec.ObservationStatus, category: ~care.emr.resources.common.coding.Coding | None = None, main_code: ~care.emr.resources.common.coding.Coding | None = None, alternate_coding: ~care.emr.resources.common.codable_concept.CodeableConcept | None = None, subject_type: ~care.emr.resources.questionnaire.spec.SubjectType = 'encounter', encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, effective_datetime: ~datetime.datetime | None = None, performer: ~care.emr.resources.observation.spec.Performer | None = None, value_type: ~care.emr.resources.questionnaire.spec.QuestionType, value: ~care.emr.resources.questionnaire_response.spec.QuestionnaireSubmitResultValue | None = None, note: str | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, reference_range: list[~care.emr.resources.observation.spec.ReferenceRange] = [], interpretation: str | None = None, parent: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, questionnaire_response: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, component: list[~care.emr.resources.observation.spec.Component] = [])

Bases: BaseObservationSpec

effective_datetime: datetime | None
value: QuestionnaireSubmitResultValue | 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]] = {'alternate_coding': FieldInfo(annotation=Union[CodeableConcept, NoneType], required=False, default=None), 'body_site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'component': FieldInfo(annotation=list[Component], required=False, default=[]), 'effective_datetime': FieldInfo(annotation=Union[datetime, 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 ID in the system'), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'main_code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'performer': FieldInfo(annotation=Union[Performer, NoneType], required=False, default=None), 'questionnaire_response': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'status': FieldInfo(annotation=ObservationStatus, required=True, description='Status of the observation (final or amended)'), 'subject_type': FieldInfo(annotation=SubjectType, required=False, default='encounter'), 'value': FieldInfo(annotation=Union[QuestionnaireSubmitResultValue, NoneType], required=False, default=None), 'value_type': FieldInfo(annotation=QuestionType, 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 ObservationSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.observation.spec.ObservationStatus, category: ~care.emr.resources.common.coding.Coding | None = None, main_code: ~care.emr.resources.common.coding.Coding | None = None, alternate_coding: ~care.emr.resources.common.codable_concept.CodeableConcept | None = None, subject_type: ~care.emr.resources.questionnaire.spec.SubjectType = 'encounter', encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, effective_datetime: ~datetime.datetime, performer: ~care.emr.resources.observation.spec.Performer | None = None, value_type: ~care.emr.resources.questionnaire.spec.QuestionType, value: ~care.emr.resources.questionnaire_response.spec.QuestionnaireSubmitResultValue, note: str | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, reference_range: list[~care.emr.resources.observation.spec.ReferenceRange] = [], interpretation: str | None = None, parent: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, questionnaire_response: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, component: list[~care.emr.resources.observation.spec.Component] = [], data_entered_by_id: int, created_by_id: int, updated_by_id: int)

Bases: BaseObservationSpec

data_entered_by_id: int
created_by_id: int
updated_by_id: int
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]] = {'alternate_coding': FieldInfo(annotation=Union[CodeableConcept, NoneType], required=False, default=None), 'body_site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'component': FieldInfo(annotation=list[Component], required=False, default=[]), 'created_by_id': FieldInfo(annotation=int, required=True), 'data_entered_by_id': FieldInfo(annotation=int, required=True), 'effective_datetime': FieldInfo(annotation=datetime, required=True), '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 ID in the system'), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'main_code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'performer': FieldInfo(annotation=Union[Performer, NoneType], required=False, default=None), 'questionnaire_response': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'status': FieldInfo(annotation=ObservationStatus, required=True, description='Status of the observation (final or amended)'), 'subject_type': FieldInfo(annotation=SubjectType, required=False, default='encounter'), 'updated_by_id': FieldInfo(annotation=int, required=True), 'value': FieldInfo(annotation=QuestionnaireSubmitResultValue, required=True), 'value_type': FieldInfo(annotation=QuestionType, 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 ObservationReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.observation.spec.ObservationStatus, category: ~care.emr.resources.common.coding.Coding | None = None, main_code: ~care.emr.resources.common.coding.Coding | None = None, alternate_coding: ~care.emr.resources.common.codable_concept.CodeableConcept | None = None, subject_type: ~care.emr.resources.questionnaire.spec.SubjectType = 'encounter', encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, effective_datetime: ~datetime.datetime, performer: ~care.emr.resources.observation.spec.Performer | None = None, value_type: ~care.emr.resources.questionnaire.spec.QuestionType, value: ~care.emr.resources.questionnaire_response.spec.QuestionnaireSubmitResultValue, note: str | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, reference_range: list[~care.emr.resources.observation.spec.ReferenceRange] = [], interpretation: str | None = None, parent: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, questionnaire_response: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, component: list[~care.emr.resources.observation.spec.Component] = [], created_by: ~care.emr.resources.user.spec.UserSpec = {}, updated_by: ~care.emr.resources.user.spec.UserSpec = {}, data_entered_by: ~care.emr.resources.user.spec.UserSpec | None = None)

Bases: BaseObservationSpec

created_by: UserSpec
updated_by: UserSpec
data_entered_by: UserSpec | None
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]] = {'alternate_coding': FieldInfo(annotation=Union[CodeableConcept, NoneType], required=False, default=None), 'body_site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'component': FieldInfo(annotation=list[Component], required=False, default=[]), 'created_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'data_entered_by': FieldInfo(annotation=Union[UserSpec, NoneType], required=False, default=None), 'effective_datetime': FieldInfo(annotation=datetime, required=True), '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 ID in the system'), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'main_code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'performer': FieldInfo(annotation=Union[Performer, NoneType], required=False, default=None), 'questionnaire_response': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'status': FieldInfo(annotation=ObservationStatus, required=True, description='Status of the observation (final or amended)'), 'subject_type': FieldInfo(annotation=SubjectType, required=False, default='encounter'), 'updated_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'value': FieldInfo(annotation=QuestionnaireSubmitResultValue, required=True), 'value_type': FieldInfo(annotation=QuestionType, 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 ObservationRetrieveSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, status: ~care.emr.resources.observation.spec.ObservationStatus, category: ~care.emr.resources.common.coding.Coding | None = None, main_code: ~care.emr.resources.common.coding.Coding | None = None, alternate_coding: ~care.emr.resources.common.codable_concept.CodeableConcept | None = None, subject_type: ~care.emr.resources.questionnaire.spec.SubjectType = 'encounter', encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, effective_datetime: ~datetime.datetime, performer: ~care.emr.resources.observation.spec.Performer | None = None, value_type: ~care.emr.resources.questionnaire.spec.QuestionType, value: ~care.emr.resources.questionnaire_response.spec.QuestionnaireSubmitResultValue, note: str | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, reference_range: list[~care.emr.resources.observation.spec.ReferenceRange] = [], interpretation: str | None = None, parent: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, questionnaire_response: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, component: list[~care.emr.resources.observation.spec.Component] = [], created_by: ~care.emr.resources.user.spec.UserSpec = {}, updated_by: ~care.emr.resources.user.spec.UserSpec = {}, data_entered_by: ~care.emr.resources.user.spec.UserSpec | None = None, observation_definition: dict | None = None)

Bases: ObservationReadSpec

observation_definition: dict | None
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]] = {'alternate_coding': FieldInfo(annotation=Union[CodeableConcept, NoneType], required=False, default=None), 'body_site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'component': FieldInfo(annotation=list[Component], required=False, default=[]), 'created_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'data_entered_by': FieldInfo(annotation=Union[UserSpec, NoneType], required=False, default=None), 'effective_datetime': FieldInfo(annotation=datetime, required=True), '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 ID in the system'), 'interpretation': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'main_code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'observation_definition': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'parent': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'performer': FieldInfo(annotation=Union[Performer, NoneType], required=False, default=None), 'questionnaire_response': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'reference_range': FieldInfo(annotation=list[ReferenceRange], required=False, default=[]), 'status': FieldInfo(annotation=ObservationStatus, required=True, description='Status of the observation (final or amended)'), 'subject_type': FieldInfo(annotation=SubjectType, required=False, default='encounter'), 'updated_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'value': FieldInfo(annotation=QuestionnaireSubmitResultValue, required=True), 'value_type': FieldInfo(annotation=QuestionType, 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.