- ABMM2EP ;IHS/SD/SDR - MU EP List of EPs Report ;
- ;;2.6;IHS 3P BILLING SYSTEM;**11,12**;NOV 12, 2009;Build 187
- ;IHS/SD/SDR - 2.6*12 - HEAT100502 - Print all provider classes; didn't if site added/removed from list.
- ;
- I $P($G(^ABMMUPRM(1,0)),U,2)="" D Q
- .W !!,"Setup has not been done. Please do MUP option prior to running any reports",!
- .S DIR(0)="E",DIR("A")="Enter RETURN to Continue" D ^DIR K DIR
- ;
- EN ;
- D ^XBFMK
- W !!
- S DIR(0)="Y"
- S DIR("A",1)="The output for this report will contain a list of eligible provider classes"
- S DIR("A",2)=""
- S DIR("A",3)="You can also print providers that have an eligible provider class"
- S DIR("A",4)="This could be a lengthy list!"
- S DIR("A",5)=""
- S DIR("A")="Print the list of providers with eligible provider classes as well"
- D ^DIR K DIR Q:$D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT)
- S ABMBOTH=Y
- S ABMQ("RC")="COMPUTE^ABMM2EP"
- S ABMQ("RX")="POUT^ABMDRUTL"
- S ABMQ("NS")="ABM"
- S ABMQ("RP")="PRINT^ABMM2EP"
- D ^ABMDRDBQ
- Q
- COMPUTE ;
- Q
- PRINT ;
- S ABM("PG")=1
- D HDR
- ;start old code abm*2.6*12 HEAT100502
- ;S ABMLAST=$O(^ABMMUPRM(1,2,9999),-1)
- ;S ABMCUTOF=$S(ABMLAST#2=1:(ABMLAST+1)\2,1:ABMLAST\2)
- ;S ABMCNT=0
- ;S ABMCNT2=ABMCUTOF
- ;F S ABMCNT=$O(^ABMMUPRM(1,2,ABMCNT)) Q:'ABMCNT D Q:ABMCNT=ABMCUTOF
- ;.I $Y+5>IOSL D HD Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
- ;.S ABMCD=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),9999999.01,"E")
- ;.S ABMPC=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),.01,"E")
- ;.S ABMCD2=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT2,0)),U),9999999.01,"E")
- ;.S ABMPC2=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT2,0)),U),.01,"E")
- ;.S ABMCNT2=ABMCNT2+1
- ;.W !?3,ABMCD,?8,ABMPC,?40,ABMCD2,?45,ABMPC2
- ;end old code start new code HEAT100502
- S ABMI=0,ABMCNT=0
- F S ABMI=$O(^ABMMUPRM(1,2,ABMI)) Q:'ABMI D
- .S ABMCNT=ABMCNT+1
- .S ABMCD=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),9999999.01,"E")
- .S ABMPC=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),.01,"E")
- .S ABMTMP(ABMCNT)=ABMCD_U_ABMPC
- S ABMLAST=ABMCNT
- S ABMCUTOF=$S(ABMLAST#2=1:(ABMLAST+1)\2,1:ABMLAST\2)
- S ABMCNT2=ABMCUTOF
- S ABMCNT=0
- F S ABMCNT=$O(ABMTMP(ABMCNT)) Q:'ABMCNT D Q:ABMCNT=ABMCUTOF
- .I $Y+5>IOSL D HD Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
- .S ABMCNT2=ABMCNT2+1
- .S ABMCD=$P(ABMTMP(ABMCNT),U)
- .S ABMPC=$P(ABMTMP(ABMCNT),U,2)
- .S ABMCD2=$P($G(ABMTMP(ABMCNT2)),U)
- .S ABMPC2=$P($G(ABMTMP(ABMCNT2)),U,2)
- .W !?3,ABMCD,?8,ABMPC,?40,ABMCD2,?45,ABMPC2
- ;end new code HEAT100502
- ;
- I +$G(ABMBOTH)'=1 Q ;don't write providers
- S ABM("PG")=ABM("PG")+1
- D HDR2
- K ^XTMP("ABM-EP",$J)
- S ABMNM=""
- S ABMCNT=0
- F S ABMNM=$O(^VA(200,"B",ABMNM)) Q:$G(ABMNM)="" D
- .S ABMIEN=0
- .F S ABMIEN=$O(^VA(200,"B",ABMNM,ABMIEN)) Q:'ABMIEN D
- ..Q:$$GET1^DIQ(200,ABMIEN,53.5,"I")=""
- ..Q:'$D(^ABMMUPRM(1,2,"B",$$GET1^DIQ(200,ABMIEN,53.5,"I"))) ;not on the provider class list
- ..S ABMCNT=ABMCNT+1
- ..S ^XTMP("ABM-EP",$J,ABMCNT)=$$GET1^DIQ(200,ABMIEN,.01,"E")_U_$$GET1^DIQ(7,$$GET1^DIQ(200,ABMIEN,53.5,"I"),9999999.01,"E")
- S ABMCUTOF=$S(ABMCNT#2=1:(ABMCNT+1)\2,1:ABMCNT\2)
- S ABMCNT=0,ABMCNT2=ABMCUTOF
- F S ABMCNT=$O(^XTMP("ABM-EP",$J,ABMCNT)) Q:'ABMCNT!(ABMCNT=ABMCUTOF) D Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
- .I $Y+5>IOSL D HD2 Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
- .S ABMP=$P($G(^XTMP("ABM-EP",$J,ABMCNT)),U)
- .S ABMPC=$P($G(^XTMP("ABM-EP",$J,ABMCNT)),U,2)
- .S ABMP2=$P($G(^XTMP("ABM-EP",$J,ABMCNT2)),U)
- .S ABMPC2=$P($G(^XTMP("ABM-EP",$J,ABMCNT2)),U,2)
- .S ABMCNT2=ABMCNT2+1
- .W !,$E(ABMP,1,33),?35,ABMPC,?40,$E(ABMP2,1,33),?75,ABMPC2
- K ^XTMP("ABM-EP",$J)
- Q
- ;
- HD ;
- D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- S ABM("PG")=+$G(ABM("PG"))+1
- HDR ;EP
- D EN^ABMVDF("IOF")
- W $C(13)
- D CENTER^ABMUCUTL(" EP Class - List of Eligible Professionals Page "_ABM("PG"))
- W ! D CENTER^ABMUCUTL("IHS Meaningful Use Patient Volume Report")
- W !
- D NOW^%DTC
- D CENTER^ABMUCUTL("Report Run Date: "_$$CDT^ABMDUTL(%))
- I ABM("PG")=1 W !!,"PROVIDER CLASSES THAT WILL BE INCLUDED:"
- I ABM("PG")'=1 W !!,"(Cont)"
- W !?3,$$EN^ABMVDF("ULN"),"Code",$$EN^ABMVDF("ULF")
- W ?8,$$EN^ABMVDF("ULN"),"Provider Class",$$EN^ABMVDF("ULF")
- W ?40,$$EN^ABMVDF("ULN"),"Code",$$EN^ABMVDF("ULF")
- W ?45,$$EN^ABMVDF("ULN"),"Provider Class",$$EN^ABMVDF("ULF")
- Q
- HD2 ;
- D PAZ^ABMDRUTL Q:$D(DTOUT)!$D(DUOUT)!$D(DIROUT)
- S ABM("PG")=+$G(ABM("PG"))+1
- HDR2 ;EP
- D EN^ABMVDF("IOF")
- W $C(13)
- D CENTER^ABMUCUTL(" EP Class - List of Eligible Professionals Page "_ABM("PG"))
- W ! D CENTER^ABMUCUTL("IHS Meaningful Use Patient Volume Report")
- W !
- D NOW^%DTC
- D CENTER^ABMUCUTL("Report Run Date: "_$$CDT^ABMDUTL(%))
- I ABM("PG")=1 W !!,"ELIGIBLE PROFESSIONALS"
- I ABM("PG")'=1 W !!,"(Cont)"
- W !,$$EN^ABMVDF("ULN"),"Provider",$$EN^ABMVDF("ULF")
- W ?34,$$EN^ABMVDF("ULN"),"Class",$$EN^ABMVDF("ULF")
- W ?40,$$EN^ABMVDF("ULN"),"Provider",$$EN^ABMVDF("ULF")
- W ?75,$$EN^ABMVDF("ULN"),"Class",$$EN^ABMVDF("ULF")
- Q
- ABMM2EP ;IHS/SD/SDR - MU EP List of EPs Report ;
- +1 ;;2.6;IHS 3P BILLING SYSTEM;**11,12**;NOV 12, 2009;Build 187
- +2 ;IHS/SD/SDR - 2.6*12 - HEAT100502 - Print all provider classes; didn't if site added/removed from list.
- +3 ;
- +4 IF $PIECE($GET(^ABMMUPRM(1,0)),U,2)=""
- Begin DoDot:1
- +5 WRITE !!,"Setup has not been done. Please do MUP option prior to running any reports",!
- +6 SET DIR(0)="E"
- SET DIR("A")="Enter RETURN to Continue"
- DO ^DIR
- KILL DIR
- End DoDot:1
- QUIT
- +7 ;
- EN ;
- +1 DO ^XBFMK
- +2 WRITE !!
- +3 SET DIR(0)="Y"
- +4 SET DIR("A",1)="The output for this report will contain a list of eligible provider classes"
- +5 SET DIR("A",2)=""
- +6 SET DIR("A",3)="You can also print providers that have an eligible provider class"
- +7 SET DIR("A",4)="This could be a lengthy list!"
- +8 SET DIR("A",5)=""
- +9 SET DIR("A")="Print the list of providers with eligible provider classes as well"
- +10 DO ^DIR
- KILL DIR
- IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT)
- QUIT
- +11 SET ABMBOTH=Y
- +12 SET ABMQ("RC")="COMPUTE^ABMM2EP"
- +13 SET ABMQ("RX")="POUT^ABMDRUTL"
- +14 SET ABMQ("NS")="ABM"
- +15 SET ABMQ("RP")="PRINT^ABMM2EP"
- +16 DO ^ABMDRDBQ
- +17 QUIT
- COMPUTE ;
- +1 QUIT
- PRINT ;
- +1 SET ABM("PG")=1
- +2 DO HDR
- +3 ;start old code abm*2.6*12 HEAT100502
- +4 ;S ABMLAST=$O(^ABMMUPRM(1,2,9999),-1)
- +5 ;S ABMCUTOF=$S(ABMLAST#2=1:(ABMLAST+1)\2,1:ABMLAST\2)
- +6 ;S ABMCNT=0
- +7 ;S ABMCNT2=ABMCUTOF
- +8 ;F S ABMCNT=$O(^ABMMUPRM(1,2,ABMCNT)) Q:'ABMCNT D Q:ABMCNT=ABMCUTOF
- +9 ;.I $Y+5>IOSL D HD Q:(IOST["C")&((+$G(Y)=0)!($D(DIRUT)!$D(DIROUT)!$D(DTOUT)!$D(DUOUT)))
- +10 ;.S ABMCD=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),9999999.01,"E")
- +11 ;.S ABMPC=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT,0)),U),.01,"E")
- +12 ;.S ABMCD2=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT2,0)),U),9999999.01,"E")
- +13 ;.S ABMPC2=$$GET1^DIQ(7,$P($G(^ABMMUPRM(1,2,ABMCNT2,0)),U),.01,"E")
- +14 ;.S ABMCNT2=ABMCNT2+1
- +15 ;.W !?3,ABMCD,?8,ABMPC,?40,ABMCD2,?45,ABMPC2
- +16 ;end old code start new code HEAT100502
- +17 SET ABMI=0
- SET ABMCNT=0
- +18 FOR
- SET ABMI=$ORDER(^ABMMUPRM(1,2,ABMI))
- IF 'ABMI
- QUIT
- Begin DoDot:1
- +19 SET ABMCNT=ABMCNT+1
- +20 SET ABMCD=$$GET1^DIQ(7,$PIECE($GET(^ABMMUPRM(1,2,ABMCNT,0)),U),9999999.01,"E")
- +21 SET ABMPC=$$GET1^DIQ(7,$PIECE($GET(^ABMMUPRM(1,2,ABMCNT,0)),U),.01,"E")
- +22 SET ABMTMP(ABMCNT)=ABMCD_U_ABMPC
- End DoDot:1
- +23 SET ABMLAST=ABMCNT
- +24 SET ABMCUTOF=$SELECT(ABMLAST#2=1:(ABMLAST+1)\2,1:ABMLAST\2)
- +25 SET ABMCNT2=ABMCUTOF
- +26 SET ABMCNT=0
- +27 FOR
- SET ABMCNT=$ORDER(ABMTMP(ABMCNT))
- IF 'ABMCNT
- QUIT
- Begin DoDot:1
- +28 IF $Y+5>IOSL
- DO HD
- IF (IOST["C")&((+$GET(Y)=0)!($DATA(DIRUT)!$DATA(DIROUT)!$DATA(DTOUT)!$DATA(DUOUT)))
- QUIT
- +29 SET ABMCNT2=ABMCNT2+1
- +30 SET ABMCD=$PIECE(ABMTMP(ABMCNT),U)
- +31 SET ABMPC=$PIECE(ABMTMP(ABMCNT),U,2)
- +32 SET ABMCD2=$PIECE($GET(ABMTMP(ABMCNT2)),U)
- +33 SET ABMPC2=$PIECE($GET(ABMTMP(ABMCNT2)),U,2)
- +34 WRITE !?3,ABMCD,?8,ABMPC,?40,ABMCD2,?45,ABMPC2
- End DoDot:1
- IF ABMCNT=ABMCUTOF
- QUIT
- +35 ;end new code HEAT100502
- +36 ;
- +37 ;don't write providers
- IF +$GET(ABMBOTH)'=1
- QUIT
- +38 SET ABM("PG")=ABM("PG")+1
- +39 DO HDR2
- +40 KILL ^XTMP("ABM-EP",$JOB)
- +41 SET ABMNM=""
- +42 SET ABMCNT=0
- +43 FOR
- SET ABMNM=$ORDER(^VA(200,"B",ABMNM))
- IF $GET(ABMNM)=""
- QUIT
- Begin DoDot:1
- +44 SET ABMIEN=0
- +45 FOR
- SET ABMIEN=$ORDER(^VA(200,"B",ABMNM,ABMIEN))
- IF 'ABMIEN
- QUIT
- Begin DoDot:2
- +46 IF $$GET1^DIQ(200,ABMIEN,53.5,"I")=""
- QUIT
- +47 ;not on the provider class list
- IF '$DATA(^ABMMUPRM(1,2,"B",$$GET1^DIQ(200,ABMIEN,53.5,"I")))
- QUIT
- +48 SET ABMCNT=ABMCNT+1
- +49 SET ^XTMP("ABM-EP",$JOB,ABMCNT)=$$GET1^DIQ(200,ABMIEN,.01,"E")_U_$$GET1^DIQ(7,$$GET1^DIQ(200,ABMIEN,53.5,"I"),9999999.01,"E")
- End DoDot:2
- End DoDot:1
- +50 SET ABMCUTOF=$SELECT(ABMCNT#2=1:(ABMCNT+1)\2,1:ABMCNT\2)
- +51 SET ABMCNT=0
- SET ABMCNT2=ABMCUTOF
- +52 FOR
- SET ABMCNT=$ORDER(^XTMP("ABM-EP",$JOB,ABMCNT))
- IF 'ABMCNT!(ABMCNT=ABMCUTOF)
- QUIT
- Begin DoDot:1
- +53 IF $Y+5>IOSL
- DO HD2
- IF (IOST["C")&((+$GET(Y)=0)!($DATA(DIRUT)!$DATA(DIROUT)!$DATA(DTOUT)!$DATA(DUOUT)))
- QUIT
- +54 SET ABMP=$PIECE($GET(^XTMP("ABM-EP",$JOB,ABMCNT)),U)
- +55 SET ABMPC=$PIECE($GET(^XTMP("ABM-EP",$JOB,ABMCNT)),U,2)
- +56 SET ABMP2=$PIECE($GET(^XTMP("ABM-EP",$JOB,ABMCNT2)),U)
- +57 SET ABMPC2=$PIECE($GET(^XTMP("ABM-EP",$JOB,ABMCNT2)),U,2)
- +58 SET ABMCNT2=ABMCNT2+1
- +59 WRITE !,$EXTRACT(ABMP,1,33),?35,ABMPC,?40,$EXTRACT(ABMP2,1,33),?75,ABMPC2
- End DoDot:1
- IF (IOST["C")&((+$GET(Y)=0)!($DATA(DIRUT)!$DATA(DIROUT)!$DATA(DTOUT)!$DATA(DUOUT)))
- QUIT
- +60 KILL ^XTMP("ABM-EP",$JOB)
- +61 QUIT
- +62 ;
- HD ;
- +1 DO PAZ^ABMDRUTL
- IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
- QUIT
- +2 SET ABM("PG")=+$GET(ABM("PG"))+1
- HDR ;EP
- +1 DO EN^ABMVDF("IOF")
- +2 WRITE $CHAR(13)
- +3 DO CENTER^ABMUCUTL(" EP Class - List of Eligible Professionals Page "_ABM("PG"))
- +4 WRITE !
- DO CENTER^ABMUCUTL("IHS Meaningful Use Patient Volume Report")
- +5 WRITE !
- +6 DO NOW^%DTC
- +7 DO CENTER^ABMUCUTL("Report Run Date: "_$$CDT^ABMDUTL(%))
- +8 IF ABM("PG")=1
- WRITE !!,"PROVIDER CLASSES THAT WILL BE INCLUDED:"
- +9 IF ABM("PG")'=1
- WRITE !!,"(Cont)"
- +10 WRITE !?3,$$EN^ABMVDF("ULN"),"Code",$$EN^ABMVDF("ULF")
- +11 WRITE ?8,$$EN^ABMVDF("ULN"),"Provider Class",$$EN^ABMVDF("ULF")
- +12 WRITE ?40,$$EN^ABMVDF("ULN"),"Code",$$EN^ABMVDF("ULF")
- +13 WRITE ?45,$$EN^ABMVDF("ULN"),"Provider Class",$$EN^ABMVDF("ULF")
- +14 QUIT
- HD2 ;
- +1 DO PAZ^ABMDRUTL
- IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIROUT)
- QUIT
- +2 SET ABM("PG")=+$GET(ABM("PG"))+1
- HDR2 ;EP
- +1 DO EN^ABMVDF("IOF")
- +2 WRITE $CHAR(13)
- +3 DO CENTER^ABMUCUTL(" EP Class - List of Eligible Professionals Page "_ABM("PG"))
- +4 WRITE !
- DO CENTER^ABMUCUTL("IHS Meaningful Use Patient Volume Report")
- +5 WRITE !
- +6 DO NOW^%DTC
- +7 DO CENTER^ABMUCUTL("Report Run Date: "_$$CDT^ABMDUTL(%))
- +8 IF ABM("PG")=1
- WRITE !!,"ELIGIBLE PROFESSIONALS"
- +9 IF ABM("PG")'=1
- WRITE !!,"(Cont)"
- +10 WRITE !,$$EN^ABMVDF("ULN"),"Provider",$$EN^ABMVDF("ULF")
- +11 WRITE ?34,$$EN^ABMVDF("ULN"),"Class",$$EN^ABMVDF("ULF")
- +12 WRITE ?40,$$EN^ABMVDF("ULN"),"Provider",$$EN^ABMVDF("ULF")
- +13 WRITE ?75,$$EN^ABMVDF("ULN"),"Class",$$EN^ABMVDF("ULF")
- +14 QUIT