Skip to content

SAIF.Business.Claim.Bill.AutomatedAudit architecture

SAIF.Business.Claim.Bill.AutomatedAudit is the audit-engine extension for the claim bill domain, layering automated medical-bill editing, calculation, comparison, MCO processing, pharmacy enrollment, and bill-history retrieval on top of the core bill library.

Responsibilities

  • Orchestrate end-to-end automated bill auditing through BillAuditEngine.
  • Extend clsBill with audit-specific state in clsBillAudit.
  • Apply bill-level and service-level automated edits before calculation.
  • Perform audit calculations, comparison logic, MCO handling, and provider qualification checks.
  • Retrieve historical bill and pharmacy-enrollment context required by audit decisions.

Component boundaries

  • BillAuditEngine is the workflow coordinator for retrieve, validate, edit, audit, and save steps.
  • clsBillAudit extends the core bill object from the parent bill library instead of redefining base bill persistence.
  • Utility classes such as clsBillEditor, clsServiceEditor, clsAuditCalculator, clsAuditCompare, clsMCOManager, and clsPharmacyEnrollment contain audit-specialized logic.
  • Historical bill and pharmacy eligibility queries remain in local audit utilities rather than the parent bill library.
  • Security and configuration concerns are inherited or external; this library contains no local authorization layer.

Interaction model

Audit callers invoke BillAuditEngine.AuditBill, which retrieves a bill aggregate through the parent bill infrastructure, validates audit eligibility, applies bill and service edits, runs calculation and comparison steps, consults historical bill and pharmacy-enrollment data when needed, and then saves results through the inherited bill model.

Inherited framework context (from Legends CLI)

  • IDataPortalInfo provides the shared portal abstraction used to execute inherited bill persistence and utility queries against Oracle.*
  • clsBusinessBase provides the edit lifecycle and shared rules-manager behavior inherited by audit-aware business objects layered on top of the parent bill model.*

Architecture diagram

The following diagram shows the high-level automated-audit component architecture.

flowchart TD
    Caller["Audit caller"] --> Engine["BillAuditEngine"]
    Engine --> BillAudit["clsBillAudit / clsBill"]
    Engine --> BillEditor["clsBillEditor"]
    Engine --> ServiceEditor["clsServiceEditor"]
    Engine --> Calculator["clsAuditCalculator"]
    Engine --> Compare["clsAuditCompare"]
    Engine --> MCO["clsMCOManager"]
    Engine --> Pharmacy["clsPharmacyEnrollment"]
    Engine --> History["clsClaimBillHistory"]
    BillAudit --> ParentBill["SAIF.Business.Claim.Bill"]
    History --> Oracle["Oracle bill / audit tables"]
    Pharmacy --> Oracle
    ParentBill --> Oracle

Sequence diagram

The following diagram shows the primary automated bill-audit sequence.

sequenceDiagram
    participant Caller
    participant Engine as BillAuditEngine
    participant Bill as clsBillAudit
    participant Utils as Audit utilities
    participant Oracle
    Caller->>Engine: AuditBill(billId)
    Engine->>Bill: Retrieve current bill and prior audit
    Bill->>Oracle: Load inherited bill data
    Oracle-->>Bill: Bill aggregate
    Engine->>Utils: Apply bill edits and service edits
    Engine->>Utils: Calculate and compare audit results
    Utils->>Oracle: Read history / pharmacy eligibility as needed
    Oracle-->>Utils: Supporting audit data
    Engine->>Bill: Save audit outcome
    Bill-->>Caller: AuditResults

Design constraints

  • The library depends on parent bill-library schema, persistence rules, and object-model semantics.
  • Some supporting SQL is implemented in utility classes instead of BOF criteria objects, which increases traceability complexity.
  • Audit behavior must support both read-only and forced complete re-audit modes.
  • Historical bill and pharmacy-eligibility data quality directly affects automated-audit outcomes.

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\SAIF.BOF.Business.Claim.Bill.AutomatedAudit.vbproj
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\SAIF.BOF.Business.Claim.Bill.AutomatedAudit.nuspec
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\packages.config
  • 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\clsBillAuditor.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillEditor.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsServiceEditor.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsAuditCalculator.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsMCOManager.vb
  • Business\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsPharmacyEnrollment.vb