so, I just noticed that the view seems to work if I change the following in the query:
REPLACE(REPLACE(claimlin.claimno,'-', ''),'.','') AS 'ClaimNumber', ----
to
LEFT(claimlin.claimno,2) + SUBSTRING(claimlin.claimno, 9,2) + SUBSTRING(claimlin.claimno, 12,2) + SUBSTRING(claimlin.claimno, 6,2) + SUBSTRING(claimlin.claimno, 15,3) + RIGHT(claimlin.claimno, 2)) AS 'ClaimNumber', ----
They are obviously not equivalent. I had originally used the 2nd option, but the functional dept using this view needed the 1st option.
Any idea why/how this might affect anything?
+
Here's the entire sql statement behind the view:
CREATE VIEW dbo.vwMCSHeader
AS
-- MCS Header File Query
--***** HCFA CLAIMS (837 Professional) ***** --
SELECT DISTINCT
COALESCE(
CASE RTRIM(claimlin.altclm)
WHEN '' THEN NULL
ELSE claimlin.altclm
END,
LEFT(claimlin.claimno,2) + SUBSTRING(claimlin.claimno, 9,2) + SUBSTRING(claimlin.claimno, 12,2) +
SUBSTRING(claimlin.claimno, 6,2) + SUBSTRING(claimlin.claimno, 15,3) + RIGHT(claimlin.claimno, 2)
) AS 'ClaimNumber', ----
-- REPLACE(REPLACE(claimlin.claimno,'-', ''),'.','')
-- ) AS 'ClaimNumber', ----
CASE claimlin.formcd
WHEN 'H' THEN 'P'
WHEN 'U' THEN
CASE claimlin.poscod
WHEN 21 THEN 'I'
ELSE 'O'
END
END AS 'ClaimType', ----
SPACE(1) AS 'BillingProviderSecondaryIDNumber', ----
CASE vendor.fmtcod
WHEN 9 THEN vendor.lstnam + vendor.fstnam + vendor.midnam + vendor.titlcd
ELSE RTRIM(vendor.fstnam) + ' ' + RTRIM(vendor.midnam) + ' ' + RTRIM(vendor.lstnam) + ' ' + RTRIM(vendor.titlcd)
END AS 'BillingProviderName', ----
vendor.adrln1 AS 'BillingProviderAddress', ----
vendor.citycd AS 'BillingProviderCityCode', ----
vendor.stacod AS 'BillingProviderStateCode', ----
vendor.zipcod AS 'BillingProviderZipCode', ----
'USA' AS 'BillingProviderCountryCode', ----
'34' AS 'BillingProviderIDCodeQualifier', ----
vendor.fedtax AS 'BillingProviderIDCode', ----
SPACE(1) AS 'BillingProviderTaxonomyCode', --XXXX
provider.prvupn AS 'RenderingProviderSecondaryID', ----
'82' AS 'RenderingIDType', ----
CASE provider.facind
WHEN 'Y' THEN '2'
WHEN 'N' THEN '1'
END AS 'RenderingIDTypeQualifier', ----
provider.fstnam AS 'RenderingProviderFirstName', ----
provider.lstnam AS 'RenderingProviderLastName', ----
provider.midnam AS 'RenderingProviderMiddleName', ----
provider.titlcd AS 'RenderingProviderSuffix', ----
24 AS 'RenderingProviderIDCodeQualifier', ----
provider.altprv AS 'RenderingProviderIDCode', ---- OMAP ID
provider.specd1 AS 'RenderingProviderTaxonomyCode', ----
SPACE(1) AS 'InsuranceTypeCode', --XXXX
'MC' AS 'ClaimFilingIndicatorCode', ----
COALESCE(
CASE RTRIM(demograp.altnum)
WHEN '' THEN NULL
WHEN NULL THEN NULL
ELSE demograp.altnum
END,
claimlin.membno
) AS 'MemberIdentificationNumber', ----
member.lstnam AS 'PatientLastName', ----
member.fstnam AS 'PatientFirstName', ----
member.midnam AS 'PatientMiddleName', ----
member.titlcd AS 'PatientSuffix', ----
demograp.sexcod AS 'PatientSex', ----
demograp.adrln1 AS 'PatientAddress', ----
demograp.citycd AS 'PatientCity', ----
demograp.stacod AS 'PatientState', ----
demograp.zipcod AS 'PatientZipCode', ----
'USA' AS 'PatientCountryCode', ----
SUM(claamt) AS 'ClaimTotalAmount', ---- (SUM ALL CLAIM LINES)
0 AS 'PatientPaidAmount', ----
SPACE(1) AS 'AdjustmentGroupCode', --XXXX
CASE RTRIM(claimlin.deneop)
WHEN '' THEN NULL
WHEN NULL THEN NULL
ELSE HARCCrosswalk.HARC
END AS 'AdjustmentReasonCode', ----
SPACE(1) AS 'ContractTypeCode', --XXXX
claimlin.poscod AS 'FacilityCode', ----
SPACE(1) AS 'ClaimFrequencyType', --XXXX (REQUIRED PER OMAP) !!!
SPACE(1) AS 'ProviderSignature', --XXXX
SPACE(1) AS 'ProviderAcceptsAssignment', --XXXX
SPACE(1) AS 'BenefitsAssignmentCertification', --XXXX
SPACE(1) AS 'ReleaseOfInformationCode', --XXXX
SPACE(1) AS 'PatientSignatureSourceCode', --XXXX
SPACE(1) AS 'SpecialProgramCode', --XXXX
SPACE(1) AS 'EOBIndicator', ---- (NOT USED)
SPACE(1) AS 'HospitalAdmitType', ---- (NOT USED)
SPACE(1) AS 'HospitalAdmitDate', ---- (NOT USED)
SPACE(1) AS 'HospitalAdmitSource', ---- (NOT USED)
RIGHT('0'+ CAST(DatePart(MM,claimlin.svcdat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimlin.svcdat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimlin.svcdat) AS VARCHAR(4)),4)
AS 'DateOfServiceBeginDate', ----
SPACE(1) AS 'DateOfServiceBeginTime', ---- (NOT USED)
RIGHT('0'+ CAST(DatePart(MM,claimlin.enddat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimlin.enddat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimlin.enddat) AS VARCHAR(4)),4)
AS 'DateOfServiceEndDate', ----
SPACE(1) AS 'DateOfServiceEndTime', ---- (NOT USED)
SPACE(1) AS 'PatientStatus', ---- (NOT USED)
RIGHT('0'+ CAST(DatePart(MM,demograp.bthdat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,demograp.bthdat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,demograp.bthdat) AS VARCHAR(4)),4)
AS 'PatientDateOfBirth', ----
hcfaext.diagn1 AS 'Diagnosis1', ----
hcfaext.diagn2 AS 'Diagnosis2', ----
hcfaext.diagn3 AS 'Diagnosis3', ----
hcfaext.diagn4 AS 'Diagnosis4', ----
SPACE(1) AS 'Diagnosis5', ---- (NOT USED)
SPACE(1) AS 'Diagnosis6', ---- (NOT USED)
SPACE(1) AS 'Diagnosis7', ---- (NOT USED)
SPACE(1) AS 'Diagnosis8', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode1', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode1DOS' , ---- (NOT USED)
SPACE(1) AS 'ProcedureCode2', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode2DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode3', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode3DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode4', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode4DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode5', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode5DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode6', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode6DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode7', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode7DOS', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode8', ---- (NOT USED)
SPACE(1) AS 'ProcedureCode8DOS', ---- (NOT USED)
claimlin.pidate AS 'PaidDate'
FROM claimlin
LEFT OUTER JOIN hcfaext ON claimlin.claimno = hcfaext.claimno
LEFT OUTER JOIN vendor ON claimlin.vendor = vendor.vendor
LEFT OUTER JOIN provider ON claimlin.provno = provider.provno
LEFT OUTER JOIN member ON claimlin.member = member.member
LEFT OUTER JOIN demograp ON claimlin.membno = demograp.membno
LEFT OUTER JOIN HARCCrosswalk ON claimlin.deneop = HARCCrosswalk.deneop
GROUP BY claimlin.claimno,claimlin.formcd,claimlin.grpnum,claimlin.membno,claimlin.altclm,claimlin.diagn1, claimlin.deneop,claimlin.svccod,claimlin.statcd,
claimlin.poscod,claimlin.svcdat,claimlin.enddat,claimlin.pidate,
hcfaext.diagn1,hcfaext.diagn2,hcfaext.diagn3,hcfaext.diagn4,
vendor.fmtcod,vendor.lstnam, vendor.fstnam,vendor.midnam,vendor.titlcd,vendor.adrln1,vendor.citycd,vendor.stacod,vendor.zipcod,vendor.fedtax,
provider.facind,provider.fstnam,provider.lstnam,provider.midnam,provider.titlcd,provider.fednum,provider.specd1,provider.altprv,provider.prvupn,
member.lstnam,member.fstnam,member.midnam,member.titlcd,
demograp.sexcod,demograp.adrln1, demograp.citycd,demograp.stacod,demograp.zipcod,demograp.bthdat,demograp.altnum,
HARCCrosswalk.HARC
HAVING
claimlin.grpnum LIKE 'H%' AND -- H% = Medicaid
claimlin.formcd='H' AND -- H = HCFA (Professional claims)
claimlin.membno is NOT NULL AND
claimlin.statcd NOT IN ('E','O','A') AND -- E = Estimated ; O = Open ; A = Adjudicated but not paid
claimlin.svccod NOT IN ('COINON','COINS','DEDOON','DEDUCT') AND
COALESCE(claimlin.deneop,'') NOT IN ('003','DUP','61','ID','035','M9') AND
claimlin.diagn1 <> '999.99' AND
claimlin.svcdat >= '01/01/2004'
UNION
-- MCS Header File Query
--***** UB92 CLAIMS (Institutional) ***** --
SELECT DISTINCT
COALESCE(
CASE RTRIM(claimlin.altclm)
WHEN '' THEN NULL
ELSE claimlin.altclm
END,
LEFT(claimlin.claimno,2) + SUBSTRING(claimlin.claimno, 9,2) + SUBSTRING(claimlin.claimno, 12,2) +
SUBSTRING(claimlin.claimno, 6,2) + SUBSTRING(claimlin.claimno, 15,3) + RIGHT(claimlin.claimno, 2)
) AS 'ClaimNumber', ----
-- REPLACE(REPLACE(claimlin.claimno,'-', ''),'.','')
-- ) AS 'ClaimNumber', ----
CASE claimlin.formcd
WHEN 'H' THEN 'P'
WHEN 'U' THEN
CASE claimlin.poscod
WHEN 21 THEN 'I'
ELSE 'O'
END
END AS 'ClaimType', ----
SPACE(1) AS 'BillingProviderSecondaryIDNumber', --XXXX
CASE vendor.fmtcod
WHEN 9 THEN vendor.lstnam + vendor.fstnam + vendor.midnam + vendor.titlcd
ELSE RTRIM(vendor.fstnam) + ' ' + RTRIM(vendor.midnam) + ' ' + RTRIM(vendor.lstnam) + ' ' + RTRIM(vendor.titlcd)
END AS 'BillingProviderName', ----
vendor.adrln1 AS 'BillingProviderAddress', ----
vendor.citycd AS 'BillingProviderCityCode', ----
vendor.stacod AS 'BillingProviderStateCode', ----
vendor.zipcod AS 'BillingProviderZipCode', ----
'USA' AS 'BillingProviderCountryCode', ----
'34' AS 'BillingProviderIDCodeQualifier', ----
vendor.fedtax AS 'BillingProviderIDCode', ----
SPACE(1) AS 'BillingProviderTaxonomyCode', --XXXX
provider.prvupn AS 'AttendingProviderSecondaryID', ----
'71' AS 'AttendingIDType', ----
CASE provider.facind
WHEN 'Y' THEN '2'
WHEN 'N' THEN '1'
END AS 'AttendingIDTypeQualifier', ----
provider.fstnam AS 'AttendingProviderFirstName', ----
provider.lstnam AS 'AttendingProviderLastName', ----
provider.midnam AS 'AttendingProviderMiddleName', ----
provider.titlcd AS 'AttendingProviderSuffix', ----
24 AS 'AttendingProviderIDCodeQualifier', ----
provider.altprv AS 'AttendingProviderIDCode', ----
provider.specd1 AS 'AttendingProviderTaxonomyCode', ----
SPACE(1) AS 'InsuranceTypeCode', --XXXX
'MC' AS 'ClaimFilingIndicatorCode', ----
COALESCE(
CASE RTRIM(demograp.altnum)
WHEN '' THEN NULL
WHEN NULL THEN NULL
ELSE demograp.altnum
END,
claimlin.membno
) AS 'MemberIdentificationNumber', ----
member.lstnam AS 'PatientLastName', ----
member.fstnam AS 'PatientFirstName', ----
member.midnam AS 'PatientMiddleName', ----
member.titlcd AS 'PatientSuffix', ----
demograp.sexcod AS 'PatientSex', ----
demograp.adrln1 AS 'PatientAddress', ----
demograp.citycd AS 'PatientCity', ----
demograp.stacod AS 'PatientState', ----
demograp.zipcod AS 'PatientZipCode', ----
'USA' AS 'PatientCountryCode', ----
SUM(claamt) AS 'ClaimTotalAmount', ---- (SUM ALL CLAIM LINES)
0 AS 'PatientPaidAmount', ----
SPACE(1) AS 'AdjustmentGroupCode', --XXXX
CASE RTRIM(claimlin.deneop)
WHEN '' THEN NULL
WHEN NULL THEN NULL
ELSE HARCCrosswalk.HARC
END AS 'AdjustmentReasonCode', ----
SPACE(1) AS 'ContractTypeCode', --XXXX
LEFT(claimlin.biltyp,2) AS 'FacilityCode', ----
RIGHT(claimlin.biltyp,1) AS 'ClaimFrequencyType', ----
SPACE(1) AS 'ProviderSignature', --XXXX
SPACE(1) AS 'ProviderAcceptsAssignment', --XXXX
SPACE(1) AS 'BenefitsAssignmentCertification', --XXXX
SPACE(1) AS 'ReleaseOfInformationCode', --XXXX
SPACE(1) AS 'PatientSignatureSourceCode', --XXXX
SPACE(1) AS 'SpecialProgramCode', --XXXX
SPACE(1) AS 'EOBIndicator', --XXXX
claimext.admtyp AS 'HospitalAdmitType', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.admdat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.admdat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.admdat) AS VARCHAR(4)),4)
AS 'HospitalAdmitDate', ----
claimext.admsrc AS 'HospitalAdmitSource', ----
RIGHT('0'+ CAST(DatePart(MM,claimlin.svcdat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimlin.svcdat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimlin.svcdat) AS VARCHAR(4)),4)
AS 'DateOfServiceBeginDate', ----
claimext.admtim + '00' AS 'DateOfServiceBeginTime', ----
RIGHT('0'+ CAST(DatePart(MM,claimlin.enddat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimlin.enddat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimlin.enddat) AS VARCHAR(4)),4)
AS 'DateOfServiceEndDate', ----
claimext.admtim + '00' AS 'DateOfServiceEndTime', ----
PatientStatusCrosswalk.OMAPPatientStatus
AS 'PatientStatus', ----
RIGHT('0'+ CAST(DatePart(MM,demograp.bthdat) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,demograp.bthdat) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,demograp.bthdat) AS VARCHAR(4)),4)
AS 'PatientDateOfBirth', ----
claimext.diagcd1 AS 'Diagnosis1', ----
claimext.diagcd2 AS 'Diagnosis2', ----
claimext.diagcd3 AS 'Diagnosis3', ----
claimext.diagcd4 AS 'Diagnosis4', ----
claimext.diagcd5 AS 'Diagnosis5', ----
claimext.diagcd6 AS 'Diagnosis6', ----
claimext.diagcd7 AS 'Diagnosis7', ----
claimext.diagcd8 AS 'Diagnosis8', ----
claimext.prccod1 AS 'ProcedureCode1', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat1) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat1) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat1) AS VARCHAR(4)),4)
AS 'ProcedureCode1DOS' , ----
claimext.prccod2 AS 'ProcedureCode2', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat2) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat2) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat2) AS VARCHAR(4)),4)
AS 'ProcedureCode2DOS', ----
claimext.prccod3 AS 'ProcedureCode3', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat3) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat3) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat3) AS VARCHAR(4)),4)
AS 'ProcedureCode3DOS', ----
claimext.prccod4 AS 'ProcedureCode4', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat4) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat4) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat4) AS VARCHAR(4)),4)
AS 'ProcedureCode4DOS', ----
claimext.prccod5 AS 'ProcedureCode5', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat5) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat5) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat5) AS VARCHAR(4)),4)
AS 'ProcedureCode5DOS', ----
claimext.prccod6 AS 'ProcedureCode6', ----
RIGHT('0'+ CAST(DatePart(MM,claimext.prcdat6) AS VARCHAR(2)),2) + '/' +
RIGHT('0'+ CAST(DatePart(DD,claimext.prcdat6) AS VARCHAR(2)),2) + '/' +
RIGHT(CAST(DatePart(YY,claimext.prcdat6) AS VARCHAR(4)),4)
AS 'ProcedureCode6DOS', ----
SPACE(1) AS 'ProcedureCode7', ----
SPACE(1) AS 'ProcedureCode7DOS', ----
SPACE(1) AS 'ProcedureCode8', ----
SPACE(1) AS 'ProcedureCode8DOS', ----
claimlin.pidate AS 'PaidDate'
FROM claimlin
LEFT OUTER JOIN claimext ON claimlin.claimno = claimext.claimno
LEFT OUTER JOIN vendor ON claimlin.vendor = vendor.vendor
LEFT OUTER JOIN provider ON claimlin.provno = provider.provno
LEFT OUTER JOIN member ON claimlin.member = member.member
LEFT OUTER JOIN demograp ON claimlin.membno = demograp.membno
LEFT OUTER JOIN PatientStatusCrosswalk ON claimlin.statcd =PatientStatusCrosswalk.OMAPPatientStatus
LEFT OUTER JOIN HARCCrosswalk ON claimlin.deneop = HARCCrosswalk.deneop
GROUP BY claimlin.claimno,claimlin.formcd,claimlin.grpnum,claimlin.membno,claimlin.altclm,claimlin.diagn1, claimlin.deneop,claimlin.svccod,claimlin.statcd,
claimlin.poscod,claimlin.svcdat,claimlin.enddat,claimlin.biltyp,claimlin.pidate,
claimext.diagcd1,claimext.diagcd2,claimext.diagcd3,claimext.diagcd4, claimext.diagcd5,claimext.diagcd6,claimext.diagcd7,claimext.diagcd8,
claimext.admtyp,claimext.admdat,claimext.admsrc,claimext.admtim,claimext.prccod1,claimext.prcdat1,claimext.prccod2,claimext.prcdat2,
claimext.prccod3,claimext.prcdat3,claimext.prccod4,claimext.prcdat4,claimext.prccod5,claimext.prcdat5,claimext.prccod6,claimext.prcdat6,
vendor.fmtcod,vendor.lstnam, vendor.fstnam,vendor.midnam,vendor.titlcd,vendor.adrln1,vendor.citycd,vendor.stacod,vendor.zipcod,vendor.fedtax,
provider.facind,provider.fstnam,provider.lstnam,provider.midnam,provider.titlcd,provider.fednum,provider.specd1,provider.altprv,provider.prvupn,
member.lstnam,member.fstnam,member.midnam,member.titlcd,
demograp.sexcod,demograp.adrln1, demograp.citycd,demograp.stacod,demograp.zipcod,demograp.bthdat,demograp.altnum,
HARCCrosswalk.HARC,
PatientStatusCrosswalk.OMAPPatientStatus
HAVING
claimlin.grpnum LIKE 'H%' AND -- H% = Medicaid
claimlin.formcd='U' AND -- U = UB92 (Institutional claims)
claimlin.membno is NOT NULL AND
claimlin.statcd NOT IN ('E','O','A') AND -- E = Estimated ; O = Open ; A = Adjudicated but not paid
claimlin.svccod NOT IN ('COINON','COINS','DEDOON','DEDUCT') AND
COALESCE(claimlin.deneop,'') NOT IN ('003','DUP','61','ID','035','M9') AND
claimlin.diagn1 <> '999.99' AND
claimlin.svcdat >= '01/01/2004'
======================================
"I wish that I may never think the smiles of the great and powerful a sufficient inducement to turn aside from the straight path of honesty and the convictions of my own mind."
-David Ricardo, classical economist
======================================