Skip to content

SQL-132: EbillQueryProvider.GetPendedErrors

This statement is a read operation invoked through ORM (NHibernate LINQ). Executed by EbillQueryProvider.GetPendedErrors.

Classification

Field Value
SQL ID SQL-132
Operation type Read
Execution method ORM (NHibernate LINQ)
Database Oracle*
Schema [unqualified]**
Command type N/A (ORM-generated)
Business object EbillQueryProvider
Criteria property N/A — ORM
Lifecycle method GetPendedErrors

Parameters

Parameter Direction Type Max length Description
billPatientProviderId Input long N/A Evaluated client-side from bill.Patient.Provider.Id; the name is derived from the member path to avoid a collision
billPatientId Input long N/A Evaluated client-side from bill.Patient.Id
billId Input long N/A Evaluated client-side from bill.Id

Tables

Table Access Columns used
EBILL_ERROR_CONDITION SELECT EBILL_ERROR_CONDITION_SEQ_NUM, UPDATE_NUM, ERROR_TEXT, PENDED_BILL_FLAG, PROVIDER_ERROR_FLAG, EBILL_SERVICE_SUB_NUM, UPDATE_USER, UPDATE_DATE, EBILL_SEQ_NUM, EBILL_PROVIDER_SEQ_NUM, EBILL_PATIENT_SEQ_NUM

LINQ statement

Source: Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs:257. The repository is obtained at Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs:31.

// Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs:31
errorRepository = Factory.GetRepository<EbillErrorCondition>().Query();

// Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs:257
return errorRepository
    .Where(x =>
        (x.Provider.Id == bill.Patient.Provider.Id || x.Patient.Id == bill.Patient.Id ||
         x.Bill.Id == bill.Id) &&
        x.IsPendedBill)
    .ToList();

Sample SQL

Inferred SQL: This SQL was inferred from the LINQ statement above and the NHibernate mappings. It is not concrete SQL from source code; NHibernate generates the executed statement at runtime, so aliases, column order, join syntax, and bind-parameter names may differ.

-- Inferred from LINQ (NHibernate mapping translation); not concrete SQL
SELECT
  EEC.EBILL_ERROR_CONDITION_SEQ_NUM,
  EEC.UPDATE_NUM,
  EEC.ERROR_TEXT,
  EEC.PENDED_BILL_FLAG,
  EEC.PROVIDER_ERROR_FLAG,
  EEC.EBILL_SERVICE_SUB_NUM,
  EEC.UPDATE_USER,
  EEC.UPDATE_DATE,
  EEC.EBILL_SEQ_NUM,
  EEC.EBILL_PROVIDER_SEQ_NUM,
  EEC.EBILL_PATIENT_SEQ_NUM
FROM EBILL_ERROR_CONDITION EEC
WHERE (EEC.EBILL_PROVIDER_SEQ_NUM = :billPatientProviderId
    OR EEC.EBILL_PATIENT_SEQ_NUM = :billPatientId
    OR EEC.EBILL_SEQ_NUM = :billId)
  AND EEC.PENDED_BILL_FLAG = 'Y'

Translation notes:

  • Before the query runs, the in-memory walk of bill.Patient.Provider may trigger lazy-load SELECTs of EBILL_PATIENT/EBILL_PROVIDER rows by primary key, if those proxies are not initialized yet. The walk is a side effect of the partial evaluator, not part of this statement, so no SQL for it is written here.

Operations and processes

Business rules

Sources

  • Data/SAIF.Data/Queries/Claims/Ebilling/EbillQueryProvider.cs:257