TIUR1 ; SLC/JER - Integrated Document Review ;11/01/03
 ;;1.0;TEXT INTEGRATION UTILITIES;**79,100,113,112**;Jun 20, 1997
 ; 11/30/00 moved PUTLIST & ADDELMNT here from TIUR. 
 ; 12/12/00 moved PUTLIST, ADDELMNT, PARENT, EXPANDKD to TIUR2
GATHER(TIUI,TIUPREF,CLASS,STATIFNS,EARLY,LATE,XREF,SCREEN) ; Find/sort
 ; Uses title info from ^TMP("TIUTYP",$J) array, set in SELTYP^TIULA
 N TIUT,TIUTP,TIUS,TIUSTAT,TIUSFLD,TIUD0,TIUD12,TIUD13,TIUD15
 N TIUIFN,TIULD
 S TIUSFLD=$P(TIUPREF,U,3)
 S TIUSFLD=$S(TIUSFLD="P":".02",TIUSFLD="D":".01",TIUSFLD="S":".05",TIUSFLD="C":"1507",TIUSFLD="A":"1202",TIUSFLD="E":"1208",1:"1301")
 S TIUT=0 F  S TIUT=$O(^TMP("TIUTYP",$J,TIUT)) Q:+TIUT'>0  D
 . S TIUTP=+$P($G(^TMP("TIUTYP",$J,TIUT)),U,2) Q:TIUTP'>0
 . S TIUS=1 F  S TIUSTAT=$P(STATIFNS,";",TIUS) Q:'TIUSTAT  D
 . . S TIUS=TIUS+1
 . . S (TIUJ,TIULD)=LATE
 . . F  S TIUJ=$O(^TIU(8925,XREF,TIUI,TIUTP,TIUSTAT,TIUJ)) Q:+TIUJ'>0!(+TIUJ>EARLY)  D
 . . . S TIUIFN=0
 . . . F  S TIUIFN=$O(^TIU(8925,XREF,TIUI,TIUTP,TIUSTAT,TIUJ,TIUIFN)) Q:+TIUIFN'>0  D
 . . . . I ($P(TIUPRM0,U,6)="S"),(+$$CANDO^TIULP(TIUIFN,"VIEW")'>0) Q
 . . . . I +$G(ORVP),(+$P($G(^TIU(8925,+TIUIFN,0)),U,2)'=+$G(ORVP)) Q
 . . . . I TIUTP=81,(^TMP("TIUTYP",$J)>1),($P(^TMP("TIUTYP",$J,TIUT),U,4)="NOT PICKED"),(+$P($G(^TIU(8925,+TIUIFN,0)),U,5)>6) Q
 . . . . I TIUTP=81,(^TMP("TIUTYP",$J)>1),($P(^TMP("TIUTYP",$J,TIUT),U,4)="NOT PICKED"),'+$$DADINTYP(TIUIFN) Q
 . . . . S TIUQ=$$RESOLVE(TIUIFN,TIUSFLD)
 . . . . ; S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN)="",TIULD=TIUJ ; P113
 . . . . ; TIUK=1: 1 search category chosen (SCREEN="")
 . . . . ; TIUK>1: 2+ search categories chosen (SCREEN=1)
 . . . . ; ALL my unsigned (SCREEN="ALL")
 . . . . I SCREEN=1!(SCREEN="ALL") S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN)=1
 . . . . E  D
 . . . . . I $D(^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN)),$G(^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN))=(SCREEN-1) S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN)=SCREEN
 . . . . S TIULD=TIUJ
 I +$G(TIUQUIK)=1,+$G(TIULD) D ADDSIGN(DUZ,CLASS,TIULD,TIUSFLD)
 Q
DADINTYP(TIUDA) ; addendum's parent belong? 12/1/00 Removed param TYPES
 N TIUI,TIUDTYP,TIUY S (TIUI,TIUY)=0
 S TIUDTYP=+$G(^TIU(8925,+$P($G(^TIU(8925,+TIUDA,0)),U,6),0))
 F  S TIUI=$O(^TMP("TIUTYP",$J,TIUI)) Q:+TIUI'>0!+TIUY  D
 . I +$P(^TMP("TIUTYP",$J,TIUI),U,2)=TIUDTYP S TIUY=1
 Q TIUY
RESOLVE(DA,DR) ; resolve sort field values
 N TIUD0,TIUD12,TIUD13,TIUD15,TIUY
 S TIUD0=$G(^TIU(8925,+DA,0)),TIUD12=$G(^TIU(8925,+DA,12))
 S TIUD13=$G(^TIU(8925,+DA,13)),TIUD15=$G(^TIU(8925,+DA,15))
 I DR=.01 S TIUY=$$PNAME^TIULC1(+TIUD0) G RESX
 I DR=.02 S TIUY=$$PTNAME^TIULC1(+$P(TIUD0,U,2)) G RESX
 I DR=.05 S TIUY=$P(TIUD0,U,5) G RESX
 I DR=1202 S TIUY=$$PERSNAME^TIULC1(+$P(TIUD12,U,2)) S:TIUY="UNKNOWN" TIUY="" G RESX
 I DR=1208 S TIUY=$$PERSNAME^TIULC1(+$P(TIUD12,U,8)) S:TIUY="UNKNOWN" TIUY="" G RESX
 I DR=1301 S TIUY=$P(TIUD13,U) G RESX
 ;I DR=1507,($P(TIUD0,U,5)=7),(+$P(TIUD15,U,7)'>0) S DR=1501
 I DR=1507,(($P(TIUD0,U,5)=7)!($P(TIUD0,U,5)=8)),(+$P(TIUD15,U,7)'>0) S DR=1501 ;TIU*1*100 amended notes were sorting at top w sortval=ZZZZEMPTY for sortfld=complete, even tho they had sign date and displayed it.
 I DR=1501 S TIUY=$P(TIUD15,U) G RESX
 I DR=1507 S TIUY=$P(TIUD15,U,7)
RESX I $G(TIUY)']"" S TIUY="ZZZZEMPTY"
 Q TIUY
 ;
ADDSIGN(USER,CLASS,DATE,SORTBY) ; Get documents for which the user is the additional signer
 N TIUI,TIUY S TIUI=0
 D NEEDSIG^TIULX(.TIUY,USER,CLASS)
 F  S TIUI=$O(@TIUY@(TIUI)) Q:+TIUI'>0  D
 . N TIUDA,TIUD13,TIUQ,TIUJ
 . S TIUDA=+$G(@TIUY@(TIUI)),TIUD13=$G(^TIU(8925,TIUDA,13))
 . S TIUQ=$$RESOLVE(TIUDA,SORTBY),TIUJ=9999999-+TIUD13
 . ; S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUDA)="" ; P113
 . S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUDA)=1
 K @TIUY
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HTIUR1   3726     printed  Sep 23, 2025@20:21:14                                                                                                                                                                                                       Page 2
TIUR1     ; SLC/JER - Integrated Document Review ;11/01/03
 +1       ;;1.0;TEXT INTEGRATION UTILITIES;**79,100,113,112**;Jun 20, 1997
 +2       ; 11/30/00 moved PUTLIST & ADDELMNT here from TIUR. 
 +3       ; 12/12/00 moved PUTLIST, ADDELMNT, PARENT, EXPANDKD to TIUR2
GATHER(TIUI,TIUPREF,CLASS,STATIFNS,EARLY,LATE,XREF,SCREEN) ; Find/sort
 +1       ; Uses title info from ^TMP("TIUTYP",$J) array, set in SELTYP^TIULA
 +2        NEW TIUT,TIUTP,TIUS,TIUSTAT,TIUSFLD,TIUD0,TIUD12,TIUD13,TIUD15
 +3        NEW TIUIFN,TIULD
 +4        SET TIUSFLD=$PIECE(TIUPREF,U,3)
 +5        SET TIUSFLD=$SELECT(TIUSFLD="P":".02",TIUSFLD="D":".01",TIUSFLD="S":".05",TIUSFLD="C":"1507",TIUSFLD="A":"1202",TIUSFLD="E":"1208",1:"1301")
 +6        SET TIUT=0
           FOR 
               SET TIUT=$ORDER(^TMP("TIUTYP",$JOB,TIUT))
               if +TIUT'>0
                   QUIT 
               Begin DoDot:1
 +7                SET TIUTP=+$PIECE($GET(^TMP("TIUTYP",$JOB,TIUT)),U,2)
                   if TIUTP'>0
                       QUIT 
 +8                SET TIUS=1
                   FOR 
                       SET TIUSTAT=$PIECE(STATIFNS,";",TIUS)
                       if 'TIUSTAT
                           QUIT 
                       Begin DoDot:2
 +9                        SET TIUS=TIUS+1
 +10                       SET (TIUJ,TIULD)=LATE
 +11                       FOR 
                               SET TIUJ=$ORDER(^TIU(8925,XREF,TIUI,TIUTP,TIUSTAT,TIUJ))
                               if +TIUJ'>0!(+TIUJ>EARLY)
                                   QUIT 
                               Begin DoDot:3
 +12                               SET TIUIFN=0
 +13                               FOR 
                                       SET TIUIFN=$ORDER(^TIU(8925,XREF,TIUI,TIUTP,TIUSTAT,TIUJ,TIUIFN))
                                       if +TIUIFN'>0
                                           QUIT 
                                       Begin DoDot:4
 +14                                       IF ($PIECE(TIUPRM0,U,6)="S")
                                               IF (+$$CANDO^TIULP(TIUIFN,"VIEW")'>0)
                                                   QUIT 
 +15                                       IF +$GET(ORVP)
                                               IF (+$PIECE($GET(^TIU(8925,+TIUIFN,0)),U,2)'=+$GET(ORVP))
                                                   QUIT 
 +16                                       IF TIUTP=81
                                               IF (^TMP("TIUTYP",$JOB)>1)
                                                   IF ($PIECE(^TMP("TIUTYP",$JOB,TIUT),U,4)="NOT PICKED")
                                                       IF (+$PIECE($GET(^TIU(8925,+TIUIFN,0)),U,5)>6)
                                                           QUIT 
 +17                                       IF TIUTP=81
                                               IF (^TMP("TIUTYP",$JOB)>1)
                                                   IF ($PIECE(^TMP("TIUTYP",$JOB,TIUT),U,4)="NOT PICKED")
                                                       IF '+$$DADINTYP(TIUIFN)
                                                           QUIT 
 +18                                       SET TIUQ=$$RESOLVE(TIUIFN,TIUSFLD)
 +19      ; S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUIFN)="",TIULD=TIUJ ; P113
 +20      ; TIUK=1: 1 search category chosen (SCREEN="")
 +21      ; TIUK>1: 2+ search categories chosen (SCREEN=1)
 +22      ; ALL my unsigned (SCREEN="ALL")
 +23                                       IF SCREEN=1!(SCREEN="ALL")
                                               SET ^TMP("TIUI",$JOB,TIUQ,TIUJ,TIUIFN)=1
 +24                                      IF '$TEST
                                               Begin DoDot:5
 +25                                               IF $DATA(^TMP("TIUI",$JOB,TIUQ,TIUJ,TIUIFN))
                                                       IF $GET(^TMP("TIUI",$JOB,TIUQ,TIUJ,TIUIFN))=(SCREEN-1)
                                                           SET ^TMP("TIUI",$JOB,TIUQ,TIUJ,TIUIFN)=SCREEN
                                               End DoDot:5
 +26                                       SET TIULD=TIUJ
                                       End DoDot:4
                               End DoDot:3
                       End DoDot:2
               End DoDot:1
 +27       IF +$GET(TIUQUIK)=1
               IF +$GET(TIULD)
                   DO ADDSIGN(DUZ,CLASS,TIULD,TIUSFLD)
 +28       QUIT 
DADINTYP(TIUDA) ; addendum's parent belong? 12/1/00 Removed param TYPES
 +1        NEW TIUI,TIUDTYP,TIUY
           SET (TIUI,TIUY)=0
 +2        SET TIUDTYP=+$GET(^TIU(8925,+$PIECE($GET(^TIU(8925,+TIUDA,0)),U,6),0))
 +3        FOR 
               SET TIUI=$ORDER(^TMP("TIUTYP",$JOB,TIUI))
               if +TIUI'>0!+TIUY
                   QUIT 
               Begin DoDot:1
 +4                IF +$PIECE(^TMP("TIUTYP",$JOB,TIUI),U,2)=TIUDTYP
                       SET TIUY=1
               End DoDot:1
 +5        QUIT TIUY
RESOLVE(DA,DR) ; resolve sort field values
 +1        NEW TIUD0,TIUD12,TIUD13,TIUD15,TIUY
 +2        SET TIUD0=$GET(^TIU(8925,+DA,0))
           SET TIUD12=$GET(^TIU(8925,+DA,12))
 +3        SET TIUD13=$GET(^TIU(8925,+DA,13))
           SET TIUD15=$GET(^TIU(8925,+DA,15))
 +4        IF DR=.01
               SET TIUY=$$PNAME^TIULC1(+TIUD0)
               GOTO RESX
 +5        IF DR=.02
               SET TIUY=$$PTNAME^TIULC1(+$PIECE(TIUD0,U,2))
               GOTO RESX
 +6        IF DR=.05
               SET TIUY=$PIECE(TIUD0,U,5)
               GOTO RESX
 +7        IF DR=1202
               SET TIUY=$$PERSNAME^TIULC1(+$PIECE(TIUD12,U,2))
               if TIUY="UNKNOWN"
                   SET TIUY=""
               GOTO RESX
 +8        IF DR=1208
               SET TIUY=$$PERSNAME^TIULC1(+$PIECE(TIUD12,U,8))
               if TIUY="UNKNOWN"
                   SET TIUY=""
               GOTO RESX
 +9        IF DR=1301
               SET TIUY=$PIECE(TIUD13,U)
               GOTO RESX
 +10      ;I DR=1507,($P(TIUD0,U,5)=7),(+$P(TIUD15,U,7)'>0) S DR=1501
 +11      ;TIU*1*100 amended notes were sorting at top w sortval=ZZZZEMPTY for sortfld=complete, even tho they had sign date and displayed it.
           IF DR=1507
               IF (($PIECE(TIUD0,U,5)=7)!($PIECE(TIUD0,U,5)=8))
                   IF (+$PIECE(TIUD15,U,7)'>0)
                       SET DR=1501
 +12       IF DR=1501
               SET TIUY=$PIECE(TIUD15,U)
               GOTO RESX
 +13       IF DR=1507
               SET TIUY=$PIECE(TIUD15,U,7)
RESX       IF $GET(TIUY)']""
               SET TIUY="ZZZZEMPTY"
 +1        QUIT TIUY
 +2       ;
ADDSIGN(USER,CLASS,DATE,SORTBY) ; Get documents for which the user is the additional signer
 +1        NEW TIUI,TIUY
           SET TIUI=0
 +2        DO NEEDSIG^TIULX(.TIUY,USER,CLASS)
 +3        FOR 
               SET TIUI=$ORDER(@TIUY@(TIUI))
               if +TIUI'>0
                   QUIT 
               Begin DoDot:1
 +4                NEW TIUDA,TIUD13,TIUQ,TIUJ
 +5                SET TIUDA=+$GET(@TIUY@(TIUI))
                   SET TIUD13=$GET(^TIU(8925,TIUDA,13))
 +6                SET TIUQ=$$RESOLVE(TIUDA,SORTBY)
                   SET TIUJ=9999999-+TIUD13
 +7       ; S ^TMP("TIUI",$J,TIUQ,TIUJ,TIUDA)="" ; P113
 +8                SET ^TMP("TIUI",$JOB,TIUQ,TIUJ,TIUDA)=1
               End DoDot:1
 +9        KILL @TIUY
 +10       QUIT