- BNITGS ; IHS/CMI/LAB - group served table ;
- ;;1.0;BNI CPHD ACTIVITY DATASYSTEM;;DEC 20, 2006
- ;
- ;
- START ;
- W:$D(IOF) @IOF
- W !,$$CTR($$LOC)
- W !,$$CTR($$USR)
- W !!,"This report will list the CPHAD Group Served table.",!!
- SORT ;
- S BNISORT=""
- K DIR S DIR(0)="S^T:Group Served;C:Group Served Code",DIR("A")="How do you want the table sorted",DIR("B")="T" KILL DA D ^DIR KILL DIR
- I $D(DIRUT) D EXIT Q
- S BNISORT=Y
- ZIS ;call to XBDBQUE
- S XBRP="PRINT^BNITGS",XBRC="",XBRX="EXIT^BNITGS",XBNS="BNI"
- D ^XBDBQUE
- D EXIT
- Q
- EXIT ;clean up and exit
- D EN^XBVK("BNI")
- Q
- PRINT ;EP - called from xbdbque
- S BNIPG=0,BNIQ="" D HEAD
- I BNISORT="C" D CODE
- I BNISORT="T" D TOPIC
- DONE ;
- I $E(IOST)="C",IO=IO(0) S DIR(0)="EO",DIR("A")="End of report. HIT RETURN" D ^DIR K DIR S:$D(DUOUT) DIRUT=1
- Q
- CODE ;
- S BNIX="" F S BNIX=$O(^BNIGS("C",BNIX)) Q:BNIX=""!(BNIQ) D
- .S BNIY=0 F S BNIY=$O(^BNIGS("C",BNIX,BNIY)) Q:BNIY'=+BNIY!(BNIQ) D
- ..I $Y>(IOSL-2) D HEAD Q:BNIQ
- ..W !,$P(^BNIGS(BNIY,0),U),?60,$P(^BNIGS(BNIY,0),U,2),?68,$$VAL^XBDIQ1(90511.04,BNIY,.03)
- ..Q
- .Q
- Q
- TOPIC ;
- S BNIX="" F S BNIX=$O(^BNIGS("B",BNIX)) Q:BNIX=""!(BNIQ) D
- .S BNIY=0 F S BNIY=$O(^BNIGS("B",BNIX,BNIY)) Q:BNIY'=+BNIY!(BNIQ) D
- ..I $Y>(IOSL-2) D HEAD Q:BNIQ
- ..W !,$P(^BNIGS(BNIY,0),U),?65,$P(^BNIGS(BNIY,0),U,2),?74,$$VAL^XBDIQ1(90511.04,BNIY,.03)
- ..Q
- .Q
- Q
- HEAD I 'BNIPG G HEAD1
- I $E(IOST)="C",IO=IO(0) W ! S DIR(0)="EO" D ^DIR K DIR I Y=0!(Y="^")!($D(DTOUT)) S BNIQ=1 Q
- HEAD1 ;
- W:$D(IOF) @IOF S BNIPG=BNIPG+1
- W !,$P(^VA(200,DUZ,0),U,2),?72,"Page ",BNIPG,!
- W ?(80-$L($P(^DIC(4,DUZ(2),0),U))/2),$P(^DIC(4,DUZ(2),0),U),!
- W $$CTR("CPHAD GROUP SERVED TABLE LISTING",80),!
- PIH W !,"GROUP SERVED",?60,"CODE",?68,"OTHER?",!,$$REPEAT^XLFSTR("-",80),!
- Q
- CTR(X,Y) ;EP - Center X in a field Y wide.
- Q $J("",$S($D(Y):Y,1:IOM)-$L(X)\2)_X
- ;----------
- EOP ;EP - End of page.
- Q:$E(IOST)'="C"
- Q:$D(ZTQUEUED)!'(IOT="TRM")!$D(IO("S"))
- NEW DIR
- K DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
- S DIR(0)="E" D ^DIR
- Q
- ;----------
- USR() ;EP - Return name of current user from ^VA(200.
- Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
- ;----------
- LOC() ;EP - Return location name from file 4 based on DUZ(2).
- Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
- ;----------
- BNITGS ; IHS/CMI/LAB - group served table ;
- +1 ;;1.0;BNI CPHD ACTIVITY DATASYSTEM;;DEC 20, 2006
- +2 ;
- +3 ;
- START ;
- +1 IF $DATA(IOF)
- WRITE @IOF
- +2 WRITE !,$$CTR($$LOC)
- +3 WRITE !,$$CTR($$USR)
- +4 WRITE !!,"This report will list the CPHAD Group Served table.",!!
- SORT ;
- +1 SET BNISORT=""
- +2 KILL DIR
- SET DIR(0)="S^T:Group Served;C:Group Served Code"
- SET DIR("A")="How do you want the table sorted"
- SET DIR("B")="T"
- KILL DA
- DO ^DIR
- KILL DIR
- +3 IF $DATA(DIRUT)
- DO EXIT
- QUIT
- +4 SET BNISORT=Y
- ZIS ;call to XBDBQUE
- +1 SET XBRP="PRINT^BNITGS"
- SET XBRC=""
- SET XBRX="EXIT^BNITGS"
- SET XBNS="BNI"
- +2 DO ^XBDBQUE
- +3 DO EXIT
- +4 QUIT
- EXIT ;clean up and exit
- +1 DO EN^XBVK("BNI")
- +2 QUIT
- PRINT ;EP - called from xbdbque
- +1 SET BNIPG=0
- SET BNIQ=""
- DO HEAD
- +2 IF BNISORT="C"
- DO CODE
- +3 IF BNISORT="T"
- DO TOPIC
- DONE ;
- +1 IF $EXTRACT(IOST)="C"
- IF IO=IO(0)
- SET DIR(0)="EO"
- SET DIR("A")="End of report. HIT RETURN"
- DO ^DIR
- KILL DIR
- IF $DATA(DUOUT)
- SET DIRUT=1
- +2 QUIT
- CODE ;
- +1 SET BNIX=""
- FOR
- SET BNIX=$ORDER(^BNIGS("C",BNIX))
- IF BNIX=""!(BNIQ)
- QUIT
- Begin DoDot:1
- +2 SET BNIY=0
- FOR
- SET BNIY=$ORDER(^BNIGS("C",BNIX,BNIY))
- IF BNIY'=+BNIY!(BNIQ)
- QUIT
- Begin DoDot:2
- +3 IF $Y>(IOSL-2)
- DO HEAD
- IF BNIQ
- QUIT
- +4 WRITE !,$PIECE(^BNIGS(BNIY,0),U),?60,$PIECE(^BNIGS(BNIY,0),U,2),?68,$$VAL^XBDIQ1(90511.04,BNIY,.03)
- +5 QUIT
- End DoDot:2
- +6 QUIT
- End DoDot:1
- +7 QUIT
- TOPIC ;
- +1 SET BNIX=""
- FOR
- SET BNIX=$ORDER(^BNIGS("B",BNIX))
- IF BNIX=""!(BNIQ)
- QUIT
- Begin DoDot:1
- +2 SET BNIY=0
- FOR
- SET BNIY=$ORDER(^BNIGS("B",BNIX,BNIY))
- IF BNIY'=+BNIY!(BNIQ)
- QUIT
- Begin DoDot:2
- +3 IF $Y>(IOSL-2)
- DO HEAD
- IF BNIQ
- QUIT
- +4 WRITE !,$PIECE(^BNIGS(BNIY,0),U),?65,$PIECE(^BNIGS(BNIY,0),U,2),?74,$$VAL^XBDIQ1(90511.04,BNIY,.03)
- +5 QUIT
- End DoDot:2
- +6 QUIT
- End DoDot:1
- +7 QUIT
- HEAD IF 'BNIPG
- GOTO HEAD1
- +1 IF $EXTRACT(IOST)="C"
- IF IO=IO(0)
- WRITE !
- SET DIR(0)="EO"
- DO ^DIR
- KILL DIR
- IF Y=0!(Y="^")!($DATA(DTOUT))
- SET BNIQ=1
- QUIT
- HEAD1 ;
- +1 IF $DATA(IOF)
- WRITE @IOF
- SET BNIPG=BNIPG+1
- +2 WRITE !,$PIECE(^VA(200,DUZ,0),U,2),?72,"Page ",BNIPG,!
- +3 WRITE ?(80-$LENGTH($PIECE(^DIC(4,DUZ(2),0),U))/2),$PIECE(^DIC(4,DUZ(2),0),U),!
- +4 WRITE $$CTR("CPHAD GROUP SERVED TABLE LISTING",80),!
- PIH WRITE !,"GROUP SERVED",?60,"CODE",?68,"OTHER?",!,$$REPEAT^XLFSTR("-",80),!
- +1 QUIT
- CTR(X,Y) ;EP - Center X in a field Y wide.
- +1 QUIT $JUSTIFY("",$SELECT($DATA(Y):Y,1:IOM)-$LENGTH(X)\2)_X
- +2 ;----------
- EOP ;EP - End of page.
- +1 IF $EXTRACT(IOST)'="C"
- QUIT
- +2 IF $DATA(ZTQUEUED)!'(IOT="TRM")!$DATA(IO("S"))
- QUIT
- +3 NEW DIR
- +4 KILL DIRUT,DFOUT,DLOUT,DTOUT,DUOUT
- +5 SET DIR(0)="E"
- DO ^DIR
- +6 QUIT
- +7 ;----------
- USR() ;EP - Return name of current user from ^VA(200.
- +1 QUIT $SELECT($GET(DUZ):$SELECT($DATA(^VA(200,DUZ,0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
- +2 ;----------
- LOC() ;EP - Return location name from file 4 based on DUZ(2).
- +1 QUIT $SELECT($GET(DUZ(2)):$SELECT($DATA(^DIC(4,DUZ(2),0)):$PIECE(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
- +2 ;----------