---
title: SAIF.Data operations and processes
summary: Operation catalog and cross-operation hub for SAIF.Data's HTTP client, query-provider, and model-helper operations.
status: draft
owner: SAIF.Core documentation team
last_reviewed: 2026-09-24
library: SAIF.Data
reference_type: package
---

# SAIF.Data operations and processes

This page is the operation catalog and cross-operation hub for this library. 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 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| [Register data clients](operations/register-data-clients.md) | Register the Guidewire data-client configuration, HTTP clients, and cache infrastructure in the DI container. | Host application calls `AddDataClients` during startup. | `SystemType`, `systemName`, optional configure action | Registered `IDataClientConfiguration` singleton, 7 API clients, cache infrastructure | [SD-BR-001](business-rules.md#sd-br-001-data-client-configuration-created-per-systemtype-and-systemname), [SD-BR-002](business-rules.md#sd-br-002-get-responses-cached-via-polly-unless-caching-disabled) | None | None |
| [Authenticated/cached HTTP GET](operations/authenticatedcached-http-get.md) | Provide a base HTTP client with lazy construction, credential resolution, and optional response caching for Guidewire API calls. | A derived client class issues a GET or cached GET/POST call. | Request URL, optional request body, `UseCache`/`ensureSuccess` flags | Deserialized response of type `T`, or a cached copy | [SD-BR-002](business-rules.md#sd-br-002-get-responses-cached-via-polly-unless-caching-disabled), [SD-BR-003](business-rules.md#sd-br-003-service-base-url-must-come-from-environment-configuration), [SD-BR-004](business-rules.md#sd-br-004-credentials-retrieved-from-secure-setting-decrypted-with-system-hash) | None | None |
| [Get e-bill EOB extract](operations/get-e-bill-eob-extract.md) | Retrieve the e-bill explanation-of-benefits extract from the Medical Billing API for a given clearinghouse. | Caller requests an EOB extract for a clearinghouse code. | Clearinghouse code, row limit | Deserialized EOB extract result | [SD-BR-003](business-rules.md#sd-br-003-service-base-url-must-come-from-environment-configuration), [SD-BR-004](business-rules.md#sd-br-004-credentials-retrieved-from-secure-setting-decrypted-with-system-hash) | None | None |
| [Validate claim / get claim](operations/validate-claim-get-claim.md) | Validate a claim's existence and retrieve claim, worker, and worker-address data from the Guidewire CC Claim Data API. | Caller validates or retrieves a claim, worker, or worker address by id. | Claim id, claim number, worker id | Claim/worker data, or null/false | [SD-BR-010](business-rules.md#sd-br-010-claim-is-valid-only-if-cc-api-returns-http-200), [SD-BR-011](business-rules.md#sd-br-011-id-of-0-returns-null-without-calling-the-api) | None | None |
| [Get latest MCO](operations/get-latest-mco.md) | Determine the worker's currently effective managed-care organization (MCO) location for a claim. | Caller requests the latest MCO for a claim. | Claim id | `McoLocation` (possibly empty) | [SD-BR-012](business-rules.md#sd-br-012-latest-mco-selection-precedence) | None | None |
| [Bill queue processing](operations/bill-queue-processing.md) | Retrieve the next claim bill from the processing queue, or restore a bill to the queue. | Bill-entry task processing requests the next queued bill, or restores one. | Queue flag, task id | Bill data with return/image codes, or a restore result code | [SD-BR-013](business-rules.md#sd-br-013-bill-queue-http-status-mapping) | None | None |
| [RCT policy selection](operations/rct-policy-selection.md) | Retrieve RCT (rate-change-tracking) policy selection data for a given date. | Caller requests policy selection for a flag and date. | Flag, date | Deserialized policy selection result | None | None | None |
| [Claim security override check](operations/claim-security-override-check.md) | Determine whether an employee has a security override permitting access to a restricted claim. | Access check for an employee against a claim. | Claim id, employee id | bool | [SD-BR-020](business-rules.md#sd-br-020-employee-has-claim-security-override-only-when-override-row-matches-claim-and-employee-within-effdate-to-expdate-window) | [CL_SECURITY_OVERRIDE](database-tables.md#cl_security_override) | [SQL-073](sql/SQL-073-claim-security-override-provider-has-claim-security-override.md) |
| [Recoverable overpayment balance](operations/recoverable-overpayment-balance.md) | Compute the total recoverable overpayment balance outstanding for a worker. | Caller requests a worker's recoverable overpayment balance. | Worker id | decimal | [SD-BR-021](business-rules.md#sd-br-021-recoverable-balance-sums-outstanding-amount-for-non-amended-overpayments) | [CL_OVERPAYMENT](database-tables.md#cl_overpayment), [CL_CLAIM_PERSON](database-tables.md#cl_claim_person) | [SQL-190](sql/SQL-190-overpayment-query-provider-get-recoverable-balance.md) |
| [Bill audit evaluation](operations/bill-audit-evaluation.md) | Evaluate audited bill services to determine nurse-review requirements, duplicate/physical-medicine counts, and service date ranges. | Bill audit workflow evaluates a bill's audited services. | Bill id, service collection | bool / int counts / service list | [SD-BR-030](business-rules.md#sd-br-030-nurse-review-required-if-any-audited-service-code-flags-it), [SD-BR-031](business-rules.md#sd-br-031-duplicate-services-excluded-from-count), [SD-BR-032](business-rules.md#sd-br-032-unset-thru-date-treated-as-open-ended) | [CBP_AUDIT](database-tables.md#cbp_audit), [CBP_BILL](database-tables.md#cbp_bill), [CBP_NATIONAL_DRUG](database-tables.md#cbp_national_drug), [CBP_SERVICE_CODE](database-tables.md#cbp_service_code), [CBP_AUDITED_SERVICE](database-tables.md#cbp_audited_service) | [SQL-013](sql/SQL-013-audit-query-provider-get-audit.md), [SQL-014](sql/SQL-014-audit-query-provider-get-audit-for-bill.md), [SQL-015](sql/SQL-015-audit-query-provider-get-national-drug-code.md), [SQL-016](sql/SQL-016-audit-query-provider-is-nurse-review-required.md), [SQL-017](sql/SQL-017-audit-query-provider-is-nurse-review-required.md), [SQL-018](sql/SQL-018-audit-query-provider-get-non-duplicate-service-count.md) |
| [Audit note concurrency check](operations/audit-note-concurrency-check.md) | Verify that an audit note can be saved without an optimistic-concurrency conflict. | Caller attempts to save an audit note. | Note id, update number | bool | [SD-BR-033](business-rules.md#sd-br-033-audit-note-save-allowed-only-under-optimistic-concurrency-match) | [CBP_NOTE](database-tables.md#cbp_note), [CBP_BILL](database-tables.md#cbp_bill), [CBP_NOTE_TYPE_CODE](database-tables.md#cbp_note_type_code), [CBP_NOTE_CATEGORY_CODE](database-tables.md#cbp_note_category_code) | [SQL-004](sql/SQL-004-audit-note-query-provider-get-audit-note.md), [SQL-005](sql/SQL-005-audit-note-query-provider-get-audit-notes-for-claim.md), [SQL-006](sql/SQL-006-audit-note-query-provider-get-audit-notes-for-bill.md), [SQL-007](sql/SQL-007-audit-note-query-provider-get-all-audit-notes.md), [SQL-008](sql/SQL-008-audit-note-query-provider-get-note-type-code.md), [SQL-009](sql/SQL-009-audit-note-query-provider-get-note-categories.md) |
| [Bill queries](operations/bill-queries.md) | Query bill records, entry-source classification, allowed amounts, and non-expired service codes. | Bill-related read operations. | Bill id, service code | Bill/service data | [SD-BR-034](business-rules.md#sd-br-034-bill-entry-source-classification), [SD-BR-035](business-rules.md#sd-br-035-bill-allowed-total-treats-null-as-zero), [SD-BR-036](business-rules.md#sd-br-036-service-code-current-only-when-expiration-date-is-null) | [CBP_BILL](database-tables.md#cbp_bill), [CBP_BILL_TYPE_CODE](database-tables.md#cbp_bill_type_code), [CBP_BILL_STATUS_CODE](database-tables.md#cbp_bill_status_code), [CBP_BILL_STATUS](database-tables.md#cbp_bill_status), [CBP_BILL_ENTRY_SOURCE_CODE](database-tables.md#cbp_bill_entry_source_code) | [SQL-024](sql/SQL-024-bill-query-provider-bill-exists.md), [SQL-025](sql/SQL-025-bill-query-provider-get-bill.md), [SQL-026](sql/SQL-026-bill-query-provider-get-bills-for-claim.md), [SQL-027](sql/SQL-027-bill-query-provider-get-bill-ids-for-claim.md), [SQL-028](sql/SQL-028-bill-query-provider-get-bill-types.md), [SQL-029](sql/SQL-029-bill-query-provider-get-bill-status-code.md) |
| [Attending physician resolution](operations/attending-physician-resolution.md) | Resolve the attending physician's location for a claim, combining physician and facility contacts. | Caller requests the attending physician location for a claim. | Claim id | Location, or throws | [SD-BR-040](business-rules.md#sd-br-040-physician-without-facility-is-invalid) | [PROVIDER_LOCATION](database-tables.md#provider_location) | [SQL-057](sql/SQL-057-claim-query-provider-get-attending-physician.md) |
| [Claim status and compensability](operations/claim-status-and-compensability.md) | Resolve claim status, compensability, original acceptance decision, and legacy MCO enrollment date; reject retired WCIS activity queries. | Caller requests claim status/compensability/acceptance data. | Claim id | Status/code data, or `NotImplementedException` | [SD-BR-041](business-rules.md#sd-br-041-latest-claim-status-falls-back-to-wcd-status-when-no-history), [SD-BR-042](business-rules.md#sd-br-042-compensability-status-mapping), [SD-BR-043](business-rules.md#sd-br-043-original-acceptance-requires-request-type-i-with-decision-a), [SD-BR-044](business-rules.md#sd-br-044-mco-enrollment-date-only-when-eligibility-is-y), [SD-BR-045](business-rules.md#sd-br-045-retired-wcis-claim-activity-queries-are-unsupported) | [LPT_CLAIM_CROSS_REFERENCE](database-tables.md#lpt_claim_cross_reference), [CL_CLAIM_STATUS_ACTIVITY](database-tables.md#cl_claim_status_activity), [CL_CLAIM_PERSON_ADDRESS](database-tables.md#cl_claim_person_address), [CL_CLAIM_REQUEST_DECISION](database-tables.md#cl_claim_request_decision) | [SQL-056](sql/SQL-056-claim-query-provider-get-claim-from-injury-claim-cross-reference.md), [SQL-058](sql/SQL-058-claim-query-provider-get-claim-status-date.md), [SQL-059](sql/SQL-059-claim-query-provider-get-claim-person-addresses.md), [SQL-061](sql/SQL-061-claim-query-provider-get-claim-status-activity.md), [SQL-062](sql/SQL-062-claim-query-provider-get-claim-request-decisions.md), [SQL-063](sql/SQL-063-claim-query-provider-get-original-acceptance.md) |
| [Claim financial transactions](operations/claim-financial-transactions.md) | Retrieve and translate a claim's time-loss financial transactions from the Guidewire financials API. | Caller requests financial transactions for a claim. | Claim id | Filtered/translated financial transaction list | [SD-BR-046](business-rules.md#sd-br-046-time-loss-financials-filtered-by-check-status-and-category), [SD-BR-047](business-rules.md#sd-br-047-guidewire-category-code-must-map-to-a-legacy-category), [SD-BR-048](business-rules.md#sd-br-048-guidewire-vocational-status-mapped-to-legacy-code) | None | None |
| [Claim data-quality queries](operations/claim-data-quality-queries.md) | Identify claims with data-quality issues such as a missing tax id or outstanding reserves. | Data-quality/reporting queries. | None (batch scan) | Claim lists | [SD-BR-049](business-rules.md#sd-br-049-missing-tax-id-identified-by-a-single-space) | [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim), [CL_CLAIM_PERSON](database-tables.md#cl_claim_person) | [SQL-060](sql/SQL-060-claim-query-provider-get-claims-missing-tax-id.md) |
| [E-bill processing queries](operations/e-bill-processing-queries.md) | Support e-bill lifecycle queries: status/assignment classification, clearinghouse response-file selection, compound-drug flagging, batch classification, zero-pay EOB candidates, DRG lookup, and active clearinghouse resolution. | E-bill processing workflow steps. | Bill/EOB/batch identifiers | Bill/EOB/batch data, flags set | [SD-BR-050](business-rules.md#sd-br-050-e-bill-status-and-assignment-rule-code-sets), [SD-BR-051](business-rules.md#sd-br-051-bill-included-in-clearinghouse-response-file-by-response-batch-state), [SD-BR-052](business-rules.md#sd-br-052-multiple-prescription-numbers-mark-all-ndc-lines-as-compound-drug), [SD-BR-053](business-rules.md#sd-br-053-e-bill-batch-type-classification), [SD-BR-054](business-rules.md#sd-br-054-zero-pay-eob-candidate-criteria), [SD-BR-055](business-rules.md#sd-br-055-drg-code-identified-by-health-information-type), [SD-BR-056](business-rules.md#sd-br-056-active-clearinghouse-has-a-null-end-date) | [EBILL_ADDRESS](database-tables.md#ebill_address), [EBILL_ADDRESS_TYPE_CODE](database-tables.md#ebill_address_type_code), [EBILL_BATCH](database-tables.md#ebill_batch), [EBILL_ADDRESS_OVERRIDE](database-tables.md#ebill_address_override), [EBILL_CLEARINGHOUSE](database-tables.md#ebill_clearinghouse) | [SQL-074](sql/SQL-074-ebill-address-query-provider-get-address.md), [SQL-075](sql/SQL-075-ebill-address-query-provider-get-address-type-by-code.md), [SQL-076](sql/SQL-076-ebill-address-query-provider-get-address-by-batch-id.md), [SQL-077](sql/SQL-077-ebill-address-query-provider-get-addresses-to-override.md), [SQL-078](sql/SQL-078-ebill-batch-query-provider-get-batch.md), [SQL-079](sql/SQL-079-ebill-batch-query-provider-get-batch.md) |
| [Legal case queries](operations/legal-case-queries.md) | Resolve a claim id for a legal case, resolve preferred employee names, and retrieve financial transactions by invoice number. | Legal case processing workflow. | Case number(s), invoice number | Claim id, name, payment | [SD-BR-060](business-rules.md#sd-br-060-case-to-claim-resolution-precedence), [SD-BR-061](business-rules.md#sd-br-061-preferred-employee-name-takes-precedence) | [LEGAL_CASE](database-tables.md#legal_case), [CASE_COST](database-tables.md#case_cost), [LEGAL_BILL](database-tables.md#legal_bill), [SUBPOENA](database-tables.md#subpoena), [APPEAL](database-tables.md#appeal) | [SQL-152](sql/SQL-152-legal-query-provider-get-legal-case.md), [SQL-153](sql/SQL-153-legal-query-provider-get-legal-cases.md), [SQL-154](sql/SQL-154-legal-query-provider-get-claim-id-for-case.md), [SQL-155](sql/SQL-155-legal-query-provider-get-case-cost.md), [SQL-156](sql/SQL-156-legal-query-provider-get-legal-bills.md), [SQL-157](sql/SQL-157-legal-query-provider-get-subpoenas.md) |
| [Location lookups](operations/location-lookups.md) | Resolve location and contact records using fixed location codes and contact-type precedence. | Location resolution requests. | Policy/claim id, state | Location data | [SD-BR-062](business-rules.md#sd-br-062-location-code-and-contact-type-precedence) | [LOCATION](database-tables.md#location), [CONTACT](database-tables.md#contact), [OFFICE_CODE](database-tables.md#office_code) | [SQL-167](sql/SQL-167-location-query-provider-get-location.md), [SQL-168](sql/SQL-168-location-query-provider-get-policy-locations.md), [SQL-169](sql/SQL-169-location-query-provider-get-primary-location.md), [SQL-170](sql/SQL-170-location-query-provider-get-policy-mailing-location.md), [SQL-171](sql/SQL-171-location-query-provider-get-location-contacts.md), [SQL-172](sql/SQL-172-location-query-provider-get-polcy-claim-location-with-default.md) |
| [Output document queries](operations/output-document-queries.md) | Query policy output documents by status, category, agency visibility, and parent/child release state. | Document retrieval requests from agency/policy workflows. | Policy id, category, document id | Document list, or throws | [SD-BR-070](business-rules.md#sd-br-070-output-document-status-code-set), [SD-BR-071](business-rules.md#sd-br-071-document-date-defaults-from-batch-process-log), [SD-BR-072](business-rules.md#sd-br-072-agency-sees-only-agency-viewable-and-inbox-viewable-documents), [SD-BR-073](business-rules.md#sd-br-073-blank-or-all-category-applies-no-filter), [SD-BR-074](business-rules.md#sd-br-074-policy-or-account-filter-returns-policy-docs-only-while-account-docs-remain-unused), [SD-BR-075](business-rules.md#sd-br-075-child-documents-only-retrievable-for-a-released-parent) | [document_status_code](database-tables.md#document_status_code), [POLICY](database-tables.md#policy), [batch_process_log](database-tables.md#batch_process_log), [policy_output_document](database-tables.md#policy_output_document), [output_document_type_code](database-tables.md#output_document_type_code) | [SQL-181](sql/SQL-181-output-document-query-provider-get-released-status.md), [SQL-182](sql/SQL-182-output-document-query-provider-get-account-number.md), [SQL-183](sql/SQL-183-output-document-query-provider-get-document-date.md), [SQL-184](sql/SQL-184-output-document-query-provider-document-system-date.md), [SQL-185](sql/SQL-185-output-document-query-provider-get-policy-output-document.md), [SQL-186](sql/SQL-186-output-document-query-provider-policy-output-document-query.md) |
| [Provider queries](operations/provider-queries.md) | Query provider identity, relationship, address, location, and MCO-window data used across bill and claim workflows. | Provider lookup or update requests. | Provider id, bill id, MCO id | Provider data, updated audit stamp, bool | [SD-BR-080](business-rules.md#sd-br-080-provider-identity-relationship-and-address-code-sets), [SD-BR-081](business-rules.md#sd-br-081-provider-updates-stamped-with-a-fixed-audit-user), [SD-BR-082](business-rules.md#sd-br-082-dismissed-bills-excluded-from-provider-location-ids), [SD-BR-083](business-rules.md#sd-br-083-provider-in-mco-only-within-date-window) | [PROVIDER_ADDRESS](database-tables.md#provider_address), [PROVIDER](database-tables.md#provider), [PROVIDER_TAX_ID](database-tables.md#provider_tax_id), [PROVIDER_LOCATION](database-tables.md#provider_location) | [SQL-200](sql/SQL-200-provider-query-provider-get-provider-address-last-update-date.md), [SQL-201](sql/SQL-201-provider-query-provider-get-all-active-provider-addresses-for-update-date.md), [SQL-202](sql/SQL-202-provider-query-provider-get-provider.md), [SQL-203](sql/SQL-203-provider-query-provider-get-provider-by-tax-id.md), [SQL-204](sql/SQL-204-provider-query-provider-get-provider-by-tax-id.md), [SQL-205](sql/SQL-205-provider-query-provider-get-location.md) |
| [Other query providers](operations/other-query-providers.md) | Support certificate-holder search, task lookup, worker/support-order queries, report/payment classification, and Medicare beneficiary history matching. | Miscellaneous read queries across certificate, task, worker, report, payment, and Medicare domains. | Search terms, worker id, code values | Filtered lists, counts, bool | [SD-BR-090](business-rules.md#sd-br-090-superseded-certificate-holders-excluded-from-search), [SD-BR-091](business-rules.md#sd-br-091-task-codes-compared-case-insensitively), [SD-BR-092](business-rules.md#sd-br-092-active-support-order-has-no-termination-date), [SD-BR-093](business-rules.md#sd-br-093-active-report-record-has-a-null-expiration-date), [SD-BR-094](business-rules.md#sd-br-094-ma-code-identifies-medical-audit-payment-type), [SD-BR-095](business-rules.md#sd-br-095-medicare-history-match-requires-all-fields-equal) | [LOCATION_VERIFICATION_REQUEST](database-tables.md#location_verification_request), [ADDRESS_VERIFICATION_REQUEST](database-tables.md#address_verification_request), [VERIFIED_ADDRESS](database-tables.md#verified_address), [CERTIFICATE_HOLDER](database-tables.md#certificate_holder) | [SQL-001](sql/SQL-001-address-verification-query-provider-get-location-verification-requests.md), [SQL-002](sql/SQL-002-address-verification-query-provider-get-address-verification-requests.md), [SQL-003](sql/SQL-003-address-verification-query-provider-get-verified-address.md), [SQL-051](sql/SQL-051-certificate-holder-query-provider-get-certificate-holder.md), [SQL-052](sql/SQL-052-certificate-holder-query-provider-get-certificate-holders.md), [SQL-053](sql/SQL-053-certificate-holder-query-provider-get-certificate-holders.md) |
| [Model helper operations](operations/model-helper-operations.md) | Provide in-memory model helper behavior: child id sequencing, financial-transaction validation, subpoena classification, cost-category lookup, and show-only enum conversion. | Callers construct or classify in-memory domain model instances. | Model instances/fields | Mutated model state, classification results | [SD-BR-100](business-rules.md#sd-br-100-child-procedure-and-service-ids-auto-increment), [SD-BR-101](business-rules.md#sd-br-101-financial-transaction-detail-must-not-be-null), [SD-BR-102](business-rules.md#sd-br-102-subpoena-classification-helpers), [SD-BR-103](business-rules.md#sd-br-103-claim-cost-category-code-lookups-and-aliases), [SD-BR-104](business-rules.md#sd-br-104-unknown-show-only-string-defaults-to-unread) | None | None |

## Process flow diagram
The following diagram visualizes the primary operational flow across operations.

```mermaid
flowchart TD
	Start([Caller request]) --> Register[Register data clients]
	Register --> HttpCall[Authenticated/cached HTTP GET]
	HttpCall --> Decision{"Guidewire API or local ORM query?"}
	Decision -->|Guidewire API| ClaimOps[Claim/legal/e-bill API operations]
	Decision -->|Local ORM| QueryOps[Query-provider read operations]
	ClaimOps --> EndOk([Data returned to caller])
	QueryOps --> EndOk
```

## 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 |
| --- | --- | --- | --- |
| [Claim security override check](operations/claim-security-override-check.md) | [SQL-073](sql/SQL-073-claim-security-override-provider-has-claim-security-override.md) | [CL_SECURITY_OVERRIDE](database-tables.md#cl_security_override) | Read/Write* |
| [Recoverable overpayment balance](operations/recoverable-overpayment-balance.md) | [SQL-190](sql/SQL-190-overpayment-query-provider-get-recoverable-balance.md) | [CL_OVERPAYMENT](database-tables.md#cl_overpayment), [CL_CLAIM_PERSON](database-tables.md#cl_claim_person) | Read/Write* |
| [Bill audit evaluation](operations/bill-audit-evaluation.md) | [SQL-013](sql/SQL-013-audit-query-provider-get-audit.md), [SQL-014](sql/SQL-014-audit-query-provider-get-audit-for-bill.md), [SQL-015](sql/SQL-015-audit-query-provider-get-national-drug-code.md), [SQL-016](sql/SQL-016-audit-query-provider-is-nurse-review-required.md), [SQL-017](sql/SQL-017-audit-query-provider-is-nurse-review-required.md), [SQL-018](sql/SQL-018-audit-query-provider-get-non-duplicate-service-count.md) | [CBP_AUDIT](database-tables.md#cbp_audit), [CBP_BILL](database-tables.md#cbp_bill), [CBP_NATIONAL_DRUG](database-tables.md#cbp_national_drug), [CBP_SERVICE_CODE](database-tables.md#cbp_service_code), [CBP_AUDITED_SERVICE](database-tables.md#cbp_audited_service) | Read/Write* |
| [Audit note concurrency check](operations/audit-note-concurrency-check.md) | [SQL-004](sql/SQL-004-audit-note-query-provider-get-audit-note.md), [SQL-005](sql/SQL-005-audit-note-query-provider-get-audit-notes-for-claim.md), [SQL-006](sql/SQL-006-audit-note-query-provider-get-audit-notes-for-bill.md), [SQL-007](sql/SQL-007-audit-note-query-provider-get-all-audit-notes.md), [SQL-008](sql/SQL-008-audit-note-query-provider-get-note-type-code.md), [SQL-009](sql/SQL-009-audit-note-query-provider-get-note-categories.md) | [CBP_NOTE](database-tables.md#cbp_note), [CBP_BILL](database-tables.md#cbp_bill), [CBP_NOTE_TYPE_CODE](database-tables.md#cbp_note_type_code), [CBP_NOTE_CATEGORY_CODE](database-tables.md#cbp_note_category_code) | Read/Write* |
| [Bill queries](operations/bill-queries.md) | [SQL-024](sql/SQL-024-bill-query-provider-bill-exists.md), [SQL-025](sql/SQL-025-bill-query-provider-get-bill.md), [SQL-026](sql/SQL-026-bill-query-provider-get-bills-for-claim.md), [SQL-027](sql/SQL-027-bill-query-provider-get-bill-ids-for-claim.md), [SQL-028](sql/SQL-028-bill-query-provider-get-bill-types.md), [SQL-029](sql/SQL-029-bill-query-provider-get-bill-status-code.md) | [CBP_BILL](database-tables.md#cbp_bill), [CBP_BILL_TYPE_CODE](database-tables.md#cbp_bill_type_code), [CBP_BILL_STATUS_CODE](database-tables.md#cbp_bill_status_code), [CBP_BILL_STATUS](database-tables.md#cbp_bill_status), [CBP_BILL_ENTRY_SOURCE_CODE](database-tables.md#cbp_bill_entry_source_code) | Read/Write* |
| [Attending physician resolution](operations/attending-physician-resolution.md) | [SQL-057](sql/SQL-057-claim-query-provider-get-attending-physician.md) | [PROVIDER_LOCATION](database-tables.md#provider_location) | Read/Write* |
| [Claim status and compensability](operations/claim-status-and-compensability.md) | [SQL-056](sql/SQL-056-claim-query-provider-get-claim-from-injury-claim-cross-reference.md), [SQL-058](sql/SQL-058-claim-query-provider-get-claim-status-date.md), [SQL-059](sql/SQL-059-claim-query-provider-get-claim-person-addresses.md), [SQL-061](sql/SQL-061-claim-query-provider-get-claim-status-activity.md), [SQL-062](sql/SQL-062-claim-query-provider-get-claim-request-decisions.md), [SQL-063](sql/SQL-063-claim-query-provider-get-original-acceptance.md) | [LPT_CLAIM_CROSS_REFERENCE](database-tables.md#lpt_claim_cross_reference), [CL_CLAIM_STATUS_ACTIVITY](database-tables.md#cl_claim_status_activity), [CL_CLAIM_PERSON_ADDRESS](database-tables.md#cl_claim_person_address), [CL_CLAIM_REQUEST_DECISION](database-tables.md#cl_claim_request_decision) | Read/Write* |
| [Claim data-quality queries](operations/claim-data-quality-queries.md) | [SQL-060](sql/SQL-060-claim-query-provider-get-claims-missing-tax-id.md) | [CL_INJURY_CLAIM](database-tables.md#cl_injury_claim), [CL_CLAIM_PERSON](database-tables.md#cl_claim_person) | Read/Write* |
| [E-bill processing queries](operations/e-bill-processing-queries.md) | [SQL-074](sql/SQL-074-ebill-address-query-provider-get-address.md), [SQL-075](sql/SQL-075-ebill-address-query-provider-get-address-type-by-code.md), [SQL-076](sql/SQL-076-ebill-address-query-provider-get-address-by-batch-id.md), [SQL-077](sql/SQL-077-ebill-address-query-provider-get-addresses-to-override.md), [SQL-078](sql/SQL-078-ebill-batch-query-provider-get-batch.md), [SQL-079](sql/SQL-079-ebill-batch-query-provider-get-batch.md) | [EBILL_ADDRESS](database-tables.md#ebill_address), [EBILL_ADDRESS_TYPE_CODE](database-tables.md#ebill_address_type_code), [EBILL_BATCH](database-tables.md#ebill_batch), [EBILL_ADDRESS_OVERRIDE](database-tables.md#ebill_address_override), [EBILL_CLEARINGHOUSE](database-tables.md#ebill_clearinghouse) | Read/Write* |
| [Legal case queries](operations/legal-case-queries.md) | [SQL-152](sql/SQL-152-legal-query-provider-get-legal-case.md), [SQL-153](sql/SQL-153-legal-query-provider-get-legal-cases.md), [SQL-154](sql/SQL-154-legal-query-provider-get-claim-id-for-case.md), [SQL-155](sql/SQL-155-legal-query-provider-get-case-cost.md), [SQL-156](sql/SQL-156-legal-query-provider-get-legal-bills.md), [SQL-157](sql/SQL-157-legal-query-provider-get-subpoenas.md) | [LEGAL_CASE](database-tables.md#legal_case), [CASE_COST](database-tables.md#case_cost), [LEGAL_BILL](database-tables.md#legal_bill), [SUBPOENA](database-tables.md#subpoena), [APPEAL](database-tables.md#appeal) | Read/Write* |
| [Location lookups](operations/location-lookups.md) | [SQL-167](sql/SQL-167-location-query-provider-get-location.md), [SQL-168](sql/SQL-168-location-query-provider-get-policy-locations.md), [SQL-169](sql/SQL-169-location-query-provider-get-primary-location.md), [SQL-170](sql/SQL-170-location-query-provider-get-policy-mailing-location.md), [SQL-171](sql/SQL-171-location-query-provider-get-location-contacts.md), [SQL-172](sql/SQL-172-location-query-provider-get-polcy-claim-location-with-default.md) | [LOCATION](database-tables.md#location), [CONTACT](database-tables.md#contact), [OFFICE_CODE](database-tables.md#office_code) | Read/Write* |
| [Output document queries](operations/output-document-queries.md) | [SQL-181](sql/SQL-181-output-document-query-provider-get-released-status.md), [SQL-182](sql/SQL-182-output-document-query-provider-get-account-number.md), [SQL-183](sql/SQL-183-output-document-query-provider-get-document-date.md), [SQL-184](sql/SQL-184-output-document-query-provider-document-system-date.md), [SQL-185](sql/SQL-185-output-document-query-provider-get-policy-output-document.md), [SQL-186](sql/SQL-186-output-document-query-provider-policy-output-document-query.md) | [document_status_code](database-tables.md#document_status_code), [POLICY](database-tables.md#policy), [batch_process_log](database-tables.md#batch_process_log), [policy_output_document](database-tables.md#policy_output_document), [output_document_type_code](database-tables.md#output_document_type_code) | Read/Write* |
| [Provider queries](operations/provider-queries.md) | [SQL-200](sql/SQL-200-provider-query-provider-get-provider-address-last-update-date.md), [SQL-201](sql/SQL-201-provider-query-provider-get-all-active-provider-addresses-for-update-date.md), [SQL-202](sql/SQL-202-provider-query-provider-get-provider.md), [SQL-203](sql/SQL-203-provider-query-provider-get-provider-by-tax-id.md), [SQL-204](sql/SQL-204-provider-query-provider-get-provider-by-tax-id.md), [SQL-205](sql/SQL-205-provider-query-provider-get-location.md) | [PROVIDER_ADDRESS](database-tables.md#provider_address), [PROVIDER](database-tables.md#provider), [PROVIDER_TAX_ID](database-tables.md#provider_tax_id), [PROVIDER_LOCATION](database-tables.md#provider_location) | Read/Write* |
| [Other query providers](operations/other-query-providers.md) | [SQL-001](sql/SQL-001-address-verification-query-provider-get-location-verification-requests.md), [SQL-002](sql/SQL-002-address-verification-query-provider-get-address-verification-requests.md), [SQL-003](sql/SQL-003-address-verification-query-provider-get-verified-address.md), [SQL-051](sql/SQL-051-certificate-holder-query-provider-get-certificate-holder.md), [SQL-052](sql/SQL-052-certificate-holder-query-provider-get-certificate-holders.md), [SQL-053](sql/SQL-053-certificate-holder-query-provider-get-certificate-holders.md) | [LOCATION_VERIFICATION_REQUEST](database-tables.md#location_verification_request), [ADDRESS_VERIFICATION_REQUEST](database-tables.md#address_verification_request), [VERIFIED_ADDRESS](database-tables.md#verified_address), [CERTIFICATE_HOLDER](database-tables.md#certificate_holder) | Read/Write* |

## Failure and edge-case behavior
- Guidewire API calls (OP-SD-03 through OP-SD-07): non-success HTTP status codes generally throw or map to sentinel return codes rather than silently returning defaults; see each operation's detail page.
- ORM query providers (OP-SD-08 through OP-SD-22): absence of matching rows generally yields an empty collection, false, or a zero sum rather than an exception, except where noted (e.g. OP-SD-20 child-document release check).

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)

## Sources
- `Data/SAIF.Data/Configuration/ContainerBuilderExtensions.cs`
- `Data/SAIF.Data/Clients/HttpClientBase.cs`
- `Data/SAIF.Data/Queries/Claims/CCClaimApiService.cs`
