care.emr.resources.invoice.spec module

class InvoiceStatusOptions(*values)

Bases: str, Enum

draft = 'draft'
issued = 'issued'
balanced = 'balanced'
cancelled = 'cancelled'
entered_in_error = 'entered_in_error'
class BaseInvoiceSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str | None = None, status: InvoiceStatusOptions, cancelled_reason: str | None = None, payment_terms: str | None = None, note: str | None = None, issue_date: datetime | None = None, number: str | None = None)

Bases: EMRResource

Base model for healthcare service

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
title: str | None
status: InvoiceStatusOptions
cancelled_reason: str | None
payment_terms: str | None
note: str | None
issue_date: datetime | None
number: 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]] = {'cancelled_reason': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'issue_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'payment_terms': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=InvoiceStatusOptions, required=True), 'title': 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 InvoiceWriteSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str | None = None, status: InvoiceStatusOptions, cancelled_reason: str | None = None, payment_terms: str | None = None, note: str | None = None, issue_date: datetime | None = None, number: str | None = None, account: Annotated[UUID, UuidVersion(uuid_version=4)], charge_items: list[Annotated[UUID, UuidVersion(uuid_version=4)]] = [])

Bases: BaseInvoiceSpec

Invoice write specification

account: Annotated[UUID, UuidVersion(uuid_version=4)]
charge_items: list[Annotated[UUID, UuidVersion(uuid_version=4)]]
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=UUID, required=True, metadata=[UuidVersion(uuid_version=4)]), 'cancelled_reason': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'charge_items': FieldInfo(annotation=list[Annotated[UUID, UuidVersion]], required=False, default=[]), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'issue_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'payment_terms': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=InvoiceStatusOptions, required=True), 'title': 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 InvoiceReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str | None = None, status: InvoiceStatusOptions, cancelled_reason: str | None = None, payment_terms: str | None = None, note: str | None = None, issue_date: datetime | None = None, number: str | None = None, total_net: Decimal, total_gross: Decimal)

Bases: BaseInvoiceSpec

Invoice read specification

total_net: Decimal
total_gross: Decimal
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]] = {'cancelled_reason': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'issue_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'payment_terms': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=InvoiceStatusOptions, required=True), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'total_gross': FieldInfo(annotation=Decimal, required=True), 'total_net': FieldInfo(annotation=Decimal, 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 InvoiceRetrieveSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, title: str | None = None, status: InvoiceStatusOptions, cancelled_reason: str | None = None, payment_terms: str | None = None, note: str | None = None, issue_date: datetime | None = None, number: str | None = None, total_net: Decimal, total_gross: Decimal, charge_items: list[dict], total_price_components: list[dict], account: dict)

Bases: InvoiceReadSpec

Invoice retrieve specification

charge_items: list[dict]
total_price_components: list[dict]
account: dict
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]] = {'account': FieldInfo(annotation=dict, required=True), 'cancelled_reason': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'charge_items': FieldInfo(annotation=list[dict], required=True), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'issue_date': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'payment_terms': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=InvoiceStatusOptions, required=True), 'title': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'total_gross': FieldInfo(annotation=Decimal, required=True), 'total_net': FieldInfo(annotation=Decimal, required=True), 'total_price_components': FieldInfo(annotation=list[dict], 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.