1 | ONCODSR ;Hines OIFO/GWB - SURGERY OF PRIMARY SITE; 12/22/00
|
---|
2 | ;;2.11;ONCOLOGY;**1,5,6,7,11,13,15,16,18,27,36,37,42,46,47**;Mar 07, 1995;Build 19
|
---|
3 | ;
|
---|
4 | ;^ONCO(164.2,9,"S",1-10) hold SURGICAL DX/STAGING PROC codes 0-9
|
---|
5 | ;^ONCO(164.2,SITE/GP,"S",11-100) holds surgery coes 10-99
|
---|
6 | ;
|
---|
7 | CDSIT ;SURGERY OF PRIMARY SITE (165.5,58.2) INPUT TRANSFORM
|
---|
8 | N T,TOPGRPHY,SS
|
---|
9 | K:$L(X)>2!(X'?1.N) X G EX:'$D(X)
|
---|
10 | I X="00" W " 00 No surgical procedure" G EX
|
---|
11 | S TOPGRPHY=$$TOPGRPHY(D0) G ER:TOPGRPHY=""
|
---|
12 | S SS=+$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
13 | I '$D(^ONCO(164.5,SS,1,X+1,0)) K X G EX
|
---|
14 | I ($P(^ONCO(165.5,D0,0),U,16)>2951231),$E(X,2)=8 K X G EX
|
---|
15 | W " ",^ONCO(164.5,SS,1,X+1,0) G EX
|
---|
16 | ;
|
---|
17 | NCDSIT ;SURGICAL DX/STAGING PROC (165.5,58.1) INPUT TRANSFORM
|
---|
18 | I '$D(^ONCO(160.14,"B",X)) K X G EX
|
---|
19 | I $L(X)'=2 K X G EX
|
---|
20 | S NCDSIEN=$O(^ONCO(160.14,"B",X,0))
|
---|
21 | W " ",$P(^ONCO(160.14,NCDSIEN,0),U,2)
|
---|
22 | K NCDSIEN Q
|
---|
23 | ;
|
---|
24 | NCDSOT ;SURGICAL DX/STAGING PROC (165.5,58.1) OUTPUT TRANSFORM
|
---|
25 | Q:Y=""
|
---|
26 | S NCDSIEN=$O(^ONCO(160.14,"B",Y,0))
|
---|
27 | I NCDSIEN'="" S Y=Y_" "_$P(^ONCO(160.14,NCDSIEN,0),U,2)
|
---|
28 | G EX
|
---|
29 | ;
|
---|
30 | HP0 ;SURGICAL DX/STAGING PROC (165.5,58.1) HELP
|
---|
31 | F XX="00","01","02","03","04","05","06","07","09" S NCDSIEN=$O(^ONCO(160.14,"B",XX,0)) W !," ",$P(^ONCO(160.14,NCDSIEN,0),U,1)," ",$P(^ONCO(160.14,NCDSIEN,0),U,2)
|
---|
32 | W !
|
---|
33 | K NCDSIEN G EX
|
---|
34 | ;
|
---|
35 | CDSOT ;SURGERY OF PRIMARY SITE (165.5,58.2) OUTPUT TRANSFORM
|
---|
36 | I Y="00" S Y="00 No surgical procedure" G EX
|
---|
37 | N TOPGRPHY,SS
|
---|
38 | S TOPGRPHY=$$TOPGRPHY(D0) G EX:TOPGRPHY=""
|
---|
39 | S SS=+$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
40 | S Y=Y_" "_$G(^ONCO(164.5,SS,1,Y+1,0)) G EX
|
---|
41 | ;
|
---|
42 | HP1 ;SURGERY OF PRIMARY SITE (165.5,58.2) HELP
|
---|
43 | N TOPGRPHY,TPGRPHYR,SS,XX
|
---|
44 | S TOPGRPHY=$$TOPGRPHY(D0) G:TOPGRPHY="" ER
|
---|
45 | S TPGRPHYR=^ONCO(164,TOPGRPHY,0)
|
---|
46 | S SS=$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
47 | W !?5,"SURGERY OF PRIMARY SITE Codes for site ",$P(TPGRPHYR,U,2)," "
|
---|
48 | W $P(TPGRPHYR,U),!?5,"(",$P(^ONCO(164.5,SS,0),U),")",!!
|
---|
49 | W " ","00 No surgical procedure",!
|
---|
50 | S XX=10 F S XX=$O(^ONCO(164.5,SS,1,XX)) Q:XX'=+XX D
|
---|
51 | .S XXX=XX-1
|
---|
52 | .I ($P(^ONCO(165.5,D0,0),U,16)<2960000)!($E(XXX,2)'=8) W " ",(XX-1)_" "_^ONCO(164.5,SS,1,XX,0),!
|
---|
53 | G EX
|
---|
54 | ;
|
---|
55 | ER ;ERROR
|
---|
56 | W !!,?10,"ICDO CODE NOT defined!! - cannot continue",! G EX
|
---|
57 | ;
|
---|
58 | EX ;EXIT
|
---|
59 | K AN,SS,ONCOSR
|
---|
60 | Q
|
---|
61 | ;
|
---|
62 | TOPGRPHY(PRIMIX) ; returns ICDO-2 topography code for primary site PRIMIX
|
---|
63 | Q $P($G(^ONCO(165.5,PRIMIX,2)),U)
|
---|
64 | ;
|
---|
65 | ESSPIT ;INPUT TRANSFORM FOR EXTRANODAL SITE SURGICAL PROCEDURE #856
|
---|
66 | N T,TOPGRPHY,SS
|
---|
67 | K:$L(X)>2!(X'?1.N) X G EX:'$D(X)
|
---|
68 | I X="00" W " No additional surgical procedure" G EX
|
---|
69 | S TOPGRPHY=$P($G(^ONCO(165.5,D0,"NHL2")),U,10) G ER:TOPGRPHY=""
|
---|
70 | I TOPGRPHY="C888"!(TOPGRPHY="C999") K X G EX
|
---|
71 | S TOPGRPHY="67"_$E(TOPGRPHY,2,4)
|
---|
72 | S SS=+$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
73 | I '$D(^ONCO(164.5,SS,1,X+1,0)) K X G EX
|
---|
74 | I ($P(^ONCO(165.5,D0,0),U,16)>2951231),$E(X,2)=8 K X G EX
|
---|
75 | W " ",^ONCO(164.5,SS,1,X+1,0) G EX
|
---|
76 | ;
|
---|
77 | ESSPOT ;OUTPUT TRANSFORM FOR EXTRANODAL SITE SURGICAL PROCEDURE #856
|
---|
78 | I Y="00" S Y=Y_" No additional surgical procedure" G EX
|
---|
79 | N TOPGRPHY,SS
|
---|
80 | S TOPGRPHY=$P($G(^ONCO(165.5,D0,"NHL2")),U,10) G EX:TOPGRPHY=""
|
---|
81 | I TOPGRPHY="C888"!(TOPGRPHY="C999") G EX
|
---|
82 | S TOPGRPHY="67"_$E(TOPGRPHY,2,4)
|
---|
83 | S SS=+$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
84 | S Y=Y_" "_$G(^ONCO(164.5,SS,1,Y+1,0)) G EX
|
---|
85 | ;
|
---|
86 | ESSHP ;EXECUTABLE HELP FOR EXTRANODAL SITE SURGICAL PROCEDURE #856
|
---|
87 | N TOPGRPHY,TPGRPHYR,SS,XX
|
---|
88 | S TOPGRPHY=$P($G(^ONCO(165.5,D0,"NHL2")),U,10) G ER:TOPGRPHY=""
|
---|
89 | I TOPGRPHY="C888"!(TOPGRPHY="C999") W !,?5,"No extranodal site or unknown extranodal site!!",!!,?5,"00 No additional surgical procedure",! G EX
|
---|
90 | S TOPGRPHY="67"_$E(TOPGRPHY,2,4)
|
---|
91 | S TPGRPHYR=^ONCO(164,TOPGRPHY,0)
|
---|
92 | S SS=$P($G(^ONCO(164,TOPGRPHY,"SR")),U,$$EDITION^ONCOU55(D0))
|
---|
93 | W !!,"SURGERY OF PRIMARY SITE Codes for site ",$P(TPGRPHYR,U,2)," "
|
---|
94 | W $P(TPGRPHYR,U),!,"(",$P(^ONCO(164.5,SS,0),U),")",!!
|
---|
95 | W " ","00 No additional surgical procedure",!
|
---|
96 | S XX=10 F S XX=$O(^ONCO(164.5,SS,1,XX)) Q:XX'=+XX D
|
---|
97 | .S XXX=XX-1
|
---|
98 | .I ($P(^ONCO(165.5,D0,0),U,16)<2960000)!($E(XXX,2)'=8) W " ",(XX-1)_" "_^ONCO(164.5,SS,1,XX,0),!
|
---|
99 | W !,"Enter a code from the above list." G EX
|
---|
100 | Q
|
---|
101 | ;
|
---|
102 | FADIT ;DATE OF FIRST CONTACT (165.5,155) Input Transform
|
---|
103 | D NINES Q:'$D(X) Q:X=9999999
|
---|
104 | I $D(X) S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y K:Y<1 X K %DT(0)
|
---|
105 | Q
|
---|
106 | ;
|
---|
107 | DSDTIT ;DATE OF INPATIENT DISCHARGE (165.5,1.1) Input Transform
|
---|
108 | ;Must be >= DATE OF INPATIENT ADMISSION (165.5,1)
|
---|
109 | D ZS9S Q:'$D(X) Q:(X="0000000")!(X=9999999)
|
---|
110 | I $D(X) S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y K:Y<1 X I $D(X) S FAD=$P($G(^ONCO(165.5,D0,0)),U,8) I FAD'="" K:X<FAD X K %DT(0)
|
---|
111 | Q
|
---|
112 | ;
|
---|
113 | DFSPIT ;DATE FIRST SURGICAL PROCEDURE (165.5,170) Input Transform
|
---|
114 | D ZS9S Q:'$D(X) Q:(X="0000000")!(X=9999999)
|
---|
115 | I $D(X) S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y K:Y<1 X
|
---|
116 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3)),U,1) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!?3,"DATE FIRST SURGICAL PROCEDURE later than MOST DEFINITIVE SURG DATE",! K %DT(0),SDT Q
|
---|
117 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3.1)),U,8) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!,"DATE FIRST SURGICAL PROCEDURE later than MOST DEFINITIVE SURG @FAC DATE",! K %DT(0),SDT Q
|
---|
118 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3.1)),U,22) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!,"DATE FIRST SURGICAL PROCEDURE later than SCOPE OF LN SURGERY DATE",! K %DT(0),SDT Q
|
---|
119 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3.1)),U,23) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!,"DATE FIRST SURGICAL PROCEDURE later than SCOPE OF LN SURGERY @FAC DATE",! K %DT(0),SDT Q
|
---|
120 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3.1)),U,24) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!,"DATE FIRST SURGICAL PROCEDURE later than SURG PROC/OTHER SITE DATE",!
|
---|
121 | I $D(X) S SDT=$P($G(^ONCO(165.5,D0,3.1)),U,25) I SDT'="",SDT'="0000000",SDT'="9999999" I X>SDT K X W !!,"DATE FIRST SURGICAL PROCEDURE later than SURG PROC/OTHER SITE @FAC DATE",!
|
---|
122 | K %DT(0),SDT
|
---|
123 | Q
|
---|
124 | ;
|
---|
125 | DFIT ;INPUT TRANSFORM for date fields
|
---|
126 | ;No future dates and date must be > or = DATE DX (165.5,3)
|
---|
127 | I $G(DIFLD)=124 S NTDD=""
|
---|
128 | D ZS9S Q:ZS9S=1
|
---|
129 | S %DT="EP",%DT(0)="-NOW" D ^%DT
|
---|
130 | S X=Y I Y<1 K X W !!?5,"Future dates are not allowed.",! K %DT(0) Q
|
---|
131 | S X=X,DTDX=$P($G(^ONCO(165.5,D0,0)),U,16),FAIL=""
|
---|
132 | I X<DTDX S FAIL=FAIL_"X"
|
---|
133 | I FAIL'="" D Q
|
---|
134 | .K X
|
---|
135 | .W !!?5,"The date entered must be later than or equal to the"
|
---|
136 | .I FAIL["X" W !?5,"DATE DX which is ",$E(DTDX,4,5)_"/"_$E(DTDX,6,7)_"/"_($E(DTDX,1,3)+1700),$S(FAIL["A":" and the",1:".")
|
---|
137 | .W ! K DTDX
|
---|
138 | S DFSP=$P($G(^ONCO(165.5,D0,3.1)),U,38)
|
---|
139 | I $D(X),$G(DIFLD)=50 D Q
|
---|
140 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"MOST DEFINITIVE SURG DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
141 | I $D(X),$G(DIFLD)=50.3 D Q
|
---|
142 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"MOST DEFINITIVE SURG @FAC DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
143 | I $D(X),$G(DIFLD)=138.2 D Q
|
---|
144 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"SCOPE OF LN SURGERY DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
145 | I $D(X),$G(DIFLD)=138.3 D Q
|
---|
146 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"SCOPE OF LN SURGERY @FAC DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
147 | I $D(X),$G(DIFLD)=139.2 D Q
|
---|
148 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"SURG PROC/OTHER SITE DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
149 | I $D(X),$G(DIFLD)=139.3 D Q
|
---|
150 | .I DFSP'="",DFSP'="0000000",DFSP'="9999999" I X<DFSP K X W !!?3,"SURG PROC/OTHER SITE @FAC DATE earlier than DATE FIRST SURGICAL PROCEDURE",!
|
---|
151 | Q
|
---|
152 | ;
|
---|
153 | NTIT ;INPUT TRANSFORM FOR DATE OF NO TREATMENT (165.5,124)
|
---|
154 | ;(NO FUTURE DATES AND >= DATE DX)
|
---|
155 | S NTDD=""
|
---|
156 | I (X="00/00/00")!(X="00/00/0000")!(X="00000000") K X Q
|
---|
157 | I (X="99/99/99")!(X="99/99/9999")!(X="99999999") K X Q
|
---|
158 | S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y I Y<1 K X W !!?5,"Future dates are not allowed.",! K %DT(0) Q
|
---|
159 | S DTDX=$P($G(^ONCO(165.5,D0,0)),U,16) I DTDX'="" I X<DTDX K X W !!?5,"This date must be later than or equal to the DATE DX of ",$E(DTDX,4,5)_"/"_$E(DTDX,6,7)_"/"_($E(DTDX,1,3)+1700)_".",! K DTDX Q
|
---|
160 | Q
|
---|
161 | ;
|
---|
162 | NT ;DATE OF NO TREATMENT (Input transform for treatment fields)
|
---|
163 | S NTDD=$P($G(^ONCO(165.5,D0,2.1)),U,11)
|
---|
164 | I (NTDD'="")&(X'=V) K X W !!?5,"This primary has a DATE OF NO TREATMENT of ",$E(NTDD,4,5)_"/"_$E(NTDD,6,7)_"/"_($E(NTDD,1,3)+1700)_".",!?5,"Treatments are not allowed unless the DATE OF NO TREATMENT is deleted.",!
|
---|
165 | K NTDD,V Q
|
---|
166 | ;
|
---|
167 | DBTS ;DATE BRACHYTHERAPY STARTED INPUT TRANSFORM (NOT FUTURE, DX<=DBS<=DBE)
|
---|
168 | S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y K:Y<1 X Q:'$D(X)
|
---|
169 | S DBE=$P($G(^ONCO(165.5,D0,"STS2")),U,13),DTDX=$P($G(^ONCO(165.5,D0,0)),U,16)
|
---|
170 | I DBE'="" K:X>DBE X Q:'$D(X)
|
---|
171 | I DTDX'="" K:X<DTDX X K %DT(0)
|
---|
172 | Q
|
---|
173 | DBTE ;DATE BRACHYTHERAPY ENDED INPUT TRANSFORM (NOT FUTURE, DBS<=DBE)
|
---|
174 | S %DT="EP",%DT(0)="-NOW" D ^%DT S X=Y K:Y<1 X I $D(X) S DBS=$P($G(^ONCO(165.5,D0,"STS2")),U,12) I DBS'="" K:X<DBS X K %DT(0)
|
---|
175 | Q
|
---|
176 | ;
|
---|
177 | ZS9S ;00/00/0000, 88/88/8888 and 99/99/9999 INPUT TRANSFORM
|
---|
178 | S ZS9S=1
|
---|
179 | I X="00/00/00" W *7,!!?5,"'00/00/00' is ambiguous. Enter a 4 digit year." K X Q
|
---|
180 | I X="00/00/0000" S X="0000000" Q
|
---|
181 | I X="00000000" S X="0000000" Q
|
---|
182 | ;
|
---|
183 | NINES ;99/99/9999 INPUT TRANSFORM
|
---|
184 | I X="99/99/99" W !!?5,"99/99/99 is ambiguous. Enter a 4 digit year." K X Q
|
---|
185 | I X="99/99/9999" S X=9999999 Q
|
---|
186 | I X="99999999" S X=9999999 Q
|
---|
187 | ;
|
---|
188 | EIGHTS ;88/88/8888 INPUT TRANSFORM
|
---|
189 | I $G(DIFLD)'=58.3,$G(DIFLD)'=58.5,$G(DIFLD)'=50,$G(DIFLD)'=50.3,$G(DIFLD)'=138.2,$G(DIFLD)'=138.3,$G(DIFLD)'=139.2,$G(DIFLD)'=139.3,$G(DIFLD)'=435 D K FLD Q:X=8888888
|
---|
190 | .I X="88/88/88" W !!?5,"88/88/88 is ambiguous. Enter a 4 digit year." K X Q
|
---|
191 | .I X="88/88/8888" S X=8888888
|
---|
192 | .I X="88888888" S X=8888888
|
---|
193 | S ZS9S=0
|
---|
194 | Q
|
---|