| 1 | TIUFA ; SLC/MAM - LM Template A (DDEFs By Attribute) INIT ;10/26/95  15:33
 | 
|---|
| 2 |  ;;1.0;TEXT INTEGRATION UTILITIES;;Jun 20, 1997
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN ; -- main entry point for Options TIUFA SORT DDEFS CLIN/MGR/NATL
 | 
|---|
| 5 |  ; Requires TIUFWHO, set in above options
 | 
|---|
| 6 |  N TIUF,TIUFTMPL,TIUFATTR,TIUFAVAL,TIUFSTRT,TIUFVCN1,TIUFXNOD
 | 
|---|
| 7 |  N TIUFREDO,X,XQORM,TIUFLFT
 | 
|---|
| 8 |  S TIUFTMPL="A",TIUFREDO=0
 | 
|---|
| 9 |  N TIUFPRIV D SETUP^TIUFL S:$D(DTOUT) VALMQUIT=1 G:$G(VALMQUIT) ENX
 | 
|---|
| 10 |  S TIUFXNOD="^^Sort^"
 | 
|---|
| 11 |  S X=^TMP("TIUF",$J,"SORT")_";ORD(101," D EN^XQOR
 | 
|---|
| 12 |  G:$D(DTOUT)!'$D(TIUFSTRT) ENX
 | 
|---|
| 13 |  I TIUFWHO="C" D EN^VALM("TIUFA SORT DDEFS CLIN")
 | 
|---|
| 14 |  I "MN"[TIUFWHO D EN^VALM("TIUFA SORT DDEFS MGR")
 | 
|---|
| 15 | ENX Q
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | HDR ; -- header code
 | 
|---|
| 18 |  ; Requires Attribute TIUFATTR as set in protocols TIUF SORT BY (ALL,
 | 
|---|
| 19 |  ;TYPE, OWNER, STATUS, WAY USED, PARENTAGE):
 | 
|---|
| 20 |  ;  TIUFATTR = A^ALL, T^TYPE, O^OWNER, S^STATUS, U^WAY USED, P^PARENTAGE;
 | 
|---|
| 21 |  ; Requires Attribute Value TIUFAVAL as set in TIUF SORT BY ALL;
 | 
|---|
| 22 |  ;TIUF TYPE /CLASS,DOCUMENT CLASS,MULTIAUTHOR DC,DOCUMENT,COMPONENT,NONE;
 | 
|---|
| 23 |  ;TIUF OWNER /CLASS,INDIVIDUAL,PERSONAL,NONE; TIUF STATUS /INACTIVE,
 | 
|---|
| 24 |  ;TEST,ACTIVE,NONE; TIUF USED BY DOCMTS/YES,NO,NA,UNKNOWN; TIUF PARENTAGE/ORPHAN,NONORPHAN.
 | 
|---|
| 25 |  ; e.g. TIUFAVAL =
 | 
|---|
| 26 |  ;      ALL^ALL if attribute is ALL;
 | 
|---|
| 27 |  ;      CL^CLASS if attribute is Type and Type is Class;
 | 
|---|
| 28 |  ;      NONE^NONE if attr is Type and attr value is NONE.
 | 
|---|
| 29 |  ;      546^PROVIDER^C if attr is Owner, Kind of Owner is Class Owner,
 | 
|---|
| 30 |  ;        and Class Owner is Provider Class (IFN 546).
 | 
|---|
| 31 |  ;      0^NONE if attr is Owner, attr value is NONE.
 | 
|---|
| 32 |  ;      13^INACTIVE if attr is Status and Status is Inactive (IFN 13).
 | 
|---|
| 33 |  ;      0^NONE if attr is Owner and Owner is NONE.
 | 
|---|
| 34 |  ;      YES if attr is Way Used and Way Used is YES:
 | 
|---|
| 35 |  ;        YES/NO/NA
 | 
|---|
| 36 |  ;      O^ORPHAN if attr is ORPHAN and attr value is Orphan.
 | 
|---|
| 37 |  ;      N^NONORPHAN if attr  is ORPHAN and attr value is Nonorphan.
 | 
|---|
| 38 |  ; Requires TIUFSTRT = e.g. " ^ZZZZZZZZ" as set in SELSTART^TIUFLA.
 | 
|---|
| 39 |  N ATTR1,HDR2,MODE,OWN,FROM,TO,HDR3,VHDR1,VHDR2
 | 
|---|
| 40 |  S ATTR1=$P(TIUFATTR,U)
 | 
|---|
| 41 |  I ATTR1="T" S HDR2=$S($P(TIUFAVAL,U)'="NONE":" of Type "_$P(TIUFAVAL,U,2),1:" with NO Type")
 | 
|---|
| 42 |  I ATTR1="O" S MODE=$P(TIUFAVAL,U,3),OWN=$P(TIUFAVAL,U,2) D
 | 
|---|
| 43 |  . S HDR2=$S(MODE="P":" Personally Owned by "_OWN,MODE="C":" Owned by Class "_OWN,MODE="I":" Owned by Individual "_OWN,1:" with No Owner")
 | 
|---|
| 44 |  I ATTR1="S" S HDR2=$S($P(TIUFAVAL,U)'="N":" of Status "_$P(TIUFAVAL,U,2),1:" with NO Status")
 | 
|---|
| 45 |  S FROM=$S($P(TIUFSTRT,U)=" ":"FIRST",1:$P(TIUFSTRT,U))
 | 
|---|
| 46 |  S TO=$S($P(TIUFSTRT,U)=" ":"LAST",$P(TIUFSTRT,U,2)="ZZZZZZZZ":"LAST",1:$P(TIUFSTRT,U,2))
 | 
|---|
| 47 |  S HDR3=$S(TIUFSTRT'=" ^ZZZZZZZZ":" from "_FROM_" to "_TO,1:"")
 | 
|---|
| 48 |  I ATTR1="U" S MODE=TIUFAVAL D
 | 
|---|
| 49 |  . S HDR2=$S(MODE="YES":" In Use",1:" NOT In Use")
 | 
|---|
| 50 |  . I HDR3'="" S HDR2=HDR2_","
 | 
|---|
| 51 |  I ATTR1="P" S HDR2=$S($P(TIUFAVAL,U)="O":" which are ORPHANS",1:" which are NOT ORPHANS")
 | 
|---|
| 52 |  I "TOSUP"[ATTR1 S VALMHDR(1)=$$CENTER^TIUFL("Entries"_HDR2_HDR3,79)
 | 
|---|
| 53 |  I ATTR1="A" S VALMHDR(1)=$$CENTER^TIUFL("ALL Entries"_$S(HDR3'="":", "_HDR3,1:""),79)
 | 
|---|
| 54 | HDRX ;
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | INIT ; -- init variables and list array. Called by Templates A and J AND by Subtemplates.
 | 
|---|
| 58 |  ; Requires TIUFATTR, TIUFAVAL, TIUFSTRT.  See HDR^TIUFA
 | 
|---|
| 59 |  K ^TMP("TIUF1",$J),^TMP("TIUF1IDX",$J),^TMP("TIUFB",$J),^TMP("TIUFBIDX",$J)
 | 
|---|
| 60 |  I '$D(TIUFSTMP) D CLEAN^VALM10 ; Clean IF called from active Template.
 | 
|---|
| 61 |  N LINENO,STRTNM,ENDNM,FILEDA,NAME,PASTEND
 | 
|---|
| 62 |  I '$D(TIUFSTMP) S VALM("TITLE")=$S(TIUFTMPL="J":"Objects",$P(TIUFATTR,U)'="A":"Sort by "_$S($P(TIUFATTR,U,2)="WAY USED":"IN USE Value",1:$P(TIUFATTR,U,2)),1:"ALL Document Definitions")
 | 
|---|
| 63 |  S (TIUFVCN1,LINENO)=0,STRTNM=$P(TIUFSTRT,U),ENDNM=$P(TIUFSTRT,U,2)
 | 
|---|
| 64 |  I $O(^TIU(8925.1,"B",STRTNM,"")) D
 | 
|---|
| 65 |  . S FILEDA=""
 | 
|---|
| 66 |  . F  S FILEDA=$O(^TIU(8925.1,"B",STRTNM,FILEDA)) Q:'FILEDA  D INIT1
 | 
|---|
| 67 |  G:$D(DTOUT) INITX
 | 
|---|
| 68 |  S NAME=STRTNM
 | 
|---|
| 69 |  F  S NAME=$O(^TIU(8925.1,"B",NAME)) Q:NAME=""  D  Q:$G(PASTEND)  G:$D(DTOUT) INITX
 | 
|---|
| 70 |  . I NAME]ENDNM S PASTEND=1 Q
 | 
|---|
| 71 |  . S FILEDA=""
 | 
|---|
| 72 |  . F  S FILEDA=$O(^TIU(8925.1,"B",NAME,FILEDA)) Q:'FILEDA  D INIT1
 | 
|---|
| 73 |  . Q
 | 
|---|
| 74 |  I LINENO D UPDATE^TIUFLLM1("A",LINENO,0) S TIUFVCN1=TIUFVCN1+LINENO
 | 
|---|
| 75 | INITX ;
 | 
|---|
| 76 |  S:$D(DTOUT) VALMQUIT=1
 | 
|---|
| 77 |  S:'$D(TIUFSTMP) VALMCNT=TIUFVCN1
 | 
|---|
| 78 |  Q
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 | INIT1 ; Puts FILEDA in Buffer array.
 | 
|---|
| 81 |  N NODE0,INFO
 | 
|---|
| 82 |  Q:'$D(^TIU(8925.1,FILEDA,0))
 | 
|---|
| 83 |  Q:'$$MATCH^TIUFLA(FILEDA)
 | 
|---|
| 84 |  S LINENO=LINENO+1 ; Needed for NINFO.
 | 
|---|
| 85 |  D NINFO^TIUFLLM(LINENO,FILEDA,.INFO),PARSE^TIUFLLM(.INFO),NODE0ARR^TIUFLF(FILEDA,.NODE0) Q:$D(DTOUT) 
 | 
|---|
| 86 |  I NODE0="" W !!," Entry "_FILEDA_" in 'B' Cross Reference does not exist in the file; See IRM",! D PAUSE^TIUFXHLX S LINENO=LINENO-1 Q
 | 
|---|
| 87 |  D BUFENTRY^TIUFLLM2(.INFO,.NODE0,TIUFTMPL) W "."
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 | EXIT ; -- exit code
 | 
|---|
| 91 |  K ^TMP("TIUF1",$J),^TMP("TIUFB",$J),^TMP("TIUF1IDX",$J),^TMP("TIUFBIDX",$J),^TMP("TIUF",$J),IOELALL
 | 
|---|
| 92 |  D CLEAN^VALM10
 | 
|---|
| 93 |  Q
 | 
|---|
| 94 |  ;
 | 
|---|