PSBSAGG ;BIRMINGHAM/EFC-BCMA TEMPORARY SAGG TYPE REPORTING ;Mar 2004
;;3.0;BAR CODE MED ADMIN;;Mar 2004
;
; Reference/IA
; WIN^DGPMDDCF/1246
; OPER^DGPMDDCF/1246
; ^XMB(1,1,"XUS")/10091
; File 4/10090
; ^DIC(42/10039
EN ;
N XMDUZ,XMY,XMSUB,XMTEXT,PSBEDS,PSBDT,PSB,PSBCNT,PSBWRD,D0,PSBSITE,PSBNUM
S X1=DT,X2=-1*(+$E(DT,6,7)) D C^%DTC
S PSBDT=$E(X,1,5),Y=PSBDT_"00" X ^DD("DD") S PSBDT(0)=Y
S PSBNUM=$P(^XMB(1,1,"XUS"),U,17)
S PSBSITE=$$GET1^DIQ(4,PSBNUM_",",.01)
S PSBNUM=$$GET1^DIQ(4,PSBNUM_",",99)
K ^TMP("PSBO",$J)
S ^TMP("PSBO",$J,1)=PSBSITE_U_PSBNUM_U_PSBDT(0)
F D0=0:0 S D0=$O(^DIC(42,D0)) Q:'D0 D
.D WIN^DGPMDDCF Q:X ; Inactive Ward
.D OPER^DGPMDDCF S PSBEDS=X
.Q:'PSBEDS ; No operating beds
.; Tally the med passes
.S PSBWRD=$P(^DIC(42,D0,0),U)
.S PSBCNT=0,PSB=PSBDT_"00"
.F S PSB=$O(^PSB("SAGG",PSBWRD,PSB)) Q:PSB=""!($P(PSB,PSBDT)]"") D
..S PSBCNT=PSBCNT+^PSB("SAGG",PSBWRD,PSB)
.; Add to the message
.S Y=$O(^TMP("PSBO",$J,""),-1)+1
.S ^TMP("PSBO",$J,Y)=PSBWRD_U_PSBEDS_U_PSBCNT
S ^TMP("PSBO",$J,0)=+$O(^TMP("PSBO",$J,""),-1)
S XMDUZ="BCMA"
S XMSUB=PSBSITE_" ("_PSBDT(0)_") BCMA Med Pass Tally"
;
; Begin Patch PSB*1*2
; DP/Topeka 7-SEP-1999 12:12:49
; Changed server name per request of SAGG Team
S XMY("S.KMP90-BCMA-SERVER@ISC-ALBANY.DOMAIN.EXT")=""
; End Patch PSB*1*2
;
S XMTEXT="^TMP(""PSBO"",$J,"
D ^XMD
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPSBSAGG 1417 printed Oct 16, 2024@17:42:03 Page 2
PSBSAGG ;BIRMINGHAM/EFC-BCMA TEMPORARY SAGG TYPE REPORTING ;Mar 2004
+1 ;;3.0;BAR CODE MED ADMIN;;Mar 2004
+2 ;
+3 ; Reference/IA
+4 ; WIN^DGPMDDCF/1246
+5 ; OPER^DGPMDDCF/1246
+6 ; ^XMB(1,1,"XUS")/10091
+7 ; File 4/10090
+8 ; ^DIC(42/10039
EN ;
+1 NEW XMDUZ,XMY,XMSUB,XMTEXT,PSBEDS,PSBDT,PSB,PSBCNT,PSBWRD,D0,PSBSITE,PSBNUM
+2 SET X1=DT
SET X2=-1*(+$EXTRACT(DT,6,7))
DO C^%DTC
+3 SET PSBDT=$EXTRACT(X,1,5)
SET Y=PSBDT_"00"
XECUTE ^DD("DD")
SET PSBDT(0)=Y
+4 SET PSBNUM=$PIECE(^XMB(1,1,"XUS"),U,17)
+5 SET PSBSITE=$$GET1^DIQ(4,PSBNUM_",",.01)
+6 SET PSBNUM=$$GET1^DIQ(4,PSBNUM_",",99)
+7 KILL ^TMP("PSBO",$JOB)
+8 SET ^TMP("PSBO",$JOB,1)=PSBSITE_U_PSBNUM_U_PSBDT(0)
+9 FOR D0=0:0
SET D0=$ORDER(^DIC(42,D0))
if 'D0
QUIT
Begin DoDot:1
+10 ; Inactive Ward
DO WIN^DGPMDDCF
if X
QUIT
+11 DO OPER^DGPMDDCF
SET PSBEDS=X
+12 ; No operating beds
if 'PSBEDS
QUIT
+13 ; Tally the med passes
+14 SET PSBWRD=$PIECE(^DIC(42,D0,0),U)
+15 SET PSBCNT=0
SET PSB=PSBDT_"00"
+16 FOR
SET PSB=$ORDER(^PSB("SAGG",PSBWRD,PSB))
if PSB=""!($PIECE(PSB,PSBDT)]"")
QUIT
Begin DoDot:2
+17 SET PSBCNT=PSBCNT+^PSB("SAGG",PSBWRD,PSB)
End DoDot:2
+18 ; Add to the message
+19 SET Y=$ORDER(^TMP("PSBO",$JOB,""),-1)+1
+20 SET ^TMP("PSBO",$JOB,Y)=PSBWRD_U_PSBEDS_U_PSBCNT
End DoDot:1
+21 SET ^TMP("PSBO",$JOB,0)=+$ORDER(^TMP("PSBO",$JOB,""),-1)
+22 SET XMDUZ="BCMA"
+23 SET XMSUB=PSBSITE_" ("_PSBDT(0)_") BCMA Med Pass Tally"
+24 ;
+25 ; Begin Patch PSB*1*2
+26 ; DP/Topeka 7-SEP-1999 12:12:49
+27 ; Changed server name per request of SAGG Team
+28 SET XMY("S.KMP90-BCMA-SERVER@ISC-ALBANY.DOMAIN.EXT")=""
+29 ; End Patch PSB*1*2
+30 ;
+31 SET XMTEXT="^TMP(""PSBO"",$J,"
+32 DO ^XMD
+33 QUIT
+34 ;