Skip to content

SAIF.Data business rules

This page captures business rules enforced by this library's query providers, HTTP clients, and model helpers.

SD-BR-001 Data client configuration created per SystemType and SystemName

Field Value
Statement Data client configuration is created per SystemType/SystemName and may be customized by caller action
Trigger AddDataClients call
Enforcement ContainerBuilderExtensions.AddDataClients
Outcome Singleton config registered
Source Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs
Operation(s) Register data clients

SD-BR-002 GET responses cached via Polly unless caching disabled

Field Value
Statement GET responses are cached via Polly for MaxCacheDuration (default 30 s, originating SAIF.Data.Guidewire/DataClientConfiguration) unless UseCache is false
Trigger Cached GET/POST
Enforcement HttpClientBase.GetAsyncCached<T>
Outcome Cached or NoOp execution
Source Data/SAIF.Data/Clients/HttpClientBase.cs
Operation(s) Register data clients, Authenticated/cached HTTP GET

SD-BR-003 Service base URL must come from environment configuration

Field Value
Statement Service base URL must come from environment configuration key (UrlKey)
Trigger Client construction
Enforcement HttpClientBase (lazy client)
Outcome BaseAddress set
Source Data/SAIF.Data/Clients/HttpClientBase.cs
Operation(s) Authenticated/cached HTTP GET, Get e-bill EOB extract

SD-BR-004 Credentials retrieved from secure setting decrypted with system hash

Field Value
Statement Credentials retrieved from secure setting AuthKey decrypted with system hash; value format user\|password
Trigger AuthKey set
Enforcement HttpClientBase handler creation
Outcome NetworkCredential applied
Source Data/SAIF.Data/Clients/HttpClientBase.cs
Operation(s) Authenticated/cached HTTP GET, Get e-bill EOB extract

SD-BR-010 Claim is valid only if CC API returns HTTP 200

Field Value
Statement Claim is valid only if the Guidewire CC API returns HTTP 200
Trigger ValidateClaim
Enforcement CCClaimApiService.ValidateClaim
Outcome true/false
Source Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
Operation(s) Validate claim / get claim

SD-BR-011 Id of 0 returns null without calling the API

Field Value
Statement An id of 0 returns null without calling the API
Trigger GetClaim/GetWorker*
Enforcement CCClaimApiService
Outcome null
Source Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
Operation(s) Validate claim / get claim

SD-BR-012 Latest MCO selection precedence

Field Value
Statement Latest MCO = effective date on or before today and (expiration on or after today or unset), newest first; empty location if none match
Trigger GetLatestMco
Enforcement CCClaimApiService.GetLatestMco
Outcome McoLocation
Source Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
Operation(s) Get latest MCO

SD-BR-013 Bill queue HTTP status mapping

Field Value
Statement Bill queue HTTP status mapping (200/404/500) to ReturnCode/ImageId; restore returns 1/0
Trigger Queue calls
Enforcement CCClaimApiService.GetNextClaimBillFromQueue, RestoreClaimBillToQueue
Outcome Result codes
Source Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
Operation(s) Bill queue processing

SD-BR-020 Employee has claim security override only when override row matches claim and employee within EffDate to ExpDate window

Field Value
Statement Employee has a claim security override only when an override row matches the claim and employee and today falls within [EffDate, ExpDate]
Trigger Access check
Enforcement ClaimSecurityOverrideProvider.HasClaimSecurityOverride
Outcome bool (data-level authorization)
Source Data/SAIF.Data/Queries/Claims/ClaimSecurityOverrideProvider.cs
Operation(s) Claim security override check
Tables CL_SECURITY_OVERRIDE
SQL SQL-073

SD-BR-021 Recoverable balance sums outstanding amount for non-amended overpayments

Field Value
Statement Recoverable balance = sum of OutstandingAmount for the worker, not amended, status 1 or 3
Trigger Balance request
Enforcement OverpaymentQueryProvider.GetRecoverableBalance
Outcome decimal
Source Data/SAIF.Data/Queries/Claims/OverpaymentQueryProvider.cs
Operation(s) Recoverable overpayment balance
Tables CL_OVERPAYMENT, CL_CLAIM_PERSON
SQL SQL-190

SD-BR-030 Nurse review required if any audited service code flags it

Field Value
Statement Nurse review is required if any audited service's service code flags it
Trigger Audit review
Enforcement AuditQueryProvider.IsNurseReviewRequired
Outcome bool
Source Data/SAIF.Data/Queries/AuditQueryProvider.cs
Operation(s) Bill audit evaluation
Tables CBP_AUDIT, CBP_BILL, CBP_NATIONAL_DRUG, CBP_SERVICE_CODE, CBP_AUDITED_SERVICE, CBP_SERVICE_PHYSICAL_MEDICINE, CBP_AUDIT_ADJUSTMENT_TYPE
SQL SQL-013, SQL-014, SQL-015, SQL-016, SQL-017, SQL-018, SQL-019, SQL-020, SQL-021, SQL-022

SD-BR-031 Duplicate services excluded from count

Field Value
Statement Duplicate services (OriginalBillCode "D") are excluded from the count
Trigger Count
Enforcement AuditQueryProvider.GetNonDuplicateServiceCount
Outcome int
Source Data/SAIF.Data/Queries/AuditQueryProvider.cs
Operation(s) Bill audit evaluation
Tables CBP_AUDIT, CBP_BILL, CBP_NATIONAL_DRUG, CBP_SERVICE_CODE, CBP_AUDITED_SERVICE, CBP_SERVICE_PHYSICAL_MEDICINE, CBP_AUDIT_ADJUSTMENT_TYPE
SQL SQL-013, SQL-014, SQL-015, SQL-016, SQL-017, SQL-018, SQL-019, SQL-020, SQL-021, SQL-022

SD-BR-032 Unset thru-date treated as open-ended

Field Value
Statement An unset thru-date is treated as open-ended (DateTime.MaxValue)
Trigger Service query
Enforcement AuditQueryProvider.GetServices
Outcome Date range
Source Data/SAIF.Data/Queries/AuditQueryProvider.cs
Operation(s) Bill audit evaluation
Tables CBP_AUDIT, CBP_BILL, CBP_NATIONAL_DRUG, CBP_SERVICE_CODE, CBP_AUDITED_SERVICE, CBP_SERVICE_PHYSICAL_MEDICINE, CBP_AUDIT_ADJUSTMENT_TYPE
SQL SQL-013, SQL-014, SQL-015, SQL-016, SQL-017, SQL-018, SQL-019, SQL-020, SQL-021, SQL-022

SD-BR-033 Audit note save allowed only under optimistic concurrency match

Field Value
Statement Audit note save is allowed only if Id and UpdateNumber still match (optimistic concurrency); new notes are always allowed
Trigger Save
Enforcement AuditNoteQueryProvider.IsAuditNoteNoContention
Outcome bool
Source Data/SAIF.Data/Queries/Claims/AuditNoteQueryProvider.cs
Operation(s) Audit note concurrency check
Tables CBP_NOTE
SQL SQL-012

SD-BR-034 Bill entry source classification

Field Value
Statement Bill entry source "R" means regenerated and "E" means e-bill
Trigger Bill queries
Enforcement BillQueryProvider
Outcome Classification
Source Data/SAIF.Data/Queries/Claims/BillQueryProvider.cs
Operation(s) Bill queries
Tables CBP_BILL, CBP_BILL_TYPE_CODE, CBP_BILL_STATUS_CODE, CBP_BILL_STATUS, CBP_BILL_ENTRY_SOURCE_CODE, CBP_AUDITED_SERVICE, CBP_DIAGNOSIS, CBP_DIAGNOSIS_TYPE_CODE
SQL SQL-024, SQL-025, SQL-026, SQL-027, SQL-028, SQL-029, SQL-030, SQL-031, SQL-032, SQL-033

SD-BR-035 Bill allowed total treats null as zero

Field Value
Statement Bill allowed total treats a null amount as 0
Trigger Totals
Enforcement BillQueryProvider.GetBillAmounts
Outcome decimal
Source Data/SAIF.Data/Queries/Claims/BillQueryProvider.cs
Operation(s) Bill queries
Tables CBP_BILL, CBP_BILL_TYPE_CODE, CBP_BILL_STATUS_CODE, CBP_BILL_STATUS, CBP_BILL_ENTRY_SOURCE_CODE, CBP_AUDITED_SERVICE, CBP_DIAGNOSIS, CBP_DIAGNOSIS_TYPE_CODE
SQL SQL-024, SQL-025, SQL-026, SQL-027, SQL-028, SQL-029, SQL-030, SQL-031, SQL-032, SQL-033

SD-BR-036 Service code current only when expiration date is null

Field Value
Statement A service code is current only when ExpirationDate is null
Trigger Lookup
Enforcement BillQueryProvider.GetCbpServiceCodeNotExpired
Outcome Service code
Source Data/SAIF.Data/Queries/Claims/BillQueryProvider.cs
Operation(s) Bill queries
Tables CBP_BILL, CBP_BILL_TYPE_CODE, CBP_BILL_STATUS_CODE, CBP_BILL_STATUS, CBP_BILL_ENTRY_SOURCE_CODE, CBP_AUDITED_SERVICE, CBP_DIAGNOSIS, CBP_DIAGNOSIS_TYPE_CODE
SQL SQL-024, SQL-025, SQL-026, SQL-027, SQL-028, SQL-029, SQL-030, SQL-031, SQL-032, SQL-033

SD-BR-040 Physician without facility is invalid

Field Value
Statement A physician without a facility is invalid; location selection follows a facility/physician precedence
Trigger Lookup
Enforcement ClaimQueryProvider.GetAttendingPhysician
Outcome Location or ApplicationException
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Attending physician resolution
Tables PROVIDER_LOCATION
SQL SQL-057

SD-BR-041 Latest claim status falls back to WCD status when no history

Field Value
Statement Latest claim status falls back to the WCD status when there is no history
Trigger Lookup
Enforcement ClaimQueryProvider.GetLatestClaimStatus
Outcome Status
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim status and compensability
Tables CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_REQUEST_DECISION, claim_status_code
SQL SQL-058, SQL-061, SQL-062, SQL-063, SQL-071

SD-BR-042 Compensability status mapping

Field Value
Statement Compensability "Claim Denied" maps to "D"; otherwise the first letter, upper-cased
Trigger Lookup
Enforcement ClaimQueryProvider.GetCompensabilityStatus
Outcome Code
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim status and compensability
Tables CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_REQUEST_DECISION, claim_status_code
SQL SQL-058, SQL-061, SQL-062, SQL-063, SQL-071

SD-BR-043 Original acceptance requires request type I with decision A

Field Value
Statement Original acceptance = request type "I" with decision "A"
Trigger Lookup
Enforcement ClaimQueryProvider.GetOriginalAcceptance
Outcome Decision
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim status and compensability
Tables CL_CLAIM_STATUS_ACTIVITY, CL_CLAIM_REQUEST_DECISION, claim_status_code
SQL SQL-058, SQL-061, SQL-062, SQL-063, SQL-071

SD-BR-044 MCO enrollment date only when eligibility is Y

Field Value
Statement MCO enrollment date is returned only when the eligibility status is "Y" (obsolete)*
Trigger Lookup
Enforcement ClaimQueryProvider.GetMcoEnrollmentDate
Outcome Date or null
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim status and compensability

SD-BR-045 Retired WCIS claim activity queries are unsupported

Field Value
Statement Retired WCIS claim-activity queries are unsupported and throw
Trigger Call
Enforcement ClaimQueryProvider.GetWorkReleaseStatus, GetLatestClaimTypeActivity, GetClaimTypeActivity, GetClaimStatusActivity, GetClaimRequestDecisions
Outcome NotImplementedException
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim status and compensability

SD-BR-046 Time-loss financials filtered by check status and category

Field Value
Statement Time-loss financials = payments with issued/cleared check status and temporary-disability or voc-TD category, excluding legal-fee line items
Trigger Query
Enforcement ClaimQueryProvider.GetFinancialTransactionsQuery
Outcome Filtered list
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim financial transactions

SD-BR-047 Guidewire category code must map to a legacy category

Field Value
Statement A Guidewire category code must map to a legacy category; an unmapped code throws
Trigger Translate
Enforcement ClaimQueryProvider.TranslateCategoryCodeFromGw
Outcome Code or exception
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim financial transactions

SD-BR-048 Guidewire vocational status mapped to legacy code

Field Value
Statement A Guidewire vocational status code is mapped to a legacy code
Trigger Translate
Enforcement ClaimQueryProvider.TranslateGWVocationalStatusCodeToLegacy
Outcome Code
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim financial transactions

SD-BR-049 Missing tax id identified by a single space

Field Value
Statement A missing tax id is identified by PrimaryTaxId equal to a single space
Trigger Query
Enforcement ClaimQueryProvider.GetClaimsMissingTaxId
Outcome List
Source Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
Operation(s) Claim data-quality queries
Tables CL_INJURY_CLAIM, CL_CLAIM_PERSON
SQL SQL-060

SD-BR-050 E-bill status and assignment-rule code sets

Field Value
Statement E-bill status codes (ACCPT, ASSGN, COMPL, DLOAD, EOBDS, EOBRJ, IMAGE, INDEX, NEW, PEND, REJCT, SETUP, EXTR) and assignment rules (CONF, PROV, CLAIM, CLEAN) are fixed constants
Trigger Queries
Enforcement EbillQueryProvider constants
Outcome Classification
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL, EBILL_BATCH, EBILL_CLEARINGHOUSE, CBP_BILL, CBP_BILL_STATUS_CODE, EBILL_EOB, EBILL_RESPONSE_SET, EBILL_PATIENT
SQL SQL-114, SQL-115, SQL-116, SQL-117, SQL-118, SQL-119, SQL-120, SQL-121, SQL-122, SQL-123

SD-BR-051 Bill included in clearinghouse response file by response-batch state

Field Value
Statement A bill is included in the clearinghouse response file if it has no first response batch, or no last response batch and its status is not "PEN"
Trigger Response file build
Enforcement EbillQueryProvider.GetBillsForResponseFileForClearinghouse
Outcome List
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL, EBILL_BATCH, EBILL_CLEARINGHOUSE, CBP_BILL, CBP_BILL_STATUS_CODE, EBILL_EOB, EBILL_RESPONSE_SET, EBILL_PATIENT
SQL SQL-114, SQL-115, SQL-116, SQL-117, SQL-118, SQL-119, SQL-120, SQL-121, SQL-122, SQL-123

SD-BR-052 Multiple prescription numbers mark all NDC lines as compound drug

Field Value
Statement More than one distinct prescription number among NDC lines marks all of those lines as compound drug
Trigger Bill processing
Enforcement EbillQueryProvider.SetCompoundDrugForAllServiceLinesForTheBill
Outcome Flags set
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL, EBILL_BATCH, EBILL_CLEARINGHOUSE, CBP_BILL, CBP_BILL_STATUS_CODE, EBILL_EOB, EBILL_RESPONSE_SET, EBILL_PATIENT
SQL SQL-114, SQL-115, SQL-116, SQL-117, SQL-118, SQL-119, SQL-120, SQL-121, SQL-122, SQL-123

SD-BR-053 E-bill batch type classification

Field Value
Statement Batch type 837 is e-bill and 835 is payment advice
Trigger Batch queries
Enforcement EbillBatchQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL_BATCH, EBILL_CLEARINGHOUSE, EBILL_BATCH_TYPE_CODE, EBILL_BATCH_STATUS_CODE
SQL SQL-078, SQL-079, SQL-080, SQL-081, SQL-082, SQL-083, SQL-084, SQL-085, SQL-086, SQL-087

SD-BR-054 Zero-pay EOB candidate criteria

Field Value
Statement Zero-pay EOB candidates require status COM, an existing audit, an allowed-amount sum of 0, and no existing EOB
Trigger EOB build
Enforcement EbillEobQueryProvider.GetCompletedZeroPaymentBillsForEob
Outcome List
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillEobQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL, CBP_BILL, CBP_BILL_STATUS_CODE, CBP_AUDIT, EBILL_EOB, EBILL_BATCH, EBILL_CLEARINGHOUSE
SQL SQL-100, SQL-101, SQL-102, SQL-103

SD-BR-055 DRG code identified by health information type

Field Value
Statement The DRG code is the health-information entry with type "DR"
Trigger Lookup
Enforcement EbillHealthInformationQueryProvider.GetDrgCode
Outcome Code
Source Data/SAIF.Data/Queries/Claims/Ebilling/EbillHealthInformationQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL_HEALTH_INFORMATION, EBILL_HEALTH_INFO_TYPE_CODE, EBILL
SQL SQL-104, SQL-105, SQL-106

SD-BR-056 Active clearinghouse has a null end date

Field Value
Statement The active clearinghouse is the one where EndDate is null
Trigger Lookup
Enforcement EbillingQueryProvider.GetClearinghouse
Outcome Clearinghouse
Source Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs
Operation(s) E-bill processing queries
Tables EBILL_CLEARINGHOUSE
SQL SQL-142

SD-BR-060 Case-to-claim resolution precedence

Field Value
Statement Case-to-claim resolution tries the CC API first, then falls back to WCB, BRB, DCBS, OALJ, and OWCP numbers in order
Trigger Lookup
Enforcement LegalQueryProvider.GetClaimIdForCase
Outcome Claim id
Source Data/SAIF.Data/Queries/Legal/LegalQueryProvider.cs
Operation(s) Legal case queries
Tables LEGAL_CASE, CASE_COST, LEGAL_BILL, SUBPOENA, APPEAL, ADP_EMPLOYEE, CASE_STATUS_CODE, ATTORNEY_PROFILE
SQL SQL-152, SQL-153, SQL-154, SQL-155, SQL-156, SQL-157, SQL-158, SQL-159, SQL-160, SQL-161

SD-BR-061 Preferred employee name takes precedence

Field Value
Statement The preferred employee name takes precedence over the legal name
Trigger Lookup
Enforcement LegalQueryProvider.GetAdpEmployeeName
Outcome Name
Source Data/SAIF.Data/Queries/Legal/LegalQueryProvider.cs
Operation(s) Legal case queries
Tables LEGAL_CASE, CASE_COST, LEGAL_BILL, SUBPOENA, APPEAL, ADP_EMPLOYEE, CASE_STATUS_CODE, ATTORNEY_PROFILE
SQL SQL-152, SQL-153, SQL-154, SQL-155, SQL-156, SQL-157, SQL-158, SQL-159, SQL-160, SQL-161

SD-BR-062 Location code and contact-type precedence

Field Value
Statement Location codes BUS/POL/CLM and contact-type precedence (CLM, then CON) determine the resolved location; Oregon business locations require State == "OR"
Trigger Lookup
Enforcement LocationQueryProvider
Outcome Location
Source Data/SAIF.Data/Queries/Locations/LocationQueryProvider.cs
Operation(s) Location lookups
Tables LOCATION, CONTACT, OFFICE_CODE
SQL SQL-167, SQL-168, SQL-169, SQL-170, SQL-171, SQL-172, SQL-173, SQL-174, SQL-175

SD-BR-070 Output document status code set

Field Value
Statement Output document status codes are PEND, HELD, DELE, and RELE
Trigger Queries
Enforcement OutputDocumentQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs
Operation(s) Output document queries
Tables document_status_code, POLICY, batch_process_log, policy_output_document, output_document_type_code, output_document_category_code
SQL SQL-181, SQL-182, SQL-183, SQL-184, SQL-185, SQL-186, SQL-187, SQL-188, SQL-189

SD-BR-071 Document date defaults from batch process log

Field Value
Statement The document date comes from BatchProcessLog, defaulting to today when absent
Trigger Query
Enforcement OutputDocumentQueryProvider
Outcome Date
Source Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs
Operation(s) Output document queries
Tables document_status_code, POLICY, batch_process_log, policy_output_document, output_document_type_code, output_document_category_code
SQL SQL-181, SQL-182, SQL-183, SQL-184, SQL-185, SQL-186, SQL-187, SQL-188, SQL-189

SD-BR-072 Agency sees only agency-viewable and inbox-viewable documents

Field Value
Statement An agency sees only documents flagged agency-viewable or agency-inbox-viewable
Trigger Query
Enforcement PolicyOutputDocumentExtensions.AgencyViewable, AgencyInboxViewable
Outcome Filter
Source Data/SAIF.Data/Queries/OutputDocuments/PolicyOutputDocumentExtensions.cs
Operation(s) Output document queries

SD-BR-073 Blank or ALL category applies no filter

Field Value
Statement A category of "ALL" or blank applies no filter
Trigger Query
Enforcement PolicyOutputDocumentExtensions.ForCategory
Outcome Filter
Source Data/SAIF.Data/Queries/OutputDocuments/PolicyOutputDocumentExtensions.cs
Operation(s) Output document queries

SD-BR-074 Policy-or-account filter returns policy docs only while account docs remain unused

Field Value
Statement The policy-or-account filter returns only policy documents; account documents are computed but the concatenation that would include them is unused, a probable defect*
Trigger Query
Enforcement PolicyOutputDocumentExtensions.ForPolicyOrAccount
Outcome Filter
Source Data/SAIF.Data/Queries/OutputDocuments/PolicyOutputDocumentExtensions.cs
Operation(s) Output document queries

SD-BR-075 Child documents only retrievable for a released parent

Field Value
Statement Child documents are only retrievable when the parent document is released; otherwise the call throws
Trigger Query
Enforcement OutputDocumentQueryProvider.GetReleasedAgencyViewableChildOutputDocuments
Outcome List or exception
Source Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs
Operation(s) Output document queries
Tables document_status_code, POLICY, batch_process_log, policy_output_document, output_document_type_code, output_document_category_code
SQL SQL-181, SQL-182, SQL-183, SQL-184, SQL-185, SQL-186, SQL-187, SQL-188, SQL-189

SD-BR-080 Provider identity relationship and address code sets

Field Value
Statement Provider identity codes NPI/ONPI, relationship type WRK, and address types PAY/PHY/COR are applied as fixed filters
Trigger Queries
Enforcement ProviderQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/Providers/ProviderQueryProvider.cs
Operation(s) Provider queries
Tables PROVIDER_ADDRESS, PROVIDER, PROVIDER_TAX_ID, PROVIDER_LOCATION, CBP_BILL, CBP_BILL_STATUS_CODE, PROVIDER_IDENTITY
SQL SQL-200, SQL-201, SQL-202, SQL-203, SQL-204, SQL-205, SQL-206, SQL-207, SQL-208, SQL-209

SD-BR-081 Provider updates stamped with a fixed audit user

Field Value
Statement Provider updates are stamped with the last-update user constant "CMN0140"
Trigger Update
Enforcement ProviderQueryProvider
Outcome Audit user
Source Data/SAIF.Data/Queries/Providers/ProviderQueryProvider.cs
Operation(s) Provider queries

SD-BR-082 Dismissed bills excluded from provider location ids

Field Value
Statement Bills with status "DIS" are excluded from provider location ids
Trigger Query
Enforcement ProviderQueryProvider.GetBillProviderLocationIds
Outcome List
Source Data/SAIF.Data/Queries/Providers/ProviderQueryProvider.cs
Operation(s) Provider queries
Tables PROVIDER_ADDRESS, PROVIDER, PROVIDER_TAX_ID, PROVIDER_LOCATION, CBP_BILL, CBP_BILL_STATUS_CODE, PROVIDER_IDENTITY
SQL SQL-200, SQL-201, SQL-202, SQL-203, SQL-204, SQL-205, SQL-206, SQL-207, SQL-208, SQL-209

SD-BR-083 Provider in MCO only within date window

Field Value
Statement A provider is in an MCO only within the MCO's effective/expiration date window
Trigger Check
Enforcement ProviderQueryProvider.IsProviderInMco
Outcome bool
Source Data/SAIF.Data/Queries/Providers/ProviderQueryProvider.cs
Operation(s) Provider queries
Tables PROVIDER_ADDRESS, PROVIDER, PROVIDER_TAX_ID, PROVIDER_LOCATION, CBP_BILL, CBP_BILL_STATUS_CODE, PROVIDER_IDENTITY
SQL SQL-200, SQL-201, SQL-202, SQL-203, SQL-204, SQL-205, SQL-206, SQL-207, SQL-208, SQL-209

Field Value
Statement Superseded certificate holders are excluded, and search runs a word match across name and address fields
Trigger Search
Enforcement CertificateHolderQueryProvider
Outcome List
Source Data/SAIF.Data/Queries/Policies/Certificates/CertificateHolderProvider.cs
Operation(s) Other query providers
Tables CERTIFICATE_HOLDER
SQL SQL-051, SQL-052, SQL-053

SD-BR-091 Task codes compared case-insensitively

Field Value
Statement Task codes are matched case-insensitively
Trigger Query
Enforcement TaskQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/Tasks/TaskQueryProvider.cs
Operation(s) Other query providers
Tables TASK_SOURCE_CODE, TASK_ACTION_CODE, TASK_PRIORITY_CODE, TASK_CATEGORY_CODE, TASK
SQL SQL-231, SQL-232, SQL-233, SQL-234, SQL-235, SQL-236

SD-BR-092 Active support order has no termination date

Field Value
Statement An active support order is one with no termination date
Trigger Count
Enforcement WorkerQueryProvider.GetActiveSupportOrderCount
Outcome int
Source Data/SAIF.Data/Queries/Claims/WorkerQueryProvider.cs
Operation(s) Other query providers
Tables CL_CLAIM_SUPPORT_ORDER, CL_CLAIM_PERSON, cl_pref_contact_method_code, CL_INJURY_CLAIM
SQL SQL-237, SQL-238, SQL-239

SD-BR-093 Active report record has a null expiration date

Field Value
Statement An active report record is one with a null ExpirationDate
Trigger Query
Enforcement ReportQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/Claims/Reports/ReportQueryProvider.cs
Operation(s) Other query providers
Tables ATTENDING_PHYSICIAN, PROVIDER_LOCATION, CL_INJURY_CLAIM, CL_CLAIM_LEGAL_REPRESENTATIVE
SQL SQL-218, SQL-219, SQL-220, SQL-221

SD-BR-094 MA code identifies medical audit payment type

Field Value
Statement The code "MA" identifies a medical-audit payment type
Trigger Query
Enforcement PaymentsQueryProvider
Outcome Filter
Source Data/SAIF.Data/Queries/Payments/PaymentsQueryProvider.cs
Operation(s) Other query providers
Tables PAYMENT_TRANSACTION_STAT, PAYMENT_TRANSACTION_TYPE_CODE
SQL SQL-191, SQL-192, SQL-193

SD-BR-095 Medicare history match requires all fields equal

Field Value
Statement A Medicare beneficiary query history match requires all supplied fields to be equal
Trigger Query
Enforcement MedicareQueryProvider
Outcome Match
Source Data/SAIF.Data/Queries/Claims/MedicareQueryProvider.cs
Operation(s) Other query providers
Tables MEDICARE_BENEFICIARY_QUERY_BAT, MEDICARE_QUERY_HISTORY, MEDICARE_BENEFICIARY_QUERY
SQL SQL-176, SQL-177, SQL-178, SQL-179, SQL-180

SD-BR-100 Child procedure and service ids auto-increment

Field Value
Statement Child procedure/service ids auto-increment when added to a bill
Trigger Add child
Enforcement CbpBill.AddProcedure, CbpBill.AddService
Outcome Id assigned
Source Data/SAIF.Data/Model/Claims/Bills/CbpBill.cs
Operation(s) Model helper operations

SD-BR-101 Financial transaction detail must not be null

Field Value
Statement A financial transaction detail must not be null (enforced via the originating SAIF.Framework.Core/Enforce utility)
Trigger Add detail
Enforcement FinancialTransaction.AddDetail
Outcome ArgumentNullException
Source Data/SAIF.Data/Model/Claims/Payments/FinancialTransaction.cs
Operation(s) Model helper operations

SD-BR-102 Subpoena classification helpers

Field Value
Statement Subpoena helpers classify witness type (Nonparties, OtherMedical, Parties), provider type (Claims, MedicalRecords), and zero-pay/no-mail status ("NOML" with a paid sum of 0)
Trigger Evaluation
Enforcement Subpoena properties (IsWitnessType, IsProviderType, IsZeroPayNoMail, IsZeroPay, IsDoNotMail)
Outcome bool
Source Data/SAIF.Data/Model/Legal/Subpoenas/Subpoena.cs
Operation(s) Model helper operations

SD-BR-103 Claim cost category code lookups and aliases

Field Value
Statement Claim cost category codes (MED, TD, PPD, PTD, FTL, CHE, VSV, VTD, OTH) are fixed lookups; the descriptions "burial expenses" and "death benefits" map to FTL
Trigger Lookup
Enforcement ClaimCostCategoryCode
Outcome Code
Source Data/SAIF.Data/Model/Claims/Payments/ClaimCostCategoryCode.cs
Operation(s) Model helper operations

SD-BR-104 Unknown show-only string defaults to Unread

Field Value
Statement An unrecognized show-only string defaults to Unread
Trigger Conversion
Enforcement Enums.ConvertShowOnlyStringToEnum
Outcome Enum
Source Data/SAIF.Data/Model/OutputDocuments/Enums.cs
Operation(s) Model helper operations

Notes

  • Rule IDs follow the analyst's numbering scheme (SD-BR-NNN), grouped by originating query provider or operation, not strictly sequential.
  • Mark inferred statements with * and unknown statements with **. Do not use bold inline confidence labels.

Sources

  • Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs
  • Data/SAIF.Data/Clients/HttpClientBase.cs
  • Data/SAIF.Data/Clients/MedicalBillingApiService.cs
  • Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs
  • Data/SAIF.Data/Queries/Claims/ClaimSecurityOverrideProvider.cs
  • Data/SAIF.Data/Queries/OverpaymentQueryProvider.cs
  • Data/SAIF.Data/Queries/AuditQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/AuditNoteQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/BillQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/ClaimQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillBatchQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillEobQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillHealthInformationQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillingQueryProvider.cs
  • Data/SAIF.Data/Queries/Legal/LegalQueryProvider.cs
  • Data/SAIF.Data/Queries/Policies/LocationQueryProvider.cs
  • Data/SAIF.Data/Queries/OutputDocuments/OutputDocumentQueryProvider.cs
  • Data/SAIF.Data/Queries/OutputDocuments/PolicyOutputDocumentExtensions.cs
  • Data/SAIF.Data/Queries/Providers/ProviderQueryProvider.cs
  • Data/SAIF.Data/Queries/Policies/Certificates/CertificateHolderProvider.cs
  • Data/SAIF.Data/Queries/Tasks/TaskQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/WorkerQueryProvider.cs
  • Data/SAIF.Data/Queries/Claims/Reports/ReportQueryProvider.cs
  • Data/SAIF.Data/Queries/PaymentsQueryProvider.cs
  • Data/SAIF.Data/Queries/MedicareQueryProvider.cs
  • Data/SAIF.Data/Model/Claims/Bills/CbpBill.cs
  • Data/SAIF.Data/Model/Claims/Payments/FinancialTransaction.cs
  • Data/SAIF.Data/Model/Legal/Subpoenas/Subpoena.cs