1 | RARTUTL ;HIRMFO/GJC-Utility to display Pharm & Radiopharm data ;11/18/97 13:33
|
---|
2 | ;;5.0;Radiology/Nuclear Medicine;;Mar 16, 1998
|
---|
3 | ;
|
---|
4 | PHARM(RADA) ; Display Pharmaceutical default data
|
---|
5 | ; Input: RADA -> ien for the Examinations (50) multiple.
|
---|
6 | ; in the following format: RACNI_","_RADTI_","_RADFN_","
|
---|
7 | ; *** Called only if $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"RX",0)) ***
|
---|
8 | N RA1,RACNT,RAPHARM,RASUB,X,Y S RA1="",RASUB=70.15
|
---|
9 | D GETS^DIQ(70.03,RADA,"200*","NE","RAPHARM") Q:'$D(RAPHARM)
|
---|
10 | I '$D(RAUTOE),($Y>(IOSL-4)) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR
|
---|
11 | F S RA1=$O(RAPHARM(RASUB,RA1)) Q:RA1']"" D Q:$D(RAOOUT)
|
---|
12 | . S RACNT=0
|
---|
13 | . I $G(RAPHARM(RASUB,RA1,.01,"E"))]"" D
|
---|
14 | .. N RADOSE S RADOSE=$S($G(RAPHARM(RASUB,RA1,2,"E"))]"":", "_$G(RAPHARM(RASUB,RA1,2,"E")),1:"")
|
---|
15 | .. W:'$D(RAUTOE) !," Pharmaceutical: ",$E($G(RAPHARM(RASUB,RA1,.01,"E")),1,40)_RADOSE
|
---|
16 | .. S:$D(RAUTOE) ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=" Pharmaceutical: "_$E($G(RAPHARM(RASUB,RA1,.01,"E")),1,40)_RADOSE
|
---|
17 | .. Q
|
---|
18 | . I '$D(RAUTOE),($Y>(IOSL-4)) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR
|
---|
19 | . W:'$D(RAUTOE)&(($G(RAPHARM(RASUB,RA1,3,"E"))]"")!($G(RAPHARM(RASUB,RA1,4,"E"))]"")) !
|
---|
20 | . I $G(RAPHARM(RASUB,RA1,3,"E"))]"" D
|
---|
21 | .. S RACNT=RACNT+1
|
---|
22 | .. I '$D(RAUTOE) D
|
---|
23 | ... W " Adm'd on "_$E($G(RAPHARM(RASUB,RA1,3,"E")),1,21)
|
---|
24 | ... Q
|
---|
25 | .. E D
|
---|
26 | ... S ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=" Adm'd on "_$E($G(RAPHARM(RASUB,RA1,3,"E")),1,21)
|
---|
27 | ... Q
|
---|
28 | .. Q
|
---|
29 | . I $G(RAPHARM(RASUB,RA1,4,"E"))]"" D
|
---|
30 | .. S RACNT=RACNT+1
|
---|
31 | .. I '$D(RAUTOE) D
|
---|
32 | ... N RAX S RAX="""by "",$E($G(RAPHARM(RASUB,RA1,4,""E"")),1,30)"
|
---|
33 | ... W:RACNT=1 " ",@RAX W:RACNT=2 " ",@RAX
|
---|
34 | ... Q
|
---|
35 | .. E D
|
---|
36 | ... S:RACNT=2 ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_" by "_$E($G(RAPHARM(RASUB,RA1,4,"E")),1,30)
|
---|
37 | ... S:RACNT=1 ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=" by "_$E($G(RAPHARM(RASUB,RA1,4,"E")),1,30)
|
---|
38 | ... Q
|
---|
39 | .. Q
|
---|
40 | . Q
|
---|
41 | Q
|
---|
42 | RDIO(RADA) ; Display Radiopharmaceutical default data for Report displays
|
---|
43 | ; Input: RADA -> ien of the Nuc Med Exam Data record (file 70.2)
|
---|
44 | ; *** Called only if $P(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0),U,28)>0 ***
|
---|
45 | N RADARY,X,Y
|
---|
46 | D GETS^DIQ(70.2,RADA_",","**","NE","RADARY") Q:'$D(RADARY)
|
---|
47 | I '$D(RAUTOE),($Y>(IOSL-4)) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR
|
---|
48 | N RAIENS S RAIENS=""
|
---|
49 | F S RAIENS=$O(RADARY(70.21,RAIENS)) Q:RAIENS="" D Q:$D(RAOOUT)
|
---|
50 | . N RADOSE S RADOSE=$S($G(RADARY(70.21,RAIENS,7,"E"))]"":", "_$G(RADARY(70.21,RAIENS,7,"E"))_" mCi",1:"")
|
---|
51 | . I '$D(RAUTOE),($Y>(IOSL-4)) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR
|
---|
52 | . I '$D(RAUTOE) D
|
---|
53 | .. W !," Radiopharmaceutical: "_$G(RADARY(70.21,RAIENS,.01,"E"))_RADOSE
|
---|
54 | .. Q
|
---|
55 | . E D
|
---|
56 | .. S ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=" Radiopharmaceutical: "_$G(RADARY(70.21,RAIENS,.01,"E"))_RADOSE
|
---|
57 | .. Q
|
---|
58 | . Q:$G(RADARY(70.21,RAIENS,8,"E"))=""&($G(RADARY(70.21,RAIENS,9,"E"))="")&($G(RADARY(70.21,RAIENS,11,"E"))="")&($G(RADARY(70.21,RAIENS,12,"E"))="")
|
---|
59 | . N RACNT,RALNGTH S RACNT=0
|
---|
60 | . F RADFLDS=8,9,11,12 D Q:'$D(RAUTOE)&($D(RAOOUT))
|
---|
61 | .. W:'RACNT&(RADFLDS=8)&('$D(RAUTOE)) ! ; initial line feed, spacing
|
---|
62 | .. S:'RACNT&(RADFLDS=8)&($D(RAUTOE)) ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=""
|
---|
63 | .. I $G(RADARY(70.21,RAIENS,RADFLDS,"E"))]"" D
|
---|
64 | ... W:RACNT=2 ! S:RACNT=2 RACNT=0 ; NEW LINE
|
---|
65 | ... S RACNT=RACNT+1
|
---|
66 | ... I '$D(RAUTOE) D
|
---|
67 | .... I $Y>(IOSL-4) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR W !
|
---|
68 | .... W:RADFLDS=8 $S(RACNT=2:" Adm'd on ",1:" Adm'd on ")
|
---|
69 | .... W:RADFLDS=9 $S(RACNT=2:" by ",1:" by ")
|
---|
70 | .... W:RADFLDS=11 $S(RACNT=2:" Route ",1:" Route ")
|
---|
71 | .... W:RADFLDS=12 $S(RACNT=2:" Site ",1:" Site ")
|
---|
72 | .... S RALNGTH=$G(RADARY(70.21,RAIENS,RADFLDS,"E"))
|
---|
73 | .... I RACNT=2,((RALNGTH+$X)>IOM) D
|
---|
74 | ..... W $E($G(RADARY(70.21,RAIENS,RADFLDS,"E")),1,(IOM-($X-1)))
|
---|
75 | ..... Q
|
---|
76 | .... E W $G(RADARY(70.21,RAIENS,RADFLDS,"E"))
|
---|
77 | .... I $Y>(IOSL-4) D HANG^RARTR2 Q:$D(RAOOUT) D HD^RARTR W !
|
---|
78 | .... Q
|
---|
79 | ... E D
|
---|
80 | .... S:RADFLDS=8 ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_$S(RACNT=2:" Adm'd on ",1:" Adm'd on ")
|
---|
81 | .... S:RADFLDS=9 ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_$S(RACNT=2:" by ",1:" by ")
|
---|
82 | .... S:RADFLDS=11 ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_$S(RACNT=2:" Route ",1:" Route ")
|
---|
83 | .... S:RADFLDS=12 ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_$S(RACNT=2:" Site ",1:" Site ")
|
---|
84 | .... S ^TMP($J,"RA AUTOE",RAACNT)=^TMP($J,"RA AUTOE",RAACNT)_$G(RADARY(70.21,RAIENS,RADFLDS,"E"))
|
---|
85 | .... S:RACNT=2 ^TMP($J,"RA AUTOE",$$INCR^RAUTL4(RAACNT))=""
|
---|
86 | .... S:RACNT=2 RACNT=0
|
---|
87 | .... Q
|
---|
88 | ... Q
|
---|
89 | .. Q
|
---|
90 | . Q
|
---|
91 | Q
|
---|
92 | PHARM1(RADA) ; Display Pharmaceutical default data
|
---|
93 | ; Input: RADA -> ien for the Examinations (50) multiple.
|
---|
94 | ; in the following format: RACNI_","_RADTI_","_RADFN_","
|
---|
95 | ; Output: 'X' -> $S(X'="":'abnormal exit',1:'full display')
|
---|
96 | ; *** Called only if $O(^RADPT(RADFN,"DT",RADTI,"P",RACNI,"RX",0)) ***
|
---|
97 | N RA1,RACNT,RAPHARM,RASUB,RAXIT,Y S (RA1,X)="",RASUB=70.15,RAXIT=0
|
---|
98 | D GETS^DIQ(70.03,RADA,"200*","NE","RAPHARM") Q:'$D(RAPHARM) ""
|
---|
99 | D WAIT^RART1:($Y+6)>IOSL&('$D(RARTVERF)) Q:X="T"!(X="P")!(X="^") X
|
---|
100 | I X="C" W @IOF S X=""
|
---|
101 | F S RA1=$O(RAPHARM(RASUB,RA1)) Q:RA1']"" D Q:RAXIT
|
---|
102 | . S RACNT=0
|
---|
103 | . I $G(RAPHARM(RASUB,RA1,.01,"E"))]"" D
|
---|
104 | .. N RADOSE S RADOSE=$S($G(RAPHARM(RASUB,RA1,2,"E"))]"":", "_$G(RAPHARM(RASUB,RA1,2,"E")),1:"")
|
---|
105 | .. W !," Pharmaceutical: ",$E($G(RAPHARM(RASUB,RA1,.01,"E")),1,40)_RADOSE
|
---|
106 | .. Q
|
---|
107 | . D WAIT^RART1:($Y+6)>IOSL&('$D(RARTVERF)) S:X="T"!(X="P")!(X="^") RAXIT=1
|
---|
108 | . Q:RAXIT
|
---|
109 | . I X="C" W @IOF S X=""
|
---|
110 | . W:$G(RAPHARM(RASUB,RA1,3,"E"))]""!($G(RAPHARM(RASUB,RA1,4,"E"))]"") !
|
---|
111 | . I $G(RAPHARM(RASUB,RA1,3,"E"))]"" D
|
---|
112 | .. S RACNT=RACNT+1
|
---|
113 | .. W " Adm'd "_$E($G(RAPHARM(RASUB,RA1,3,"E")),1,21)
|
---|
114 | .. Q
|
---|
115 | . I $G(RAPHARM(RASUB,RA1,4,"E"))]"" D
|
---|
116 | .. S RACNT=RACNT+1
|
---|
117 | .. N RAX S RAX="""by "",$E($G(RAPHARM(RASUB,RA1,4,""E"")),1,30)"
|
---|
118 | .. W:RACNT=1 " ",@RAX W:RACNT=2 " ",@RAX
|
---|
119 | .. Q
|
---|
120 | . Q
|
---|
121 | Q $G(X)
|
---|