- ABMDTPAR ; IHS/ASDST/DMJ - Table Maintenance of 3P PARAMETERS ;
- ;;2.6;IHS Third Party Billing;**1,3,11,21**;NOV 12, 2009;Build 379
- ;
- ; IHS/SD/SDR - v2.5 p8 - added code for UNCODED DX LAG TIME prompt
- ; IHS/SD/SDR - V2.5 P8 - IM12246/IM17548 - Added code for default prompt for Reference and In-House CLIAs
- ; IHS/SD/SDR - v2.5 p9 - IM14099 - Fixed access to multiple; would error when user typed "??"
- ; IHS/SD/SDR - v2.5 p10 - IM17482 - Add site parameter for restricting PRV segment by insurer
- ; IHS/SD/SDR - v2.5 p10 - IM19802 - Fix multiple lookup
- ; IHS/SD/SDR - v2.5 p10 - IM20089 - Added code for new prompt to override ISA08 value for Medicare
- ; IHS/SD/SDR - v2.5 p11 - Patient Statement - Added prompt for statement header line 2
- ; IHS/SD/SDR - v2.5 p13 - POA changes - Added new prompt
- ; IHS/SD/SDR - abm*2.6*1 - HEAT4158 - Added prompt for mammography cert#
- ;IHS/SD/SDR - 2.6*21 - HEAT130406 - Removed prompt for DAYS INACTIVE BEFORE PURGING
- ;IHS/SD/SDR - 2.6*21 - VMBP - Updated p11 changes to include Serena ref#s
- ;
- ; *********************************************************************
- ;
- W !
- K DTOUT,DUOUT
- AFFL I '$D(^ABMDPARM(DUZ(2),1,0)) D
- .W !,"Site ",$P(^DIC(4,DUZ(2),0),U)," has not been initialized in 3P Billing Package."
- .W !,"I will now run option INITIALIZE SITE."
- .D ^ABMDSS
- Q:'$D(^ABMDPARM(DUZ(2),1,0)) S ABM("X")=$P(^(0),U)
- Q:'$D(^AUTTLOC(ABM("X"),0)) S ABM("LCD")=$P(^(0),U,7)
- S ABM("AFFL")=""
- S ABM("I")=0 F S ABM("I")=$O(^AUTTLOC(ABM("X"),11,ABM("I"))) Q:'ABM("I") S ABM("IDT")=$S($P(^(ABM("I"),0),U,2)]"":$P(^(0),U,2),1:9999999) I DT>$P(^(0),U)&(DT<ABM("IDT")) S ABM("AFFL")=$P(^(0),U,3)
- I ABM("AFFL")="" D SETAF G XIT:$D(DTOUT)!$D(DUOUT)
- S:ABM("AFFL")="" ABM("AFFL")=1
- S DA=1,DIE="^ABMDPARM(DUZ(2),"
- S DR=".34T" ; EMC File Preference
- S DR=DR_";S:X=""K"" Y=""@1"" S:X=""H"" Y=""@2"""
- S DR=DR_";.39T"
- S DR=DR_";S Y=""@1"""
- S DR=DR_";@2"
- S DR=DR_";.47T" ; Default EMC Path
- S DR=DR_";.23T" ; Facility to receive payments
- S DR=DR_";.26T" ; Printable name of payment site
- S DR=DR_";.09T" ; Current Default fee schedule
- S DR=DR_";.18T" ; Create bills for all patients
- S DR=DR_";I 'X S Y=.13" ; Branching
- S DR=DR_";.185T" ; Display bene patient all claims
- S DR=DR_";.13T" ; Require that queing be forced
- S DR=DR_";.14T" ; Display long ICP/CPT description
- S DR=DR_";.16T" ; Backbill limit
- S DR=DR_";.17T" ; Block 31 (HCFA 1500) to print
- S DR=DR_";I X'=3 S Y=.38"
- S DR=DR_";.37T" ; HCFA-1500 Signature
- S DR=DR_";.38T" ; UB-92 Signature
- S DR=DR_";.36T" ; Place of service code
- S DR=DR_";.24T" ; Bill Number suffix
- S DR=DR_";.33T" ; Append HRN to bill number
- S DR=DR_";.25T" ; Allow for CPT modifiers prompt
- S DR=DR_";.27T" ; Set prof. component Automatically
- ;S DR=DR_";.28T" ; Days inactive before purging abm*2.6*21 IHS/SD/SDR HEAT130406
- S DR=DR_";.29T" ; Default version of HCFA-1500
- S DR=DR_";.32T" ; Default form for dental billing
- S DR=DR_";.312T" ;VA Station Number ;abm*2.6*11 VMBP RQMT_93
- S DR=DR_";.313T" ;VA Contract Number ;abm*2.6*11 VMBP RQMT_93
- D ^DIE K DR Q:$D(Y)
- S DA(1)=DA
- S ABMFLD="15",ABMFLE="9002274.5" D MULTLKUP(ABMFLD,ABMFLE) ;default unbillable clinics
- S ABMFLD="17",ABMFLE="9002274.5" D MULTLKUP(ABMFLD,ABMFLE) ;default invalid prv discipline
- S ABMFLD="6",ABMFLE="9002274.5" D MULTLKUP(ABMFLD,ABMFLE) ;unbillable insurers
- S DA=1,DIE="^ABMDPARM(DUZ(2),"
- S DR=".3T//P" ;UB92 FL38
- S DR=DR_";.411" ; In-House CLIA
- S DR=DR_";.412" ; Reference Lab CLIA
- D ^DIE K DR Q:$D(Y)
- S DR=".48T" D ^DIE Q:$D(Y)
- S DR=".52T" D ^DIE Q:$D(Y)
- S DR=".49T" D ^DIE Q:$D(Y)
- S DR="212T" D ^DIE Q:$D(Y)
- ;S DR=".51T" ;abm*2.6*1 HEAT4158
- S DR=".51T" D ^DIE Q:$D(Y) ;abm*2.6*1 HEAT4158
- S DR=".54T" D ^DIE Q:$D(Y) ;abm*2.6*1 HEAT4158
- ;D ^DIE ;abm*2.6*1 HEAT4158
- I $P($G(^ABMDPARM(DUZ(2),1,5)),U)'=2 D
- .S DR=".53"
- .D ^DIE
- I $P($G(^ABMDPARM(DUZ(2),1,5)),U)=2 D
- .S DR=".53////@" ;remove anything that might be there
- .D ^DIE
- Q:$D(Y)
- S DR=".311T" D ^DIE Q:$D(Y)
- S DR="211T" D ^DIE Q:$D(Y) ;pt stmt
- S DR="214T" D ^DIE Q:$D(Y) ;pt stmt dt abm*2.6*3
- S DR="213T" D ^DIE Q:$D(Y) ;poa
- W !!,"RX DISPENSE FEES",!,"================"
- S DR=".03T;.41T;.42T;.43T;.44T;.45T;.46T" D ^DIE K DR Q:$D(Y)
- W ! S DR=11 D ^DIE K DR Q:$D(Y)
- G XIT:$D(Y)!$D(DTOUT)!$D(DUOUT)!$D(ABM("DIE-FAIL"))
- S DIE="^ABMDEXP(",DA=11,DR=1 D ^DIE Q:$D(Y)
- S DIE="^ABMDPARM(DUZ(2),",DA=1,DR=".15////Y" D ^DIE Q:$D(Y)
- S ABMFLD="19",ABMFLE="9002274.5" D MULTLKUP(ABMFLD,ABMFLE)
- ITYPES ;ENTER INSURANCE TYPE TO EXPORT TO AREA OFFICE
- ;
- K DIR
- ;
- XIT K DIE,ABM,DR
- Q
- ;
- SETAF ;SET AFFILIATION
- W *7,!!?5,"The Affilation of "_$P(^AUTTLOC(ABM("X"),0),U,2)_" has not been Established!",!
- S DIE="^AUTTLOC(",DA=DUZ(2),DR=1101 D ^DIE
- Q
- MULTLKUP(ABMFLD,ABMFLE) ;lookup/edit of 3p Parameters multiples
- N X,Y
- F D Q:$D(DTOUT)!($D(DUOUT))!(+$G(Y)<0)
- .S DA(1)=1
- .S DIC="^ABMDPARM(DUZ(2),"_DA(1)_","_ABMFLD_","
- .S DIC(0)="AEMLQ"
- .K DD,DO
- .S DIC("P")=$P(^DD(ABMFLE,ABMFLD,0),U,2)
- .D ^DIC
- .Q:Y<0
- .I $D(DTOUT)!$D(DUOUT) Q
- .I $P(Y,U,3)="" D ;not a new entry
- ..S DIE=DIC
- ..S DA=+Y
- ..S DR=".01"
- ..D ^DIE
- Q
- ABMDTPAR ; IHS/ASDST/DMJ - Table Maintenance of 3P PARAMETERS ;
- +1 ;;2.6;IHS Third Party Billing;**1,3,11,21**;NOV 12, 2009;Build 379
- +2 ;
- +3 ; IHS/SD/SDR - v2.5 p8 - added code for UNCODED DX LAG TIME prompt
- +4 ; IHS/SD/SDR - V2.5 P8 - IM12246/IM17548 - Added code for default prompt for Reference and In-House CLIAs
- +5 ; IHS/SD/SDR - v2.5 p9 - IM14099 - Fixed access to multiple; would error when user typed "??"
- +6 ; IHS/SD/SDR - v2.5 p10 - IM17482 - Add site parameter for restricting PRV segment by insurer
- +7 ; IHS/SD/SDR - v2.5 p10 - IM19802 - Fix multiple lookup
- +8 ; IHS/SD/SDR - v2.5 p10 - IM20089 - Added code for new prompt to override ISA08 value for Medicare
- +9 ; IHS/SD/SDR - v2.5 p11 - Patient Statement - Added prompt for statement header line 2
- +10 ; IHS/SD/SDR - v2.5 p13 - POA changes - Added new prompt
- +11 ; IHS/SD/SDR - abm*2.6*1 - HEAT4158 - Added prompt for mammography cert#
- +12 ;IHS/SD/SDR - 2.6*21 - HEAT130406 - Removed prompt for DAYS INACTIVE BEFORE PURGING
- +13 ;IHS/SD/SDR - 2.6*21 - VMBP - Updated p11 changes to include Serena ref#s
- +14 ;
- +15 ; *********************************************************************
- +16 ;
- +17 WRITE !
- +18 KILL DTOUT,DUOUT
- AFFL IF '$DATA(^ABMDPARM(DUZ(2),1,0))
- Begin DoDot:1
- +1 WRITE !,"Site ",$PIECE(^DIC(4,DUZ(2),0),U)," has not been initialized in 3P Billing Package."
- +2 WRITE !,"I will now run option INITIALIZE SITE."
- +3 DO ^ABMDSS
- End DoDot:1
- +4 IF '$DATA(^ABMDPARM(DUZ(2),1,0))
- QUIT
- SET ABM("X")=$PIECE(^(0),U)
- +5 IF '$DATA(^AUTTLOC(ABM("X"),0))
- QUIT
- SET ABM("LCD")=$PIECE(^(0),U,7)
- +6 SET ABM("AFFL")=""
- +7 SET ABM("I")=0
- FOR
- SET ABM("I")=$ORDER(^AUTTLOC(ABM("X"),11,ABM("I")))
- IF 'ABM("I")
- QUIT
- SET ABM("IDT")=$SELECT($PIECE(^(ABM("I"),0),U,2)]"":$PIECE(^(0),U,2),1:9999999)
- IF DT>$PIECE(^(0),U)&(DT<ABM("IDT"))
- SET ABM("AFFL")=$PIECE(^(0),U,3)
- +8 IF ABM("AFFL")=""
- DO SETAF
- IF $DATA(DTOUT)!$DATA(DUOUT)
- GOTO XIT
- +9 IF ABM("AFFL")=""
- SET ABM("AFFL")=1
- +10 SET DA=1
- SET DIE="^ABMDPARM(DUZ(2),"
- +11 ; EMC File Preference
- SET DR=".34T"
- +12 SET DR=DR_";S:X=""K"" Y=""@1"" S:X=""H"" Y=""@2"""
- +13 SET DR=DR_";.39T"
- +14 SET DR=DR_";S Y=""@1"""
- +15 SET DR=DR_";@2"
- +16 ; Default EMC Path
- SET DR=DR_";.47T"
- +17 ; Facility to receive payments
- SET DR=DR_";.23T"
- +18 ; Printable name of payment site
- SET DR=DR_";.26T"
- +19 ; Current Default fee schedule
- SET DR=DR_";.09T"
- +20 ; Create bills for all patients
- SET DR=DR_";.18T"
- +21 ; Branching
- SET DR=DR_";I 'X S Y=.13"
- +22 ; Display bene patient all claims
- SET DR=DR_";.185T"
- +23 ; Require that queing be forced
- SET DR=DR_";.13T"
- +24 ; Display long ICP/CPT description
- SET DR=DR_";.14T"
- +25 ; Backbill limit
- SET DR=DR_";.16T"
- +26 ; Block 31 (HCFA 1500) to print
- SET DR=DR_";.17T"
- +27 SET DR=DR_";I X'=3 S Y=.38"
- +28 ; HCFA-1500 Signature
- SET DR=DR_";.37T"
- +29 ; UB-92 Signature
- SET DR=DR_";.38T"
- +30 ; Place of service code
- SET DR=DR_";.36T"
- +31 ; Bill Number suffix
- SET DR=DR_";.24T"
- +32 ; Append HRN to bill number
- SET DR=DR_";.33T"
- +33 ; Allow for CPT modifiers prompt
- SET DR=DR_";.25T"
- +34 ; Set prof. component Automatically
- SET DR=DR_";.27T"
- +35 ;S DR=DR_";.28T" ; Days inactive before purging abm*2.6*21 IHS/SD/SDR HEAT130406
- +36 ; Default version of HCFA-1500
- SET DR=DR_";.29T"
- +37 ; Default form for dental billing
- SET DR=DR_";.32T"
- +38 ;VA Station Number ;abm*2.6*11 VMBP RQMT_93
- SET DR=DR_";.312T"
- +39 ;VA Contract Number ;abm*2.6*11 VMBP RQMT_93
- SET DR=DR_";.313T"
- +40 DO ^DIE
- KILL DR
- IF $DATA(Y)
- QUIT
- +41 SET DA(1)=DA
- +42 ;default unbillable clinics
- SET ABMFLD="15"
- SET ABMFLE="9002274.5"
- DO MULTLKUP(ABMFLD,ABMFLE)
- +43 ;default invalid prv discipline
- SET ABMFLD="17"
- SET ABMFLE="9002274.5"
- DO MULTLKUP(ABMFLD,ABMFLE)
- +44 ;unbillable insurers
- SET ABMFLD="6"
- SET ABMFLE="9002274.5"
- DO MULTLKUP(ABMFLD,ABMFLE)
- +45 SET DA=1
- SET DIE="^ABMDPARM(DUZ(2),"
- +46 ;UB92 FL38
- SET DR=".3T//P"
- +47 ; In-House CLIA
- SET DR=DR_";.411"
- +48 ; Reference Lab CLIA
- SET DR=DR_";.412"
- +49 DO ^DIE
- KILL DR
- IF $DATA(Y)
- QUIT
- +50 SET DR=".48T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +51 SET DR=".52T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +52 SET DR=".49T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +53 SET DR="212T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +54 ;S DR=".51T" ;abm*2.6*1 HEAT4158
- +55 ;abm*2.6*1 HEAT4158
- SET DR=".51T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +56 ;abm*2.6*1 HEAT4158
- SET DR=".54T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +57 ;D ^DIE ;abm*2.6*1 HEAT4158
- +58 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,5)),U)'=2
- Begin DoDot:1
- +59 SET DR=".53"
- +60 DO ^DIE
- End DoDot:1
- +61 IF $PIECE($GET(^ABMDPARM(DUZ(2),1,5)),U)=2
- Begin DoDot:1
- +62 ;remove anything that might be there
- SET DR=".53////@"
- +63 DO ^DIE
- End DoDot:1
- +64 IF $DATA(Y)
- QUIT
- +65 SET DR=".311T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +66 ;pt stmt
- SET DR="211T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +67 ;pt stmt dt abm*2.6*3
- SET DR="214T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +68 ;poa
- SET DR="213T"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +69 WRITE !!,"RX DISPENSE FEES",!,"================"
- +70 SET DR=".03T;.41T;.42T;.43T;.44T;.45T;.46T"
- DO ^DIE
- KILL DR
- IF $DATA(Y)
- QUIT
- +71 WRITE !
- SET DR=11
- DO ^DIE
- KILL DR
- IF $DATA(Y)
- QUIT
- +72 IF $DATA(Y)!$DATA(DTOUT)!$DATA(DUOUT)!$DATA(ABM("DIE-FAIL"))
- GOTO XIT
- +73 SET DIE="^ABMDEXP("
- SET DA=11
- SET DR=1
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +74 SET DIE="^ABMDPARM(DUZ(2),"
- SET DA=1
- SET DR=".15////Y"
- DO ^DIE
- IF $DATA(Y)
- QUIT
- +75 SET ABMFLD="19"
- SET ABMFLE="9002274.5"
- DO MULTLKUP(ABMFLD,ABMFLE)
- ITYPES ;ENTER INSURANCE TYPE TO EXPORT TO AREA OFFICE
- +1 ;
- +2 KILL DIR
- +3 ;
- XIT KILL DIE,ABM,DR
- +1 QUIT
- +2 ;
- SETAF ;SET AFFILIATION
- +1 WRITE *7,!!?5,"The Affilation of "_$PIECE(^AUTTLOC(ABM("X"),0),U,2)_" has not been Established!",!
- +2 SET DIE="^AUTTLOC("
- SET DA=DUZ(2)
- SET DR=1101
- DO ^DIE
- +3 QUIT
- MULTLKUP(ABMFLD,ABMFLE) ;lookup/edit of 3p Parameters multiples
- +1 NEW X,Y
- +2 FOR
- Begin DoDot:1
- +3 SET DA(1)=1
- +4 SET DIC="^ABMDPARM(DUZ(2),"_DA(1)_","_ABMFLD_","
- +5 SET DIC(0)="AEMLQ"
- +6 KILL DD,DO
- +7 SET DIC("P")=$PIECE(^DD(ABMFLE,ABMFLD,0),U,2)
- +8 DO ^DIC
- +9 IF Y<0
- QUIT
- +10 IF $DATA(DTOUT)!$DATA(DUOUT)
- QUIT
- +11 ;not a new entry
- IF $PIECE(Y,U,3)=""
- Begin DoDot:2
- +12 SET DIE=DIC
- +13 SET DA=+Y
- +14 SET DR=".01"
- +15 DO ^DIE
- End DoDot:2
- End DoDot:1
- IF $DATA(DTOUT)!($DATA(DUOUT))!(+$GET(Y)<0)
- QUIT
- +16 QUIT