care.emr.api.viewsets.invoice module

class InvoiceFilters(data=None, queryset=None, *, request=None, prefix=None)

Bases: FilterSet

base_filters = {'account': <django_filters.filters.UUIDFilter object>, 'encounter': <django_filters.filters.UUIDFilter object>, 'number': <django_filters.filters.CharFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'status': <django_filters.filters.CharFilter object>, 'title': <django_filters.filters.CharFilter object>}
declared_filters = {'account': <django_filters.filters.UUIDFilter object>, 'encounter': <django_filters.filters.UUIDFilter object>, 'number': <django_filters.filters.CharFilter object>, 'patient': <django_filters.filters.UUIDFilter object>, 'status': <django_filters.filters.CharFilter object>, 'title': <django_filters.filters.CharFilter object>}
class AttachChargeItemToInvoiceRequest(*, charge_items: list[Annotated[UUID, UuidVersion(uuid_version=4)]])

Bases: BaseModel

charge_items: list[Annotated[UUID, UuidVersion(uuid_version=4)]]
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_items': FieldInfo(annotation=list[Annotated[UUID, UuidVersion]], 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 RemoveChargeItemFromInvoiceRequest(*, charge_item: Annotated[UUID, UuidVersion(uuid_version=4)])

Bases: BaseModel

charge_item: Annotated[UUID, UuidVersion(uuid_version=4)]
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': FieldInfo(annotation=UUID, required=True, metadata=[UuidVersion(uuid_version=4)])}

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 InvoiceCancelReasonRequest(*, reason: str)

Bases: BaseModel

reason: str
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=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 InvoiceViewSet(**kwargs)

Bases: EMRCreateMixin, EMRRetrieveMixin, EMRUpdateMixin, EMRListMixin, EMRBaseViewSet

database_model

alias of Invoice

pydantic_model

alias of InvoiceWriteSpec

pydantic_update_model

alias of BaseInvoiceSpec

pydantic_read_model

alias of InvoiceReadSpec

pydantic_retrieve_model

alias of InvoiceRetrieveSpec

filterset_class

alias of InvoiceFilters

filter_backends = [<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>, <class 'rest_framework.filters.OrderingFilter'>]
ordering_fields = ['created_date', 'modified_date']
get_facility_obj()
get_queryset()
perform_create(instance)
authorize_create(instance)
authorize_update(request_obj, model_instance)
perform_update(instance)
check_invoice_in_draft(instance)
attach_items_to_invoice(request, *args, **kwargs)
remove_item_from_invoice(request, *args, **kwargs)
attach_account_to_invoice(request, *args, **kwargs)
cancel_invoice(request, *args, **kwargs)