care.emr.resources.payment_reconciliation.spec module

class PaymentReconciliationTypeOptions(*values)

Bases: str, Enum

payment = 'payment'
adjustment = 'adjustment'
advance = 'advance'
class PaymentReconciliationStatusOptions(*values)

Bases: str, Enum

active = 'active'
cancelled = 'cancelled'
draft = 'draft'
entered_in_error = 'entered_in_error'
class PaymentReconciliationKindOptions(*values)

Bases: str, Enum

deposit = 'deposit'
periodic_payment = 'periodic_payment'
online = 'online'
kiosk = 'kiosk'
class PaymentReconciliationIssuerTypeOptions(*values)

Bases: str, Enum

patient = 'patient'
insurer = 'insurer'
class PaymentReconciliationOutcomeOptions(*values)

Bases: str, Enum

queued = 'queued'
complete = 'complete'
error = 'error'
partial = 'partial'
class PaymentReconciliationPaymentMethodOptions(*values)

Bases: str, Enum

cash = 'cash'
ccca = 'ccca'
cchk = 'cchk'
cdac = 'cdac'
chck = 'chck'
ddpo = 'ddpo'
debc = 'debc'
class BasePaymentReconciliationSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, reconciliation_type: PaymentReconciliationTypeOptions, status: PaymentReconciliationStatusOptions, kind: PaymentReconciliationKindOptions, issuer_type: PaymentReconciliationIssuerTypeOptions, outcome: PaymentReconciliationOutcomeOptions, disposition: str | None = None, payment_datetime: datetime | None = None, method: PaymentReconciliationPaymentMethodOptions, reference_number: str | None = None, authorization: str | None = None, note: str | None = None)

Bases: EMRResource

Base model for healthcare service

id: Annotated[UUID, UuidVersion(uuid_version=4)] | None
reconciliation_type: PaymentReconciliationTypeOptions
status: PaymentReconciliationStatusOptions
kind: PaymentReconciliationKindOptions
issuer_type: PaymentReconciliationIssuerTypeOptions
outcome: PaymentReconciliationOutcomeOptions
disposition: str | None
payment_datetime: datetime | None
method: PaymentReconciliationPaymentMethodOptions
reference_number: str | None
authorization: str | None
note: 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]] = {'authorization': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'disposition': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'issuer_type': FieldInfo(annotation=PaymentReconciliationIssuerTypeOptions, required=True), 'kind': FieldInfo(annotation=PaymentReconciliationKindOptions, required=True), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=PaymentReconciliationPaymentMethodOptions, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'outcome': FieldInfo(annotation=PaymentReconciliationOutcomeOptions, required=True), 'payment_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'reconciliation_type': FieldInfo(annotation=PaymentReconciliationTypeOptions, required=True), 'reference_number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'status': FieldInfo(annotation=PaymentReconciliationStatusOptions, 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 PaymentReconciliationWriteSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, reconciliation_type: PaymentReconciliationTypeOptions, status: PaymentReconciliationStatusOptions, kind: PaymentReconciliationKindOptions, issuer_type: PaymentReconciliationIssuerTypeOptions, outcome: PaymentReconciliationOutcomeOptions, disposition: str | None = None, payment_datetime: datetime | None = None, method: PaymentReconciliationPaymentMethodOptions, reference_number: str | None = None, authorization: str | None = None, note: str | None = None, target_invoice: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, account: Annotated[UUID, UuidVersion(uuid_version=4)], amount: float | None = None, tendered_amount: float, returned_amount: float, is_credit_note: bool = False, location: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None)

Bases: BasePaymentReconciliationSpec

Payment reconciliation write specification

target_invoice: Annotated[UUID, UuidVersion(uuid_version=4)] | None
account: Annotated[UUID, UuidVersion(uuid_version=4)]
amount: float | None
tendered_amount: float
returned_amount: float
is_credit_note: bool
location: Annotated[UUID, UuidVersion(uuid_version=4)] | None
perform_extra_deserialization(is_update, obj)
check_amount_or_factor()
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)]), 'amount': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'authorization': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'disposition': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'is_credit_note': FieldInfo(annotation=bool, required=False, default=False), 'issuer_type': FieldInfo(annotation=PaymentReconciliationIssuerTypeOptions, required=True), 'kind': FieldInfo(annotation=PaymentReconciliationKindOptions, required=True), 'location': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=PaymentReconciliationPaymentMethodOptions, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'outcome': FieldInfo(annotation=PaymentReconciliationOutcomeOptions, required=True), 'payment_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'reconciliation_type': FieldInfo(annotation=PaymentReconciliationTypeOptions, required=True), 'reference_number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'returned_amount': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=PaymentReconciliationStatusOptions, required=True), 'target_invoice': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'tendered_amount': 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 PaymentReconciliationReadSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, reconciliation_type: PaymentReconciliationTypeOptions, status: PaymentReconciliationStatusOptions, kind: PaymentReconciliationKindOptions, issuer_type: PaymentReconciliationIssuerTypeOptions, outcome: PaymentReconciliationOutcomeOptions, disposition: str | None = None, payment_datetime: datetime | None = None, method: PaymentReconciliationPaymentMethodOptions, reference_number: str | None = None, authorization: str | None = None, note: str | None = None, account: dict, target_invoice: dict | None = None, amount: float | None = None, tendered_amount: float, returned_amount: float, is_credit_note: bool)

Bases: BasePaymentReconciliationSpec

Invoice read specification

account: dict
target_invoice: dict | None
amount: float | None
tendered_amount: float
returned_amount: float
is_credit_note: bool
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), 'amount': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'authorization': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'disposition': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'is_credit_note': FieldInfo(annotation=bool, required=True), 'issuer_type': FieldInfo(annotation=PaymentReconciliationIssuerTypeOptions, required=True), 'kind': FieldInfo(annotation=PaymentReconciliationKindOptions, required=True), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=PaymentReconciliationPaymentMethodOptions, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'outcome': FieldInfo(annotation=PaymentReconciliationOutcomeOptions, required=True), 'payment_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'reconciliation_type': FieldInfo(annotation=PaymentReconciliationTypeOptions, required=True), 'reference_number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'returned_amount': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=PaymentReconciliationStatusOptions, required=True), 'target_invoice': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'tendered_amount': 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 PaymentReconciliationRetrieveSpec(*, meta: dict = {}, id: Annotated[UUID, UuidVersion(uuid_version=4)] | None = None, reconciliation_type: PaymentReconciliationTypeOptions, status: PaymentReconciliationStatusOptions, kind: PaymentReconciliationKindOptions, issuer_type: PaymentReconciliationIssuerTypeOptions, outcome: PaymentReconciliationOutcomeOptions, disposition: str | None = None, payment_datetime: datetime | None = None, method: PaymentReconciliationPaymentMethodOptions, reference_number: str | None = None, authorization: str | None = None, note: str | None = None, account: dict, target_invoice: dict | None = None, amount: float | None = None, tendered_amount: float, returned_amount: float, is_credit_note: bool, location: dict | None = None)

Bases: PaymentReconciliationReadSpec

location: 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]] = {'account': FieldInfo(annotation=dict, required=True), 'amount': FieldInfo(annotation=Union[float, NoneType], required=False, default=None), 'authorization': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'disposition': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'id': FieldInfo(annotation=Union[Annotated[UUID, UuidVersion], NoneType], required=False, default=None), 'is_credit_note': FieldInfo(annotation=bool, required=True), 'issuer_type': FieldInfo(annotation=PaymentReconciliationIssuerTypeOptions, required=True), 'kind': FieldInfo(annotation=PaymentReconciliationKindOptions, required=True), 'location': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'meta': FieldInfo(annotation=dict, required=False, default={}), 'method': FieldInfo(annotation=PaymentReconciliationPaymentMethodOptions, required=True), 'note': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'outcome': FieldInfo(annotation=PaymentReconciliationOutcomeOptions, required=True), 'payment_datetime': FieldInfo(annotation=Union[datetime, NoneType], required=False, default=None), 'reconciliation_type': FieldInfo(annotation=PaymentReconciliationTypeOptions, required=True), 'reference_number': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'returned_amount': FieldInfo(annotation=float, required=True), 'status': FieldInfo(annotation=PaymentReconciliationStatusOptions, required=True), 'target_invoice': FieldInfo(annotation=Union[dict, NoneType], required=False, default=None), 'tendered_amount': 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.