NURADEG2 ;HIRMFO/JH,FT-COMBINED EDUCATIONAL REPORT BY SERVICE ;6/14/94
;;4.0;NURSING SERVICE;;Apr 25, 1997
S (NURQUIT,NURPAGE,NUROUT)=0 W !
S X="" F S X=$O(^NURSF(210,"AC",X)) Q:X="" I X'="R" F DA=0:0 S DA=$O(^NURSF(210,"AC",X,DA)) Q:DA'>0 I $D(^NURSF(210,DA,0)),+$P(^(0),U) S DA(1)=$P(^(0),U) W:$R(100)&($E(IOST)="C") "." D SORT1
K %DT,NDA,NOD1,NOD2,NURNODE4,NURNODE5,Y,NURSCAT,NURCAT,NURCAT,NRNLPN,X,J,K,N,NL,NOD,ATD,NJ,D1
QUIT K NURS132,DATA,ZZ,I,NSPC,D0,DIC,NURFLAG,NPSPOS,M,NADT,NLDTPR,NLO,NSP,NTD,N1,NURCAT,NL1,NK,NURSZDA,NURSZLO,NURSZAP,NURSZORT,NURSZSP,NPWARD,NUREQWRD
Q
SORT1 F NURNODE4=0:0 S NURNODE4=$O(^NURSF(211.8,"C",DA(1),NURNODE4)) Q:NURNODE4'>0 F NURNODE5=0:0 S NURNODE5=$O(^NURSF(211.8,"C",DA(1),NURNODE4,NURNODE5)) Q:NURNODE5'>0 D
.I $D(^NURSF(211.8,NURNODE4,1,NURNODE5,0)),$P(^(0),U)'>DT&(('$P(^(0),U,6))!($P(^(0),U,6)'<DT)) D SORT2
.Q
Q
SORT2 Q:NURSZAP>7&(NURSZDA'=DA) S NURSZORT=1 D EN3^NURSAUTL:NURSZAP>6,EN2^NURSAUTL:NURSZORT&NURSZAP Q:'NURSZORT
S NURNEN=1 D SETFAC^NURAAGS1,SETPROG^NURAAGS1
I $D(^VA(200,DA(1),0)),$P(^(0),"^",1)'="" S N1=$P(^(0),"^",1)
E S N1=" BLANK"
S NLO=$S($D(^NURSF(211.8,NURNODE4,0))&($P(^(0),"^")'=""):$P(^(0),"^"),1:" BLANK")
E S NLO=" BLANK"
I $D(^NURSF(211.4,"B",+NLO)) S NLO(1)=$O(^NURSF(211.4,"B",+NLO,0)) I $D(^NURSF(211.4,+NLO(1),"I")),$E($P(^("I"),"^"))="I" Q
D EN2^NURSUT0 Q:NPSPOS="" S Y=$G(^NURSF(211.3,+NPSPOS(0),0))
I Y'="" S NURSCATY=$P(Y,U,5) S:NURSCATY="O" NURSCATY=NURSCATY_" "_$P(Y,U,6)
I $S($E(NURSCATY)'="O":'$D(^TMP("NURSCAT",$J,NURSCATY)),$P($G(NURSCATY),"O ",2)'="":'$D(^TMP("NURSCAT",$J,$E(NURSCATY,3,99))),1:0) Q
I NURMDSW,'$G(NURFAC),$G(NURFAC(1))'=$G(NURFAC(2)) Q
I NURPLSW,'$G(NURPROG),$G(NURPROG(1))'=$G(NURPROG(2)) Q
S:NURPROG(2)="NURSING" NURPROG(2)=" "_NURPROG(2)
S NPWARD=NLO D EN7^NURSAUTL S NL1=$S(NPWARD'="":NPWARD,1:" BLANK")
S II=0 F I=0:0 S II=$O(^NURSF(210,DA,6,II)) Q:II'>0 D
. S NURAH=^NURSF(212.1,$P(^NURSF(210,DA,6,II,0),U),0),NURASSN=$P($G(^VA(200,DA(1),1)),U,9),^TMP($J,"DEG",DA,N1,$S(NURASSN'="":NURASSN,1:999999999),II)=NURAH
. Q
S NURAHIGH=$G(^NURSF(210,DA,17)) Q:'$P(NURAHIGH,U)&('$P(NURAHIGH,U,2)) S (NURANUR,NURAACA)="" D
. I $P(NURAHIGH,U)'="" S NURANUR=$P($G(^NURSF(212.1,$P(NURAHIGH,U),0)),U)
. I $P(NURAHIGH,U,2)'="" S NURAACA=$P($G(^NURSF(212.1,$P(NURAHIGH,U,2),0)),U)
. S:$D(NURANUR)!($D(NURAACA)) ^TMP($J,"HIGH",DA)=NURANUR_U_NURAACA_U_NPWARD_U_NPSPOS
. Q
S ^TMP($J,"SER",NURFAC(2),NURPROG(2),NPSPOS(1),DA)=""
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HNURADEG2 2507 printed Oct 16, 2024@18:19:54 Page 2
NURADEG2 ;HIRMFO/JH,FT-COMBINED EDUCATIONAL REPORT BY SERVICE ;6/14/94
+1 ;;4.0;NURSING SERVICE;;Apr 25, 1997
+2 SET (NURQUIT,NURPAGE,NUROUT)=0
WRITE !
+3 SET X=""
FOR
SET X=$ORDER(^NURSF(210,"AC",X))
if X=""
QUIT
IF X'="R"
FOR DA=0:0
SET DA=$ORDER(^NURSF(210,"AC",X,DA))
if DA'>0
QUIT
IF $DATA(^NURSF(210,DA,0))
IF +$PIECE(^(0),U)
SET DA(1)=$PIECE(^(0),U)
if $RANDOM(100)&($EXTRACT(IOST)="C")
WRITE "."
DO SORT1
+4 KILL %DT,NDA,NOD1,NOD2,NURNODE4,NURNODE5,Y,NURSCAT,NURCAT,NURCAT,NRNLPN,X,J,K,N,NL,NOD,ATD,NJ,D1
QUIT KILL NURS132,DATA,ZZ,I,NSPC,D0,DIC,NURFLAG,NPSPOS,M,NADT,NLDTPR,NLO,NSP,NTD,N1,NURCAT,NL1,NK,NURSZDA,NURSZLO,NURSZAP,NURSZORT,NURSZSP,NPWARD,NUREQWRD
+1 QUIT
SORT1 FOR NURNODE4=0:0
SET NURNODE4=$ORDER(^NURSF(211.8,"C",DA(1),NURNODE4))
if NURNODE4'>0
QUIT
FOR NURNODE5=0:0
SET NURNODE5=$ORDER(^NURSF(211.8,"C",DA(1),NURNODE4,NURNODE5))
if NURNODE5'>0
QUIT
Begin DoDot:1
+1 IF $DATA(^NURSF(211.8,NURNODE4,1,NURNODE5,0))
IF $PIECE(^(0),U)'>DT&(('$PIECE(^(0),U,6))!($PIECE(^(0),U,6)'<DT))
DO SORT2
+2 QUIT
End DoDot:1
+3 QUIT
SORT2 if NURSZAP>7&(NURSZDA'=DA)
QUIT
SET NURSZORT=1
if NURSZAP>6
DO EN3^NURSAUTL
if NURSZORT&NURSZAP
DO EN2^NURSAUTL
if 'NURSZORT
QUIT
+1 SET NURNEN=1
DO SETFAC^NURAAGS1
DO SETPROG^NURAAGS1
+2 IF $DATA(^VA(200,DA(1),0))
IF $PIECE(^(0),"^",1)'=""
SET N1=$PIECE(^(0),"^",1)
+3 IF '$TEST
SET N1=" BLANK"
+4 SET NLO=$SELECT($DATA(^NURSF(211.8,NURNODE4,0))&($PIECE(^(0),"^")'=""):$PIECE(^(0),"^"),1:" BLANK")
+5 IF '$TEST
SET NLO=" BLANK"
+6 IF $DATA(^NURSF(211.4,"B",+NLO))
SET NLO(1)=$ORDER(^NURSF(211.4,"B",+NLO,0))
IF $DATA(^NURSF(211.4,+NLO(1),"I"))
IF $EXTRACT($PIECE(^("I"),"^"))="I"
QUIT
+7 DO EN2^NURSUT0
if NPSPOS=""
QUIT
SET Y=$GET(^NURSF(211.3,+NPSPOS(0),0))
+8 IF Y'=""
SET NURSCATY=$PIECE(Y,U,5)
if NURSCATY="O"
SET NURSCATY=NURSCATY_" "_$PIECE(Y,U,6)
+9 IF $SELECT($EXTRACT(NURSCATY)'="O":'$DATA(^TMP("NURSCAT",$JOB,NURSCATY)),$PIECE($GET(NURSCATY),"O ",2)'="":'$DATA(^TMP("NURSCAT",$JOB,$EXTRACT(NURSCATY,3,99))),1:0)
QUIT
+10 IF NURMDSW
IF '$GET(NURFAC)
IF $GET(NURFAC(1))'=$GET(NURFAC(2))
QUIT
+11 IF NURPLSW
IF '$GET(NURPROG)
IF $GET(NURPROG(1))'=$GET(NURPROG(2))
QUIT
+12 if NURPROG(2)="NURSING"
SET NURPROG(2)=" "_NURPROG(2)
+13 SET NPWARD=NLO
DO EN7^NURSAUTL
SET NL1=$SELECT(NPWARD'="":NPWARD,1:" BLANK")
+14 SET II=0
FOR I=0:0
SET II=$ORDER(^NURSF(210,DA,6,II))
if II'>0
QUIT
Begin DoDot:1
+15 SET NURAH=^NURSF(212.1,$PIECE(^NURSF(210,DA,6,II,0),U),0)
SET NURASSN=$PIECE($GET(^VA(200,DA(1),1)),U,9)
SET ^TMP($JOB,"DEG",DA,N1,$SELECT(NURASSN'="":NURASSN,1:999999999),II)=NURAH
+16 QUIT
End DoDot:1
+17 SET NURAHIGH=$GET(^NURSF(210,DA,17))
if '$PIECE(NURAHIGH,U)&('$PIECE(NURAHIGH,U,2))
QUIT
SET (NURANUR,NURAACA)=""
Begin DoDot:1
+18 IF $PIECE(NURAHIGH,U)'=""
SET NURANUR=$PIECE($GET(^NURSF(212.1,$PIECE(NURAHIGH,U),0)),U)
+19 IF $PIECE(NURAHIGH,U,2)'=""
SET NURAACA=$PIECE($GET(^NURSF(212.1,$PIECE(NURAHIGH,U,2),0)),U)
+20 if $DATA(NURANUR)!($DATA(NURAACA))
SET ^TMP($JOB,"HIGH",DA)=NURANUR_U_NURAACA_U_NPWARD_U_NPSPOS
+21 QUIT
End DoDot:1
+22 SET ^TMP($JOB,"SER",NURFAC(2),NURPROG(2),NPSPOS(1),DA)=""
+23 QUIT