care.emr.resources.specimen_definition.spec module

class SpecimenDefinitionStatusOptions(*values)

Bases: str, Enum

Status options for specimen definition

draft = 'draft'
active = 'active'
retired = 'retired'
class PreferenceOptions(*values)

Bases: str, Enum

Preference options for specimen type testing

preferred = 'preferred'
alternate = 'alternate'
class HandlingConditionOptions(*values)

Bases: str, Enum

Handling condition options for specimen testing

room = 'room'
refrigerated = 'refrigerated'
frozen = 'frozen'
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 MinimumVolumeSpec(*, quantity: QuantitySpec | None = None, string: str | None = None)

Bases: BaseModel

Specification for minimum volume with support for quantity or string representation

quantity: QuantitySpec | None
string: str | None
validate_minimum_volume()

Validates that only one minimum volume field is provided

model_config: ClassVar[ConfigDict] = {}

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

class ContainerSpec(*, description: str | None = None, capacity: ~care.emr.resources.specimen_definition.spec.QuantitySpec | None = None, minimum_volume: ~care.emr.resources.specimen_definition.spec.MinimumVolumeSpec | None = None, cap: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, preparation: str | None = None)

Bases: BaseModel

Container specification for specimen collection

description: str | None
capacity: QuantitySpec | None
minimum_volume: MinimumVolumeSpec | None
cap: BoundCoding | None
preparation: str | None
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 RangeSpec(*, low: QuantitySpec | None = None, high: QuantitySpec | None = None)

Bases: BaseModel

Specification for a range with low and high values

low: QuantitySpec | None
high: QuantitySpec | None
model_config: ClassVar[ConfigDict] = {}

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

class HandlingSpec(*, temperature_qualifier: HandlingConditionOptions | None = None, temperature_range: RangeSpec | None = None, max_duration: DurationSpec | None = None, instruction: str | None = None)

Bases: BaseModel

Specification for specimen handling

temperature_qualifier: HandlingConditionOptions | None
temperature_range: RangeSpec | None
max_duration: DurationSpec | None
instruction: str | None
model_config: ClassVar[ConfigDict] = {}

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

class TypeTestedSpec(*, is_derived: bool, preference: PreferenceOptions, container: ContainerSpec | None = None, requirement: str | None = None, retention_time: DurationSpec | None = None, single_use: bool | None = None, handling: HandlingSpec | None = None)

Bases: BaseModel

Specification for tested specimen types

is_derived: bool
preference: PreferenceOptions
container: ContainerSpec | None
requirement: str | None
retention_time: DurationSpec | None
single_use: bool | None
handling: HandlingSpec | None
model_config: ClassVar[ConfigDict] = {}

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

class BaseSpecimenDefinitionSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, title: str, derived_from_uri: str | None = None, status: ~care.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions, description: str, type_collected: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, patient_preparation: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], collection: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, type_tested: ~care.emr.resources.specimen_definition.spec.TypeTestedSpec | None = None)

Bases: EMRResource

Base model for specimen definition

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
title: str
derived_from_uri: str | None
status: SpecimenDefinitionStatusOptions
description: str
type_collected: BoundCoding
patient_preparation: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding]
collection: BoundCoding | None
type_tested: TypeTestedSpec | None
model_config: ClassVar[ConfigDict] = {}

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

class SpecimenDefinitionWriteSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, title: str, derived_from_uri: str | None = None, status: ~care.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions, description: str, type_collected: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, patient_preparation: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], collection: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, type_tested: ~care.emr.resources.specimen_definition.spec.TypeTestedSpec | None = None, slug_value: ~typing.Annotated[str, ~annotated_types.MinLen(min_length=5), ~annotated_types.MaxLen(max_length=36), ~pydantic.functional_validators.AfterValidator(func=~care.emr.utils.slug_type.slug_validator)])

Bases: BaseSpecimenDefinitionSpec

slug_value: Annotated[str, FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=5), MaxLen(max_length=36)]), AfterValidator(func=slug_validator)]
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 SpecimenDefinitionReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, title: str, derived_from_uri: str | None = None, status: ~care.emr.resources.specimen_definition.spec.SpecimenDefinitionStatusOptions, description: str, type_collected: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, patient_preparation: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] = [], collection: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, type_tested: ~care.emr.resources.specimen_definition.spec.TypeTestedSpec | None = None, version: int | None = None, slug_config: dict, slug: str)

Bases: BaseSpecimenDefinitionSpec

Specimen definition read specification

version: int | None
slug_config: dict
slug: str
classmethod perform_extra_serialization(mapping, obj)
model_config: ClassVar[ConfigDict] = {}

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