1 | TIUR2 ; SLC/JER - Integrated Document Review ;1/29/04
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**100,113,208**;Jun 20, 1997
|
---|
3 | ; 12/12/00 new rtn, from splitting TIUR1
|
---|
4 | REPLACE(TIUDA,SORTVAL,SORTFLD,DATTIM,EXPAND,FORGETAD) ; Fix ^TMP("TIUI",$J).
|
---|
5 | ;Remove ID kid or addm records from ^TMP("TIUI",$J), and replace
|
---|
6 | ;with parent record instead.
|
---|
7 | ; Requires TIUDA, SORTVAL, SORTFLD, DATTIM.
|
---|
8 | ; Passes back opt array EXPAND, where EXPAND(IFN)=""
|
---|
9 | ; opt flag FORGETAD: don't expand parent for sake of addm
|
---|
10 | N IDPRNT,ADDMPRNT,ADDMGPNT,PVAL,GPVAL,PDATTIM,GPDATTIM,NODE
|
---|
11 | S IDPRNT=+$G(^TIU(8925,TIUDA,21)) ; ID parent
|
---|
12 | I '$D(^TIU(8925,IDPRNT,0)) S IDPRNT=0
|
---|
13 | I IDPRNT D
|
---|
14 | . S PVAL=$$RESOLVE^TIUR1(IDPRNT,SORTFLD)
|
---|
15 | . S PDATTIM=$S(^TMP("TIUR",$J,"RTN")="TIURM":+$G(^TIU(8925,IDPRNT,12)),1:+$G(^TIU(8925,IDPRNT,13))) ; rtn TIURM uses "F" XREF, whose date is ENTRY DT.
|
---|
16 | . S PDATTIM=9999999-PDATTIM
|
---|
17 | S ADDMPRNT=+$P($G(^TIU(8925,TIUDA,0)),U,6) ; assume TIUDA is not component
|
---|
18 | I '$D(^TIU(8925,ADDMPRNT,0)) S ADDMPRNT=0
|
---|
19 | I ADDMPRNT D
|
---|
20 | . S PVAL=$$RESOLVE^TIUR1(ADDMPRNT,SORTFLD)
|
---|
21 | . S PDATTIM=$S(^TMP("TIUR",$J,"RTN")="TIUR":+$G(^TIU(8925,ADDMPRNT,13)),1:+$G(^TIU(8925,ADDMPRNT,12)))
|
---|
22 | . S PDATTIM=9999999-PDATTIM
|
---|
23 | S EXPAND=+$G(EXPAND)
|
---|
24 | ; -- If TIUDA is not an ID kid, not addm, just quit: --
|
---|
25 | I 'IDPRNT,'ADDMPRNT Q
|
---|
26 | ; -- Take kid or addm out of array:
|
---|
27 | S NODE=^TMP("TIUI",$J,SORTVAL,DATTIM,TIUDA)
|
---|
28 | K ^TMP("TIUI",$J,SORTVAL,DATTIM,TIUDA)
|
---|
29 | ; -- If TIUDA is an ID kid, put its parent in array:
|
---|
30 | I IDPRNT D Q
|
---|
31 | . I '$D(EXPAND(IDPRNT)) S EXPAND(IDPRNT)="",EXPAND=EXPAND+1
|
---|
32 | . Q:$$CHKPAR(IDPRNT)
|
---|
33 | . S ^TMP("TIUI",$J,PVAL,PDATTIM,IDPRNT)=NODE
|
---|
34 | ; -- If TIUDA is an addendum, put its (g)parent in array:
|
---|
35 | I ADDMPRNT D Q
|
---|
36 | . I '$G(FORGETAD),'$D(EXPAND(ADDMPRNT)) S EXPAND(ADDMPRNT)="",EXPAND=EXPAND+1
|
---|
37 | . S ADDMGPNT=+$G(^TIU(8925,ADDMPRNT,21))
|
---|
38 | . I '$D(^TIU(8925,ADDMGPNT,0)) S ADDMGPNT=0
|
---|
39 | . I ADDMGPNT D I 1
|
---|
40 | . . S GPVAL=$$RESOLVE^TIUR1(ADDMGPNT,SORTFLD)
|
---|
41 | . . S GPDATTIM=$S(^TMP("TIUR",$J,"RTN")="TIUR":+$G(^TIU(8925,ADDMGPNT,13)),1:+$G(^TIU(8925,ADDMGPNT,12)))
|
---|
42 | . . S GPDATTIM=9999999-GPDATTIM
|
---|
43 | . . I '$D(EXPAND(ADDMGPNT)) S EXPAND(ADDMGPNT)="",EXPAND=EXPAND+1
|
---|
44 | . . Q:$$CHKPAR(ADDMGPNT)
|
---|
45 | . . S ^TMP("TIUI",$J,GPVAL,GPDATTIM,ADDMGPNT)=NODE
|
---|
46 | . E D
|
---|
47 | . . Q:$$CHKPAR(ADDMPRNT)
|
---|
48 | . . S ^TMP("TIUI",$J,PVAL,PDATTIM,ADDMPRNT)=NODE
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | CHKPAR(CHKDA) ;
|
---|
52 | N TIU1,TIU2,TIU3,TIURES
|
---|
53 | S TIU1="",TIURES=0
|
---|
54 | F S TIU1=$O(^TMP("TIUI",$J,TIU1)) Q:TIU1=""!(TIURES) D
|
---|
55 | . S TIU2=""
|
---|
56 | . F S TIU2=$O(^TMP("TIUI",$J,TIU1,TIU2)) Q:TIU2=""!(TIURES) D
|
---|
57 | . . S TIU3=""
|
---|
58 | . . F S TIU3=$O(^TMP("TIUI",$J,TIU1,TIU2,TIU3)) Q:TIU3=""!(TIURES) D
|
---|
59 | . . . I TIU3=ADDMPRNT S TIURES=1
|
---|
60 | Q TIURES
|
---|
61 | ;
|
---|
62 | SETLIST(TIUORDER,VALMCNT,SCREEN) ; Set items from ^TMP("TIUI",$J) into
|
---|
63 | ;List Template list
|
---|
64 | N SORTVAL,TIUDTM,TIUDA
|
---|
65 | S SORTVAL=""
|
---|
66 | F S SORTVAL=$O(^TMP("TIUI",$J,SORTVAL),TIUORDER) Q:SORTVAL="" D
|
---|
67 | . S TIUDTM=0
|
---|
68 | . F S TIUDTM=$O(^TMP("TIUI",$J,SORTVAL,TIUDTM)) Q:'TIUDTM D
|
---|
69 | . . S TIUDA=0
|
---|
70 | . . F S TIUDA=$O(^TMP("TIUI",$J,SORTVAL,TIUDTM,TIUDA)) Q:'TIUDA D
|
---|
71 | . . . ; D ADDELMNT(TIUDA,.VALMCNT) ; P113
|
---|
72 | . . . I SCREEN=1!(SCREEN="ALL") D ADDELMNT(TIUDA,.VALMCNT)
|
---|
73 | . . . I SCREEN>1,$G(^TMP("TIUI",$J,SORTVAL,TIUDTM,TIUDA))=SCREEN D ADDELMNT(TIUDA,.VALMCNT)
|
---|
74 | Q
|
---|
75 | ;
|
---|
76 | PUTLIST(TIUPREF,TIUCLASS,STATUS,SCREEN) ; Puts elements in List Template list
|
---|
77 | N TIUJ,TIUQ,TIUDA,TIUPICK,TIUORDER,TIUEXPKD,TIUSFLD
|
---|
78 | S VALMCNT=0
|
---|
79 | S TIUSFLD=$P(TIUPREF,U,3)
|
---|
80 | S TIUSFLD=$S(TIUSFLD="P":".02",TIUSFLD="D":".01",TIUSFLD="S":".05",TIUSFLD="C":"1507",TIUSFLD="A":"1202",TIUSFLD="E":"1208",1:"1301")
|
---|
81 | S TIUORDER=$S($P(TIUPREF,U,4)="A":1,1:-1) ;A for ascending
|
---|
82 | S TIUPICK=+$O(^ORD(101,"B","TIU ACTION SELECT LIST ELEMENT",0))
|
---|
83 | S TIUQ="" F S TIUQ=$O(^TMP("TIUI",$J,TIUQ)) Q:TIUQ']"" D
|
---|
84 | . S TIUJ=0 F S TIUJ=$O(^TMP("TIUI",$J,TIUQ,TIUJ)) Q:+TIUJ'>0 D
|
---|
85 | . . S TIUDA=0
|
---|
86 | . . F S TIUDA=$O(^TMP("TIUI",$J,TIUQ,TIUJ,TIUDA)) Q:+TIUDA'>0 D
|
---|
87 | . . . D REPLACE(TIUDA,TIUQ,TIUSFLD,TIUJ,.TIUEXPKD)
|
---|
88 | D SETLIST(TIUORDER,.VALMCNT,SCREEN)
|
---|
89 | S ^TMP("TIUR",$J,0)=+$G(VALMCNT)_U_STATUS("WORDS")
|
---|
90 | S TIUJ=0,SCREEN="" F S TIUJ=$O(SCREEN(TIUJ)) Q:+TIUJ'>0 D
|
---|
91 | . S SCREEN=$G(SCREEN)_$S(TIUJ>1:";",1:U)_SCREEN(TIUJ)
|
---|
92 | S ^TMP("TIUR",$J,0)=^TMP("TIUR",$J,0)_$G(SCREEN)
|
---|
93 | S ^TMP("TIUR",$J,"CLASS")=TIUCLASS
|
---|
94 | S ^TMP("TIUR",$J,"#")=TIUPICK_"^1:"_+$G(VALMCNT)
|
---|
95 | I $D(VALMHDR)>9 D HDR^TIURH
|
---|
96 | I +$G(VALMCNT)'>0 D
|
---|
97 | . S ^TMP("TIUR",$J,1,0)="",VALMCNT=2
|
---|
98 | . S ^TMP("TIUR",$J,2,0)=" No records found to satisfy search criteria."
|
---|
99 | . S ^TMP("TIUR",$J,"IDX",1,0)="" ; User can't select lines 1 or 2
|
---|
100 | . S ^TMP("TIUR",$J,"IDX",2,0)=""
|
---|
101 | I '$G(TIURBLD),$D(TIUEXPKD) D EXPANDKD(.TIUEXPKD,STATUS("WORDS"))
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | EXPANDKD(TIUEXPKD,STATWORD,CONTEXT) ; Expand items to show kids that meet
|
---|
105 | ;search criteria.
|
---|
106 | ; Requires array TIUEXPKD, requires VALMCNT
|
---|
107 | ; Requires nonnull: STATWORD (from TIUR1) or CONTEXT (from TIUROR).
|
---|
108 | N TIUEXP2,YESEXPD,LINENO,HELP,TIUTWO
|
---|
109 | ; -- Expand only for status unsigned or uncosigned, & not for "ALL":
|
---|
110 | I STATWORD]"" Q:((STATWORD["ALL")!((STATWORD'["UNSIGNED")&(STATWORD'["UNCOSIGNED")))
|
---|
111 | I $G(CONTEXT) Q:((CONTEXT'=2)&(CONTEXT'=3)) ;unsigned, uncosigned
|
---|
112 | I (5*TIUEXPKD+$G(VALMCNT))>50 D Q:'YESEXPD
|
---|
113 | . W !!," There are ",TIUEXPKD," items (Interdisciplinary Notes, Addenda) to expand",!," in a list of ",VALMCNT," items."
|
---|
114 | . S HELP="NO saves time building the list, but 'hides' relevant items under their parent until you expand the parent yourself."
|
---|
115 | . S YESEXPD=$$READ^TIUU("Y"," Shall I take the extra time to expand them before I list them","NO",HELP)
|
---|
116 | D LOAD^TIUROR1(.TIUEXPKD,.TIUEXP2)
|
---|
117 | D BREATHE^TIUROR1(1)
|
---|
118 | ; Try again if not in list til expanded once:
|
---|
119 | ; (Can't use BREATHE^TIUROR1 again since it COLLAPSES now.)
|
---|
120 | Q:'$D(TIUEXP2)
|
---|
121 | S TIUDA=0
|
---|
122 | F S TIUDA=$O(TIUEXP2(TIUDA)) Q:'TIUDA D
|
---|
123 | . S LINENO=$O(^TMP("TIUR",$J,"IEN",TIUDA,0))
|
---|
124 | . Q:'LINENO
|
---|
125 | . S TIUTWO(LINENO)=""
|
---|
126 | S LINENO=VALMCNT+1
|
---|
127 | F S LINENO=$O(TIUTWO(LINENO),-1) Q:'LINENO D
|
---|
128 | . D BREATHE^TIURL1(LINENO,1)
|
---|
129 | Q
|
---|
130 | ;
|
---|
131 | ADDELMNT(TIUDA,TIUCNT,APPEND) ; Add each element to the list
|
---|
132 | N PT,ADT,DDT,AUT,AMD,EDT,SDT,XDT,TIULST4,INSTA,TIUSTN
|
---|
133 | N TIUREC,TIUD0,TIUD12,TIUD13,TIUD15,TIULI,STATX,DOC
|
---|
134 | N PREFIX,TIUGDATA
|
---|
135 | I '$D(^TIU(8925,TIUDA,0)) Q
|
---|
136 | I $G(^TMP("TIUR",$J,2,0))=" No records found to satisfy search criteria." D
|
---|
137 | . K ^TMP("TIUR",$J,2),^TMP("TIUR",$J,"IDX",2),^TMP("TIUR",$J,"IDX",1)
|
---|
138 | . S TIUCNT=0
|
---|
139 | S TIUD0=$G(^TIU(8925,TIUDA,0)),TIUD12=$G(^TIU(8925,TIUDA,12))
|
---|
140 | S TIUD13=$G(^TIU(8925,TIUDA,13)),TIUD15=$G(^TIU(8925,TIUDA,15))
|
---|
141 | S DOC=$$PNAME^TIULC1(+TIUD0)
|
---|
142 | I DOC="Addendum" S DOC=DOC_" to "_$$PNAME^TIULC1(+$G(^TIU(8925,+$P(TIUD0,U,6),0)))
|
---|
143 | S PREFIX=$$PREFIX^TIULA2(TIUDA,0)
|
---|
144 | S PT=$$NAME^TIULS($$PTNAME^TIULC1($P(TIUD0,U,2)),"LAST,FI MI")
|
---|
145 | S TIULI=$E(PT)
|
---|
146 | S PT=PREFIX_PT
|
---|
147 | S TIULST4=$E($P($G(^DPT(+$P(TIUD0,U,2),0)),U,9),6,9)
|
---|
148 | S TIULST4="("_TIULI_TIULST4_")"
|
---|
149 | S ADT=$$DATE^TIULS($P(TIUD0,U,7),"MM/DD/YY")
|
---|
150 | S DDT=$$DATE^TIULS($P(TIUD0,U,8),"MM/DD/YY")
|
---|
151 | S AMD=$$PERSNAME^TIULC1($P(TIUD12,U,8)) S:AMD="UNKNOWN" AMD=""
|
---|
152 | S AUT=$$PERSNAME^TIULC1($P(TIUD12,U,2)) S:AUT="UNKNOWN" AUT=""
|
---|
153 | S AMD=$$NAME^TIULS(AMD,"LAST, FI MI")
|
---|
154 | S AUT=$$NAME^TIULS(AUT,"LAST, FI MI")
|
---|
155 | S EDT=$$DATE^TIULS($P(TIUD13,U),"MM/DD/YY")
|
---|
156 | S SDT=$S(+$P(TIUD15,U,7):+$P(TIUD15,U,7),+$P(TIUD0,U,5)'<7:+$P(TIUD15,U),1:"")
|
---|
157 | S SDT=$$DATE^TIULS(SDT,"MM/DD/YY")
|
---|
158 | S STATX=$P($G(^TIU(8925.6,+$P(TIUD0,U,5),0)),U)
|
---|
159 | S INSTA=""
|
---|
160 | I +$P(TIUD12,U,12)>0 D
|
---|
161 | . S TIUSTN=$$NS^XUAF4($P(TIUD12,U,12))
|
---|
162 | . I $P(TIUSTN,U,2)]"" S INSTA=$P(TIUSTN,U,2)
|
---|
163 | S INSTA=$E(INSTA,1,8)
|
---|
164 | S TIUCNT=+$G(TIUCNT)+1
|
---|
165 | S TIUREC=$$SETFLD^VALM1(TIUCNT,"","NUMBER")
|
---|
166 | S TIUREC=$$SETFLD^VALM1(PT,TIUREC,"PATIENT NAME")
|
---|
167 | S TIUREC=$$SETFLD^VALM1(TIULST4,TIUREC,"LAST I/LAST 4")
|
---|
168 | S TIUREC=$$SETFLD^VALM1(DOC,TIUREC,"DOCUMENT TYPE")
|
---|
169 | S TIUREC=$$SETFLD^VALM1(EDT,TIUREC,"REF DATE")
|
---|
170 | S TIUREC=$$SETFLD^VALM1($$LOWER^TIULS(STATX),TIUREC,"STATUS")
|
---|
171 | S TIUREC=$$SETFLD^VALM1(SDT,TIUREC,"SIG DATE")
|
---|
172 | S TIUREC=$$SETFLD^VALM1(AUT,TIUREC,"AUTHOR")
|
---|
173 | S TIUREC=$$SETFLD^VALM1(AMD,TIUREC,"EXPECTED COSIGNER")
|
---|
174 | S TIUREC=$$SETFLD^VALM1(INSTA,TIUREC,"DIVISION")
|
---|
175 | S ^TMP("TIUR",$J,TIUCNT,0)=TIUREC
|
---|
176 | S ^TMP("TIUR",$J,"IDX",TIUCNT,TIUCNT)="" W:TIUCNT#10'>0 "."
|
---|
177 | S ^TMP("TIURIDX",$J,TIUCNT)=TIUCNT_U_TIUDA_U_PREFIX
|
---|
178 | S ^TMP("TIUR",$J,"IEN",TIUDA,TIUCNT)="" ;MARGY 11/11/00
|
---|
179 | S TIUGDATA=$$IDDATA^TIURECL1(TIUDA,TIUD0)
|
---|
180 | I TIUGDATA S ^TMP("TIUR",$J,"IDDATA",TIUDA)=TIUGDATA
|
---|
181 | I +$G(APPEND) D
|
---|
182 | . D RESTORE^VALM10(TIUCNT)
|
---|
183 | . D CNTRL^VALM10(TIUCNT,1,$G(VALM("RM")),IOINHI,IOINORM),HDR^TIURH
|
---|
184 | . S VALMSG="** Item(s) #"_$$ITMLIST(TIUCNT,$G(VALMSG))_" Added **"
|
---|
185 | . S $P(^TMP("TIUR",$J,0),U)=TIUCNT
|
---|
186 | . S $P(^TMP("TIUR",$J,"#"),":",2)=TIUCNT
|
---|
187 | . S VALMCNT=TIUCNT
|
---|
188 | . I $D(VALMHDR)>9 D HDR^TIURH
|
---|
189 | Q
|
---|
190 | ITMLIST(TIUITM,TIUMSG) ; Add Message
|
---|
191 | N TIULIST
|
---|
192 | I $E($G(TIUMSG),1,7)'="** Item" S TIULIST=TIUITM G ITMLISTX
|
---|
193 | S TIULIST=$P($P($G(TIUMSG)," Added **"),"#",2)_" & "_TIUITM
|
---|
194 | ITMLISTX Q $G(TIULIST)
|
---|
195 | Q
|
---|