TIUFHA ; SLC/MAM - LM Templates H, A, and C Action Detailed Display, Action Boilerplate Text ;6/5/97 22:57
;;1.0;TEXT INTEGRATION UTILITIES;**64**;Jun 20, 1997
;
EDVIEW ; Templates H, A, C, and J Action Detailed Display if XQORNOD(0)["Detailed; Action Boilerplate Text if XQORNOD(0)["Boil".
; Requires TIUFTMPL.
; Requires TIUFWHO, set in Options TIUF/A/C/H/J EDIT/SORT/CREATE CLIN/MGR/NATL.
; For Detailed Display Sets TIUFSTMP = D
; For Boilerplate Text Sets TIUFSTMP = X.
; Sets TIUFACT where TIUFACT is a letter: C for Clinician, M for Manager, V for View.
; Sets Array TIUFINFO, Array TIUFNOD0.
N TIUFINFO,TIUFXNOD,TIUFACT,TIUFXSTA,TIUFXBT,DTOUT,DIRUT,DIROUT,DUOUT
N TIUFNOD0,TIUFVCN1,TIUFSTMP,QUIT,TIUFERR,OLDSNO,EXPAND,TIUFBG1
N USROWNS,TIUFBLIN,TIUFILIN,TIUFTLIN,TIUFRLIN,TIUFULIN,TIUFPLIN,TIUFELIN
N NOPTYPE,TIUFIXED,MISSITEM,MSG,SHARED,FILEDA
N TIUPRM0,TIUPRM1,PFILEDA ;Set by [TIUF UPLOAD FIELD EDIT]
S VALMBCK="",TIUFXNOD=$G(XQORNOD(0))
D EN^VALM2(TIUFXNOD,"SO") G:'$O(VALMY(0)) EDVIX S TIUFINFO=$G(^TMP("TIUF1IDX",$J,$O(VALMY(0)))) I 'TIUFINFO W !!," Missing List Manager Data; See IRM",! D PAUSE^TIUFXHLX S VALMBCK="Q" G EDVIX
S FILEDA=$P(TIUFINFO,U,2),MISSITEM=$$MISSITEM^TIUFLF4(FILEDA) I MISSITEM W !!," Sorry; File Entry "_FILEDA_" has Nonexistent Item "_MISSITEM_"; See IRM.",! D PAUSE^TIUFXHLX S VALMBCK="" G EDVIX
D PARSE^TIUFLLM(.TIUFINFO)
D NODE0ARR^TIUFLF(TIUFINFO("FILEDA"),.TIUFNOD0) G:$D(DTOUT) EDVIX
I TIUFXNOD["Detailed" S TIUFSTMP="D"
I TIUFXNOD["Boil" S TIUFSTMP="X"
I TIUFSTMP="X",FILEDA=81 W !!," Addendum title does not have its own Boilerplate Text",! D PAUSE^TIUFXHLX S VALMBCK="" G EDVIX ;P64
I TIUFSTMP="X",TIUFNOD0("TYPE")'="TITLE",TIUFNOD0("TYPE")'="COMPONENT" W !!," Only Titles and Components have Boilerplate Text",! D PAUSE^TIUFXHLX S VALMBCK="" G EDVIX
S SHARED=$P(TIUFNOD0,U,10),TIUFACT=TIUFWHO
S PFILEDA="",NOPTYPE=0
F S PFILEDA=$O(^TIU(8925.1,"AD",TIUFINFO("FILEDA"),PFILEDA)) Q:'PFILEDA D Q:NOPTYPE
. I $P(^TIU(8925.1,PFILEDA,0),U,4)="" S NOPTYPE=1
D:TIUFXNOD["Detailed"
. I FILEDA=81!(FILEDA=512) S TIUFACT="V",MSG=" Addendum; View Only" Q ;P64
. I $P(TIUFNOD0,U,13),TIUFWHO'="N",TIUFXNOD["Detailed" S MSG=" Entry is National; Limited Actions" ;P64 set msg only for Detailed Display, not Btext
S USROWNS=$$PERSOWNS^TIUFLF2(TIUFINFO("FILEDA"),DUZ)
I TIUFSTMP="X" S TIUFXSTA=TIUFNOD0("STATUS"),TIUFXBT=TIUFNOD0("BOILPT")
D
. I TIUFWHO="C",TIUFNOD0("TYPE")="OBJECT" S TIUFACT="V" S:TIUFTMPL'="J" MSG=" Object; View Only" Q
. I TIUFWHO="C",USROWNS="" S TIUFACT="V",MSG=" Entry has no Owner; View Only" Q
. I TIUFWHO="C",SHARED S TIUFACT="V",MSG=" Entry is Shared Component; View Only" Q
. I TIUFWHO="C",USROWNS=0 S TIUFACT="V",MSG=" Non-Owner; View Only" Q
. I SHARED,USROWNS=0 S TIUFACT="V",MSG="Shared Components can be edited only by the Owner; View Only" Q
. I SHARED,TIUFTMPL'="A" S TIUFACT="V",MSG="Shared Components can be edited only through the SORT option; View Only" Q
I $D(MSG) W !!,MSG,! D PAUSE^TIUFXHLX G:$D(DUOUT)!$D(DTOUT) EDVIX
; If entry is expanded, collapse entry and reexpand to items only when return. Too hard to update otherwise.
S EXPAND=TIUFINFO("XPDLCNT")
I "HC"[TIUFTMPL,EXPAND D COLLAPSE^TIUFH1(.TIUFINFO) S VALMCNT=VALMCNT-EXPAND
S TIUFVCN1=VALMCNT,TIUFBG1=VALMBG,TIUFIXED=VALM("FIXED")
N TIUFREDO,TIUREC
S TIUFREDO=0
I TIUFXNOD["Detailed" D
. I $P(TIUFNOD0,U,4)'="O" D EN^VALM("TIUFD DISPLAY CLIN"):(TIUFACT="C"),EN^VALM("TIUFD DISPLAY MGR"):("NM"[TIUFACT),EN^VALM("TIUFD DISPLAY VIEW"):TIUFACT="V" Q
. D EN^VALM("TIUFDJ DISPLAY OBJECT MGR"):("NM"[TIUFACT),EN^VALM("TIUFD DISPLAY VIEW"):TIUFACT="V"
I TIUFXNOD["Boil" D EN^VALM("TIUFX BOILERPLATE TEXT"):("NMC"[TIUFACT),EN^VALM("TIUFX BOILERPLATE TEXT VIEW"):(TIUFACT="V")
S VALMCNT=TIUFVCN1,VALMBG=TIUFBG1
K ^TMP("TIUFEMBED",$J)
I TIUFTMPL="H" D
. S TIUREC=^TMP("TIUF1",$J,+TIUFINFO,0)
. S TIUREC=$$PLUSUP^TIUFLLM(.TIUFINFO,TIUREC)
. S ^TMP("TIUF1",$J,+TIUFINFO,0)=TIUREC
. Q
I "HC"[TIUFTMPL,EXPAND D EXPAND1^TIUFH1(.TIUFINFO) S VALMCNT=VALMCNT+$P(TIUFINFO,U,3)
; Templates A,J have been updated with each change to Template D(J); just redisplay.
I TIUFTMPL="A" D
. I VALMLFT=81!(VALMLFT=113) D CHGCAP^VALM("NAME1","Name Type")
. I VALM("FIXED")=20 D CHGCAP^VALM("NAME1","Name Type")
I TIUFTMPL="A"!(TIUFTMPL="J"),TIUFREDO D INIT^TIUFA
S VALMBCK="R"
EDVIX I $D(DTOUT) S VALMBCK="Q"
Q
;
EXIT ; -- exit code for LM Template D, X
K ^TMP("TIUF3",$J),^TMP("TIUFB",$J),^TMP("TIUF3IDX",$J),^TMP("TIUFBIDX",$J)
Q
TIUFHA ; SLC/MAM - LM Templates H, A, and C Action Detailed Display, Action Boilerplate Text ;6/5/97 22:57
+1 ;;1.0;TEXT INTEGRATION UTILITIES;**64**;Jun 20, 1997
+2 ;
EDVIEW ; Templates H, A, C, and J Action Detailed Display if XQORNOD(0)["Detailed; Action Boilerplate Text if XQORNOD(0)["Boil".
+1 ; Requires TIUFTMPL.
+2 ; Requires TIUFWHO, set in Options TIUF/A/C/H/J EDIT/SORT/CREATE CLIN/MGR/NATL.
+3 ; For Detailed Display Sets TIUFSTMP = D
+4 ; For Boilerplate Text Sets TIUFSTMP = X.
+5 ; Sets TIUFACT where TIUFACT is a letter: C for Clinician, M for Manager, V for View.
+6 ; Sets Array TIUFINFO, Array TIUFNOD0.
+7 NEW TIUFINFO,TIUFXNOD,TIUFACT,TIUFXSTA,TIUFXBT,DTOUT,DIRUT,DIROUT,DUOUT
+8 NEW TIUFNOD0,TIUFVCN1,TIUFSTMP,QUIT,TIUFERR,OLDSNO,EXPAND,TIUFBG1
+9 NEW USROWNS,TIUFBLIN,TIUFILIN,TIUFTLIN,TIUFRLIN,TIUFULIN,TIUFPLIN,TIUFELIN
+10 NEW NOPTYPE,TIUFIXED,MISSITEM,MSG,SHARED,FILEDA
+11 ;Set by [TIUF UPLOAD FIELD EDIT]
NEW TIUPRM0,TIUPRM1,PFILEDA
+12 SET VALMBCK=""
SET TIUFXNOD=$GET(XQORNOD(0))
+13 DO EN^VALM2(TIUFXNOD,"SO")
IF '$ORDER(VALMY(0))
GOTO EDVIX
SET TIUFINFO=$GET(^TMP("TIUF1IDX",$JOB,$ORDER(VALMY(0))))
IF 'TIUFINFO
WRITE !!," Missing List Manager Data; See IRM",!
DO PAUSE^TIUFXHLX
SET VALMBCK="Q"
GOTO EDVIX
+14 SET FILEDA=$PIECE(TIUFINFO,U,2)
SET MISSITEM=$$MISSITEM^TIUFLF4(FILEDA)
IF MISSITEM
WRITE !!," Sorry; File Entry "_FILEDA_" has Nonexistent Item "_MISSITEM_"; See IRM.",!
DO PAUSE^TIUFXHLX
SET VALMBCK=""
GOTO EDVIX
+15 DO PARSE^TIUFLLM(.TIUFINFO)
+16 DO NODE0ARR^TIUFLF(TIUFINFO("FILEDA"),.TIUFNOD0)
IF $DATA(DTOUT)
GOTO EDVIX
+17 IF TIUFXNOD["Detailed"
SET TIUFSTMP="D"
+18 IF TIUFXNOD["Boil"
SET TIUFSTMP="X"
+19 ;P64
IF TIUFSTMP="X"
IF FILEDA=81
WRITE !!," Addendum title does not have its own Boilerplate Text",!
DO PAUSE^TIUFXHLX
SET VALMBCK=""
GOTO EDVIX
+20 IF TIUFSTMP="X"
IF TIUFNOD0("TYPE")'="TITLE"
IF TIUFNOD0("TYPE")'="COMPONENT"
WRITE !!," Only Titles and Components have Boilerplate Text",!
DO PAUSE^TIUFXHLX
SET VALMBCK=""
GOTO EDVIX
+21 SET SHARED=$PIECE(TIUFNOD0,U,10)
SET TIUFACT=TIUFWHO
+22 SET PFILEDA=""
SET NOPTYPE=0
+23 FOR
SET PFILEDA=$ORDER(^TIU(8925.1,"AD",TIUFINFO("FILEDA"),PFILEDA))
IF 'PFILEDA
QUIT
Begin DoDot:1
+24 IF $PIECE(^TIU(8925.1,PFILEDA,0),U,4)=""
SET NOPTYPE=1
End DoDot:1
IF NOPTYPE
QUIT
+25 IF TIUFXNOD["Detailed"
Begin DoDot:1
+26 ;P64
IF FILEDA=81!(FILEDA=512)
SET TIUFACT="V"
SET MSG=" Addendum; View Only"
QUIT
+27 ;P64 set msg only for Detailed Display, not Btext
IF $PIECE(TIUFNOD0,U,13)
IF TIUFWHO'="N"
IF TIUFXNOD["Detailed"
SET MSG=" Entry is National; Limited Actions"
End DoDot:1
+28 SET USROWNS=$$PERSOWNS^TIUFLF2(TIUFINFO("FILEDA"),DUZ)
+29 IF TIUFSTMP="X"
SET TIUFXSTA=TIUFNOD0("STATUS")
SET TIUFXBT=TIUFNOD0("BOILPT")
+30 Begin DoDot:1
+31 IF TIUFWHO="C"
IF TIUFNOD0("TYPE")="OBJECT"
SET TIUFACT="V"
IF TIUFTMPL'="J"
SET MSG=" Object; View Only"
QUIT
+32 IF TIUFWHO="C"
IF USROWNS=""
SET TIUFACT="V"
SET MSG=" Entry has no Owner; View Only"
QUIT
+33 IF TIUFWHO="C"
IF SHARED
SET TIUFACT="V"
SET MSG=" Entry is Shared Component; View Only"
QUIT
+34 IF TIUFWHO="C"
IF USROWNS=0
SET TIUFACT="V"
SET MSG=" Non-Owner; View Only"
QUIT
+35 IF SHARED
IF USROWNS=0
SET TIUFACT="V"
SET MSG="Shared Components can be edited only by the Owner; View Only"
QUIT
+36 IF SHARED
IF TIUFTMPL'="A"
SET TIUFACT="V"
SET MSG="Shared Components can be edited only through the SORT option; View Only"
QUIT
End DoDot:1
+37 IF $DATA(MSG)
WRITE !!,MSG,!
DO PAUSE^TIUFXHLX
IF $DATA(DUOUT)!$DATA(DTOUT)
GOTO EDVIX
+38 ; If entry is expanded, collapse entry and reexpand to items only when return. Too hard to update otherwise.
+39 SET EXPAND=TIUFINFO("XPDLCNT")
+40 IF "HC"[TIUFTMPL
IF EXPAND
DO COLLAPSE^TIUFH1(.TIUFINFO)
SET VALMCNT=VALMCNT-EXPAND
+41 SET TIUFVCN1=VALMCNT
SET TIUFBG1=VALMBG
SET TIUFIXED=VALM("FIXED")
+42 NEW TIUFREDO,TIUREC
+43 SET TIUFREDO=0
+44 IF TIUFXNOD["Detailed"
Begin DoDot:1
+45 IF $PIECE(TIUFNOD0,U,4)'="O"
IF (TIUFACT="C")
DO EN^VALM("TIUFD DISPLAY CLIN")
IF ("NM"[TIUFACT)
DO EN^VALM("TIUFD DISPLAY MGR")
IF TIUFACT="V"
DO EN^VALM("TIUFD DISPLAY VIEW")
QUIT
+46 IF ("NM"[TIUFACT)
DO EN^VALM("TIUFDJ DISPLAY OBJECT MGR")
IF TIUFACT="V"
DO EN^VALM("TIUFD DISPLAY VIEW")
End DoDot:1
+47 IF TIUFXNOD["Boil"
IF ("NMC"[TIUFACT)
DO EN^VALM("TIUFX BOILERPLATE TEXT")
IF (TIUFACT="V")
DO EN^VALM("TIUFX BOILERPLATE TEXT VIEW")
+48 SET VALMCNT=TIUFVCN1
SET VALMBG=TIUFBG1
+49 KILL ^TMP("TIUFEMBED",$JOB)
+50 IF TIUFTMPL="H"
Begin DoDot:1
+51 SET TIUREC=^TMP("TIUF1",$JOB,+TIUFINFO,0)
+52 SET TIUREC=$$PLUSUP^TIUFLLM(.TIUFINFO,TIUREC)
+53 SET ^TMP("TIUF1",$JOB,+TIUFINFO,0)=TIUREC
+54 QUIT
End DoDot:1
+55 IF "HC"[TIUFTMPL
IF EXPAND
DO EXPAND1^TIUFH1(.TIUFINFO)
SET VALMCNT=VALMCNT+$PIECE(TIUFINFO,U,3)
+56 ; Templates A,J have been updated with each change to Template D(J); just redisplay.
+57 IF TIUFTMPL="A"
Begin DoDot:1
+58 IF VALMLFT=81!(VALMLFT=113)
DO CHGCAP^VALM("NAME1","Name Type")
+59 IF VALM("FIXED")=20
DO CHGCAP^VALM("NAME1","Name Type")
End DoDot:1
+60 IF TIUFTMPL="A"!(TIUFTMPL="J")
IF TIUFREDO
DO INIT^TIUFA
+61 SET VALMBCK="R"
EDVIX IF $DATA(DTOUT)
SET VALMBCK="Q"
+1 QUIT
+2 ;
EXIT ; -- exit code for LM Template D, X
+1 KILL ^TMP("TIUF3",$JOB),^TMP("TIUFB",$JOB),^TMP("TIUF3IDX",$JOB),^TMP("TIUFBIDX",$JOB)
+2 QUIT