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
clsBillwith audit-specific state inclsBillAudit. - 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¶
BillAuditEngineis the workflow coordinator for retrieve, validate, edit, audit, and save steps.clsBillAuditextends the core bill object from the parent bill library instead of redefining base bill persistence.- Utility classes such as
clsBillEditor,clsServiceEditor,clsAuditCalculator,clsAuditCompare,clsMCOManager, andclsPharmacyEnrollmentcontain 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)¶
IDataPortalInfoprovides the shared portal abstraction used to execute inherited bill persistence and utility queries against Oracle.*clsBusinessBaseprovides 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.
Related documentation¶
- Index
- Overview
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- API reference
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.vbprojBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\SAIF.BOF.Business.Claim.Bill.AutomatedAudit.nuspecBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\packages.configBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\BillAuditEngine.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\clsBillAudit.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\clsBillAuditService.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillAuditor.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsBillEditor.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsServiceEditor.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsAuditCalculator.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsMCOManager.vbBusiness\SAIF.Business.Claim.Bill.AutomatedAudit\AuditUtilities\clsPharmacyEnrollment.vb