TIUGR ; SLC/MAM - ID Note Review Screen Actions ; IDNOTE; 4/12/01
 ;;1.0;TEXT INTEGRATION UTILITIES;**100**;Jun 20, 1997
 ;
IDNOTE ; Review Screen Action IN Interdisciplinary Note
 ;If editing this module, please keep TIUGR1 consistent with it.
 ; -- Sets TIUGLINK if user starts attaching
 ;    the note to an existing note: --
 ;     TIUGLINK = IFN of ID entry^Lineno^Title.
 ;     (If ID entry is chosen via browse instead of review, Lineno=0)
 N LINENO,NTDATA,NTDA,ADDED,TIUQUIT,TITLE,TITLEDA
 N CANATT,CANADD,PDOCTYP,TIUCHNG,LNO
 N TIUDAARY,DETACHED,TIUACT,TIULST,TIUIDDAD
 ; -- If user has already selected note to attach, but not note
 ;    to attach it to, write msg and quit: --
 ;I $G(TIUGLINK) D ATTCHMSG(TIUGLINK) S TIUQUIT=1 G IDNOTEX
 ; -- If user has already selected note to attach, but not note
 ;    to attach it to, and reselects IN, quit attach action: --
 I $G(TIUGLINK) D LINKQUIT^TIUGR2 S TIUQUIT=1 G IDNOTEX
 ; -- Select note to act on, if not already selected: --
 I '$D(VALMY) D  I $G(TIUQUIT) G IDNOTEX
 . I $P($G(XQORNOD(0)),U,4)'["=" D
 . . W !!,"  To ADD a new entry to an interdisciplinary note, please select the",!,"interdisciplinary note."
 . . W !,"  To ATTACH an existing stand-alone note to an interdisciplinary note,",!,"please select the note you want to attach."
 . D EN^VALM2(XQORNOD(0),"S") S LINENO=+$O(VALMY(0))
 . I 'LINENO S TIUQUIT=1 Q
 . ; -- Reverse video selected note: --
 . D RESTORE^VALM10(LINENO),CNTRL^VALM10(LINENO,6,VALM("RM"),IORVON,IORVOFF),WRITE^VALM10(LINENO)
 ; -- In case note was already selected: --
 S LINENO=+$O(VALMY(0))
 ; -- Set notedata NTDATA = lineno^IFN^? --
 S NTDATA=$G(^TMP("TIURIDX",$J,LINENO))
 S NTDA=+$P(NTDATA,U,2)
 I '$D(^TIU(8925,+NTDA,0)) S TIUCHNG("REFRESH")=1,TIUQUIT=1 G IDNOTEX
 S TITLE=$$DOCTYPE^TIULF(NTDA)
 I $O(VALMY(LINENO)) D
 . W !!,"Notes must be selected one at a time for interdisciplinary"
 . W !,"note actions.  Acting on your FIRST selection,"
 . W !?3,$P(TITLE,U,2) H 5
 . S LNO=LINENO F  S LNO=$O(VALMY(LNO)) Q:'LNO  D
 . . D RESTORE^VALM10(LNO)
 . . D WRITE^VALM10(LNO)
 . . K VALMY(LNO)
 ; -- If note is addendum, CWAD, or consult result,
 ;    user can't detach/attach it or add new entry to it.
 ;    Say so & quit: --
 I +^TIU(8925,+NTDA,0)=81 D CANT("A") S TIUCHNG("REFRESH")=1 G IDNOTEX
 S PDOCTYP=$P(^TIU(8925,+NTDA,0),U,4)
 I (PDOCTYP=27)!(PDOCTYP=25)!(PDOCTYP=31)!(PDOCTYP=30) D  G IDNOTEX
 . D CANT("CWAD") S TIUCHNG("REFRESH")=1
 I $P($G(^TIU(8925,+NTDA,14)),U,5) D  G IDNOTEX
 . D CANT("CR") S TIUCHNG("REFRESH")=1
 ; -- If note is already an entry of an ID note, unlink it: --
 S TIUIDDAD=$$HASIDDAD^TIUGBR(NTDA)
 I TIUIDDAD D  G IDNOTEX
 . S TIUACT="DETACHED",TIUDAARY(LINENO)=NTDA
 . D UNLKKID^TIUGR1(NTDA,TIUIDDAD,.DETACHED)
 . I '$G(DETACHED) S TIUCHNG("REFRESH")=1,TIULST="" Q
 . S TIUCHNG("RBLD")=1,TIULST=LINENO
 ; -- If user can add an entry to the note, do it & quit: --
 S CANADD=$$CANDO^TIULP(NTDA,"ATTACH ID ENTRY")
 I CANADD D  G IDNOTEX
 . D ADDDAD^TIUGEDIT(NTDA,.ADDED)
 . I 'ADDED S TIUCHNG("REFRESH")=1 Q
 . S TIUCHNG("RBLD")=1
 ; -- If user can't add entry to note, & attaching note to
 ;    an existing note is not permitted, say can't add & quit: --
 ;    -- Note itself has entries: --
 I 'CANADD,$$HASIDKID^TIUGBR(NTDA) D  G IDNOTEX
 . W !!,$P(CANADD,U,2) D PAUSE S TIUCHNG("REFRESH")=1
 ;    -- Note is a possible parent: --
 S TITLEDA=+^TIU(8925,NTDA,0)
 I 'CANADD,$$POSSPRNT^TIULP(TITLEDA) D  G IDNOTEX
 . W !!,$P(CANADD,U,2) D PAUSE S TIUCHNG("REFRESH")=1
 ; -- See if user can attach note to an existing note: --
 S CANATT=$$CANDO^TIULP(NTDA,"ATTACH TO ID NOTE")
 ;    -- If user can attach note, set TIUGLINK,
 ;       write "Attaching...", and quit: --
 I CANATT D  G IDNOTEX
 . S TIUGLINK=NTDA_U_LINENO_U_$P(TITLE,U,2)
 . D ATTCHMSG(TIUGLINK) ; User is mid-attach, don't set TIUCHNG
 ;    -- If user can't attach, say can't attach, and quit
 I 'CANATT D
 . W !!,$P(CANATT,U,2) D PAUSE
 . S TIUCHNG("REFRESH")=1
IDNOTEX ; Restore video for selected line and refresh/update/rebuild list:
 I $G(TIUCHNG("REFRESH"))!$G(TIUCHNG("UPDATE"))!$G(TIUCHNG("RBLD")) D
 . S VALMY(LINENO)=""
 . D UPRBLD^TIURL(.TIUCHNG,.VALMY)
 S VALMBCK="R" K VALMY
 I $G(TIUACT)="DETACHED" D VMSG^TIURS1(TIULST,.TIUDAARY,"DETACHED")
 Q
 ;
PAUSE ;Wait til user hits return
 I $$READ^TIUU("EA","Press RETURN to continue...")
 Q
 ;
CANT(TYPE) ; Tell user they can't act on addendum, CWAD, or
 ;Consult result
 I TYPE="A" D
 . W !!,"  An addendum is linked to its parent when it is first made and"
 . W !,"cannot be attached or detached like an interdisciplinary note."
 . W !,"To add an addendum to a note, use action 'Make Addendum.'"
 I TYPE="CWAD" D
 . W !!,"  CWAD notes cannot be used as interdisciplinary notes."
 I TYPE="CR" D
 . W !!,"  Consult results cannot be used as interdisciplinary notes."
 D PAUSE
 Q
 ;
ATTCHMSG(KIDDATA) ; Offer instructions when user has selected
 ;the note to attach but not the note to attach it to.
 W !!,"  Attaching ",$P(KIDDATA,U,3),"."
 W !,"  Please select the note you want to attach it to."
 W !,"  Or, reselect action IN if you no longer wish to attach the note."
 I $$READ^TIUU("EA","Press RETURN when you have finished reading this message...")
 Q
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HTIUGR   5332     printed  Sep 23, 2025@20:17:51                                                                                                                                                                                                       Page 2
TIUGR     ; SLC/MAM - ID Note Review Screen Actions ; IDNOTE; 4/12/01
 +1       ;;1.0;TEXT INTEGRATION UTILITIES;**100**;Jun 20, 1997
 +2       ;
IDNOTE    ; Review Screen Action IN Interdisciplinary Note
 +1       ;If editing this module, please keep TIUGR1 consistent with it.
 +2       ; -- Sets TIUGLINK if user starts attaching
 +3       ;    the note to an existing note: --
 +4       ;     TIUGLINK = IFN of ID entry^Lineno^Title.
 +5       ;     (If ID entry is chosen via browse instead of review, Lineno=0)
 +6        NEW LINENO,NTDATA,NTDA,ADDED,TIUQUIT,TITLE,TITLEDA
 +7        NEW CANATT,CANADD,PDOCTYP,TIUCHNG,LNO
 +8        NEW TIUDAARY,DETACHED,TIUACT,TIULST,TIUIDDAD
 +9       ; -- If user has already selected note to attach, but not note
 +10      ;    to attach it to, write msg and quit: --
 +11      ;I $G(TIUGLINK) D ATTCHMSG(TIUGLINK) S TIUQUIT=1 G IDNOTEX
 +12      ; -- If user has already selected note to attach, but not note
 +13      ;    to attach it to, and reselects IN, quit attach action: --
 +14       IF $GET(TIUGLINK)
               DO LINKQUIT^TIUGR2
               SET TIUQUIT=1
               GOTO IDNOTEX
 +15      ; -- Select note to act on, if not already selected: --
 +16       IF '$DATA(VALMY)
               Begin DoDot:1
 +17               IF $PIECE($GET(XQORNOD(0)),U,4)'["="
                       Begin DoDot:2
 +18                       WRITE !!,"  To ADD a new entry to an interdisciplinary note, please select the",!,"interdisciplinary note."
 +19                       WRITE !,"  To ATTACH an existing stand-alone note to an interdisciplinary note,",!,"please select the note you want to attach."
                       End DoDot:2
 +20               DO EN^VALM2(XQORNOD(0),"S")
                   SET LINENO=+$ORDER(VALMY(0))
 +21               IF 'LINENO
                       SET TIUQUIT=1
                       QUIT 
 +22      ; -- Reverse video selected note: --
 +23               DO RESTORE^VALM10(LINENO)
                   DO CNTRL^VALM10(LINENO,6,VALM("RM"),IORVON,IORVOFF)
                   DO WRITE^VALM10(LINENO)
               End DoDot:1
               IF $GET(TIUQUIT)
                   GOTO IDNOTEX
 +24      ; -- In case note was already selected: --
 +25       SET LINENO=+$ORDER(VALMY(0))
 +26      ; -- Set notedata NTDATA = lineno^IFN^? --
 +27       SET NTDATA=$GET(^TMP("TIURIDX",$JOB,LINENO))
 +28       SET NTDA=+$PIECE(NTDATA,U,2)
 +29       IF '$DATA(^TIU(8925,+NTDA,0))
               SET TIUCHNG("REFRESH")=1
               SET TIUQUIT=1
               GOTO IDNOTEX
 +30       SET TITLE=$$DOCTYPE^TIULF(NTDA)
 +31       IF $ORDER(VALMY(LINENO))
               Begin DoDot:1
 +32               WRITE !!,"Notes must be selected one at a time for interdisciplinary"
 +33               WRITE !,"note actions.  Acting on your FIRST selection,"
 +34               WRITE !?3,$PIECE(TITLE,U,2)
                   HANG 5
 +35               SET LNO=LINENO
                   FOR 
                       SET LNO=$ORDER(VALMY(LNO))
                       if 'LNO
                           QUIT 
                       Begin DoDot:2
 +36                       DO RESTORE^VALM10(LNO)
 +37                       DO WRITE^VALM10(LNO)
 +38                       KILL VALMY(LNO)
                       End DoDot:2
               End DoDot:1
 +39      ; -- If note is addendum, CWAD, or consult result,
 +40      ;    user can't detach/attach it or add new entry to it.
 +41      ;    Say so & quit: --
 +42       IF +^TIU(8925,+NTDA,0)=81
               DO CANT("A")
               SET TIUCHNG("REFRESH")=1
               GOTO IDNOTEX
 +43       SET PDOCTYP=$PIECE(^TIU(8925,+NTDA,0),U,4)
 +44       IF (PDOCTYP=27)!(PDOCTYP=25)!(PDOCTYP=31)!(PDOCTYP=30)
               Begin DoDot:1
 +45               DO CANT("CWAD")
                   SET TIUCHNG("REFRESH")=1
               End DoDot:1
               GOTO IDNOTEX
 +46       IF $PIECE($GET(^TIU(8925,+NTDA,14)),U,5)
               Begin DoDot:1
 +47               DO CANT("CR")
                   SET TIUCHNG("REFRESH")=1
               End DoDot:1
               GOTO IDNOTEX
 +48      ; -- If note is already an entry of an ID note, unlink it: --
 +49       SET TIUIDDAD=$$HASIDDAD^TIUGBR(NTDA)
 +50       IF TIUIDDAD
               Begin DoDot:1
 +51               SET TIUACT="DETACHED"
                   SET TIUDAARY(LINENO)=NTDA
 +52               DO UNLKKID^TIUGR1(NTDA,TIUIDDAD,.DETACHED)
 +53               IF '$GET(DETACHED)
                       SET TIUCHNG("REFRESH")=1
                       SET TIULST=""
                       QUIT 
 +54               SET TIUCHNG("RBLD")=1
                   SET TIULST=LINENO
               End DoDot:1
               GOTO IDNOTEX
 +55      ; -- If user can add an entry to the note, do it & quit: --
 +56       SET CANADD=$$CANDO^TIULP(NTDA,"ATTACH ID ENTRY")
 +57       IF CANADD
               Begin DoDot:1
 +58               DO ADDDAD^TIUGEDIT(NTDA,.ADDED)
 +59               IF 'ADDED
                       SET TIUCHNG("REFRESH")=1
                       QUIT 
 +60               SET TIUCHNG("RBLD")=1
               End DoDot:1
               GOTO IDNOTEX
 +61      ; -- If user can't add entry to note, & attaching note to
 +62      ;    an existing note is not permitted, say can't add & quit: --
 +63      ;    -- Note itself has entries: --
 +64       IF 'CANADD
               IF $$HASIDKID^TIUGBR(NTDA)
                   Begin DoDot:1
 +65                   WRITE !!,$PIECE(CANADD,U,2)
                       DO PAUSE
                       SET TIUCHNG("REFRESH")=1
                   End DoDot:1
                   GOTO IDNOTEX
 +66      ;    -- Note is a possible parent: --
 +67       SET TITLEDA=+^TIU(8925,NTDA,0)
 +68       IF 'CANADD
               IF $$POSSPRNT^TIULP(TITLEDA)
                   Begin DoDot:1
 +69                   WRITE !!,$PIECE(CANADD,U,2)
                       DO PAUSE
                       SET TIUCHNG("REFRESH")=1
                   End DoDot:1
                   GOTO IDNOTEX
 +70      ; -- See if user can attach note to an existing note: --
 +71       SET CANATT=$$CANDO^TIULP(NTDA,"ATTACH TO ID NOTE")
 +72      ;    -- If user can attach note, set TIUGLINK,
 +73      ;       write "Attaching...", and quit: --
 +74       IF CANATT
               Begin DoDot:1
 +75               SET TIUGLINK=NTDA_U_LINENO_U_$PIECE(TITLE,U,2)
 +76      ; User is mid-attach, don't set TIUCHNG
                   DO ATTCHMSG(TIUGLINK)
               End DoDot:1
               GOTO IDNOTEX
 +77      ;    -- If user can't attach, say can't attach, and quit
 +78       IF 'CANATT
               Begin DoDot:1
 +79               WRITE !!,$PIECE(CANATT,U,2)
                   DO PAUSE
 +80               SET TIUCHNG("REFRESH")=1
               End DoDot:1
IDNOTEX   ; Restore video for selected line and refresh/update/rebuild list:
 +1        IF $GET(TIUCHNG("REFRESH"))!$GET(TIUCHNG("UPDATE"))!$GET(TIUCHNG("RBLD"))
               Begin DoDot:1
 +2                SET VALMY(LINENO)=""
 +3                DO UPRBLD^TIURL(.TIUCHNG,.VALMY)
               End DoDot:1
 +4        SET VALMBCK="R"
           KILL VALMY
 +5        IF $GET(TIUACT)="DETACHED"
               DO VMSG^TIURS1(TIULST,.TIUDAARY,"DETACHED")
 +6        QUIT 
 +7       ;
PAUSE     ;Wait til user hits return
 +1        IF $$READ^TIUU("EA","Press RETURN to continue...")
 +2        QUIT 
 +3       ;
CANT(TYPE) ; Tell user they can't act on addendum, CWAD, or
 +1       ;Consult result
 +2        IF TYPE="A"
               Begin DoDot:1
 +3                WRITE !!,"  An addendum is linked to its parent when it is first made and"
 +4                WRITE !,"cannot be attached or detached like an interdisciplinary note."
 +5                WRITE !,"To add an addendum to a note, use action 'Make Addendum.'"
               End DoDot:1
 +6        IF TYPE="CWAD"
               Begin DoDot:1
 +7                WRITE !!,"  CWAD notes cannot be used as interdisciplinary notes."
               End DoDot:1
 +8        IF TYPE="CR"
               Begin DoDot:1
 +9                WRITE !!,"  Consult results cannot be used as interdisciplinary notes."
               End DoDot:1
 +10       DO PAUSE
 +11       QUIT 
 +12      ;
ATTCHMSG(KIDDATA) ; Offer instructions when user has selected
 +1       ;the note to attach but not the note to attach it to.
 +2        WRITE !!,"  Attaching ",$PIECE(KIDDATA,U,3),"."
 +3        WRITE !,"  Please select the note you want to attach it to."
 +4        WRITE !,"  Or, reselect action IN if you no longer wish to attach the note."
 +5        IF $$READ^TIUU("EA","Press RETURN when you have finished reading this message...")
 +6        QUIT 
 +7       ;