- PSGPRVR ;BIR/CML3-PROVIDER COST TOTALS ;12 DEC 97 / 9:54 AM
- ;;5.0; INPATIENT MEDICATIONS ;;16 DEC 97
- D ENCV^PSGSETU I '$D(XQUIT) S HLP="PROVIDER" D ENDTS^PSGAMS I SD,FD D QUES I $S(PSGPRVRF="^":0,1:PSGPRVRP'="^") S RTN="PRVR" D EN3^PSGTI I 'POP,'$D(IO("Q")) D ENQ D:IO'=IO(0)!($E(IOST)'="C") ^%ZISC
- ;
- DONE ;
- D ENKV^PSGSETU K DRG,DRGN,FD,ND,NF,NU,P,PRN,PR,PSGPRVRF,PSGPRVRP,PG,RTN,SD,ST,STOP,STRT,W,WN,HLP Q
- ;
- ENQ ;
- K ^TMP("PSG",$J)
- F ST=SD:0 S ST=$O(^PS(57.6,ST)) Q:'ST!(ST>FD) S W=0 F S W=$O(^PS(57.6,ST,1,W)) Q:'W S PR=0 F S PR=$O(^PS(57.6,ST,1,W,1,PR)) Q:'PR I $S('PSGPRVRF:1,1:$D(PSGPRVRF(PR))) D DRG
- S PR="" F Q=0:0 S PR=$O(^TMP("PSG",$J,PR)) Q:PR="" S DRG="" F Q=0:0 S DRG=$O(^TMP("PSG",$J,PR,DRG)) Q:DRG="" I '^(DRG),'$P(^(DRG),"^",2) K ^(DRG)
- D ^PSGPRVR0 K ^TMP("PSG",$J) Q
- ;
- DRG ;
- S PRN=$S(PR="999Z":"UNKNOWN",1:$$ENNPN^PSGMI(PR)),DRG=0
- F S DRG=$O(^PS(57.6,ST,1,W,1,PR,1,DRG)) Q:'DRG I $D(^(DRG,0)) S ND=^(0),DRGN=$S(DRG="999Z":"UNKNOWN",1:$$ENDDN^PSGMI(DRG)),NF=$P($G(^PSDRUG(DRG,0)),U,9) D ADD
- Q
- ;
- ADD ;
- S NU=$G(^TMP("PSG",$J,PRN,DRGN)),^(DRGN)=$P(NU,"^")+$P(ND,"^",2)-$P(ND,"^",4)_"^"_($P(NU,"^",2)+$P(ND,"^",3)-$P(ND,"^",5))_"^"_NF Q
- ;
- QUES ;
- K PSGPRVRF S (PSGPRVRF,PSGPRVRP)=""
- SH ;
- F R !!,"Show ALL or SELECTED providers? ALL// ",PSGPRVRF:DTIME Q:PSGPRVRF="^" D SHC Q:$D(PSGPRVRF)
- I PSGPRVRF="^" W !!,"...SHOW PROVIDERS not selected, report terminated..." Q
- I PSGPRVRF="A" G PAGE
- ;
- SP ;
- F W !!,"Select ",$S(PSGPRVRF>0:"another ",1:""),"PROVIDER: " R X:DTIME W:'$T $C(7) S:'$T X="^" Q:"^"[X D:X?1."?" SPH S DIC="^VA(200,",DIC(0)="QEM",DIC("S")="I $G(^(""PS""))" D ^DIC K DIC I Y>0 S PSGPRVRF=PSGPRVRF+1,PSGPRVRF(+Y)=""
- I X="^" S PSGPRVRF="^" W !!,"...PROVIDER(S) not selected, report terminated..." Q
- I 'PSGPRVRF G QUES
- S PSGPRVRP=1 Q
- ;
- PAGE ;
- F W !!,"Do you want to start a new page for each provider" S %='PSGPRVRF+1 D YN^DICN Q:% W !!?2,"Enter 'YES' to have this report start a new page for each provider printed.",!,"Enter '^' to abort this print now."
- S PSGPRVRP=$S(%<0:"^",1:%=1) Q
- ;
- SHC ;
- E W $C(7) S PSGPRVRF="^" Q
- I PSGPRVRF="" W " (ALL)" S PSGPRVRF="A" Q
- I PSGPRVRF?1."?" W !!?2,"Enter 'A' (or press RETURN) to show ALL providers on this report. Enter 'S'",!,"to choose which providers you want to show on this report.",!,"PLEASE NOTE: If you choose to select which providers will print, a new "
- I W "page",!,"will automatically be started for each provider." K PSGPRVRF Q
- F X="SELECTED","ALL" I $P(X,PSGPRVRF)="" W $P(X,PSGPRVRF,2) S PSGPRVRF=$E(PSGPRVRF) Q
- E W $C(7)," ??" K PSGPRVRF
- Q
- ;
- SPH ;
- W !!?2,"Select a PROVIDER for which you wish to have cost data print." Q
- PSGPRVR ;BIR/CML3-PROVIDER COST TOTALS ;12 DEC 97 / 9:54 AM
- +1 ;;5.0; INPATIENT MEDICATIONS ;;16 DEC 97
- +2 DO ENCV^PSGSETU
- IF '$DATA(XQUIT)
- SET HLP="PROVIDER"
- DO ENDTS^PSGAMS
- IF SD
- IF FD
- DO QUES
- IF $SELECT(PSGPRVRF="^":0,1:PSGPRVRP'="^")
- SET RTN="PRVR"
- DO EN3^PSGTI
- IF 'POP
- IF '$DATA(IO("Q"))
- DO ENQ
- IF IO'=IO(0)!($EXTRACT(IOST)'="C")
- DO ^%ZISC
- +3 ;
- DONE ;
- +1 DO ENKV^PSGSETU
- KILL DRG,DRGN,FD,ND,NF,NU,P,PRN,PR,PSGPRVRF,PSGPRVRP,PG,RTN,SD,ST,STOP,STRT,W,WN,HLP
- QUIT
- +2 ;
- ENQ ;
- +1 KILL ^TMP("PSG",$JOB)
- +2 FOR ST=SD:0
- SET ST=$ORDER(^PS(57.6,ST))
- IF 'ST!(ST>FD)
- QUIT
- SET W=0
- FOR
- SET W=$ORDER(^PS(57.6,ST,1,W))
- IF 'W
- QUIT
- SET PR=0
- FOR
- SET PR=$ORDER(^PS(57.6,ST,1,W,1,PR))
- IF 'PR
- QUIT
- IF $SELECT('PSGPRVRF:1,1:$DATA(PSGPRVRF(PR)))
- DO DRG
- +3 SET PR=""
- FOR Q=0:0
- SET PR=$ORDER(^TMP("PSG",$JOB,PR))
- IF PR=""
- QUIT
- SET DRG=""
- FOR Q=0:0
- SET DRG=$ORDER(^TMP("PSG",$JOB,PR,DRG))
- IF DRG=""
- QUIT
- IF '^(DRG)
- IF '$PIECE(^(DRG),"^",2)
- KILL ^(DRG)
- +4 DO ^PSGPRVR0
- KILL ^TMP("PSG",$JOB)
- QUIT
- +5 ;
- DRG ;
- +1 SET PRN=$SELECT(PR="999Z":"UNKNOWN",1:$$ENNPN^PSGMI(PR))
- SET DRG=0
- +2 FOR
- SET DRG=$ORDER(^PS(57.6,ST,1,W,1,PR,1,DRG))
- IF 'DRG
- QUIT
- IF $DATA(^(DRG,0))
- SET ND=^(0)
- SET DRGN=$SELECT(DRG="999Z":"UNKNOWN",1:$$ENDDN^PSGMI(DRG))
- SET NF=$PIECE($GET(^PSDRUG(DRG,0)),U,9)
- DO ADD
- +3 QUIT
- +4 ;
- ADD ;
- +1 SET NU=$GET(^TMP("PSG",$JOB,PRN,DRGN))
- SET ^(DRGN)=$PIECE(NU,"^")+$PIECE(ND,"^",2)-$PIECE(ND,"^",4)_"^"_($PIECE(NU,"^",2)+$PIECE(ND,"^",3)-$PIECE(ND,"^",5))_"^"_NF
- QUIT
- +2 ;
- QUES ;
- +1 KILL PSGPRVRF
- SET (PSGPRVRF,PSGPRVRP)=""
- SH ;
- +1 FOR
- READ !!,"Show ALL or SELECTED providers? ALL// ",PSGPRVRF:DTIME
- IF PSGPRVRF="^"
- QUIT
- DO SHC
- IF $DATA(PSGPRVRF)
- QUIT
- +2 IF PSGPRVRF="^"
- WRITE !!,"...SHOW PROVIDERS not selected, report terminated..."
- QUIT
- +3 IF PSGPRVRF="A"
- GOTO PAGE
- +4 ;
- SP ;
- +1 FOR
- WRITE !!,"Select ",$SELECT(PSGPRVRF>0:"another ",1:""),"PROVIDER: "
- READ X:DTIME
- IF '$TEST
- WRITE $CHAR(7)
- IF '$TEST
- SET X="^"
- IF "^"[X
- QUIT
- IF X?1."?"
- DO SPH
- SET DIC="^VA(200,"
- SET DIC(0)="QEM"
- SET DIC("S")="I $G(^(""PS""))"
- DO ^DIC
- KILL DIC
- IF Y>0
- SET PSGPRVRF=PSGPRVRF+1
- SET PSGPRVRF(+Y)=""
- +2 IF X="^"
- SET PSGPRVRF="^"
- WRITE !!,"...PROVIDER(S) not selected, report terminated..."
- QUIT
- +3 IF 'PSGPRVRF
- GOTO QUES
- +4 SET PSGPRVRP=1
- QUIT
- +5 ;
- PAGE ;
- +1 FOR
- WRITE !!,"Do you want to start a new page for each provider"
- SET %='PSGPRVRF+1
- DO YN^DICN
- IF %
- QUIT
- WRITE !!?2,"Enter 'YES' to have this report start a new page for each provider printed.",!,"Enter '^' to abort this print now."
- +2 SET PSGPRVRP=$SELECT(%<0:"^",1:%=1)
- QUIT
- +3 ;
- SHC ;
- +1 IF '$TEST
- WRITE $CHAR(7)
- SET PSGPRVRF="^"
- QUIT
- +2 IF PSGPRVRF=""
- WRITE " (ALL)"
- SET PSGPRVRF="A"
- QUIT
- +3 IF PSGPRVRF?1."?"
- WRITE !!?2,"Enter 'A' (or press RETURN) to show ALL providers on this report. Enter 'S'",!,"to choose which providers you want to show on this report.",!,"PLEASE NOTE: If you choose to select which providers will print, a new "
- +4 IF $TEST
- WRITE "page",!,"will automatically be started for each provider."
- KILL PSGPRVRF
- QUIT
- +5 FOR X="SELECTED","ALL"
- IF $PIECE(X,PSGPRVRF)=""
- WRITE $PIECE(X,PSGPRVRF,2)
- SET PSGPRVRF=$EXTRACT(PSGPRVRF)
- QUIT
- +6 IF '$TEST
- WRITE $CHAR(7)," ??"
- KILL PSGPRVRF
- +7 QUIT
- +8 ;
- SPH ;
- +1 WRITE !!?2,"Select a PROVIDER for which you wish to have cost data print."
- QUIT