SQL-142: EbillingQueryProvider.GetClearinghouse¶
This statement is a read operation invoked through ORM (NHibernate LINQ). Executed by EbillingQueryProvider.GetClearinghouse.
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-142 |
| Operation type | Read |
| Execution method | ORM (NHibernate LINQ) |
| Database | Oracle* |
| Schema | [unqualified]** |
| Command type | N/A (ORM-generated) |
| Business object | EbillingQueryProvider |
| Criteria property | N/A — ORM |
| Lifecycle method | GetClearinghouse |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| EBILL_CLEARINGHOUSE | SELECT | EBILL_CLEARINGHOUSE_SEQ_NUM, UPDATE_NUM, CLEARINGHOUSE_NAME, CLEARINGHOUSE_TAX_ID, BEGIN_DATE, END_DATE, PAYER_USER_ID, PAYER_NAME, PAYER_TAX_ID, REPETITION_SEPARATOR, ELEMENT_DELIMITER, VERSION_CONTROL_NUM, BUSINESS_PHONE_NUM, TECH_SUPPORT_PHONE_NUM, SAIF_EOB_RULE_URL_ADDR, UPDATE_USER, UPDATE_DATE, MCO_ADJUSTMENT_REASON_CODE, MCO_ADJUSTMENT_GROUP_CODE, MCO_REMITTANCE_ADVICE_CODE, TRANSACTION_FEE_AMT, CLEARINGHOUSE_CODE, SAIF_LOC_SEQ_NUM |
LINQ statement¶
Source: Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs:141. The repository is obtained at Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs:39.
// Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs:39
clearinghouses = factory.GetRepository<EbillClearinghouse>().Query();
// Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs:141
return clearinghouses.FirstOrDefault(x => x.EndDate == null);
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 *
FROM (
SELECT
EC.EBILL_CLEARINGHOUSE_SEQ_NUM,
EC.UPDATE_NUM,
EC.CLEARINGHOUSE_NAME,
EC.CLEARINGHOUSE_TAX_ID,
EC.BEGIN_DATE,
EC.END_DATE,
EC.PAYER_USER_ID,
EC.PAYER_NAME,
EC.PAYER_TAX_ID,
EC.REPETITION_SEPARATOR,
EC.ELEMENT_DELIMITER,
EC.VERSION_CONTROL_NUM,
EC.BUSINESS_PHONE_NUM,
EC.TECH_SUPPORT_PHONE_NUM,
EC.SAIF_EOB_RULE_URL_ADDR,
EC.UPDATE_USER,
EC.UPDATE_DATE,
EC.MCO_ADJUSTMENT_REASON_CODE,
EC.MCO_ADJUSTMENT_GROUP_CODE,
EC.MCO_REMITTANCE_ADVICE_CODE,
EC.TRANSACTION_FEE_AMT,
EC.CLEARINGHOUSE_CODE,
EC.SAIF_LOC_SEQ_NUM
FROM EBILL_CLEARINGHOUSE EC
WHERE EC.END_DATE IS NULL
)
WHERE ROWNUM <= 1
Translation notes:
- Oracle10 row limit for FirstOrDefault(): the query (including any ORDER BY) is wrapped in ROWNUM <= 1 (limit written inline; NHibernate binds it as a parameter at runtime).
- x.EndDate == null becomes IS NULL. There is no OrderBy, so the row returned when several are active is not deterministic.
Operations and processes¶
Business rules¶
Sources¶
Data/SAIF.Data/Queries/Claims/EbillingQueryProvider.cs:141