Posting
Introduction #
This module defines models related to payments and postings associated with healthcare claims.
Basic usage #
To retrieve a posting by ID:
from canvas_sdk.v1.data.posting import BasePosting
posting = BasePosting.objects.get(dbid=1234)
To retrieve all active postings for a given claim:
from canvas_sdk.v1.data.claim import Claim
claim = Claim.objects.get(id="<uuid>")
claim_postings = claim.postings.active()
Payments, adjustments, and transfers each record the claim line item the amount was posted to. To find the charge behind a payment, go through its claim line item:
from canvas_sdk.v1.data import NewLineItemPayment
payment = NewLineItemPayment.objects.select_related("claim_line_item").get(dbid=1234)
claim_line_item = payment.claim_line_item
print(claim_line_item.proc_code)
# None when the claim line item has no billing line item
charge = claim_line_item.billing_line_item
Attributes #
BasePosting #
Base model for aggregating multiple line item-level transactions (payments, adjustments, transfers) associated with a claim.
| Field Name | Type | Description |
|---|---|---|
| dbid | Integer | |
| corrected_posting | BasePosting | |
| claim | Claim | |
| payment_collection | PaymentCollection | |
| description | String | |
| entered_in_error | CanvasUser | |
| created | DateTime | |
| modified | DateTime | |
| correction_postings | QuerySet[BasePosting] | |
| paid_amount | Decimal (computed) | Total paid |
| contractual_adjusted_amount | Decimal (computed) | Adjustments marked as write-offs |
| non_write_off_adjusted_amount | Decimal (computed) | Non-write-off adjustments |
| transferred_amount | Decimal (computed) | Total transferred |
| transferred_to_patient_amount | Decimal (computed) | Portion transferred to the patient |
| transferred_to_coverage_amount | Decimal (computed) | Portion transferred to another coverage |
| adjusted_and_transferred_amount | Decimal (computed) | Combined adjusted and transferred amount |
| posted_amount | Decimal (computed) | Total of payments and write-offs |
CoveragePosting #
Represents an insurance payment or adjustment associated with a claim’s coverage.
| Field Name | Type |
|---|---|
| remittance | BaseRemittanceAdvice |
| claim_coverage | ClaimCoverage |
| crossover_carrier | String |
| crossover_id | String |
| payer_icn | String |
| position_in_era | Integer |
PatientPosting #
Represents patient-side payments or adjustments, including links to copays or patient-level discounts.
| Field Name | Type | Description |
|---|---|---|
| claim_patient | ClaimPatient | |
| patient_payment | BulkPatientPosting | |
| copay | BulkPatientPosting | |
| discounted_amount | Decimal (computed) | Discount applied |
| charges_amount | Decimal (computed) | Discount plus paid amount |
BulkPatientPosting #
Aggregates bulk patient payments on multiple claims.
| Field Name | Type | Description |
|---|---|---|
| id | UUID | |
| dbid | Integer | |
| payment_collection | PaymentCollection | |
| total_paid | Decimal | |
| created | DateTime | |
| modified | DateTime | |
| discount | Discount | |
| payer | Patient | |
| postings | QuerySet[PatientPosting] | |
| copays | QuerySet[PatientPosting] | |
| total_posted_amount | Decimal (computed) | Sum of all posted amounts |
| discounted_amount | Decimal (computed) | Sum of discounted amounts |
BaseRemittanceAdvice #
Represents shared data for both electronic and manual remittance advice.
| Field Name | Type | Description |
|---|---|---|
| id | UUID | |
| dbid | Integer | |
| payment_collection | PaymentCollection | |
| total_paid | Decimal | |
| created | DateTime | |
| modified | DateTime | |
| transactor | Transactor | |
| era_id | String | |
| postings | QuerySet[CoveragePosting] | |
| total_posted_amount | Decimal (computed) | Sum of all posted amounts |
PaymentCollection #
Captures metadata about the method and details of a collected payment.
| Field Name | Type |
|---|---|
| id | UUID |
| dbid | Integer |
| total_collected | Decimal |
| method | PostingMethods |
| check_number | String |
| check_date | Date |
| deposit_date | Date |
| description | String |
| created | DateTime |
| modified | DateTime |
| postings | QuerySet[BasePosting] |
| receipt | Receipt |
NewLineItemPayment #
Represents a payment applied to a claim line item.
| Field Name | Type |
|---|---|
| dbid | Integer |
| posting | BasePosting |
| billing_line_item | BillingLineItem (deprecated) |
| claim_line_item | ClaimLineItem |
| amount | Decimal |
| charged | Decimal |
| entered_in_error | CanvasUser |
| created | DateTime |
| modified | DateTime |
NewLineItemAdjustment #
Represents an adjustment applied to a claim line item.
| Field Name | Type |
|---|---|
| dbid | Integer |
| posting | BasePosting |
| billing_line_item | BillingLineItem (deprecated) |
| claim_line_item | ClaimLineItem |
| amount | Decimal |
| code | String |
| group | String |
| deviated_from_posting_ruleset | Boolean |
| write_off | Boolean |
| entered_in_error | CanvasUser |
| created | DateTime |
| modified | DateTime |
LineItemTransfer #
Represents a transfer of a claim line item balance to another coverage or patient.
| Field Name | Type |
|---|---|
| dbid | Integer |
| posting | BasePosting |
| billing_line_item | BillingLineItem (deprecated) |
| claim_line_item | ClaimLineItem |
| amount | Decimal |
| code | String |
| group | String |
| deviated_from_posting_ruleset | Boolean |
| transfer_to | ClaimCoverage |
| transfer_to_patient | Boolean |
| entered_in_error | CanvasUser |
| created | DateTime |
| modified | DateTime |
Discount #
Represents a discount applied to a claim or patient posting, linked by adjustment group and code.
| Field Name | Type |
|---|---|
| dbid | Integer |
| name | String |
| adjustment_group | String |
| adjustment_code | String |
| discount | Decimal |
| created | DateTime |
| modified | DateTime |
| patient_postings | QuerySet[BulkPatientPosting] |
Enumeration types #
PostingMethods #
| Value | Label |
|---|---|
| cash | Cash |
| check | Check |
| card | Card |
| other | Other |