SQL-014: Ebill error condition insert (EbillErrorCondition)¶
ErrorConditionHandler.NewError inserts an EbillErrorCondition row recording an indexing or generation error; the pended and provider-error flags are set according to the kind of error being recorded.
Classification¶
| Field | Value |
|---|---|
| SQL ID | SQL-014 |
| Operation type | Create |
| Execution method | ORM (IRepository.Add) |
| Database | Oracle* |
| Schema | [unqualified]** |
| Command type | N/A — ORM (NHibernate generates SQL at runtime from the ClassMaps in Data/SAIF.Data.NHibernate/Mappings/**) |
| Business object | ErrorConditionHandler |
| Criteria property | N/A — ORM |
| Lifecycle method | NewError |
Tables¶
| Table | Access | Columns used |
|---|---|---|
| EBILL_ERROR_CONDITION | INSERT | 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: Domain/SAIF.Domain/Model/Claims/Ebilling/ErrorConditionHandler.cs:28
// Domain/SAIF.Domain/Model/Claims/Ebilling/ErrorConditionHandler.cs:21-28
var error = new EbillErrorCondition
{
ErrorText = text,
UpdateDate = DateTime.Now,
UpdateUser = userProfileService.GetCurrentUser().UserId
};
Factory.GetRepository<EbillErrorCondition>().Add(error);
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 EBILL_ERROR_CONDITION_SEQ.NEXTVAL
FROM DUAL
INSERT INTO EBILL_ERROR_CONDITION (
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)
VALUES (
:Id,
:UpdateNumber,
:ErrorText,
:IsPendedBill,
:IsProviderError,
:ServiceSubNumber,
:UpdateUser,
:UpdateDate,
:Bill,
:Provider,
:Patient)
Translation notes:
- :Id is the value fetched from EBILL_ERROR_CONDITION_SEQ (GeneratedBy.Native("EBILL_ERROR_CONDITION_SEQ") on Oracle).
- :UpdateNumber is the initial version value NHibernate seeds on insert (version column mapped with Version(...)).
- :IsPendedBill, :IsProviderError are bound as 'Y'/'N' (YesNoType).
- Reference bind variables (:<Property>) carry the referenced entity's identifier value.
- The C# code assigns DateTime.Now client-side before flush; the value is bound as an ordinary parameter (no server date function).
- At Add time only ErrorText, UpdateDate, UpdateUser are set; callers later assign Bill (lines 57, 68) — if that happens before flush, the values travel in this INSERT; otherwise a dirty-check UPDATE follows (not fabricated).
Operations and processes¶
- OP-DOM-07 ErrorConditionHandler — inserts an error-condition row whose flags depend on the error kind (see Operations and processes)
Business rules¶
Note: Statements marked with
*were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with**could not be confirmed; treat as unknown until verified.
Sources¶
- Domain/SAIF.Domain/Model/Claims/Ebilling/ErrorConditionHandler.cs