News and updates
- 2023-07-06: Package 4 (package 2023-07-06), new versioned APIs
- 2023-04-04: Package 3 (package 2023-03-31)
- 2023-02-13: Package 2 (package 2023-02-13)
- 2022-12-07: Initial version (package 2022-10-26)
Changes to API Endpoint Responses for CDISC Biomedical Concepts and SDTM Dataset Specializations
API endpoint responses for CDISC Biomedical Concepts and SDTM Dataset Specializations have changed due to the evolution of the Biomedical Concepts data model. As a result, all API endpoints will be versioned. The original, pre-existing API endpoints will remain available in API v1.
New API endpoints have been developed and are available in API v2. On July 6, 2023, all new and revised API endpoints for CDISC Biomedical Concepts and SDTM Dataset Specializations will be included in API v2.
Starting July 6, 2023, all API requests will need to include a version. For example,
Old API endpoint:
/mdr/bc/packages/2022-10-26/biomedicalconcepts/C64547
New API endpoints
/cosmos/v1/mdr/bc/packages/2022-10-26/biomedicalconcepts/C64547
/cosmos/v2/mdr/bc/packages/2022-10-26/biomedicalconcepts/C64547
A version must be specified. If a user does not specify a version, a 404 API response code (Not Found) will be returned. All documentation for the CDISC Library API can be found at https://api.developer.library.cdisc.org/. Users should use their existing cdiscID login credentials.
Release Notes 2023-07-06
CDISC Biomedical Concepts (BCs) include a two layered approach:
- Conceptual/abstract layer that provides standards-agnostic, unambiguous semantic definition largely based on NCIt concepts.
- Implementation layer based on valid CDISC dataset specializations that provide value level metadata definitions that facilitate metadata-driven automation.
~300 draft CDISC BCs and SDTM Dataset Specializations are now retrievable via the CDISC Library API, including laboratory tests, vital signs, microbiology specimen tests, electrocardiogram measurements and findings, concomitant medications, procedures, adverse events, medical history, disposition events, biospecimen events and demographics . Public Review is planned for later this year.
CDISC BCs and SDTM Dataset Specializations for RECIST 1.1 disease response criteria are also included in the package release as draft, pending Public Review.
CDISC BCs and SDTM Dataset Specializations are focused on addressing some of the true needs of implementers. For example, SDTM Dataset Specializations can be considered pre-configured building blocks that can be used to generate value level metadata, which is an important part of Define-XML. The Digital Data Flow project uses CDISC BCs to facilitate an efficient, metadata-driven study design process.
Introduction
CDISC biomedical concepts and dataset specializations are currently supported standards. These include an abstract conceptual layer, aligned with NCI terminology, which is linked to a simplified implementation layer of pre-configured SDTM dataset specializations. Information for additional specializations, such as CDASH data collections, will be added when they become available.
The biomedical concepts and dataset specializations are informative content. They will start to fill gaps such as semantics, variable relationships and value level metadata. Key objectives are to reduce variability in standards implementations, increase metadata-driven automation and reduce barriers to operational implementation.
CDISC biomedical concepts and dataset specializations will be released in incremental packages. The first package was released on October 26, 2022. Subsequent packages have been released and are now available via CDISC Library APIs (see News and Updates).
Please use CDISC Jira for comments and feedback.
Base URL for API Endpoints
NEW The base URL for the API is:
https://library.cdisc.org/api/cosmos/v2
Or, this one for legacy support:
https://library.cdisc.org/api/cosmos/v1
Note that there has not been a target sunset date established yet.
Model & Schema
The model and schema describing the CDISC biomedical concepts and SDTM dataset specializations can be found on GitHub.
Basic Construct
The following table shows the basic construct of API request to obtain biomedical concepts:
API request template | Description |
---|---|
| Get Biomedical Concept Package List |
| Get Biomedical Concept List |
| Get Biomedical Concept |
The following table shows the basic construct of API request to obtain SDTM specializations:
API request template | Description |
---|---|
| Get SDTM Dataset Specialization Package List |
| Get SDTM Dataset Specialization List |
| Get SDTM Dataset Specialization |
This is a table of supported parameters:
Parameter | Description |
---|---|
package | Package Identifier. An ISO 8601 date. |
biomedicalconcept | Biomedical Concept Identifier. A string. |
datasetspecialization | SDTM Dataset Specialization Identifier. A string. |
Some examples are slightly modified to provide a better visual and flow. The examples are reflective of v2 endpoints.
Example 1
Get biomedical concept list from the package released on October 26, 2022.
/mdr/bc/packages/2022-10-26/biomedicalconcepts
{ "_links": { "self": { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts", "title": "Biomedical Concepts", "type": "Biomedical Concept List" }, "biomedicalConcepts": [ { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts/C25298", "title": "Systolic Blood Pressure", "type": "Biomedical Concept" }, ... ], }, | Lines 8-15: A list of biomedical concepts matching the package parameter, excerpted to show Systolic Blood Pressure. Each biomedical concept has 3 elements: href, title, and type. For Refer to In-depth: HATEOAS Implementation in CDISC Library API for more information about hypermedia links. |
"effectiveDate": "2022-10-26", "label": "Biomedical Concept Package Effective 2022-10-26", "name": "Biomedical Concepts 2022-10-26", "version": "2022-10-26" } | Lines 17-20: Metadata about the biomedical concept list. |
Example 2
UPDATED Get the one Systolic Blood Pressure biomedical concept from the package released on October 26, 2022.
/mdr/bc/packages/2022-10-26/biomedicalconcepts/C25298
{ "_links": { "parentBiomedicalConcept": { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts/C54706", "title": "Blood Pressure", "type": "Biomedical Concept" }, "parentPackage": { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts", "title": "Biomedical Concept Package Effective 2022-10-26", "type": "Biomedical Concept Package" }, "self": { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts/C25298", "title": "Systolic Blood Pressure", "type": "Biomedical Concept" } }, | Lines 2-18: A list of HATEOAS links to related resources, such as self, parent package, and parent biomedical concept. A note on parent biomedical concept: In this example, Blood Pressure is the parent to Systolic Blood Pressure. parentBiomedicalConcept will not be present for topmost biomedical concepts. |
"categories": [ "Vital Signs" ], | Lines 19-21: A list of categories to which this biomedical concept belongs. |
"coding": [ { "code": "8480-6", "system": "http://loinc.org/", "systemName": "LOINC" } ], | Lines 22-28: A list of external code systems to which this biomedical concept relates. |
"dataElementConcepts": [ { "conceptId": "C173522", "dataType": "integer", "href": "https://ncithesaurus.nci.nih.gov/...&code=C173522", "ncitCode": "C173522", "shortName": "Vital Signs Result" }, { "conceptId": "C49669", "dataType": "string", "exampleSet": [ "cmHg", "mmHG", "Pascal" ], "href": "https://ncithesaurus.nci.nih.gov/...&code=C49669", "ncitCode": "C49669", "shortName": "Unit of Pressure" }, ... ], | Lines 29-50: A list of data element concepts that comprise this biomedical concept. The href value points to an NCI EVS Thesaurus resource where definition of this data element can be found via the concept code (or, commonly known as c-code). Lines 31-35: Vital Signs Result (Line 35) is the first data element concept on the list. Lines 38-47: Unit of Measure (Line 47) is the next data element concept on the list. An example set of values is provided in this example. |
"conceptId": "C25298", "definition": "The maximum pressure exerted into the systemic arterial...", "href": "https://ncithesaurus.nci.nih.gov/...&code=C25298", "resultScales": [ "Quantitative ], "ncitCode": "C25298", "shortName": "Systolic Blood Pressure", "synonyms": [ "SYSBP" ] } | Lines 51-61: Metadata about the biomedical concept. |
Example 3
Get SDTM dataset specialization list from the package released on October 26, 2022.
/mdr/specializations/sdtm/packages/2022-10-26/datasetspecializations
{ "_links": { "self": { "href": "/mdr/specializations/sdtm/...datasetspecializations", "title": "SDTM Dataset Specializations", "type": "SDTM Dataset Specialization list" }, "datasetSpecializations": [ { "href": "/mdr/specializations/sdtm/...datasetspecializations/SYSBP", "title": "Systolic Blood Pressure", "type": "SDTM Dataset Specialization" }, ... ] }, | Lines 8-15: A list of SDTM dataset specializations matching the package parameter, excerpted to show Systolic Blood Pressure. Note the specialization type is set to "SDTM Dataset Specialization". |
"effectiveDate": "2022-10-26", "label": "SDTM Dataset Specialization Package Effective 2022-10-26", "name": "SDTM Dataset Specializations 2022-10-26", "version": "2022-10-26" } | Lines 17-20: Metadata about the SDTM dataset specialization list. |
Example 4
Get the one Systolic Blood Pressure SDTM dataset specialization from the package released on October 26, 2022.
/mdr/specializations/sdtm/packages/2022-10-26/datasetspecializations/SYSBP
{ "_links": { "parentBiomedicalConcept": { "href": "/mdr/bc/packages/2022-10-26/biomedicalconcepts/C25298", "title": "Systolic Blood Pressure", "type": "Biomedical Concept" }, "parentPackage": { "href": "/mdr/specializations/sdtm/...datasetspecializations", "title": "SDTM Dataset Specialization Package Effective 2022-10-26", "type": "SDTM Dataset Specialization Package" }, "self": { "href": "/mdr/specializations/sdtm/...datasetspecializations/SYSBP", "title": "Systolic Blood Pressure", "type": "SDTM Dataset Specialization" } }, | Lines 2-18: A list of HATEOAS links to related resources, such as self, parent package, and parent biomedical concept. A note on parent biomedical concept: In this example, Systolic Blood Pressure is the parent biomedical concept to this SDTM dataset specialization. parentBiomedicalConcept will not be present if no parent is available at the time of publication. |
"variables": [ { "name": "VSORRESU", "dataElementConceptId": "C49669", "isNonStandard": false, "mandatoryValue": false, "mandatoryVariable": true, "role": "Qualifier", "relationship": { "linkingPhrase": "is the unit for the value in", "object": "VSORRES", "predicateTerm": "IS_UNIT_FOR", "subject": "VSORRESU" }, "codelist": { "conceptId": "C66770", "href": "https://ncithesaurus.nci.nih.gov/...&code=C66770", "submissionValue": "VSRESU" }, "assignedTerm": { "conceptId": "C49670", "value": "mmHG" }, "vlmTarget": true }, | Line 19: Beginning of a variable (or, data element) list that comprise this Systolic Blood Pressure SDTM dataset specialization. Lines 20-43: VSORRESU (Line 21) is the first variable on the list. |
{ "name": "VSSTRESN", "dataElementConceptId": "C173522", "isNonStandard": false, "dataType": "integer", "length": 3, "mandatoryValue": false, "mandatoryVariable": false, "role": "Qualifier", "relationship": { "linkingPhrase": "is the result of the test in", "object": "VSTESTCD", "predicateTerm": "IS_RESULT_OF", "subject": "VSSTRESN" }, "vlmTarget": true }, ... ], | Lines 44-60: VSSTRESN (Line 45) is the next variable on the list. It has an integer as |
"datasetSpecializationId": "SYSBP", "domain": "VS", "sdtmigStartVersion": "3-2", "shortName": "Systolic Blood Pressure", "source": "VS.VSTESTCD" } | Lines 63-67: Metadata about the SDTM dataset specialization. |