The XML4Pharma Application Server

XML4Pharma CDISC Domain Services


A number of web services about CDISC domains and versions have been developed based on the excellent work of Anthony Chow (CDISC).

Depending on what your application requests, text, XML or JSON structures will be returned.

The following RESTful CDISC Domain services are currently available


  • Get standard name and version from Domain name
  • With this web service, when you to submit a domain name (e.g. "AE"), you will obtain a list of standards and standard versions in which this domain is used.

    The request structure is:

    http://www.xml4pharmaserver.com:8080/CDISCDomainService/rest/StandardNameAndVersionFromDomainName/{domainname}

    For example, if you use:

    http://www.xml4pharmaserver.com:8080/CDISCDomainService/rest/StandardNameAndVersionFromDomainName/TS

    You will obtain the following XML (at least if your application/browser requests to get XML):

    stating that the domain "TS" is and can be used in SDTM (IG) version 3.1.2, version 3.1.3, version 3.2, and in the SDTM TAUG-Diabetes version 1.0, the SDTM TAUG-Multiple Sclerosis version 1.0, the SDTM TAUG-QT version 1.0, but also in SEND versions 3.0 and 3.1

    If your application requests JSON, you will get something like:

    If neither XML nor JSON works, you can also get the result as pure text, which will look like:

    i.e. a list of simple pairs, separated by line feeds ("\n")



  • Get the list of domain names for a specific version and class of the given standard
  • When you submit the standard name, the class name, and the version of the standard, a list of domain names is returned.

    The request structure is:

    http://xml4pharmaserver.com:8080/CDISCDomainService/rest/DomainForClassForVersion/{standardname}/{class}/{standardversion}

    For example, if you (or better: your application) wants to know which "Events" class domains are available in SDTM 3.1.2, you submit:

    http://xml4pharmaserver.com:8080/CDISCDomainService/rest/DomainForClassForVersion/SDTM/Events/3.1.2

    where the class name can be either

    where the latter means: "all classes".
    Please be aware that these are case sensitive.

    In case your HTTP request requests XML, the result will look like:

    When requesting "please provide all 'Events' classes in SDTM 3.1.2"

    The JSON response will look like:

    If text is requested, you or your application will obtain a list, with one domain name per line



  • Get domain label from domain name and standard and version
  • Unfortunately, some domain labels have changed in the course of history (why?). For example, the label for the 'LB' domain was 'Laboratory Tests Results' in SDTM 3.1.2 and 3.1.3, whereas it has become 'Laboratory Data' in SDTM 3.2. In SEND versions 3.0 and 3.1 it also is 'Laboratory Data'.

    The request structure is:

    http://xml4pharmaserver.com:8080/CDISCDomainService/rest/DomainLabelFromNameAndVersion/{standardname}/{domainname}/{version}

    In order to e.g. get the domain label for 'LB' in SDTM version 3.1.2, use:

    http://xml4pharmaserver.com:8080/CDISCDomainService/rest/DomainLabelFromNameAndVersion/SDTM/LB/3.1.2

    The XML response will be very similar to:

    Whereas the JSON response will be very similar to:

    In case that simple text is requested, just the string "Laboratory Tests Results" will be returned


    Courtesy of XML4Pharma - last update: April 2014