1 | TIUBR ; SLC/JER - Browse Action Subroutines ;8/16/06 09:08
|
---|
2 | ;;1.0;TEXT INTEGRATION UTILITIES;**32,87,93,58,100,162,112,173,208,211**;Jun 20, 1997;Build 26
|
---|
3 | ; Move LOADSIG, XTRASIG, LOADFOR, LOADREC to TIUBR1.
|
---|
4 | EN ; Entry code for LM templates TIU BROWSE
|
---|
5 | N TIUY
|
---|
6 | ;Kill TIUGDATA in CLEAN; don't new it here
|
---|
7 | ; -- Set TIUGDATA, which describes the note originally
|
---|
8 | ; selected to be browsed. --
|
---|
9 | ; TIUGDATA = 0 or
|
---|
10 | ; = TIUDA^HASIDKID^TIUD21^PRMSORT, where
|
---|
11 | ; PRMSORT = "TITLE" or "REFDT". See 8925.95, fld .18
|
---|
12 | S TIUGDATA=$$IDDATA^TIURECL1(TIUDA)
|
---|
13 | D BLDTMP(TIUDA)
|
---|
14 | Q
|
---|
15 | HDR ; Build Header
|
---|
16 | N TIUDTYP,DFN
|
---|
17 | I '$D(TIUPRM0)!'$D(TIUPRM1) D SETPARM^TIULE
|
---|
18 | D:$D(TIU)'>9 GETTIU^TIULD(.TIU,+TIUDA)
|
---|
19 | S VALMHDR(1)=$$CENTER^TIULS($P($G(TIU("DOCTYP")),U,2))
|
---|
20 | ; Docmt header line Patname, SSN, [Location, Visit]:
|
---|
21 | S VALMHDR(2)=$$SETREC(TIUGDATA)
|
---|
22 | Q
|
---|
23 | BLDTMP(TIUDA) ; Build ^TMP("TIUVIEW",$J,
|
---|
24 | ; Requires TIUDA = IFN of note selected to be browsed.
|
---|
25 | ; Needs TIUGDATA, set in EN
|
---|
26 | N TIUI,TIUL,TIUREC,TIUDADD,ONBROWSE S (TIUDADD,TIUI)=0
|
---|
27 | N TIUNAME K ^TMP("TIUVIEW",$J),^TMP("TIU FOCUS",$J)
|
---|
28 | I '$D(^TIU(8925,+TIUDA,0)) S VALMQUIT=1 Q
|
---|
29 | S ^TMP("TIU FOCUS",$J)=TIUDA
|
---|
30 | D INQUIRE^TIUGBR(TIUDA,.TIUREC)
|
---|
31 | I $D(TIUREC)>9 W !!,"Opening "_TIUREC(8925,+TIUDA,.01)_" record for review..."
|
---|
32 | ; --- if the document has a browse action, execute it ---
|
---|
33 | S ONBROWSE=$$ONBROWSE^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
|
---|
34 | I $L(ONBROWSE) D LOADSUPP(ONBROWSE,TIUDA,.TIUL)
|
---|
35 | ; ---- Load dictation, transcription data, etc.: ----
|
---|
36 | D LOADTOP(.TIUREC,TIUDA,.TIUL,TIUGDATA)
|
---|
37 | ; ---- Load the remainder of the record: ----
|
---|
38 | D LOADREC^TIUBR1(TIUDA,.TIUL,TIUGDATA)
|
---|
39 | K ^TMP("TIU FOCUS",$J)
|
---|
40 | S ^TMP("TIUVIEW",$J,0)=$G(^TIU(8925,+TIUDA,"TEXT",0))
|
---|
41 | S $P(^TMP("TIUVIEW",$J,0),U,3,4)=$G(TIUL)_U_$G(TIUL),VALMCNT=+$G(TIUL)
|
---|
42 | Q
|
---|
43 | LOADSUPP(METHOD,TIUDA,TIUL) ; Execute OnBrowse/Load Supplementary data
|
---|
44 | N TIUY,TIUI S TIUI=0
|
---|
45 | X METHOD I '$D(@TIUY) Q
|
---|
46 | F S TIUI=$O(@TIUY@(TIUI)) Q:+TIUI'>0 D
|
---|
47 | . S TIUL=+$G(TIUL)+1,@VALMAR@(TIUL,0)=$G(@TIUY@(TIUI))
|
---|
48 | S TIUL=+$G(TIUL)+1,@VALMAR@(TIUL,0)=" "
|
---|
49 | K @TIUY
|
---|
50 | Q
|
---|
51 | LOADTOP(TIUREC,TIUDA,TIUL,TIUGDATA) ; Load dictation, transcription data, etc.
|
---|
52 | ; Requires array TIUREC, TIUDA, array TIUL, TIUGDATA
|
---|
53 | N TIUY,SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT
|
---|
54 | ; ---- For ID note, include Title, [Location, & Visit] with each
|
---|
55 | ; entry, since they vary by entry.
|
---|
56 | ; ---- Follow with Date, Author, etc.
|
---|
57 | ; ---- For ID children in whole note display, shorten top info:
|
---|
58 | ; Instead of Title, Location, Visit, Date, Author, etc.,
|
---|
59 | ; use just Title, followed by just Date and Status:
|
---|
60 | S (SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT)=0
|
---|
61 | I $P(TIUGDATA,U,3) S SELCHLD=1 ; Selected record was IDchild
|
---|
62 | I $P(TIUGDATA,U,2) S SELPRNT=1
|
---|
63 | I SELCHLD,TIUDA'=$P(TIUGDATA,U,3) S CURCHLD=1 ; Current rec is IDchild
|
---|
64 | I SELCHLD,TIUDA=$P(TIUGDATA,U,3) S CURPRNT=1
|
---|
65 | I SELPRNT,TIUDA=+TIUGDATA S CURPRNT=1
|
---|
66 | I SELPRNT,TIUDA'=+TIUGDATA S CURCHLD=1
|
---|
67 | I SELPRNT,CURCHLD S SHORT=1 ;Child in whole note: shorten top info
|
---|
68 | I SELCHLD,CURCHLD,$G(TIUGWHOL) S SHORT=1
|
---|
69 | I SELCHLD!SELPRNT D
|
---|
70 | . D IDTOP^TIUGBR(TIUDA,.TIUL,SHORT,CURPRNT)
|
---|
71 | S TIUL=+$G(TIUL)+1,TIUY=""
|
---|
72 | I $L(TIUREC(8925,+TIUDA,89261)) D
|
---|
73 | . S TIUY=$$SETSTR^VALM1("STANDARD TITLE: "_TIUREC(8925,+TIUDA,89261),TIUY,1,64)
|
---|
74 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
75 | . S TIUL=TIUL+1,TIUY=""
|
---|
76 | I SHORT D
|
---|
77 | . S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),$G(TIUY),1,39)
|
---|
78 | . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),$G(TIUY),42,38)
|
---|
79 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
80 | I 'SHORT D
|
---|
81 | . I $L(TIUREC(8925,+TIUDA,1307)) D I 1
|
---|
82 | . . S TIUY=$$SETSTR^VALM1("DICT DATE: "_TIUREC(8925,+TIUDA,1307),$G(TIUY),4,39)
|
---|
83 | . E S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),$G(TIUY),1,39)
|
---|
84 | . S TIUY=$$SETSTR^VALM1("ENTRY DATE: "_TIUREC(8925,+TIUDA,1201),$G(TIUY),38,39)
|
---|
85 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
86 | . S TIUL=TIUL+1,TIUY=""
|
---|
87 | . I $L(TIUREC(8925,+TIUDA,1307)) D I 1
|
---|
88 | . . I +$G(^TIU(8925,+TIUDA,0))=$$CHKFILE^TIUADCL(8925.1,"OPERATION REPORT","I $P(^(0),U,4)=""DOC""") S TIUY=$$SETSTR^VALM1("SURGEON: "_TIUREC(8925,+TIUDA,1202),$G(TIUY),6,32) Q
|
---|
89 | . . S TIUY=$$SETSTR^VALM1("DICTATED BY: "_TIUREC(8925,+TIUDA,1202),$G(TIUY),2,32)
|
---|
90 | . E D
|
---|
91 | . . S TIUY=$$SETSTR^VALM1("AUTHOR: "_TIUREC(8925,+TIUDA,1202),$G(TIUY),7,27)
|
---|
92 | . . I +$G(^TIU(8925,+TIUDA,0))=$$CHKFILE^TIUADCL(8925.1,"OPERATION REPORT","I $P(^(0),U,4)=""DOC""") S TIUY=$$SETSTR^VALM1("SURGEON: "_TIUREC(8925,+TIUDA,1202),$G(TIUY),6,32)
|
---|
93 | . I $L(TIUREC(8925,+TIUDA,1209)) D I 1
|
---|
94 | . . S TIUY=$$SETSTR^VALM1("ATTENDING: "_TIUREC(8925,+TIUDA,1209),$G(TIUY),39,40)
|
---|
95 | . E S TIUY=$$SETSTR^VALM1("EXP COSIGNER: "_TIUREC(8925,+TIUDA,1208),$G(TIUY),36,40)
|
---|
96 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
97 | . S TIUL=TIUL+1,TIUY=""
|
---|
98 | . S TIUY=$$SETSTR^VALM1("URGENCY: "_TIUREC(8925,+TIUDA,.09),$G(TIUY),6,36)
|
---|
99 | . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),$G(TIUY),42,38)
|
---|
100 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
101 | S TIUL=TIUL+1,TIUY=""
|
---|
102 | I '$L($G(^TIU(8925,+TIUDA,17))) S @VALMAR@(TIUL,0)=TIUY
|
---|
103 | E D
|
---|
104 | . S TIUY=$$SETSTR^VALM1("SUBJECT: "_$G(^TIU(8925,+TIUDA,17)),$G(TIUY),6,74)
|
---|
105 | . S @VALMAR@(TIUL,0)=TIUY
|
---|
106 | . S TIUL=TIUL+1,TIUY="",@VALMAR@(TIUL,0)=TIUY
|
---|
107 | I +$$HASADDEN^TIULC1(TIUDA) D
|
---|
108 | . S TIUY=" *** "_$$PNAME^TIULC1(+$G(^TIU(8925,TIUDA,0)))_" Has ADDENDA ***"
|
---|
109 | . S TIUL=+$G(TIUL)+1,@VALMAR@(TIUL,0)=TIUY
|
---|
110 | . S TIUL=+$G(TIUL)+1,@VALMAR@(TIUL,0)=""
|
---|
111 | Q
|
---|
112 | ;
|
---|
113 | LOADKIDS(TIUDA,TIUL,TIUGDATA,TIUGWHOL) ; Load ID kids of TIUDA
|
---|
114 | ; Requires TIUDA, array TIUL, TIUGDATA
|
---|
115 | N TIUK,PRMSORT,KIDDA,TIUD0,TIUD21
|
---|
116 | I $G(^TMP("TIUR",$J,"IDDATA",TIUDA)) S PRMSORT=$P(^TMP("TIUR",$J,"IDDATA",TIUDA),U,4)
|
---|
117 | E S TIUD0=$G(^TIU(8925,TIUDA,0)),TIUD21=$G(^TIU(8925,TIUDA,21)),PRMSORT=$P($$IDDATA^TIURECL1(TIUDA,TIUD0,TIUD21),U,4)
|
---|
118 | D GETIDKID^TIURECL2(TIUDA,PRMSORT) ; sets array ^TMP("TIUIDKID",$J,
|
---|
119 | S TIUK=0
|
---|
120 | F S TIUK=$O(^TMP("TIUIDKID",$J,TIUDA,TIUK)) Q:+TIUK'>0 D
|
---|
121 | . S KIDDA=^TMP("TIUIDKID",$J,TIUDA,TIUK)
|
---|
122 | . D LOADID^TIUGBR(KIDDA,.TIUL,TIUGDATA,$G(TIUGWHOL))
|
---|
123 | K ^TMP("TIUIDKID",$J)
|
---|
124 | Q
|
---|
125 | ;
|
---|
126 | ISCOMP(DA) ; Evaluate whether a given record is a component
|
---|
127 | N TIUY,TIUTYP
|
---|
128 | S TIUTYP=+$G(^TIU(8925,DA,0))
|
---|
129 | S TIUY=$S($P($G(^TIU(8925.1,+TIUTYP,0)),U,4)="CO":1,1:0)
|
---|
130 | Q TIUY
|
---|
131 | LOADADD(TIUDADD,TIUL) ; Load addenda
|
---|
132 | N TIUDADT,TIUJ,CANSEE
|
---|
133 | S CANSEE=$$CANDO^TIULP(+TIUDADD,"VIEW")
|
---|
134 | S TIUJ=0,TIUL=+$G(TIUL)+1,@VALMAR@(TIUL,0)=" "
|
---|
135 | S TIUDADT=$$DATE^TIULS($P($G(^TIU(8925,+TIUDADD,13)),U),"MM/DD/CCYY")
|
---|
136 | S TIUL=TIUL+1,@VALMAR@(TIUL,0)=TIUDADT_" ADDENDUM"_" STATUS: "_$$STATUS^TIULF(TIUDADD) ;P162
|
---|
137 | I +CANSEE'>0 D Q
|
---|
138 | . S TIUL=+$G(TIUL)+1
|
---|
139 | . S @VALMAR@(TIUL,0)=$P(CANSEE,U,2)
|
---|
140 | F S TIUJ=$O(^TIU(8925,+TIUDADD,"TEXT",TIUJ)) Q:+TIUJ'>0 D
|
---|
141 | . S TIUL=+$G(TIUL)+1
|
---|
142 | . S @VALMAR@(TIUL,0)=$G(^TIU(8925,+TIUDADD,"TEXT",TIUJ,0))
|
---|
143 | D LOADSIG^TIUBR1(TIUDADD,.TIUL)
|
---|
144 | Q
|
---|
145 | ;
|
---|
146 | SETREC(TIUGDATA) ; Sets docmt header line Patname, SSN, [Location, Visit]
|
---|
147 | ; Requires TIUGDATA
|
---|
148 | N Y
|
---|
149 | S Y=$$SETSTR^VALM1($$NAME^TIULS($G(TIU("PNM")),"LAST,FI MI"),$G(Y),1,15)
|
---|
150 | S Y=$$SETSTR^VALM1($G(TIU("SSN")),$G(Y),16,12)
|
---|
151 | ; ---- If TIUDA is an ID entry, write ID, ADDENDED? in header
|
---|
152 | ; and leave out entry-specific info (Location, Visit)
|
---|
153 | ; since that goes with each individual entry: ----
|
---|
154 | I $P(TIUGDATA,U,2)!$P(TIUGDATA,U,3) D G SETRX
|
---|
155 | . S Y=$$SETSTR^VALM1("Interdisciplinary "_$S($P(TIUGDATA,U,2):"Note",1:"Entry"),$G(Y),29,23)
|
---|
156 | . I $P(TIUGDATA,U,2) S Y=$$SETSTR^VALM1("ADDENDED?"_$S($$HASADDEN^TIULC1(+TIUDA,1):" Yes",1:" No"),$G(Y),66,13)
|
---|
157 | S Y=$$SETSTR^VALM1($P($G(TIU("LOC")),U,2),$G(Y),30,17)
|
---|
158 | I $L($G(TIU("WARD"))) D
|
---|
159 | . S Y=$$SETSTR^VALM1("Adm: "_$$DATE^TIULS(+TIU("EDT"),"MM/DD/CCYY"),$G(Y),48,15)
|
---|
160 | . S Y=$$SETSTR^VALM1("Dis: "_$$DATE^TIULS(+TIU("LDT"),"MM/DD/CCYY"),$G(Y),65,15)
|
---|
161 | I '$L($G(TIU("WARD"))) D
|
---|
162 | . S Y=$$SETSTR^VALM1("Visit Date: "_$$DATE^TIULS(+$G(TIU("EDT")),"MM/DD/CCYY HR:MIN"),$G(Y),51,28)
|
---|
163 | SETRX Q Y
|
---|
164 | ;
|
---|
165 | CLEAN ; Die, filthy spawn!!!
|
---|
166 | D CLEAN^VALM10 K VALMHDR,TIU,TIUPRM0,TIUPRM1,TIUGDATA
|
---|
167 | Q
|
---|