care.emr.resources.medication.request.spec module

class MedicationRequestStatus(*values)

Bases: str, Enum

active = 'active'
on_hold = 'on_hold'
ended = 'ended'
stopped = 'stopped'
completed = 'completed'
cancelled = 'cancelled'
entered_in_error = 'entered_in_error'
draft = 'draft'
unknown = 'unknown'
class StatusReason(*values)

Bases: str, Enum

alt_choice = 'altchoice'
clarif = 'clarif'
drughigh = 'drughigh'
hospadm = 'hospadm'
labint = 'labint'
non_avail = 'non_avail'
preg = 'preg'
salg = 'salg'
sddi = 'sddi'
sdupther = 'sdupther'
sintol = 'sintol'
surg = 'surg'
washout = 'washout'
class MedicationRequestIntent(*values)

Bases: str, Enum

proposal = 'proposal'
plan = 'plan'
order = 'order'
original_order = 'original_order'
reflex_order = 'reflex_order'
filler_order = 'filler_order'
instance_order = 'instance_order'
class MedicationRequestPriority(*values)

Bases: str, Enum

routine = 'routine'
urgent = 'urgent'
asap = 'asap'
stat = 'stat'
class MedicationRequestCategory(*values)

Bases: str, Enum

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

Bases: str, Enum

complete = 'complete'
partial = 'partial'
incomplete = 'incomplete'
declined = 'declined'
class TimingUnit(*values)

Bases: str, Enum

s = 's'
min = 'min'
h = 'h'
d = 'd'
wk = 'wk'
mo = 'mo'
a = 'a'
class DoseType(*values)

Bases: str, Enum

ordered = 'ordered'
calculated = 'calculated'
class DosageQuantity(*, value: float, unit: Coding)

Bases: BaseModel

value: float
unit: Coding
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]] = {'unit': FieldInfo(annotation=Coding, required=True), 'value': FieldInfo(annotation=float, 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 TimingQuantity(*, value: float, unit: TimingUnit)

Bases: BaseModel

value: float
unit: TimingUnit
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]] = {'unit': FieldInfo(annotation=TimingUnit, required=True), 'value': FieldInfo(annotation=float, 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 DoseRange(*, low: DosageQuantity, high: DosageQuantity)

Bases: BaseModel

low: DosageQuantity
high: DosageQuantity
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]] = {'high': FieldInfo(annotation=DosageQuantity, required=True), 'low': FieldInfo(annotation=DosageQuantity, 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 DoseAndRate(*, type: DoseType, dose_range: DoseRange | None = None, dose_quantity: DosageQuantity | None = None)

Bases: BaseModel

type: DoseType
dose_range: DoseRange | None
dose_quantity: DosageQuantity | 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_quantity': FieldInfo(annotation=Union[DosageQuantity, NoneType], required=False, default=None), 'dose_range': FieldInfo(annotation=Union[DoseRange, NoneType], required=False, default=None), 'type': FieldInfo(annotation=DoseType, 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 TimingRepeat(*, frequency: int, period: float, period_unit: TimingUnit, bounds_duration: TimingQuantity)

Bases: BaseModel

frequency: int
period: float
period_unit: TimingUnit
bounds_duration: TimingQuantity
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]] = {'bounds_duration': FieldInfo(annotation=TimingQuantity, required=True), 'frequency': FieldInfo(annotation=int, required=True), 'period': FieldInfo(annotation=float, required=True), 'period_unit': FieldInfo(annotation=TimingUnit, 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 Timing(*, repeat: TimingRepeat, code: Coding)

Bases: BaseModel

repeat: TimingRepeat
code: Coding
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]] = {'code': FieldInfo(annotation=Coding, required=True), 'repeat': FieldInfo(annotation=TimingRepeat, 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 DosageInstruction(*, sequence: int | None = None, text: str | None = None, additional_instruction: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] | None = None, patient_instruction: str | None = None, timing: ~care.emr.resources.medication.request.spec.Timing | None = None, as_needed_boolean: bool, as_needed_for: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | 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_and_rate: ~care.emr.resources.medication.request.spec.DoseAndRate | None = None, max_dose_per_period: ~care.emr.resources.medication.request.spec.DoseRange | None = None)

Bases: BaseModel

sequence: int | None
text: str | None
additional_instruction: list[~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding] | None
patient_instruction: str | None
timing: Timing | None
as_needed_boolean: bool
as_needed_for: BoundCoding | None
site: BoundCoding | None
route: BoundCoding | None
method: BoundCoding | None
dose_and_rate: DoseAndRate | None
max_dose_per_period: DoseRange | 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]] = {'additional_instruction': FieldInfo(annotation=Union[list[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding], NoneType], required=False, default=None), 'as_needed_boolean': FieldInfo(annotation=bool, required=True), 'as_needed_for': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'dose_and_rate': FieldInfo(annotation=Union[DoseAndRate, NoneType], required=False, default=None), 'max_dose_per_period': FieldInfo(annotation=Union[DoseRange, NoneType], required=False, default=None), 'method': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'patient_instruction': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'route': FieldInfo(annotation=Union[ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding, NoneType], required=False, default=None), 'sequence': FieldInfo(annotation=Union[int, 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), 'timing': FieldInfo(annotation=Union[Timing, 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 MedicationRequestResource(*, meta: dict = {})

Bases: EMRResource

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={})}

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 BaseMedicationRequestSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.request.spec.MedicationRequestStatus, status_reason: ~care.emr.resources.medication.request.spec.StatusReason | None = None, intent: ~care.emr.resources.medication.request.spec.MedicationRequestIntent, category: ~care.emr.resources.medication.request.spec.MedicationRequestCategory, priority: ~care.emr.resources.medication.request.spec.MedicationRequestPriority, do_not_perform: bool, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, dosage_instruction: list[~care.emr.resources.medication.request.spec.DosageInstruction], authored_on: ~datetime.datetime, note: str | None = None, dispense_status: ~care.emr.resources.medication.request.spec.MedicationRequestDispenseStatus | None = None)

Bases: MedicationRequestResource

id: Annotated[UUID, UuidVersion(uuid_version=4)]
status: MedicationRequestStatus
status_reason: StatusReason | None
intent: MedicationRequestIntent
category: MedicationRequestCategory
priority: MedicationRequestPriority
do_not_perform: bool
medication: BoundCoding | None
dosage_instruction: list[DosageInstruction]
authored_on: datetime
note: str | None
dispense_status: MedicationRequestDispenseStatus | 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=datetime, required=True), 'category': FieldInfo(annotation=MedicationRequestCategory, required=True), 'dispense_status': FieldInfo(annotation=Union[MedicationRequestDispenseStatus, NoneType], required=False, default=None), 'do_not_perform': FieldInfo(annotation=bool, required=True), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=True), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'intent': FieldInfo(annotation=MedicationRequestIntent, required=True), '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), 'priority': FieldInfo(annotation=MedicationRequestPriority, required=True), 'status': FieldInfo(annotation=MedicationRequestStatus, required=True), 'status_reason': FieldInfo(annotation=Union[StatusReason, 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 CreatePrescription(*, name: str | None = None, note: str | None = None, alternate_identifier: str | None = None)

Bases: BaseModel

name: str | None
note: str | None
alternate_identifier: str | 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]] = {'alternate_identifier': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'note': FieldInfo(annotation=Union[str, 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 MedicationRequestSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.request.spec.MedicationRequestStatus, status_reason: ~care.emr.resources.medication.request.spec.StatusReason | None = None, intent: ~care.emr.resources.medication.request.spec.MedicationRequestIntent, category: ~care.emr.resources.medication.request.spec.MedicationRequestCategory, priority: ~care.emr.resources.medication.request.spec.MedicationRequestPriority, do_not_perform: bool, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, dosage_instruction: list[~care.emr.resources.medication.request.spec.DosageInstruction], authored_on: ~datetime.datetime, note: str | None = None, dispense_status: ~care.emr.resources.medication.request.spec.MedicationRequestDispenseStatus | None = None, requester: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, requested_product: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, prescription: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] | None = None, create_prescription: ~care.emr.resources.medication.request.spec.CreatePrescription | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)])

Bases: BaseMedicationRequestSpec

requester: Annotated[UUID, UuidVersion(uuid_version=4)] | None
requested_product: Annotated[UUID, UuidVersion(uuid_version=4)] | None
prescription: Annotated[UUID, UuidVersion(uuid_version=4)] | None
create_prescription: CreatePrescription | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
validate_prescription()
validate_request_code()
classmethod validate_encounter_exists(encounter)
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]] = {'authored_on': FieldInfo(annotation=datetime, required=True), 'category': FieldInfo(annotation=MedicationRequestCategory, required=True), 'create_prescription': FieldInfo(annotation=Union[CreatePrescription, NoneType], required=False, default=None), 'dispense_status': FieldInfo(annotation=Union[MedicationRequestDispenseStatus, NoneType], required=False, default=None), 'do_not_perform': FieldInfo(annotation=bool, required=True), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'intent': FieldInfo(annotation=MedicationRequestIntent, required=True), '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), 'prescription': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'priority': FieldInfo(annotation=MedicationRequestPriority, required=True), 'requested_product': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'requester': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationRequestStatus, required=True), 'status_reason': FieldInfo(annotation=Union[StatusReason, 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 MedicationRequestUpdateSpec(*, meta: dict = {}, status: MedicationRequestStatus, note: str | None = None, dispense_status: MedicationRequestDispenseStatus | None = None)

Bases: MedicationRequestResource

status: MedicationRequestStatus
note: str | None
dispense_status: MedicationRequestDispenseStatus | 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]] = {'dispense_status': FieldInfo(annotation=Union[MedicationRequestDispenseStatus, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationRequestStatus, 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 MedicationRequestReadWithoutPrescriptionSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.request.spec.MedicationRequestStatus, status_reason: ~care.emr.resources.medication.request.spec.StatusReason | None = None, intent: ~care.emr.resources.medication.request.spec.MedicationRequestIntent, category: ~care.emr.resources.medication.request.spec.MedicationRequestCategory, priority: ~care.emr.resources.medication.request.spec.MedicationRequestPriority, do_not_perform: bool, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, dosage_instruction: list[~care.emr.resources.medication.request.spec.DosageInstruction], authored_on: ~datetime.datetime, note: str | None = None, dispense_status: ~care.emr.resources.medication.request.spec.MedicationRequestDispenseStatus | None = None, created_by: ~care.emr.resources.user.spec.UserSpec = {}, updated_by: ~care.emr.resources.user.spec.UserSpec = {}, created_date: ~datetime.datetime, modified_date: ~datetime.datetime, requested_product: dict | None = None, requester: ~care.emr.resources.user.spec.UserSpec | None = None)

Bases: BaseMedicationRequestSpec

created_by: UserSpec
updated_by: UserSpec
created_date: datetime
modified_date: datetime
requested_product: dict | None
requester: UserSpec | 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]] = {'authored_on': FieldInfo(annotation=datetime, required=True), 'category': FieldInfo(annotation=MedicationRequestCategory, required=True), 'created_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'created_date': FieldInfo(annotation=datetime, required=True), 'dispense_status': FieldInfo(annotation=Union[MedicationRequestDispenseStatus, NoneType], required=False, default=None), 'do_not_perform': FieldInfo(annotation=bool, required=True), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=True), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'intent': FieldInfo(annotation=MedicationRequestIntent, required=True), '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), 'priority': FieldInfo(annotation=MedicationRequestPriority, required=True), 'requested_product': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'requester': FieldInfo(annotation=Union[UserSpec, NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationRequestStatus, required=True), 'status_reason': FieldInfo(annotation=Union[StatusReason, NoneType], required=False, default=None), 'updated_by': FieldInfo(annotation=UserSpec, required=False, default={})}

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 MedicationRequestReadSpec(*, meta: dict = {}, id: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)] = None, status: ~care.emr.resources.medication.request.spec.MedicationRequestStatus, status_reason: ~care.emr.resources.medication.request.spec.StatusReason | None = None, intent: ~care.emr.resources.medication.request.spec.MedicationRequestIntent, category: ~care.emr.resources.medication.request.spec.MedicationRequestCategory, priority: ~care.emr.resources.medication.request.spec.MedicationRequestPriority, do_not_perform: bool, medication: ~care.emr.utils.valueset_coding_type.ValueSetBoundCoding.__class_getitem__.<locals>.BoundCoding | None = None, dosage_instruction: list[~care.emr.resources.medication.request.spec.DosageInstruction], authored_on: ~datetime.datetime, note: str | None = None, dispense_status: ~care.emr.resources.medication.request.spec.MedicationRequestDispenseStatus | None = None, created_by: ~care.emr.resources.user.spec.UserSpec = {}, updated_by: ~care.emr.resources.user.spec.UserSpec = {}, created_date: ~datetime.datetime, modified_date: ~datetime.datetime, requested_product: dict | None = None, requester: ~care.emr.resources.user.spec.UserSpec | None = None, prescription: dict | None = None, encounter: ~typing.Annotated[~uuid.UUID, ~pydantic.types.UuidVersion(uuid_version=4)])

Bases: MedicationRequestReadWithoutPrescriptionSpec

prescription: dict | None
encounter: Annotated[UUID, UuidVersion(uuid_version=4)]
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]] = {'authored_on': FieldInfo(annotation=datetime, required=True), 'category': FieldInfo(annotation=MedicationRequestCategory, required=True), 'created_by': FieldInfo(annotation=UserSpec, required=False, default={}), 'created_date': FieldInfo(annotation=datetime, required=True), 'dispense_status': FieldInfo(annotation=Union[MedicationRequestDispenseStatus, NoneType], required=False, default=None), 'do_not_perform': FieldInfo(annotation=bool, required=True), 'dosage_instruction': FieldInfo(annotation=list[DosageInstruction], required=True), 'encounter': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'id': FieldInfo(annotation=UUID, required=False, default=None, metadata=[UuidVersion(uuid_version=4)]), 'intent': FieldInfo(annotation=MedicationRequestIntent, required=True), '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), 'prescription': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'priority': FieldInfo(annotation=MedicationRequestPriority, required=True), 'requested_product': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'requester': FieldInfo(annotation=Union[UserSpec, NoneType], required=False, default=None), 'status': FieldInfo(annotation=MedicationRequestStatus, required=True), 'status_reason': FieldInfo(annotation=Union[StatusReason, NoneType], required=False, default=None), 'updated_by': FieldInfo(annotation=UserSpec, required=False, default={})}

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.