ABMDTASC ; IHS/ASDST/DMJ - UPDATE ASC FEE TABLE ;
;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
; IHS/SD/SDR - v2.5 p9 - IM12137 - Added code to put group 9 prompts in
; IHS/SD/SDR - v2.6 CSV
; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to populated effective dates
;
START ;START
W !!,$$EN^ABMVDF("RVN"),"NOTE:",$$EN^ABMVDF("RVF")
W " We recommend doing a global save of global ^ABMDFEE before proceeding.",!!
S DIC="^ABMDFEE(",DIC(0)="AEMNQ"
S DIC("A")="Enter the Number of your ASC Fee Schedule: "
S DIC("B")=2
D ^DIC K DIC
Q:+Y<0 S ABMJ=+Y
D CURRATE
D RATE
Q:$D(DUOUT)!$D(DTOUT)
S $P(ABMEQ,"=",80)=""
W !!,ABMEQ,!
F ABMI=1:1:9 W !,"Rate for ASC Payment Group ",ABMI,": $",ABM(ABMI)
S DIR(0)="Y"
S DIR("A")="Continue"
S DIR("B")="NO"
D ^DIR K DIR
Q:Y'=1
;start new code abm*2.6*2 3PMS10003A
D ^XBFMK
S DIR(0)="D"
S DIR("A")="What is the effective date? "
S DIR("B")="TODAY"
D ^DIR K DIR
Q:$D(DIRUT)
S ABMEDT=Y
;end new code 3PMS10003A
D LOOP
K ABMPG,ABMEQ
;start new code abm*2.6*2 3PMS10003A
D ^XBFMK
S DA(1)=ABMJ
S DIC="^ABMDFEE("_DA(1)_",1,"
S DIC(0)="MQL"
S DIC("P")=$P(^DD(9002274.01,1,0),U,2)
D NOW^%DTC
S X=%
S DIC("DR")=".02////"_DUZ_";.06////Y"
D ^DIC
;end new code 3PMS10003A
W !!,"Finished.",!!
S DIR(0)="E" D ^DIR K DIR
Q
CURRATE ;
S ABMI=9999
F S ABMI=$O(^ICPT(ABMI)) Q:ABMI>69999 D
.S ABMPG=$P($$IHSCPT^ABMCVAPI(ABMI,""),U,6) ;CSV-c
.Q:'ABMPG
.Q:ABMPG>9
.Q:'$D(^ABMDFEE(ABMJ,11,ABMI,0))
.S ABMRATE(+ABMPG)=$P($G(^ABMDFEE(ABMJ,11,ABMI,0)),U,2)
W !!,"CURRENT RATES"
F ABMI=1:1:9 W !,?3,"Rate for ASC Payment Group ",ABMI,":$",+$G(ABMRATE(ABMI))
W !
K ABMRATE
Q
RATE ;ENTER RATES FOR THE ASC PAYMENT GROUPS
K DUOUT,DTOUT
S DIR(0)="N"
W !,"NEW RATES"
F ABMI=1:1:9 D Q:$D(DUOUT)!$D(DTOUT)
.S DIR("A")="Enter Rate for ASC Payment Group #"_ABMI
.D ^DIR
.Q:$D(DUOUT)!$D(DTOUT)
.S ABM(ABMI)=Y
K DIR
Q
LOOP ;LOOP THROUGH CPT SURGERY
S ABMI=9999
F S ABMI=$O(^ICPT(ABMI)) Q:ABMI>69999 D
.S ABMPG=$P($$IHSCPT^ABMCVAPI(ABMI,""),U,6) ;CSV-c
.Q:'ABMPG
.Q:ABMPG>9
.;I '$D(^ABMDFEE(ABMJ,11,ABMI,0)) D NEW Q:+Y<0 ;abm*2.6*2 3PMS10003A
.I '$D(^ABMDFEE(ABMJ,11,ABMI,0)) D NEW ;abm*2.6*2 3PMS10003A
.S $P(^ABMDFEE(ABMJ,11,ABMI,0),U,2)=ABM(+ABMPG)
.D EFFDT ;abm*2.6*2 3PMS10003A
.W "."
Q
NEW ;NEW ENTRY IN FEE TABLE
S ^ABMDFEE(ABMJ,11,ABMI,0)=ABMI
S ^ABMDFEE(ABMJ,11,"B",ABMI,ABMI)=""
Q
;start new code abm*2.6*2 3PMS10003A
EFFDT ;
D ^XBFMK
S DA(2)=ABMJ
S DA(1)=ABMI
S DIC="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
S DIC(0)="L"
S DIC("P")=$P(^DD(9002274.0111,1,0),U,2)
S X=ABMEDT
D ^DIC
S ABMENTRY=+Y
D ^XBFMK
S DA(2)=ABMJ
S DA(1)=ABMI
S DIE="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
S DA=ABMENTRY
S DR=".02////"_ABM(+ABMPG)
S DR=DR_";.05////"_DT_";.06////"_DUZ
D ^DIE
Q
;end new code 3PMS10003A
ABMDTASC ; IHS/ASDST/DMJ - UPDATE ASC FEE TABLE ;
+1 ;;2.6;IHS Third Party Billing System;**2**;NOV 12, 2009
+2 ; IHS/SD/SDR - v2.5 p9 - IM12137 - Added code to put group 9 prompts in
+3 ; IHS/SD/SDR - v2.6 CSV
+4 ; IHS/SD/SDR - abm*2.6*2 - 3PMS10003A - modified to populated effective dates
+5 ;
START ;START
+1 WRITE !!,$$EN^ABMVDF("RVN"),"NOTE:",$$EN^ABMVDF("RVF")
+2 WRITE " We recommend doing a global save of global ^ABMDFEE before proceeding.",!!
+3 SET DIC="^ABMDFEE("
SET DIC(0)="AEMNQ"
+4 SET DIC("A")="Enter the Number of your ASC Fee Schedule: "
+5 SET DIC("B")=2
+6 DO ^DIC
KILL DIC
+7 IF +Y<0
QUIT
SET ABMJ=+Y
+8 DO CURRATE
+9 DO RATE
+10 IF $DATA(DUOUT)!$DATA(DTOUT)
QUIT
+11 SET $PIECE(ABMEQ,"=",80)=""
+12 WRITE !!,ABMEQ,!
+13 FOR ABMI=1:1:9
WRITE !,"Rate for ASC Payment Group ",ABMI,": $",ABM(ABMI)
+14 SET DIR(0)="Y"
+15 SET DIR("A")="Continue"
+16 SET DIR("B")="NO"
+17 DO ^DIR
KILL DIR
+18 IF Y'=1
QUIT
+19 ;start new code abm*2.6*2 3PMS10003A
+20 DO ^XBFMK
+21 SET DIR(0)="D"
+22 SET DIR("A")="What is the effective date? "
+23 SET DIR("B")="TODAY"
+24 DO ^DIR
KILL DIR
+25 IF $DATA(DIRUT)
QUIT
+26 SET ABMEDT=Y
+27 ;end new code 3PMS10003A
+28 DO LOOP
+29 KILL ABMPG,ABMEQ
+30 ;start new code abm*2.6*2 3PMS10003A
+31 DO ^XBFMK
+32 SET DA(1)=ABMJ
+33 SET DIC="^ABMDFEE("_DA(1)_",1,"
+34 SET DIC(0)="MQL"
+35 SET DIC("P")=$PIECE(^DD(9002274.01,1,0),U,2)
+36 DO NOW^%DTC
+37 SET X=%
+38 SET DIC("DR")=".02////"_DUZ_";.06////Y"
+39 DO ^DIC
+40 ;end new code 3PMS10003A
+41 WRITE !!,"Finished.",!!
+42 SET DIR(0)="E"
DO ^DIR
KILL DIR
+43 QUIT
CURRATE ;
+1 SET ABMI=9999
+2 FOR
SET ABMI=$ORDER(^ICPT(ABMI))
IF ABMI>69999
QUIT
Begin DoDot:1
+3 ;CSV-c
SET ABMPG=$PIECE($$IHSCPT^ABMCVAPI(ABMI,""),U,6)
+4 IF 'ABMPG
QUIT
+5 IF ABMPG>9
QUIT
+6 IF '$DATA(^ABMDFEE(ABMJ,11,ABMI,0))
QUIT
+7 SET ABMRATE(+ABMPG)=$PIECE($GET(^ABMDFEE(ABMJ,11,ABMI,0)),U,2)
End DoDot:1
+8 WRITE !!,"CURRENT RATES"
+9 FOR ABMI=1:1:9
WRITE !,?3,"Rate for ASC Payment Group ",ABMI,":$",+$GET(ABMRATE(ABMI))
+10 WRITE !
+11 KILL ABMRATE
+12 QUIT
RATE ;ENTER RATES FOR THE ASC PAYMENT GROUPS
+1 KILL DUOUT,DTOUT
+2 SET DIR(0)="N"
+3 WRITE !,"NEW RATES"
+4 FOR ABMI=1:1:9
Begin DoDot:1
+5 SET DIR("A")="Enter Rate for ASC Payment Group #"_ABMI
+6 DO ^DIR
+7 IF $DATA(DUOUT)!$DATA(DTOUT)
QUIT
+8 SET ABM(ABMI)=Y
End DoDot:1
IF $DATA(DUOUT)!$DATA(DTOUT)
QUIT
+9 KILL DIR
+10 QUIT
LOOP ;LOOP THROUGH CPT SURGERY
+1 SET ABMI=9999
+2 FOR
SET ABMI=$ORDER(^ICPT(ABMI))
IF ABMI>69999
QUIT
Begin DoDot:1
+3 ;CSV-c
SET ABMPG=$PIECE($$IHSCPT^ABMCVAPI(ABMI,""),U,6)
+4 IF 'ABMPG
QUIT
+5 IF ABMPG>9
QUIT
+6 ;I '$D(^ABMDFEE(ABMJ,11,ABMI,0)) D NEW Q:+Y<0 ;abm*2.6*2 3PMS10003A
+7 ;abm*2.6*2 3PMS10003A
IF '$DATA(^ABMDFEE(ABMJ,11,ABMI,0))
DO NEW
+8 SET $PIECE(^ABMDFEE(ABMJ,11,ABMI,0),U,2)=ABM(+ABMPG)
+9 ;abm*2.6*2 3PMS10003A
DO EFFDT
+10 WRITE "."
End DoDot:1
+11 QUIT
NEW ;NEW ENTRY IN FEE TABLE
+1 SET ^ABMDFEE(ABMJ,11,ABMI,0)=ABMI
+2 SET ^ABMDFEE(ABMJ,11,"B",ABMI,ABMI)=""
+3 QUIT
+4 ;start new code abm*2.6*2 3PMS10003A
EFFDT ;
+1 DO ^XBFMK
+2 SET DA(2)=ABMJ
+3 SET DA(1)=ABMI
+4 SET DIC="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
+5 SET DIC(0)="L"
+6 SET DIC("P")=$PIECE(^DD(9002274.0111,1,0),U,2)
+7 SET X=ABMEDT
+8 DO ^DIC
+9 SET ABMENTRY=+Y
+10 DO ^XBFMK
+11 SET DA(2)=ABMJ
+12 SET DA(1)=ABMI
+13 SET DIE="^ABMDFEE("_DA(2)_",11,"_DA(1)_",1,"
+14 SET DA=ABMENTRY
+15 SET DR=".02////"_ABM(+ABMPG)
+16 SET DR=DR_";.05////"_DT_";.06////"_DUZ
+17 DO ^DIE
+18 QUIT
+19 ;end new code 3PMS10003A