care.emr.resources.charge_item.spec module

class ChargeItemStatusOptions(*values)

Bases: str, Enum

planned = 'planned'
billable = 'billable'
not_billable = 'not_billable'
aborted = 'aborted'
billed = 'billed'
paid = 'paid'
entered_in_error = 'entered_in_error'
class ChargeItemResourceOptions(*values)

Bases: str, Enum

service_request = 'service_request'
medication_dispense = 'medication_dispense'
appointment = 'appointment'
bed_association = 'bed_association'
class ChargeItemOverrideReason(*, text: str, code: Coding | None = None)

Bases: BaseModel

text: str
code: Coding | 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]] = {'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'text': FieldInfo(annotation=str, 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 ChargeItemSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str, description: str | None = None, status: ChargeItemStatusOptions, code: Coding | None = None, quantity: float, unit_price_components: list[MonetaryComponent], note: str | None = None, override_reason: ChargeItemOverrideReason | None = None)

Bases: EMRResource

Base model for ChargeItem

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
title: str
description: str | None
status: ChargeItemStatusOptions
code: Coding | None
quantity: float
unit_price_components: list[MonetaryComponent]
note: str | None
override_reason: ChargeItemOverrideReason | None
check_duplicate_codes()
check_single_base_component()
validate_monetary_codes()
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=Union[Coding, NoneType], required=False, default=None), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'override_reason': FieldInfo(annotation=Union[ChargeItemOverrideReason, NoneType], required=False, default=None), 'quantity': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=ChargeItemStatusOptions, required=True), 'title': FieldInfo(annotation=str, required=True), 'unit_price_components': FieldInfo(annotation=list[MonetaryComponent], 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 ChargeItemWriteSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str, description: str | None = None, status: ChargeItemStatusOptions, code: Coding | None = None, quantity: float, unit_price_components: list[MonetaryComponent], note: str | None = None, override_reason: ChargeItemOverrideReason | None = None, encounter: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, patient: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, account: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, service_resource: ChargeItemResourceOptions | None = None, service_resource_id: str | None = None)

Bases: ChargeItemSpec

encounter: Annotated[UUID, UuidVersion(uuid_version=4)] | None
patient: Annotated[UUID, UuidVersion(uuid_version=4)] | None
account: Annotated[UUID, UuidVersion(uuid_version=4)] | None
service_resource: ChargeItemResourceOptions | None
service_resource_id: str | None
validate_service_resource()
validate_encounter_patient()
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]] = {'account': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'encounter': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'override_reason': FieldInfo(annotation=Union[ChargeItemOverrideReason, NoneType], required=False, default=None), 'patient': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'quantity': FieldInfo(annotation=float, required=True), 'service_resource': FieldInfo(annotation=Union[ChargeItemResourceOptions, NoneType], required=False, default=None), 'service_resource_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=ChargeItemStatusOptions, required=True), 'title': FieldInfo(annotation=str, required=True), 'unit_price_components': FieldInfo(annotation=list[MonetaryComponent], 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 ChargeItemReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str, description: str | None = None, status: ChargeItemStatusOptions, code: Coding | None = None, quantity: float, unit_price_components: list[MonetaryComponent], note: str | None = None, override_reason: ChargeItemOverrideReason | None = None, total_price_components: list[dict], total_price: float, charge_item_definition: dict, paid_invoice: dict | None = None, tags: list[dict] = [], service_resource: ChargeItemResourceOptions | None = None, service_resource_id: str | None = None)

Bases: ChargeItemSpec

Account read specification

total_price_components: list[dict]
total_price: float
charge_item_definition: dict
paid_invoice: dict | None
tags: list[dict]
service_resource: ChargeItemResourceOptions | None
service_resource_id: str | 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]] = {'charge_item_definition': FieldInfo(annotation=dict, required=True), 'code': FieldInfo(annotation=Union[Coding, NoneType], required=False, default=None), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'override_reason': FieldInfo(annotation=Union[ChargeItemOverrideReason, NoneType], required=False, default=None), 'paid_invoice': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'quantity': FieldInfo(annotation=float, required=True), 'service_resource': FieldInfo(annotation=Union[ChargeItemResourceOptions, NoneType], required=False, default=None), 'service_resource_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=ChargeItemStatusOptions, required=True), 'tags': FieldInfo(annotation=list[dict], required=False, default=[]), 'title': FieldInfo(annotation=str, required=True), 'total_price': FieldInfo(annotation=float, required=True), 'total_price_components': FieldInfo(annotation=list[dict], required=True), 'unit_price_components': FieldInfo(annotation=list[MonetaryComponent], 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.