care.emr.resources.medication.dispense.spec module

class MedicationDispenseStatus(*values)

Bases: str, Enum

preparation = 'preparation'
in_progress = 'in_progress'
cancelled = 'cancelled'
on_hold = 'on_hold'
completed = 'completed'
entered_in_error = 'entered_in_error'
stopped = 'stopped'
declined = 'declined'
class MedicationDispenseNotPerformedReason(*values)

Bases: str, Enum

outofstock = 'outofstock'
washout = 'washout'
surg = 'surg'
sintol = 'sintol'
sddi = 'sddi'
sdupther = 'sdupther'
saig = 'saig'
preg = 'preg'
class MedicationDispenseCategory(*values)

Bases: str, Enum

inpatient = 'inpatient'
outpatient = 'outpatient'
community = 'community'
class SubstitutionType(*values)

Bases: str, Enum

E = 'E'
EC = 'EC'
BC = 'BC'
G = 'G'
TE = 'TE'
TB = 'TB'
TG = 'TG'
F = 'F'
N = 'N'
class SubstitutionReason(*values)

Bases: str, Enum

CT = 'CT'
FP = 'FP'
OS = 'OS'
RR = 'RR'
class MedicationDispenseSubstitution(*, was_substituted: bool, substitution_type: SubstitutionType, reason: SubstitutionReason)

Bases: BaseModel

was_substituted: bool
substitution_type: SubstitutionType
reason: SubstitutionReason
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]] = {'reason': FieldInfo(annotation=SubstitutionReason, required=True), 'substitution_type': FieldInfo(annotation=SubstitutionType, required=True), 'was_substituted': FieldInfo(annotation=bool, 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 BaseMedicationDispenseSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, status: MedicationDispenseStatus, not_performed_reason: MedicationDispenseNotPerformedReason | None = None, category: MedicationDispenseCategory | None = None, when_prepared: datetime | None = None, when_handed_over: datetime | None = None, note: str | None = None, dosage_instruction: list[DosageInstruction] = [], substitution: MedicationDispenseSubstitution | None = None)

Bases: EMRResource

id: Annotated[UUID, UuidVersion(uuid_version=4)]
status: MedicationDispenseStatus
not_performed_reason: MedicationDispenseNotPerformedReason | None
category: MedicationDispenseCategory | None
when_prepared: datetime | None
when_handed_over: datetime | None
note: str | None
dosage_instruction: list[DosageInstruction]
substitution: MedicationDispenseSubstitution | 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]] = {'category': FieldInfo(annotation=Union[MedicationDispenseCategory, NoneType], required=False, default=None), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=False, default=[]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'not_performed_reason': FieldInfo(annotation=Union[MedicationDispenseNotPerformedReason, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationDispenseStatus, required=True), 'substitution': FieldInfo(annotation=Union[MedicationDispenseSubstitution, NoneType], required=False, default=None), 'when_handed_over': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'when_prepared': FieldInfo(annotation=Union[datetime, 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 MedicationDispenseWriteSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, status: MedicationDispenseStatus, not_performed_reason: MedicationDispenseNotPerformedReason | None = None, category: MedicationDispenseCategory | None = None, when_prepared: datetime | None = None, when_handed_over: datetime | None = None, note: str | None = None, dosage_instruction: list[DosageInstruction] = [], substitution: MedicationDispenseSubstitution | None = None, encounter: Annotated[UUID, UuidVersion(uuid_version=4)], location: Annotated[UUID, UuidVersion(uuid_version=4)], authorizing_request: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, item: Annotated[UUID, UuidVersion(uuid_version=4)], quantity: float, days_supply: float | None = None, fully_dispensed: bool | None = None, order: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: BaseMedicationDispenseSpec

encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
location: Annotated[UUID, UuidVersion(uuid_version=4)]
authorizing_request: Annotated[UUID, UuidVersion(uuid_version=4)] | None
item: Annotated[UUID, UuidVersion(uuid_version=4)]
quantity: float
days_supply: float | None
fully_dispensed: bool | None
order: Annotated[UUID, UuidVersion(uuid_version=4)] | None
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]] = {'authorizing_request': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[MedicationDispenseCategory, NoneType], required=False, default=None), 'days_supply': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=False, default=[]), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'fully_dispensed': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'item': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'location': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'not_performed_reason': FieldInfo(annotation=Union[MedicationDispenseNotPerformedReason, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'order': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'quantity': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=MedicationDispenseStatus, required=True), 'substitution': FieldInfo(annotation=Union[MedicationDispenseSubstitution, NoneType], required=False, default=None), 'when_handed_over': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'when_prepared': FieldInfo(annotation=Union[datetime, 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 MedicationDispenseUpdateSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, status: MedicationDispenseStatus, not_performed_reason: MedicationDispenseNotPerformedReason | None = None, category: MedicationDispenseCategory | None = None, when_prepared: datetime | None = None, when_handed_over: datetime | None = None, note: str | None = None, dosage_instruction: list[DosageInstruction] = [], substitution: MedicationDispenseSubstitution | None = None, fully_dispensed: bool | None = None, order: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: BaseMedicationDispenseSpec

fully_dispensed: bool | None
order: Annotated[UUID, UuidVersion(uuid_version=4)] | None
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]] = {'category': FieldInfo(annotation=Union[MedicationDispenseCategory, NoneType], required=False, default=None), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=False, default=[]), 'fully_dispensed': FieldInfo(annotation=Union[bool, NoneType], required=False, default=None), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'not_performed_reason': FieldInfo(annotation=Union[MedicationDispenseNotPerformedReason, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'order': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationDispenseStatus, required=True), 'substitution': FieldInfo(annotation=Union[MedicationDispenseSubstitution, NoneType], required=False, default=None), 'when_handed_over': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'when_prepared': FieldInfo(annotation=Union[datetime, 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 MedicationDispenseReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] = None, status: MedicationDispenseStatus, not_performed_reason: MedicationDispenseNotPerformedReason | None = None, category: MedicationDispenseCategory | None = None, when_prepared: datetime | None = None, when_handed_over: datetime | None = None, note: str | None = None, dosage_instruction: list[DosageInstruction] = [], substitution: MedicationDispenseSubstitution | None = None, item: dict, charge_item: dict | None = None, created_date: datetime, modified_date: datetime, location: dict, quantity: float, authorizing_request: dict | None = None)

Bases: BaseMedicationDispenseSpec

item: dict
charge_item: dict | None
created_date: datetime
modified_date: datetime
location: dict
quantity: float
authorizing_request: dict | None
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]] = {'authorizing_request': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'category': FieldInfo(annotation=Union[MedicationDispenseCategory, NoneType], required=False, default=None), 'charge_item': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'created_date': FieldInfo(annotation=datetime, required=True), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=False, default=[]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'item': FieldInfo(annotation=dict, required=True), 'location': FieldInfo(annotation=dict, required=True), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'modified_date': FieldInfo(annotation=datetime, required=True), 'not_performed_reason': FieldInfo(annotation=Union[MedicationDispenseNotPerformedReason, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'quantity': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=MedicationDispenseStatus, required=True), 'substitution': FieldInfo(annotation=Union[MedicationDispenseSubstitution, NoneType], required=False, default=None), 'when_handed_over': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'when_prepared': FieldInfo(annotation=Union[datetime, 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.