care.emr.resources.medication.administration.spec module¶
- class MedicationAdministrationStatus(*values)¶
-
- 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)¶
-
- inpatient = 'inpatient'¶
- outpatient = 'outpatient'¶
- community = 'community'¶
- discharge = 'discharge'¶
- class MedicationAdministrationPerformerFunction(*values)¶
-
- performer = 'performer'¶
- verifier = 'verifier'¶
- witness = 'witness'¶
- class MedicationAdministrationPerformer(*, actor: Annotated[UUID, UuidVersion(uuid_version=4)], function: MedicationAdministrationPerformerFunction | None)¶
Bases:
BaseModel
- function: MedicationAdministrationPerformerFunction | None¶
- classmethod validate_actor_exists(actor)¶
- 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]] = {'actor': FieldInfo(annotation=UUID, required=True, description='The user who performed the administration', metadata=[UuidVersion(uuid_version=4)]), 'function': FieldInfo(annotation=Union[MedicationAdministrationPerformerFunction, NoneType], required=True, description='The function of the performer')}¶
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 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
- site: BoundCoding | None¶
- route: BoundCoding | None¶
- method: BoundCoding | 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]] = {'dose': FieldInfo(annotation=Union[Quantity, NoneType], required=False, default=None, description='The amount of medication administered'), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'rate': FieldInfo(annotation=Union[Quantity, NoneType], required=False, default=None, description='The speed of administration'), 'route': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'site': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'text': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Free text dosage instructions')}¶
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 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
- status: MedicationAdministrationStatus¶
- status_reason: BoundCoding | None¶
- category: MedicationAdministrationCategory | None¶
- medication: BoundCoding | None¶
- performer: list[MedicationAdministrationPerformer] | 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]] = {'authored_on': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When request was initially authored'), 'category': FieldInfo(annotation=Union[MedicationAdministrationCategory, NoneType], required=False, default=None), 'dosage': FieldInfo(annotation=Union[Dosage, NoneType], required=False, default=None, description='The dosage of the medication'), 'encounter': FieldInfo(annotation=UUID, required=True, description='The encounter where the administration was noted', metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'medication': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'occurrence_period_end': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'occurrence_period_start': FieldInfo(annotation=datetime, required=True, description='When the medication was administration started'), 'performer': FieldInfo(annotation=Union[list[MedicationAdministrationPerformer], NoneType], required=False, default=None, description='Who administered the medication'), 'recorded': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When administration was recorded'), 'request': FieldInfo(annotation=UUID, required=True, description='The medication request under which the administration was made', metadata=[UuidVersion(uuid_version=4)]), 'status': FieldInfo(annotation=MedicationAdministrationStatus, required=True), 'status_reason': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, 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 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
- classmethod validate_encounter_exists(encounter)¶
- classmethod validate_request(request)¶
- validate_administered_product()¶
- 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]] = {'administered_product': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'authored_on': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When request was initially authored'), 'category': FieldInfo(annotation=Union[MedicationAdministrationCategory, NoneType], required=False, default=None), 'dosage': FieldInfo(annotation=Union[Dosage, NoneType], required=False, default=None, description='The dosage of the medication'), 'encounter': FieldInfo(annotation=UUID, required=True, description='The encounter where the administration was noted', metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'medication': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'occurrence_period_end': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'occurrence_period_start': FieldInfo(annotation=datetime, required=True, description='When the medication was administration started'), 'performer': FieldInfo(annotation=Union[list[MedicationAdministrationPerformer], NoneType], required=False, default=None, description='Who administered the medication'), 'recorded': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When administration was recorded'), 'request': FieldInfo(annotation=UUID, required=True, description='The medication request under which the administration was made', metadata=[UuidVersion(uuid_version=4)]), 'status': FieldInfo(annotation=MedicationAdministrationStatus, required=True), 'status_reason': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, 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 MedicationAdministrationUpdateSpec(*, meta: dict = {}, status: MedicationAdministrationStatus, note: str | None = None, occurrence_period_end: datetime | None = None)¶
Bases:
EMRResource
- status: MedicationAdministrationStatus¶
- 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]] = {'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'occurrence_period_end': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationAdministrationStatus, 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 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
- 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]] = {'administered_product': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'authored_on': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When request was initially authored'), 'category': FieldInfo(annotation=Union[MedicationAdministrationCategory, NoneType], required=False, default=None), 'created_by': FieldInfo(annotation=UserSpec, required=False, default=<class 'dict'>), 'created_date': FieldInfo(annotation=datetime, required=True), 'dosage': FieldInfo(annotation=Union[Dosage, NoneType], required=False, default=None, description='The dosage of the medication'), 'encounter': FieldInfo(annotation=UUID, required=True, description='The encounter where the administration was noted', metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'medication': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'modified_date': FieldInfo(annotation=datetime, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'occurrence_period_end': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'occurrence_period_start': FieldInfo(annotation=datetime, required=True, description='When the medication was administration started'), 'performer': FieldInfo(annotation=Union[list[MedicationAdministrationPerformer], NoneType], required=False, default=None, description='Who administered the medication'), 'recorded': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None, description='When administration was recorded'), 'request': FieldInfo(annotation=UUID, required=True, description='The medication request under which the administration was made', metadata=[UuidVersion(uuid_version=4)]), 'status': FieldInfo(annotation=MedicationAdministrationStatus, required=True), 'status_reason': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, 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.