Skip to content

SQL-355: Update MedicareQueryHistory via UpdateHistoryRecord

This ORM statement updates a MEDICARE_QUERY_HISTORY row with the Medicare query response data (claim number, name/gender/birth-date match, tax id) and submission dates, executed from Services/SAIF.Services/Claims/Medicare/MedicareService.cs (L93). The SQL below is inferred from the IRepository<MedicareQueryHistory>.Update call and the MedicareQueryHistory NHibernate mapping, not literal SQL text in source.

Classification

Field Value
SQL ID SQL-355
Operation type Update
Execution method ORM (IRepository.Update)
Database Oracle
Schema [unqualified]**
Command type N/A (ORM-generated)
Business object MedicareQueryHistory
Criteria property N/A — ORM
Lifecycle method UpdateHistoryRecord

Parameters

Parameter Direction Type Max length Description
:Id Input long N/A Identifier of the MedicareQueryHistory being updated (MEDICARE_QUERY_HISTORY_SEQ_NUM)
:UpdateNum Input int N/A New value of UPDATE_NUM
:PersonId Input long N/A New value of CLAIM_PERSON_ID
:FirstSubmissionDate Input DateTime N/A New value of FIRST_SUBMISSION_DATE
:LastSubmissionDate Input DateTime N/A New value of LAST_SUBMISSION_DATE
:TaxId Input string N/A New value of TAX_ID
:LastName Input string N/A New value of LAST_NAME
:FirstInitial Input string N/A New value of FIRST_INITIAL
:GenderCode Input string N/A New value of GENDER_CODE
:BirthDate Input DateTime? N/A New value of BIRTH_DATE
:IsPrimaryTaxId Input bool N/A New value of PRIMARY_TAX_ID_FLAG
:IsMedicareBeneficiary Input bool N/A New value of MEDICARE_BENEFICIARY_FLAG
:ResponseMedicareClaimNumber Input string N/A New value of RESPONSE_MEDICARE_CLAIM_NUMBER
:ResponseTaxId Input string N/A New value of RESPONSE_TAX_ID
:ResponseLastName Input string N/A New value of RESPONSE_LAST_NAME
:ResponseFirstInitial Input string N/A New value of RESPONSE_FIRST_INITIAL
:ResponseGenderCode Input string N/A New value of RESPONSE_GENDER_CODE
:ResponseBirthDate Input DateTime? N/A New value of RESPONSE_BIRTH_DATE
:UpdateUser Input string N/A New value of UPDATE_USER
:UpdateDate Input DateTime N/A New value of UPDATE_DATE

Tables

Table Access Columns used
MEDICARE_QUERY_HISTORY UPDATE MEDICARE_QUERY_HISTORY_SEQ_NUM, UPDATE_NUM, CLAIM_PERSON_ID, FIRST_SUBMISSION_DATE, LAST_SUBMISSION_DATE, TAX_ID, LAST_NAME, FIRST_INITIAL, GENDER_CODE, BIRTH_DATE, PRIMARY_TAX_ID_FLAG, MEDICARE_BENEFICIARY_FLAG, RESPONSE_MEDICARE_CLAIM_NUMBER, RESPONSE_TAX_ID, RESPONSE_LAST_NAME, RESPONSE_FIRST_INITIAL, RESPONSE_GENDER_CODE, RESPONSE_BIRTH_DATE, UPDATE_USER, UPDATE_DATE

LINQ statement

Source: Services/SAIF.Services/Claims/Medicare/MedicareService.cs:93. The repository is obtained at Services/SAIF.Services/Claims/Medicare/MedicareService.cs:66.

// Services/SAIF.Services/Claims/Medicare/MedicareService.cs:66
var repository = _unitOfWork.GetRepository<MedicareQueryHistory>();

// Services/SAIF.Services/Claims/Medicare/MedicareService.cs:93
repository.Update(historyRecord);

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
UPDATE MEDICARE_QUERY_HISTORY
SET
  UPDATE_NUM = :UpdateNum,
  CLAIM_PERSON_ID = :PersonId,
  FIRST_SUBMISSION_DATE = :FirstSubmissionDate,
  LAST_SUBMISSION_DATE = :LastSubmissionDate,
  TAX_ID = :TaxId,
  LAST_NAME = :LastName,
  FIRST_INITIAL = :FirstInitial,
  GENDER_CODE = :GenderCode,
  BIRTH_DATE = :BirthDate,
  PRIMARY_TAX_ID_FLAG = :IsPrimaryTaxId,
  MEDICARE_BENEFICIARY_FLAG = :IsMedicareBeneficiary,
  RESPONSE_MEDICARE_CLAIM_NUMBER = :ResponseMedicareClaimNumber,
  RESPONSE_TAX_ID = :ResponseTaxId,
  RESPONSE_LAST_NAME = :ResponseLastName,
  RESPONSE_FIRST_INITIAL = :ResponseFirstInitial,
  RESPONSE_GENDER_CODE = :ResponseGenderCode,
  RESPONSE_BIRTH_DATE = :ResponseBirthDate,
  UPDATE_USER = :UpdateUser,
  UPDATE_DATE = :UpdateDate
WHERE MEDICARE_QUERY_HISTORY_SEQ_NUM = :Id

Translation notes:

  • No Version(...) mapping, so the UPDATE has no optimistic-concurrency predicate.
  • Update(entity) emits an explicit UPDATE of every updatable mapped column (no DynamicUpdate() on this map).
  • repository is _unitOfWork.GetRepository<MedicareQueryHistory>() created at line 66 and passed into UpdateHistoryRecord (line 78).

Operations and processes

Sources

  • Services/SAIF.Services/Claims/Medicare/MedicareService.cs (L93)