care.emr.resources.specimen.spec module

class SpecimenStatusOptions(*values)

Bases: str, Enum

Status options for specimen

draft = 'draft'
available = 'available'
unavailable = 'unavailable'
unsatisfactory = 'unsatisfactory'
entered_in_error = 'entered_in_error'
class QuantitySpec(*, value: float, unit: Coding)

Bases: BaseModel

Represents a quantity with value and unit

value: float
unit: Coding
model_config: ClassVar[ConfigDict] = {}

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

class DurationSpec(*, value: int, unit: Coding)

Bases: BaseModel

Duration specification using value and unit

value: int
unit: Coding
model_config: ClassVar[ConfigDict] = {}

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

class CollectionSpec(*, collector: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, collected_date_time: ~datetime.datetime | None = None, quantity: ~care.emr.resources.specimen.spec.QuantitySpec | None = None, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, procedure: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, body_site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, fasting_status_codeable_concept: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, fasting_status_duration: ~care.emr.resources.specimen.spec.DurationSpec | None = None)

Bases: BaseModel

Specimen collection details

collector: Annotated[UUID, UuidVersion(uuid_version=4)] | None
collected_date_time: datetime | None
quantity: QuantitySpec | None
method: BoundCoding | None
procedure: Annotated[UUID, UuidVersion(uuid_version=4)] | None
body_site: BoundCoding | None
fasting_status_codeable_concept: BoundCoding | None
fasting_status_duration: DurationSpec | None
classmethod validate_collector(collector)
serialize_model()
model_config: ClassVar[ConfigDict] = {}

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

class ProcessingSpec(*, description: str, method: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, performer: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, time_date_time: str)

Bases: BaseModel

Specimen processing details

description: str
method: BoundCoding | None
performer: Annotated[UUID, UuidVersion(uuid_version=4)] | None
time_date_time: str
classmethod validate_performer(performer)
serialize_model()
model_config: ClassVar[ConfigDict] = {}

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

class BaseSpecimenSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, accession_identifier: str = '', status: ~care.emr.resources.specimen.spec.SpecimenStatusOptions, specimen_type: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, received_time: str | None = None, collection: ~care.emr.resources.specimen.spec.CollectionSpec | None = None, processing: list[~care.emr.resources.specimen.spec.ProcessingSpec] = [], condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], note: str | None = None)

Bases: EMRResource

Base model for specimen

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
accession_identifier: str
status: SpecimenStatusOptions
specimen_type: BoundCoding
received_time: str | None
collection: CollectionSpec | None
processing: list[ProcessingSpec]
condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding]
note: str | None
model_config: ClassVar[ConfigDict] = {}

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

class SpecimenUpdateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, accession_identifier: str = '', status: ~care.emr.resources.specimen.spec.SpecimenStatusOptions | None = None, specimen_type: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, received_time: str | None = None, collection: ~care.emr.resources.specimen.spec.CollectionSpec | None = None, processing: list[~care.emr.resources.specimen.spec.ProcessingSpec] = [], condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], note: str | None = None)

Bases: BaseSpecimenSpec

Specimen update specification

status: SpecimenStatusOptions | None
specimen_type: BoundCoding | None
model_config: ClassVar[ConfigDict] = {}

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

class SpecimenCreateSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, accession_identifier: str = '', status: ~care.emr.resources.specimen.spec.SpecimenStatusOptions, specimen_type: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, received_time: str | None = None, collection: ~care.emr.resources.specimen.spec.CollectionSpec | None = None, processing: list[~care.emr.resources.specimen.spec.ProcessingSpec] = [], condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], note: str | None = None, subject_patient: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], subject_encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], request: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None)

Bases: BaseSpecimenSpec

Specimen creation specification

subject_patient: Annotated[UUID, UuidVersion(uuid_version=4)]
subject_encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
request: Annotated[UUID, UuidVersion(uuid_version=4)] | None
model_config: ClassVar[ConfigDict] = {}

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

class SpecimenReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, accession_identifier: str = '', status: ~care.emr.resources.specimen.spec.SpecimenStatusOptions, specimen_type: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, received_time: str | None = None, collection: ~care.emr.resources.specimen.spec.CollectionSpec | None = None, processing: list[~care.emr.resources.specimen.spec.ProcessingSpec] = [], condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], note: str | None = None, specimen_definition: dict | None = None)

Bases: BaseSpecimenSpec

Specimen read specification

specimen_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].

class SpecimenRetrieveSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, accession_identifier: str = '', status: ~care.emr.resources.specimen.spec.SpecimenStatusOptions, specimen_type: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, received_time: str | None = None, collection: ~care.emr.resources.specimen.spec.CollectionSpec | None = None, processing: list[~care.emr.resources.specimen.spec.ProcessingSpec] = [], condition: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], note: str | None = None, specimen_definition: dict | None = None, service_request: dict | None = None)

Bases: SpecimenReadSpec

Specimen retrieve specification

service_request: 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].