none
Medication Names vocabularies RRS feed

  • Question

  • I see the RxNorm Active medications vocabulary, but it appears to be incomplete.  I see the source vocabulary too that has the other entities that track medicines.  How can we get access to these other vocabularies. 

    The auto search on the medication name field through the shell looks like it is pulling medication names from more than just Rxnorm.

    We want our application to pull all the medication names possible.   Whats the best way to go about that.

    Monday, October 19, 2009 4:14 PM

Answers

  • Try using the RxNorm web service directly at
    http://mor.nlm.nih.gov/download/rxnav/RxNormAPI.html

    and look the the RxNav sample Medication browser which uses this -
    http://mor.nlm.nih.gov/download/rxnav/


    Raj HealthVault Developer Tool http://xray.getrealconsulting.com
    Monday, October 19, 2009 6:09 PM
  • The HealthVault platform is returning only the first 500 items from the vocabulary when you call GetVocabulary(). If you want to get all the items, you need to call it repeatedly (the interface is a bit clunky right now).

    I agree with Raj that you are probably better off getting the vocabulary from RxNorm rather than getting it from HealthVault. The full vocabulary has over 40,000 items in it and will take on the order of 30 seconds to fetch, which means you will need to cache it on your side whether you get it from the RxNorm folks or from the HealthVault platform.

    Here's code if you want to go that route.
        int FetchRxNormActiveMedicines()
        {
            VocabularyKey key = new VocabularyKey("RxNorm Active Medicines", "RxNorm", "07AC_080303F");
            Vocabulary vocabulary = ApplicationConnection.GetVocabulary(key, false);
    
            List<VocabularyItem> items = new List<VocabularyItem>();
    
            while (true)
            {
                foreach (KeyValuePair<string, VocabularyItem> item in vocabulary)
                {
                    items.Add(item.Value);
                    key.CodeValue = item.Key;
                }
    
                if (!vocabulary.IsTruncted)
                {
                    break;
                }
    
                vocabulary = ApplicationConnection.GetVocabulary(key, false);
            }
    
            return items.Count;
        }

    Monday, October 19, 2009 6:16 PM

All replies

  • Try using the RxNorm web service directly at
    http://mor.nlm.nih.gov/download/rxnav/RxNormAPI.html

    and look the the RxNav sample Medication browser which uses this -
    http://mor.nlm.nih.gov/download/rxnav/


    Raj HealthVault Developer Tool http://xray.getrealconsulting.com
    Monday, October 19, 2009 6:09 PM
  • The HealthVault platform is returning only the first 500 items from the vocabulary when you call GetVocabulary(). If you want to get all the items, you need to call it repeatedly (the interface is a bit clunky right now).

    I agree with Raj that you are probably better off getting the vocabulary from RxNorm rather than getting it from HealthVault. The full vocabulary has over 40,000 items in it and will take on the order of 30 seconds to fetch, which means you will need to cache it on your side whether you get it from the RxNorm folks or from the HealthVault platform.

    Here's code if you want to go that route.
        int FetchRxNormActiveMedicines()
        {
            VocabularyKey key = new VocabularyKey("RxNorm Active Medicines", "RxNorm", "07AC_080303F");
            Vocabulary vocabulary = ApplicationConnection.GetVocabulary(key, false);
    
            List<VocabularyItem> items = new List<VocabularyItem>();
    
            while (true)
            {
                foreach (KeyValuePair<string, VocabularyItem> item in vocabulary)
                {
                    items.Add(item.Value);
                    key.CodeValue = item.Key;
                }
    
                if (!vocabulary.IsTruncted)
                {
                    break;
                }
    
                vocabulary = ApplicationConnection.GetVocabulary(key, false);
            }
    
            return items.Count;
        }

    Monday, October 19, 2009 6:16 PM