source: ccr/trunk/rxnorm/tags/2.5/RXNORM_FOR_VISTA_2P5.KID

Last change on this file was 1730, checked in by Sam Habiel, 8 years ago

2.5 version of RxNorm package

File size: 105.3 KB
Line 
1KIDS Distribution saved on Apr 27, 2016@16:00:11
2RXNORM FOR VISTA 2.5
3**KIDS**:RXNORM FOR VISTA 2.5^
4
5**INSTALL NAME**
6RXNORM FOR VISTA 2.5
7"BLD",9814,0)
8RXNORM FOR VISTA 2.5^RXNORM FOR VISTA^0^3160427^y
9"BLD",9814,1,0)
10^^35^35^3160427^
11"BLD",9814,1,1,0)
12This build and install is (C) Sam Habiel 2016. Distributed
13"BLD",9814,1,2,0)
14by the VISTA Expertise Network.
15"BLD",9814,1,3,0)
16
17"BLD",9814,1,4,0)
18Questions and Support: sam.habiel@vistaexpertise.net
19"BLD",9814,1,5,0)
20
21"BLD",9814,1,6,0)
22See accompanying License Terms for the terms of using this software.
23"BLD",9814,1,7,0)
24
25"BLD",9814,1,8,0)
26RxNorm is a vocabulary set and tables maintained by the National Library
27"BLD",9814,1,9,0)
28of Medicine. From the Website
29"BLD",9814,1,10,0)
30(http://www.nlm.nih.gov/research/umls/rxnorm/index.html):
31"BLD",9814,1,11,0)
32
33"BLD",9814,1,12,0)
34<<<
35"BLD",9814,1,13,0)
36RxNorm provides normalized names for clinical drugs and links its names to
37"BLD",9814,1,14,0)
38many of the drug vocabularies commonly used in pharmacy management and
39"BLD",9814,1,15,0)
40drug interaction software, including those of First Databank, Micromedex,
41"BLD",9814,1,16,0)
42MediSpan, Gold Standard, and Multum. By providing links between these
43"BLD",9814,1,17,0)
44vocabularies, RxNorm can mediate messages between systems not using the
45"BLD",9814,1,18,0)
46same software and vocabulary.
47"BLD",9814,1,19,0)
48
49"BLD",9814,1,20,0)
50RxNorm now includes the National Drug File - Reference Terminology
51"BLD",9814,1,21,0)
52(NDF-RT) from the Veterans Health Administration. NDF-RT is a terminology
53"BLD",9814,1,22,0)
54used to code clinical drug properties, including mechanism of action,
55"BLD",9814,1,23,0)
56physiologic effect, and therapeutic category.
57"BLD",9814,1,24,0)
58>>>
59"BLD",9814,1,25,0)
60
61"BLD",9814,1,26,0)
62This build consists of the data dictionaries for 6 files and 3 routines,
63"BLD",9814,1,27,0)
64one of them being the loader routine for the data.
65"BLD",9814,1,28,0)
66
67"BLD",9814,1,29,0)
68This build needs Fileman 22.2 for editing global nodes up to 16,000.
69"BLD",9814,1,30,0)
70You don't need Fileman 22.2 to read the data.
71"BLD",9814,1,31,0)
72
73"BLD",9814,1,32,0)
74On the M Virtual Machine, Global Nodes need to be 16,000 or more.
75"BLD",9814,1,33,0)
76
77"BLD",9814,1,34,0)
78On Fileman 22.2, to edit the global definitions or the data, you need to
79"BLD",9814,1,35,0)
80have ^DD("STRING_LIMIT")=16000 (needs to be manually set).
81"BLD",9814,4,0)
82^9.64PA^50.68^8
83"BLD",9814,4,50,0)
8450
85"BLD",9814,4,50,2,0)
86^9.641^50^1
87"BLD",9814,4,50,2,50,0)
88DRUG (File-top level)
89"BLD",9814,4,50,2,50,1,0)
90^9.6411^176.002^2
91"BLD",9814,4,50,2,50,1,176.001,0)
92RXNCUI
93"BLD",9814,4,50,2,50,1,176.002,0)
94RXN SCD NAME
95"BLD",9814,4,50,222)
96y^y^p^^^^n^^n
97"BLD",9814,4,50,224)
98
99"BLD",9814,4,50.68,0)
10050.68
101"BLD",9814,4,50.68,2,0)
102^9.641^50.68^1
103"BLD",9814,4,50.68,2,50.68,0)
104VA PRODUCT (File-top level)
105"BLD",9814,4,50.68,2,50.68,1,0)
106^9.6411^176.001^1
107"BLD",9814,4,50.68,2,50.68,1,176.001,0)
108COMPUTED GCNSEQNO
109"BLD",9814,4,50.68,222)
110y^y^p^^^^n^^n
111"BLD",9814,4,50.68,224)
112
113"BLD",9814,4,176.001,0)
114176.001
115"BLD",9814,4,176.001,222)
116y^y^f^^^^n
117"BLD",9814,4,176.002,0)
118176.002
119"BLD",9814,4,176.002,222)
120y^y^f^^^^n
121"BLD",9814,4,176.003,0)
122176.003
123"BLD",9814,4,176.003,222)
124y^y^f^^^^n
125"BLD",9814,4,176.004,0)
126176.004
127"BLD",9814,4,176.004,222)
128y^y^f^^^^n
129"BLD",9814,4,176.005,0)
130176.005
131"BLD",9814,4,176.005,222)
132y^y^f^^^^n
133"BLD",9814,4,176.006,0)
134176.006
135"BLD",9814,4,176.006,222)
136y^y^f^^^^n
137"BLD",9814,4,"APDD",50,50)
138
139"BLD",9814,4,"APDD",50,50,176.001)
140
141"BLD",9814,4,"APDD",50,50,176.002)
142
143"BLD",9814,4,"APDD",50.68,50.68)
144
145"BLD",9814,4,"APDD",50.68,50.68,176.001)
146
147"BLD",9814,4,"B",50,50)
148
149"BLD",9814,4,"B",50.68,50.68)
150
151"BLD",9814,4,"B",176.001,176.001)
152
153"BLD",9814,4,"B",176.002,176.002)
154
155"BLD",9814,4,"B",176.003,176.003)
156
157"BLD",9814,4,"B",176.004,176.004)
158
159"BLD",9814,4,"B",176.005,176.005)
160
161"BLD",9814,4,"B",176.006,176.006)
162
163"BLD",9814,6.3)
16418
165"BLD",9814,"ABPKG")
166n
167"BLD",9814,"KRN",0)
168^9.67PA^779.2^20
169"BLD",9814,"KRN",.4,0)
170.4
171"BLD",9814,"KRN",.401,0)
172.401
173"BLD",9814,"KRN",.402,0)
174.402
175"BLD",9814,"KRN",.403,0)
176.403
177"BLD",9814,"KRN",.5,0)
178.5
179"BLD",9814,"KRN",.84,0)
180.84
181"BLD",9814,"KRN",3.6,0)
1823.6
183"BLD",9814,"KRN",3.8,0)
1843.8
185"BLD",9814,"KRN",9.2,0)
1869.2
187"BLD",9814,"KRN",9.8,0)
1889.8
189"BLD",9814,"KRN",9.8,"NM",0)
190^9.68A^3^3
191"BLD",9814,"KRN",9.8,"NM",1,0)
192C0CRXNRD^^0^B52136432
193"BLD",9814,"KRN",9.8,"NM",2,0)
194C0CRXNLK^^0^B159120024
195"BLD",9814,"KRN",9.8,"NM",3,0)
196C0CRXNAD^^0^B18747982
197"BLD",9814,"KRN",9.8,"NM","B","C0CRXNAD",3)
198
199"BLD",9814,"KRN",9.8,"NM","B","C0CRXNLK",2)
200
201"BLD",9814,"KRN",9.8,"NM","B","C0CRXNRD",1)
202
203"BLD",9814,"KRN",19,0)
20419
205"BLD",9814,"KRN",19,"NM",0)
206^9.68A^^
207"BLD",9814,"KRN",19.1,0)
20819.1
209"BLD",9814,"KRN",101,0)
210101
211"BLD",9814,"KRN",409.61,0)
212409.61
213"BLD",9814,"KRN",771,0)
214771
215"BLD",9814,"KRN",779.2,0)
216779.2
217"BLD",9814,"KRN",870,0)
218870
219"BLD",9814,"KRN",8989.51,0)
2208989.51
221"BLD",9814,"KRN",8989.52,0)
2228989.52
223"BLD",9814,"KRN",8994,0)
2248994
225"BLD",9814,"KRN","B",.4,.4)
226
227"BLD",9814,"KRN","B",.401,.401)
228
229"BLD",9814,"KRN","B",.402,.402)
230
231"BLD",9814,"KRN","B",.403,.403)
232
233"BLD",9814,"KRN","B",.5,.5)
234
235"BLD",9814,"KRN","B",.84,.84)
236
237"BLD",9814,"KRN","B",3.6,3.6)
238
239"BLD",9814,"KRN","B",3.8,3.8)
240
241"BLD",9814,"KRN","B",9.2,9.2)
242
243"BLD",9814,"KRN","B",9.8,9.8)
244
245"BLD",9814,"KRN","B",19,19)
246
247"BLD",9814,"KRN","B",19.1,19.1)
248
249"BLD",9814,"KRN","B",101,101)
250
251"BLD",9814,"KRN","B",409.61,409.61)
252
253"BLD",9814,"KRN","B",771,771)
254
255"BLD",9814,"KRN","B",779.2,779.2)
256
257"BLD",9814,"KRN","B",870,870)
258
259"BLD",9814,"KRN","B",8989.51,8989.51)
260
261"BLD",9814,"KRN","B",8989.52,8989.52)
262
263"BLD",9814,"KRN","B",8994,8994)
264
265"BLD",9814,"QUES",0)
266^9.62^^
267"BLD",9814,"REQB",0)
268^9.611^^
269"FIA",50)
270DRUG
271"FIA",50,0)
272^PSDRUG(
273"FIA",50,0,0)
27450I
275"FIA",50,0,1)
276y^y^p^^^^n^^n
277"FIA",50,0,10)
278
279"FIA",50,0,11)
280
281"FIA",50,0,"RLRO")
282
283"FIA",50,0,"VR")
2842.5^RXNORM FOR VISTA
285"FIA",50,50)
2861
287"FIA",50,50,176.001)
288
289"FIA",50,50,176.002)
290
291"FIA",50.68)
292VA PRODUCT
293"FIA",50.68,0)
294^PSNDF(50.68,
295"FIA",50.68,0,0)
29650.68
297"FIA",50.68,0,1)
298y^y^p^^^^n^^n
299"FIA",50.68,0,10)
300
301"FIA",50.68,0,11)
302
303"FIA",50.68,0,"RLRO")
304
305"FIA",50.68,0,"VR")
3062.5^RXNORM FOR VISTA
307"FIA",50.68,50.68)
3081
309"FIA",50.68,50.68,176.001)
310
311"FIA",176.001)
312RXNORM CONCEPT NAMES AND SOURCES
313"FIA",176.001,0)
314^C0CRXN(176.001,
315"FIA",176.001,0,0)
316176.001I
317"FIA",176.001,0,1)
318y^y^f^^^^n
319"FIA",176.001,0,10)
320
321"FIA",176.001,0,11)
322
323"FIA",176.001,0,"RLRO")
324
325"FIA",176.001,0,"VR")
3262.5^RXNORM FOR VISTA
327"FIA",176.001,176.001)
3280
329"FIA",176.002)
330RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES
331"FIA",176.002,0)
332^C0CRXN(176.002,
333"FIA",176.002,0,0)
334176.002I
335"FIA",176.002,0,1)
336y^y^f^^^^n
337"FIA",176.002,0,10)
338
339"FIA",176.002,0,11)
340
341"FIA",176.002,0,"RLRO")
342
343"FIA",176.002,0,"VR")
3442.5^RXNORM FOR VISTA
345"FIA",176.002,176.002)
3460
347"FIA",176.003)
348RXNORM SOURCE INFORMATION
349"FIA",176.003,0)
350^C0CRXN(176.003,
351"FIA",176.003,0,0)
352176.003I
353"FIA",176.003,0,1)
354y^y^f^^^^n
355"FIA",176.003,0,10)
356
357"FIA",176.003,0,11)
358
359"FIA",176.003,0,"RLRO")
360
361"FIA",176.003,0,"VR")
3622.5^RXNORM FOR VISTA
363"FIA",176.003,176.003)
3640
365"FIA",176.004)
366RXNORM SEMANTIC TYPES
367"FIA",176.004,0)
368^C0CRXN(176.004,
369"FIA",176.004,0,0)
370176.004I
371"FIA",176.004,0,1)
372y^y^f^^^^n
373"FIA",176.004,0,10)
374
375"FIA",176.004,0,11)
376
377"FIA",176.004,0,"RLRO")
378
379"FIA",176.004,0,"VR")
3802.5^RXNORM FOR VISTA
381"FIA",176.004,176.004)
3820
383"FIA",176.005)
384RXNORM RELATED CONCEPTS
385"FIA",176.005,0)
386^C0CRXN(176.005,
387"FIA",176.005,0,0)
388176.005
389"FIA",176.005,0,1)
390y^y^f^^^^n
391"FIA",176.005,0,10)
392
393"FIA",176.005,0,11)
394
395"FIA",176.005,0,"RLRO")
396
397"FIA",176.005,0,"VR")
3982.5^RXNORM FOR VISTA
399"FIA",176.005,176.005)
4000
401"FIA",176.006)
402RXNORM DOCUMENTATION FOR ABBREVIATED VALUES
403"FIA",176.006,0)
404^C0CRXN(176.006,
405"FIA",176.006,0,0)
406176.006I
407"FIA",176.006,0,1)
408y^y^f^^^^n
409"FIA",176.006,0,10)
410
411"FIA",176.006,0,11)
412
413"FIA",176.006,0,"RLRO")
414
415"FIA",176.006,0,"VR")
4162.5^RXNORM FOR VISTA
417"FIA",176.006,176.006)
4180
419"IX",176.001,176.001,"B",0)
420176.001^B^Regular B Index^R^^F^IR^I^176.001^^^^^LS
421"IX",176.001,176.001,"B",1)
422S ^C0CRXN(176.001,"B",X,DA)=""
423"IX",176.001,176.001,"B",2)
424K ^C0CRXN(176.001,"B",X,DA)
425"IX",176.001,176.001,"B",2.5)
426K ^C0CRXN(176.001,"B")
427"IX",176.001,176.001,"B",11.1,0)
428^.114IA^1^1
429"IX",176.001,176.001,"B",11.1,1,0)
4301^F^176.001^.01^^1^F
431"IX",176.001,176.001,"B",11.1,1,3)
432
433"IX",176.001,176.001,"CODE",0)
434176.001^CODE^Code Index^R^^F^IR^I^176.001^^^^^LS
435"IX",176.001,176.001,"CODE",1)
436S ^C0CRXN(176.001,"CODE",X,DA)=""
437"IX",176.001,176.001,"CODE",2)
438K ^C0CRXN(176.001,"CODE",X,DA)
439"IX",176.001,176.001,"CODE",2.5)
440K ^C0CRXN(176.001,"CODE")
441"IX",176.001,176.001,"CODE",11.1,0)
442^.114IA^1^1
443"IX",176.001,176.001,"CODE",11.1,1,0)
4441^F^176.001^.14^^1^F
445"IX",176.001,176.001,"CODE",11.1,1,3)
446
447"IX",176.001,176.001,"STC",0)
448176.001^STC^Source Term Type Code Index^MU^^R^IR^I^176.001^^^^^LS
449"IX",176.001,176.001,"STC",.1,0)
450^^11^11^3130304^
451"IX",176.001,176.001,"STC",.1,1,0)
452Use this index to do compound searches on RxNorm Concepts.
453"IX",176.001,176.001,"STC",.1,2,0)
454
455"IX",176.001,176.001,"STC",.1,3,0)
456Examples:
457"IX",176.001,176.001,"STC",.1,4,0)
458SAB="NDDF", TTY="CDC", CODE={GCN} will give you the entry a clinical drug
459"IX",176.001,176.001,"STC",.1,5,0)
460in First Database with GCN Code {GCN}.
461"IX",176.001,176.001,"STC",.1,6,0)
462
463"IX",176.001,176.001,"STC",.1,7,0)
464SAB="RXNORM", TTY="SCD", CODE={RXNORM} will give you the entry that is
465"IX",176.001,176.001,"STC",.1,8,0)
466the Semantic Clinical Drug for the RxNorm code.
467"IX",176.001,176.001,"STC",.1,9,0)
468
469"IX",176.001,176.001,"STC",.1,10,0)
470SAB="VANDF", TTY="CD", CODE={VUID} will give you a drug that has that
471"IX",176.001,176.001,"STC",.1,11,0)
472VUID.
473"IX",176.001,176.001,"STC",1)
474S ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA)=X(4)
475"IX",176.001,176.001,"STC",2)
476K ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA)
477"IX",176.001,176.001,"STC",2.5)
478K ^C0CRXN(176.001,"STC")
479"IX",176.001,176.001,"STC",11.1,0)
480^.114IA^4^4
481"IX",176.001,176.001,"STC",11.1,1,0)
4821^F^176.001^.12^^1^F
483"IX",176.001,176.001,"STC",11.1,1,3)
484
485"IX",176.001,176.001,"STC",11.1,2,0)
4862^F^176.001^.13^^2^F
487"IX",176.001,176.001,"STC",11.1,2,3)
488
489"IX",176.001,176.001,"STC",11.1,3,0)
4903^F^176.001^.14^^3^F
491"IX",176.001,176.001,"STC",11.1,3,3)
492
493"IX",176.001,176.001,"STC",11.1,4,0)
4944^F^176.001^.01^^^F
495"IX",176.001,176.001,"STC",11.1,4,3)
496
497"IX",176.001,176.001,"STR",0)
498176.001^STR^String Lookup Index^R^^F^IR^I^176.001^^^^^LS
499"IX",176.001,176.001,"STR",1)
500S ^C0CRXN(176.001,"STR",$E(X,1,30),DA)=""
501"IX",176.001,176.001,"STR",2)
502K ^C0CRXN(176.001,"STR",$E(X,1,30),DA)
503"IX",176.001,176.001,"STR",2.5)
504K ^C0CRXN(176.001,"STR")
505"IX",176.001,176.001,"STR",11.1,0)
506^.114IA^1^1
507"IX",176.001,176.001,"STR",11.1,1,0)
5081^F^176.001^.15^30^1^F
509"IX",176.001,176.001,"STR",11.1,1,2)
510S X=$$UP^XLFSTR(X)
511"IX",176.001,176.001,"STR",11.1,1,3)
512
513"IX",176.001,176.001,"STR",11.1,1,4)
514S X=$$UP^XLFSTR(X)
515"IX",176.001,176.001,"STX",0)
516176.001^STX^Source Term Type RxCUI Code Index^MU^^R^IR^I^176.001^^^^^LS
517"IX",176.001,176.001,"STX",.1,0)
518^^5^5^3130305^
519"IX",176.001,176.001,"STX",.1,1,0)
520Use this index as a reverse of the STC index.
521"IX",176.001,176.001,"STX",.1,2,0)
522
523"IX",176.001,176.001,"STX",.1,3,0)
524The STC index will give you an entry if you know the source and the type
525"IX",176.001,176.001,"STX",.1,4,0)
526and the code. This index will give you the codes if you know the source,
527"IX",176.001,176.001,"STX",.1,5,0)
528the type, but not the code, but rather the RxNorm code.
529"IX",176.001,176.001,"STX",1)
530S ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA)=X(4)
531"IX",176.001,176.001,"STX",2)
532K ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA)
533"IX",176.001,176.001,"STX",2.5)
534K ^C0CRXN(176.001,"STX")
535"IX",176.001,176.001,"STX",11.1,0)
536^.114IA^4^4
537"IX",176.001,176.001,"STX",11.1,1,0)
5381^F^176.001^.12^^1^F
539"IX",176.001,176.001,"STX",11.1,1,3)
540
541"IX",176.001,176.001,"STX",11.1,2,0)
5422^F^176.001^.13^^2^F
543"IX",176.001,176.001,"STX",11.1,2,3)
544
545"IX",176.001,176.001,"STX",11.1,3,0)
5463^F^176.001^.01^^3^F
547"IX",176.001,176.001,"STX",11.1,3,3)
548
549"IX",176.001,176.001,"STX",11.1,4,0)
5504^F^176.001^.14^^^F
551"IX",176.001,176.001,"STX",11.1,4,3)
552
553"IX",176.002,176.002,"ANDFRT",0)
554176.002^ANDFRT^RxNorm NDFRT Index^R^^R^IR^I^176.002^^^^^S
555"IX",176.002,176.002,"ANDFRT",1)
556S ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA)=""
557"IX",176.002,176.002,"ANDFRT",1.4)
558S X=X(2)="NDFRT"
559"IX",176.002,176.002,"ANDFRT",2)
560K ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA)
561"IX",176.002,176.002,"ANDFRT",2.4)
562S X=X(2)="NDFRT"
563"IX",176.002,176.002,"ANDFRT",2.5)
564K ^C0CRXN(176.002,"ANDFRT")
565"IX",176.002,176.002,"ANDFRT",11.1,0)
566^.114IA^4^4
567"IX",176.002,176.002,"ANDFRT",11.1,1,0)
5681^F^176.002^.09^^1^F
569"IX",176.002,176.002,"ANDFRT",11.1,1,3)
570
571"IX",176.002,176.002,"ANDFRT",11.1,2,0)
5722^F^176.002^.1^^^F
573"IX",176.002,176.002,"ANDFRT",11.1,2,3)
574
575"IX",176.002,176.002,"ANDFRT",11.1,3,0)
5763^F^176.002^.01^30^2^F
577"IX",176.002,176.002,"ANDFRT",11.1,3,3)
578
579"IX",176.002,176.002,"ANDFRT",11.1,4,0)
5804^F^176.002^.11^30^3^F
581"IX",176.002,176.002,"ANDFRT",11.1,4,3)
582
583"IX",176.002,176.002,"ASAA",0)
584176.002^ASAA^SAB (Source) ATN (Attribute Name) ATV (Value) Index^MU^^R^IR^I^176.002^^^^^S
585"IX",176.002,176.002,"ASAA",1)
586S ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA)=X(4)
587"IX",176.002,176.002,"ASAA",2)
588K ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA)
589"IX",176.002,176.002,"ASAA",2.5)
590K ^C0CRXN(176.002,"ASAA")
591"IX",176.002,176.002,"ASAA",11.1,0)
592^.114IA^4^4
593"IX",176.002,176.002,"ASAA",11.1,1,0)
5941^F^176.002^.1^^1^F
595"IX",176.002,176.002,"ASAA",11.1,1,3)
596
597"IX",176.002,176.002,"ASAA",11.1,2,0)
5982^F^176.002^.01^30^2^F
599"IX",176.002,176.002,"ASAA",11.1,2,3)
600
601"IX",176.002,176.002,"ASAA",11.1,3,0)
6023^F^176.002^.11^30^3^F
603"IX",176.002,176.002,"ASAA",11.1,3,3)
604
605"IX",176.002,176.002,"ASAA",11.1,4,0)
6064^F^176.002^.09^^^F
607"IX",176.002,176.002,"ASAA",11.1,4,3)
608
609"IX",176.002,176.002,"ASAR",0)
610176.002^ASAR^SAB (Source) ATN (Attribute Name) RxCUI Index^MU^^R^IR^I^176.002^^^^^S
611"IX",176.002,176.002,"ASAR",1)
612S ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA)=X(4)
613"IX",176.002,176.002,"ASAR",2)
614K ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA)
615"IX",176.002,176.002,"ASAR",2.5)
616K ^C0CRXN(176.002,"ASAR")
617"IX",176.002,176.002,"ASAR",11.1,0)
618^.114IA^4^4
619"IX",176.002,176.002,"ASAR",11.1,1,0)
6201^F^176.002^.1^^1^F
621"IX",176.002,176.002,"ASAR",11.1,1,3)
622
623"IX",176.002,176.002,"ASAR",11.1,2,0)
6242^F^176.002^.01^30^2^F
625"IX",176.002,176.002,"ASAR",11.1,2,3)
626
627"IX",176.002,176.002,"ASAR",11.1,3,0)
6283^F^176.002^.09^^3^F
629"IX",176.002,176.002,"ASAR",11.1,3,3)
630
631"IX",176.002,176.002,"ASAR",11.1,4,0)
6324^F^176.002^.11^^^F
633"IX",176.002,176.002,"ASAR",11.1,4,3)
634
635"IX",176.002,176.002,"RXCUI",0)
636176.002^RXCUI^RXCUI Index^R^^F^IR^I^176.002^^^^^LS
637"IX",176.002,176.002,"RXCUI",1)
638S ^C0CRXN(176.002,"RXCUI",X,DA)=""
639"IX",176.002,176.002,"RXCUI",2)
640K ^C0CRXN(176.002,"RXCUI",X,DA)
641"IX",176.002,176.002,"RXCUI",2.5)
642K ^C0CRXN(176.002,"RXCUI")
643"IX",176.002,176.002,"RXCUI",11.1,0)
644^.114IA^1^1
645"IX",176.002,176.002,"RXCUI",11.1,1,0)
6461^F^176.002^.09^^1^F
647"IX",176.005,176.005,"B",0)
648176.005^B^Compound Index for RXCUI1/RELA/RXCUI2^R^^R^IR^I^176.005^^^^^LS
649"IX",176.005,176.005,"B",1)
650S ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA)=""
651"IX",176.005,176.005,"B",2)
652K ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA)
653"IX",176.005,176.005,"B",2.5)
654K ^C0CRXN(176.005,"B")
655"IX",176.005,176.005,"B",11.1,0)
656^.114IA^3^3
657"IX",176.005,176.005,"B",11.1,1,0)
6581^F^176.005^.11^^1^F
659"IX",176.005,176.005,"B",11.1,1,3)
660
661"IX",176.005,176.005,"B",11.1,2,0)
6622^F^176.005^.08^^2^F
663"IX",176.005,176.005,"B",11.1,2,3)
664
665"IX",176.005,176.005,"B",11.1,3,0)
6663^F^176.005^.05^^3^F
667"IX",176.005,176.005,"B",11.1,3,3)
668
669"MBREQ")
6700
671"PKG",228,-1)
6721^1
673"PKG",228,0)
674RXNORM FOR VISTA^C0CR^RxNorm data dictionaries and loading routines for VISTA
675"PKG",228,20,0)
676^9.402P^^
677"PKG",228,22,0)
678^9.49I^1^1
679"PKG",228,22,1,0)
6802.5^3160427
681"PKG",228,22,1,1,0)
682^^35^35^3160427
683"PKG",228,22,1,1,1,0)
684This build and install is (C) Sam Habiel 2016. Distributed
685"PKG",228,22,1,1,2,0)
686by the VISTA Expertise Network.
687"PKG",228,22,1,1,3,0)
688
689"PKG",228,22,1,1,4,0)
690Questions and Support: sam.habiel@vistaexpertise.net
691"PKG",228,22,1,1,5,0)
692
693"PKG",228,22,1,1,6,0)
694See accompanying License Terms for the terms of using this software.
695"PKG",228,22,1,1,7,0)
696
697"PKG",228,22,1,1,8,0)
698RxNorm is a vocabulary set and tables maintained by the National Library
699"PKG",228,22,1,1,9,0)
700of Medicine. From the Website
701"PKG",228,22,1,1,10,0)
702(http://www.nlm.nih.gov/research/umls/rxnorm/index.html):
703"PKG",228,22,1,1,11,0)
704
705"PKG",228,22,1,1,12,0)
706<<<
707"PKG",228,22,1,1,13,0)
708RxNorm provides normalized names for clinical drugs and links its names to
709"PKG",228,22,1,1,14,0)
710many of the drug vocabularies commonly used in pharmacy management and
711"PKG",228,22,1,1,15,0)
712drug interaction software, including those of First Databank, Micromedex,
713"PKG",228,22,1,1,16,0)
714MediSpan, Gold Standard, and Multum. By providing links between these
715"PKG",228,22,1,1,17,0)
716vocabularies, RxNorm can mediate messages between systems not using the
717"PKG",228,22,1,1,18,0)
718same software and vocabulary.
719"PKG",228,22,1,1,19,0)
720
721"PKG",228,22,1,1,20,0)
722RxNorm now includes the National Drug File - Reference Terminology
723"PKG",228,22,1,1,21,0)
724(NDF-RT) from the Veterans Health Administration. NDF-RT is a terminology
725"PKG",228,22,1,1,22,0)
726used to code clinical drug properties, including mechanism of action,
727"PKG",228,22,1,1,23,0)
728physiologic effect, and therapeutic category.
729"PKG",228,22,1,1,24,0)
730>>>
731"PKG",228,22,1,1,25,0)
732
733"PKG",228,22,1,1,26,0)
734This build consists of the data dictionaries for 6 files and 3 routines,
735"PKG",228,22,1,1,27,0)
736one of them being the loader routine for the data.
737"PKG",228,22,1,1,28,0)
738
739"PKG",228,22,1,1,29,0)
740This build needs Fileman 22.2 for editing global nodes up to 16,000.
741"PKG",228,22,1,1,30,0)
742You don't need Fileman 22.2 to read the data.
743"PKG",228,22,1,1,31,0)
744
745"PKG",228,22,1,1,32,0)
746On the M Virtual Machine, Global Nodes need to be 16,000 or more.
747"PKG",228,22,1,1,33,0)
748
749"PKG",228,22,1,1,34,0)
750On Fileman 22.2, to edit the global definitions or the data, you need to
751"PKG",228,22,1,1,35,0)
752have ^DD("STRING_LIMIT")=16000 (needs to be manually set).
753"PKG",228,"DEV")
754SAM HABIEL/VEN
755"PKG",228,"VERSION")
7562.5
757"QUES","XPF1",0)
758Y
759"QUES","XPF1","??")
760^D REP^XPDH
761"QUES","XPF1","A")
762Shall I write over your |FLAG| File
763"QUES","XPF1","B")
764YES
765"QUES","XPF1","M")
766D XPF1^XPDIQ
767"QUES","XPF2",0)
768Y
769"QUES","XPF2","??")
770^D DTA^XPDH
771"QUES","XPF2","A")
772Want my data |FLAG| yours
773"QUES","XPF2","B")
774YES
775"QUES","XPF2","M")
776D XPF2^XPDIQ
777"QUES","XPI1",0)
778YO
779"QUES","XPI1","??")
780^D INHIBIT^XPDH
781"QUES","XPI1","A")
782Want KIDS to INHIBIT LOGONs during the install
783"QUES","XPI1","B")
784NO
785"QUES","XPI1","M")
786D XPI1^XPDIQ
787"QUES","XPM1",0)
788PO^VA(200,:EM
789"QUES","XPM1","??")
790^D MG^XPDH
791"QUES","XPM1","A")
792Enter the Coordinator for Mail Group '|FLAG|'
793"QUES","XPM1","B")
794
795"QUES","XPM1","M")
796D XPM1^XPDIQ
797"QUES","XPO1",0)
798Y
799"QUES","XPO1","??")
800^D MENU^XPDH
801"QUES","XPO1","A")
802Want KIDS to Rebuild Menu Trees Upon Completion of Install
803"QUES","XPO1","B")
804NO
805"QUES","XPO1","M")
806D XPO1^XPDIQ
807"QUES","XPZ1",0)
808Y
809"QUES","XPZ1","??")
810^D OPT^XPDH
811"QUES","XPZ1","A")
812Want to DISABLE Scheduled Options, Menu Options, and Protocols
813"QUES","XPZ1","B")
814NO
815"QUES","XPZ1","M")
816D XPZ1^XPDIQ
817"QUES","XPZ2",0)
818Y
819"QUES","XPZ2","??")
820^D RTN^XPDH
821"QUES","XPZ2","A")
822Want to MOVE routines to other CPUs
823"QUES","XPZ2","B")
824NO
825"QUES","XPZ2","M")
826D XPZ2^XPDIQ
827"RTN")
8283
829"RTN","C0CRXNAD")
8300^3^B18747982
831"RTN","C0CRXNAD",1,0)
832C0CRXNAD ; VEN/SMH - Add a drug to VISTA from RxNorm;2013-04-19 5:39 PM
833"RTN","C0CRXNAD",2,0)
834 ;;2.5;RXNORM FOR VISTA;;Apr 27, 2016;Build 18
835"RTN","C0CRXNAD",3,0)
836 ; (C) 2013 Sam Habiel
837"RTN","C0CRXNAD",4,0)
838 ; Proprietary Code. Don't use if license terms aren't supplied.
839"RTN","C0CRXNAD",5,0)
840 ;
841"RTN","C0CRXNAD",6,0)
842ADDDRUG(RXN,NDC,BARCODE) ; Public Proc; Add Drug to Drug File
843"RTN","C0CRXNAD",7,0)
844 ; Input: RXN - RxNorm Semantic Clinical Drug CUI by Value. Required.
845"RTN","C0CRXNAD",8,0)
846 ; Input: NDC - Drug NDC by Value. Optional. Pass in 11 digit format without dashes.
847"RTN","C0CRXNAD",9,0)
848 ; Input: BARCODE - Wand Barcode. Optional. Pass exactly as wand reads minus control characters.
849"RTN","C0CRXNAD",10,0)
850 ; Output: Internal Entry Number
851"RTN","C0CRXNAD",11,0)
852 ;
853"RTN","C0CRXNAD",12,0)
854 ; Prelim Checks
855"RTN","C0CRXNAD",13,0)
856 I '$G(RXN) S $EC=",U1," ; Required
857"RTN","C0CRXNAD",14,0)
858 I $L($G(NDC)),$L(NDC)'=11 S $EC=",U1,"
859"RTN","C0CRXNAD",15,0)
860 ;
861"RTN","C0CRXNAD",16,0)
862 N PSSZ S PSSZ=1 ; Needed for the drug file to let me in!
863"RTN","C0CRXNAD",17,0)
864 ;
865"RTN","C0CRXNAD",18,0)
866 ; If RXN refers to a brand drug, get the generic instead.
867"RTN","C0CRXNAD",19,0)
868 I $$ISBRAND^C0CRXNLK(RXN) S RXN=$$BR2GEN^C0CRXNLK(RXN)
869"RTN","C0CRXNAD",20,0)
870 W !,"(debug) RxNorm is "_RXN,!
871"RTN","C0CRXNAD",21,0)
872 ;
873"RTN","C0CRXNAD",22,0)
874 ; Get first VUID for this RxNorm drug
875"RTN","C0CRXNAD",23,0)
876 N VUID S VUID=+$$RXN2VUI^C0CRXNLK(RXN)
877"RTN","C0CRXNAD",24,0)
878 Q:'VUID
879"RTN","C0CRXNAD",25,0)
880 W "(debug) VUID for RxNorm CUI "_RXN_" is "_VUID,!
881"RTN","C0CRXNAD",26,0)
882 ;
883"RTN","C0CRXNAD",27,0)
884 ; IEN in 50.68
885"RTN","C0CRXNAD",28,0)
886 N C0XVUID ; For Searching Compound Index
887"RTN","C0CRXNAD",29,0)
888 S C0XVUID(1)=VUID
889"RTN","C0CRXNAD",30,0)
890 S C0XVUID(2)=1
891"RTN","C0CRXNAD",31,0)
892 N F5068IEN S F5068IEN=$$FIND1^DIC(50.68,"","XQ",.C0XVUID,"AMASTERVUID")
893"RTN","C0CRXNAD",32,0)
894 Q:'F5068IEN
895"RTN","C0CRXNAD",33,0)
896 W "F 50.68 IEN (debug): "_F5068IEN,!
897"RTN","C0CRXNAD",34,0)
898 ;
899"RTN","C0CRXNAD",35,0)
900 ; FDA Array
901"RTN","C0CRXNAD",36,0)
902 N C0XFDA
903"RTN","C0CRXNAD",37,0)
904 ;
905"RTN","C0CRXNAD",38,0)
906 ; Name, shortened
907"RTN","C0CRXNAD",39,0)
908 S C0XFDA(50,"+1,",.01)=$E($$GET1^DIQ(50.68,F5068IEN,.01),1,40)
909"RTN","C0CRXNAD",40,0)
910 ;
911"RTN","C0CRXNAD",41,0)
912 ; File BarCode as a Synonym for BCMA
913"RTN","C0CRXNAD",42,0)
914 I $L($G(BARCODE)) D
915"RTN","C0CRXNAD",43,0)
916 . S C0XFDA(50.1,"+2,+1,",.01)=BARCODE
917"RTN","C0CRXNAD",44,0)
918 . S C0XFDA(50.1,"+2,+1,",1)="Q"
919"RTN","C0CRXNAD",45,0)
920 ;
921"RTN","C0CRXNAD",46,0)
922 ; Brand Names
923"RTN","C0CRXNAD",47,0)
924 N BNS S BNS=$$RXN2BNS^C0CRXNLK(RXN) ; Brands
925"RTN","C0CRXNAD",48,0)
926 I $L(BNS) N I F I=1:1:$L(BNS,U) D
927"RTN","C0CRXNAD",49,0)
928 . N IENS S IENS=I+2
929"RTN","C0CRXNAD",50,0)
930 . S C0XFDA(50.1,"+"_IENS_",+1,",.01)=$$UP^XLFSTR($E($P(BNS,U,I),1,40))
931"RTN","C0CRXNAD",51,0)
932 . S C0XFDA(50.1,"+"_IENS_",+1,",1)="T"
933"RTN","C0CRXNAD",52,0)
934 ;
935"RTN","C0CRXNAD",53,0)
936 ; NDC (string)
937"RTN","C0CRXNAD",54,0)
938 I $G(NDC) S C0XFDA(50,"+1,",31)=$E(NDC,1,5)_"-"_$E(NDC,6,9)_"-"_$E(NDC,10,11)
939"RTN","C0CRXNAD",55,0)
940 ;
941"RTN","C0CRXNAD",56,0)
942 ; Dispense Unit (string)
943"RTN","C0CRXNAD",57,0)
944 S C0XFDA(50,"+1,",14.5)=$$GET1^DIQ(50.68,F5068IEN,"VA DISPENSE UNIT")
945"RTN","C0CRXNAD",58,0)
946 ;
947"RTN","C0CRXNAD",59,0)
948 ; National Drug File Entry (pointer to 50.6)
949"RTN","C0CRXNAD",60,0)
950 S C0XFDA(50,"+1,",20)="`"_$$GET1^DIQ(50.68,F5068IEN,"VA GENERIC NAME","I")
951"RTN","C0CRXNAD",61,0)
952 ;
953"RTN","C0CRXNAD",62,0)
954 ; VA Product Name (string)
955"RTN","C0CRXNAD",63,0)
956 S C0XFDA(50,"+1,",21)=$E($$GET1^DIQ(50.68,F5068IEN,.01),1,70)
957"RTN","C0CRXNAD",64,0)
958 ;
959"RTN","C0CRXNAD",65,0)
960 ; PSNDF VA PRODUCT NAME ENTRY (pointer to 50.68)
961"RTN","C0CRXNAD",66,0)
962 S C0XFDA(50,"+1,",22)="`"_F5068IEN
963"RTN","C0CRXNAD",67,0)
964 ;
965"RTN","C0CRXNAD",68,0)
966 ; DEA, SPECIAL HDLG (string)
967"RTN","C0CRXNAD",69,0)
968 D ; From ^PSNMRG
969"RTN","C0CRXNAD",70,0)
970 . N CS S CS=$$GET1^DIQ(50.68,F5068IEN,"CS FEDERAL SCHEDULE","I")
971"RTN","C0CRXNAD",71,0)
972 . S CS=$S(CS?1(1"2n",1"3n"):+CS_"C",+CS=2!(+CS=3)&(CS'["C"):+CS_"A",1:CS)
973"RTN","C0CRXNAD",72,0)
974 . S C0XFDA(50,"+1,",3)=CS
975"RTN","C0CRXNAD",73,0)
976 ;
977"RTN","C0CRXNAD",74,0)
978 ; NATIONAL DRUG CLASS (pointer to 50.605) (triggers VA Classification field)
979"RTN","C0CRXNAD",75,0)
980 S C0XFDA(50,"+1,",25)="`"_$$GET1^DIQ(50.68,F5068IEN,"PRIMARY VA DRUG CLASS","I")
981"RTN","C0CRXNAD",76,0)
982 ;
983"RTN","C0CRXNAD",77,0)
984 ; Right Now, I don't file the following which ^PSNMRG does (cuz I don't need them)
985"RTN","C0CRXNAD",78,0)
986 ; - Package Size (derived from NDC/UPN file)
987"RTN","C0CRXNAD",79,0)
988 ; - Package Type (ditto)
989"RTN","C0CRXNAD",80,0)
990 ; - CMOP ID (from $$PROD2^PSNAPIS)
991"RTN","C0CRXNAD",81,0)
992 ; - National Formulary Indicator (from 50.68)
993"RTN","C0CRXNAD",82,0)
994 ;
995"RTN","C0CRXNAD",83,0)
996 ; Next Step is to kill Old OI if Dosage Form doesn't match
997"RTN","C0CRXNAD",84,0)
998 ; Won't do that here as it's assumed any drugs that's added is new.
999"RTN","C0CRXNAD",85,0)
1000 ; This happens at ^PSNPSS
1001"RTN","C0CRXNAD",86,0)
1002 ;
1003"RTN","C0CRXNAD",87,0)
1004 ; Now add drug to drug file, as we need the IEN for the dosages call.
1005"RTN","C0CRXNAD",88,0)
1006 N C0XERR,C0XIEN
1007"RTN","C0CRXNAD",89,0)
1008 D UPDATE^DIE("E","C0XFDA","C0XIEN","C0XERR")
1009"RTN","C0CRXNAD",90,0)
1010 S:$D(C0XERR) $EC=",U1,"
1011"RTN","C0CRXNAD",91,0)
1012 ;
1013"RTN","C0CRXNAD",92,0)
1014 ; Next Step: Kill off old doses and add new ones.
1015"RTN","C0CRXNAD",93,0)
1016 D EN2^PSSUTIL(C0XIEN(1))
1017"RTN","C0CRXNAD",94,0)
1018 ;
1019"RTN","C0CRXNAD",95,0)
1020 ; Mark uses for the Drug; use the undocumented Silent call in PSSGIU
1021"RTN","C0CRXNAD",96,0)
1022 N PSIUDA,PSIUX ; Expected Input variables
1023"RTN","C0CRXNAD",97,0)
1024 S PSIUDA=C0XIEN(1),PSIUX="O^Outpatient Pharmacy" D ENS^PSSGIU
1025"RTN","C0CRXNAD",98,0)
1026 S PSIUDA=C0XIEN(1),PSIUX="U^Unit Dose" D ENS^PSSGIU
1027"RTN","C0CRXNAD",99,0)
1028 S PSIUDA=C0XIEN(1),PSIUX="X^Non-VA Med" D ENS^PSSGIU
1029"RTN","C0CRXNAD",100,0)
1030 ;
1031"RTN","C0CRXNAD",101,0)
1032 ; Get VA Generic text and VA Product pointer for Orderable Item creation plus dosage form information
1033"RTN","C0CRXNAD",102,0)
1034 N VAGENP S VAGENP=$P(^PSDRUG(C0XIEN(1),"ND"),U) ; VA Generic Pointer
1035"RTN","C0CRXNAD",103,0)
1036 N VAGEN S VAGEN=$$VAGN^PSNAPIS(VAGENP) ; VA Generic Full name
1037"RTN","C0CRXNAD",104,0)
1038 N VAPRODP S VAPRODP=$P(^PSDRUG(C0XIEN(1),"ND"),U,3) ; VA Product Pointer
1039"RTN","C0CRXNAD",105,0)
1040 N DOSAGE S DOSAGE=$$PSJDF^PSNAPIS(0,VAPRODP) ; IEN of dose form in 50.606 ^ Text
1041"RTN","C0CRXNAD",106,0)
1042 N DOSEPTR S DOSEPTR=$P(DOSAGE,U) ; ditto
1043"RTN","C0CRXNAD",107,0)
1044 N DOSEFORM S DOSEFORM=$P(DOSAGE,U,2) ;ditto
1045"RTN","C0CRXNAD",108,0)
1046 ;
1047"RTN","C0CRXNAD",109,0)
1048 ; Get the (possibly new) Orderable Item Text
1049"RTN","C0CRXNAD",110,0)
1050 N VAG40 S VAG40=$E(VAGEN,1,40) ; Max length of .01 field
1051"RTN","C0CRXNAD",111,0)
1052 ;
1053"RTN","C0CRXNAD",112,0)
1054 ; See if there is an existing orderable item already. If so, populate the Pharmacy Orderable item on drug file.
1055"RTN","C0CRXNAD",113,0)
1056 N OI S OI=$O(^PS(50.7,"ADF",VAG40,DOSEPTR,""))
1057"RTN","C0CRXNAD",114,0)
1058 ;
1059"RTN","C0CRXNAD",115,0)
1060 ; Otherwise, add a new one. (See MCHAN+12^PSSPOIMN)
1061"RTN","C0CRXNAD",116,0)
1062 I 'OI D
1063"RTN","C0CRXNAD",117,0)
1064 . N C0XFDA,C0XERR
1065"RTN","C0CRXNAD",118,0)
1066 . S C0XFDA(50.7,"+1,",.01)=VAG40
1067"RTN","C0CRXNAD",119,0)
1068 . S C0XFDA(50.7,"+1,",.02)=DOSEPTR
1069"RTN","C0CRXNAD",120,0)
1070 . D UPDATE^DIE("",$NA(C0XFDA),$NA(OI),$NA(C0XERR))
1071"RTN","C0CRXNAD",121,0)
1072 . I $D(C0XERR) S $EC=",U1,"
1073"RTN","C0CRXNAD",122,0)
1074 . S OI=OI(1) ; For ease of use...
1075"RTN","C0CRXNAD",123,0)
1076 . ; Next two statements: See FIN^PSSPOIM1 and MF^PSSDEE.
1077"RTN","C0CRXNAD",124,0)
1078 . D EN^PSSPOIDT(OI) ; Update Indexes; activations, etc.
1079"RTN","C0CRXNAD",125,0)
1080 . D EN2^PSSHL1(OI,"MUP") ; Send HL7 message to CPRS
1081"RTN","C0CRXNAD",126,0)
1082 ;
1083"RTN","C0CRXNAD",127,0)
1084 ; Finally, add the orderable Item to the drug file.
1085"RTN","C0CRXNAD",128,0)
1086 N C0XFDA,C0XERR S C0XFDA(50,C0XIEN(1)_",",2.1)=OI ; Orderable Item
1087"RTN","C0CRXNAD",129,0)
1088 D FILE^DIE("",$NA(C0XFDA),$NA(C0XERR))
1089"RTN","C0CRXNAD",130,0)
1090 S:$D(C0XERR) $EC=",U1,"
1091"RTN","C0CRXNAD",131,0)
1092 ;
1093"RTN","C0CRXNAD",132,0)
1094EX QUIT C0XIEN(1)
1095"RTN","C0CRXNLK")
10960^2^B159120024
1097"RTN","C0CRXNLK",1,0)
1098C0CRXNLK ; VEN/SMH - RxNorm Lookup Utilities ;2014-07-22 2:27 PM
1099"RTN","C0CRXNLK",2,0)
1100 ;;2.5;RXNORM FOR VISTA;;Apr 27, 2016;Build 18
1101"RTN","C0CRXNLK",3,0)
1102 ;(c) Sam Habiel 2016
1103"RTN","C0CRXNLK",4,0)
1104 ; See accompanying license. Don't use otherwise.
1105"RTN","C0CRXNLK",5,0)
1106 ;
1107"RTN","C0CRXNLK",6,0)
1108 S IO=$P
1109"RTN","C0CRXNLK",7,0)
1110 N DIQUIET S DIQUIET=1
1111"RTN","C0CRXNLK",8,0)
1112 D DT^DICRW
1113"RTN","C0CRXNLK",9,0)
1114 D EN^%ut($T(+0),2)
1115"RTN","C0CRXNLK",10,0)
1116 QUIT
1117"RTN","C0CRXNLK",11,0)
1118 ;
1119"RTN","C0CRXNLK",12,0)
1120EXIST(RXN) ; $$ Public - Does this RxNorm CUI exist?
1121"RTN","C0CRXNLK",13,0)
1122 ; Input: RxNorm CUI by value
1123"RTN","C0CRXNLK",14,0)
1124 ; Output: Extrinsic
1125"RTN","C0CRXNLK",15,0)
1126 Q ''$D(^C0CRXN(176.001,"B",RXN))
1127"RTN","C0CRXNLK",16,0)
1128 ;
1129"RTN","C0CRXNLK",17,0)
1130GCN2RXN(GCN) ; $$ Public - Get RxNorm CUI using GCN
1131"RTN","C0CRXNLK",18,0)
1132 ; Input: GCN by Value
1133"RTN","C0CRXNLK",19,0)
1134 ; Output: Extrinsic
1135"RTN","C0CRXNLK",20,0)
1136 S GCN=$$RJ^XLFSTR(GCN,6,0) ; pad to six digits by zeros (123 becomes 000123)
1137"RTN","C0CRXNLK",21,0)
1138 N IEN S IEN=$O(^C0CRXN(176.001,"STC","NDDF","CDC",GCN,"")) ; Get Entry
1139"RTN","C0CRXNLK",22,0)
1140 Q ^(IEN)
1141"RTN","C0CRXNLK",23,0)
1142 ;
1143"RTN","C0CRXNLK",24,0)
1144GCN2RXNT ; @TEST Test Get RxNorm CUI using GCN
1145"RTN","C0CRXNLK",25,0)
1146 Q:'$D(^C0CRXN(176.001,"STC","NDDF"))
1147"RTN","C0CRXNLK",26,0)
1148 N L F L=1:1 N LN S LN=$T(GCN2RXND+L) Q:LN["<<END>>" Q:LN="" D
1149"RTN","C0CRXNLK",27,0)
1150 . N GCN S GCN=$P(LN,";",3)
1151"RTN","C0CRXNLK",28,0)
1152 . N RXN S RXN=$P(LN,";",4)
1153"RTN","C0CRXNLK",29,0)
1154 . D CHKEQ^%ut($$GCN2RXN(GCN),RXN,"Translation from GCN to RXCUI failed")
1155"RTN","C0CRXNLK",30,0)
1156 QUIT
1157"RTN","C0CRXNLK",31,0)
1158 ;
1159"RTN","C0CRXNLK",32,0)
1160GCN2RXND ; @DATA - Data for Tests ;;GCN;EXPECTED RXNCUI
1161"RTN","C0CRXNLK",33,0)
1162 ;;8208;310429
1163"RTN","C0CRXNLK",34,0)
1164 ;;1275;628953
1165"RTN","C0CRXNLK",35,0)
1166 ;;18;197604
1167"RTN","C0CRXNLK",36,0)
1168 ;;346;884173
1169"RTN","C0CRXNLK",37,0)
1170 ;;<<END>>
1171"RTN","C0CRXNLK",38,0)
1172 ;
1173"RTN","C0CRXNLK",39,0)
1174 ;
1175"RTN","C0CRXNLK",40,0)
1176 ;
1177"RTN","C0CRXNLK",41,0)
1178RXN2GCN(RXNCUI) ; $$ Public - Get GCN(s) given an RxNorm Number
1179"RTN","C0CRXNLK",42,0)
1180 ; Input: RXNCUI by Value
1181"RTN","C0CRXNLK",43,0)
1182 ; Output: Caret delimited Extrinsic
1183"RTN","C0CRXNLK",44,0)
1184 N GCNS S GCNS=""
1185"RTN","C0CRXNLK",45,0)
1186 N I S I=""
1187"RTN","C0CRXNLK",46,0)
1188 F S I=$O(^C0CRXN(176.001,"STX","NDDF","CDC",RXNCUI,I)) Q:I="" S GCNS=GCNS_+^(I)_U ; + b/c we want the GCN w/o leading zeros
1189"RTN","C0CRXNLK",47,0)
1190 S GCNS=$E(GCNS,1,$L(GCNS)-1) ; remove trailing ^
1191"RTN","C0CRXNLK",48,0)
1192 Q GCNS
1193"RTN","C0CRXNLK",49,0)
1194 ;
1195"RTN","C0CRXNLK",50,0)
1196RXN2GCNT ; @TEST Test Get GCN from RXNCUI
1197"RTN","C0CRXNLK",51,0)
1198 Q:'$D(^C0CRXN(176.001,"STX","NDDF"))
1199"RTN","C0CRXNLK",52,0)
1200 N L F L=1:1 N LN S LN=$T(RXN2GCND+L) Q:LN["<<END>>" Q:LN="" D
1201"RTN","C0CRXNLK",53,0)
1202 . N RXN S RXN=$P(LN,";",3)
1203"RTN","C0CRXNLK",54,0)
1204 . N GCN S GCN=$P(LN,";",4)
1205"RTN","C0CRXNLK",55,0)
1206 . D CHKEQ^%ut($$RXN2GCN(RXN),GCN,"Translation from RXCUI to GCN failed")
1207"RTN","C0CRXNLK",56,0)
1208 QUIT
1209"RTN","C0CRXNLK",57,0)
1210 ;
1211"RTN","C0CRXNLK",58,0)
1212 ;
1213"RTN","C0CRXNLK",59,0)
1214RXN2GCND ; @DATA - Data for Tests ;;RXNORM CUI;Expected GCN; Human Readable Drug name for dear reader
1215"RTN","C0CRXNLK",60,0)
1216 ;;998689;5145;Acetabulol 200mg tab
1217"RTN","C0CRXNLK",61,0)
1218 ;;745679;28090;Albuterol Inhaler
1219"RTN","C0CRXNLK",62,0)
1220 ;;197320;2536;Allopurinol 300mg tab
1221"RTN","C0CRXNLK",63,0)
1222 ;;993691;46236;Bupropion 75mg tab
1223"RTN","C0CRXNLK",64,0)
1224 ;;197591;3768;Diazepam 5mg tab
1225"RTN","C0CRXNLK",65,0)
1226 ;;<<END>>
1227"RTN","C0CRXNLK",66,0)
1228 ;
1229"RTN","C0CRXNLK",67,0)
1230 ;
1231"RTN","C0CRXNLK",68,0)
1232 ;
1233"RTN","C0CRXNLK",69,0)
1234RXN2VUI(RXNCUI) ; $$ Public - Get VUID(s) for given RXNCUI for Clinical Drug
1235"RTN","C0CRXNLK",70,0)
1236 ; Input: RXNCUI by Value
1237"RTN","C0CRXNLK",71,0)
1238 ; Output: Caret delimited extrinsic. Should not be more than 2 entries.
1239"RTN","C0CRXNLK",72,0)
1240 N C0PVUID S C0PVUID=""
1241"RTN","C0CRXNLK",73,0)
1242 N I S I=""
1243"RTN","C0CRXNLK",74,0)
1244 F S I=$O(^C0CRXN(176.001,"STX","VANDF","CD",RXNCUI,I)) Q:I="" S C0PVUID=C0PVUID_^(I)_U
1245"RTN","C0CRXNLK",75,0)
1246 S C0PVUID=$E(C0PVUID,1,$L(C0PVUID)-1) ; remove trailing ^
1247"RTN","C0CRXNLK",76,0)
1248 ; TODO: Return only the quantified form using:
1249"RTN","C0CRXNLK",77,0)
1250 ; I $O(^C0CRXN(176.005,"RXCUIREL",RXN,"has_quantified_form","")) N QF S QF=$O(^("")) Q $O(^C0CRXN(176.001,"RXN2VUID",QF,""))
1251"RTN","C0CRXNLK",78,0)
1252 Q C0PVUID
1253"RTN","C0CRXNLK",79,0)
1254 ;
1255"RTN","C0CRXNLK",80,0)
1256RXN2VUIT ; @TEST Get VUIDs given RxNorm values
1257"RTN","C0CRXNLK",81,0)
1258 N L F L=1:1 N LN S LN=$T(RXN2VUID+L) Q:LN["<<END>>" Q:LN="" D
1259"RTN","C0CRXNLK",82,0)
1260 . N RXN S RXN=$P(LN,";",3)
1261"RTN","C0CRXNLK",83,0)
1262 . N VUIDS S VUIDS=$P(LN,";",4)
1263"RTN","C0CRXNLK",84,0)
1264 . D CHKEQ^%ut($P($$RXN2VUI(RXN),U),$P(VUIDS,U),"Translation from RXNCUI to VUID failed")
1265"RTN","C0CRXNLK",85,0)
1266 QUIT
1267"RTN","C0CRXNLK",86,0)
1268 ;
1269"RTN","C0CRXNLK",87,0)
1270RXN2VUID ; @DATA - Data items for previous test
1271"RTN","C0CRXNLK",88,0)
1272 ;;310429;4002369^4013941
1273"RTN","C0CRXNLK",89,0)
1274 ;;628953;4000856^4013966^4015798^4015799
1275"RTN","C0CRXNLK",90,0)
1276 ;;197604;4003335^4015937
1277"RTN","C0CRXNLK",91,0)
1278 ;;884173;4002469^4013919^4032795
1279"RTN","C0CRXNLK",92,0)
1280 ;;<<END>>
1281"RTN","C0CRXNLK",93,0)
1282 ;
1283"RTN","C0CRXNLK",94,0)
1284 ;
1285"RTN","C0CRXNLK",95,0)
1286 ;
1287"RTN","C0CRXNLK",96,0)
1288VUI2VAP(VUID) ; $$ Public - Get VA Product IEN(s) from VUID
1289"RTN","C0CRXNLK",97,0)
1290 ; Input VUID by Value
1291"RTN","C0CRXNLK",98,0)
1292 ; Output: Extrinsic
1293"RTN","C0CRXNLK",99,0)
1294 D FIND^DIC(50.68,,"@","QP",VUID,,"AVUID") ; Find all in VUID index
1295"RTN","C0CRXNLK",100,0)
1296 N O S O="" ; Output
1297"RTN","C0CRXNLK",101,0)
1298 N I F I=0:0 S I=$O(^TMP("DILIST",$J,I)) Q:'I S O=O_^(I,0)_U ; Concat results together
1299"RTN","C0CRXNLK",102,0)
1300 S O=$E(O,1,$L(O)-1) ; remove trailing ^
1301"RTN","C0CRXNLK",103,0)
1302 Q O
1303"RTN","C0CRXNLK",104,0)
1304 ;
1305"RTN","C0CRXNLK",105,0)
1306VUI2VAPT ; @TEST Get VA Product IEN from VUID
1307"RTN","C0CRXNLK",106,0)
1308 N L F L=1:1 N LN S LN=$T(VUI2VAPD+L) Q:LN["<<END>>" Q:LN="" D
1309"RTN","C0CRXNLK",107,0)
1310 . N VUID S VUID=$P(LN,";",3)
1311"RTN","C0CRXNLK",108,0)
1312 . N VAP S VAP=$P(LN,";",4)
1313"RTN","C0CRXNLK",109,0)
1314 . D CHKEQ^%ut($$VUI2VAP(VUID),VAP,"Translation from VUID to VA PRODUCT failed")
1315"RTN","C0CRXNLK",110,0)
1316 QUIT
1317"RTN","C0CRXNLK",111,0)
1318 ;
1319"RTN","C0CRXNLK",112,0)
1320VUI2VAPD ; @DATA - Data for above test
1321"RTN","C0CRXNLK",113,0)
1322 ;;4006455;5932
1323"RTN","C0CRXNLK",114,0)
1324 ;;4002369;1784
1325"RTN","C0CRXNLK",115,0)
1326 ;;4000874;252
1327"RTN","C0CRXNLK",116,0)
1328 ;;4003335;2756
1329"RTN","C0CRXNLK",117,0)
1330 ;;4002469;1884
1331"RTN","C0CRXNLK",118,0)
1332 ;;4009488;9046^10090
1333"RTN","C0CRXNLK",119,0)
1334 ;;<<END>>
1335"RTN","C0CRXNLK",120,0)
1336 ;
1337"RTN","C0CRXNLK",121,0)
1338 ;
1339"RTN","C0CRXNLK",122,0)
1340 ;
1341"RTN","C0CRXNLK",123,0)
1342VAP2MED(VAPROD) ; $$ Public - Get Drug(s) using VA Product IEN
1343"RTN","C0CRXNLK",124,0)
1344 ; Un-Unit-testable: Drug files differ between sites.
1345"RTN","C0CRXNLK",125,0)
1346 ; Input: VA Product IEN By Value
1347"RTN","C0CRXNLK",126,0)
1348 ; OUtput: Caret delimited extrinsic
1349"RTN","C0CRXNLK",127,0)
1350 ; This code inspired from PSNAPIs
1351"RTN","C0CRXNLK",128,0)
1352 ; WHY THE HELL WOULD I USE A TEXT INDEX?
1353"RTN","C0CRXNLK",129,0)
1354 ; It's my only option. Creating new xrefs on the drug file doesn't help
1355"RTN","C0CRXNLK",130,0)
1356 ; as they are not filled out when adding a drug (IX[ALL]^DIK isn't called).
1357"RTN","C0CRXNLK",131,0)
1358 N MEDS S MEDS="" ; result
1359"RTN","C0CRXNLK",132,0)
1360 N PN,PN1 ; Product Name, abbreviated product name.
1361"RTN","C0CRXNLK",133,0)
1362 S PN=$P(^PSNDF(50.68,VAPROD,0),"^"),PN1=$E(PN,1,30)
1363"RTN","C0CRXNLK",134,0)
1364 N P50 S P50=0 ; looper through VAPN index which is DRUG file entry
1365"RTN","C0CRXNLK",135,0)
1366 F S P50=$O(^PSDRUG("VAPN",PN1,P50)) Q:'P50 D ; for each text match
1367"RTN","C0CRXNLK",136,0)
1368 . I $P(^PSDRUG(P50,"ND"),"^",3)=VAPROD S MEDS=$G(MEDS)_P50_U ; check that the VA PRODUCT pointer is the same as ours.
1369"RTN","C0CRXNLK",137,0)
1370 S:MEDS MEDS=$E(MEDS,1,$L(MEDS)-1) ; remove trailing ^
1371"RTN","C0CRXNLK",138,0)
1372 Q MEDS
1373"RTN","C0CRXNLK",139,0)
1374 ;
1375"RTN","C0CRXNLK",140,0)
1376 ;
1377"RTN","C0CRXNLK",141,0)
1378RXN2MEDS(RXNCUI) ; $$ Public - Convert RxNorm value to currently existing drugs in File 50.
1379"RTN","C0CRXNLK",142,0)
1380 ; Input: SCD RXNCUI
1381"RTN","C0CRXNLK",143,0)
1382 ; Output; Caret delimited extrinsic
1383"RTN","C0CRXNLK",144,0)
1384 ; Un-unit testable
1385"RTN","C0CRXNLK",145,0)
1386 N VUIDS S VUIDS=$$RXN2VUI(RXNCUI) ; Get VUID from RXNCUI (multiple VUIDs per CUI)
1387"RTN","C0CRXNLK",146,0)
1388 Q:'VUIDS ""
1389"RTN","C0CRXNLK",147,0)
1390 N MEDS S MEDS=""
1391"RTN","C0CRXNLK",148,0)
1392 N DONE S DONE=0
1393"RTN","C0CRXNLK",149,0)
1394 N I F I=1:1:$L(VUIDS,U) D Q:DONE
1395"RTN","C0CRXNLK",150,0)
1396 . N VUID S VUID=$P(VUIDS,U,I)
1397"RTN","C0CRXNLK",151,0)
1398 . N VAPRODS S VAPRODS=$$VUI2VAP(VUID) ; Get VA Product from VUID (multiple products per VUID)
1399"RTN","C0CRXNLK",152,0)
1400 . I '$L(VAPRODS) S $ECODE=",U-NO-VA-PRODUCT-CORRUPT-NDF," ; MUST EXIST. Every VUID must have a product to go with it.
1401"RTN","C0CRXNLK",153,0)
1402 . N J F J=1:1:$L(VAPRODS,U) D Q:DONE
1403"RTN","C0CRXNLK",154,0)
1404 . . N VAPROD S VAPROD=$P(VAPRODS,U,J)
1405"RTN","C0CRXNLK",155,0)
1406 . . S MEDS=$$VAP2MED(VAPROD) ; Get Meds from VA Product
1407"RTN","C0CRXNLK",156,0)
1408 . . I $L(MEDS) S DONE=1
1409"RTN","C0CRXNLK",157,0)
1410 QUIT MEDS
1411"RTN","C0CRXNLK",158,0)
1412 ;
1413"RTN","C0CRXNLK",159,0)
1414FDI2RXN(BASE) ; $$ Public - Get RxNorm CUI for FDB Ingredient/Base
1415"RTN","C0CRXNLK",160,0)
1416 ; ^C0CRXN(176.001,"STC","NDDF","IN","014739",1000870)=1362160
1417"RTN","C0CRXNLK",161,0)
1418 ; Input: BASE By Value
1419"RTN","C0CRXNLK",162,0)
1420 ; Output: RxNorm CUI
1421"RTN","C0CRXNLK",163,0)
1422 S BASE=$$RJ^XLFSTR(BASE,6,0) ; pad to six digits by zeros (123 becomes 000123)
1423"RTN","C0CRXNLK",164,0)
1424 N IEN S IEN=$O(^C0CRXN(176.001,"STC","NDDF","IN",BASE,"")) Q ^(IEN)
1425"RTN","C0CRXNLK",165,0)
1426 ;
1427"RTN","C0CRXNLK",166,0)
1428FDI2RXNT ; @TEST Test Get RxNorm CUI for FDB Ingredient/Base
1429"RTN","C0CRXNLK",167,0)
1430 Q:'$D(^C0CRXN(176.001,"STC","NDDF"))
1431"RTN","C0CRXNLK",168,0)
1432 D CHKEQ^%ut($$FDI2RXN(14739),1362160,"$$FDI2RXN failed")
1433"RTN","C0CRXNLK",169,0)
1434 QUIT
1435"RTN","C0CRXNLK",170,0)
1436 ;
1437"RTN","C0CRXNLK",171,0)
1438 ;
1439"RTN","C0CRXNLK",172,0)
1440 ;
1441"RTN","C0CRXNLK",173,0)
1442RXN2VIN(RXNCUI) ; $$ Public - Get VUID Ingredient for RxNorm CUI
1443"RTN","C0CRXNLK",174,0)
1444 ; ^C0CRXN(176.001,"STX","VANDF","IN",1366467,1008555)=4031768
1445"RTN","C0CRXNLK",175,0)
1446 ; Input: RXNCUI By Value
1447"RTN","C0CRXNLK",176,0)
1448 ; Output: VUID
1449"RTN","C0CRXNLK",177,0)
1450 N IEN S IEN=$O(^C0CRXN(176.001,"STX","VANDF","IN",RXNCUI,""))
1451"RTN","C0CRXNLK",178,0)
1452 I IEN Q ^(IEN)
1453"RTN","C0CRXNLK",179,0)
1454 E Q ""
1455"RTN","C0CRXNLK",180,0)
1456 ;
1457"RTN","C0CRXNLK",181,0)
1458RXN2VINT ; @TEST Test Get VUID Ingredient for RxNorm CUI
1459"RTN","C0CRXNLK",182,0)
1460 D CHKEQ^%ut($$RXN2VIN(1366467),4031768,"$$RXN2VIN failed")
1461"RTN","C0CRXNLK",183,0)
1462 QUIT
1463"RTN","C0CRXNLK",184,0)
1464 ;
1465"RTN","C0CRXNLK",185,0)
1466 ;
1467"RTN","C0CRXNLK",186,0)
1468 ;
1469"RTN","C0CRXNLK",187,0)
1470VIN2VAG(VUID) ; $$ Public - Get VA Generic for VUID Ingredient
1471"RTN","C0CRXNLK",188,0)
1472 ; Input: VUID By Value
1473"RTN","C0CRXNLK",189,0)
1474 ; Output: IEN^VA Generic Name (i.e. .01 field value)
1475"RTN","C0CRXNLK",190,0)
1476 N C0PIEN S C0PIEN=$$FIND1^DIC(50.6,"","QX",VUID,"AVUID")
1477"RTN","C0CRXNLK",191,0)
1478 N C0P01 S C0P01=$$GET1^DIQ(50.6,C0PIEN,.01)
1479"RTN","C0CRXNLK",192,0)
1480 Q C0PIEN_"^"_C0P01
1481"RTN","C0CRXNLK",193,0)
1482 ;
1483"RTN","C0CRXNLK",194,0)
1484VIN2VAGT ; @TEST Test Get VA Generic for VUID Ingredient
1485"RTN","C0CRXNLK",195,0)
1486 D CHKEQ^%ut(+$$VIN2VAG(4023636),2832,"$$VIN2VAG failed")
1487"RTN","C0CRXNLK",196,0)
1488 QUIT
1489"RTN","C0CRXNLK",197,0)
1490 ;
1491"RTN","C0CRXNLK",198,0)
1492 ;
1493"RTN","C0CRXNLK",199,0)
1494 ;
1495"RTN","C0CRXNLK",200,0)
1496FDI2VAG(BASE) ; $$ Public - Get VA Generic for FDB Ingredient/Base
1497"RTN","C0CRXNLK",201,0)
1498 ; TODO:Not tested...
1499"RTN","C0CRXNLK",202,0)
1500 ; Input: BASE By Value
1501"RTN","C0CRXNLK",203,0)
1502 ; Output: IEN^VA Generic Name (i.e. .01 field value)
1503"RTN","C0CRXNLK",204,0)
1504 Q $$VIN2VAG($$RXN2VIN($$FDI2RXN(BASE)))
1505"RTN","C0CRXNLK",205,0)
1506 ;
1507"RTN","C0CRXNLK",206,0)
1508VIN2DIN(VUID) ; $$ Public - Get Drug Ingredient for VUID Ingredient
1509"RTN","C0CRXNLK",207,0)
1510 ; TODO:Not tested...
1511"RTN","C0CRXNLK",208,0)
1512 ; Input: VUID By Value
1513"RTN","C0CRXNLK",209,0)
1514 ; Output: IEN^Drug Ingredient Name (i.e. .01 field value)
1515"RTN","C0CRXNLK",210,0)
1516 N C0PIEN S C0PIEN=$$FIND1^DIC(50.416,"","QX",VUID,"AVUID")
1517"RTN","C0CRXNLK",211,0)
1518 N C0P01 S C0P01=$$GET1^DIQ(50.416,C0PIEN,.01)
1519"RTN","C0CRXNLK",212,0)
1520 Q C0PIEN_"^"_C0P01
1521"RTN","C0CRXNLK",213,0)
1522 ;
1523"RTN","C0CRXNLK",214,0)
1524FDI2DIN(BASE) ; $$ Public - Get Drug Ingredient for FDB Ingredient/Base
1525"RTN","C0CRXNLK",215,0)
1526 ; TODO:Not tested...
1527"RTN","C0CRXNLK",216,0)
1528 ; Input: BASE By Value
1529"RTN","C0CRXNLK",217,0)
1530 ; Output: IEN^Drug Ingredient Name (i.e. .01 field value)
1531"RTN","C0CRXNLK",218,0)
1532 Q $$VIN2DIN($$RXN2VIN($$FDI2RXN(BASE)))
1533"RTN","C0CRXNLK",219,0)
1534 ;
1535"RTN","C0CRXNLK",220,0)
1536VUI2RXN(VUID,TTY) ; $$ Public Stephanie's Unified VUID searcher. Get RXNCUI given VUID
1537"RTN","C0CRXNLK",221,0)
1538 ;GIVEN A VUID IN ONE OF SEVERAL FILES RETURN THE ASSOCIATED RXNORM CODE IN 176.001
1539"RTN","C0CRXNLK",222,0)
1540 ; TTY="IN", "CD", or "PT"
1541"RTN","C0CRXNLK",223,0)
1542 ; IN = DRUG INGRIDENT FILE & VA GENERIC file
1543"RTN","C0CRXNLK",224,0)
1544 ; CD = VA PRODUCT FILE
1545"RTN","C0CRXNLK",225,0)
1546 ; PT = VA DRUG CLASS
1547"RTN","C0CRXNLK",226,0)
1548 ;
1549"RTN","C0CRXNLK",227,0)
1550 ; SAB="VANDF"
1551"RTN","C0CRXNLK",228,0)
1552 ; CODE=VUID
1553"RTN","C0CRXNLK",229,0)
1554 ;
1555"RTN","C0CRXNLK",230,0)
1556 I $O(^C0CRXN(176.001,"STC","VANDF",TTY,VUID,"")) Q ^($O(^("")))
1557"RTN","C0CRXNLK",231,0)
1558 Q ""
1559"RTN","C0CRXNLK",232,0)
1560 ;
1561"RTN","C0CRXNLK",233,0)
1562VUI2RXNT ; @TEST VUID to RxNorm CUI tests
1563"RTN","C0CRXNLK",234,0)
1564 D CHKEQ^%ut($$VUI2RXN(4010151,"CD"),314231)
1565"RTN","C0CRXNLK",235,0)
1566 D CHKEQ^%ut($$VUI2RXN(4020940,"IN"),16681)
1567"RTN","C0CRXNLK",236,0)
1568 D CHKEQ^%ut($$VUI2RXN(4021568,"PT"),883)
1569"RTN","C0CRXNLK",237,0)
1570 D CHKEQ^%ut($$VUI2RXN(1234234,"CD"),"")
1571"RTN","C0CRXNLK",238,0)
1572 QUIT
1573"RTN","C0CRXNLK",239,0)
1574 ;
1575"RTN","C0CRXNLK",240,0)
1576VUI2GCN(VUID) ; $$ Public - Get GCNs for a given VUID (any VUID type)
1577"RTN","C0CRXNLK",241,0)
1578 ; Input: VUID by Value
1579"RTN","C0CRXNLK",242,0)
1580 ; Output: GCNs delimited by ^
1581"RTN","C0CRXNLK",243,0)
1582 ; TODO: Unit Test
1583"RTN","C0CRXNLK",244,0)
1584 N RXNS S RXNS=$$VUI2RXN(VUID,"AB")
1585"RTN","C0CRXNLK",245,0)
1586 Q:RXNS="" "" ; VUID not a drug or ingredient (can be food)
1587"RTN","C0CRXNLK",246,0)
1588 N GCNS S GCNS=""
1589"RTN","C0CRXNLK",247,0)
1590 N I F I=1:1:$L(RXNS,U) S GCNS=GCNS_$$RXN2GCN($P(RXNS,U,I))_U
1591"RTN","C0CRXNLK",248,0)
1592 S GCNS=$E(GCNS,1,$L(GCNS)-1)
1593"RTN","C0CRXNLK",249,0)
1594 QUIT GCNS
1595"RTN","C0CRXNLK",250,0)
1596 ;
1597"RTN","C0CRXNLK",251,0)
1598MED2RXN(DA) ; $$ Public - Get RxNorm CUI for Drug
1599"RTN","C0CRXNLK",252,0)
1600 ; Input: DA - Medication IEN
1601"RTN","C0CRXNLK",253,0)
1602 ; Output: RXNCUIs delimited by ^
1603"RTN","C0CRXNLK",254,0)
1604 N ND S ND=$G(^PSDRUG(DA,"ND")) ; ND Node
1605"RTN","C0CRXNLK",255,0)
1606 N VAP S VAP=$P(ND,U,3) ; VA Product Pointer
1607"RTN","C0CRXNLK",256,0)
1608 Q:'VAP "" ; quit if empty
1609"RTN","C0CRXNLK",257,0)
1610 N VUID S VUID=+^PSNDF(50.68,VAP,"VUID") ; Get VUID
1611"RTN","C0CRXNLK",258,0)
1612 I 'VUID S $EC=",U1," ; Must exist
1613"RTN","C0CRXNLK",259,0)
1614 Q $$VUI2RXN(VUID,"AB")
1615"RTN","C0CRXNLK",260,0)
1616 ;
1617"RTN","C0CRXNLK",261,0)
1618MED2SCDN(DA) ; $$ Public - Medication to Semantic Clinical Drug Name
1619"RTN","C0CRXNLK",262,0)
1620 ; Input: DA - Medication IEN
1621"RTN","C0CRXNLK",263,0)
1622 ; Output: The Canonical Semantic Clinical Drug name
1623"RTN","C0CRXNLK",264,0)
1624 N RXNCUI S RXNCUI=$$MED2RXN(DA)
1625"RTN","C0CRXNLK",265,0)
1626 Q:'RXNCUI ""
1627"RTN","C0CRXNLK",266,0)
1628 Q $$SCDNAME(RXNCUI)
1629"RTN","C0CRXNLK",267,0)
1630 ;
1631"RTN","C0CRXNLK",268,0)
1632SCDNAME(RXNCUI) ; $$ Public - Semantic Clinical Drug Name for RxNorm CUI
1633"RTN","C0CRXNLK",269,0)
1634 N IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM","SCD",RXNCUI,"")) ; Let's try generic drug
1635"RTN","C0CRXNLK",270,0)
1636 I 'IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM","SBD",RXNCUI,"")) ; Let's try non-bioequivalent Brands then
1637"RTN","C0CRXNLK",271,0)
1638 I 'IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM","GPCK",RXNCUI,"")) ; Let's try a Generic combination package
1639"RTN","C0CRXNLK",272,0)
1640 I 'IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM","SCDF",RXNCUI,"")) ; Let's try a Clinical Drug and Form (Like Metamucil)
1641"RTN","C0CRXNLK",273,0)
1642 Q:'IEN "" ; Apparently not every VUID has a corresponding RXNCUI SCD.
1643"RTN","C0CRXNLK",274,0)
1644 Q $P(^C0CRXN(176.001,IEN,0),U,15)
1645"RTN","C0CRXNLK",275,0)
1646 ;
1647"RTN","C0CRXNLK",276,0)
1648ANYNAME(RXNCUI) ; $$ Public - Get the RxNorm name, no matter what it is
1649"RTN","C0CRXNLK",277,0)
1650 N RESULT S RESULT=""
1651"RTN","C0CRXNLK",278,0)
1652 N TTY S TTY=""
1653"RTN","C0CRXNLK",279,0)
1654 F S TTY=$O(^C0CRXN(176.001,"STC","RXNORM",TTY)) Q:TTY="" D Q:RESULT]""
1655"RTN","C0CRXNLK",280,0)
1656 . N IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM",TTY,RXNCUI,""))
1657"RTN","C0CRXNLK",281,0)
1658 . Q:'IEN
1659"RTN","C0CRXNLK",282,0)
1660 . S RESULT=$P(^C0CRXN(176.001,IEN,0),U,15)
1661"RTN","C0CRXNLK",283,0)
1662 QUIT RESULT
1663"RTN","C0CRXNLK",284,0)
1664 ;
1665"RTN","C0CRXNLK",285,0)
1666RXN2NDI(RXNCUI) ; $$ Public - Get NDDF Ingredient for RXNCUI
1667"RTN","C0CRXNLK",286,0)
1668 ; Input: RXNCUI By Value
1669"RTN","C0CRXNLK",287,0)
1670 ; Output: NDDF Base code
1671"RTN","C0CRXNLK",288,0)
1672 ; TODO:Not tested...
1673"RTN","C0CRXNLK",289,0)
1674 N IEN S IEN=$O(^C0CRXN(176.001,"STX","NDDF","IN",RXNCUI,"")) Q ^(IEN)
1675"RTN","C0CRXNLK",290,0)
1676 ;
1677"RTN","C0CRXNLK",291,0)
1678VIN2NDI(VUID) ; $$ Public - Get NDDF Ingredient for VUID
1679"RTN","C0CRXNLK",292,0)
1680 ; NB: WILL ONLY WORK IF VUID IS AN INGREDIENT VUID, NOT A CLINICAL DRUG
1681"RTN","C0CRXNLK",293,0)
1682 ; Input: VUID By Value
1683"RTN","C0CRXNLK",294,0)
1684 ; Output: NDDF Base code
1685"RTN","C0CRXNLK",295,0)
1686 ; TODO:Not tested...
1687"RTN","C0CRXNLK",296,0)
1688 Q $$RXN2NDI($$VUI2RXN(VUID,"IN"))
1689"RTN","C0CRXNLK",297,0)
1690 ;
1691"RTN","C0CRXNLK",298,0)
1692 ; ---
1693"RTN","C0CRXNLK",299,0)
1694 ;
1695"RTN","C0CRXNLK",300,0)
1696NDC2RXN(NDC) ; $$ Public - Get RxCUI given the NDC
1697"RTN","C0CRXNLK",301,0)
1698 ; NB: Will only work if passed NDC is in 5-4-2 format.
1699"RTN","C0CRXNLK",302,0)
1700 ; Input: NDC By Value in 5-4-2 Format
1701"RTN","C0CRXNLK",303,0)
1702 ; Output: RxNorm Code.
1703"RTN","C0CRXNLK",304,0)
1704 S NDC=$TR(NDC,"-")
1705"RTN","C0CRXNLK",305,0)
1706 N IEN S IEN=$O(^C0CRXN(176.002,"ASAA","RXNORM","NDC",NDC,"")) Q ^(IEN)
1707"RTN","C0CRXNLK",306,0)
1708 ;
1709"RTN","C0CRXNLK",307,0)
1710NDC2RXNT ; @TEST Test Get RxCUI given the NDC & Get RxCUI given the 50.67 NDC
1711"RTN","C0CRXNLK",308,0)
1712 D CHKEQ^%ut($$NDC2RXN("30142-0917-71"),198439,"$$NDC2RXN failed")
1713"RTN","C0CRXNLK",309,0)
1714 D CHKEQ^%ut($$NDC2RXN2("000031868518","VANDF"),996520,"$$NDC2RXN2 failed")
1715"RTN","C0CRXNLK",310,0)
1716 QUIT
1717"RTN","C0CRXNLK",311,0)
1718 ;
1719"RTN","C0CRXNLK",312,0)
1720NDC2RXN2(NDC,SOURCE) ; $$ Public - Get RxCUI given the source
1721"RTN","C0CRXNLK",313,0)
1722 ; Input: NDC in any format according to source
1723"RTN","C0CRXNLK",314,0)
1724 ; Output: RxNorm Code
1725"RTN","C0CRXNLK",315,0)
1726 I SOURCE="" QUIT ""
1727"RTN","C0CRXNLK",316,0)
1728 N IEN S IEN=$O(^C0CRXN(176.002,"ASAA",SOURCE,"NDC",NDC,"")) Q:IEN ^(IEN) Q ""
1729"RTN","C0CRXNLK",317,0)
1730 QUIT
1731"RTN","C0CRXNLK",318,0)
1732 ; ---
1733"RTN","C0CRXNLK",319,0)
1734 ;
1735"RTN","C0CRXNLK",320,0)
1736ISBRAND(RXN) ; $$ Public - Is this RxCUI for a brand drug?
1737"RTN","C0CRXNLK",321,0)
1738 ; Input: RxCUI
1739"RTN","C0CRXNLK",322,0)
1740 ; Output: 0 or 1
1741"RTN","C0CRXNLK",323,0)
1742 Q ''$D(^C0CRXN(176.001,"STC","RXNORM","SBD",RXN))
1743"RTN","C0CRXNLK",324,0)
1744ISBRANDT ; @TEST Test Is this RxCUI for a brand drug?
1745"RTN","C0CRXNLK",325,0)
1746 D CHKEQ^%ut($$ISBRAND(205535),1,"$$ISBRAND failed") ; Brand Prozac
1747"RTN","C0CRXNLK",326,0)
1748 D CHKEQ^%ut($$ISBRAND(310384),0,"$$ISBRAND failed") ; Generic Fluoxetine
1749"RTN","C0CRXNLK",327,0)
1750 QUIT
1751"RTN","C0CRXNLK",328,0)
1752 ;
1753"RTN","C0CRXNLK",329,0)
1754 ; ---
1755"RTN","C0CRXNLK",330,0)
1756 ;
1757"RTN","C0CRXNLK",331,0)
1758BR2GEN(RXN) ; $$ Public - Convert Brand RxCUI to Generic RxCUI (many to 1)
1759"RTN","C0CRXNLK",332,0)
1760 ; Input: RxCUI of Brand
1761"RTN","C0CRXNLK",333,0)
1762 ; Output: RxCUI of Generic
1763"RTN","C0CRXNLK",334,0)
1764 Q $O(^C0CRXN(176.005,"B",RXN,"has_tradename",""))
1765"RTN","C0CRXNLK",335,0)
1766BR2GENT ; @TEST Test Convert Brand RxCUI to Generic RxCUI (many to 1)
1767"RTN","C0CRXNLK",336,0)
1768 D CHKEQ^%ut($$BR2GEN(205535),310384,"$$BR2GEN failed")
1769"RTN","C0CRXNLK",337,0)
1770 QUIT
1771"RTN","C0CRXNLK",338,0)
1772 ;
1773"RTN","C0CRXNLK",339,0)
1774 ; ---
1775"RTN","C0CRXNLK",340,0)
1776 ;
1777"RTN","C0CRXNLK",341,0)
1778GEN2BR(RXN) ; $$ Public - Convert Generic RxCUI to Brand RxCUIs (1 to many).
1779"RTN","C0CRXNLK",342,0)
1780 N RTN S RTN="" ; Return
1781"RTN","C0CRXNLK",343,0)
1782 N I S I="" F S I=$O(^C0CRXN(176.005,"B",RXN,"tradename_of",I)) Q:'I S RTN=RTN_I_U
1783"RTN","C0CRXNLK",344,0)
1784 S RTN=$E(RTN,1,$L(RTN)-1)
1785"RTN","C0CRXNLK",345,0)
1786 Q RTN
1787"RTN","C0CRXNLK",346,0)
1788 ;
1789"RTN","C0CRXNLK",347,0)
1790GEN2BRT ; @TEST Test Convert Generic RxCUI to Brand RxCUIs (1 to many).
1791"RTN","C0CRXNLK",348,0)
1792 D CHKTF^%ut($$GEN2BR(310384)[205535,"$$GEN2BR failed")
1793"RTN","C0CRXNLK",349,0)
1794 QUIT
1795"RTN","C0CRXNLK",350,0)
1796 ;
1797"RTN","C0CRXNLK",351,0)
1798 ; ---
1799"RTN","C0CRXNLK",352,0)
1800 ;
1801"RTN","C0CRXNLK",353,0)
1802RXN2BNS(RXN) ; $$ Public - Get all Brand Names associated with an RXN
1803"RTN","C0CRXNLK",354,0)
1804 N BNS S BNS=""
1805"RTN","C0CRXNLK",355,0)
1806 I $$ISBRAND(RXN) S RXN=$$BR2GEN(RXN)
1807"RTN","C0CRXNLK",356,0)
1808 N ALLBN S ALLBN=$$GEN2BR(RXN)
1809"RTN","C0CRXNLK",357,0)
1810 Q:ALLBN="" ""
1811"RTN","C0CRXNLK",358,0)
1812 N BNNO F BNNO=1:1:$L(ALLBN,U) D
1813"RTN","C0CRXNLK",359,0)
1814 . N EACHBN S EACHBN=$P(ALLBN,U,BNNO)
1815"RTN","C0CRXNLK",360,0)
1816 . N BNRXCUI S BNRXCUI=$O(^C0CRXN(176.005,"B",EACHBN,"ingredient_of",""))
1817"RTN","C0CRXNLK",361,0)
1818 . Q:BNRXCUI=""
1819"RTN","C0CRXNLK",362,0)
1820 . N BNIEN S BNIEN=$O(^C0CRXN(176.001,"B",BNRXCUI,""))
1821"RTN","C0CRXNLK",363,0)
1822 . S BNS=BNS_$P(^C0CRXN(176.001,BNIEN,0),U,15)_U
1823"RTN","C0CRXNLK",364,0)
1824 QUIT $E(BNS,1,$L(BNS)-1)
1825"RTN","C0CRXNLK",365,0)
1826RXN2BNST ; @TEST Test Get all Brand Names associated with an RXN
1827"RTN","C0CRXNLK",366,0)
1828 D CHKTF^%ut($$RXN2BNS(205535)["Prozac","$$RXN2BNS failed")
1829"RTN","C0CRXNLK",367,0)
1830 QUIT
1831"RTN","C0CRXNLK",368,0)
1832 ;
1833"RTN","C0CRXNLK",369,0)
1834 ; ---
1835"RTN","C0CRXNLK",370,0)
1836 ;
1837"RTN","C0CRXNLK",371,0)
1838RXN2NDC(RXN) ; $$ Public - Get NDC codes for RxNorm code
1839"RTN","C0CRXNLK",372,0)
1840 N NDCS S NDCS=""
1841"RTN","C0CRXNLK",373,0)
1842 N I F I=0:0 S I=$O(^C0CRXN(176.002,"ASAR","RXNORM","NDC",RXN,I)) Q:'I S NDCS=NDCS_^(I)_"^"
1843"RTN","C0CRXNLK",374,0)
1844 S $E(NDCS,$L(NDCS))=""
1845"RTN","C0CRXNLK",375,0)
1846 QUIT NDCS
1847"RTN","C0CRXNLK",376,0)
1848RXN2NDCT ; @TEST Test Get NDC codes for RxNorm code
1849"RTN","C0CRXNLK",377,0)
1850 D CHKTF^%ut($$RXN2NDC(197379)["^"_16714003309,"$$RXN2NDC failed")
1851"RTN","C0CRXNLK",378,0)
1852 QUIT
1853"RTN","C0CRXNLK",379,0)
1854 ;
1855"RTN","C0CRXNLK",380,0)
1856LVUID(RXN) ; $$ Public - Locate VUID, given RxNorm. Iterative Search
1857"RTN","C0CRXNLK",381,0)
1858 ; ^C0CRXN(176.001,"STC","RXNORM","IN",46239,IEN
1859"RTN","C0CRXNLK",382,0)
1860 N TTY S TTY=""
1861"RTN","C0CRXNLK",383,0)
1862 N intermediateRxCUI
1863"RTN","C0CRXNLK",384,0)
1864 N finalVUID
1865"RTN","C0CRXNLK",385,0)
1866 i '$$EXIST(RXN) q "0^not found in RxNorm"
1867"RTN","C0CRXNLK",386,0)
1868 ;
1869"RTN","C0CRXNLK",387,0)
1870 F S TTY=$O(^C0CRXN(176.001,"STC","RXNORM",TTY)) Q:TTY="" D q:$g(intermediateRxCUI) q:$g(finalVUID)
1871"RTN","C0CRXNLK",388,0)
1872 . N IEN S IEN=$O(^C0CRXN(176.001,"STC","RXNORM",TTY,RXN,""))
1873"RTN","C0CRXNLK",389,0)
1874 . I 'IEN quit ; s err="0^not found in RxNorm" quit
1875"RTN","C0CRXNLK",390,0)
1876 . ; W ^C0CRXN(176.001,IEN,0),!
1877"RTN","C0CRXNLK",391,0)
1878 . I TTY="BN" s intermediateRxCUI=$$BR2GEN(RXN) quit ; try searching with generic
1879"RTN","C0CRXNLK",392,0)
1880 . I TTY="IN"!(TTY="MIN") s finalVUID=$$RXN2VIN(RXN) quit ; match VUID
1881"RTN","C0CRXNLK",393,0)
1882 . I TTY="PIN" s intermediateRxCUI=$$formOf(RXN) quit ; try searching with ingredient
1883"RTN","C0CRXNLK",394,0)
1884 . I TTY="SCD" d
1885"RTN","C0CRXNLK",395,0)
1886 .. s finalVUID=$$RXN2VUI(RXN)
1887"RTN","C0CRXNLK",396,0)
1888 .. i finalVUID="" s finalVUID=$$containerOf(RXN)
1889"RTN","C0CRXNLK",397,0)
1890 .. I finalVUID="" s finalVUID=$$tradeName(RXN)
1891"RTN","C0CRXNLK",398,0)
1892 . I TTY="GPCK" d
1893"RTN","C0CRXNLK",399,0)
1894 .. s finalVUID=$$tradeName(RXN)
1895"RTN","C0CRXNLK",400,0)
1896 i $get(intermediateRxCUI) q $$LVUID(intermediateRxCUI) ; recurse
1897"RTN","C0CRXNLK",401,0)
1898 i $get(finalVUID) quit finalVUID
1899"RTN","C0CRXNLK",402,0)
1900 quit "0^no mapping found in RxNorm"
1901"RTN","C0CRXNLK",403,0)
1902 ;
1903"RTN","C0CRXNLK",404,0)
1904formOf(RXN) ; RXN is form of result
1905"RTN","C0CRXNLK",405,0)
1906 q $o(^C0CRXN(176.005,"B",RXN,"has_form",""))
1907"RTN","C0CRXNLK",406,0)
1908containerOf(RXN) ; loop through all contains and see if one hits it.
1909"RTN","C0CRXNLK",407,0)
1910 n container
1911"RTN","C0CRXNLK",408,0)
1912 n vuid s vuid=""
1913"RTN","C0CRXNLK",409,0)
1914 f container=0:0 s container=$o(^C0CRXN(176.005,"B",RXN,"contains",container)) q:'container d q:$g(vuid)
1915"RTN","C0CRXNLK",410,0)
1916 . s vuid=$$RXN2VUI(container)
1917"RTN","C0CRXNLK",411,0)
1918 quit vuid
1919"RTN","C0CRXNLK",412,0)
1920tradeName(RXN) ; loop through all tradenames and see if there's a match
1921"RTN","C0CRXNLK",413,0)
1922 n vuid s vuid=""
1923"RTN","C0CRXNLK",414,0)
1924 n tncui f tncui=0:0 s tncui=$o(^C0CRXN(176.005,"B",RXN,"tradename_of",tncui)) q:'tncui d q:$g(vuid)
1925"RTN","C0CRXNLK",415,0)
1926 . s vuid=$$RXN2VUI(tncui)
1927"RTN","C0CRXNLK",416,0)
1928 quit vuid
1929"RTN","C0CRXNLK",417,0)
1930 ;
1931"RTN","C0CRXNLK",418,0)
1932loopVUIDs ; [Public] Paste VUIDs to get the RxNorm Numbers
1933"RTN","C0CRXNLK",419,0)
1934 ; ZEXCEPT: DTIME
1935"RTN","C0CRXNLK",420,0)
1936 n rxn
1937"RTN","C0CRXNLK",421,0)
1938 f r rxn:$g(DTIME,300) q:rxn="" q:rxn=$c(4) d
1939"RTN","C0CRXNLK",422,0)
1940 . w "|"
1941"RTN","C0CRXNLK",423,0)
1942 . w $$LVUID(rxn),"|",$$ANYNAME(rxn),!
1943"RTN","C0CRXNLK",424,0)
1944 quit
1945"RTN","C0CRXNRD")
19460^1^B52136432
1947"RTN","C0CRXNRD",1,0)
1948C0CRXNRD ; VEN/SMH - RxNorm Utilities: Routine to Read RxNorm files;2013-11-14 1:23 PM
1949"RTN","C0CRXNRD",2,0)
1950 ;;2.5;RXNORM FOR VISTA;;Apr 27, 2016;Build 18
1951"RTN","C0CRXNRD",3,0)
1952 ; (C) Sam Habiel 2016
1953"RTN","C0CRXNRD",4,0)
1954 ; See license for terms of use.
1955"RTN","C0CRXNRD",5,0)
1956 ;
1957"RTN","C0CRXNRD",6,0)
1958 W "No entry from top" Q
1959"RTN","C0CRXNRD",7,0)
1960IMPORT(PATH,RESTRICTED) ; PUBLIC ENTRY POINT. Rest are private
1961"RTN","C0CRXNRD",8,0)
1962 I PATH="" QUIT
1963"RTN","C0CRXNRD",9,0)
1964 S RESTRICTED=$G(RESTRICTED,0)
1965"RTN","C0CRXNRD",10,0)
1966 S U="^"
1967"RTN","C0CRXNRD",11,0)
1968 N STARTTIME S STARTTIME=$P($H,",")*24*60*60+$P($H,",",2)
1969"RTN","C0CRXNRD",12,0)
1970 D SAB(PATH) ; Load restriction values into SAB. ; 176.006
1971"RTN","C0CRXNRD",13,0)
1972 JOB SAT^C0CRXNRD(PATH,RESTRICTED) ; 176.002
1973"RTN","C0CRXNRD",14,0)
1974 W "Jobbed off... "_$ZJOB_"."
1975"RTN","C0CRXNRD",15,0)
1976 D CONSO(PATH,RESTRICTED) ; 176.001,176.002
1977"RTN","C0CRXNRD",16,0)
1978 D STY(PATH),REL(PATH),DOC(PATH) ; 176.003-5
1979"RTN","C0CRXNRD",17,0)
1980 N ENDTIME S ENDTIME=$P($H,",")*24*60*60+$P($H,",",2)
1981"RTN","C0CRXNRD",18,0)
1982 W !,(ENDTIME-STARTTIME)/60_" minutes elapsed"
1983"RTN","C0CRXNRD",19,0)
1984 QUIT
1985"RTN","C0CRXNRD",20,0)
1986 ;
1987"RTN","C0CRXNRD",21,0)
1988 ; Everything is private from down on...
1989"RTN","C0CRXNRD",22,0)
1990DELFILED(FN) ; Delete file data; PEP procedure; only for RxNorm files
1991"RTN","C0CRXNRD",23,0)
1992 ; FN is Filenumber passed by Value
1993"RTN","C0CRXNRD",24,0)
1994 QUIT:$E(FN,1,3)'=176 ; Quit if not RxNorm files
1995"RTN","C0CRXNRD",25,0)
1996 N ROOT S ROOT=$$ROOT^DILFD(FN,"",1) ; global root
1997"RTN","C0CRXNRD",26,0)
1998 N ZERO S ZERO=@ROOT@(0) ; Save zero node
1999"RTN","C0CRXNRD",27,0)
2000 S $P(ZERO,U,3,9999)="" ; Remove entry # and last edited
2001"RTN","C0CRXNRD",28,0)
2002 K @ROOT ; Kill the file -- so sad!
2003"RTN","C0CRXNRD",29,0)
2004 S @ROOT@(0)=ZERO ; It riseth again!
2005"RTN","C0CRXNRD",30,0)
2006 QUIT
2007"RTN","C0CRXNRD",31,0)
2008GETLINES(PATH,FILENAME) ; Get number of lines in a file
2009"RTN","C0CRXNRD",32,0)
2010 N POP
2011"RTN","C0CRXNRD",33,0)
2012 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2013"RTN","C0CRXNRD",34,0)
2014 Q:POP
2015"RTN","C0CRXNRD",35,0)
2016 U IO
2017"RTN","C0CRXNRD",36,0)
2018 N I,LINE
2019"RTN","C0CRXNRD",37,0)
2020 F I=1:1 R LINE:0 Q:$$STATUS^%ZISH
2021"RTN","C0CRXNRD",38,0)
2022 D CLOSE^%ZISH("FILE")
2023"RTN","C0CRXNRD",39,0)
2024 Q I-1
2025"RTN","C0CRXNRD",40,0)
2026CONSO(PATH,RESTRICTED) ; Open and read concepts file: RXNCONSO.RRF
2027"RTN","C0CRXNRD",41,0)
2028 ; PATH ByVal, path of RxNorm files
2029"RTN","C0CRXNRD",42,0)
2030 ; SABS ByRef, arrays of SABS(SAB)=restriction level
2031"RTN","C0CRXNRD",43,0)
2032 ; RESTRICTED ByVal, include restricted sources. 1 for yes, 0 for no
2033"RTN","C0CRXNRD",44,0)
2034 N SABS D LOADSABS(.SABS)
2035"RTN","C0CRXNRD",45,0)
2036 I PATH="" QUIT
2037"RTN","C0CRXNRD",46,0)
2038 N FILENAME S FILENAME="RXNCONSO.RRF"
2039"RTN","C0CRXNRD",47,0)
2040 D DELFILED(176.001) ; delete data
2041"RTN","C0CRXNRD",48,0)
2042 N LINES S LINES=$$GETLINES(PATH,FILENAME)
2043"RTN","C0CRXNRD",49,0)
2044 N POP
2045"RTN","C0CRXNRD",50,0)
2046 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2047"RTN","C0CRXNRD",51,0)
2048 IF POP D EN^DDIOL("Error reading file..., Please check...") G EX
2049"RTN","C0CRXNRD",52,0)
2050 N C0CCOUNT
2051"RTN","C0CRXNRD",53,0)
2052 N C0CSUPP S C0CSUPP=0
2053"RTN","C0CRXNRD",54,0)
2054 F C0CCOUNT=1:1 D Q:$$STATUS^%ZISH
2055"RTN","C0CRXNRD",55,0)
2056 . U IO
2057"RTN","C0CRXNRD",56,0)
2058 . N LINE R LINE:0
2059"RTN","C0CRXNRD",57,0)
2060 . IF $$STATUS^%ZISH QUIT
2061"RTN","C0CRXNRD",58,0)
2062 . I '(C0CCOUNT#1000) U $P W C0CCOUNT," of ",LINES," read ",! U IO ; update every 1000
2063"RTN","C0CRXNRD",59,0)
2064 . ;
2065"RTN","C0CRXNRD",60,0)
2066 . ; If suppressed, quit
2067"RTN","C0CRXNRD",61,0)
2068 . N SUPP S SUPP=$P(LINE,"|",17)
2069"RTN","C0CRXNRD",62,0)
2070 . I SUPP="O"!(SUPP="Y")!(SUPP="E") S C0CSUPP=C0CSUPP+1 QUIT
2071"RTN","C0CRXNRD",63,0)
2072 . ;
2073"RTN","C0CRXNRD",64,0)
2074 . ; Deal with restriction level
2075"RTN","C0CRXNRD",65,0)
2076 . N SAB S SAB=$P(LINE,"|",12)
2077"RTN","C0CRXNRD",66,0)
2078 . I 'RESTRICTED,SABS(SAB) QUIT ; If not include restricted, and SABS(SAB) is not zero, quit
2079"RTN","C0CRXNRD",67,0)
2080 . ;
2081"RTN","C0CRXNRD",68,0)
2082 . ; Save data
2083"RTN","C0CRXNRD",69,0)
2084 . S ^C0CRXN(176.001,C0CCOUNT,0)=$TR(LINE,"|^","^|")
2085"RTN","C0CRXNRD",70,0)
2086EX D CLOSE^%ZISH("FILE")
2087"RTN","C0CRXNRD",71,0)
2088 N DIK S DIK="^C0CRXN(176.001," D IXALL^DIK
2089"RTN","C0CRXNRD",72,0)
2090 W "Suppressed: ",C0CSUPP,!
2091"RTN","C0CRXNRD",73,0)
2092 QUIT
2093"RTN","C0CRXNRD",74,0)
2094 ;
2095"RTN","C0CRXNRD",75,0)
2096 ;
2097"RTN","C0CRXNRD",76,0)
2098SAT(PATH,RESTRICTED) ; Open and read Concept and Atom attributes: RXNSAT.RRF
2099"RTN","C0CRXNRD",77,0)
2100 ; PATH ByVal, path of RxNorm files
2101"RTN","C0CRXNRD",78,0)
2102 ; SABS ByRef, arrays of SABS(SAB)=restriction level
2103"RTN","C0CRXNRD",79,0)
2104 ; RESTRICTED ByVal, include restricted sources. 1 for yes, 0 for no
2105"RTN","C0CRXNRD",80,0)
2106 N $ET S $ET="D ^%ZTER HALT"
2107"RTN","C0CRXNRD",81,0)
2108 S U="^"
2109"RTN","C0CRXNRD",82,0)
2110 I PATH="" QUIT
2111"RTN","C0CRXNRD",83,0)
2112 N FILENAME S FILENAME="RXNSAT.RRF"
2113"RTN","C0CRXNRD",84,0)
2114 D DELFILED(176.002) ; delete data
2115"RTN","C0CRXNRD",85,0)
2116 N LINES S LINES=$$GETLINES(PATH,FILENAME)
2117"RTN","C0CRXNRD",86,0)
2118 N POP
2119"RTN","C0CRXNRD",87,0)
2120 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2121"RTN","C0CRXNRD",88,0)
2122 IF POP W "Error reading file..., Please check...",! G EX2
2123"RTN","C0CRXNRD",89,0)
2124 N SABS D LOADSABS(.SABS)
2125"RTN","C0CRXNRD",90,0)
2126 N C0CSUPP S C0CSUPP=0
2127"RTN","C0CRXNRD",91,0)
2128 N C0CCOUNT F C0CCOUNT=1:1 Q:$$STATUS^%ZISH D
2129"RTN","C0CRXNRD",92,0)
2130 . U IO
2131"RTN","C0CRXNRD",93,0)
2132 . N LINE R LINE:0
2133"RTN","C0CRXNRD",94,0)
2134 . IF $$STATUS^%ZISH QUIT
2135"RTN","C0CRXNRD",95,0)
2136 . I '(C0CCOUNT#1000) U $P W C0CCOUNT," of ",LINES," read ",! U IO ; update every 1000
2137"RTN","C0CRXNRD",96,0)
2138 . ;
2139"RTN","C0CRXNRD",97,0)
2140 . ; If suppressed, quit
2141"RTN","C0CRXNRD",98,0)
2142 . N SUPP S SUPP=$P(LINE,"|",12)
2143"RTN","C0CRXNRD",99,0)
2144 . I SUPP="O"!(SUPP="Y")!(SUPP="E") S C0CSUPP=C0CSUPP+1 QUIT
2145"RTN","C0CRXNRD",100,0)
2146 . ;
2147"RTN","C0CRXNRD",101,0)
2148 . ; We switch around the fields .01 and .09 because the .01 isn't always present; where as .09 is required
2149"RTN","C0CRXNRD",102,0)
2150 . N RXCUI1,ATN9
2151"RTN","C0CRXNRD",103,0)
2152 . S RXCUI1=$P(LINE,"|",1)
2153"RTN","C0CRXNRD",104,0)
2154 . S ATN9=$P(LINE,"|",9)
2155"RTN","C0CRXNRD",105,0)
2156 . S $P(LINE,"|",1)=ATN9
2157"RTN","C0CRXNRD",106,0)
2158 . S $P(LINE,"|",9)=RXCUI1
2159"RTN","C0CRXNRD",107,0)
2160 . ;
2161"RTN","C0CRXNRD",108,0)
2162 . ; Deal with restricted sources
2163"RTN","C0CRXNRD",109,0)
2164 . N SAB S SAB=$P(LINE,"|",10)
2165"RTN","C0CRXNRD",110,0)
2166 . I 'RESTRICTED,SABS(SAB) QUIT ; If not include restricted, and SABS(SAB) is not zero, quit
2167"RTN","C0CRXNRD",111,0)
2168 . ;
2169"RTN","C0CRXNRD",112,0)
2170 . ; Save off
2171"RTN","C0CRXNRD",113,0)
2172 . S ^C0CRXN(176.002,C0CCOUNT,0)=$TR(LINE,"|^","^|")
2173"RTN","C0CRXNRD",114,0)
2174EX2 D CLOSE^%ZISH("FILE")
2175"RTN","C0CRXNRD",115,0)
2176 N DIK S DIK="^C0CRXN(176.002," D IXALL^DIK
2177"RTN","C0CRXNRD",116,0)
2178 W "Suppressed: ",C0CSUPP,!
2179"RTN","C0CRXNRD",117,0)
2180 QUIT
2181"RTN","C0CRXNRD",118,0)
2182 ;
2183"RTN","C0CRXNRD",119,0)
2184 ;
2185"RTN","C0CRXNRD",120,0)
2186SAB(PATH) ; Open the read RxNorm Sources file: RXNSAB.RRF
2187"RTN","C0CRXNRD",121,0)
2188 I PATH="" QUIT
2189"RTN","C0CRXNRD",122,0)
2190 N FILENAME S FILENAME="RXNSAB.RRF"
2191"RTN","C0CRXNRD",123,0)
2192 D DELFILED(176.003) ; delete data
2193"RTN","C0CRXNRD",124,0)
2194 N POP
2195"RTN","C0CRXNRD",125,0)
2196 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2197"RTN","C0CRXNRD",126,0)
2198 IF POP W "Error reading file..., Please check...",! G EX3
2199"RTN","C0CRXNRD",127,0)
2200 N I F I=1:1 Q:$$STATUS^%ZISH D
2201"RTN","C0CRXNRD",128,0)
2202 . U IO
2203"RTN","C0CRXNRD",129,0)
2204 . N LINE R LINE:0
2205"RTN","C0CRXNRD",130,0)
2206 . IF $$STATUS^%ZISH QUIT
2207"RTN","C0CRXNRD",131,0)
2208 . U $P W I,! U IO ; Write I to the screen, then go back to reading the file
2209"RTN","C0CRXNRD",132,0)
2210 . ; Switch pieces 1 and 4 because 4 is always defined. Goes into .01 field.
2211"RTN","C0CRXNRD",133,0)
2212 . N VCUI S VCUI=$P(LINE,"|",1)
2213"RTN","C0CRXNRD",134,0)
2214 . N RSAB S RSAB=$P(LINE,"|",4)
2215"RTN","C0CRXNRD",135,0)
2216 . S $P(LINE,"|",1)=RSAB
2217"RTN","C0CRXNRD",136,0)
2218 . S $P(LINE,"|",4)=VCUI
2219"RTN","C0CRXNRD",137,0)
2220 . S ^C0CRXN(176.003,I,0)=$TR(LINE,"^|","|^")
2221"RTN","C0CRXNRD",138,0)
2222EX3 D CLOSE^%ZISH("FILE")
2223"RTN","C0CRXNRD",139,0)
2224 N DIK S DIK="^C0CRXN(176.003," D IXALL^DIK
2225"RTN","C0CRXNRD",140,0)
2226 QUIT
2227"RTN","C0CRXNRD",141,0)
2228 ;
2229"RTN","C0CRXNRD",142,0)
2230LOADSABS(SABS) ;
2231"RTN","C0CRXNRD",143,0)
2232 N C0CI F C0CI=0:0 S C0CI=$O(^C0CRXN(176.003,C0CI)) Q:'C0CI D
2233"RTN","C0CRXNRD",144,0)
2234 . S SABS($$GET1^DIQ(176.003,C0CI,.01))=$$GET1^DIQ(176.003,C0CI,"SRL")
2235"RTN","C0CRXNRD",145,0)
2236 QUIT
2237"RTN","C0CRXNRD",146,0)
2238 ;
2239"RTN","C0CRXNRD",147,0)
2240STY(PATH) ; Open and read RxNorm Semantic types file: RXNSTY.RRF
2241"RTN","C0CRXNRD",148,0)
2242 I PATH="" QUIT
2243"RTN","C0CRXNRD",149,0)
2244 N FILENAME S FILENAME="RXNSTY.RRF"
2245"RTN","C0CRXNRD",150,0)
2246 D DELFILED(176.004) ; delete data
2247"RTN","C0CRXNRD",151,0)
2248 N LINES S LINES=$$GETLINES(PATH,FILENAME) ; Get # of lines
2249"RTN","C0CRXNRD",152,0)
2250 N POP
2251"RTN","C0CRXNRD",153,0)
2252 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2253"RTN","C0CRXNRD",154,0)
2254 IF POP W "Error reading file..., Please check...",! G EX4
2255"RTN","C0CRXNRD",155,0)
2256 N I F I=1:1 Q:$$STATUS^%ZISH D
2257"RTN","C0CRXNRD",156,0)
2258 . U IO
2259"RTN","C0CRXNRD",157,0)
2260 . N LINE R LINE:0
2261"RTN","C0CRXNRD",158,0)
2262 . IF $$STATUS^%ZISH QUIT
2263"RTN","C0CRXNRD",159,0)
2264 . I '(I#1000) U $P W I," of ",LINES," read ",! U IO ; update every 1000
2265"RTN","C0CRXNRD",160,0)
2266 . S ^C0CRXN(176.004,I,0)=$TR(LINE,"^|","|^")
2267"RTN","C0CRXNRD",161,0)
2268EX4 D CLOSE^%ZISH("FILE")
2269"RTN","C0CRXNRD",162,0)
2270 N DIK S DIK="^C0CRXN(176.004," D IXALL^DIK
2271"RTN","C0CRXNRD",163,0)
2272 QUIT
2273"RTN","C0CRXNRD",164,0)
2274 ;
2275"RTN","C0CRXNRD",165,0)
2276REL(PATH) ; Open and read RxNorm Relationships file: RXNREL.RRF
2277"RTN","C0CRXNRD",166,0)
2278 I PATH="" QUIT
2279"RTN","C0CRXNRD",167,0)
2280 N FILENAME S FILENAME="RXNREL.RRF"
2281"RTN","C0CRXNRD",168,0)
2282 D DELFILED(176.005) ; delete data
2283"RTN","C0CRXNRD",169,0)
2284 N LINES S LINES=$$GETLINES(PATH,FILENAME) ; Get # of lines
2285"RTN","C0CRXNRD",170,0)
2286 N POP
2287"RTN","C0CRXNRD",171,0)
2288 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2289"RTN","C0CRXNRD",172,0)
2290 IF POP W "Error reading file..., Please check...",! G EX5
2291"RTN","C0CRXNRD",173,0)
2292 N C0CSUPP S C0CSUPP=0
2293"RTN","C0CRXNRD",174,0)
2294 N I F I=1:1 Q:$$STATUS^%ZISH D
2295"RTN","C0CRXNRD",175,0)
2296 . U IO
2297"RTN","C0CRXNRD",176,0)
2298 . N LINE R LINE:0
2299"RTN","C0CRXNRD",177,0)
2300 . ;
2301"RTN","C0CRXNRD",178,0)
2302 . ; If suppressed, quit
2303"RTN","C0CRXNRD",179,0)
2304 . N SUPP S SUPP=$P(LINE,"|",15)
2305"RTN","C0CRXNRD",180,0)
2306 . I SUPP="O"!(SUPP="Y")!(SUPP="E") S C0CSUPP=C0CSUPP+1 QUIT
2307"RTN","C0CRXNRD",181,0)
2308 . ;
2309"RTN","C0CRXNRD",182,0)
2310 . IF $$STATUS^%ZISH QUIT
2311"RTN","C0CRXNRD",183,0)
2312 . I '(I#1000) U $P W I," of ",LINES," read ",! U IO ; update every 1000
2313"RTN","C0CRXNRD",184,0)
2314 . ; swap RXCUI1 location with SAB b/c SAB is required so can be .01 field
2315"RTN","C0CRXNRD",185,0)
2316 . N RXCUI1 S RXCUI1=$P(LINE,"|",1)
2317"RTN","C0CRXNRD",186,0)
2318 . N SAB S SAB=$P(LINE,"|",11)
2319"RTN","C0CRXNRD",187,0)
2320 . S $P(LINE,"|",1)=SAB
2321"RTN","C0CRXNRD",188,0)
2322 . S $P(LINE,"|",11)=RXCUI1
2323"RTN","C0CRXNRD",189,0)
2324 . S ^C0CRXN(176.005,I,0)=$TR(LINE,"^|","|^")
2325"RTN","C0CRXNRD",190,0)
2326EX5 D CLOSE^%ZISH("FILE")
2327"RTN","C0CRXNRD",191,0)
2328 N DIK S DIK="^C0CRXN(176.005," D IXALL^DIK
2329"RTN","C0CRXNRD",192,0)
2330 W "Suppressed: ",C0CSUPP,!
2331"RTN","C0CRXNRD",193,0)
2332 QUIT
2333"RTN","C0CRXNRD",194,0)
2334DOC(PATH) ; Open the read RxNorm Abbreviation Documentation file: RXNDOC.RRF
2335"RTN","C0CRXNRD",195,0)
2336 I PATH="" QUIT
2337"RTN","C0CRXNRD",196,0)
2338 N FILENAME S FILENAME="RXNDOC.RRF"
2339"RTN","C0CRXNRD",197,0)
2340 D DELFILED(176.006) ; delete data
2341"RTN","C0CRXNRD",198,0)
2342 N LINES S LINES=$$GETLINES(PATH,FILENAME) ; Get # of lines
2343"RTN","C0CRXNRD",199,0)
2344 N POP
2345"RTN","C0CRXNRD",200,0)
2346 D OPEN^%ZISH("FILE",PATH,FILENAME,"R")
2347"RTN","C0CRXNRD",201,0)
2348 IF POP W "Error reading file..., Please check...",! G EX6
2349"RTN","C0CRXNRD",202,0)
2350 N I F I=1:1 Q:$$STATUS^%ZISH D
2351"RTN","C0CRXNRD",203,0)
2352 . U IO
2353"RTN","C0CRXNRD",204,0)
2354 . N LINE R LINE:0
2355"RTN","C0CRXNRD",205,0)
2356 . IF $$STATUS^%ZISH QUIT
2357"RTN","C0CRXNRD",206,0)
2358 . I '(I#1000) U $P W I," of ",LINES," read ",! U IO ; update every 1000
2359"RTN","C0CRXNRD",207,0)
2360 . S ^C0CRXN(176.006,I,0)=$TR(LINE,"^|","|^")
2361"RTN","C0CRXNRD",208,0)
2362EX6 D CLOSE^%ZISH("FILE")
2363"RTN","C0CRXNRD",209,0)
2364 N DIK S DIK="^C0CRXN(176.006," D IXALL^DIK
2365"RTN","C0CRXNRD",210,0)
2366 QUIT
2367"SEC","^DD",176.001,176.001,50,9)
2368
2369"SEC","^DIC",176.001,176.001,0,"AUDIT")
2370
2371"SEC","^DIC",176.001,176.001,0,"DD")
2372@
2373"SEC","^DIC",176.001,176.001,0,"DEL")
2374
2375"SEC","^DIC",176.001,176.001,0,"LAYGO")
2376
2377"SEC","^DIC",176.001,176.001,0,"RD")
2378
2379"SEC","^DIC",176.001,176.001,0,"WR")
2380@
2381"SEC","^DIC",176.002,176.002,0,"AUDIT")
2382@
2383"SEC","^DIC",176.002,176.002,0,"DD")
2384@
2385"SEC","^DIC",176.002,176.002,0,"DEL")
2386@
2387"SEC","^DIC",176.002,176.002,0,"LAYGO")
2388@
2389"SEC","^DIC",176.002,176.002,0,"RD")
2390
2391"SEC","^DIC",176.002,176.002,0,"WR")
2392@
2393"SEC","^DIC",176.003,176.003,0,"AUDIT")
2394@
2395"SEC","^DIC",176.003,176.003,0,"DD")
2396@
2397"SEC","^DIC",176.003,176.003,0,"DEL")
2398@
2399"SEC","^DIC",176.003,176.003,0,"LAYGO")
2400@
2401"SEC","^DIC",176.003,176.003,0,"RD")
2402
2403"SEC","^DIC",176.003,176.003,0,"WR")
2404@
2405"SEC","^DIC",176.004,176.004,0,"AUDIT")
2406@
2407"SEC","^DIC",176.004,176.004,0,"DD")
2408@
2409"SEC","^DIC",176.004,176.004,0,"DEL")
2410@
2411"SEC","^DIC",176.004,176.004,0,"LAYGO")
2412@
2413"SEC","^DIC",176.004,176.004,0,"RD")
2414
2415"SEC","^DIC",176.004,176.004,0,"WR")
2416@
2417"SEC","^DIC",176.005,176.005,0,"AUDIT")
2418@
2419"SEC","^DIC",176.005,176.005,0,"DD")
2420@
2421"SEC","^DIC",176.005,176.005,0,"DEL")
2422@
2423"SEC","^DIC",176.005,176.005,0,"LAYGO")
2424@
2425"SEC","^DIC",176.005,176.005,0,"RD")
2426
2427"SEC","^DIC",176.005,176.005,0,"WR")
2428@
2429"SEC","^DIC",176.006,176.006,0,"AUDIT")
2430@
2431"SEC","^DIC",176.006,176.006,0,"DD")
2432@
2433"SEC","^DIC",176.006,176.006,0,"DEL")
2434@
2435"SEC","^DIC",176.006,176.006,0,"LAYGO")
2436@
2437"SEC","^DIC",176.006,176.006,0,"RD")
2438
2439"SEC","^DIC",176.006,176.006,0,"WR")
2440@
2441"VER")
24428.0^22.0
2443"^DD",50,50,176.001,0)
2444RXNCUI^Cp176.001^^ ; ^S X=$$MED2RXN^C0CRXNLK(D0)
2445"^DD",50,50,176.001,.1)
2446RXNORM CUI
2447"^DD",50,50,176.001,9.01)
2448
2449"^DD",50,50,176.001,9.1)
2450S X=$$MED2RXN^C0CRXNLK(D0)
2451"^DD",50,50,176.001,"DT")
24523130708
2453"^DD",50,50,176.002,0)
2454RXN SCD NAME^CJ250^^ ; ^S X=$$MED2SCDN^C0CRXNLK(D0)
2455"^DD",50,50,176.002,9.01)
2456
2457"^DD",50,50,176.002,9.1)
2458S X=$$MED2SCDN^C0CRXNLK(D0)
2459"^DD",50,50,176.002,"DT")
24603130408
2461"^DD",50.68,50.68,176.001,0)
2462COMPUTED GCNSEQNO^CJ25^^ ; ^S X=$$VUI2GCN^C0CRXNLK(+$G(^PSNDF(50.68,D0,"VUID")))
2463"^DD",50.68,50.68,176.001,9.01)
2464
2465"^DD",50.68,50.68,176.001,9.1)
2466S X=$$VUI2GCN^C0CRXNLK(+$G(^PSNDF(50.68,D0,"VUID")))
2467"^DD",50.68,50.68,176.001,"DT")
24683130625
2469"^DD",176.001,176.001,0)
2470FIELD^^50^19
2471"^DD",176.001,176.001,0,"DIK")
2472C0CRXN1
2473"^DD",176.001,176.001,0,"DIKOLD")
2474C0CRXN1
2475"^DD",176.001,176.001,0,"DT")
24763130410
2477"^DD",176.001,176.001,0,"ID",.12)
2478W " ",$P(^(0),U,12)
2479"^DD",176.001,176.001,0,"ID",.13)
2480W " ",$P(^(0),U,13)
2481"^DD",176.001,176.001,0,"ID",.14)
2482W " ",$P(^(0),U,14)
2483"^DD",176.001,176.001,0,"ID",.15)
2484W " ",$P(^(0),U,15)
2485"^DD",176.001,176.001,0,"NM","RXNORM CONCEPT NAMES AND SOURCES")
2486
2487"^DD",176.001,176.001,0,"VRPK")
2488RXNORM FOR VISTA
2489"^DD",176.001,176.001,.01,0)
2490RXCUI^RFJ8^^0;1^K:$L(X)>8!($L(X)<1)!'(X'?1P.E) X
2491"^DD",176.001,176.001,.01,1,0)
2492^.1^^0
2493"^DD",176.001,176.001,.01,3)
2494Answer must be 1-8 characters in length.
2495"^DD",176.001,176.001,.01,21,0)
2496^^1^1^3130225^
2497"^DD",176.001,176.001,.01,21,1,0)
2498RxNorm Unique identifier for concept (concept ID)
2499"^DD",176.001,176.001,.01,"DT")
25003130305
2501"^DD",176.001,176.001,.02,0)
2502LAT^RFJ3^^0;2^K:$L(X)>3!($L(X)<1) X
2503"^DD",176.001,176.001,.02,3)
2504Answer must be 1-3 characters in length.
2505"^DD",176.001,176.001,.02,21,0)
2506^^1^1^3130225^
2507"^DD",176.001,176.001,.02,21,1,0)
2508Language of Term
2509"^DD",176.001,176.001,.02,"DT")
25103130225
2511"^DD",176.001,176.001,.03,0)
2512TS^FJ1^^0;3^K:$L(X)>1!($L(X)<1) X
2513"^DD",176.001,176.001,.03,3)
2514Answer must be 1 character in length.
2515"^DD",176.001,176.001,.03,21,0)
2516^^1^1^3130225^
2517"^DD",176.001,176.001,.03,21,1,0)
2518Term status (no value provided)
2519"^DD",176.001,176.001,.03,"DT")
25203130225
2521"^DD",176.001,176.001,.04,0)
2522LUI^FJ8^^0;4^K:$L(X)>8!($L(X)<1) X
2523"^DD",176.001,176.001,.04,3)
2524Answer must be 1-8 characters in length.
2525"^DD",176.001,176.001,.04,21,0)
2526^^1^1^3130225^
2527"^DD",176.001,176.001,.04,21,1,0)
2528Unique identifier for term (no value provided)
2529"^DD",176.001,176.001,.04,"DT")
25303130225
2531"^DD",176.001,176.001,.05,0)
2532STT^FJ3^^0;5^K:$L(X)>3!($L(X)<1) X
2533"^DD",176.001,176.001,.05,3)
2534Answer must be 1-3 characters in length.
2535"^DD",176.001,176.001,.05,21,0)
2536^^1^1^3130225^
2537"^DD",176.001,176.001,.05,21,1,0)
2538String type (no value provided)
2539"^DD",176.001,176.001,.05,"DT")
25403130225
2541"^DD",176.001,176.001,.06,0)
2542SUI^FJ8^^0;6^K:$L(X)>8!($L(X)<1) X
2543"^DD",176.001,176.001,.06,3)
2544Answer must be 1-8 characters in length.
2545"^DD",176.001,176.001,.06,21,0)
2546^^1^1^3130225^
2547"^DD",176.001,176.001,.06,21,1,0)
2548Unique identifier for string (no value provided)
2549"^DD",176.001,176.001,.06,"DT")
25503130225
2551"^DD",176.001,176.001,.07,0)
2552ISPREF^FJ1^^0;7^K:$L(X)>1!($L(X)<1) X
2553"^DD",176.001,176.001,.07,3)
2554Answer must be 1 character in length.
2555"^DD",176.001,176.001,.07,21,0)
2556^^2^2^3130225^
2557"^DD",176.001,176.001,.07,21,1,0)
2558Atom status - preferred (Y) or not (N) for this string within this
2559"^DD",176.001,176.001,.07,21,2,0)
2560concept (no value provided)
2561"^DD",176.001,176.001,.07,"DT")
25623130225
2563"^DD",176.001,176.001,.08,0)
2564RXAUI^RFJ8^^0;8^K:$L(X)>8!($L(X)<1) X
2565"^DD",176.001,176.001,.08,3)
2566Answer must be 1-8 characters in length.
2567"^DD",176.001,176.001,.08,21,0)
2568^^1^1^3130225^
2569"^DD",176.001,176.001,.08,21,1,0)
2570Unique identifier for atom (RxNorm Atom ID)
2571"^DD",176.001,176.001,.08,"DT")
25723130225
2573"^DD",176.001,176.001,.09,0)
2574SAUI^FJ50^^0;9^K:$L(X)>50!($L(X)<1) X
2575"^DD",176.001,176.001,.09,3)
2576Answer must be 1-50 characters in length.
2577"^DD",176.001,176.001,.09,21,0)
2578^^1^1^3130225^
2579"^DD",176.001,176.001,.09,21,1,0)
2580Source asserted atom identifier [optional]
2581"^DD",176.001,176.001,.09,"DT")
25823130225
2583"^DD",176.001,176.001,.1,0)
2584SCUI^FJ50^^0;10^K:$L(X)>50!($L(X)<1) X
2585"^DD",176.001,176.001,.1,3)
2586Answer must be 1-50 characters in length.
2587"^DD",176.001,176.001,.1,21,0)
2588^^1^1^3130225^
2589"^DD",176.001,176.001,.1,21,1,0)
2590Source asserted concept identifier [optional]
2591"^DD",176.001,176.001,.1,"DT")
25923130225
2593"^DD",176.001,176.001,.11,0)
2594SDUI^FJ50^^0;11^K:$L(X)>50!($L(X)<1) X
2595"^DD",176.001,176.001,.11,3)
2596Answer must be 1-50 characters in length.
2597"^DD",176.001,176.001,.11,21,0)
2598^^1^1^3130225^
2599"^DD",176.001,176.001,.11,21,1,0)
2600Source asserted descriptor identifier [optional] (no value provided)
2601"^DD",176.001,176.001,.11,"DT")
26023130225
2603"^DD",176.001,176.001,.12,0)
2604SAB^RFJ20^^0;12^K:$L(X)>20!($L(X)<1) X
2605"^DD",176.001,176.001,.12,3)
2606Answer must be 1-20 characters in length.
2607"^DD",176.001,176.001,.12,21,0)
2608^^1^1^3130225^
2609"^DD",176.001,176.001,.12,21,1,0)
2610Source abbreviation
2611"^DD",176.001,176.001,.12,"DT")
26123130305
2613"^DD",176.001,176.001,.13,0)
2614TTY^RFJ20^^0;13^K:$L(X)>20!($L(X)<1) X
2615"^DD",176.001,176.001,.13,3)
2616Answer must be 1-20 characters in length.
2617"^DD",176.001,176.001,.13,21,0)
2618^^1^1^3130225^
2619"^DD",176.001,176.001,.13,21,1,0)
2620Term type in source
2621"^DD",176.001,176.001,.13,"DT")
26223130305
2623"^DD",176.001,176.001,.14,0)
2624CODE^RFJ50^^0;14^K:$L(X)>50!($L(X)<1) X
2625"^DD",176.001,176.001,.14,3)
2626Answer must be 1-50 characters in length.
2627"^DD",176.001,176.001,.14,21,0)
2628^^3^3^3130225^
2629"^DD",176.001,176.001,.14,21,1,0)
2630"Most useful" source asserted identifier (if the source vocabulary has
2631"^DD",176.001,176.001,.14,21,2,0)
2632more than one identifier), or a Metathesaurus-generated source entry
2633"^DD",176.001,176.001,.14,21,3,0)
2634identifier (if the source vocabulary has none.)
2635"^DD",176.001,176.001,.14,"DT")
26363130305
2637"^DD",176.001,176.001,.15,0)
2638STR^RFJ3000^^0;15^K:$L(X)>3000!($L(X)<1) X
2639"^DD",176.001,176.001,.15,1,0)
2640^.1^^0
2641"^DD",176.001,176.001,.15,3)
2642Answer must be 1-3000 characters in length.
2643"^DD",176.001,176.001,.15,21,0)
2644^^1^1^3130225^
2645"^DD",176.001,176.001,.15,21,1,0)
2646String
2647"^DD",176.001,176.001,.15,"DT")
26483130227
2649"^DD",176.001,176.001,.16,0)
2650SRL^FJ10^^0;16^K:$L(X)>10!($L(X)<1) X
2651"^DD",176.001,176.001,.16,3)
2652Answer must be 1-10 characters in length.
2653"^DD",176.001,176.001,.16,21,0)
2654^^1^1^3130225^
2655"^DD",176.001,176.001,.16,21,1,0)
2656Source Restriction Level (no value provided)
2657"^DD",176.001,176.001,.16,"DT")
26583130225
2659"^DD",176.001,176.001,.17,0)
2660SUPPRESS^FJ1^^0;17^K:$L(X)>1!($L(X)<1) X
2661"^DD",176.001,176.001,.17,3)
2662Answer must be 1 character in length.
2663"^DD",176.001,176.001,.17,21,0)
2664^^4^4^3130225^
2665"^DD",176.001,176.001,.17,21,1,0)
2666Suppressible flag. Values = N or O. N - not suppressible. O - Specific
2667"^DD",176.001,176.001,.17,21,2,0)
2668Individual names (atoms) set as Obsolete because the name is no longer
2669"^DD",176.001,176.001,.17,21,3,0)
2670provided by the original source. NLM strongly recommends that users not
2671"^DD",176.001,176.001,.17,21,4,0)
2672alter editor-assigned suppressibility.
2673"^DD",176.001,176.001,.17,"DT")
26743130225
2675"^DD",176.001,176.001,.18,0)
2676CVF^FJ50^^0;18^K:$L(X)>50!($L(X)<1) X
2677"^DD",176.001,176.001,.18,3)
2678Answer must be 1-50 characters in length.
2679"^DD",176.001,176.001,.18,21,0)
2680^^1^1^3130225^
2681"^DD",176.001,176.001,.18,21,1,0)
2682Content view flag
2683"^DD",176.001,176.001,.18,"DT")
26843130225
2685"^DD",176.001,176.001,50,0)
2686COMPUTED DRUGS^Cmp50^^ ; ^N V S V=$$RXN2MEDS^C0CRXNLK($P(^C0CRXN(176.001,D0,0),U)) Q:V="" N D F D=1:1:$L(V,U) N D0 S D0=$P(V,U,D),X=$P(^PSDRUG(D0,0),U) X DICMX Q:'$D(D)
2687"^DD",176.001,176.001,50,9.01)
2688
2689"^DD",176.001,176.001,50,9.1)
2690N V S V=$$RXN2MEDS^C0CRXNLK($P(^C0CRXN(176.001,D0,0),U)) Q:V="" N D F D=1:1:$L(V,U) N D0 S D0=$P(V,U,D),X=$P(^PSDRUG(D0,0),U) X DICMX Q:'$D(D)
2691"^DD",176.001,176.001,50,"DT")
26923130410
2693"^DD",176.002,176.002,0)
2694FIELD^^.13^13
2695"^DD",176.002,176.002,0,"DIK")
2696C0CRXN2
2697"^DD",176.002,176.002,0,"DIKOLD")
2698C0CRXN2
2699"^DD",176.002,176.002,0,"DT")
27003130301
2701"^DD",176.002,176.002,0,"ID",.1)
2702W " ",$P(^(0),U,10)
2703"^DD",176.002,176.002,0,"ID",.11)
2704W " ",$P(^(0),U,11)
2705"^DD",176.002,176.002,0,"IX","XATN",176.002,.01)
2706
2707"^DD",176.002,176.002,0,"IX","XATV",176.002,.11)
2708
2709"^DD",176.002,176.002,0,"NM","RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES")
2710
2711"^DD",176.002,176.002,0,"VRPK")
2712RXNORM FOR VISTA
2713"^DD",176.002,176.002,.01,0)
2714ATN^RFJ1000^^0;1^K:$L(X)>1000!($L(X)<1)!'(X'?1P.E) X
2715"^DD",176.002,176.002,.01,1,0)
2716^.1
2717"^DD",176.002,176.002,.01,1,1,0)
2718176.002^XATN
2719"^DD",176.002,176.002,.01,1,1,1)
2720S ^C0CRXN(176.002,"XATN",$E(X,1,30),DA)=""
2721"^DD",176.002,176.002,.01,1,1,2)
2722K ^C0CRXN(176.002,"XATN",$E(X,1,30),DA)
2723"^DD",176.002,176.002,.01,1,1,3)
2724ATN INDEX
2725"^DD",176.002,176.002,.01,1,1,"DT")
27263130301
2727"^DD",176.002,176.002,.01,3)
2728Answer must be 1-1000 characters in length.
2729"^DD",176.002,176.002,.01,21,0)
2730^^2^2^3130301^^
2731"^DD",176.002,176.002,.01,21,1,0)
2732Attribute name. Possible values appear in RXNDOC.RRF and are described on
2733"^DD",176.002,176.002,.01,21,2,0)
2734the UMLS Attribute Names page.
2735"^DD",176.002,176.002,.01,"DT")
27363130307
2737"^DD",176.002,176.002,.02,0)
2738LUI^FJ8^^0;2^K:$L(X)>8!($L(X)<1) X
2739"^DD",176.002,176.002,.02,3)
2740Answer must be 1-8 characters in length.
2741"^DD",176.002,176.002,.02,21,0)
2742^^1^1^3130301^^
2743"^DD",176.002,176.002,.02,21,1,0)
2744Unique identifier for term (no value provided)
2745"^DD",176.002,176.002,.02,"DT")
27463130301
2747"^DD",176.002,176.002,.03,0)
2748SUI^FJ8^^0;3^K:$L(X)>8!($L(X)<1) X
2749"^DD",176.002,176.002,.03,3)
2750Answer must be 1-8 characters in length.
2751"^DD",176.002,176.002,.03,21,0)
2752^^1^1^3130301^
2753"^DD",176.002,176.002,.03,21,1,0)
2754Unique identifier for string (no value provided)
2755"^DD",176.002,176.002,.03,"DT")
27563130301
2757"^DD",176.002,176.002,.04,0)
2758RXAUI^FJ8^^0;4^K:$L(X)>8!($L(X)<1) X
2759"^DD",176.002,176.002,.04,3)
2760Answer must be 1-8 characters in length.
2761"^DD",176.002,176.002,.04,21,0)
2762^^1^1^3130301^
2763"^DD",176.002,176.002,.04,21,1,0)
2764RxNorm atom identifier (RXAUI) or RxNorm relationship identifier (RUI).
2765"^DD",176.002,176.002,.04,"DT")
27663130301
2767"^DD",176.002,176.002,.05,0)
2768STYPE^FJ50^^0;5^K:$L(X)>50!($L(X)<1) X
2769"^DD",176.002,176.002,.05,3)
2770Answer must be 1-50 characters in length.
2771"^DD",176.002,176.002,.05,21,0)
2772^^2^2^3130301^
2773"^DD",176.002,176.002,.05,21,1,0)
2774The name of the column in RXNCONSO.RRF or RXNREL.RRF that contains the
2775"^DD",176.002,176.002,.05,21,2,0)
2776identifier to which the attribute is attached, e.g., CUI, AUI.
2777"^DD",176.002,176.002,.05,"DT")
27783130301
2779"^DD",176.002,176.002,.06,0)
2780CODE^FJ50^^0;6^K:$L(X)>50!($L(X)<1) X
2781"^DD",176.002,176.002,.06,3)
2782Answer must be 1-50 characters in length.
2783"^DD",176.002,176.002,.06,21,0)
2784^^2^2^3130301^^
2785"^DD",176.002,176.002,.06,21,1,0)
2786"Most useful" source asserted identifier (if the source vocabulary
2787"^DD",176.002,176.002,.06,21,2,0)
2788contains more than one).
2789"^DD",176.002,176.002,.06,"DT")
27903130301
2791"^DD",176.002,176.002,.07,0)
2792ATUI^FJ11^^0;7^K:$L(X)>11!($L(X)<1) X
2793"^DD",176.002,176.002,.07,3)
2794Answer must be 1-11 characters in length.
2795"^DD",176.002,176.002,.07,21,0)
2796^^1^1^3130301^
2797"^DD",176.002,176.002,.07,21,1,0)
2798Unique identifier for attribute.
2799"^DD",176.002,176.002,.07,"DT")
28003130301
2801"^DD",176.002,176.002,.08,0)
2802SATUI^FJ50^^0;8^K:$L(X)>50!($L(X)<1) X
2803"^DD",176.002,176.002,.08,3)
2804Answer must be 1-50 characters in length.
2805"^DD",176.002,176.002,.08,21,0)
2806^^1^1^3130301^
2807"^DD",176.002,176.002,.08,21,1,0)
2808Source asserted attribute identifier (optional - present if it exists).
2809"^DD",176.002,176.002,.08,"DT")
28103130301
2811"^DD",176.002,176.002,.09,0)
2812RXCUI^FJ8^^0;9^K:$L(X)>8!($L(X)<1) X
2813"^DD",176.002,176.002,.09,3)
2814Answer must be 1-8 characters in length.
2815"^DD",176.002,176.002,.09,21,0)
2816^^1^1^3130301^
2817"^DD",176.002,176.002,.09,21,1,0)
2818Unique identifier for concept (concept id).
2819"^DD",176.002,176.002,.09,"DT")
28203130307
2821"^DD",176.002,176.002,.1,0)
2822SAB^RFJ20^^0;10^K:$L(X)>20!($L(X)<1) X
2823"^DD",176.002,176.002,.1,3)
2824Answer must be 1-20 characters in length.
2825"^DD",176.002,176.002,.1,21,0)
2826^^2^2^3130301^
2827"^DD",176.002,176.002,.1,21,1,0)
2828Abbreviation of the source of the attribute. Possible values appear in
2829"^DD",176.002,176.002,.1,21,2,0)
2830RXNSAB.RRF and are listed on the UMLS Source Vocabularies page.
2831"^DD",176.002,176.002,.1,"DT")
28323130307
2833"^DD",176.002,176.002,.11,0)
2834ATV^FJ4000^^0;11^K:$L(X)>4000!($L(X)<1) X
2835"^DD",176.002,176.002,.11,1,0)
2836^.1
2837"^DD",176.002,176.002,.11,1,1,0)
2838176.002^XATV
2839"^DD",176.002,176.002,.11,1,1,1)
2840S ^C0CRXN(176.002,"XATV",$E(X,1,30),DA)=""
2841"^DD",176.002,176.002,.11,1,1,2)
2842K ^C0CRXN(176.002,"XATV",$E(X,1,30),DA)
2843"^DD",176.002,176.002,.11,1,1,3)
2844ATV INDEX
2845"^DD",176.002,176.002,.11,1,1,"DT")
28463130301
2847"^DD",176.002,176.002,.11,3)
2848Answer must be 1-4000 characters in length.
2849"^DD",176.002,176.002,.11,21,0)
2850^^4^4^3130301^
2851"^DD",176.002,176.002,.11,21,1,0)
2852Attribute value described under specific attribute name on the UMLS
2853"^DD",176.002,176.002,.11,21,2,0)
2854Attribute Names page. A few attribute values exceed 1,000 characters.
2855"^DD",176.002,176.002,.11,21,3,0)
2856Many of the abbreviations used in attribute values are explained in
2857"^DD",176.002,176.002,.11,21,4,0)
2858RXNDOC.RRF and included UMLS Abbreviations Used in Data Elements page.
2859"^DD",176.002,176.002,.11,"DT")
28603130307
2861"^DD",176.002,176.002,.12,0)
2862SUPPRESS^FJ1^^0;12^K:$L(X)>1!($L(X)<1) X
2863"^DD",176.002,176.002,.12,3)
2864Answer must be 1 character in length.
2865"^DD",176.002,176.002,.12,21,0)
2866^^3^3^3130301^
2867"^DD",176.002,176.002,.12,21,1,0)
2868Suppressible flag. Values = O, Y, or N. Reflects the suppressible status
2869"^DD",176.002,176.002,.12,21,2,0)
2870of the attribute. N - Attribute is not suppressed. O - Attribute is
2871"^DD",176.002,176.002,.12,21,3,0)
2872suppressed at source level. Y - Attribute is suppressed by RxNorm editors.
2873"^DD",176.002,176.002,.12,"DT")
28743130301
2875"^DD",176.002,176.002,.13,0)
2876CVF^FJ50^^0;13^K:$L(X)>50!($L(X)<1) X
2877"^DD",176.002,176.002,.13,3)
2878Answer must be 1-50 characters in length.
2879"^DD",176.002,176.002,.13,21,0)
2880^^1^1^3130301^
2881"^DD",176.002,176.002,.13,21,1,0)
2882Content view flag
2883"^DD",176.002,176.002,.13,"DT")
28843130301
2885"^DD",176.003,176.003,0)
2886FIELD^^.25^25
2887"^DD",176.003,176.003,0,"DT")
28883130301
2889"^DD",176.003,176.003,0,"ID",.05)
2890W " ",$P(^(0),U,5)
2891"^DD",176.003,176.003,0,"ID",.14)
2892W " ",$P(^(0),U,14)
2893"^DD",176.003,176.003,0,"IX","B",176.003,.01)
2894
2895"^DD",176.003,176.003,0,"NM","RXNORM SOURCE INFORMATION")
2896
2897"^DD",176.003,176.003,0,"VRPK")
2898RXNORM FOR VISTA
2899"^DD",176.003,176.003,.01,0)
2900RSAB^RFJ20^^0;1^K:$L(X)>20!($L(X)<1)!'(X'?1P.E) X
2901"^DD",176.003,176.003,.01,.1)
2902ROOT SOURCE ABBREVIATION
2903"^DD",176.003,176.003,.01,1,0)
2904^.1
2905"^DD",176.003,176.003,.01,1,1,0)
2906176.003^B
2907"^DD",176.003,176.003,.01,1,1,1)
2908S ^C0CRXN(176.003,"B",$E(X,1,30),DA)=""
2909"^DD",176.003,176.003,.01,1,1,2)
2910K ^C0CRXN(176.003,"B",$E(X,1,30),DA)
2911"^DD",176.003,176.003,.01,3)
2912Answer must be 1-20 characters in length.
2913"^DD",176.003,176.003,.01,21,0)
2914^^1^1^3130301^
2915"^DD",176.003,176.003,.01,21,1,0)
2916The root source abbreviation, for a source e.g. NDDF
2917"^DD",176.003,176.003,.01,"DT")
29183130301
2919"^DD",176.003,176.003,.02,0)
2920RCUI^FJ8^^0;2^K:$L(X)>8!($L(X)<1) X
2921"^DD",176.003,176.003,.02,.1)
2922ROOT CUI
2923"^DD",176.003,176.003,.02,3)
2924Answer must be 1-8 characters in length.
2925"^DD",176.003,176.003,.02,21,0)
2926^^1^1^3130301^
2927"^DD",176.003,176.003,.02,21,1,0)
2928CUI of the root SRC concept for a source
2929"^DD",176.003,176.003,.02,"DT")
29303130301
2931"^DD",176.003,176.003,.03,0)
2932VSAB^FJ40^^0;3^K:$L(X)>40!($L(X)<1) X
2933"^DD",176.003,176.003,.03,.1)
2934VERSIONED SOURCE ABBREVIATION
2935"^DD",176.003,176.003,.03,3)
2936Answer must be 1-20 characters in length.
2937"^DD",176.003,176.003,.03,21,0)
2938^^1^1^3130301^
2939"^DD",176.003,176.003,.03,21,1,0)
2940The versioned source abbreviation for a source, e.g., NDDF_2004_11_03
2941"^DD",176.003,176.003,.03,"DT")
29423130301
2943"^DD",176.003,176.003,.04,0)
2944VCUI^FJ8^^0;4^K:$L(X)>8!($L(X)<1) X
2945"^DD",176.003,176.003,.04,.1)
2946CUI
2947"^DD",176.003,176.003,.04,3)
2948Answer must be 1-8 characters in length.
2949"^DD",176.003,176.003,.04,21,0)
2950^^1^1^3130301^
2951"^DD",176.003,176.003,.04,21,1,0)
2952CUI of the versioned SRC concept for a source
2953"^DD",176.003,176.003,.04,"DT")
29543130301
2955"^DD",176.003,176.003,.05,0)
2956SON^FJ3000^^0;5^K:$L(X)>3000!($L(X)<1) X
2957"^DD",176.003,176.003,.05,.1)
2958OFFICIAL NAME
2959"^DD",176.003,176.003,.05,3)
2960Answer must be 1-3000 characters in length.
2961"^DD",176.003,176.003,.05,21,0)
2962^^1^1^3130301^^
2963"^DD",176.003,176.003,.05,21,1,0)
2964The official name for a source
2965"^DD",176.003,176.003,.05,"DT")
29663130301
2967"^DD",176.003,176.003,.06,0)
2968SF^FJ20^^0;6^K:$L(X)>20!($L(X)<1) X
2969"^DD",176.003,176.003,.06,.1)
2970SOURCE FAMILY
2971"^DD",176.003,176.003,.06,3)
2972Answer must be 1-20 characters in length.
2973"^DD",176.003,176.003,.06,21,0)
2974^^1^1^3130301^
2975"^DD",176.003,176.003,.06,21,1,0)
2976The Source Family for a source
2977"^DD",176.003,176.003,.06,"DT")
29783130301
2979"^DD",176.003,176.003,.07,0)
2980SVER^FJ20^^0;7^K:$L(X)>20!($L(X)<1) X
2981"^DD",176.003,176.003,.07,.1)
2982VERSION
2983"^DD",176.003,176.003,.07,3)
2984Answer must be 1-20 characters in length.
2985"^DD",176.003,176.003,.07,21,0)
2986^^1^1^3130301^
2987"^DD",176.003,176.003,.07,21,1,0)
2988The source version, e.g., 2001
2989"^DD",176.003,176.003,.07,"DT")
29903130301
2991"^DD",176.003,176.003,.08,0)
2992VSTART^FJ10^^0;8^K:$L(X)>10!($L(X)<1) X
2993"^DD",176.003,176.003,.08,.1)
2994META START DATE
2995"^DD",176.003,176.003,.08,3)
2996Answer must be 1-10 characters in length.
2997"^DD",176.003,176.003,.08,21,0)
2998^^1^1^3130301^
2999"^DD",176.003,176.003,.08,21,1,0)
3000The date a source became active, e.g., 2001_04_03
3001"^DD",176.003,176.003,.08,"DT")
30023130301
3003"^DD",176.003,176.003,.09,0)
3004VEND^FJ10^^0;9^K:$L(X)>10!($L(X)<1) X
3005"^DD",176.003,176.003,.09,.1)
3006META END DATE
3007"^DD",176.003,176.003,.09,3)
3008Answer must be 1-10 characters in length.
3009"^DD",176.003,176.003,.09,21,0)
3010^^1^1^3130301^
3011"^DD",176.003,176.003,.09,21,1,0)
3012The date a source ceased to be active, e.g., 2001_05_10
3013"^DD",176.003,176.003,.09,"DT")
30143130301
3015"^DD",176.003,176.003,.1,0)
3016IMETA^FJ10^^0;10^K:$L(X)>10!($L(X)<1) X
3017"^DD",176.003,176.003,.1,.1)
3018META INSERT VERSION
3019"^DD",176.003,176.003,.1,3)
3020Answer must be 1-10 characters in length.
3021"^DD",176.003,176.003,.1,21,0)
3022^^1^1^3130301^^
3023"^DD",176.003,176.003,.1,21,1,0)
3024The version of the Metathesaurus a source first appeared, e.g., 2001AB
3025"^DD",176.003,176.003,.1,"DT")
30263130301
3027"^DD",176.003,176.003,.11,0)
3028RMETA^FJ10^^0;11^K:$L(X)>10!($L(X)<1) X
3029"^DD",176.003,176.003,.11,.1)
3030META REMOVE VERSION
3031"^DD",176.003,176.003,.11,3)
3032Answer must be 1-10 characters in length.
3033"^DD",176.003,176.003,.11,21,0)
3034^^1^1^3130301^
3035"^DD",176.003,176.003,.11,21,1,0)
3036The version of the Metathesaurus a source was removed, e.g., 2001AC
3037"^DD",176.003,176.003,.11,"DT")
30383130301
3039"^DD",176.003,176.003,.12,0)
3040SLC^FJ1000^^0;12^K:$L(X)>1000!($L(X)<1) X
3041"^DD",176.003,176.003,.12,.1)
3042SOURCE LICENSE CONTACT
3043"^DD",176.003,176.003,.12,3)
3044Answer must be 1-1000 characters in length.
3045"^DD",176.003,176.003,.12,21,0)
3046^^4^4^3130301^
3047"^DD",176.003,176.003,.12,21,1,0)
3048The source license contact information. A semi-colon separated list
3049"^DD",176.003,176.003,.12,21,2,0)
3050containing the following fields: Name; Title; Organization; Address 1;
3051"^DD",176.003,176.003,.12,21,3,0)
3052Address 2; City; State or Province; Country; Zip or Postal Code;
3053"^DD",176.003,176.003,.12,21,4,0)
3054Telephone; Contact Fax; Email; URL
3055"^DD",176.003,176.003,.12,"DT")
30563130301
3057"^DD",176.003,176.003,.13,0)
3058SCC^FJ1000^^0;13^K:$L(X)>1000!($L(X)<1) X
3059"^DD",176.003,176.003,.13,.1)
3060SOURCE CONTENT CONTACT
3061"^DD",176.003,176.003,.13,3)
3062Answer must be 1-1000 characters in length.
3063"^DD",176.003,176.003,.13,21,0)
3064^^4^4^3130301^
3065"^DD",176.003,176.003,.13,21,1,0)
3066The source content contact information. A semi-colon separated list
3067"^DD",176.003,176.003,.13,21,2,0)
3068containing the following fields: Name; Title; Organization; Address 1;
3069"^DD",176.003,176.003,.13,21,3,0)
3070Address 2; City; State or Province; Country; Zip or Postal Code;
3071"^DD",176.003,176.003,.13,21,4,0)
3072Telephone; Contact Fax; Email; URL
3073"^DD",176.003,176.003,.13,"DT")
30743130301
3075"^DD",176.003,176.003,.14,0)
3076SRL^NJ10,0^^0;14^K:+X'=X!(X>9999999999)!(X<0)!(X?.E1"."1N.N) X
3077"^DD",176.003,176.003,.14,.1)
3078SOURCE RESTRICTION LEVEL
3079"^DD",176.003,176.003,.14,3)
3080Type a number between 0 and 9999999999, 0 decimal digits.
3081"^DD",176.003,176.003,.14,21,0)
3082^^1^1^3130301^
3083"^DD",176.003,176.003,.14,21,1,0)
30840,1,2,3,4 - explained in the License Agreement.
3085"^DD",176.003,176.003,.14,"DT")
30863130301
3087"^DD",176.003,176.003,.15,0)
3088TFR^NJ10,0^^0;15^K:+X'=X!(X>9999999999)!(X<0)!(X?.E1"."1N.N) X
3089"^DD",176.003,176.003,.15,.1)
3090TERM FREQUENCY
3091"^DD",176.003,176.003,.15,3)
3092Type a number between 0 and 9999999999, 0 decimal digits.
3093"^DD",176.003,176.003,.15,21,0)
3094^^2^2^3130301^
3095"^DD",176.003,176.003,.15,21,1,0)
3096The number of terms for this source in RXNCONSO.RRF, e.g., 12343 (not
3097"^DD",176.003,176.003,.15,21,2,0)
3098implemented yet)
3099"^DD",176.003,176.003,.15,"DT")
31003130301
3101"^DD",176.003,176.003,.16,0)
3102CFR^NJ10,0^^0;16^K:+X'=X!(X>9999999999)!(X<0)!(X?.E1"."1N.N) X
3103"^DD",176.003,176.003,.16,.1)
3104CUI FREQUENCY
3105"^DD",176.003,176.003,.16,3)
3106Type a number between 0 and 9999999999, 0 decimal digits.
3107"^DD",176.003,176.003,.16,21,0)
3108^^2^2^3130301^
3109"^DD",176.003,176.003,.16,21,1,0)
3110The number of CUIs associated with this source, e.g., 10234 (not
3111"^DD",176.003,176.003,.16,21,2,0)
3112implemented yet)
3113"^DD",176.003,176.003,.16,"DT")
31143130301
3115"^DD",176.003,176.003,.17,0)
3116CXTY^FJ50^^0;17^K:$L(X)>50!($L(X)<1) X
3117"^DD",176.003,176.003,.17,.1)
3118CONTEXT TYPE
3119"^DD",176.003,176.003,.17,3)
3120Answer must be 1-50 characters in length.
3121"^DD",176.003,176.003,.17,21,0)
3122^^1^1^3130301^
3123"^DD",176.003,176.003,.17,21,1,0)
3124The type of relationship label (Section 2.4.2 of UMLS Reference Manual)
3125"^DD",176.003,176.003,.17,"DT")
31263130301
3127"^DD",176.003,176.003,.18,0)
3128TTYL^FJ300^^0;18^K:$L(X)>300!($L(X)<1) X
3129"^DD",176.003,176.003,.18,.1)
3130TERM TYPE LIST
3131"^DD",176.003,176.003,.18,3)
3132Answer must be 1-300 characters in length.
3133"^DD",176.003,176.003,.18,21,0)
3134^^1^1^3130301^
3135"^DD",176.003,176.003,.18,21,1,0)
3136Term type list from source, e.g., MH,EN,PM,TQ
3137"^DD",176.003,176.003,.18,"DT")
31383130301
3139"^DD",176.003,176.003,.19,0)
3140ATNL^FJ1000^^0;19^K:$L(X)>1000!($L(X)<1) X
3141"^DD",176.003,176.003,.19,.1)
3142ATTRIBUTE NAME LIST
3143"^DD",176.003,176.003,.19,3)
3144Answer must be 1-1000 characters in length.
3145"^DD",176.003,176.003,.19,21,0)
3146^^1^1^3130301^
3147"^DD",176.003,176.003,.19,21,1,0)
3148The attribute name list, e.g., MUI,RN,TH,...
3149"^DD",176.003,176.003,.19,"DT")
31503130301
3151"^DD",176.003,176.003,.2,0)
3152LAT^FJ3^^0;20^K:$L(X)>3!($L(X)<1) X
3153"^DD",176.003,176.003,.2,.1)
3154LANGUAGE
3155"^DD",176.003,176.003,.2,3)
3156Answer must be 1-3 characters in length.
3157"^DD",176.003,176.003,.2,21,0)
3158^^1^1^3130301^
3159"^DD",176.003,176.003,.2,21,1,0)
3160The language of the terms in the source
3161"^DD",176.003,176.003,.2,"DT")
31623130301
3163"^DD",176.003,176.003,.21,0)
3164CENC^FJ20^^0;21^K:$L(X)>20!($L(X)<1) X
3165"^DD",176.003,176.003,.21,.1)
3166CHARACTER ENCODING
3167"^DD",176.003,176.003,.21,3)
3168Answer must be 1-20 characters in length.
3169"^DD",176.003,176.003,.21,21,0)
3170^^2^2^3130301^
3171"^DD",176.003,176.003,.21,21,1,0)
3172Character set as specified by the IANA official names for character
3173"^DD",176.003,176.003,.21,21,2,0)
3174assignments http://www.iana.org/assignments/character-sets
3175"^DD",176.003,176.003,.21,"DT")
31763130301
3177"^DD",176.003,176.003,.22,0)
3178CURVER^FJ1^^0;22^K:$L(X)>1!($L(X)<1) X
3179"^DD",176.003,176.003,.22,.1)
3180CURRENT VERSION
3181"^DD",176.003,176.003,.22,3)
3182Answer must be 1 character in length.
3183"^DD",176.003,176.003,.22,21,0)
3184^^2^2^3130301^
3185"^DD",176.003,176.003,.22,21,1,0)
3186A Y or N flag indicating whether or not this row corresponds to the
3187"^DD",176.003,176.003,.22,21,2,0)
3188current version of the named source
3189"^DD",176.003,176.003,.22,"DT")
31903130301
3191"^DD",176.003,176.003,.23,0)
3192SABIN^FJ1^^0;23^K:$L(X)>1!($L(X)<1) X
3193"^DD",176.003,176.003,.23,.1)
3194SOURCE IN SUBSET
3195"^DD",176.003,176.003,.23,3)
3196Answer must be 1 character in length.
3197"^DD",176.003,176.003,.23,21,0)
3198^^3^3^3130301^
3199"^DD",176.003,176.003,.23,21,1,0)
3200A Y or N flag indicating whether or not this row is represented in the
3201"^DD",176.003,176.003,.23,21,2,0)
3202current MetamorphoSys subset. Initially always Y where CURVER is Y, but
3203"^DD",176.003,176.003,.23,21,3,0)
3204later is recomputed by MetamorphoSys.
3205"^DD",176.003,176.003,.23,"DT")
32063130301
3207"^DD",176.003,176.003,.24,0)
3208SSN^FJ3000^^0;24^K:$L(X)>3000!($L(X)<1) X
3209"^DD",176.003,176.003,.24,.1)
3210SOURCE SHORT NAME
3211"^DD",176.003,176.003,.24,3)
3212Answer must be 1-3000 characters in length.
3213"^DD",176.003,176.003,.24,21,0)
3214^^1^1^3130301^
3215"^DD",176.003,176.003,.24,21,1,0)
3216The short name of a source as used by the NLM Knowledge Source Server.
3217"^DD",176.003,176.003,.24,"DT")
32183130301
3219"^DD",176.003,176.003,.25,0)
3220SCIT^FJ4000^^0;25^K:$L(X)>4000!($L(X)<1) X
3221"^DD",176.003,176.003,.25,.1)
3222SOURCE CITATION
3223"^DD",176.003,176.003,.25,3)
3224Answer must be 1-4000 characters in length.
3225"^DD",176.003,176.003,.25,21,0)
3226^^6^6^3130301^
3227"^DD",176.003,176.003,.25,21,1,0)
3228Citation information for a source. A semi-colon separated list containing
3229"^DD",176.003,176.003,.25,21,2,0)
3230the following fields: Author(s); Author(s) address; Author(s)
3231"^DD",176.003,176.003,.25,21,3,0)
3232organization; Editor(s); Title; Content Designator; Medium Designator;
3233"^DD",176.003,176.003,.25,21,4,0)
3234Edition; Place of Publication; Publisher; Date of Publication/copyright;
3235"^DD",176.003,176.003,.25,21,5,0)
3236Date of revision; Location; Extent; Series; Availability Statement (URL);
3237"^DD",176.003,176.003,.25,21,6,0)
3238Language; Notes
3239"^DD",176.003,176.003,.25,"DT")
32403130301
3241"^DD",176.004,176.004,0)
3242FIELD^^.06^6
3243"^DD",176.004,176.004,0,"DIK")
3244C0CRXN4
3245"^DD",176.004,176.004,0,"DIKOLD")
3246C0CRXN4
3247"^DD",176.004,176.004,0,"DT")
32483130301
3249"^DD",176.004,176.004,0,"ID",.02)
3250W " ",$P(^(0),U,2)
3251"^DD",176.004,176.004,0,"ID",.03)
3252W " ",$P(^(0),U,3)
3253"^DD",176.004,176.004,0,"ID",.04)
3254W " ",$P(^(0),U,4)
3255"^DD",176.004,176.004,0,"IX","B",176.004,.01)
3256
3257"^DD",176.004,176.004,0,"NM","RXNORM SEMANTIC TYPES")
3258
3259"^DD",176.004,176.004,0,"VRPK")
3260RXNORM FOR VISTA
3261"^DD",176.004,176.004,.01,0)
3262RXNCUI^RFJ8^^0;1^K:$L(X)>8!($L(X)<1)!'(X'?1P.E) X
3263"^DD",176.004,176.004,.01,1,0)
3264^.1
3265"^DD",176.004,176.004,.01,1,1,0)
3266176.004^B
3267"^DD",176.004,176.004,.01,1,1,1)
3268S ^C0CRXN(176.004,"B",$E(X,1,30),DA)=""
3269"^DD",176.004,176.004,.01,1,1,2)
3270K ^C0CRXN(176.004,"B",$E(X,1,30),DA)
3271"^DD",176.004,176.004,.01,3)
3272Answer must be 1-8 characters in length.
3273"^DD",176.004,176.004,.01,21,0)
3274^^1^1^3130301^
3275"^DD",176.004,176.004,.01,21,1,0)
3276Unique identifier of concept (concept id)
3277"^DD",176.004,176.004,.01,"DT")
32783130301
3279"^DD",176.004,176.004,.02,0)
3280TUI^FJ4^^0;2^K:$L(X)>4!($L(X)<1) X
3281"^DD",176.004,176.004,.02,3)
3282Answer must be 1-4 characters in length.
3283"^DD",176.004,176.004,.02,21,0)
3284^^1^1^3130301^
3285"^DD",176.004,176.004,.02,21,1,0)
3286Unique identifier of Semantic Type
3287"^DD",176.004,176.004,.02,"DT")
32883130301
3289"^DD",176.004,176.004,.03,0)
3290STN^FJ100^^0;3^K:$L(X)>100!($L(X)<1) X
3291"^DD",176.004,176.004,.03,3)
3292Answer must be 1-100 characters in length.
3293"^DD",176.004,176.004,.03,21,0)
3294^^1^1^3130301^
3295"^DD",176.004,176.004,.03,21,1,0)
3296Semantic Type tree number
3297"^DD",176.004,176.004,.03,"DT")
32983130301
3299"^DD",176.004,176.004,.04,0)
3300STY^FJ50^^0;4^K:$L(X)>50!($L(X)<1) X
3301"^DD",176.004,176.004,.04,3)
3302Answer must be 1-50 characters in length.
3303"^DD",176.004,176.004,.04,21,0)
3304^^1^1^3130301^
3305"^DD",176.004,176.004,.04,21,1,0)
3306Semantic Type. The valid values are defined in the Semantic Network.
3307"^DD",176.004,176.004,.04,"DT")
33083130301
3309"^DD",176.004,176.004,.05,0)
3310ATUI^FJ11^^0;5^K:$L(X)>11!($L(X)<1) X
3311"^DD",176.004,176.004,.05,3)
3312Answer must be 1-11 characters in length.
3313"^DD",176.004,176.004,.05,21,0)
3314^^1^1^3130301^
3315"^DD",176.004,176.004,.05,21,1,0)
3316Unique identifier for attribute
3317"^DD",176.004,176.004,.05,"DT")
33183130301
3319"^DD",176.004,176.004,.06,0)
3320CVF^FJ50^^0;6^K:$L(X)>50!($L(X)<1) X
3321"^DD",176.004,176.004,.06,3)
3322Answer must be 1-50 characters in length.
3323"^DD",176.004,176.004,.06,21,0)
3324^^1^1^3130301^
3325"^DD",176.004,176.004,.06,21,1,0)
3326Content view flag
3327"^DD",176.004,176.004,.06,"DT")
33283130301
3329"^DD",176.005,176.005,0)
3330FIELD^^.16^16
3331"^DD",176.005,176.005,0,"DIK")
3332C0CRXN5
3333"^DD",176.005,176.005,0,"DIKOLD")
3334C0CRXN5
3335"^DD",176.005,176.005,0,"DT")
33363130301
3337"^DD",176.005,176.005,0,"NM","RXNORM RELATED CONCEPTS")
3338
3339"^DD",176.005,176.005,0,"VRPK")
3340RXNORM FOR VISTA
3341"^DD",176.005,176.005,.01,0)
3342SAB^RFJ20^^0;1^K:$L(X)>20!($L(X)<1)!'(X'?1P.E) X
3343"^DD",176.005,176.005,.01,1,0)
3344^.1^^0
3345"^DD",176.005,176.005,.01,3)
3346Answer must be 1-20 characters in length.
3347"^DD",176.005,176.005,.01,21,0)
3348^^1^1^3130301^
3349"^DD",176.005,176.005,.01,21,1,0)
3350Abbreviation of the source of relationship
3351"^DD",176.005,176.005,.01,"DT")
33523130301
3353"^DD",176.005,176.005,.02,0)
3354RXAUI1^FJ8^^0;2^K:$L(X)>8!($L(X)<1) X
3355"^DD",176.005,176.005,.02,3)
3356Answer must be 1-8 characters in length.
3357"^DD",176.005,176.005,.02,21,0)
3358^^1^1^3130301^
3359"^DD",176.005,176.005,.02,21,1,0)
3360Unique identifier for first atom
3361"^DD",176.005,176.005,.02,"DT")
33623130301
3363"^DD",176.005,176.005,.03,0)
3364STYPE1^FJ50^^0;3^K:$L(X)>50!($L(X)<1) X
3365"^DD",176.005,176.005,.03,3)
3366Answer must be 1-50 characters in length.
3367"^DD",176.005,176.005,.03,21,0)
3368^^3^3^3130301^
3369"^DD",176.005,176.005,.03,21,1,0)
3370The name of the column in RXNCONSO.RRF that contains the identifier used
3371"^DD",176.005,176.005,.03,21,2,0)
3372for the first concept or first atom in source of the relationship (e.g.,
3373"^DD",176.005,176.005,.03,21,3,0)
3374'AUI' or 'CUI').
3375"^DD",176.005,176.005,.03,"DT")
33763130301
3377"^DD",176.005,176.005,.04,0)
3378REL^FJ4^^0;4^K:$L(X)>4!($L(X)<1) X
3379"^DD",176.005,176.005,.04,3)
3380Answer must be 1-4 characters in length.
3381"^DD",176.005,176.005,.04,21,0)
3382^^1^1^3130301^
3383"^DD",176.005,176.005,.04,21,1,0)
3384Relationship of second concept or atom to first concept or atom
3385"^DD",176.005,176.005,.04,"DT")
33863130301
3387"^DD",176.005,176.005,.05,0)
3388RXCUI2^FJ8^^0;5^K:$L(X)>8!($L(X)<1) X
3389"^DD",176.005,176.005,.05,3)
3390Answer must be 1-8 characters in length.
3391"^DD",176.005,176.005,.05,21,0)
3392^^1^1^3130301^
3393"^DD",176.005,176.005,.05,21,1,0)
3394Unique identifier of second concept
3395"^DD",176.005,176.005,.05,"DT")
33963130301
3397"^DD",176.005,176.005,.06,0)
3398RXAUI2^FJ8^^0;6^K:$L(X)>8!($L(X)<1) X
3399"^DD",176.005,176.005,.06,3)
3400Answer must be 1-8 characters in length.
3401"^DD",176.005,176.005,.06,21,0)
3402^^1^1^3130301^
3403"^DD",176.005,176.005,.06,21,1,0)
3404Unique identifier for second atom
3405"^DD",176.005,176.005,.06,"DT")
34063130301
3407"^DD",176.005,176.005,.07,0)
3408STYPE2^FJ50^^0;7^K:$L(X)>50!($L(X)<1) X
3409"^DD",176.005,176.005,.07,3)
3410Answer must be 1-50 characters in length.
3411"^DD",176.005,176.005,.07,21,0)
3412^^3^3^3130301^
3413"^DD",176.005,176.005,.07,21,1,0)
3414The name of the column in RXNCONSO.RRF that contains the identifier used
3415"^DD",176.005,176.005,.07,21,2,0)
3416for the second concept or second atom in the source of the relationship
3417"^DD",176.005,176.005,.07,21,3,0)
3418(e.g., 'AUI' or 'CUI').
3419"^DD",176.005,176.005,.07,"DT")
34203130301
3421"^DD",176.005,176.005,.08,0)
3422RELA^FJ100^^0;8^K:$L(X)>100!($L(X)<1) X
3423"^DD",176.005,176.005,.08,3)
3424Answer must be 1-100 characters in length.
3425"^DD",176.005,176.005,.08,21,0)
3426^^1^1^3130301^
3427"^DD",176.005,176.005,.08,21,1,0)
3428Additional (more specific) relationship label (optional)
3429"^DD",176.005,176.005,.08,"DT")
34303130301
3431"^DD",176.005,176.005,.09,0)
3432RUI^FJ10^^0;9^K:$L(X)>10!($L(X)<1) X
3433"^DD",176.005,176.005,.09,3)
3434Answer must be 1-10 characters in length.
3435"^DD",176.005,176.005,.09,21,0)
3436^^1^1^3130301^^
3437"^DD",176.005,176.005,.09,21,1,0)
3438Unique identifier for relationship
3439"^DD",176.005,176.005,.09,"DT")
34403130301
3441"^DD",176.005,176.005,.1,0)
3442SRUI^FJ50^^0;10^K:$L(X)>50!($L(X)<1) X
3443"^DD",176.005,176.005,.1,3)
3444Answer must be 1-50 characters in length.
3445"^DD",176.005,176.005,.1,21,0)
3446^^1^1^3130301^
3447"^DD",176.005,176.005,.1,21,1,0)
3448Source asserted relationship identifier, if present (no value provided)
3449"^DD",176.005,176.005,.1,"DT")
34503130301
3451"^DD",176.005,176.005,.11,0)
3452RXCUI1^FJ8^^0;11^K:$L(X)>8!($L(X)<1) X
3453"^DD",176.005,176.005,.11,3)
3454Answer must be 1-8 characters in length.
3455"^DD",176.005,176.005,.11,21,0)
3456^^1^1^3130301^
3457"^DD",176.005,176.005,.11,21,1,0)
3458Unique identifier of first concept
3459"^DD",176.005,176.005,.11,"DT")
34603130301
3461"^DD",176.005,176.005,.12,0)
3462SL^FJ1000^^0;12^K:$L(X)>1000!($L(X)<1) X
3463"^DD",176.005,176.005,.12,3)
3464Answer must be 1-1000 characters in length.
3465"^DD",176.005,176.005,.12,21,0)
3466^^1^1^3130301^
3467"^DD",176.005,176.005,.12,21,1,0)
3468Source of relationship labels (no value provided)
3469"^DD",176.005,176.005,.12,"DT")
34703130301
3471"^DD",176.005,176.005,.13,0)
3472DIR^FJ1^^0;13^K:$L(X)>1!($L(X)<1) X
3473"^DD",176.005,176.005,.13,3)
3474Answer must be 1 character in length.
3475"^DD",176.005,176.005,.13,21,0)
3476^^4^4^3130301^
3477"^DD",176.005,176.005,.13,21,1,0)
3478Source asserted directionality flag. (no value provided) Y indicates that
3479"^DD",176.005,176.005,.13,21,2,0)
3480this is the direction of the relationship in its source; N indicates that
3481"^DD",176.005,176.005,.13,21,3,0)
3482it is not; a blank indicates that it is not important or has not yet been
3483"^DD",176.005,176.005,.13,21,4,0)
3484determined.
3485"^DD",176.005,176.005,.13,"DT")
34863130301
3487"^DD",176.005,176.005,.14,0)
3488RG^FJ10^^0;14^K:$L(X)>10!($L(X)<1) X
3489"^DD",176.005,176.005,.14,3)
3490Answer must be 1-10 characters in length.
3491"^DD",176.005,176.005,.14,21,0)
3492^^1^1^3130301^
3493"^DD",176.005,176.005,.14,21,1,0)
3494Machine generated and unverified indicator (optional)
3495"^DD",176.005,176.005,.14,"DT")
34963130301
3497"^DD",176.005,176.005,.15,0)
3498SUPPRESS^FJ1^^0;15^K:$L(X)>1!($L(X)<1) X
3499"^DD",176.005,176.005,.15,3)
3500Answer must be 1 character in length.
3501"^DD",176.005,176.005,.15,21,0)
3502^^3^3^3130301^
3503"^DD",176.005,176.005,.15,21,1,0)
3504Suppressible flag. Values = Y, E, or N. Reflects the suppressible status
3505"^DD",176.005,176.005,.15,21,2,0)
3506of the relationship; not yet in use. See also SUPPRESS in MRCONSO.RRF and
3507"^DD",176.005,176.005,.15,21,3,0)
3508MRDEF.RRF and MRREL.RRF in the UMLS Reference Manual.
3509"^DD",176.005,176.005,.15,"DT")
35103130301
3511"^DD",176.005,176.005,.16,0)
3512CVF^FJ50^^0;16^K:$L(X)>50!($L(X)<1) X
3513"^DD",176.005,176.005,.16,3)
3514Answer must be 1-50 characters in length.
3515"^DD",176.005,176.005,.16,21,0)
3516^^1^1^3130301^
3517"^DD",176.005,176.005,.16,21,1,0)
3518Content view flag
3519"^DD",176.005,176.005,.16,"DT")
35203130301
3521"^DD",176.006,176.006,0)
3522FIELD^^.04^4
3523"^DD",176.006,176.006,0,"DT")
35243130301
3525"^DD",176.006,176.006,0,"ID",.02)
3526W " ",$P(^(0),U,2)
3527"^DD",176.006,176.006,0,"ID",.03)
3528W " ",$P(^(0),U,3)
3529"^DD",176.006,176.006,0,"ID",.04)
3530W " ",$P(^(0),U,4)
3531"^DD",176.006,176.006,0,"IX","B",176.006,.01)
3532
3533"^DD",176.006,176.006,0,"NM","RXNORM DOCUMENTATION FOR ABBREVIATED VALUES")
3534
3535"^DD",176.006,176.006,0,"VRPK")
3536RXNORM FOR VISTA
3537"^DD",176.006,176.006,.01,0)
3538DOCKEY^RFJ50^^0;1^K:$L(X)>50!($L(X)<1)!'(X'?1P.E) X
3539"^DD",176.006,176.006,.01,1,0)
3540^.1
3541"^DD",176.006,176.006,.01,1,1,0)
3542176.006^B
3543"^DD",176.006,176.006,.01,1,1,1)
3544S ^C0CRXN(176.006,"B",$E(X,1,30),DA)=""
3545"^DD",176.006,176.006,.01,1,1,2)
3546K ^C0CRXN(176.006,"B",$E(X,1,30),DA)
3547"^DD",176.006,176.006,.01,3)
3548Answer must be 1-50 characters in length.
3549"^DD",176.006,176.006,.01,21,0)
3550^^1^1^3130301^
3551"^DD",176.006,176.006,.01,21,1,0)
3552Data element or attribute
3553"^DD",176.006,176.006,.01,"DT")
35543130301
3555"^DD",176.006,176.006,.02,0)
3556VALUE^FJ1000^^0;2^K:$L(X)>1000!($L(X)<1) X
3557"^DD",176.006,176.006,.02,3)
3558Answer must be 1-1000 characters in length.
3559"^DD",176.006,176.006,.02,21,0)
3560^^1^1^3130301^
3561"^DD",176.006,176.006,.02,21,1,0)
3562Abbreviation that is one of its values
3563"^DD",176.006,176.006,.02,"DT")
35643130301
3565"^DD",176.006,176.006,.03,0)
3566TYPE^FJ50^^0;3^K:$L(X)>50!($L(X)<1) X
3567"^DD",176.006,176.006,.03,3)
3568Answer must be 1-50 characters in length.
3569"^DD",176.006,176.006,.03,21,0)
3570^^1^1^3130301^
3571"^DD",176.006,176.006,.03,21,1,0)
3572Type of information in EXPL column
3573"^DD",176.006,176.006,.03,"DT")
35743130301
3575"^DD",176.006,176.006,.04,0)
3576EXPL^FJ1000^^0;4^K:$L(X)>1000!($L(X)<1) X
3577"^DD",176.006,176.006,.04,3)
3578Answer must be 1-1000 characters in length.
3579"^DD",176.006,176.006,.04,21,0)
3580^^1^1^3130301^
3581"^DD",176.006,176.006,.04,21,1,0)
3582Explanation of VALUE
3583"^DD",176.006,176.006,.04,"DT")
35843130301
3585"^DIC",176.001,176.001,0)
3586RXNORM CONCEPT NAMES AND SOURCES^176.001
3587"^DIC",176.001,176.001,0,"GL")
3588^C0CRXN(176.001,
3589"^DIC",176.001,176.001,"%",0)
3590^1.005^^0
3591"^DIC",176.001,176.001,"%D",0)
3592^^10^10^3130225^
3593"^DIC",176.001,176.001,"%D",1,0)
3594File = RXNCONSO.RRF
3595"^DIC",176.001,176.001,"%D",2,0)
3596
3597"^DIC",176.001,176.001,"%D",3,0)
3598This file follows the general format of the MRCONSO.RRF file of the
3599"^DIC",176.001,176.001,"%D",4,0)
3600Metathesaurus. Some of the Metathesaurus fields are not provided by
3601"^DIC",176.001,176.001,"%D",5,0)
3602RxNorm and are marked as "(no value provided)". There is exactly one row
3603"^DIC",176.001,176.001,"%D",6,0)
3604in this file for each atom (each occurrence of each unique string or
3605"^DIC",176.001,176.001,"%D",7,0)
3606concept name within each source vocabulary) in RxNorm, i.e., there is
3607"^DIC",176.001,176.001,"%D",8,0)
3608exactly one row for each unique RXAUI in RxNorm. Every string or concept
3609"^DIC",176.001,176.001,"%D",9,0)
3610name in RxNorm appears in this file, connected to its language, source
3611"^DIC",176.001,176.001,"%D",10,0)
3612vocabularies, and its concept identifier (RXCUI).
3613"^DIC",176.001,"B","RXNORM CONCEPT NAMES AND SOURCES",176.001)
3614
3615"^DIC",176.002,176.002,0)
3616RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES^176.002
3617"^DIC",176.002,176.002,0,"GL")
3618^C0CRXN(176.002,
3619"^DIC",176.002,176.002,"%",0)
3620^1.005^^0
3621"^DIC",176.002,176.002,"%D",0)
3622^^9^9^3130301^
3623"^DIC",176.002,176.002,"%D",1,0)
3624File: RXNSAT.RRF
3625"^DIC",176.002,176.002,"%D",2,0)
3626
3627"^DIC",176.002,176.002,"%D",3,0)
3628This file follows the general format of the MRSAT.RRF file of the
3629"^DIC",176.002,176.002,"%D",4,0)
3630Metathesaurus. Some of the Metathesaurus fields are not provided by
3631"^DIC",176.002,176.002,"%D",5,0)
3632RxNorm and are marked as "(no value provided)". There is exactly one row
3633"^DIC",176.002,176.002,"%D",6,0)
3634in this table for each concept, atom, or relationship attribute that does
3635"^DIC",176.002,176.002,"%D",7,0)
3636not have a sub-element structure. Not all RxNorm concepts or RxNorm
3637"^DIC",176.002,176.002,"%D",8,0)
3638relationships have entries in this file. This file includes all source
3639"^DIC",176.002,176.002,"%D",9,0)
3640vocabulary attributes that do not fit into other categories.
3641"^DIC",176.002,"B","RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES",176.002)
3642
3643"^DIC",176.003,176.003,0)
3644RXNORM SOURCE INFORMATION^176.003
3645"^DIC",176.003,176.003,0,"GL")
3646^C0CRXN(176.003,
3647"^DIC",176.003,176.003,"%",0)
3648^1.005^^0
3649"^DIC",176.003,176.003,"%D",0)
3650^^11^11^3130301^
3651"^DIC",176.003,176.003,"%D",1,0)
3652File RXNSAB.RRF
3653"^DIC",176.003,176.003,"%D",2,0)
3654
3655"^DIC",176.003,176.003,"%D",3,0)
3656This file contains the sources for each of the RxNorm files and their
3657"^DIC",176.003,176.003,"%D",4,0)
3658restriction levels.
3659"^DIC",176.003,176.003,"%D",5,0)
3660
3661"^DIC",176.003,176.003,"%D",6,0)
3662This file follows the general format of the MRSAB.RRF file of the
3663"^DIC",176.003,176.003,"%D",7,0)
3664Metathesaurus. Please refer to the UMLS Reference Manual for more
3665"^DIC",176.003,176.003,"%D",8,0)
3666specific information regarding this file.
3667"^DIC",176.003,176.003,"%D",9,0)
3668
3669"^DIC",176.003,176.003,"%D",10,0)
3670There is one row in this file for every source in RxNorm that is
3671"^DIC",176.003,176.003,"%D",11,0)
3672represented in this RxNorm release.
3673"^DIC",176.003,"B","RXNORM SOURCE INFORMATION",176.003)
3674
3675"^DIC",176.004,176.004,0)
3676RXNORM SEMANTIC TYPES^176.004
3677"^DIC",176.004,176.004,0,"GL")
3678^C0CRXN(176.004,
3679"^DIC",176.004,176.004,"%",0)
3680^1.005^^0
3681"^DIC",176.004,176.004,"%D",0)
3682^^7^7^3130301^
3683"^DIC",176.004,176.004,"%D",1,0)
3684File = RXNSTY.RRF
3685"^DIC",176.004,176.004,"%D",2,0)
3686
3687"^DIC",176.004,176.004,"%D",3,0)
3688This file follows the general format of the MRSTY.RRF file of the
3689"^DIC",176.004,176.004,"%D",4,0)
3690Metathesaurus. There is exactly one row in this file for each Semantic
3691"^DIC",176.004,176.004,"%D",5,0)
3692Type assigned to each concept. All RxNorm concepts have at least one
3693"^DIC",176.004,176.004,"%D",6,0)
3694entry in this file. Many have more than one entry. The TUI, STN, and STY
3695"^DIC",176.004,176.004,"%D",7,0)
3696are all direct links to the UMLS Semantic Network.
3697"^DIC",176.004,"B","RXNORM SEMANTIC TYPES",176.004)
3698
3699"^DIC",176.005,176.005,0)
3700RXNORM RELATED CONCEPTS^176.005
3701"^DIC",176.005,176.005,0,"GL")
3702^C0CRXN(176.005,
3703"^DIC",176.005,176.005,"%",0)
3704^1.005^^0
3705"^DIC",176.005,176.005,"%D",0)
3706^^15^15^3130301^
3707"^DIC",176.005,176.005,"%D",1,0)
3708File = RXNREL.RRF
3709"^DIC",176.005,176.005,"%D",2,0)
3710
3711"^DIC",176.005,176.005,"%D",3,0)
3712This file follows the general format of the MRREL.RRF file of the
3713"^DIC",176.005,176.005,"%D",4,0)
3714Metathesaurus. Some of the Metathesaurus fields are not provided by
3715"^DIC",176.005,176.005,"%D",5,0)
3716RxNorm and are marked as "(no value provided)". There is one row in this
3717"^DIC",176.005,176.005,"%D",6,0)
3718table for each relationship between concepts or atoms known to RxNorm. In
3719"^DIC",176.005,176.005,"%D",7,0)
3720addition, explicit SY RELs are provided which give the UMLS Metathesaurus
3721"^DIC",176.005,176.005,"%D",8,0)
3722CUI and AUI as the RXCUI2 and RXAUI2 fields.
3723"^DIC",176.005,176.005,"%D",9,0)
3724
3725"^DIC",176.005,176.005,"%D",10,0)
3726Note that for asymmetrical relationships there is one row for each
3727"^DIC",176.005,176.005,"%D",11,0)
3728direction of the relationship. Note also the direction of REL - the
3729"^DIC",176.005,176.005,"%D",12,0)
3730relationship which the SECOND concept or atom (with Concept Unique
3731"^DIC",176.005,176.005,"%D",13,0)
3732Identifier RXCUI2 and Atom Unique Identifier RXAUI2) HAS TO the FIRST
3733"^DIC",176.005,176.005,"%D",14,0)
3734concept or atom (with Concept Unique Identifier RXCUI1 and Atom Unique
3735"^DIC",176.005,176.005,"%D",15,0)
3736Identifier RXAUI1).
3737"^DIC",176.005,"B","RXNORM RELATED CONCEPTS",176.005)
3738
3739"^DIC",176.006,176.006,0)
3740RXNORM DOCUMENTATION FOR ABBREVIATED VALUES^176.006
3741"^DIC",176.006,176.006,0,"GL")
3742^C0CRXN(176.006,
3743"^DIC",176.006,176.006,"%",0)
3744^1.005^^0
3745"^DIC",176.006,176.006,"%D",0)
3746^^9^9^3130301^
3747"^DIC",176.006,176.006,"%D",1,0)
3748File = RXNDOC.RRF
3749"^DIC",176.006,176.006,"%D",2,0)
3750
3751"^DIC",176.006,176.006,"%D",3,0)
3752This file follows the format of the Metathesaurus MRDOC.RRF file. At this
3753"^DIC",176.006,176.006,"%D",4,0)
3754time, this file contains all of the data contained in the UMLS MRDOC.RRF
3755"^DIC",176.006,176.006,"%D",5,0)
3756file. In the future, the contents of this file may be tailored to the
3757"^DIC",176.006,176.006,"%D",6,0)
3758RxNorm subset of data only. There is exactly one row in this table for
3759"^DIC",176.006,176.006,"%D",7,0)
3760each allowed value of selected data elements or attributes that have a
3761"^DIC",176.006,176.006,"%D",8,0)
3762finite number of abbreviations as allowed values. Examples of such data
3763"^DIC",176.006,176.006,"%D",9,0)
3764elements include TTY, ATN, TS, STT, REL, RELA.
3765"^DIC",176.006,"B","RXNORM DOCUMENTATION FOR ABBREVIATED VALUES",176.006)
3766
3767**END**
3768**END**
Note: See TracBrowser for help on using the repository browser.