source: FOIAVistA/trunk/r/TEXT_INTEGRATION_UTILITIES-GMRP-TIU/TIUSRVR1.m@ 1397

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

initial load of FOIAVistA 6/30/08 version

File size: 7.0 KB
Line 
1TIUSRVR1 ; SLC/JER - RPC for record-wise GET ;8/16/06 11:48
2 ;;1.0;TEXT INTEGRATION UTILITIES;**19,32,87,89,100,109,112,173,186,208,211,222**;Jun 20, 1997
3TGET(TIUY,TIUDA,ACTION) ; Build ^TMP("TIUVIEW",$J,
4 N TIUL,TIUREC,TIUARR,TIUGDATA,TIUNAME,TIUPRM0,TIUPRM1,X,Y,TIUCPF,ONBROWSE
5 K ^TMP("TIUVIEW",$J),^TMP("TIU FOCUS",$J)
6 S ACTION=$G(ACTION,"VIEW"),TIUL=0
7 D SETPARM^TIULE
8 S TIUGDATA=$$SETGDATA(TIUDA)
9 S TIUY=$NA(^TMP("TIUVIEW",$J))
10 S TIUARR="^TMP(""TIUVIEW"",$J)"
11 I '$D(^TIU(8925,+TIUDA,0)) S VALMQUIT=1 Q
12 ; Initialize ^TMP("TIU FOCUS",$J) to the entry that has focus
13 S ^TMP("TIU FOCUS",$J)=TIUDA
14 ; if the document has a browse action, execute it
15 S ONBROWSE=$$ONBROWSE^TIULC1(+$G(^TIU(8925,+TIUDA,0)))
16 I $L(ONBROWSE) D LOADSUPP(ONBROWSE,TIUDA,.TIUL)
17 ; Call INQUIRE to get record
18 ;Set a flag to indicate whether or not a Title is a memer of the
19 ;Clinical Procedures Class (1=Yes and 0=No)
20 S TIUCPF=+$$ISA^TIULX(+$G(^TIU(8925,TIUDA,0)),+$$CLASS^TIUCP)
21 ; Call INQUIRE to get record
22 D INQUIRE^TIUSRVR2(TIUDA,.TIUREC,TIUCPF)
23 ; First, load dictation, transcription data, etc.
24 D LOADTOP(.TIUREC,TIUDA,.TIUL,TIUGDATA,TIUCPF)
25 ; Next, load the remainder of the record
26 D LOADREC^TIUSRVR2(TIUDA,.TIUL,TIUGDATA,0,ACTION)
27 ;
28 ; *222 display closing & footer data for FORM LETTERS only
29 I +$$MEMBEROF^TIUPR222(+$G(^TIU(8925,+TIUDA,0)),"FORM LETTERS") D
30 . S TIUL=TIUL+1,@TIUARR@(TIUL)="" D GUIVIEW^TIUFLP1(TIUDA,"CLS",.TIUL,.TIUARR)
31 . S TIUL=TIUL+1,@TIUARR@(TIUL)="" D GUIVIEW^TIUFLP1(TIUDA,"FTR",.TIUL,.TIUARR)
32 ;
33 K ^TMP("TIU FOCUS",$J)
34 S VALMCNT=+$G(TIUL)
35 Q
36SETGDATA(TIUDA) ; Set TIUGDATA
37 N TIUDPRM,TIUY,SORT S TIUY=""
38 D DOCPRM^TIULC1(+$G(^TIU(8925,TIUDA,0)),.TIUDPRM,TIUDA)
39 S SORT=$S(+$P(TIUDPRM(0),U,18):"TITLE",1:"REFDT")
40 I +$G(^TIU(8925,TIUDA,21)) S TIUY=TIUDA_U_0_U_+$G(^(21))_U_SORT G SETGX
41 I +$O(^TIU(8925,"GDAD",TIUDA,0)) S TIUY=TIUDA_U_1_U_0_U_SORT
42SETGX Q TIUY
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,@TIUARR@(TIUL,0)=$G(@TIUY@(TIUI))
48 S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL,0)=" "
49 K @TIUY
50 Q
51LOADTOP(TIUREC,TIUDA,TIUL,TIUGDATA,TIUCPF) ; Load top information
52 N TIUY,SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT
53 ; ---- For ID note, include Title, [Location, & Visit] with each
54 ; entry, since they vary by entry.
55 ; ---- Follow with Date, Author, etc.
56 ; ---- For ID children in whole note display, shorten top info:
57 ; Instead of Title, Location, Visit, Date, Author, etc.,
58 ; use just Title, followed by just Date and Status:
59 S (SHORT,CURCHLD,CURPRNT,SELCHLD,SELPRNT)=0
60 I $P(TIUGDATA,U,3) S SELCHLD=1 ; Selected record was IDchild
61 I $P(TIUGDATA,U,2) S SELPRNT=1
62 I SELCHLD,TIUDA'=$P(TIUGDATA,U,3) S CURCHLD=1 ; Current rec is IDchild
63 I SELCHLD,TIUDA=$P(TIUGDATA,U,3) S CURPRNT=1
64 I SELPRNT,TIUDA=+TIUGDATA S CURPRNT=1
65 I SELPRNT,TIUDA'=+TIUGDATA S CURCHLD=1
66 I SELPRNT,CURCHLD S SHORT=1 ;Child in whole note: shorten top info
67 I SELCHLD,CURCHLD,$G(TIUGWHOL) S SHORT=1
68 I SELCHLD!SELPRNT D IDTOP(TIUDA,.TIUL,SHORT,CURPRNT) I 1
69 S TIUY=""
70 E I $L(TIUREC(8925,+TIUDA,.01)) D
71 . S TIUY=$$SETSTR^VALM1("LOCAL TITLE: "_TIUREC(8925,+TIUDA,.01),TIUY,2,64)
72 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
73 S TIUY=""
74 I $L($G(TIUREC(8925,+TIUDA,89261))) D
75 . S TIUY=$$SETSTR^VALM1("STANDARD TITLE: "_TIUREC(8925,+TIUDA,89261),TIUY,1,64)
76 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
77 S TIUY=""
78 I SHORT D
79 . S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),TIUY,1,39)
80 . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),TIUY,42,38)
81 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
82 S TIUY=""
83 I 'SHORT D
84 . I $L(TIUREC(8925,+TIUDA,1307)) D I 1
85 . . S TIUY=$$SETSTR^VALM1("DICT DATE: "_TIUREC(8925,+TIUDA,1307),TIUY,4,39)
86 . E S TIUY=$$SETSTR^VALM1("DATE OF NOTE: "_TIUREC(8925,+TIUDA,1301),TIUY,1,39)
87 . S TIUY=$$SETSTR^VALM1("ENTRY DATE: "_TIUREC(8925,+TIUDA,1201),$G(TIUY),38,39)
88 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
89 . S TIUY=""
90 . I $L(TIUREC(8925,+TIUDA,1307)) D I 1
91 . . S TIUY=$$SETSTR^VALM1("DICTATED BY: "_TIUREC(8925,+TIUDA,1202),TIUY,2,32)
92 . E S TIUY=$$SETSTR^VALM1("AUTHOR: "_TIUREC(8925,+TIUDA,1202),TIUY,7,27)
93 . 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),TIUY,2,32)
94 . I $L(TIUREC(8925,+TIUDA,1209)) D I 1
95 . . S TIUY=$$SETSTR^VALM1("ATTENDING: "_TIUREC(8925,+TIUDA,1209),TIUY,39,40)
96 . E S TIUY=$$SETSTR^VALM1("EXP COSIGNER: "_TIUREC(8925,+TIUDA,1208),TIUY,36,40)
97 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
98 . S TIUY=""
99 . S TIUY=$$SETSTR^VALM1("URGENCY: "_TIUREC(8925,+TIUDA,.09),TIUY,6,36)
100 . S TIUY=$$SETSTR^VALM1("STATUS: "_TIUREC(8925,+TIUDA,.05),TIUY,42,38)
101 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
102 ; * 173
103 I TIUREC(8925,+TIUDA,.05)="UNCOSIGNED" D
104 . S TIUY="",TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
105 . S TIUY="",TIUL=TIUL+1,TIUY=$$SETSTR^VALM1("*** NOT YET COSIGNED ***",TIUY,20,51),@TIUARR@(TIUL)=TIUY
106 S TIUY=""
107 I '$L($G(^TIU(8925,+TIUDA,17))) D I 1
108 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
109 E D
110 . S TIUY=$$SETSTR^VALM1("SUBJECT: "_$G(^TIU(8925,+TIUDA,17)),TIUY,6,74)
111 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
112 . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
113 ;If the document is a member of the Clinical Procedures Class, include the
114 ; Procedure Summary Code field and the Date/Time Performed field
115 I $G(TIUCPF) D
116 . S TIUL=TIUL+1,TIUY=""
117 . S TIUY=$$SETSTR^VALM1("PROCEDURE SUMMARY CODE: "_TIUREC(8925,+TIUDA,70201),$G(TIUY),1,54)
118 . S @TIUARR@(TIUL)=TIUY
119 . S TIUL=TIUL+1,TIUY=""
120 . S TIUY=$$SETSTR^VALM1("DATE/TIME PERFORMED: "_TIUREC(8925,+TIUDA,70202),$G(TIUY),1,41)
121 . S @TIUARR@(TIUL)=TIUY
122 . S TIUL=TIUL+1,TIUY="",@TIUARR@(TIUL)=TIUY
123 I +$$HASADDEN^TIULC1(TIUDA) D
124 . S TIUY=" *** "_$$PNAME^TIULC1(+$G(^TIU(8925,TIUDA,0)))
125 . S TIUY=TIUY_" Has ADDENDA ***"
126 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
127 . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
128 ; *222 display header data for FORM LETTERS only
129 I +$$MEMBEROF^TIUPR222(+$G(^TIU(8925,+TIUDA,0)),"FORM LETTERS") D
130 . D GUIVIEW^TIUFLP1(TIUDA,"HDR",.TIUL,.TIUARR)
131 . S TIUL=TIUL+1,@TIUARR@(TIUL)=""
132 Q
133 ;
134ISCOMP(DA) ; Evaluate whether a given record is a component
135 N TIUY,TIUTYP
136 S TIUTYP=+$G(^TIU(8925,DA,0))
137 S TIUY=$S($P($G(^TIU(8925.1,+TIUTYP,0)),U,4)="CO":1,1:0)
138 Q TIUY
139IDTOP(TIUDA,TIUL,SHORT,CURPRNT) ; Load entry-specific info:
140 ;Title, [Location, Visit] for ID entry.
141 ; Called by LOADTOP
142 N TIUY,TIUX,TIU
143 I CURPRNT S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)=" << Interdisciplinary Note >>"
144 I SHORT S TIUL=+$G(TIUL)+1,@TIUARR@(TIUL)=" << Interdisciplinary Note - Cont. >>"
145 D GETTIU^TIULD(.TIU,+TIUDA)
146 I 'SHORT D
147 . S TIUY="",TIUX="LOCATION: "_$P($G(TIU("LOC")),U,2)
148 . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,1,31)
149 . I $L($G(TIU("WARD"))) D I 1
150 . . S TIUX="ADMISSION DATE: "_$P($G(TIU("EDT")),U,2)
151 . . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,34,37)
152 . E D
153 . . S TIUX="VISIT DATE: "_$P($G(TIU("EDT")),U,2)
154 . . S TIUY=$$SETSTR^VALM1(TIUX,TIUY,38,33)
155 . S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
156 S TIUY="",TIUX="LOCAL TITLE: "_$P($G(TIU("DOCTYP")),U,2)
157 S TIUY=$$SETSTR^VALM1(TIUX,TIUY,1,67)
158 S TIUL=TIUL+1,@TIUARR@(TIUL)=TIUY
159 Q
Note: See TracBrowser for help on using the repository browser.