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