Page History
Include Page | ||||
---|---|---|---|---|
|
This page includes the following topics.
The following topics are included in this page.
Table of Contents | ||
---|---|---|
|
Overview
Using the API, developers can allow an application to connect to caDSR and search the database. The API is available at the Domain Class Browser. The caDSR REST-like (XML-HTTP) API and CDE Browser provide access to, and a means of linking to, caDSR metadata through a standard internet browser.
...
Info | ||
---|---|---|
| ||
You cannot enter multiple |
Setting Result Set and Page Size for REST-like API
For a caDSR REST-like API:
- You can expand or limit the result set using the
resultCounter
parameter. By default, the result set for a REST-like call is limited to 1,000 records, with the set number of records appearing per page, either as the default or as a specified page size. - To change the maximum number of results returned for a query, add the
resultCounter=##
parameter to the call. - If your total results are less than the page size, the first page of results contain all the returned items.
- The
resultCounter
andpageSize
capabilities are available for use in REST-like API calls. - For REST-like (XML-HTTPS) calls, page size information is cached, so that if you make a call that identifies a particular page size, subsequent calls will also use that same page size, even without the parameter.
- To change the number of results appearing on each page, include a different
pageSize
parameter in a call, or clear the cache to return to the default.
The following example is how to set the result set and page size.
Code Block | ||
---|---|---|
| ||
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=gov.nih.nci.cadsr.domain.Form&gov.nih.nci.cadsr.domain.Form[@workflowStatusName=RELEASED]&startIndex=0&pageSize=30&resultCounter=300 |
You can also add the startIndex
parameter to indicate which record should be the first on the page. This means you can alter a query to return the second or third page of results. Generally speaking, however, the startIndex
parameter is "zero based" - you start at zero and subsequent pages begin with a startIndex
of the next result page. Using the above query as an example, the second page of the results would show startIndex=31
, because the page size is 30.
Info | ||
---|---|---|
| ||
Page size information is cached, so that if you make a call that identifies a particular page size, subsequent calls will also use that same page size, even without the parameter. To change the number of results appearing on each page, include a different |
Retrieving the Corresponding EVS Concept Codes for the Value Domain
Given a data element, you can retrieve the corresponding EVS concept codes for the values in a Value Domain.
If there is a data element with longName My DE
and the permissible values are Never
, Former
, Current
, etc. and the CDE Browser shows the 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 code."
For example
- Each enumerated value domain (
My DE
) has a getValueDomainPermissibleValueCollection - Each ValueDomainPermissibleValue in the collection has a getPermissibleValue (
F
) - Each permissibleValue has a getValueMeaning (
Former
) - Each valueMeaning has a getConceptDerivationRule in which the list of concepts and their ordering is stored
- 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 in which the corresponding EVS concept code is stored (
C0750523
).
Searching for a Common EVS Concept Code or Name but Restricting to Primary
To search for data elements using a common EVS concept code or name, but restrict the results to only Primary concepts in the CDE object class, refer to the following the examples.
Retrieve data elements with object class, Primary, and concept, Blood and Blood Products (result in HTML).
Code Block title Retrieve Data Elements https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,ObjectClass,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C19448]][@primaryFlag=Yes]
EXTENSION 1: 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 in Example 1 returns 104 results instead of 88.
Code Block title Extension 1 [@primaryFlag=Yes]
Retrieve data elements with property Primary, and concept, E-Mail Address.
Code Block title Retrieve Data Elements https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address]][@primaryFlag=Yes]
EXTENSION 2: 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 E-Mail address as the primary concept, remove DataElement (the first item in the query argument list in Example 2):
Retrieve DECs with property Primary, and concept E-Mail Address.
Code Block title Extension 2 https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address]][@primaryFlag=Yes]
Retrieve data elements with value domain's value meaning Primary concept code= C19448 (Blood and Blood Products”) (result in XML).
Code Block title Retrieve Data Elements https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement,EnumeratedValueDomain,ValueDomainPermissibleValue,PermissibleValue,ValueMeaning,ConceptDerivationRule&ComponentConcept[Concept[@longName=Blood and Blood Products]][@primaryFlag=Yes]
Examples
...
Custom nh | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Find Data Element by Public ID and VersionThe following examples find a data element where Public ID = 62 and Version=6, displaying the basic metadata attributes. |
...
Legacy Example 1a Results Displayed in the CDE Browser
This method can be used to retrieve data elements only when you know both the Public ID and Version number. (If you have trouble with the following link in Firefox, copy and paste it into IE.)
https://cdebrowser.nci.nih.gov/CDEBrowser/search?dataElementDetails=9/&cdeId=62&version=6&PageId=DataElementsGroup&queryDE=yes&FirstTimer=yes
|
Or alternatively...
Code Block |
---|
https://freestyle.nci.nih.gov/freestyle/do/cdebrowser?publicId=62&version=6 |
...
Results Displayed in XMLThe URL for the results from the caDSR |
...
II REST API is
|
...
Results Displayed in |
...
HTMLThe URL for the results from the caDSR II REST API is
|
...
Results Displayed in |
...
JSONThe URL for the results from the caDSR II REST API is
|
caDSR II Example 1c Results Displayed in JSON
...
Allow Machine-to-machine Retrieval of a Data Element by Public ID and VersionThe following caDSR II example allows machine-to-machine retrieval of a data element by public ID and version. (You can test this URL only in a machine-to-machine scenario, not in a browser.)
|
...
If you want to create a REST API call from machine to machine or application to application, start your URL as follows:
Find Data Element by Public IDThe following example finds a data element with Public ID = 62, displaying the basic metadata attributes. Since the version is not known, this query can only be handled via a caDSR REST API query getting all versions |
...
Legacy Example 2
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement[@publicId=62] |
...
. |
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement[@publicId=62][@latestVersionIndicator=Yes]
|
caDSR II Example 2
The URL for the results from the caDSR II REST API is
Or the query can retrieve only the latest version.
|
...
Find Data Element by Public ID, Display All Related ComponentsThe following example finds a data element with Public ID = 62, displaying all the metadata associated with the data element's related components, not just the basic attributes. This is handled in the caDSR REST API using a parameter that produces expanded ("heavy") XML. |
...
Legacy Example 3
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement&DataElement[@publicId=62]&returnHeavyXML=true |
caDSR II Example 3
The URL for the results from the caDSR II REST API is
|
...
Find DEC Using Public ID, Display All Associated Data Elements |
...
The following example finds all the data elements associated with the DEC |
...
with Public ID = 2178546, displaying the basic metadata of the DEC and its data elements. |
Legacy Example 4
The URL for the results from the caDSR |
...
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement&DataElementConcept[@publicId=2178546]
|
...
II |
...
REST API is
|
...
Find Data Elements Associated with a Particular DEC Public ID and VersionThe following example finds only data elements associated with Version 2.1 of DEC with Public ID = 2178546. |
Legacy Example 5
The URL for the results from the caDSR |
...
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement&DataElementConcept[@publicId=2178546][@version=2.1] |
caDSR II Example 5
...
II REST API is
|
Example 6 - Find a Form Using Form Public ID and Version, Display Basic Metadata Attributes
The following examples find a Form where Public ID = 2392775 and Version=1.0, displaying the basic metadata attributes.
...
This method can be used to retrieve Forms only when you know both the Public ID and Version number. (If you have trouble with the following link in Firefox, copy and paste it into IE.)
Legacy Example 6b Results Displayed in XML
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=Form[@publicId=2392775][@version=1.0]
|
caDSR II Example 6
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Form[@publicId=2392775,@version=1]
|
Example 7 - Find a Form Using Only Public ID
The following example finds a Form with Public ID = 2392775, displaying the basic metadata attributes. Since the version is not known, this query can only be handled via a caDSR REST API query.
Legacy Example 7
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=Form[@publicId=2392775]
|
caDSR II Example 7
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Form[@publicId=2392775]
|
Example 8 - Find a Form Using Public ID, Display All Metadata Associated with Data Elements
The following example finds a Form with Public ID = 2392775, displaying all the metadata associated with the data element's related components, not just the basic attributes. This is handled in the caDSR REST API using a parameter that produces expanded ("heavy") XML.
Legacy Example 8
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=Form&Form[@publicId=2392775]&returnHeavyXML=true
|
caDSR II Example 8
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Form[@publicId=2392775]&returnHeavyXML=true
|
Example 9 - Find All Forms Associated with Particular Data Element Public ID and Version
The following example finds all the Forms associated with the CDE with Public ID = 2183364, Version 1.0, displaying the basic metadata of the Form.
Legacy Example 9
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=Form&Module&Question&DataElement[@publicId=2183364][@version=1.0]
|
caDSR II Example 9
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Form,Module,Question&DataElement[@publicId=2183364,@version=1.0]
|
Example 10 - Get all Modules Associated with a Form Using Form Public ID
The following example gets all the modules for a form with Public ID = 2392775.
Legacy Example 10
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=gov.nih.nci.cadsr.domain.Module&gov.nih.nci.cadsr.domain.Form[@version=1.0][@publicId=2392775]
|
caDSR II Example 10
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Module&Form[@publicId=2392775,@version=1.0]
|
Example 11 - Get All the Questions for a Module Using Module Public ID and Version
The following example gets all the questions for a module with Public ID = 2392777 and version = 1.0.
Legacy Example 11
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=gov.nih.nci.cadsr.domain.Question&gov.nih.nci.cadsr.domain.Module[@version=1.0][@publicId=2392777]
|
caDSR II Example 11
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=Question&Module[@publicId=2392777,@version=1.0]
|
...
Get |
...
Data Elements |
...
Using |
...
The following example gets all the data elements for a question with Public ID = 2392779 and version = 1.0.
Legacy Example 12
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=gov.nih.nci.cadsr.domain.DataElement&gov.nih.nci.cadsr.domain.Question[@version=1.0][@publicId=2392779]
|
caDSR II Example 12
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=DataElement&Question[@publicId=2392779,@version=1.0]
|
Example 13 - Retrieve All Administered Components Associated with ClassSchemeClassSchemeItem with Particular ID
The following example gets all Administered Components for ClassSchemeClassSchemeItem with ID = A55C551C-1866-5ED1-E034-080020C9C0E0. This retrieves all ACs and sorts them according to type (Form, DE, DEC, and so on).
Legacy Example 13
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=AdministeredComponent,AdministeredComponentClassSchemeItem,ClassSchemeClassSchemeItem&ClassSchemeClassSchemeItem[@ID=A55C551C-1866-5ED1-E034-080020C9C0E0]
|
caDSR II Example 13
The URL for the results from the caDSR II REST API is
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=AdministeredComponent,AdministeredComponentClassSchemeItem&ClassSchemeClassSchemeItem[@id=A55C551C-1866-5ED1-E034-080020C9C0E0]
|
Example 14 - Retrieve All ClassSchemeClassSchemeItem Associated with ClassificationSchemeItem and ClassificationScheme
The following example gets all ClassSchemeClassSchemeItem
for ClassificationSchemeItem
with longName
starting with 2014r1 and ClassificationScheme with preferredName starting with NMDP.
Info | ||
---|---|---|
| ||
The association can be specified either through using square brackets '[]' or by using the backslash '\' however, association within the square brackets cannot have further associations as attributes. |
Legacy Example 14
The URL for the results from the caDSR 4.1.x REST API is
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=ClassSchemeClassSchemeItem&ClassSchemeClassSchemeItem[ClassificationScheme[@preferredName=NMDP*]]\ClassificationSchemeItem[@longName=2014r1*]
|
caDSR II Example 14
The URL for the results from the caDSR II REST API is
Code Block |
---|
TBD
|
...
Concept Code or Concept Name |
...
The following examples show how to retrieve data elements using either the concept code or the concept name where the concept is the Primary concept of the related caDSR item. In these examples, results are returned in |
...
XML. |
...
Find All Data Elements Where Associated Concept is Primary Concept of Data Element's Object ClassThis example shows the use of |
...
the Concept Code (C19448) |
...
. Results are |
...
returned in |
...
XML. |
...
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,ObjectClass,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C19448]][@primaryFlag=Yes]
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,ObjectClass,ConceptDerivationRule&ComponentConcept[Concept[@longName=Blood and Blood Products]][@primaryFlag=Yes]
|
caDSR II Example 15
The URL for the results from the caDSR II REST API is
|
...
Find All Data Elements Where Associated Concept is Primary Concept of Data Element's Property |
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C42775]][@primaryFlag=Yes]
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address]][@primaryFlag=Yes]
|
caDSR II Example 16
The URL for the results from the caDSR II REST API is
|
...
Find All Data Elements Where Associated Concept is Primary Concept of One of Data Element's Value Domain Value Meanings |
...
https://cadsrapi.nci.nih.gov/cadsrapi4
/GetHTML?query=DataElement,EnumeratedValueDomain,ValueDomainPermissibleValue,PermissibleValue,ValueMeaning,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C19448]][@primaryFlag=Yes]
https://cadsrapi.nci.nih.gov/cadsrapi4
/GetHTML?query=DataElement,EnumeratedValueDomain,ValueDomainPermissibleValue,PermissibleValue,ValueMeaning,ConceptDerivationRule&ComponentConcept[Concept[@longName=Blood and Blood Products]][@primaryFlag=Yes]
|
caDSR II Example 17
The URL for the results from the caDSR II REST API is
|
...
Find All Enumerated Permissible Values for a Data ElementThe following examples find all enumerated permissible values for a data element using the data element's public ID and version or the data element's public ID (and getting latest version). |
...
Legacy Example 18
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=PermissibleValue,ValueDomainPermissibleValue,EnumeratedValueDomain,ValueDomain&DataElement[@publicId=106][@version=5.1]
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=PermissibleValue,ValueDomainPermissibleValue,EnumeratedValueDomain,ValueDomain&DataElement[@publicId=106][@latestVersionIndicator=Yes]
|
...
You must specify either version or latestVersionIndicator. If you specify latestVersionIndicator=No, the query returns all permissible values across all versions of the CDE. The URL for the results from the caDSR II REST API is
|
Example 19 - Find a Concept by Concept Code
The following examples find a concept with the concept code.
Legacy Example 19
Code Block | |
---|---|
Code Block | |
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=Concept[@preferredName=C42614]
|
caDSR II Example 19
The URL for the results from the caDSR II REST API is
|
Example 20 - Retrieve a caDSR Form with All Its Collections
The following caDSR II examples retrieve a caDSR form with all its collections, or "flattened". This means for a given form, the system returns all Modules, Questions, Valid Values and related instructions in one call. The system returns results as a JSON file. You must specify a version.
The following example retrieves a form without specifying a protocol:
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/form.test/getJSON?query=Form[@publicId=7203785,@version=1] |
The following example specifies a protocol:
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/form.test/getJSON?query=Form[Protocol[@preferredName=C3D%20ADOPTER%20TEMPLATES],@publicId=2392775,@version=1] |
Example 21 - Return Permissible Value Info 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
|
Example 22 - Retrieving Any Administered Component by Public ID
The following caDSR II example retrieves any administered component by public ID.
Code Block |
---|
https://cadsrapi.cancer.gov/invoke/caDSR/GetXML?query=AdministeredComponent[@publicId=62] |
Can you retrieve all Data Elements using a common EVS concept code or name, but restrict results to only those where the concept is “Primary” in the CDE’s Object Class?
Yes. 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.
Example
...
Retrieve data elements with Object Class “Primary” concept named “Blood and Blood Products” (result in HTML).
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,ObjectClass,ConceptDerivationRule&ComponentConcept[Concept[@preferredName=C19448]][@primaryFlag=Yes]
|
EXTENSION 1: An extension finds all data elements where the concept is used either as a primary OR qualifier concept. This is accomplished by removing last qualifier in the query.
Code Block |
---|
[@primaryFlag=Yes] |
Removing this criteria in Example 1 returns 104 results instead of 88.
...
Retrieve data elements with Property “Primary” concept named “E-Mail Address”.
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElement,DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address]][@primaryFlag=Yes]
|
EXTENSION 2: 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 DECs with E-Mail address as the primary concept, remove "DataElement" (the first item in the query argument list in Example 2).
...
Retrieve DECs with Property “Primary” concept named “E-Mail Address”.
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetHTML?query=DataElementConcept,Property,ConceptDerivationRule&ComponentConcept[Concept[@longName=E-mail%20Address]][@primaryFlag=Yes]
|
Retrieve data elements with Value Domain's Value Meaning "Primary" concept code= C19448 (Blood and Blood Products”) (result in XML).
Code Block |
---|
https://cadsrapi.nci.nih.gov/cadsrapi4/GetXML?query=DataElement,EnumeratedValueDomain,ValueDomainPermissibleValue,PermissibleValue,ValueMeaning,ConceptDerivationRule&ComponentConcept[Concept[@longName=Blood and Blood Products]][@primaryFlag=Yes]
|
...
|