Skip to content

SAIF.Business.Claim.Bill.AutomatedAudit operations and processes

This page is the operation catalog and cross-operation hub for SAIF.Business.Claim.Bill.AutomatedAudit. The library exposes six operations: the top-level audit orchestration pipeline, the bill-level and service-level edit passes it drives, MCO (managed-care-organization) determination, the large rule-based audit engine that computes payable amounts, and a standalone audit-comparison utility. Each operation's detailed, step-by-step logic lives in its own page under operations/.

Operation catalog

Operation Intent Trigger Inputs Outputs Rules Tables SQL
Automated bill audit orchestration Retrieve a bill, generate/enrich its audit data, run bill and service edits, determine MCO status, run the audit rule engine, and save the result Caller invokes BillAuditEngine.AuditBill(BillID, ForceCompleteReAudit, ReadOnlyMode) BillID, ForceCompleteReAudit, ReadOnlyMode, IDataPortalInfo AuditResults code and message; populated clsBillAudit in ProcessedAuditData; persisted audit data (unless read-only) BR-001, BR-002, BR-003, BR-004 CBP_BILL Persistence delegated to clsBillAudit.Save (SAIF.Business.Claim.Bill)*
Bill edit validation Validate the bill header, diagnoses, and procedures before audit BillAuditEngine.AuditBill calls clsBillEditor.EditBill(Bill) Populated clsBillAudit Pass/fail per rule group; audit messages on the bill; broken rules propagated to the engine BR-003 — —
Service edit and adjustment Validate and normalize each billed service line, then apply full-charge disallowance adjustments for services that fail eligibility checks BillAuditEngine.AuditBill calls clsServiceEditor.EditService/AdjustService per service clsBillAudit, clsBillAuditService per line Normalized service data; ReauditCode transitions; full-charge adjustments; audit messages BR-004, BR-008, BR-009, BR-010, BR-011, BR-012, BR-013, BR-014, BR-015, BR-016, BR-017 — —
MCO determination Resolve claim, billing-provider, and servicing-provider MCO plan enrollment and withhold eligibility for each auditable service BillAuditEngine.AuditBill calls clsMCOManager.DetermineMCO(Bill) for non-Worker-Reimbursement bills clsBillAudit, per-service MCO/plan state Resolved MCO plan IDs, eligibility status codes, and withhold admin-fee rate/amount on each audited service None registered* — —
Bill audit rule execution Run the ordered audit rule set that computes basic allowance, applies provider contracts, checks cross-service and historical rules, and finalizes payable amounts BillAuditEngine.AuditBill calls clsBillAuditor.AuditBill(Bill) after edits and MCO determination clsBillAudit with edited, MCO-resolved services Computed AllowedAmount/TotalAdjustmentAmount per service; bill audit totals; adjustment codes and audit messages BR-005, BR-006, BR-007, BR-018, BR-019, BR-020, BR-021 CBP_DRG_CODE SQL-001
Audit bill comparison Compare two clsBillAudit snapshots (typically before/after an audit) field-by-field and report mismatches Caller invokes clsAuditCompare.CompareBills(Audit1, Audit2, ForceCompare) Two clsBillAudit instances, optional ForceCompare flag Boolean match result; collection of comparison error messages None registered* — —

Process flow diagram

The following diagram shows how the six operations relate across a single automated-audit run: the orchestration operation retrieves and enriches the bill, drives the bill/service edit and MCO operations, invokes the rule-based audit engine, and saves the result. Audit bill comparison is a standalone utility outside this pipeline.

flowchart TD
    Start([Caller invokes AuditBill]) --> Retrieve[Retrieve bill and prior audit]
    Retrieve --> Valid{Bill valid?}
    Valid -->|No| InvalidBill([AuditResult = InvalidBill;<br>no data saved])
    Valid -->|Yes| Status{Status eligible<br>for audit?}
    Status -->|No| InvalidStatus([AuditResult = InvalidStatus])
    Status -->|Yes| Generate[Generate/enrich audit data:<br>claim, provider, NDC lookups]
    Generate -->|Failed| FailGen([AuditResult = FailAuditGeneration])
    Generate -->|Ok| BillEdits[Bill edit validation]
    BillEdits -->|Fatal error| FailBillEdits([AuditResult = FailBillEdits;<br>new audit data discarded])
    BillEdits -->|Ok| ServiceEdits[Service edit and adjustment<br>per service line]
    ServiceEdits --> ForAudit{Services scheduled<br>for re-audit?}
    ForAudit -->|No| Save
    ForAudit -->|Yes, edits failed| FailServiceEdits([AuditResult = FailServiceEdits])
    ForAudit -->|Yes, edits passed| MCO[MCO determination<br>unless Worker Reimbursement]
    MCO --> Audit[Bill audit rule execution]
    Audit -->|Failed| FailAuditCheck([AuditResult = FailAuditCheck])
    Audit -->|Ok| Save[Save audit data<br>unless read-only]
    Save -->|Failed| FailSave([AuditResult = FailAuditSave])
    Save -->|Ok| Success([AuditResult = Success])
    Compare[Audit bill comparison]:::standalone --> CompareResult([Match/mismatch report])

    classDef standalone fill:#eee,stroke:#999,stroke-dasharray: 5 5

Inherited operations and processes

Operations in this section originate from base classes or services provided by dependency framework and same-repo libraries. They are inherited or delegated, not implemented in this library.

From clsBusinessBase (SAIF.BOF.Framework)

Operation Intent Provided by Origin Embedded in
Edit lifecycle and rules-manager evaluation Supports BeginEdit/CancelEdit/ApplyEdit and broken-rule collection/propagation for business objects.* clsBusinessBase SAIF.BOF.Framework Automated bill audit orchestration, Bill edit validation, Service edit and adjustment, Bill audit rule execution

Origin: This lifecycle behavior is defined in SAIF.BOF.Framework / clsBusinessBase and inherited by BillAuditEngine and the audit utility classes. No dedicated operation page exists for this framework dependency; behavior is summarized inline in the consuming operation pages.

From clsBill (SAIF.Business.Claim.Bill)

Operation Intent Provided by Origin Embedded in
Bill CRUD Persists the bill header and cascades save into diagnosis, procedure, service, and status collections. clsBill SAIF.Business.Claim.Bill Automated bill audit orchestration
Audit and audited services Persists the audit header, audited-service lines, adjustments, and audit messages generated during automated audit. clsBill/clsAudit SAIF.Business.Claim.Bill Automated bill audit orchestration
National drug validation Retrieves a national drug code's master record and price history. clsNationalDrug SAIF.Business.Claim.Bill Automated bill audit orchestration
Service reference lookups Resolves and caches billable-service reference data (descriptions, fee schedules, CPT bundling, MCO fee exemptions). clsServiceManager/clsServiceInfo SAIF.Business.Claim.Bill Bill audit rule execution, Service edit and adjustment

Origin: These operations are defined in SAIF.Business.Claim.Bill and inherited or delegated by this component. Their step-by-step logic is embedded inline (with > Origin callouts) in the consuming operation's detail page. See Bill CRUD, Audit and audited services, National drug validation, and Service reference lookups in the SAIF.Business.Claim.Bill documentation set.

From clsClaimData (SAIF.Business.View.Claim)

Operation Intent Provided by Origin Embedded in
Retrieve claim summary data Loads claim-level summary values (status, injury date, jurisdiction, merge/replacement chain) used to validate and enrich a bill. clsClaimData SAIF.Business.View.Claim Automated bill audit orchestration, Bill edit validation

Origin: This operation is defined in SAIF.Business.View.Claim, which is documented in the previous format (no per-operation page exists). See Retrieve claim summary data in the SAIF.Business.View.Claim documentation set.

From clsProviderLocation (SAIF.BOF.Business.View.Provider)

Operation Intent Provided by Origin Embedded in
Retrieve provider location Loads billing/servicing/prescribing provider location detail, provider type, and tax IDs used to validate a bill and its services. clsProviderLocation SAIF.BOF.Business.View.Provider Automated bill audit orchestration, Bill edit validation
Retrieve DCBS cost charges Loads the effective cost/charge conversion factor used for cost-charge basic allowance computation. clsProviderLocation SAIF.BOF.Business.View.Provider Bill audit rule execution
Retrieve provider service contracts Loads active provider service contracts used to compute contract-based allowance. clsProviderLocation SAIF.BOF.Business.View.Provider Bill audit rule execution
Retrieve MCO provider enrollments Loads MCO plan enrollment for a provider location used to resolve billing/servicing-provider MCO plans. clsProviderLocation SAIF.BOF.Business.View.Provider MCO determination

Origin: These operations are defined in SAIF.BOF.Business.View.Provider, which is documented in the previous format (no per-operation page exists). See Retrieve provider location, Retrieve DCBS cost charges, Retrieve provider service contracts, and Retrieve MCO provider enrollments in the SAIF.BOF.Business.View.Provider documentation set.

Database interactions

The following table summarizes which operations read from or write to the database. Per-step SQL and table citations live in each operation's detail page under operations/.

Operation SQL Tables Type
Automated bill audit orchestration — (persistence delegated to clsBillAudit.Save in SAIF.Business.Claim.Bill)* CBP_BILL Write*
Bill audit rule execution SQL-001 CBP_DRG_CODE Read

Two additional SQL statements are used in support of this pipeline but are executed by supporting utility classes rather than the operations above: SQL-002 (historical bill/service data, CBP_BILL) backs the service history lookups consumed inside Bill audit rule execution, and SQL-003 (pharmacy eligibility, CL_PHARMACY_ELIGIBILITY_REPORT) backs a lazily-loaded property on clsBillAudit consumed during Automated bill audit orchestration.

Failure and edge-case behavior

  • An invalid bill or an ineligible bill status short-circuits the pipeline before any data is generated, edited, or saved; AuditBill still returns True in these cases because they are not environment errors (BR-001, BR-002).
  • If bill edits fail with a fatal error, any audit-service rows that were newly generated for this run are discarded so they are not saved with an invalid bill.
  • AuditBill returns False only for EnvironmentError, FailAuditGeneration, or FailAuditSave — business-rule failures such as InvalidBill, InvalidStatus, FailBillEdits, FailServiceEdits, and FailAuditCheck all return True, so callers must inspect AuditResult, not just the boolean return value, to detect a failed audit.*
  • ReadOnlyMode suppresses all persistence: only an in-memory status record is generated and Bill.Save() is never called.
  • Unhandled exceptions anywhere in the pipeline are caught, recorded in AuditExceptions, and reported as EnvironmentError.
  • Oracle schema, sequence, or procedure changes in the underlying tables can alter audit behavior without any local code change.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\BillAuditEngine.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\clsBillAudit.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\clsBillAuditService.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\AuditTrailManager.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsAuditCalculator.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsAuditCompare.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillAuditUtility.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillAuditor.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillEditor.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsClaimBillHistory.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsMCOManager.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsPharmacyEnrollment.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsServiceEditor.vb