source: WorldVistAEHR/trunk/r/TEXT_INTEGRATION_UTILITIES-GMRP-TIU/TIUBR.m@ 1482

Last change on this file since 1482 was 613, checked in by George Lilly, 15 years ago

initial load of WorldVistAEHR

File size: 7.6 KB
RevLine 
[613]1TIUBR ; 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.
4EN ; 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
15HDR ; 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
23BLDTMP(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
43LOADSUPP(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
51LOADTOP(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 ;
113LOADKIDS(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 ;
126ISCOMP(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
131LOADADD(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 ;
146SETREC(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)
163SETRX Q Y
164 ;
165CLEAN ; Die, filthy spawn!!!
166 D CLEAN^VALM10 K VALMHDR,TIU,TIUPRM0,TIUPRM1,TIUGDATA
167 Q
Note: See TracBrowser for help on using the repository browser.