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
SD-BR-042 Compensability status mapping
SD-BR-043 Original acceptance requires request type I with decision A
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-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
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
SD-BR-090 Superseded certificate holders excluded from search
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
SD-BR-092 Active support order has no termination date
SD-BR-093 Active report record has a null expiration date
SD-BR-094 MA code identifies medical audit payment type
SD-BR-095 Medicare history match requires all fields equal
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