- ABMP2614 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 14 POST INIT ;
- ;;2.6;IHS Third Party Billing;**14**;NOV 12, 2009;Build 238
- ;IHS/SD/SDR - 2.6*14 - CR3165 - Changed 3P Error Codes entry 155 from error to warning
- ;
- Q
- POST ;
- D ICDEFFDT ;Change ICD-10 Effective date to 10/1/2015 for all insurers
- D ERRORCD ;create new claim editor error codes
- D PCCST ;new 3P PCC VISIT BILLING STATUS entry
- D CCREASON ;new cancelled claim reason
- D FEEINDX ;re-index fee table
- D ADA12Q ;add to ADA-2012 questions
- ;
- Q
- ICDEFFDT ;
- D MES^XPDUTL("Auto-populating ICD-10 EFFECTIVE DATE with 10/1/2015 for all insurers...")
- S ABMHOLD=DUZ(2)
- S DUZ(2)=0
- F S DUZ(2)=$O(^ABMNINS(DUZ(2))) Q:'DUZ(2) D
- .S ABMDA=0
- .F S ABMDA=$O(^ABMNINS(DUZ(2),ABMDA)) Q:'ABMDA D
- ..K DIC,DIE,DIR,X,Y,DA,DR
- ..S DIE="^ABMNINS("_DUZ(2)_","
- ..S DA=ABMDA
- ..S DR=".12////3151001"
- ..D ^DIE
- S DUZ(2)=ABMHOLD
- Q
- ERRORCD ;
- ;ICD10 002F
- ;245 - Active Insurer requires ICD-9 codes, not ICD-10
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=245
- S X="Active Insurer requires ICD-9 codes, not ICD-10"
- S DIC("DR")=".02///Review codes on claim using View Option"
- S DIC("DR")=DIC("DR")_";.03///E"
- K DD,DO
- D FILE^DICN
- D SITE(245)
- ;246 - Active Insurer requires ICD-10 codes, not ICD-9
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=246
- S X="Active Insurer requires ICD-10 codes, not ICD-9"
- S DIC("DR")=".02///Review codes on claim using View Option"
- S DIC("DR")=DIC("DR")_";.03///E"
- K DD,DO
- D FILE^DICN
- D SITE(246)
- ;247 - Multiple ICD code sets used on claim
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=247
- S X="Multiple ICD code sets used on claim"
- S DIC("DR")=".02///Review codes on claim using View Option"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(247)
- ;248 - Uncoded Procedure code on the claim
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=248
- S X="Uncoded Procedure code on the claim"
- S DIC("DR")=".02///Review codes on claim using View Option"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(248)
- ;249 - Service Dates cross over ICD-10 Effective Date
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=249
- S X="Service Dates cross over ICD-10 Effective Date"
- S DIC("DR")=".02///Consider splitting claim, one for ICD-9 and one for ICD-10"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(249)
- ;250 - DOS after ICD Indicator Date
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=250
- S X="DOS after ICD Indicator Date"
- S DIC("DR")=".02///ICD-10 codes required for billing"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(250)
- ;251 - Wrong DX coding version used
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=251
- S X="Wrong Diagnosis Coding Version Used"
- S DIC("DR")=".02///Review code set on page 5"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(251)
- ;252 - Insurer file missing Entry named Veterans Medical Benefit
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=252
- S X="INSURER FILE MISSING ENTRY NAMED VETERANS MEDICAL BENEFIT"
- S DIC("DR")=".02///Through the Insurer Maintenance Menu Option add an Insurer named VETERANS MEDICAL BENEFIT"
- S DIC("DR")=DIC("DR")_";.03///E"
- K DD,DO
- D FILE^DICN
- D SITE(252)
- ;253 - This is a VA Claim with Medicare/Medicaid
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=253
- S X="This is a VA Claim with Medicare/Medicaid"
- S DIC("DR")=".02///This is a VA Claim with Medicare/Medicaid"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(253)
- ;254 - This is a VA Claim with Pharmacy charges in PCC
- K DIC,X
- S DIC="^ABMDERR("
- S DIC(0)="LM"
- S DINUM=254
- S X="This is a VA Claim with Pharmacy charges in PCC"
- S DIC("DR")=".02///This is a VA Claim with Pharmacy charges in PCC"
- S DIC("DR")=DIC("DR")_";.03///W"
- K DD,DO
- D FILE^DICN
- D SITE(254)
- ;155 - Change existing code from error to warning due to page 9A displaying more frequently
- K DIC,X
- S DIE="^ABMDERR("
- S DA=155
- S DR=".03////W"
- D ^DIE
- S DUZHOLD=DUZ(2)
- S DUZ(2)=0
- F S DUZ(2)=$O(^ABMDERR(155,31,DUZ(2))) Q:'DUZ(2) D
- .S DA(1)=155
- .S DA=DUZ(2)
- .S DIE="^ABMDERR("_DA(1)_",31,"
- .S DR=".03////W"
- .D ^DIE
- Q
- ;
- SITE(ABMX) ;
- S DUZHOLD=DUZ(2)
- S DUZ(2)=0
- F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
- .S DIC(0)="LX"
- .S DA(1)=ABMX
- .S DIC="^ABMDERR("_DA(1)_",31,"
- .S DIC("P")=$P(^DD(9002274.04,31,0),U,2)
- .S DINUM=DUZ(2)
- .S X=$P($G(^DIC(4,DUZ(2),0)),U)
- .S DIC("DR")=".03////"_$S("^247^248^249^250^251^253^254^"[("^"_ABMX_"^"):"W",1:"E")
- .D ^DIC
- .K DA,DIC,DINUM
- S DUZ(2)=DUZHOLD
- K DUZHOLD,DLAYGO,ABMX
- Q
- ;
- PCCST ;new 3P PCC VIST BILLING STATUS entry
- K DIC,X,DINUM
- S DIC="^ABMDCS("
- S DINUM=63
- S X="VMBP COVERAGE; VISIT OUTSIDE ELIGIBILITY DATES (NE)"
- S DIC(0)="ML"
- K DD,DO
- D FILE^DICN
- Q
- CCREASON ;
- K DIC,X,DINUM,DR,DLAYGO
- S DIC="^ABMCCLMR("
- S DIC(0)="LM"
- S X="UNBILLABLE CLAIM; Patient Incarcerated"
- D ^DIC
- Q
- FEEINDX ;EP
- S DIK="^ABMDFEE("
- D ENALL^DIK
- Q
- ADA12Q ;
- S DIE="^ABMDEXP("
- S DA=34
- S DR=".08////1,2,3,4,16,17,18,32,33"
- D ^DIE
- Q
- ABMP2614 ; IHS/SD/SDR - 3P BILLING 2.6 Patch 14 POST INIT ;
- +1 ;;2.6;IHS Third Party Billing;**14**;NOV 12, 2009;Build 238
- +2 ;IHS/SD/SDR - 2.6*14 - CR3165 - Changed 3P Error Codes entry 155 from error to warning
- +3 ;
- +4 QUIT
- POST ;
- +1 ;Change ICD-10 Effective date to 10/1/2015 for all insurers
- DO ICDEFFDT
- +2 ;create new claim editor error codes
- DO ERRORCD
- +3 ;new 3P PCC VISIT BILLING STATUS entry
- DO PCCST
- +4 ;new cancelled claim reason
- DO CCREASON
- +5 ;re-index fee table
- DO FEEINDX
- +6 ;add to ADA-2012 questions
- DO ADA12Q
- +7 ;
- +8 QUIT
- ICDEFFDT ;
- +1 DO MES^XPDUTL("Auto-populating ICD-10 EFFECTIVE DATE with 10/1/2015 for all insurers...")
- +2 SET ABMHOLD=DUZ(2)
- +3 SET DUZ(2)=0
- +4 FOR
- SET DUZ(2)=$ORDER(^ABMNINS(DUZ(2)))
- IF 'DUZ(2)
- QUIT
- Begin DoDot:1
- +5 SET ABMDA=0
- +6 FOR
- SET ABMDA=$ORDER(^ABMNINS(DUZ(2),ABMDA))
- IF 'ABMDA
- QUIT
- Begin DoDot:2
- +7 KILL DIC,DIE,DIR,X,Y,DA,DR
- +8 SET DIE="^ABMNINS("_DUZ(2)_","
- +9 SET DA=ABMDA
- +10 SET DR=".12////3151001"
- +11 DO ^DIE
- End DoDot:2
- End DoDot:1
- +12 SET DUZ(2)=ABMHOLD
- +13 QUIT
- ERRORCD ;
- +1 ;ICD10 002F
- +2 ;245 - Active Insurer requires ICD-9 codes, not ICD-10
- +3 KILL DIC,X
- +4 SET DIC="^ABMDERR("
- +5 SET DIC(0)="LM"
- +6 SET DINUM=245
- +7 SET X="Active Insurer requires ICD-9 codes, not ICD-10"
- +8 SET DIC("DR")=".02///Review codes on claim using View Option"
- +9 SET DIC("DR")=DIC("DR")_";.03///E"
- +10 KILL DD,DO
- +11 DO FILE^DICN
- +12 DO SITE(245)
- +13 ;246 - Active Insurer requires ICD-10 codes, not ICD-9
- +14 KILL DIC,X
- +15 SET DIC="^ABMDERR("
- +16 SET DIC(0)="LM"
- +17 SET DINUM=246
- +18 SET X="Active Insurer requires ICD-10 codes, not ICD-9"
- +19 SET DIC("DR")=".02///Review codes on claim using View Option"
- +20 SET DIC("DR")=DIC("DR")_";.03///E"
- +21 KILL DD,DO
- +22 DO FILE^DICN
- +23 DO SITE(246)
- +24 ;247 - Multiple ICD code sets used on claim
- +25 KILL DIC,X
- +26 SET DIC="^ABMDERR("
- +27 SET DIC(0)="LM"
- +28 SET DINUM=247
- +29 SET X="Multiple ICD code sets used on claim"
- +30 SET DIC("DR")=".02///Review codes on claim using View Option"
- +31 SET DIC("DR")=DIC("DR")_";.03///W"
- +32 KILL DD,DO
- +33 DO FILE^DICN
- +34 DO SITE(247)
- +35 ;248 - Uncoded Procedure code on the claim
- +36 KILL DIC,X
- +37 SET DIC="^ABMDERR("
- +38 SET DIC(0)="LM"
- +39 SET DINUM=248
- +40 SET X="Uncoded Procedure code on the claim"
- +41 SET DIC("DR")=".02///Review codes on claim using View Option"
- +42 SET DIC("DR")=DIC("DR")_";.03///W"
- +43 KILL DD,DO
- +44 DO FILE^DICN
- +45 DO SITE(248)
- +46 ;249 - Service Dates cross over ICD-10 Effective Date
- +47 KILL DIC,X
- +48 SET DIC="^ABMDERR("
- +49 SET DIC(0)="LM"
- +50 SET DINUM=249
- +51 SET X="Service Dates cross over ICD-10 Effective Date"
- +52 SET DIC("DR")=".02///Consider splitting claim, one for ICD-9 and one for ICD-10"
- +53 SET DIC("DR")=DIC("DR")_";.03///W"
- +54 KILL DD,DO
- +55 DO FILE^DICN
- +56 DO SITE(249)
- +57 ;250 - DOS after ICD Indicator Date
- +58 KILL DIC,X
- +59 SET DIC="^ABMDERR("
- +60 SET DIC(0)="LM"
- +61 SET DINUM=250
- +62 SET X="DOS after ICD Indicator Date"
- +63 SET DIC("DR")=".02///ICD-10 codes required for billing"
- +64 SET DIC("DR")=DIC("DR")_";.03///W"
- +65 KILL DD,DO
- +66 DO FILE^DICN
- +67 DO SITE(250)
- +68 ;251 - Wrong DX coding version used
- +69 KILL DIC,X
- +70 SET DIC="^ABMDERR("
- +71 SET DIC(0)="LM"
- +72 SET DINUM=251
- +73 SET X="Wrong Diagnosis Coding Version Used"
- +74 SET DIC("DR")=".02///Review code set on page 5"
- +75 SET DIC("DR")=DIC("DR")_";.03///W"
- +76 KILL DD,DO
- +77 DO FILE^DICN
- +78 DO SITE(251)
- +79 ;252 - Insurer file missing Entry named Veterans Medical Benefit
- +80 KILL DIC,X
- +81 SET DIC="^ABMDERR("
- +82 SET DIC(0)="LM"
- +83 SET DINUM=252
- +84 SET X="INSURER FILE MISSING ENTRY NAMED VETERANS MEDICAL BENEFIT"
- +85 SET DIC("DR")=".02///Through the Insurer Maintenance Menu Option add an Insurer named VETERANS MEDICAL BENEFIT"
- +86 SET DIC("DR")=DIC("DR")_";.03///E"
- +87 KILL DD,DO
- +88 DO FILE^DICN
- +89 DO SITE(252)
- +90 ;253 - This is a VA Claim with Medicare/Medicaid
- +91 KILL DIC,X
- +92 SET DIC="^ABMDERR("
- +93 SET DIC(0)="LM"
- +94 SET DINUM=253
- +95 SET X="This is a VA Claim with Medicare/Medicaid"
- +96 SET DIC("DR")=".02///This is a VA Claim with Medicare/Medicaid"
- +97 SET DIC("DR")=DIC("DR")_";.03///W"
- +98 KILL DD,DO
- +99 DO FILE^DICN
- +100 DO SITE(253)
- +101 ;254 - This is a VA Claim with Pharmacy charges in PCC
- +102 KILL DIC,X
- +103 SET DIC="^ABMDERR("
- +104 SET DIC(0)="LM"
- +105 SET DINUM=254
- +106 SET X="This is a VA Claim with Pharmacy charges in PCC"
- +107 SET DIC("DR")=".02///This is a VA Claim with Pharmacy charges in PCC"
- +108 SET DIC("DR")=DIC("DR")_";.03///W"
- +109 KILL DD,DO
- +110 DO FILE^DICN
- +111 DO SITE(254)
- +112 ;155 - Change existing code from error to warning due to page 9A displaying more frequently
- +113 KILL DIC,X
- +114 SET DIE="^ABMDERR("
- +115 SET DA=155
- +116 SET DR=".03////W"
- +117 DO ^DIE
- +118 SET DUZHOLD=DUZ(2)
- +119 SET DUZ(2)=0
- +120 FOR
- SET DUZ(2)=$ORDER(^ABMDERR(155,31,DUZ(2)))
- IF 'DUZ(2)
- QUIT
- Begin DoDot:1
- +121 SET DA(1)=155
- +122 SET DA=DUZ(2)
- +123 SET DIE="^ABMDERR("_DA(1)_",31,"
- +124 SET DR=".03////W"
- +125 DO ^DIE
- End DoDot:1
- +126 QUIT
- +127 ;
- SITE(ABMX) ;
- +1 SET DUZHOLD=DUZ(2)
- +2 SET DUZ(2)=0
- +3 FOR
- SET DUZ(2)=$ORDER(^ABMDCLM(DUZ(2)))
- IF '+DUZ(2)
- QUIT
- Begin DoDot:1
- +4 SET DIC(0)="LX"
- +5 SET DA(1)=ABMX
- +6 SET DIC="^ABMDERR("_DA(1)_",31,"
- +7 SET DIC("P")=$PIECE(^DD(9002274.04,31,0),U,2)
- +8 SET DINUM=DUZ(2)
- +9 SET X=$PIECE($GET(^DIC(4,DUZ(2),0)),U)
- +10 SET DIC("DR")=".03////"_$SELECT("^247^248^249^250^251^253^254^"[("^"_ABMX_"^"):"W",1:"E")
- +11 DO ^DIC
- +12 KILL DA,DIC,DINUM
- End DoDot:1
- +13 SET DUZ(2)=DUZHOLD
- +14 KILL DUZHOLD,DLAYGO,ABMX
- +15 QUIT
- +16 ;
- PCCST ;new 3P PCC VIST BILLING STATUS entry
- +1 KILL DIC,X,DINUM
- +2 SET DIC="^ABMDCS("
- +3 SET DINUM=63
- +4 SET X="VMBP COVERAGE; VISIT OUTSIDE ELIGIBILITY DATES (NE)"
- +5 SET DIC(0)="ML"
- +6 KILL DD,DO
- +7 DO FILE^DICN
- +8 QUIT
- CCREASON ;
- +1 KILL DIC,X,DINUM,DR,DLAYGO
- +2 SET DIC="^ABMCCLMR("
- +3 SET DIC(0)="LM"
- +4 SET X="UNBILLABLE CLAIM; Patient Incarcerated"
- +5 DO ^DIC
- +6 QUIT
- FEEINDX ;EP
- +1 SET DIK="^ABMDFEE("
- +2 DO ENALL^DIK
- +3 QUIT
- ADA12Q ;
- +1 SET DIE="^ABMDEXP("
- +2 SET DA=34
- +3 SET DR=".08////1,2,3,4,16,17,18,32,33"
- +4 DO ^DIE
- +5 QUIT