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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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

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_config: ClassVar[ConfigDict] = {}

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