care.emr.resources.medication.administration.spec module

class MedicationAdministrationStatus(*values)

Bases: str, Enum

completed = 'completed'
not_done = 'not_done'
entered_in_error = 'entered_in_error'
stopped = 'stopped'
in_progress = 'in_progress'
on_hold = 'on_hold'
unknown = 'unknown'
cancelled = 'cancelled'
class MedicationAdministrationCategory(*values)

Bases: str, Enum

inpatient = 'inpatient'
outpatient = 'outpatient'
community = 'community'
discharge = 'discharge'
class MedicationAdministrationPerformerFunction(*values)

Bases: str, Enum

performer = 'performer'
verifier = 'verifier'
witness = 'witness'
class MedicationAdministrationPerformer(*, actor: Annotated[UUID, UuidVersion(uuid_version=4)], function: MedicationAdministrationPerformerFunction | None)

Bases: BaseModel

actor: Annotated[UUID, UuidVersion(uuid_version=4)]
function: MedicationAdministrationPerformerFunction | None
classmethod validate_actor_exists(actor)
model_config: ClassVar[ConfigDict] = {}

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

class Dosage(*, text: str | None = None, site: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, route: ~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, dose: ~care.emr.resources.common.quantity.Quantity | None = None, rate: ~care.emr.resources.common.quantity.Quantity | None = None)

Bases: BaseModel

text: str | None
site: BoundCoding | None
route: BoundCoding | None
method: BoundCoding | None
dose: Quantity | None
rate: Quantity | None
model_config: ClassVar[ConfigDict] = {}

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

class BaseMedicationAdministrationSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.administration.spec.MedicationAdministrationStatus, status_reason: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, category: ~care.emr.resources.medication.administration.spec.MedicationAdministrationCategory | None = None, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, authored_on: ~datetime.datetime | None = None, occurrence_period_start: ~datetime.datetime, occurrence_period_end: ~datetime.datetime | None = None, recorded: ~datetime.datetime | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], request: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], performer: list[~care.emr.resources.medication.administration.spec.MedicationAdministrationPerformer] | None = None, dosage: ~care.emr.resources.medication.administration.spec.Dosage | None = None, note: str | None = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)]
status: MedicationAdministrationStatus
status_reason: BoundCoding | None
category: MedicationAdministrationCategory | None
medication: BoundCoding | None
authored_on: datetime | None
occurrence_period_start: datetime
occurrence_period_end: datetime | None
recorded: datetime | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
request: Annotated[UUID, UuidVersion(uuid_version=4)]
performer: list[MedicationAdministrationPerformer] | None
dosage: Dosage | None
note: str | None
model_config: ClassVar[ConfigDict] = {}

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

class MedicationAdministrationSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.administration.spec.MedicationAdministrationStatus, status_reason: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, category: ~care.emr.resources.medication.administration.spec.MedicationAdministrationCategory | None = None, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, authored_on: ~datetime.datetime | None = None, occurrence_period_start: ~datetime.datetime, occurrence_period_end: ~datetime.datetime | None = None, recorded: ~datetime.datetime | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], request: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], performer: list[~care.emr.resources.medication.administration.spec.MedicationAdministrationPerformer] | None = None, dosage: ~care.emr.resources.medication.administration.spec.Dosage | None = None, note: str | None = None, administered_product: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None)

Bases: BaseMedicationAdministrationSpec

administered_product: Annotated[UUID, UuidVersion(uuid_version=4)] | None
classmethod validate_encounter_exists(encounter)
classmethod validate_request(request)
validate_administered_product()
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 MedicationAdministrationUpdateSpec(*, meta: dict = {}, status: MedicationAdministrationStatus, note: str | None = None, occurrence_period_end: datetime | None = None)

Bases: EMRResource

status: MedicationAdministrationStatus
note: str | None
occurrence_period_end: datetime | None
model_config: ClassVar[ConfigDict] = {}

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

class MedicationAdministrationReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.administration.spec.MedicationAdministrationStatus, status_reason: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, category: ~care.emr.resources.medication.administration.spec.MedicationAdministrationCategory | None = None, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, authored_on: ~datetime.datetime | None = None, occurrence_period_start: ~datetime.datetime, occurrence_period_end: ~datetime.datetime | None = None, recorded: ~datetime.datetime | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], request: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)], performer: list[~care.emr.resources.medication.administration.spec.MedicationAdministrationPerformer] | None = None, dosage: ~care.emr.resources.medication.administration.spec.Dosage | None = None, note: str | None = None, created_by: ~care.emr.resources.user.spec.UserSpec = <class 'dict'>, created_date: ~datetime.datetime, modified_date: ~datetime.datetime, administered_product: dict | None = None)

Bases: BaseMedicationAdministrationSpec

created_by: UserSpec
created_date: datetime
modified_date: datetime
administered_product: 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].