1 | RAPINFO ;HIRMFO/GJC - Display Imaging Procedure Rad/Nuc Med info ;11/5/99 12:32
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;**10,45**;Mar 16, 1998
|
---|
3 | EN1 ; Associated option: [DISPLAY IMAGING PROCEDURE RAD/NUC MED INFORMATION]
|
---|
4 | N RADIC,RAINA,RAITYPE,RAQUIT,RAUTIL
|
---|
5 | K ^TMP($J,"RA PROCEDURES") W !
|
---|
6 | S DIC="^RA(79.2,",DIC(0)="QEAMNZ",DIC("A")="Select an Imaging Type: "
|
---|
7 | S DIC("W")="D DICW^RAPINFO"
|
---|
8 | S DIC("S")="I ($D(^RAMIS(71,""AIMG"",+Y))\10)"
|
---|
9 | D ^DIC K DIC
|
---|
10 | I Y'>0 D KILL Q
|
---|
11 | S RAITYPE=Y ; 'RAITYPE' = ien of entry in 79.2 ^ .01 value in 79.2
|
---|
12 | ;
|
---|
13 | PROC ; Procedure selection O-M-A
|
---|
14 | S RADIC="^RAMIS(71,",RADIC("A")="Select a Rad/Nuc Med Procedure: "
|
---|
15 | S RADIC(0)="QEANMZ",RADIC("S")="I $$DICS^RAPINFO(RAITYPE,+Y)"
|
---|
16 | S RAUTIL="RA PROCEDURES" D EN1^RASELCT(.RADIC,RAUTIL)
|
---|
17 | I '($D(^TMP($J,"RA PROCEDURES"))\10) D KILL Q ; quit, nothing selected
|
---|
18 | DEV ; Device selection
|
---|
19 | W ! S %ZIS="QM",%ZIS("A")="Select a Device: " D ^%ZIS W !
|
---|
20 | I POP K %ZIS D KILL Q
|
---|
21 | I $D(IO("Q")) D D KILL Q
|
---|
22 | . S ZTRTN="START^RAPINFO"
|
---|
23 | . S ZTSAVE("^TMP($J,""RA PROCEDURES"",")=""
|
---|
24 | . S ZTDESC="Rad/Nuc Med Display Imaging Procedure information"
|
---|
25 | . D ^%ZTLOAD
|
---|
26 | . I +$G(ZTSK("D"))>0 D
|
---|
27 | .. W !?5,"Request Queued, Task #: ",+$G(ZTSK)
|
---|
28 | .. Q
|
---|
29 | . E W !?5,"Request cancelled!"
|
---|
30 | . D HOME^%ZIS K IO("Q")
|
---|
31 | . Q
|
---|
32 | START ; Start processing data & printing to the device here.
|
---|
33 | S:$D(ZTQUEUED) ZTREQ="@"
|
---|
34 | U IO N I,J,RA0,RA1,RA2,RA71,RADD,RAHDR,RAIDFIER,RALN,RAMAX,RANOW,RAPG
|
---|
35 | N RARUNDT,RAXIT S RA0="",(RAMAX,RAPG,RAXIT)=0
|
---|
36 | S RAHDR="Radiology/Nuclear Medicine Procedure Information"
|
---|
37 | S $P(RALN,"-",(IOM+1))=""
|
---|
38 | S RADD=$P($G(^DD(71,6,0)),"^",3)
|
---|
39 | F I=1:1:$L(RADD,";") S J=$P($P(RADD,";",I),":",2) Q:J']"" D
|
---|
40 | . S:$L(J)>RAMAX RAMAX=$L(J)
|
---|
41 | . Q
|
---|
42 | S RANOW=$$NOW^XLFDT(),RANOW=$P(RANOW,".")_"."_$E($P(RANOW,".",2),1,4)
|
---|
43 | S RARUNDT=$$FMTE^XLFDT(RANOW,"1P") D HDR^RAPINFO G:RAXIT KILL
|
---|
44 | F S RA0=$O(^TMP($J,"RA PROCEDURES",RA0)) Q:RA0="" D Q:RAXIT
|
---|
45 | . S RA1=0
|
---|
46 | . F S RA1=$O(^TMP($J,"RA PROCEDURES",RA0,RA1)) Q:RA1'>0 D Q:RAXIT
|
---|
47 | .. S RA71=$G(^RAMIS(71,RA1,0)) Q:RA71']""
|
---|
48 | .. S RAIDFIER=$$BLD^RAPINFO(RA1)
|
---|
49 | .. I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT D HDR^RAPINFO
|
---|
50 | .. Q:RAXIT W !,$E(RA0,1,30),?34,RAIDFIER
|
---|
51 | ..;
|
---|
52 | ..;check if the descendents have CM relations
|
---|
53 | ..I $P(RA71,U,6)="P" D Q:RAXIT
|
---|
54 | ...S RA2=0 F S RA2=$O(^RAMIS(71,RA1,4,RA2)) Q:'RA2 D Q:RAXIT
|
---|
55 | ....S RA21=+$G(^RAMIS(71,RA1,4,RA2,0)) D DESC(RA21,"P")
|
---|
56 | ....Q
|
---|
57 | ...K RA2,RA21 Q
|
---|
58 | ..;
|
---|
59 | ..;check if the non-parent has CM relations
|
---|
60 | ..E D:$O(^RAMIS(71,RA1,"CM",0)) DESC(RA1,"") Q:RAXIT
|
---|
61 | ..;
|
---|
62 | .. I $O(^RAMIS(71,RA1,"EDU",0)) D
|
---|
63 | ... S DIWF="W",DIWL=1,DIWR=$S(IOM=132:100,1:76)
|
---|
64 | ... S RA2=0 K ^UTILITY($J,"W") S X="Educational Desc: "
|
---|
65 | ... F S RA2=$O(^RAMIS(71,RA1,"EDU",RA2)) Q:RA2'>0 D K X Q:RAXIT
|
---|
66 | .... I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT D HDR^RAPINFO
|
---|
67 | .... Q:RAXIT S X=$G(X)_$G(^RAMIS(71,RA1,"EDU",RA2,0)) Q:X']"" D ^DIWP
|
---|
68 | .... Q
|
---|
69 | ... D:'RAXIT ^DIWW ; *** procedure message text to be printed
|
---|
70 | ... Q ; *** once procedure messages are changed to WP
|
---|
71 | .. E W ! ; *** from pointers to 71.4 ***
|
---|
72 | .. Q
|
---|
73 | . Q
|
---|
74 | W ! D ^%ZISC,KILL
|
---|
75 | Q
|
---|
76 | BLD(RA1) ; Build procedure identifier string
|
---|
77 | ; input: 'RA1' = ien of entry in Rad/Nuc Med Procedures file
|
---|
78 | N RA,RACPT,RAIABRV,RAPTYPE,RASTR S RASTR="("
|
---|
79 | S RA(0)=$G(^RAMIS(71,RA1,0)),RA("I")=$G(^RAMIS(71,RA1,"I"))
|
---|
80 | S RAIABRV(0)=+$P(RA(0),"^",12)
|
---|
81 | S RAIABRV(1)=$P($G(^RA(79.2,RAIABRV(0),0)),"^",3)
|
---|
82 | S RAIABRV=$S(RAIABRV(1)]"":RAIABRV(1),1:"Unknown")
|
---|
83 | I RA("I"),(RA("I")'>DT) S RAPTYPE="Inactive"
|
---|
84 | I $D(RAPTYPE)[0 D
|
---|
85 | . S RAPTYPE=$$XTERNAL^RAUTL5($P(RA(0),"^",6),$P($G(^DD(71,6,0)),"^",2))
|
---|
86 | . S RAPTYPE=$E(RAPTYPE)_$$LOW^XLFSTR($E(RAPTYPE,2,99999))
|
---|
87 | . S:RAPTYPE']"" RAPTYPE="Unknown"
|
---|
88 | . Q
|
---|
89 | S:$L(RAPTYPE)<RAMAX RAPTYPE=RAPTYPE_$E(" ",1,(RAMAX-$L(RAPTYPE)))
|
---|
90 | S RACPT(0)=+$P(RA(0),"^",9) S:'RACPT(0) RACPT="Unknown"
|
---|
91 | S:$E(RAPTYPE)="P" RACPT="See Descendents"
|
---|
92 | I '($D(RACPT)#2) D
|
---|
93 | . S RACPT=$P($$NAMCODE^RACPTMSC(RACPT(0),DT),"^")
|
---|
94 | . S:RACPT="" RACPT="Unknown"
|
---|
95 | . Q
|
---|
96 | S RASTR=RASTR_RAIABRV_" "_RAPTYPE_") CPT:"_RACPT
|
---|
97 | Q RASTR
|
---|
98 | ;
|
---|
99 | DICS(RAY,Y) ; Display active procedures within an imaging type.
|
---|
100 | ; Input : RAY - Imaging Type
|
---|
101 | ; Y - ien of the procedure
|
---|
102 | ; Output: 1 if a valid selection, 0 if invalid
|
---|
103 | Q:'$D(^RAMIS(71,"AIMG",+RAITYPE,+Y))#2 0 ; not valid, wrong i-type
|
---|
104 | N RA71ACT S RA71ACT=$G(^RAMIS(71,+Y,"I"))
|
---|
105 | Q $S(RA71ACT="":1,RA71ACT>DT:1,1:0)
|
---|
106 | ;
|
---|
107 | DICW ; Display abbreviation with the I-Type
|
---|
108 | N RA792,RABBRV
|
---|
109 | S RA792=$G(^RA(79.2,+Y,0)),RABBRV=$P(RA792,"^",3)
|
---|
110 | S RABBRV(1)=$S(RABBRV]"":" "_RABBRV,1:" Unknown")
|
---|
111 | S RABBRV(1,"F")="?0" D EN^DDIOL(.RABBRV)
|
---|
112 | Q
|
---|
113 | HDR ; Header for our report
|
---|
114 | W:$Y @IOF S RAPG=RAPG+1
|
---|
115 | W !?(IOM-$L(RAHDR)\2),RAHDR
|
---|
116 | W !!,"Run Date/Time: ",RARUNDT,?($S(IOM=132:121,1:68)),"Page: ",RAPG
|
---|
117 | W !,RALN
|
---|
118 | I $D(ZTQUEUED) D STOPCHK^RAUTL9 S:$G(ZTSTOP)=1 RAXIT=1
|
---|
119 | Q
|
---|
120 | KILL ; Kill and quit the application
|
---|
121 | K ^TMP($J,"RA PROCEDURES"),%X,%XX,%Y,%YY
|
---|
122 | K C,DDH,DIROUT,DIRUT,DIW,DIWF,DIWL,DIWR,DIWT,DN,DTOUT,DUOUT,X,Y
|
---|
123 | K Z,ZTDESC,ZTRTN,ZTSAVE,I,POP,DISYS
|
---|
124 | Q
|
---|
125 | ;
|
---|
126 | DESC(RAPRC,RAFLG) ; display the descendants associated with the
|
---|
127 | ; parent procedure
|
---|
128 | ;input: RAPRC-IEN of the procedure in the Rad/Nuc Med Procedure file
|
---|
129 | ; RAFLG-indicates procedure type; "P" if parent, else null
|
---|
130 | I RAFLG="P" D Q:RAXIT
|
---|
131 | .S RAIDFIER=$$BLD^RAPINFO(RAPRC)
|
---|
132 | .I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT D HDR^RAPINFO
|
---|
133 | .Q:RAXIT W:$X ! W ?2,$E($P($G(^RAMIS(71,RAPRC,0)),U),1,30),?34,RAIDFIER
|
---|
134 | .Q
|
---|
135 | Q:+$O(^RAMIS(71,RAPRC,"CM",0))=0
|
---|
136 | CMEDIA ; display the contrast media associated with the parent procedure
|
---|
137 | K X,^UTILITY($J,"W") S RA3=0,X="Contrast Media: "
|
---|
138 | S DIWF="W",DIWL=3,DIWR=$S(IOM=132:100,1:76)
|
---|
139 | F S RA3=$O(^RAMIS(71,RAPRC,"CM",RA3)) Q:RA3'>0 D
|
---|
140 | .S RA3(0)=$P($G(^RAMIS(71,RAPRC,"CM",RA3,0)),U)
|
---|
141 | .S X=X_$$EXTERNAL^DILFD(71.0125,.01,"",RA3(0))_", "
|
---|
142 | .Q
|
---|
143 | I $Y>(IOSL-4) S RAXIT=$$EOS^RAUTL5() Q:RAXIT D HDR^RAPINFO
|
---|
144 | S X=$P(X,", ",1,$L(X,", ")-1) D ^DIWP,^DIWW
|
---|
145 | K ^UTILITY($J,"W"),DIWF,DIWL,DIWR,RA3,X
|
---|
146 | Q
|
---|
147 | ;
|
---|