User Interface

The MTools application programming interface is provided with a user interface that enables developers to explore the API and design their applications. In fact, many simple tasks can be performed through the API user interface without any programming. To get started, all you need is your MedDRA® ID and password.

Swagger MTools API

Click on Image for Full Size

 

MTApi Resources

MTApi is a RESTful web service that is defined using version 3.0 of the OpenAPI specification. It was designed using REST best practices around four high-level logical “resources,” which provide access to MedDRA® data and services:

Resource

Endpoints

MedDRA

Basic information about the MedDRA® database and API

 

  • get a list of all MedDRA® versions in the database
  • get a list of all MedDRA® languages in the database
  • get a list of all top-level terms in the MedDRA® or SMQ hierarchy
  • get allowed values for API call parameters

Terms

Detailed information about individual MedDRA® terms in a single version

 

  • get basic information about a single term
  • get subordinates (children) of a single term
  • get superordinates (parents) of a single term
  • request term information for a list of terms
  • get all algorithmic SMQs
  • get all SMQs regardless of level

Codes

Information about MedDRA® codes across versions

  • get historical details about a single code
  • get a sequential history for a single code
  • look up types and term identifiers for a list of codes

Services

Higher-level MedDRA® services (search, visualization, case series analysis)

  • execute an NLP search to find terms matching a query string
  • generate a view showing multiple terms in hierarchical context
  • perform a MedDRA® and SMQ hierarchy analysis for a case series

The endpoint call parameters and results are well documented in the API user interface.

 

 

MTApi Technologies

Technical people often want to know how a software service or tool is constructed to better understand its capabilities and limitations. Here is what we are using for MTApi:

Element

Technology

More Information

Cloud platform AWS Lightsail https://aws.amazon.com/free/compute/lightsail/
Server OS Windows Server 2016 https://docs.microsoft.com/en-us/windows-server/
Web server IIS 10.0 https://www.iis.net/
Identity Server IdentityServer 4 https://mid.meddra.org/
NLP engine Solr 7.5 https://lucene.apache.org/solr/
Local data store MongoDB 4.0 https://www.mongodb.com/
Scripting language Python 3.7 https://www.python.org/
API specification OpenAPI 3.0 https://www.openapis.org/
API server OpenAPI Generator https://openapi-generator.tech/ (Python-Flask)
API UI Swagger UI https://github.com/swagger-api/swagger-ui


The API server framework was generated using OpenAPI Generator. OpenAPI Generator can also be used to create client stub applications in ~40 languages. Application logic is implemented in Python. Raw data is stored in MongoDB, and the Solr search engine is used for NLP search. Separate Solr cores are maintained for each MedDRA® language. The Lightsail cloud platform includes a load balancer that supports multiple server instances in different availability zones around the world. Each server instance has its own instance of the database and search index for maximum performance.

 

Training Videos

Using MTApi from Python Scripts

Under construction

 

 

Reference Material

Case Series Analyzer Test Data

Upload these files to test the case series analyzer endpoint in MTApi.

csalist100.json
csalist100.txt
csalist100.xlsx

Sample Python Script

Try accessing the MTApi with this python script (requires Python 3).  Insert your MedDRA ID and password before running.

 

mtapi_example.py