YSCPAG ; GENERATED FROM 'YSSR 10-2683 PRINT' PRINT TEMPLATE (#560) ; 06/01/18 ; (FILE 615.2, MARGIN=132)
 G BEGIN
N W !
T W:$X ! I '$D(DIOT(2)),DN,$D(IOSL),$S('$D(DIWF):1,$P(DIWF,"B",2):$P(DIWF,"B",2),1:1)+$Y'<IOSL,$D(^UTILITY($J,1))#2,^(1)?1U1P1E.E X ^(1)
 S DISTP=DISTP+1,DILCT=DILCT+1 D:'(DISTP#100) CSTP^DIO2
 Q
DT I $G(DUZ("LANG"))>1,Y W $$OUT^DIALOGU(Y,"DD") Q
 X ^DD("DD")
 W Y Q
M D @DIXX
 Q
BEGIN ;
 S:'$D(DN) DN=1 S DISTP=$G(DISTP),DILCT=$G(DILCT)
 I $D(DXS)<9 M DXS=^DIPT(560,"DXS")
 S I(0)="^YS(615.2,",J(0)=615.2
 W ?0 D PARSE^YSSRU K DIP K:DN Y
 D N:$X>0 Q:'DN  W ?0 S X="YSAT",X=$S(X=""!(X'?.ANP):"",$D(YSDIPA($E(X,1,30))):YSDIPA($E(X,1,30)),1:"") S X=X S:X X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) K DIP K:DN Y W X
 S X=$G(^YS(615.2,D0,0)) D N:$X>10 Q:'DN  W ?10 S Y=$P(X,U,2) S Y=$S(Y="":Y,$D(^DPT(Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,20)
 S I(1)=5,J(1)=615.34 F D1=0:0 Q:$O(^YS(615.2,D0,5,D1))'>0  X $G(DSC(615.34))  S D1=$O(^(D1)) Q:D1'>0   D:$X>32 T Q:'DN  D A1
 G A1R
A1 ;
 S X=$G(^YS(615.2,D0,5,D1,0)) D N:$X>32 Q:'DN  W ?32 S Y=$P(X,U,1) S Y=$S(Y="":Y,$D(^YSR(615.6,Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,12)
 Q
A1R ;
 D N:$X>53 Q:'DN  W ?53 S X="YSAT1",X=$S(X=""!(X'?.ANP):"",$D(YSDIPA($E(X,1,30))):YSDIPA($E(X,1,30)),1:"") K DIP K:DN Y W X
 D N:$X>61 Q:'DN  W ?61 S X="YSRT1",X=$S(X=""!(X'?.ANP):"",$D(YSDIPA($E(X,1,30))):YSDIPA($E(X,1,30)),1:"") K DIP K:DN Y W X
 D N:$X>71 Q:'DN  W ?71 S X="YSTT",X=$S(X=""!(X'?.ANP):"",$D(YSDIPA($E(X,1,30))):YSDIPA($E(X,1,30)),1:"") K DIP K:DN Y W X
 S X=$G(^YS(615.2,D0,25)) D N:$X>79 Q:'DN  W ?79 S Y=$P(X,U,1) S Y=$S(Y="":Y,$D(^VA(200,Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,12)
 S X=$G(^YS(615.2,D0,0)) D N:$X>95 Q:'DN  W ?95 S Y=$P(X,U,5) S Y=$S(Y="":Y,$D(^VA(200,Y,0))#2:$P(^(0),U),1:Y) W $E(Y,1,13)
 S X=$G(^YS(615.2,D0,7)) D N:$X>110 Q:'DN  S DIWL=111,DIWR=132 S Y=$P(X,U,1) S X=Y D ^DIWP
 D 0^DIWW
 D ^DIWW
 D N:$X>10 Q:'DN  W ?10 X "N I,Y "_$P(^DD(615.2,9,0),U,5,99) S DIP(1)=X S X="xxx-xx-"_DIP(1) K DIP K:DN Y W X
 D N:$X>61 Q:'DN  W ?61 S X="YSRT",X=$S(X=""!(X'?.ANP):"",$D(YSDIPA($E(X,1,30))):YSDIPA($E(X,1,30)),1:"") S X=X S:X X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_$E(X,2,3) K DIP K:DN Y W X
 S I(1)=10,J(1)=615.21 F D1=0:0 Q:$O(^YS(615.2,D0,10,D1))'>0  X $G(DSC(615.21))  S D1=$O(^(D1)) Q:D1'>0   D:$X>89 T Q:'DN  D B1
 G B1R
B1 ;
 D N:$X>110 Q:'DN  W ?110 X DXS(1,9.2) S X=$P($G(^YSR(615.5,+$P(DIP(1),U,1),0)),U) S D0=I(0,0) S D1=I(1,0) K DIP K:DN Y W $E(X,1,20)
 Q
B1R ;
 D N:$X>0 Q:'DN  W ?0 W "GENERAL COMMENTS: "
  D N:$X>18 Q:'DN  W ?18 S:'$D(DIWF) DIWF="" S:DIWF'["N" DIWF=DIWF_"N" S X="" S I(1)=30,J(1)=615.27 F D1=0:0 Q:$O(^YS(615.2,D0,30,D1))'>0  S D1=$O(^(D1)) D:$X>20 T Q:'DN  D C1
 G C1R
C1 ;
 S X=$G(^YS(615.2,D0,30,D1,0)) S DIWL=19,DIWR=130 D ^DIWP
 Q
C1R ;
 D 0^DIWW
 D ^DIWW
 D N:$X>0 Q:'DN  W ?0 S X="+",DIP(1)=$G(X),DIP(2)=$G(X),X=$G(IOM,80) S X=X-2,X1=DIP(1) S %=X,X="" S:X1]"" $P(X,X1,%\$L(X1)+1)=X1,X=$E(X,1,%) K DIP K:DN Y W X
 K Y K DIWF
 Q
HEAD ;
 W !,?0,"D"
 W !,?0,"PARSE^YSSRU"
 W !,?0,"NUMDATE(YSPARAM(""YSAT""))"
 W !,?32,"TYPE OF"
 W !,?10,"NAME",?32,"SECLUSION/RESTRAINT",?53,"YSPARAM(""YSAT1"")"
 W !,?61,"YSPARAM(""YSRT1"")"
 W !,?71,"YSPARAM(""YSTT"")"
 W !,?95,"NAME OF NURSE"
 W !,?79,"ORDERED BY",?95,"PRESENT",?110,"DIAGNOSIS"
 W !,?110,"REASONS FOR"
 W !,?61,"NUMDATE(YSPARAM(""YSRT""))",?110,"S/R:REASONS"
 W !,?18,"GENERAL COMMENTS"
 W !,?0,"DUP(""+"",IOM-2)"
 W !,"------------------------------------------------------------------------------------------------------------------------------------",!!
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HYSCPAG   3564     printed  Sep 23, 2025@19:50:06                                                                                                                                                                                                      Page 2
YSCPAG    ; GENERATED FROM 'YSSR 10-2683 PRINT' PRINT TEMPLATE (#560) ; 06/01/18 ; (FILE 615.2, MARGIN=132)
 +1        GOTO BEGIN
N          WRITE !
T          if $X
               WRITE !
           IF '$DATA(DIOT(2))
               IF DN
                   IF $DATA(IOSL)
                       IF $SELECT('$DATA(DIWF):1,$PIECE(DIWF,"B",2):$PIECE(DIWF,"B",2),1:1)+$Y'<IOSL
                           IF $DATA(^UTILITY($JOB,1))#2
                               IF ^(1)?1U1P1E.E
                                   XECUTE ^(1)
 +1        SET DISTP=DISTP+1
           SET DILCT=DILCT+1
           if '(DISTP#100)
               DO CSTP^DIO2
 +2        QUIT 
DT         IF $GET(DUZ("LANG"))>1
               IF Y
                   WRITE $$OUT^DIALOGU(Y,"DD")
                   QUIT 
 +1        XECUTE ^DD("DD")
 +2        WRITE Y
           QUIT 
M          DO @DIXX
 +1        QUIT 
BEGIN     ;
 +1        if '$DATA(DN)
               SET DN=1
           SET DISTP=$GET(DISTP)
           SET DILCT=$GET(DILCT)
 +2        IF $DATA(DXS)<9
               MERGE DXS=^DIPT(560,"DXS")
 +3        SET I(0)="^YS(615.2,"
           SET J(0)=615.2
 +4        WRITE ?0
           DO PARSE^YSSRU
           KILL DIP
           if DN
               KILL Y
 +5        if $X>0
               DO N
           if 'DN
               QUIT 
           WRITE ?0
           SET X="YSAT"
           SET X=$SELECT(X=""!(X'?.ANP):"",$DATA(YSDIPA($EXTRACT(X,1,30))):YSDIPA($EXTRACT(X,1,30)),1:"")
           SET X=X
           if X
               SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +6        SET X=$GET(^YS(615.2,D0,0))
           if $X>10
               DO N
           if 'DN
               QUIT 
           WRITE ?10
           SET Y=$PIECE(X,U,2)
           SET Y=$SELECT(Y="":Y,$DATA(^DPT(Y,0))#2:$PIECE(^(0),U),1:Y)
           WRITE $EXTRACT(Y,1,20)
 +7        SET I(1)=5
           SET J(1)=615.34
           FOR D1=0:0
               if $ORDER(^YS(615.2,D0,5,D1))'>0
                   QUIT 
               XECUTE $GET(DSC(615.34))
               SET D1=$ORDER(^(D1))
               if D1'>0
                   QUIT 
               if $X>32
                   DO T
               if 'DN
                   QUIT 
               DO A1
 +8        GOTO A1R
A1        ;
 +1        SET X=$GET(^YS(615.2,D0,5,D1,0))
           if $X>32
               DO N
           if 'DN
               QUIT 
           WRITE ?32
           SET Y=$PIECE(X,U,1)
           SET Y=$SELECT(Y="":Y,$DATA(^YSR(615.6,Y,0))#2:$PIECE(^(0),U),1:Y)
           WRITE $EXTRACT(Y,1,12)
 +2        QUIT 
A1R       ;
 +1        if $X>53
               DO N
           if 'DN
               QUIT 
           WRITE ?53
           SET X="YSAT1"
           SET X=$SELECT(X=""!(X'?.ANP):"",$DATA(YSDIPA($EXTRACT(X,1,30))):YSDIPA($EXTRACT(X,1,30)),1:"")
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +2        if $X>61
               DO N
           if 'DN
               QUIT 
           WRITE ?61
           SET X="YSRT1"
           SET X=$SELECT(X=""!(X'?.ANP):"",$DATA(YSDIPA($EXTRACT(X,1,30))):YSDIPA($EXTRACT(X,1,30)),1:"")
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +3        if $X>71
               DO N
           if 'DN
               QUIT 
           WRITE ?71
           SET X="YSTT"
           SET X=$SELECT(X=""!(X'?.ANP):"",$DATA(YSDIPA($EXTRACT(X,1,30))):YSDIPA($EXTRACT(X,1,30)),1:"")
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +4        SET X=$GET(^YS(615.2,D0,25))
           if $X>79
               DO N
           if 'DN
               QUIT 
           WRITE ?79
           SET Y=$PIECE(X,U,1)
           SET Y=$SELECT(Y="":Y,$DATA(^VA(200,Y,0))#2:$PIECE(^(0),U),1:Y)
           WRITE $EXTRACT(Y,1,12)
 +5        SET X=$GET(^YS(615.2,D0,0))
           if $X>95
               DO N
           if 'DN
               QUIT 
           WRITE ?95
           SET Y=$PIECE(X,U,5)
           SET Y=$SELECT(Y="":Y,$DATA(^VA(200,Y,0))#2:$PIECE(^(0),U),1:Y)
           WRITE $EXTRACT(Y,1,13)
 +6        SET X=$GET(^YS(615.2,D0,7))
           if $X>110
               DO N
           if 'DN
               QUIT 
           SET DIWL=111
           SET DIWR=132
           SET Y=$PIECE(X,U,1)
           SET X=Y
           DO ^DIWP
 +7        DO 0^DIWW
 +8        DO ^DIWW
 +9        if $X>10
               DO N
           if 'DN
               QUIT 
           WRITE ?10
           XECUTE "N I,Y "_$PIECE(^DD(615.2,9,0),U,5,99)
           SET DIP(1)=X
           SET X="xxx-xx-"_DIP(1)
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +10       if $X>61
               DO N
           if 'DN
               QUIT 
           WRITE ?61
           SET X="YSRT"
           SET X=$SELECT(X=""!(X'?.ANP):"",$DATA(YSDIPA($EXTRACT(X,1,30))):YSDIPA($EXTRACT(X,1,30)),1:"")
           SET X=X
           if X
               SET X=$EXTRACT(X,4,5)_"/"_$EXTRACT(X,6,7)_"/"_$EXTRACT(X,2,3)
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +11       SET I(1)=10
           SET J(1)=615.21
           FOR D1=0:0
               if $ORDER(^YS(615.2,D0,10,D1))'>0
                   QUIT 
               XECUTE $GET(DSC(615.21))
               SET D1=$ORDER(^(D1))
               if D1'>0
                   QUIT 
               if $X>89
                   DO T
               if 'DN
                   QUIT 
               DO B1
 +12       GOTO B1R
B1        ;
 +1        if $X>110
               DO N
           if 'DN
               QUIT 
           WRITE ?110
           XECUTE DXS(1,9.2)
           SET X=$PIECE($GET(^YSR(615.5,+$PIECE(DIP(1),U,1),0)),U)
           SET D0=I(0,0)
           SET D1=I(1,0)
           KILL DIP
           if DN
               KILL Y
           WRITE $EXTRACT(X,1,20)
 +2        QUIT 
B1R       ;
 +1        if $X>0
               DO N
           if 'DN
               QUIT 
           WRITE ?0
           WRITE "GENERAL COMMENTS: "
 +2        if $X>18
               DO N
           if 'DN
               QUIT 
           WRITE ?18
           if '$DATA(DIWF)
               SET DIWF=""
           if DIWF'["N"
               SET DIWF=DIWF_"N"
           SET X=""
           SET I(1)=30
           SET J(1)=615.27
           FOR D1=0:0
               if $ORDER(^YS(615.2,D0,30,D1))'>0
                   QUIT 
               SET D1=$ORDER(^(D1))
               if $X>20
                   DO T
               if 'DN
                   QUIT 
               DO C1
 +3        GOTO C1R
C1        ;
 +1        SET X=$GET(^YS(615.2,D0,30,D1,0))
           SET DIWL=19
           SET DIWR=130
           DO ^DIWP
 +2        QUIT 
C1R       ;
 +1        DO 0^DIWW
 +2        DO ^DIWW
 +3        if $X>0
               DO N
           if 'DN
               QUIT 
           WRITE ?0
           SET X="+"
           SET DIP(1)=$GET(X)
           SET DIP(2)=$GET(X)
           SET X=$GET(IOM,80)
           SET X=X-2
           SET X1=DIP(1)
           SET %=X
           SET X=""
           if X1]""
               SET $PIECE(X,X1,%\$LENGTH(X1)+1)=X1
               SET X=$EXTRACT(X,1,%)
           KILL DIP
           if DN
               KILL Y
           WRITE X
 +4        KILL Y
           KILL DIWF
 +5        QUIT 
HEAD      ;
 +1        WRITE !,?0,"D"
 +2        WRITE !,?0,"PARSE^YSSRU"
 +3        WRITE !,?0,"NUMDATE(YSPARAM(""YSAT""))"
 +4        WRITE !,?32,"TYPE OF"
 +5        WRITE !,?10,"NAME",?32,"SECLUSION/RESTRAINT",?53,"YSPARAM(""YSAT1"")"
 +6        WRITE !,?61,"YSPARAM(""YSRT1"")"
 +7        WRITE !,?71,"YSPARAM(""YSTT"")"
 +8        WRITE !,?95,"NAME OF NURSE"
 +9        WRITE !,?79,"ORDERED BY",?95,"PRESENT",?110,"DIAGNOSIS"
 +10       WRITE !,?110,"REASONS FOR"
 +11       WRITE !,?61,"NUMDATE(YSPARAM(""YSRT""))",?110,"S/R:REASONS"
 +12       WRITE !,?18,"GENERAL COMMENTS"
 +13       WRITE !,?0,"DUP(""+"",IOM-2)"
 +14       WRITE !,"------------------------------------------------------------------------------------------------------------------------------------",!!