XML4Pharma Submission Dataset-JSON Hackathon RESTful Web Services
We have developed a very first implementation of CDISC's draft Dataset-JSON API
to demonstrate the use of CDISC's Dataset-JSON format in RESTful web services,
for use in electronic submissions to regulatory authorities such as the FDA.
We extended it for "filtering" to demonstrate the potential of such an API in the regulatory review process.
Such APIs would enable a "neutral zone" between sponsor and regulatory authority, essentially allowing the latter to start a review once the first data points
have been collected and submitted to the "neutral zone".
It also means that the review could be finalized once the last data point has been submitted to the "neutral zone", as the review is "rolling".
This in contradiction to the current practice that review first starts when all the study data has been submitted as "files", and typically taking 6-10 months.
Very probably, such "neutral zones" would be in "the cloud" and governed by RESTful web services (PUT, POST, GET), so no more "files" are needed.
It also means that the generation of SDTM, SEND and ADaM datasets could be simplified.
For the retrieval (GET) part of the RESTful web service, we have developed a very simple prototype RESTful API working on an SDTM submission.
It has the following methods:
The following RESTful LOINC web services are currently available by us:
Get the define.xml for a specific study
URL: http://www.xml4pharmaserver.com:8080/SubmissionService/rest/DefineXML/{studyid}
Example: http://www.xml4pharmaserver.com:8080/SubmissionService/rest/DefineXML/CDISCPILOT01
Get a specific dataset for a specific study
URL: http://www.xml4pharmaserver.com:8080/SubmissionService/rest/studies/{studyid}/datasets/{datasetname}
Example: http://www.xml4pharmaserver.com:8080/SubmissionService/rest/studies/CDISCPILOT01/datasets/AE
Get a specific dataset filtered for a variable value
URL: http://www.xml4pharmaserver.com:8080/SubmissionService/rest/studies/{studyid}/datasets/{datasetname}
The base URL is the same as for the method "single dataset", but now comes with a number of query parameters
IMPORTANT REMARK: These query parameters are NOT part of the current CDISC formal Dataset-JSON API!
- "variable": the name of the variable under consideration. For example "BRTHTC" when the dataset is "DM"
- "comparator": the comparater for comparing the variable value with.
Valid comparators are: "eq" (equal), "ne" (not equal), "<" (less than), "<e" (less or equal), ">" (greater than), ">e" (greator or equal)
- "value": the variable value to be compared with. For dates and datetimes, also the comparators "lt" (less than), "le" (less or equal), "gt" (greater than), "ge" (greator or equal), can be used.
For other string values, only "eq" and "ne" can be used.
For numeric values, any of the comparators can be used.
The method also allows to use more complicated queries. This is necessary as SDTM, SEND and ADaM mostly have "hyperverical" structures,
essentially implementing the "entity-attribute-value model".
For example, for VSORRES (or VSSTRESN) in SDTM one will want to retrieve all records with a value < 100 for a specific test code, e.g. "SYSBP",
as it doesn't make sense to try to retrieve all records with VSORRES < 100, as the numbers have different meanings dependent on the test code.
When using this mechanism, two additional query parameters are needed:
- resultvariable: the variable that contains the "result" and for which the value is compared with. For example "VSORRES", "VSSTRESN"
- variablevalue: the value of the variable that is used as a filter. Examples: "SYSBP", "DIABP", "HEIGHT", ...
In these cases the query parameter "variable" usually is the test code (SDTM, SEND) or the parameter code (ADaM).
Here a snapshot from the Postman tool for clarity:
Examples:
IMPORTANT!
- At this moment, the underlying repository only contains one study with Study-ID "CDISCPILOT01" with the datasets taken
from the CDISC SDTM Metadata Submission Guidelines v.2.0 distribution.
- This API is NOT official (yet)! It surely is NOT a CDISC standard. It is only meant to demonstrate the potential of the new
CDISC Dataset-JSON format for use with RESTful web services
(SAS Transport being completely inadequate for use with APIs and RESTful web services).
Courtesy of XML4Pharma - last update: April 2024