Version 40 (modified by 11 years ago) ( diff ) | ,
---|
RxNorm Files for Vista/RPMS
- What is RxNorm?
- Why do I want this?
- What does this release contain?
- How much does this cost?
- How can I install RxNorm on VISTA/RPMS?
- Contents of the KIDS file
- What can I do with RxNorm
-
Technical Details
- Package File Entry
- Dependencies
- Routine list
- Description of routines and overall flow
- Modifications to National VA distributed routines
- File list
- Pharmacy Files Computed Fields
- Exported Options
- Archiving and Purging
- Supported APIs
- External Interfaces, External Relations
- Internal relations
- Package wide-variables
- Security
- File Structure
Welcome to the homepage for the RxNorm VISTA/RPMS Support. I am Sam Habiel, and I am the developer for these packages. I can be reached at sam dot habiel at gmail dot com.
NB: Documentation for the older version of RxNorm can be found at RxNormForVista0.02.
What is RxNorm?
RxNorm is a standardized vocabulary set for Drugs in the United States. The goal of RxNorm is drug nomenclature standardization and systems interoperability. More information on RxNorm can be found at http://www.nlm.nih.gov/research/umls/rxnorm/.
Why do I want this?
RxNorm is necessary for interoperability with other systems. If you use VISTA alone without having to talk to any other system, then you don't need RxNorm. However, if you perform external drug interactions, send CCDA documents, or archive patient records for CCR, you are going to need RxNorm. For Meaningful Use, you are required to have RxNorm for various purposes.
What does this release contain?
This release contains Fileman files corresponding to most of public domain RxNorm (archived data is not loaded into VISTA). It also contains utilities for querying RxNorm for specific information and a utility to add drugs to the drug files automatically based on an RxNorm number.
It's important to note that the public domain RxNorm files here differ from the NLM prescribable subset of RxNorm. While both are public domain, the prescribable subset does not contain the VA datasets that enable translation between VISTA and RxNorm. These are available in the full RxNorm package from the NLM. Public domain corresponds to UMLS Restriction Level 0. Read further below to see how to get proprietary codes into your data file like First Databank GCNs and SNOMED codes.
How much does this cost?
This release is licensed under AGPL v3.0 and is free as in free beer. Commercial use for commercial entities running VISTA can be obtained for $2000 per VISTA instance; commercial license can be found here: RxNormForVista/CommercialLicense. Support costs for monthly updates are $100/month per VISTA instance both for AGPL and commercial users.
How can I install RxNorm on VISTA/RPMS?
Before you install
YOU MUST READ THIS BEFORE INSTALLING
The RxNorm globals file is about 2.5 GB, and when loaded it takes up about 2.5GB. You therefore need to have at least 10 GB on your drive.
It is very highly recommended that you load and maintain RxNorm in the ^C0CRXN global in an UNJOURNALED portion of your Mumps Database. The data is reproducible and does not need to be journaled; and journaling it is very expensive in terms of journal size. In addition, once loaded, it will not change until the next load. Maintaining back-ups of your database will be easier this way.
RxNorm contains very long text values. You must ensure that your Mumps database can do at least 16,000 characters in a single global node.
On GT.M V6.0, create the following Global File Definition, and run it with GDE:
add -segment C0CRXN -file="/path/to/your/globals/c0crxn.dat" -allocation=200000 -block_size=4096 -lock_space=100 -extension_count=1000 -global_buffer_count=8192 add -region C0CRXN -record_size=16384 -key_size=255 -dyn=C0CRXN add -name C0CRXN -region=C0CRXN
If you use GT.M less than V6.0, you must make sure that your block size and record size synchronize since GT.M couldn't span blocks then.
On Cache, create a new database, and map ^C0CRXN to it. By default Cache databases allow 32K of global node length.
Installation
As of version 0.02 (currently the version 2.2), this version changes how you would do installation. You now install the dictionary file (which you need to only install once unless it changes) and then install the data file, which changes month to month. The data installation now takes 30 minutes to 60 minutes since it is transported as globals.
Installation Order:
- DD and routines: source:ccr/trunk/rxnorm/tags/2.2/RXNORM_FOR_VISTA_2P2.KID
- Public Domain Data (unzip with 7z first): source:ccr/trunk/rxnorm/tags/2.2/RXNORM_FOR_VISTA_PD_DATA_11P2013.GKID.7z
Installation is a normal KIDS file installation. There is nothing special about it.
Contents of the KIDS file
File list
Name | Number | Global | RxNorm NLM File | Approx # of entries at the end of 2013 |
RXNORM CONCEPT NAMES AND SOURCES | 176.001 | ^C0CRXN(176.001) | RXNCONSO.RRF | 1,000,000 |
RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES | 176.002 | ^C0CRXN(176.002) | RXNSAT.RRF | 7,000,000 |
RXNORM SOURCE INFORMATION | 176.003 | ^C0CRXN(176.003) | RXNSAB.RRF | 13 |
RXNORM SEMANTIC TYPES | 176.004 | ^C0CRXN(176.004) | RXNSTY.RRF | 400,000 |
RXNORM RELATED CONCEPTS | 176.005 | ^C0CRXN(176.005) | RXNREL.RRF | 5,000,000 |
RXNORM DOCUMENTATION FOR ABBREVIATED VALUES | 176.006 | ^C0CRXN(176.006) | RXNDOC.RRF | 3,000 |
Pharmacy Files Computed Fields
File Name | File number | Field Name | Field Number | Description |
DRUG | 50 | RXNCUI | 176.001 | Pointer to the Semantic Clinical Drug in 176.001 that corresponds to this drug. |
DRUG | 50 | RXN SCD NAME | 176.002 | Canonical Clinical Drug name according to RxNorm. |
VA PRODUCT | 50.68 | COMPUTED GCNSEQNO | 176.001 | Multiple of GCNs corresponding to a VA PRODUCT |
Routines
Routine | Description | Special Remarks |
C0CRXNnn | Complied cross reference routines (12 routines on Fileman 22.2) | Routines compiled dynamically; not shipped in KIDS build. |
C0CRXNRD | Import RxNorm data from NLM files | See below for API |
C0CRXNLK | RxNorm mapping APIs for VISTA | See below for APIs |
C0CRXNAD | Add a drug to drug file based on RxNorm code | See below for API |
What can I do with RxNorm
User Mode use
All files are shipped with no file access code security for reading, and as such they can be read by all users if they are granted access to Fileman and don't have Kernel Part III security turned on. If Kernel Part III security is turned on, you will need to grant users access to files 176.001 through 176.006. If you don't know what Part III security is, then you don't have it.
Concepts
Users can query the Concepts file by typing the concept name (usually a drug generic name or brand name) or a drug code (such as a VUID). Here are a couple of examples:
Search for all entries that have the word PROZAC in them:
Select RXNORM CONCEPT NAMES AND SOURCES RXCUI: PROZAC 1 PROZAC 58827 MSH PEN D005473 Prozac 2 PROZAC 58827 RXNORM TMSY 58827 PROzac 3 PROZAC 58827 RXNORM BN 58827 Prozac 4 PROZAC 10 MG (FLUOXETINE HYDRO 205535 RXNORM SY 205535 Prozac 10 MG (fluoxetine hydrochloride 11.2 MG) Oral Capsule 5 PROZAC 10 MG (FLUOXETINE HYDRO 205535 RXNORM TMSY 205535 PROzac 10 MG (FLUoxetine hydrochloride 11.2 MG) Oral Capsule
Search for the VUID for Prozac after we obtain it from the NDF:
OUTPUT FROM WHAT FILE: RXNORM CONCEPT NAMES AND SOURCES// 50.68 VA PRODUCT (23779 entries) Select VA PRODUCT NAME: FLUOXETINE 1 FLUOXETINE HCL 10MG CAP 2 FLUOXETINE HCL 10MG CAP,UD 3 FLUOXETINE HCL 10MG TAB 4 FLUOXETINE HCL 20MG CAP 5 FLUOXETINE HCL 20MG CAP,UD Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-5: 4 FLUOXETINE HCL 20MG CAP ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// - No record number (IEN), no Computed Fields DISPLAY AUDIT TRAIL? No// NO NAME: FLUOXETINE HCL 20MG CAP VA GENERIC NAME: FLUOXETINE DOSAGE FORM: CAP,ORAL STRENGTH: 20 UNITS: MG NATIONAL FORMULARY NAME: FLUOXETINE CAP,ORAL VA PRINT NAME: FLUOXETINE HCL 20MG CAP VA PRODUCT IDENTIFIER: F0049 TRANSMIT TO CMOP: YES VA DISPENSE UNIT: CAP ACTIVE INGREDIENTS: FLUOXETINE HYDROCHLORIDE STRENGTH: 20 UNITS: MG PRIMARY VA DRUG CLASS: CN609 NATIONAL FORMULARY INDICATOR: YES CS FEDERAL SCHEDULE: Unscheduled SINGLE/MULTI SOURCE PRODUCT: Multisource DSS NUMBER: 1 OVERRIDE DF DOSE CHK EXCLUSION: NO CREATE DEFAULT POSSIBLE DOSAGE: YES FDA MED GUIDE: Fluoxetine_Cap_(Generic)_(2009).pdf SERVICE CODE: 608147 EFFECTIVE DATE/TIME: MAR 10, 2005 STATUS: ACTIVE VUID: 4008621 MASTER ENTRY FOR VUID: YES Select VA PRODUCT NAME: Select OPTION: INQUIRE TO FILE ENTRIES OUTPUT FROM WHAT FILE: VA PRODUCT// 176.001 RXNORM CONCEPT NAMES AND SOURCES (687143 entries) Select RXNORM CONCEPT NAMES AND SOURCES RXCUI: 4008621 1 4008621 310385 VANDF CD 4008621 FLUOXETINE HCL 20MG CA P 2 4008621 310385 VANDF AB 4008621 FLUOXETINE HCL 20MG CA P CHOOSE 1-2: 1 310385 VANDF CD 4008621 FLUOXETINE HCL 20MG CAP ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// - No record number (IEN), no Computed Fields RXCUI: 310385 LAT: ENG RXAUI: 1424227 SAB: VANDF TTY: CD CODE: 4008621 STR: FLUOXETINE HCL 20MG CAP SUPPRESS: N
Atoms
To search the Atoms file, chose file 176.002. You can search by the type of Atom or the Atom itself. The most useful thing to search here are NDC numbers. Here's a search for a Prozac NDC.
Select RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES ATN: 00777310502 NDC RXNOR M 00777310502 ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// - No record number (IEN), no Computed Fields ATN: NDC RXAUI: 787787 STYPE: AUI CODE: 104849 RXCUI: 104849 SAB: RXNORM ATV: 00777310502 SUPPRESS: N CVF: 4096
You can also enter an RxNorm concept code to get all available atoms about a drug. Using the RXCUI we just obtained above, we can get an exhaustive list of everything about it:
OUTPUT FROM WHAT FILE: RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES// Select RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES ATN: 104849 1 104849 NST MTHFDA 20 MG 2 104849 NDC MTHFDA 054868-0511-*1 3 104849 NDC MTHFDA 053002-1016-*0 4 104849 DRT MTHFDA ORAL 5 104849 NDC RXNORM 00777310502 Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-5: 6 104849 NDC MTHFDA 016590-*843-90 7 104849 DDF MTHFDA CAPSULE 8 104849 NDC MTHFDA 000002-3105-14 9 104849 NDC MTHFDA 051655-*390-25 10 104849 NDC MTHFDA 054868-0511-*5 Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-10: 11 104849 DDF MTHFDA CAPSULE, GELATIN COATED 12 104849 MARKETING_STATUS MTHSPL active 13 104849 DST MTHFDA 20 MG 14 104849 DDF MTHFDA CAPSULE 15 104849 NDC MTHFDA 054868-0511-*2 Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-15: 16 104849 NDC RXNORM 58864091730 17 104849 TRN MTHFDA PROZAC FLUOXETINE CAPSULES USP 18 104849 DDF MTHFDA CAPSULE, GELATIN COATED 19 104849 DRT MTHFDA ORAL 20 104849 DST MTHFDA 20 MG Press <RETURN> to see more, '^' to exit this list, OR CHOOSE 1-20: 21 104849 DRT MTHFDA ORAL 22 104849 DRT MTHFDA ORAL 23 104849 DST MTHFDA 20 MG 24 104849 DDF MTHFDA CAPSULE, GELATIN COATED 25 104849 NDC MTHFDA 000077-3105-07
Sources
File 176.004 is the Sources file. It isn't that useful except to check the proprietariness of a source or to check when it was last updated for your database. Here's an example:
OUTPUT FROM WHAT FILE: RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES// 176.003 RXNO RM SOURCE INFORMATION (13 entries) Select RXNORM SOURCE INFORMATION RSAB: ? Answer with RXNORM SOURCE INFORMATION RSAB Do you want the entire 13-Entry RXNORM SOURCE INFORMATION List? y (Yes) Choose from: ATC Anatomical Therapeutic Chemical Classification System 3 GS Gold Standard Drug Database 3 MDDB Master Drug Data Base 3 MMSL Multum MediSource Lexicon 1 MMX Micromedex RED BOOK 3 MSH Medical Subject Headings, 2013_2013_01_21 0 MTHFDA Metathesaurus FDA National Drug Code Directory 0 MTHSPL Metathesaurus FDA Structured Product Labels 0 NDDF FDB MedKnowledge (formerly NDDF Plus) 3 NDFRT National Drug File 0 RXNORM RxNorm Vocabulary 0 SNOMEDCT_US US Edition of SNOMED CT 9 VANDF Veterans Health Administration National Drug File 0 Select RXNORM SOURCE INFORMATION RSAB: VANDF Veterans Health Administratio n National Drug File 0 ANOTHER ONE: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// - No record number (IEN), no Computed Fields RSAB: VANDF RCUI: C1140288 VSAB: VANDF_2013_09_27 VCUI: C3530306 SON: Veterans Health Administration National Drug File SF: VANDF SVER: 2013_09_27 IMETA: 2013AA SLC: Michael Lincoln, M.D.;;U.S. Department of Veterans Affairs, Veterans Heal th Administration;;;Washington;DC;United States;;;;michael.lincoln@med.va.gov;ht tp://www.pbm.va.gov/default.aspx SCC: Michael Lincoln, M.D.;;;;;;;;;;;michael.lincoln@med.va.gov;http://www.pbm .va.gov/default.aspx SRL: 0 TTYL: IN,CD,AB,PT,MTH_RXN_CD ATNL: VAC,DRUG_CLASS_TYPE,VA_CLASS_NAME,DDF,NFI,DCSA,PARENT_CLASS,VMO,SNGL_OR_ MULT_SRC_PRD,EXCLUDE_DI_CHECK,NDF_TRANSMIT_TO_CMOP,NF_INACTIVATE,VA_DISPENSE_UNI T,VA_GENERIC_NAME,NF_NAME,NDC LAT: ENG CENC: UTF-8 CURVER: Y SABIN: Y SSN: National Drug File SCIT: ;;;;Veterans Health Administration National Drug File;;;September 27, 20 13;Washington, DC;U.S. Department of Veterans Affairs;;;;;;;;
According to this, RxNorm was last updated with VA sources on September 27th 2013. An SRL of 0 means that the source is public domain.
Relationships
RxNorm relationships are not easy to query in this version due to Fileman not behaving well with compound B indexes. But they are doable if you know what you are searching for.
Let's find out the generic drug concept that correspond to the RxNorm code we obtained via the NDC for Prozac 20mg:
Select RXNORM RELATED CONCEPTS RXCUI1: 104849 RELA: has_tradename RXCUI2: 1 104849 2 1048498 3 1048499 CHOOSE 1-3: 1 RXNORM Select Another RXNORM RELATED CONCEPTS RXCUI1: RELA: RXCUI2: STANDARD CAPTIONED OUTPUT? Yes// (Yes) Include COMPUTED fields: (N/Y/R/B): NO// - No record number (IEN), no Computed Fields SAB: RXNORM STYPE1: CUI REL: RB RXCUI2: 310385 STYPE2: CUI RELA: has_tradename RUI: 4086805 RXCUI1: 104849 SUPPRESS: N CVF: 4096
To confirm that we indeed got the generic, we jump over to 176.001:
OUTPUT FROM WHAT FILE: RXNORM RELATED CONCEPTS// 176.001 RXNORM CONCEPT NAMES A ND SOURCES (687143 entries) Select RXNORM CONCEPT NAMES AND SOURCES RXCUI: 310385 1 310385 RXNORM SCD 310385 Fluoxetine 20 MG Oral Capsul e 2 310385 VANDF CD 4008621 FLUOXETINE HCL 20MG CAP 3 310385 VANDF CD 4013939 FLUOXETINE HCL 20MG CAP,UD 4 310385 MTHFDA CD 272755 FLUOXETINE / FLUOXETINE HYDRO CHLORIDE ORAL CAPSULE 5 310385 MTHFDA CD 235824 FLUOXETINE 20 MG ORAL CAPSULE
The Semantic Clinical Drug entry (SCD) for RxNorm means that we hit the jackpot: That is indeed the canonical generic entry for the branded Prozac 20mg capsule.
Programmer APIs
Update API
To update RxNorm to a newer monthly version from the NLM, run the following:
D IMPORT^C0CRXNRD("/path/to/rrf/folder/",optional include restricted/copyrighted sources (1 -> yes). Default is no.)
If you need FDB or SNOMED-CT codes, you need to pass in the second parameter.
Look-up APIs
This is a list of APIs available for programmers for converting one terminology to another. Some APIs return multiple results. If so, they will be delimited by "".
$$EXIST^C0CRXNLK(RXN) $$ Public - Does this RxNorm CUI exist? $$GCN2RXN^C0CRXNLK(GCN) $$ Public - Get RxNorm CUI using GCN $$RXN2GCN^C0CRXNLK(RXNCUI) $$ Public - Get GCN(s) given an RxNorm Number $$RXN2VUI^C0CRXNLK(RXNCUI) $$ Public - Get VUID(s) for given RXNCUI for Clinical Drug $$VUI2VAP^C0CRXNLK(VUID) $$ Public - Get VA Product IEN(s) from VUID $$VAP2MED^C0CRXNLK(VAPROD) $$ Public - Get Drug(s) using VA Product IEN $$RXN2MEDS^C0CRXNLK(RXNCUI) $$ Public - Convert RxNorm value to currently existing drugs in File 50. $$FDI2RXN^C0CRXNLK(BASE) $$ Public - Get RxNorm CUI for FDB Ingredient/Base $$RXN2VIN^C0CRXNLK(RXNCUI) $$ Public - Get VUID Ingredient for RxNorm CUI $$VIN2VAG^C0CRXNLK(VUID) $$ Public - Get VA Generic for VUID Ingredient $$FDI2VAG^C0CRXNLK(BASE) $$ Public - Get VA Generic for FDB Ingredient/Base $$VIN2DIN^C0CRXNLK(VUID) $$ Public - Get Drug Ingredient for VUID Ingredient $$FDI2DIN^C0CRXNLK(BASE) $$ Public - Get Drug Ingredient for FDB Ingredient/Base $$VUI2RXN^C0CRXNLK(VUID) $$ Public - Get RXNCUI for VUID (any VUID type) $$VUI2GCN^C0CRXNLK(VUID) $$ Public - Get GCNs for a given VUID (any VUID type) $$MED2RXN^C0CRXNLK(DA) $$ Public - Get RxNorm CUI for Drug $$MED2SCDN^C0CRXNLK(DA) $$ Public - Medication to Semantic Clinical Drug Name $$RXN2NDI^C0CRXNLK(RXNCUI) $$ Public - Get NDDF Ingredient for RXNCUI $$VIN2NDI^C0CRXNLK(VUID) $$ Public - Get NDDF Ingredient for VUID $$NDC2RXN^C0CRXNLK(NDC) $$ Public - Get RxCUI given the NDC $$ISBRAND^C0CRXNLK(RXN) $$ Public - Is this RxCUI for a brand drug? $$BR2GEN^C0CRXNLK(RXN) $$ Public - Convert Brand RxCUI to Generic RxCUI (many to 1) $$GEN2BR^C0CRXNLK(RXN) $$ Public - Convert Generic RxCUI to Brand RxCUIs (1 to many). $$RXN2BNS^C0CRXNLK(RXN) $$ Public - Get all Brand Names associated with an RXN $$RXN2NDC^C0CRXNLK(RXN) $$ Public - Get NDC codes for RxNorm code
Here's an example call to return all active NDCs for brand name Prozac 20mg capsules:
GTM>W $$RXN2NDC^C0CRXNLK(104849) 00777310502^58864091730^58016082830^58016082820^66105056403^58016082810^58016082890^52959023320 ^54868051105^00777310507^52959023310^00247037204^58864097130^55289021522^54868051101^52959023314 ^58016082840^52959023340^52959023350^54868051102^00247037210^00777310530^52959023330^54868051100 ^58016082860^16590084390^52959023300^58016082800
C0CRXNLK comes with Unit Tests. To run them, make sure M-Unit is installed and run ^C0CRXNLK from the top.
Automatic Drug Addition API using RxNorm
To add a drug to the drug file using the RxNorm CUI, call the following entry point:
W $$ADDDRUG^C0CRXNLK(RXNCUI for Drug, optional NDC to file, optional barcode to put for BCMA)
Please note that this routine does not check to see if the drug is already there; it will add it again.
This routine can be enhanced to use the barcode to figure out which drug it is that is being added from RxNorm. As such, it will enable you to add drugs to the drug file by just bar-code scanning them.
Technical Details
The following are technical details for this package.
Package File Entry
NAME: RXNORM FOR VISTA PREFIX: C0CR SHORT DESCRIPTION: RxNorm data dictionaries and loading routines for VISTA FILE: RXNORM CONCEPT NAMES AND SOURCES FILE: RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES FILE: RXNORM SOURCE INFORMATION FILE: RXNORM SEMANTIC TYPES FILE: RXNORM RELATED CONCEPTS FILE: RXNORM DOCUMENTATION FOR ABBREVIATED VALUES VERSION: 2.2 DATE DISTRIBUTED: NOV 14, 2013
Dependencies
- Kernel 8
- Fileman 22.2 (Fileman 22.0 can be used but it may not be used to edit the data definitions).
Routine list
Routine Summary Checksums shown are NEW Checksums The following routines are included in this patch. The second line of each of these routines now looks like: ;;2.2;RXNORM FOR VISTA;**[Patch List]**;Nov 14, 2013;Build 8 Checksums Routine Old New Patch List C0CRXNAD n/a 18747982 C0CRXNLK n/a 98280702 C0CRXNRD n/a 42158088
In addition, routines C0CRXNnn (where nn is a number), are created automatically as Fileman compiles the RxNorm cross-references.
Description of routines and overall flow
The three routines are relatively self-contained. C0CRXNRD load RxNorm codes from the RRF files supplied by NLM. C0CRXNLK has various translation utilities. C0CRXNAD add a drug to the drug file based on an RxNorm code.
Modifications to National VA distributed routines
None.
File list
Name | Number | Global | RxNorm NLM File | Approx # of entries at the end of 2013 |
RXNORM CONCEPT NAMES AND SOURCES | 176.001 | ^C0CRXN(176.001) | RXNCONSO.RRF | 1,000,000 |
RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES | 176.002 | ^C0CRXN(176.002) | RXNSAT.RRF | 7,000,000 |
RXNORM SOURCE INFORMATION | 176.003 | ^C0CRXN(176.003) | RXNSAB.RRF | 13 |
RXNORM SEMANTIC TYPES | 176.004 | ^C0CRXN(176.004) | RXNSTY.RRF | 400,000 |
RXNORM RELATED CONCEPTS | 176.005 | ^C0CRXN(176.005) | RXNREL.RRF | 5,000,000 |
RXNORM DOCUMENTATION FOR ABBREVIATED VALUES | 176.006 | ^C0CRXN(176.006) | RXNDOC.RRF | 3,000 |
Pharmacy Files Computed Fields
File Name | File number | Field Name | Field Number | Description |
DRUG | 50 | RXNCUI | 176.001 | Pointer to the Semantic Clinical Drug in 176.001 that corresponds to this drug. |
DRUG | 50 | RXN SCD NAME | 176.002 | Canonical Clinical Drug name according to RxNorm. |
VA PRODUCT | 50.68 | COMPUTED GCNSEQNO | 176.001 | Multiple of GCNs corresponding to a VA PRODUCT |
Exported Options
None included.
Archiving and Purging
Not supported.
Supported APIs
All non-testing APIs in C0CRXNLK are supported.
D IMPORT^C0CRXNRD
$$ADDDRUG^C0CRXNAD
For details, see the Programmer APIs section.
External Interfaces, External Relations
Utility functions in Fileman and Kernel.
Access to Drug, VA Product and VA Generic files for various computations in C0CRXNLK.
Modifications of Drug and VA Product Data Dictionaries to add convenience computed fields to tie the files with RxNorm.
Internal relations
None.
Package wide-variables
None.
Security
This software implements no security of its own beyond Fileman access codes on the fields which can be seen below in the File Structure section. None of the data contained is sensitive in any way.
File Structure
All files have only a zero node for each entry and correspond as much as possible to the RxNorm file format, except that the '|' has been substitued with a "^". The exception to that rule is when a file's first field cannot be the .01 because it's missing for some entries. In this case, the first field and a key field are switch so that the key field can be the .01.
CONDENSED DATA DICTIONARY---RXNORM CONCEPT NAMES AND SOURCES FILE (#176.001)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.001, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: READ SECURITY : LAYGO SECURITY : WRITE SECURITY : @ CROSS REFERENCED BY: FILE #176.001 INDEXED BY: RXCUI (B), CODE (CODE), SAB & TTY & CODE & RXCUI (STC), STR (STR), SAB & TTY & RXCUI & CODE (STX) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 RXCUI (RFJ8), [0;1] .02 LAT (RFJ3), [0;2] .03 TS (FJ1), [0;3] .04 LUI (FJ8), [0;4] .05 STT (FJ3), [0;5] .06 SUI (FJ8), [0;6] .07 ISPREF (FJ1), [0;7] .08 RXAUI (RFJ8), [0;8] .09 SAUI (FJ50), [0;9] .1 SCUI (FJ50), [0;10] .11 SDUI (FJ50), [0;11] .12 SAB (RFJ20), [0;12] .13 TTY (RFJ20), [0;13] .14 CODE (RFJ50), [0;14] .15 STR (RFJ3000), [0;15] .16 SRL (FJ10), [0;16] .17 SUPPRESS (FJ1), [0;17] .18 CVF (FJ50), [0;18] 50 COMPUTED DRUGS (Cmp50), [ ; ] CONDENSED DATA DICTIONARY---RXNORM SIMPLE CONCEPT AND ATOM ATTRIBUTES FILE (#176.002)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.002, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: @ READ SECURITY : LAYGO SECURITY : @ WRITE SECURITY : @ CROSS REFERENCED BY: ATN(XATN) ATV(XATV) FILE #176.002 INDEXED BY: RXCUI & SAB & ATN & ATV (ANDFRT), SAB & ATN & ATV & RXCUI (ASAA), SAB & ATN & RXCUI & ATV (ASAR), RXCUI (RXCUI) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 ATN (RFJ1000), [0;1] .02 LUI (FJ8), [0;2] .03 SUI (FJ8), [0;3] .04 RXAUI (FJ8), [0;4] .05 STYPE (FJ50), [0;5] .06 CODE (FJ50), [0;6] .07 ATUI (FJ11), [0;7] .08 SATUI (FJ50), [0;8] .09 RXCUI (FJ8), [0;9] .1 SAB (RFJ20), [0;10] .11 ATV (FJ4000), [0;11] .12 SUPPRESS (FJ1), [0;12] .13 CVF (FJ50), [0;13] CONDENSED DATA DICTIONARY---RXNORM SOURCE INFORMATION FILE (#176.003)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.003, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: @ READ SECURITY : LAYGO SECURITY : @ WRITE SECURITY : @ CROSS REFERENCED BY: RSAB(B) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 RSAB (RFJ20), [0;1] .02 RCUI (FJ8), [0;2] .03 VSAB (FJ40), [0;3] .04 VCUI (FJ8), [0;4] .05 SON (FJ3000), [0;5] .06 SF (FJ20), [0;6] .07 SVER (FJ20), [0;7] .08 VSTART (FJ10), [0;8] .09 VEND (FJ10), [0;9] .1 IMETA (FJ10), [0;10] .11 RMETA (FJ10), [0;11] .12 SLC (FJ1000), [0;12] .13 SCC (FJ1000), [0;13] .14 SRL (NJ10,0), [0;14] .15 TFR (NJ10,0), [0;15] .16 CFR (NJ10,0), [0;16] .17 CXTY (FJ50), [0;17] .18 TTYL (FJ300), [0;18] .19 ATNL (FJ1000), [0;19] .2 LAT (FJ3), [0;20] .21 CENC (FJ20), [0;21] .22 CURVER (FJ1), [0;22] .23 SABIN (FJ1), [0;23] .24 SSN (FJ3000), [0;24] .25 SCIT (FJ4000), [0;25] CONDENSED DATA DICTIONARY---RXNORM SEMANTIC TYPES FILE (#176.004)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.004, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: @ READ SECURITY : LAYGO SECURITY : @ WRITE SECURITY : @ CROSS REFERENCED BY: RXNCUI(B) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 RXNCUI (RFJ8), [0;1] .02 TUI (FJ4), [0;2] .03 STN (FJ100), [0;3] .04 STY (FJ50), [0;4] .05 ATUI (FJ11), [0;5] .06 CVF (FJ50), [0;6] CONDENSED DATA DICTIONARY---RXNORM RELATED CONCEPTS FILE (#176.005)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.005, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: @ READ SECURITY : LAYGO SECURITY : @ WRITE SECURITY : @ CROSS REFERENCED BY: FILE #176.005 INDEXED BY: RXCUI1 & RELA & RXCUI2 (B) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 SAB (RFJ20), [0;1] .02 RXAUI1 (FJ8), [0;2] .03 STYPE1 (FJ50), [0;3] .04 REL (FJ4), [0;4] .05 RXCUI2 (FJ8), [0;5] .06 RXAUI2 (FJ8), [0;6] .07 STYPE2 (FJ50), [0;7] .08 RELA (FJ100), [0;8] .09 RUI (FJ10), [0;9] .1 SRUI (FJ50), [0;10] .11 RXCUI1 (FJ8), [0;11] .12 SL (FJ1000), [0;12] .13 DIR (FJ1), [0;13] .14 RG (FJ10), [0;14] .15 SUPPRESS (FJ1), [0;15] .16 CVF (FJ50), [0;16] CONDENSED DATA DICTIONARY---RXNORM DOCUMENTATION FOR ABBREVIATED VALUES FILE (#176.006)UCI: F201303,ICARUS STORED IN: ^C0CRXN(176.006, 11/21/13 PAGE 1 ------------------------------------------------------------------------------------------------------------------------------------ FILE SECURITY DD SECURITY : @ DELETE SECURITY: @ READ SECURITY : LAYGO SECURITY : @ WRITE SECURITY : @ CROSS REFERENCED BY: DOCKEY(B) FILE STRUCTURE FIELD FIELD NUMBER NAME .01 DOCKEY (RFJ50), [0;1] .02 VALUE (FJ1000), [0;2] .03 TYPE (FJ50), [0;3] .04 EXPL (FJ1000), [0;4]
A crucial part of speed in the RxNorm operations is the extensive indexing on the files. What follows are the defined new-style indexes:
NEW-STYLE INDEX LIST -- FILE #176.001 11/21/13 PAGE 1 ----------------------------------------------------------------------------------------------------------------------------------- File #176.001 New-Style Indexes: B (#983) FIELD REGULAR IR LOOKUP & SORTING Short Descr: Regular B Index Set Logic: S ^C0CRXN(176.001,"B",X,DA)="" Kill Logic: K ^C0CRXN(176.001,"B",X,DA) Whole Kill: K ^C0CRXN(176.001,"B") X(1): RXCUI (176.001,.01) (Subscr 1) (forwards) CODE (#1020) FIELD REGULAR IR LOOKUP & SORTING Short Descr: Code Index Set Logic: S ^C0CRXN(176.001,"CODE",X,DA)="" Kill Logic: K ^C0CRXN(176.001,"CODE",X,DA) Whole Kill: K ^C0CRXN(176.001,"CODE") X(1): CODE (176.001,.14) (Subscr 1) (forwards) STC (#1021) RECORD MUMPS IR LOOKUP & SORTING Short Descr: Source Term Type Code Index Description: Use this index to do compound searches on RxNorm Concepts. Examples: SAB="NDDF", TTY="CDC", CODE={GCN} will give you the entry a clinical drug in First Database with GCN Code {GCN}. SAB="RXNORM", TTY="SCD", CODE={RXNORM} will give you the entry that is the Semantic Clinical Drug for the RxNorm code. SAB="VANDF", TTY="CD", CODE={VUID} will give you a drug that has that VUID. Set Logic: S ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA)=X(4) Kill Logic: K ^C0CRXN(176.001,"STC",X(1),X(2),X(3),DA) Whole Kill: K ^C0CRXN(176.001,"STC") X(1): SAB (176.001,.12) (Subscr 1) (forwards) X(2): TTY (176.001,.13) (Subscr 2) (forwards) X(3): CODE (176.001,.14) (Subscr 3) (forwards) X(4): RXCUI (176.001,.01) (forwards) STR (#1022) FIELD REGULAR IR LOOKUP & SORTING Short Descr: String Lookup Index Set Logic: S ^C0CRXN(176.001,"STR",$E(X,1,30),DA)="" Kill Logic: K ^C0CRXN(176.001,"STR",$E(X,1,30),DA) Whole Kill: K ^C0CRXN(176.001,"STR") X(1): STR (176.001,.15) (Subscr 1) (Len 30) (forwards) Transform (Storage): S X=$$UP^XLFSTR(X) Transform (Lookup): S X=$$UP^XLFSTR(X) STX (#1023) RECORD MUMPS IR LOOKUP & SORTING Short Descr: Source Term Type RxCUI Code Index Description: Use this index as a reverse of the STC index. The STC index will give you an entry if you know the source and the type and the code. This index will give you the codes if you know the source, the type, but not the code, but rather the RxNorm code. Set Logic: S ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA)=X(4) Kill Logic: K ^C0CRXN(176.001,"STX",X(1),X(2),X(3),DA) Whole Kill: K ^C0CRXN(176.001,"STX") X(1): SAB (176.001,.12) (Subscr 1) (forwards) X(2): TTY (176.001,.13) (Subscr 2) (forwards) X(3): RXCUI (176.001,.01) (Subscr 3) (forwards) X(4): CODE (176.001,.14) (forwards) NEW-STYLE INDEX LIST -- FILE #176.002 11/21/13 PAGE 1 ----------------------------------------------------------------------------------------------------------------------------------- File #176.002 New-Style Indexes: ANDFRT (#1024) RECORD REGULAR IR SORTING ONLY Short Descr: RxNorm NDFRT Index Set Logic: S ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA)="" Set Cond: S X=X(2)="NDFRT" Kill Logic: K ^C0CRXN(176.002,"ANDFRT",X(1),$E(X(3),1,30),$E(X(4),1,30),DA) Kill Cond: S X=X(2)="NDFRT" Whole Kill: K ^C0CRXN(176.002,"ANDFRT") X(1): RXCUI (176.002,.09) (Subscr 1) (forwards) X(2): SAB (176.002,.1) (forwards) X(3): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) X(4): ATV (176.002,.11) (Subscr 3) (Len 30) (forwards) ASAA (#1025) RECORD MUMPS IR SORTING ONLY Short Descr: SAB (Source) ATN (Attribute Name) ATV (Value) Index Set Logic: S ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA)=X(4) Kill Logic: K ^C0CRXN(176.002,"ASAA",X(1),$E(X(2),1,30),$E(X(3),1,30),DA) Whole Kill: K ^C0CRXN(176.002,"ASAA") X(1): SAB (176.002,.1) (Subscr 1) (forwards) X(2): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) X(3): ATV (176.002,.11) (Subscr 3) (Len 30) (forwards) X(4): RXCUI (176.002,.09) (forwards) ASAR (#1026) RECORD MUMPS IR SORTING ONLY Short Descr: SAB (Source) ATN (Attribute Name) RxCUI Index Set Logic: S ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA)=X(4) Kill Logic: K ^C0CRXN(176.002,"ASAR",X(1),$E(X(2),1,30),X(3),DA) Whole Kill: K ^C0CRXN(176.002,"ASAR") X(1): SAB (176.002,.1) (Subscr 1) (forwards) X(2): ATN (176.002,.01) (Subscr 2) (Len 30) (forwards) X(3): RXCUI (176.002,.09) (Subscr 3) (forwards) X(4): ATV (176.002,.11) (forwards) RXCUI (#1027) FIELD REGULAR IR LOOKUP & SORTING Short Descr: RXCUI Index Set Logic: S ^C0CRXN(176.002,"RXCUI",X,DA)="" Kill Logic: K ^C0CRXN(176.002,"RXCUI",X,DA) Whole Kill: K ^C0CRXN(176.002,"RXCUI") X(1): RXCUI (176.002,.09) (Subscr 1) (forwards) NEW-STYLE INDEX LIST -- FILE #176.003 11/21/13 PAGE 1 ----------------------------------------------------------------------------------------------------------------------------------- NEW-STYLE INDEX LIST -- FILE #176.004 11/21/13 PAGE 1 ----------------------------------------------------------------------------------------------------------------------------------- NEW-STYLE INDEX LIST -- FILE #176.005 11/21/13 PAGE 1 ----------------------------------------------------------------------------------------------------------------------------------- File #176.005 New-Style Indexes: B (#1028) RECORD REGULAR IR LOOKUP & SORTING Short Descr: Compound Index for RXCUI1/RELA/RXCUI2 Set Logic: S ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA)="" Kill Logic: K ^C0CRXN(176.005,"B",X(1),X(2),X(3),DA) Whole Kill: K ^C0CRXN(176.005,"B") X(1): RXCUI1 (176.005,.11) (Subscr 1) (forwards) X(2): RELA (176.005,.08) (Subscr 2) (forwards) X(3): RXCUI2 (176.005,.05) (Subscr 3) (forwards) NEW-STYLE INDEX LIST -- FILE #176.006 11/21/13 PAGE 1 -----------------------------------------------------------------------------------------------------------------------------------
Attachments (1)
- RxNormForVista.png (127.8 KB ) - added by 11 years ago.
Download all attachments as: .zip