| 1 | TIUFLLM ; SLC/MAM - Library; List Manager Related: RTSCROLL(TIUREC,TYPE), PARSE(INFO), NINFO(LINENO,FILEDA,INFO,PINFO,TENDA), PLUSUP(INFO,TIUREC) ;4/6/95  10:48
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;;Jun 20, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | RTSCROLL(TIUREC,TYPE) ; Called by BUFENTRY^TIUFLLM2. For lines being set for
 | 
|---|
| 5 |  ;Templates HACJ only. Copy chars 15-20, 44-49 of entry into chars
 | 
|---|
| 6 |  ;215-220, 244-249. Depending on rt/left scroll position, replace those
 | 
|---|
| 7 |  ;chars w Type.
 | 
|---|
| 8 |  ; Requires TIUREC, TYPE from BUFENTRY.
 | 
|---|
| 9 |  ; TIUFLFT, TIUFIXED are for updating lines in H/A/C/J from Template D or T.
 | 
|---|
| 10 |  S TIUREC=$$SETSTR^VALM1($E(TIUREC,15,20),TIUREC,215,6)
 | 
|---|
| 11 |  S TIUREC=$$SETSTR^VALM1($E(TIUREC,43,48),TIUREC,243,6)
 | 
|---|
| 12 |  I $G(TIUFLFT)>49 D
 | 
|---|
| 13 |  . I TIUFTMPL="J" D  Q
 | 
|---|
| 14 |  . . I $G(VALM("FIXED"))=20!($G(TIUFIXED)=20) S TIUREC=$$SETSTR^VALM1(" ",TIUREC,20,1) Q
 | 
|---|
| 15 |  . D
 | 
|---|
| 16 |  . . S TYPE=" "_TYPE_" "
 | 
|---|
| 17 |  . . I $G(VALM("FIXED"))=20!($G(TIUFIXED)=20) S TIUREC=$$SETSTR^VALM1(TYPE,TIUREC,15,6) Q
 | 
|---|
| 18 |  . . S TIUREC=$$SETSTR^VALM1(TYPE,TIUREC,43,6)
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | PARSE(INFO) ; Splits INFO into pieces such as LINENO, XPDLCNT, etc.
 | 
|---|
| 22 |  ;Sets INFO pieces into subscripts.
 | 
|---|
| 23 |  ;Requires INFO, where INFO is either as set in NINFO^TIUFLLM or
 | 
|---|
| 24 |  ;in UPDATE^TIUFLLM1 or = ^TMP("TIUFIDX,$J,LINENO).
 | 
|---|
| 25 |  ; WARNING: +INFO may be set by NINFO or UPDATE to 0!
 | 
|---|
| 26 |  ;          Other pieces of INFO may be 0 or ""!
 | 
|---|
| 27 |  N LINENO,FILEDA,XPDLCNT,LEVEL,PLINENO,TENDA,PLINENO
 | 
|---|
| 28 |  S LINENO=+INFO,FILEDA=$P(INFO,U,2),XPDLCNT=$P(INFO,U,3),LEVEL=$P(INFO,U,4),PLINENO=$P(INFO,U,5),TENDA=$P(INFO,U,6)
 | 
|---|
| 29 |  S INFO("LINENO")=LINENO,INFO("FILEDA")=FILEDA
 | 
|---|
| 30 |  S INFO("XPDLCNT")=XPDLCNT,INFO("LEVEL")=LEVEL,INFO("PLINENO")=PLINENO,INFO("TENDA")=TENDA
 | 
|---|
| 31 | PARSX Q
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 | NINFO(LINENO,FILEDA,INFO,PINFO,TENDA) ; Returns INFO for New (anticipated)
 | 
|---|
| 34 |  ;LM Entry, where INFO = LINENO^FILEDA^XPDLCNT^LEVEL^PLINENO^TENDA or
 | 
|---|
| 35 |  ;INFO = Error msg
 | 
|---|
| 36 |  ; Requires LINENO = anticipated List Manager Entry #
 | 
|---|
| 37 |  ; Requires FILEDA = 8925.1 IFN of new entry
 | 
|---|
| 38 |  ; PINFO, TENDA are required IF new Entry has existing parent LM Entry
 | 
|---|
| 39 |  ;on current or parent LM Template H.
 | 
|---|
| 40 |  ; PINFO has form of INFO, above, but for LM parent of new entry.
 | 
|---|
| 41 |  ; TENDA = LINENO's DA in parent item multiple (10 Node).
 | 
|---|
| 42 |  ; XPDLCNT = # of lines entry has been expanded, = 0 for new entry.
 | 
|---|
| 43 |  ; LEVEL = LINENO hierarchy level.  Clinical Documents has LEVEL 0.  Used
 | 
|---|
| 44 |  ;for right shift for Template H.
 | 
|---|
| 45 |  ; Module sets LEVEL,PLINENO,TENDA = 0 IF new entry has no existing parent.
 | 
|---|
| 46 |  N XPDLCNT,LEVEL,PLINENO
 | 
|---|
| 47 |  S XPDLCNT=0
 | 
|---|
| 48 |  S LEVEL=$S($G(PINFO):$P(PINFO,U,4)+1,1:0),PLINENO=+$G(PINFO),TENDA=+$G(TENDA)
 | 
|---|
| 49 |  S INFO=LINENO_U_FILEDA_U_XPDLCNT_U_LEVEL_U_PLINENO_U_TENDA
 | 
|---|
| 50 | NINFX Q
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 | PLUSUP(INFO,TIUREC) ; Update the plus item indicator in front of LM Entry Name for Template H.
 | 
|---|
| 53 |  ; Assumes Name proper starts at col 8, for level 0. + goes in front of Name.
 | 
|---|
| 54 |  ; Returns TIUREC with + added or deleted.
 | 
|---|
| 55 |  ; Requires INFO array, where INFO is either as set in NINFO^TIUFLLM or
 | 
|---|
| 56 |  ;is = ^TMP("TIUFIDX,$J,LINENO), and where INFO array is as set in
 | 
|---|
| 57 |  ;PARSE^TIUFLLM(INFO).
 | 
|---|
| 58 |  ; Requires TIUREC = LM Entry as in TIUF1 array.
 | 
|---|
| 59 |  ; INFO("XPDLCNT") must anticipate next redisplay of screen - whether
 | 
|---|
| 60 |  ;Entry will/not be expanded.
 | 
|---|
| 61 |  N HASITEMS,LEVEL,NMCOLUMN,COLUMN,PLUS
 | 
|---|
| 62 |  S LEVEL=INFO("LEVEL"),HASITEMS=$$HASITEMS^TIUFLF1(INFO("FILEDA"))
 | 
|---|
| 63 |  S PLUS=" "
 | 
|---|
| 64 |  I HASITEMS,'INFO("XPDLCNT") S PLUS="+"
 | 
|---|
| 65 |  S NMCOLUMN=8,COLUMN=NMCOLUMN+(2*LEVEL)-1
 | 
|---|
| 66 |  S TIUREC=$$SETSTR^VALM1(PLUS,TIUREC,COLUMN,1)
 | 
|---|
| 67 |  Q TIUREC
 | 
|---|
| 68 |  ;
 | 
|---|