DGRUGV16 ;ALB/BOK - RUG/PAI TRANSMISSION ; 12 MAY 87 07:25
;;5.3;Registration;**1015**;Aug 13, 1993;Build 21
QUIT K ^UTILITY($J),%,%DT,D,DA,DGBC,DGPGM,DGCNT,DGED,DGFLG,DGI,DGP,DGPG,DGROW,DGS,DGSD,DGVAR,DGXX,DGSDI,VAT,VATERR,VATNAME,DIE,DR,I,J,K,L,POP,S,X,XMDUZ,XMSUB,XMTEXT,XMY,Y Q
DEV S %ZIS("A")="Device to print errors on: ",DGVAR="DGP^DGSD^DGED^VAT#^DUZ",DGPGM="EN^DGRUGV16" D ZIS^DGUTQ G:POP QUIT
EN D LO^DGUTL S (DGFLG,DGXX)="",(DGCNT,DGROW)=0,DGPG=1,$P(DGXX," ",81)=""
F I=DGSD:0 S I=$O(^DG(45.9,"AP",DGP,I)) Q:I'>0!(I>DGED) F J=0:0 S J=$O(^DG(45.9,"AP",DGP,I,J)) Q:J'>0 I $D(^DG(45.9,J,0)) S DGI=^(0),DGS=$S($D(^DG(45.9,J,"C")):+^("C"),1:"") D ERR:DGS'=2 I DGS=2 D SET:$D(DGFLG)
I $D(^UTILITY($J,"DGRUG")) F DGBC=1:1:DGPG D ROUTER S XMSUB="RUG-II TRANSMISSION, MESSAGE # "_DGBC,XMTEXT="^UTILITY("_$J_",""DGRUG"","_DGBC_",1," D ^XMD
G PERR
ROUTER F DGSDI=0:0 S DGSDI=$O(VAT(DGSDI)) Q:DGSDI'>0 S XMY(VAT(DGSDI))=""
S XMDUZ=.5,XMY(DUZ)="" Q
SET S X="" F K=3:1:5 S L=$P(DGI,U,K) G ERR:L']"" S X=X_L
S D=$P(DGI,U,2) D DAT S X=X_$P(DGI,U,6),D=$P(DGI,U,7) D DAT F K=8:1:20 S L=$P(DGI,U,K) G ERR:L']"" S X=X_L
S X=X_" " F K=23:1:28 S L=$P(DGI,U,K) G ERR:L']"" S X=X_L
S X=X_" " F K=32:1:35 S L=$P(DGI,U,K) G ERR:L']"" S X=X_L
S X=X_" " F K=40:1:57 S L=$P(DGI,U,K) G ERR:L']"" S X=X_L
S:DGROW+1>VAT("F") DGPG=DGPG+1,DGROW=0 S DGROW=DGROW+1,^UTILITY($J,"DGRUG",DGPG,1,DGROW,0)=$E(X_DGXX,1,80),DGCNT=DGCNT+1
S DA=J,DR="80///4;83///"_DT,DIE="^DG(45.9," D ^DIE Q
ERR S:DGS=4 ^UTILITY($J,"TRANS",J)=DGI S:DGS'=4 ^UTILITY($J,"ERR",J)=DGI Q
PERR S X=132 X ^%ZOSF("RM")
W @IOF,!?95,"Transmission Date: " S Y=DT D DT^DIQ W:($D(^UTILITY($J,"ERR"))!$D(^("TRANS"))) !!?5,"NAME",?40,"SSN",?55,"ASSESSMENT DATE",?80,"STATUS",! S I="",$P(I,"*",132)="" W I
I $D(^UTILITY($J,"ERR")) W !!,"ERRORS",! F J=0:0 S J=$O(^UTILITY($J,"ERR",J)) Q:J'>0 S K=^(J) W !,$P(^DPT(+K,0),U,1),?38,$P(K,U,3),?55,$E($P(K,U,2),4,5)_"/"_$E($P(K,U,2),6,7)_"/"_$E($P(K,U,2),2,3),?82 D STAT W S
I $D(^UTILITY($J,"TRANS")) W !!,"RECORDS ALREADY TRANSMITTED",! F J=0:0 S J=$O(^UTILITY($J,"TRANS",J)) Q:J'>0 S K=^(J) W !,$P(^DPT(+K,0),U,1),?38,$P(K,U,3),?55,$E($P(K,U,2),4,5)_"/"_$E($P(K,U,2),6,7)_"/"_$E($P(K,U,2),2,3),?82 D STAT W S
W !!!,I,!!!,"NUMBER OF RECORDS SENT TO AUSTIN: ",DGCNT,!,"DATE RANGE SENT: " S Y=DGSD+.1 D DT^DIQ W " - " S Y=DGED D DT^DIQ W !,"ASSESSMENT PURPOSE: ",$S(DGP=1:"ADMISSION/TRANSFER",1:"SEMI-ANNUAL"),@IOF
CLOSE D QUIT,CLOSE^DGUTQ
Q
STAT S S=$S($D(^DG(45.9,J,"C")):+^("C"),1:""),S=$S(S=1:"COMPLETED",S=2:"CLOSED BUT MISSING DATA",S=3:"RELEASED",S=4:"TRANSMITTED",S=0:"OPEN",5:"INCOMPLETE",1:"NO STATUS") Q
DAT S D=$E(D,4,5)_$E(D,6,7)_$E(D,2,3),X=X_D Q
DGRUGV16 ;ALB/BOK - RUG/PAI TRANSMISSION ; 12 MAY 87 07:25
+1 ;;5.3;Registration;**1015**;Aug 13, 1993;Build 21
QUIT KILL ^UTILITY($JOB),%,%DT,D,DA,DGBC,DGPGM,DGCNT,DGED,DGFLG,DGI,DGP,DGPG,DGROW,DGS,DGSD,DGVAR,DGXX,DGSDI,VAT,VATERR,VATNAME,DIE,DR,I,J,K,L,POP,S,X,XMDUZ,XMSUB,XMTEXT,XMY,Y
QUIT
DEV SET %ZIS("A")="Device to print errors on: "
SET DGVAR="DGP^DGSD^DGED^VAT#^DUZ"
SET DGPGM="EN^DGRUGV16"
DO ZIS^DGUTQ
IF POP
GOTO QUIT
EN DO LO^DGUTL
SET (DGFLG,DGXX)=""
SET (DGCNT,DGROW)=0
SET DGPG=1
SET $PIECE(DGXX," ",81)=""
+1 FOR I=DGSD:0
SET I=$ORDER(^DG(45.9,"AP",DGP,I))
IF I'>0!(I>DGED)
QUIT
FOR J=0:0
SET J=$ORDER(^DG(45.9,"AP",DGP,I,J))
IF J'>0
QUIT
IF $DATA(^DG(45.9,J,0))
SET DGI=^(0)
SET DGS=$SELECT($DATA(^DG(45.9,J,"C")):+^("C"),1:"")
IF DGS'=2
DO ERR
IF DGS=2
IF $DATA(DGFLG)
DO SET
+2 IF $DATA(^UTILITY($JOB,"DGRUG"))
FOR DGBC=1:1:DGPG
DO ROUTER
SET XMSUB="RUG-II TRANSMISSION, MESSAGE # "_DGBC
SET XMTEXT="^UTILITY("_$JOB_",""DGRUG"","_DGBC_",1,"
DO ^XMD
+3 GOTO PERR
ROUTER FOR DGSDI=0:0
SET DGSDI=$ORDER(VAT(DGSDI))
IF DGSDI'>0
QUIT
SET XMY(VAT(DGSDI))=""
+1 SET XMDUZ=.5
SET XMY(DUZ)=""
QUIT
SET SET X=""
FOR K=3:1:5
SET L=$PIECE(DGI,U,K)
IF L']""
GOTO ERR
SET X=X_L
+1 SET D=$PIECE(DGI,U,2)
DO DAT
SET X=X_$PIECE(DGI,U,6)
SET D=$PIECE(DGI,U,7)
DO DAT
FOR K=8:1:20
SET L=$PIECE(DGI,U,K)
IF L']""
GOTO ERR
SET X=X_L
+2 SET X=X_" "
FOR K=23:1:28
SET L=$PIECE(DGI,U,K)
IF L']""
GOTO ERR
SET X=X_L
+3 SET X=X_" "
FOR K=32:1:35
SET L=$PIECE(DGI,U,K)
IF L']""
GOTO ERR
SET X=X_L
+4 SET X=X_" "
FOR K=40:1:57
SET L=$PIECE(DGI,U,K)
IF L']""
GOTO ERR
SET X=X_L
+5 IF DGROW+1>VAT("F")
SET DGPG=DGPG+1
SET DGROW=0
SET DGROW=DGROW+1
SET ^UTILITY($JOB,"DGRUG",DGPG,1,DGROW,0)=$EXTRACT(X_DGXX,1,80)
SET DGCNT=DGCNT+1
+6 SET DA=J
SET DR="80///4;83///"_DT
SET DIE="^DG(45.9,"
DO ^DIE
QUIT
ERR IF DGS=4
SET ^UTILITY($JOB,"TRANS",J)=DGI
IF DGS'=4
SET ^UTILITY($JOB,"ERR",J)=DGI
QUIT
PERR SET X=132
XECUTE ^%ZOSF("RM")
+1 WRITE @IOF,!?95,"Transmission Date: "
SET Y=DT
DO DT^DIQ
IF ($DATA(^UTILITY($JOB,"ERR"))!$DATA(^("TRANS")))
WRITE !!?5,"NAME",?40,"SSN",?55,"ASSESSMENT DATE",?80,"STATUS",!
SET I=""
SET $PIECE(I,"*",132)=""
WRITE I
+2 IF $DATA(^UTILITY($JOB,"ERR"))
WRITE !!,"ERRORS",!
FOR J=0:0
SET J=$ORDER(^UTILITY($JOB,"ERR",J))
IF J'>0
QUIT
SET K=^(J)
WRITE !,$PIECE(^DPT(+K,0),U,1),?38,$PIECE(K,U,3),?55,$EXTRACT($PIECE(K,U,2),4,5)_"/"_$EXTRACT($PIECE(K,U,2),6,7)_"/"_$EXTRACT($PIECE(K,U,2),2,3),?82
DO STAT
WRITE S
+3 IF $DATA(^UTILITY($JOB,"TRANS"))
WRITE !!,"RECORDS ALREADY TRANSMITTED",!
FOR J=0:0
SET J=$ORDER(^UTILITY($JOB,"TRANS",J))
IF J'>0
QUIT
SET K=^(J)
WRITE !,$PIECE(^DPT(+K,0),U,1),?38,$PIECE(K,U,3),?55,$EXTRACT($PIECE(K,U,2),4,5)_"/"_$EXTRACT($PIECE(K,U,2),6,7)_"/"_$EXTRACT($PIECE(K,U,2),2,3),?82
DO STAT
WRITE S
+4 WRITE !!!,I,!!!,"NUMBER OF RECORDS SENT TO AUSTIN: ",DGCNT,!,"DATE RANGE SENT: "
SET Y=DGSD+.1
DO DT^DIQ
WRITE " - "
SET Y=DGED
DO DT^DIQ
WRITE !,"ASSESSMENT PURPOSE: ",$SELECT(DGP=1:"ADMISSION/TRANSFER",1:"SEMI-ANNUAL"),@IOF
CLOSE DO QUIT
DO CLOSE^DGUTQ
+1 QUIT
STAT SET S=$SELECT($DATA(^DG(45.9,J,"C")):+^("C"),1:"")
SET S=$SELECT(S=1:"COMPLETED",S=2:"CLOSED BUT MISSING DATA",S=3:"RELEASED",S=4:"TRANSMITTED",S=0:"OPEN",5:"INCOMPLETE",1:"NO STATUS")
QUIT
DAT SET D=$EXTRACT(D,4,5)_$EXTRACT(D,6,7)_$EXTRACT(D,2,3)
SET X=X_D
QUIT