NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Enclosed contents of page in Lorenzo's custom macro instead of the standard numbered headings macro.

...

NOTE: A deeper level query could query to find the caDSR item related to the directly annotated item. For example from a Value Meaning it is possible to find out what Value Domains the VM is included and then retrieve all the Data Elements that use the VD. Refer to 1. Examples for Data Elements.


Custom nh
start-numbering-with3
start-numbering-ath2

Retrieving the Value Meaning Concept Codes for a Data Element That Has an Enumerated Value Domain

Given a data element, you can retrieve the corresponding concept codes for the permissible values in a Value Domain. 

If there is a data element with longName My DE and the permissible values are N=Never, F=Former, C=Current, and so on, and if OneData shows the concept code for Never as C70543, Former as C0750523, and Current as C25471, your application can navigate the objects starting at the value domain and work to the corresponding concept code.

For example

  • Each Data Element (My DE) that is enumerated has an EnumeratedValueDomain that can be retrieved using getValueDomain.
  • Each EnumeratedValueDomain has a permissible value list that can be retrieved using getValueDomainPermissibleValueCollection.
  • Each ValueDomainPermissibleValue in the collection has a getPermissibleValue, in this example (F).
  • Each permissibleValue has a getValueMeaning (Former).
  • Each valueMeaning has a getConceptDerivationRule which stores the list of concepts and their ordering.
  • Each conceptDerivationRule has a getComponentConceptCollection (the primary concept and any qualifier concepts, in this case Former has only a Primary Concept).
  • Each componentConcept in the collection has a getConcept (returns the Concept Object).
  • Each concept has an attribute, preferredName which stores the corresponding concept code (C0750523).

Retrieving a caDSR Item That Has Concept Using the Concept Code or Name, but Restricting the Search to Only Retrieving Items if the Concept is the Primary Concept

To search for data elements using a concept code or name, but restrict the results to only Primary concepts in the Object Class, refer to the following examples.

HTML Comment
hiddentrue

TBD: This section has URLs that start with the following string: 

https://cadsrapi.cancer.gov/caDSR5.0/

However, all of the other caDSR II URLs start with the following string instead:

https://cadsrapi.cancer.gov/invoke/caDSR/

Retrieve data elements with Object Class Concept "C19448" (result in XML) but only if the Concept is indicated as the Primary concept. This is done using the Concept's primaryFlag indicator = "Yes".

Code Block
https://cadsrapi.cancer.gov/caDSR5.0/GetXML?query=DataElement,DataElementConcept,ObjectClass,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C19448],@primaryFlag=Yes] 

Additionally, you can find all Data Elements where the concept is used either as a primary OR qualifier concept. This is accomplished by removing the last qualifier in the query. Removing this criteria returns 104 results instead of 88.

Code Block
[@primaryFlag=Yes]
Code Block
https://cadsrapi.cancer.gov/caDSR5.0/GetXML?query=DataElement,DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address],@primaryFlag=Yes] 

To retrieve the next higher order "type" administered items, remove the name of the item(s) before it in the query argument list. For example, to get Data Element Concepts (DECs) with its Property Primary Concept longName E-Mail Address, remove DataElement (the first item in the query argument list):

Retrieve DECs with Property Primary Concept name E-Mail Address.

Code Block
https://cadsrapi.cancer.gov/caDSR5.0/GetXML?query=DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address],@primaryFlag=Yes]

Retrieve Data Elements with its ValueDomain having a ValueMeaning with a Primary Concept longName Blood and Blood Products (result in XML).

Code Block
https://cadsrapi.cancer.gov/caDSR5.0/GetXML?query=DataElement,EnumeratedValueDomain,ValueDomainPermissibleValue,PermissibleValue,ValueMeaning,ConceptDerivationRule&ComponentConcept[Concept[@longName=Blood and Blood Products],@primaryFlag=Yes]

Find a Concept by Concept Code

The following example finds a concept with the concept code.

The URL for the results from the caDSR II REST API is

Code Block
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Concept[@preferredName=C42614]

Return Permissible Value Info Including Associated Concepts for a CDE

The following caDSR II example returns the Permissible Value information for a given CDE. If you do not specify the version, the query returns the latest version.

Code Block
https://cadsrapi.cancer.gov/caDSR/GetPVXML01?query=PermissibleValue&DataElement[@publicId=62,@version=6]

Retrieve all Data Elements Using an EVS Concept Code or Name, but Restrict Results to Only Those Where the Concept is “Primary Concept” in the CDE's Data Element Concept's Property Concept rule

This can be done through any of the caDSR APIs, as well as for restricting to Property or a Value Meaning in the CDEs Enumerated Value Domain.

Retrieve all Data Elements where the Property's “Primary” concept is concept name "E-mail Address" (result in XML).

Code Block
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=DataElement,DataElementConcept,Property&ComponentConcept[Concept[@longName=E-mail%20Address],@primaryFlag=Yes]