Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleNews and updates
  • 2020-11-11: Next Generation CDISC Library
  • 2020-07-07: New contents, new endpoint, metadata adjustments for ADaM
  • 2020-02-14: New contents, new endpoints, editorial updates

  • Expand
    titleHistory Prior to 2020...

    2019-11-18: New contents, bug fixes, minor browser patch
    2019-09-13: Data standards browser as a new functionality
    2019-07-18: Search API, CSV & Excel exports, new and updated contents, and documentation updates
    2019-04-10: New contents, XML media type (beta functionality), and document revision with new and updated information
    2019-02-15: Initial version



Section

General


The base URL for the API is:

Section
bordertrue


Column

All access inquires, technical support tickets, comments, and general CDISC Library questions, please use the CDISC Library Product Inquiry form.

Section
bordertrue
Column
Code Block
linenumberstrue
https://library.cdisc.org/api

Status
colourRed
titleImportant
The 2020-11-11 release is generally known as Next Generation CDISC Library, where CDISC begins to host CDISC Library in Microsoft Azure. An introduction about it is available as a webinar recording here: https://www.cdisc.org/cdisc-library/getting-started.

Section
bordertrue
https://library.cdisc.org/browser

Column

The URL for Data Standards Browser is:

Code Block
linenumberstrue



Section
bordertrue


Column

The CDISC Library API generally follows HTTP/1.1's guidelines for status code. Details are here: HTTP Status Codes (2020-02-14)All access inquires, technical support tickets, comments, and general CDISC Library questions, please use the CDISC Library Product Inquiry form.



Section
bordertrue


Column

The API uses Basic Auth (HTTP Basic Authentication).

Section
bordertrue
Column

Status
colourYellow
titleUpdated
The following standards have been loaded:

  • CDISC Controlled Terminology P19 (2014-09-26) to P42 (2020-06-26)*, a total of 24 quarters with 93 parts
  • CDASH v1.1.1/CDASHUG v1.0, CDASH Model v1.0 to v1.1, CDASHIG v2.0 to v2.1
  • SDTM v1.2 to v1.8, SDTMIG v3.1.2 to v3.3, SDTMIG-AP v1.0, SDTMIG-PGx v1.0, SDTMIG-MD v1.0, SDTMIG-MD v1.1
  • SENDIG v3.0, SENDIG v3.1, SENDIG-DART v1.1, SENDIG-AR v1.0
  • ADaM v2.1, ADaMIG v1.0 to ADaMIG v1.1 to v1.2, ADaM ADAE v1.0, ADaM TTE for BDS v1.0, ADaM OCCDS v1.0

* denotes new contents added as of the 2020-07-07 release

Section
bordertrue

base URL for the API is:

Code Block
linenumberstrue
https://library.cdisc.org/api




Section
bordertrue


Column

The URL for Data Standards Browser is:

Code Block
linenumberstrue
https://library.cdisc.org/browser




Section
bordertrue


Column

The CDISC Library API generally follows HTTP/1.1's guidelines for status code. Details are here: HTTP Status Codes (2020-02-14).



Section
bordertrue


Column

Status
colourYellow
titleUpdated
The REST API uses API key authentication.

Note, support for Basic Auth is deprecated as of the 2020-11-11 release. For an interactive walk-through, refer to the video posted on https://www.cdisc.org/cdisc-library/getting-started, starting at 00:44:38.



Section
bordertrue


Column


Info

Content for CDISC Controlled Terminology P43 will be available in a patch release at a later date. It will consist of the version dated 2020-09-25, as well as the transactional updates from the version dated 2020-11-06.

The following standards have been loaded:

  • CDISC Controlled Terminology P19 (2014-09-26) to
Column

Status
colourYellow
titleUpdated
Included in the 2020-07-07 release are:

New contents

  • CDISC Controlled Terminology P41 (2020-03-27)
  • CDISC Controlled Terminology P42 (2020-06-26)
  • Note: See Clarifications about P41a (2020-05-08)
  • *, a total of 24 quarters with 93 parts
  • CDASH v1.1.1/CDASHUG v1.0, CDASH Model v1.0 to v1.1, CDASHIG v2.0 to v2.1
  • SDTM v1.2 to v1.8, SDTMIG v3.1.2 to v3.3, SDTMIG-AP v1.0, SDTMIG-PGx v1.0, SDTMIG-MD v1.0, SDTMIG-MD v1.1
  • SENDIG v3.0, SENDIG v3.1, SENDIG-DART v1.1, SENDIG-AR v1.0
  • ADaM v2.1, ADaMIG v1.0 to ADaMIG v1.1 to v1.2, ADaM ADAE v1.0, ADaM TTE for BDS v1.0, ADaM OCCDS v1.0

* denotes new contents added as of the 2020-07-07 release



{
Section
bordertrue


Before, lines #11 and #16 have varsets href as /mdr/adam/adam-tte-1-0/datastructures/BDS/...:

{ "ordinal": "1", "name": "BDS for TTE",
Column

Status
colourYellow
titleUpdated
Included in the 2020-11-11 release are:

Enhancements

  • For API endpoint /mdr/products/DataAnalysis, the ADaM v2.1 is now included as one of the products.

    • Expand
      titleExcerpt from /mdr/products/DataAnalysis


      Code Block
      linenumberstrue
      {
          "_links": {
      

Enhancements

  • Added one endpoint (details below):
    • /mdr/maintenance
  • Added maintenance banner to the Data Standards Browser
  • For API Documentation:
    • Added examples
    • Added all supported media types for each endpoint
    • Enabled API mocking via Swagger virtual server
    • Enriched details for search related endpoints, i.e., schemas and query parameters
    • Added links to online resources
  • Added Media Type Support Matrix to the set of Release Notes

Corrections & Patches

  • Erroneous hypermedia links about valuelist have been removed from all ADaM responses
    • Expand
      titleExample using /mdr/adam/adamig-1-2/datastructures/BDS/variables/ABLFL

      Before, valuelist hypermedia link in lines #11 to #14:

      Code Block
      linenumberstrue
      {
          "ordinal": "316",
          "name": "ABLFL",
          ...
          "_links": {
              "self": {
                  "href": "/mdr/adam/adamig-1-2/datastructures/BDS/variables/ABLFL",
                  "title": "Baseline Record Flag",
                  "type": "Analysis Variable"
              },
              "valuelist": {
                  "href": "/mdr/adam/adamig-1-2/valuelist/CharacterYesResponse",
                  "title": "Yes Response",
                  "typeadam": "Enumerated Value Domain"[
              },
          {
          "parentProduct": {
                  "href": "/mdr/adam/adamigadam-2-1-2",
                      "title": "Analysis Data Model Implementation Guide Version 2.1.2",
                      "type": "ImplementationFoundational GuideModel"
              },
          },
          ...
              }...
          }
      }

      After, valuelist no longer part of _links:

      Code Block
      linenumberstrue
      {
          "ordinal": "316" ],
          "name": "ABLFL",
          ...
          "_links": {
              "self": {
                  "href": "/mdr/adam/adamig-1-2/datastructures/BDS/variables/ABLFL",
                  "title": "Baseline Record Flag",
                  "type": "Analysis Variable"
              },
              "parentProduct": {
                  "href": "/mdr/adam/adamig-1-2",
                  "title": "Analysis Data Model Implementation Guide Version 1.2",
                  "type": "Implementation Guide"
              },
          }
      }



  • For API endpoint /mdr/cdashig/2-0 and /mdr/cdashig/2-1, the implements HATEOAS links are added to each applicable domain fields (JSON path: $.classes[*].domains[*].fields[*]._links.implements).

    • Expand
      titleExample showing the implements HATEOAS link for the STUDYID field in CDASHIG v2.1's CO domain


      Code Block
      linenumberstrue
      {
          ...
          "classes": [
         }
           }
      }
    ADaM TTE v1.0
    • Corrected all malformed hypermedia links related to varsets
Expand
titleExample from /mdr/adam/adam-tte-1-0/datastructures/ADTTE/varsets
Code Block
linenumberstrue
{
            ...
            "domains": [
                {
                    ...
    
"_links": {
                "
self
fields": 
{
[
            
...
         
},
   {
     
"analysisVariableSets":
 
[
            
{
          ...
      
"href": "/mdr/adam/adam-tte-1-0/datastructures/BDS/varsets/SubjectIdentifierVariable",
                      "
title
_links": 
"Subject
{
  
Identifier
 
Variable",
                
"type":
 
"Variable
 
Set"
           
},
"implements": {
                
{
                    "href": "/mdr/
adam
cdash/
adam-tte
1-1
-0
/
datastructures
classes/
BDS
Identifiers/
varsets
fields/
TreatmentVariables
STUDYID",
                 
"title":
 
"Treatment Variables",
                  "
type
title": "
Variable
Study 
Set
Identifier",
            
},
            
...
            
}
"type": "Class Variable"
         
]
           
} }

After, varsets href values are corrected to read /mdr/adam/adam-tte-1-0/datastructures/ADTTE/...:

Code Block
linenumberstrue
           
"ordinal": "1",
 }
    
"name": "BDS for TTE",
          
...
    
"_links":
 
{
        
"self":
 
{
}
             
...
           }
,

           
"analysisVariableSets": [
         ]
       
{
         }
       
"href":
 
"/mdr/adam/adam-tte-1-0/datastructures/ADTTE/varsets/SubjectIdentifierVariable",
    ]
        }
    
"title": "Subject Identifier Variable", "type": "Variable Set" }, { "href": "/mdr/adam/adam-tte-1-0/datastructures/ADTTE/varsets/TreatmentVariables", "title": "Treatment Variables",
]
}



Corrections & Patches

  • Erroneous index entries, e.g., "SDTM v1.2", "SDTM v1.3", etc., no longer appears in the response from this API request: /mdr/search/scopes/class.
  • The hypermedia link about parent product is added back to these API endpoints. In other words, the JSON path $._links.parentProduct now contains a link:
    • /mdr/sdtm/{version}/classes
    • /mdr/sdtmig/{version}/classes
    • /mdr/sendig/{version}/classes

    • Expand
      titleExample using /mdr/sendig/ar-1-0/classes


      Code Block
      linenumberstrue
      {
          "_links": {
              
      "
      type
      classes": 
      "Variable Set"
      [
              
      }
      ],
              
      ...
      "parentProduct": {
             
      } ] } }
    ADaM ADAE v1.0
    • Corrected typo in TRTEMFL's description. Expand
      titleDetails from /mdr/adam/adam-adae-1-0/datastructures/ADAE/variables/TRTEMFL

      Before, typo in two instances of the inequality symbol >=:

      Code Block
      linenumberstrue
      { ...
           "href": "/mdr/sendig/ar-1-0",
                  "
      description": "Example derivation
      title": 
      If ADSL.TRTSDT>=ASTDT>=ADSL.TRTEDT + x days then TRTEMFL='Y' The number x is defined by the sponsor and often incorporates the known half-life of the drug. Variable TRTEMFL is to be used for any analysis of treatment-emergent AEs. This variable is conditional on whether the concept of treatment emergent is a key feature of the AE analyses.", ... }After, the inequality symbol is corrected to <=
      "Standard for Exchange of Nonclinical Data Implementation Guide: Animal Rule Version 1.0 (Final)",
                  "type": "Implementation Guide"
              },
              ...
          },
          ...
      }



  • For API endpoint /mdr/root/cdash/classes/{class}/fields/{field}, the value of the type object (JSON path: $._links.self.type) now reads "Root Data Element"; originally, "Has Root Data Element".

    • Expand
      titleExample using /mdr/root/cdash/classes/Interventions/fields/--YN

      Before, at line #6, type reads "Has Root Data Element":

      Code Block
      linenumberstrue
      {
          
      ...
      "_links": {
              "
      description
      self":
      "Example derivation: If ADSL.TRTSDT<=ASTDT<=ADSL.TRTEDT + x days then TRTEMFL='Y' The number x is defined by the sponsor and often incorporates the known half-life of the drug. Variable TRTEMFL is to be used for any analysis of treatment-emergent AEs. This variable is conditional on whether the concept of treatment emergent is a key feature of the AE analyses.", ... }
Section
bordertrue
Column
    •  {
                  "href": "/mdr/root/cdash/classes/Interventions/fields/--YN",
                  "title": "Version-agnostic anchor element for Interventions field --YN",
                  "type": "Has Root Data Element"
              },
              ...
          }
      }

      After, at line #6, type reads "Root Data Element":

For health check, use this endpoint to verify LDAP and database availability:

Code Block
linenumberstrue
/health
Section
bordertrue
Column

Status
colourGreen
titleNew
For system maintenance status, use this endpoint to obtain a flag indicating whether CDISC Library is under maintenance and a related system message:

Code Block
linenumberstrue
/mdr/maintenance
For example,
    • Code Block
      linenumberstrue
      {
          "
maintenanceMode
    • _links": 
true,
    • {
        
"maintenanceMessage": "CDISC Library is currently under a scheduled maintenance." }
Section
bordertrue
Column

For a machine-readable method to obtain a full listing of products loaded into the metadata repository use:

Code Block
linenumberstrue
/mdr/products

Or, by product group:

Code Block
firstline2
linenumberstrue
/mdr/products/{product-group}

where product-group is one of these values:

  • Terminology
  • DataCollection
  • DataTabulation
  • DataAnalysis
Section
bordertrue
    •       "self": {
                  "href": "/mdr/root/cdash/classes/Interventions/fields/--YN",
                  "title": "Version-agnostic anchor element for Interventions field --YN",
                  "type": "Root Data Element"
              },
              ...
          }
      }



Deprecations

  • Basic Auth support for API access, replaced by API key authentication.
  • API endpoint /health for system component status. CDISC is evaluating equivalent or similar functionality in future patch release.
  • Search scopes /mdr/search/scopes/{scope} where scope is one of these values:

    1. definition

    2. description

    3. measureType

    4. productGroup

    5. uiHref

    6. valueDomain



Section
bordertrue


Column

For system maintenance status, use this endpoint to obtain a flag indicating whether CDISC Library is under maintenance and a related system message:

Column

Included in the 2020-02-14 release are two new endpoints, designed to provide high-level information about CDISC Library. These endpoints support both JSON and XML media types.

First, /mdr/about returns the URL for on-line API Documentation and Release Notes. It also includes a hypermedia link to a list of the product groups with their most recent update dates, as described below.

Code Block
linenumberstrue
/mdr/about
/mdr/lastupdated returns dates of last updated, organized by CDISC product group.

Code Block
linenumberstrue
/mdr/lastupdatedmaintenance

For example:,

{ "_links": { "self": { "href": "/mdr/about", "title": "Information About CDISC Library", "type": "About CDISC Library" }, "lastupdated": { "href": "/mdr/lastupdated", "title": "Last Update Date of CDISC Library Products", "type": "About CDISC Library" } }, "release-notes": "https://wiki.cdisc.org/display/LIBSUPRT/Release+Notes", "api-documentation": "https://www.cdisc.org/cdisc-library/api-documentation" }
Code Block
title/mdr/about example output
linenumberstrue
true
{
  "maintenanceMode": true,
  "maintenanceMessage": "CDISC Library is currently under a scheduled maintenance."
}




Section
bordertrue


Column

For a machine-readable method to obtain a full listing of products loaded into the metadata repository use:

Code Block
linenumberstrue
/mdr/products

Or, by product group:

Code Block
firstline2
linenumberstrue
/mdr/products/{product-group}

where product-group is one of these values:

  • Terminology
  • DataCollection
  • DataTabulation
  • DataAnalysis



section
Section
bordertrue


Column

Included in the 2020-02-14 release are two new endpoints, designed to provide high-level information about CDISC Library. These endpoints support both JSON and XML media types.

First, /mdr/about returns the URL for on-line API Documentation and Release Notes. It also includes a hypermedia link to a list of the product groups with their most recent update dates, as described below.

Code Block
linenumberstrue
/mdr/about

/mdr/lastupdated returns dates of last updated, organized by CDISC product group.

Code Block
linenumberstrue
/mdr/lastupdated

For example:

Code Block
title/mdr/lastupdated about example output
linenumberstrue
{
  "_links": {
    "self": {
      "href": "/mdr/lastupdatedabout",
      "title": "LastInformation UpdateAbout Date of CDISC Library Products",
      "type": "About CDISC Library"
    },
    "lastupdated": {
     } "href": "/mdr/lastupdated",
      "overalltitle": "2020-02-14Last Update Date of CDISC Library Products",
  "data-analysis    "type": "2020-02-14",
  "data-collection": "2020-02-14"About CDISC Library"
    }
  },
  "datarelease-tabulationnotes": "2019-11-18https://wiki.cdisc.org/display/LIBSUPRT/Release+Notes",
  "terminologyapi-documentation": "2020-02-14https://www.cdisc.org/cdisc-library/api-documentation"
}


Code Block
bordertrue
title/mdr/lastupdated example output
linenumberstrue
{
  "_links": {
    "self": {
      "href": "/mdr/lastupdated",
      "title": "Last Update Date of CDISC Library Products",
      "type": "About CDISC Library"
    }
  },
  "overall": "2020-02-14",
  "data-analysis": "2020-02-14",
  "data-collection": "2020-02-14",
  "data-tabulation": "2019-11-18",
  "terminology": "2020-02-14"
}
Column

CDISC finished updating all internal (meta-model, URIs, etc.) and textual references of SHARE to CDISC Library. The base URL and API interface remain unaffected. User will find this update mostly in the value of _link/self/title and _links/self/label. For example:

Code Block
linenumberstrue
{
  "_links": {
    "self": {
      "href": "/mdr/products",
      "title": "CDISC Library Product List",
      "type": "CDISC Library Product List"
    },
  ...
}




Section

Media Type


Section
bordertrue


Column

Added to the 2019-07-18 release is the support for two additional media types: CSV and Excel. Users may request top-level foundational standards exports in either CSV or Excel Workbook format. The media type for CSV is text/csv, while application/vnd.ms-excel for Excel.

Note

CSV and Excel Workbook media types are only available at the top-level of a foundational standard. When requesting them at levels in any lower hierarchy, the API will return an HTTP 406 Not Acceptable status code.


Info

Refer to Limitations for an important note about the CSV and Excel exports.


For example, a cURL snippet to obtain ADaM OCCDS v1.0 (lines #1-3), SDTMIG v3.3 (lines #5-7), and Controlled Terminology P38 (lines #9-11) in CSV format:

Code Block
languagetext
linenumberstrue
curl -X GET \
  https://library.cdisc.org/api/mdr/adam/adam-occds-1-0 \
  -H 'Accept: text/csv'

curl -X GET \
  https://library.cdisc.org/api/mdr/sdtmig/3-3 \
  -H 'Accept: text/csv'


curl -X GET \
  https://library.cdisc.org/api/mdr/ct/packages/sdtmct-2019-06-28 \
  -H 'Accept: text/csv'

Similarly, a cURL snippet to obtain ADaM OCCDS v1.0 (lines #1-3) , SDTMIG v3.3 (lines #5-7), and Controlled Terminology P38 (lines #9-11) in Excel Workbook format:

Code Block
languagetext
linenumberstrue
curl -X GET \
  https://library.cdisc.org/api/mdr/adam/adam-occds-1-0 \
  -H 'Accept: application/vnd.ms-excel'

curl -X GET \
  https://library.cdisc.org/api/mdr/sdtmig/3-3 \
  -H 'Accept: application/vnd.ms-excel'


curl -X GET \
  https://library.cdisc.org/api/mdr/ct/packages/sdtmct-2019-06-28 \
  -H 'Accept: application/vnd.ms-excel'



...

Section
bordertrue


Column

To promote consistency, the label "ISO 3166-1 Alpha-3" is used whenever this external country codelist is referenced. Similarly, "ISO 21090 NullFlavor enumeration" is used for null flavors.


Pagenav
Firsttrue