- ABMPOST9 ; IHS/ASDS/LSL - Post init of V2.4 Patch 9
- ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- ;
- ; There are -1's in the 19 Multiple of the 3P CLAIM DATA File
- ; This routine will look for and delete them.
- ;
- S DUZ2=DUZ(2)
- S (DA(1),DUZ(2))=0
- ;
- ; DIK won't work here because the value of DA is -1.
- F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
- . F S DA(1)=$O(^ABMDCLM(DUZ(2),DA(1))) Q:'+DA(1) D
- . . I $D(^ABMDCLM(DUZ(2),DA(1),19,-1)) D
- . . . S ABMP2=$P($G(^ABMDCLM(DUZ(2),DA(1),19,-1,0)),U,2)
- . . . I +ABMP2 K ^ABMDCLM(DUZ(2),DA(1),19,"C",ABMP2,-1)
- . . . K ^ABMDCLM(DUZ(2),DA(1),"ASRC","M",-1,19)
- . . . K ^ABMDCLM(DUZ(2),DA(1),19,-1)
- ;
- S DUZ(2)=DUZ2
- K DUZ2,DA,DIK
- ;
- ERROR ;
- ; Add new error code to 3P ERROR CODE file
- K DA,DR,DIC,DLAYGO,X,DINUM
- S DIC="^ABMDERR("
- S DIC(0)="LX"
- S DLAYGO=9002274
- S DINUM=189
- S X="MEDICARE PART B PIN NUMBER UNSPECIFIED IN 3P INSURER FILE."
- S DIC("DR")=".02////Through INSURER TABLE MAINTENANCE, enter the provider and MEDICARE PART B pin number."
- S DIC("DR")=DIC("DR")_";.03////E"
- S DIC("DR")=DIC("DR")_";.05////0"
- D ^DIC
- Q:Y<0
- K DA,DIC,DR,DINUM,Y
- ;
- ; Add Required by insurer (Medicare and Railroad Retirement)
- S ^ABMDERR(189,11,0)="^9002274.411PA^^"
- F INS=1,2 D
- . S DIC(0)="LXE"
- . S DA(1)=189
- . S DIC="^ABMDERR("_DA(1)_",11,"
- . S DINUM=INS
- . S X=$P(^AUTNINS(INS,0),U)
- . D ^DIC
- . K DA,DIC,DINUM,X
- K INS
- ;
- ; Add Required for export form (all current HCFA's)
- S ^ABMDERR(189,21,0)="^9002274.421P^^"
- F MOD=3,14,15,19,20 D
- . S DIC(0)="LXE"
- . S DA(1)=189
- . S DIC="^ABMDERR("_DA(1)_",21,"
- . S DINUM=MOD
- . S X=$P(^ABMDEXP(MOD,0),U)
- . D ^DIC
- . K DA,DIC,DINUM,X
- K MOD
- ;
- ; Add SITE multiple
- S ^ABMDERR(189,31,0)="^9002274.0431PA^^"
- S DUZHOLD=DUZ(2)
- S DUZ(2)=0
- F S DUZ(2)=$O(^ABMDCLM(DUZ(2))) Q:'+DUZ(2) D
- . S DIC(0)="LXE"
- . S DA(1)=189
- . S DIC="^ABMDERR("_DA(1)_",31,"
- . S DINUM=DUZ(2)
- . S X=$P($G(^DIC(4,DUZ(2),0)),U)
- . S DIC("DR")=".03////E"
- . D ^DIC
- . K DA,DIC,DINUM,X
- S DUZ(2)=DUZHOLD
- K DUZHOLD,DLAYGO
- Q
- ABMPOST9 ; IHS/ASDS/LSL - Post init of V2.4 Patch 9
- +1 ;;2.6;IHS 3P BILLING SYSTEM;;NOV 12, 2009
- +2 ;
- +3 ; There are -1's in the 19 Multiple of the 3P CLAIM DATA File
- +4 ; This routine will look for and delete them.
- +5 ;
- +6 SET DUZ2=DUZ(2)
- +7 SET (DA(1),DUZ(2))=0
- +8 ;
- +9 ; DIK won't work here because the value of DA is -1.
- +10 FOR
- SET DUZ(2)=$ORDER(^ABMDCLM(DUZ(2)))
- IF '+DUZ(2)
- QUIT
- Begin DoDot:1
- +11 FOR
- SET DA(1)=$ORDER(^ABMDCLM(DUZ(2),DA(1)))
- IF '+DA(1)
- QUIT
- Begin DoDot:2
- +12 IF $DATA(^ABMDCLM(DUZ(2),DA(1),19,-1))
- Begin DoDot:3
- +13 SET ABMP2=$PIECE($GET(^ABMDCLM(DUZ(2),DA(1),19,-1,0)),U,2)
- +14 IF +ABMP2
- KILL ^ABMDCLM(DUZ(2),DA(1),19,"C",ABMP2,-1)
- +15 KILL ^ABMDCLM(DUZ(2),DA(1),"ASRC","M",-1,19)
- +16 KILL ^ABMDCLM(DUZ(2),DA(1),19,-1)
- End DoDot:3
- End DoDot:2
- End DoDot:1
- +17 ;
- +18 SET DUZ(2)=DUZ2
- +19 KILL DUZ2,DA,DIK
- +20 ;
- ERROR ;
- +1 ; Add new error code to 3P ERROR CODE file
- +2 KILL DA,DR,DIC,DLAYGO,X,DINUM
- +3 SET DIC="^ABMDERR("
- +4 SET DIC(0)="LX"
- +5 SET DLAYGO=9002274
- +6 SET DINUM=189
- +7 SET X="MEDICARE PART B PIN NUMBER UNSPECIFIED IN 3P INSURER FILE."
- +8 SET DIC("DR")=".02////Through INSURER TABLE MAINTENANCE, enter the provider and MEDICARE PART B pin number."
- +9 SET DIC("DR")=DIC("DR")_";.03////E"
- +10 SET DIC("DR")=DIC("DR")_";.05////0"
- +11 DO ^DIC
- +12 IF Y<0
- QUIT
- +13 KILL DA,DIC,DR,DINUM,Y
- +14 ;
- +15 ; Add Required by insurer (Medicare and Railroad Retirement)
- +16 SET ^ABMDERR(189,11,0)="^9002274.411PA^^"
- +17 FOR INS=1,2
- Begin DoDot:1
- +18 SET DIC(0)="LXE"
- +19 SET DA(1)=189
- +20 SET DIC="^ABMDERR("_DA(1)_",11,"
- +21 SET DINUM=INS
- +22 SET X=$PIECE(^AUTNINS(INS,0),U)
- +23 DO ^DIC
- +24 KILL DA,DIC,DINUM,X
- End DoDot:1
- +25 KILL INS
- +26 ;
- +27 ; Add Required for export form (all current HCFA's)
- +28 SET ^ABMDERR(189,21,0)="^9002274.421P^^"
- +29 FOR MOD=3,14,15,19,20
- Begin DoDot:1
- +30 SET DIC(0)="LXE"
- +31 SET DA(1)=189
- +32 SET DIC="^ABMDERR("_DA(1)_",21,"
- +33 SET DINUM=MOD
- +34 SET X=$PIECE(^ABMDEXP(MOD,0),U)
- +35 DO ^DIC
- +36 KILL DA,DIC,DINUM,X
- End DoDot:1
- +37 KILL MOD
- +38 ;
- +39 ; Add SITE multiple
- +40 SET ^ABMDERR(189,31,0)="^9002274.0431PA^^"
- +41 SET DUZHOLD=DUZ(2)
- +42 SET DUZ(2)=0
- +43 FOR
- SET DUZ(2)=$ORDER(^ABMDCLM(DUZ(2)))
- IF '+DUZ(2)
- QUIT
- Begin DoDot:1
- +44 SET DIC(0)="LXE"
- +45 SET DA(1)=189
- +46 SET DIC="^ABMDERR("_DA(1)_",31,"
- +47 SET DINUM=DUZ(2)
- +48 SET X=$PIECE($GET(^DIC(4,DUZ(2),0)),U)
- +49 SET DIC("DR")=".03////E"
- +50 DO ^DIC
- +51 KILL DA,DIC,DINUM,X
- End DoDot:1
- +52 SET DUZ(2)=DUZHOLD
- +53 KILL DUZHOLD,DLAYGO
- +54 QUIT