Skip to content

Release V1.0.0: First Stable Release

Latest

Choose a tag to compare

@Firefox2100 Firefox2100 released this 29 Jul 21:29
v1.0.0
84546db

Biomedical Terminology Service 1.0.0

We are pleased to announce the first stable release of the Biomedical Terminology Service (BTS).

BTS is a self-hosted platform that provides a unified interface for searching, traversing, mapping and semantically comparing concepts across multiple biomedical terminologies. It is intended for use in biomedical research, healthcare applications, data integration pipelines and terminology-aware software.

Version 1.0.0 marks the first release considered suitable for general use. It establishes the initial stable API and deployment model for the project.

Highlights

Unified access to biomedical terminologies

BTS can import and expose data from a range of biomedical vocabularies, ontologies and controlled terminologies, including:

  • SNOMED CT
  • Clinical Terms Version 3
  • HPO
  • MONDO
  • NCIt
  • OMIM
  • ORDO
  • HGNC
  • Reactome
  • Ensembl
  • OHDSI vocabularies

Availability of individual terminologies depends on their respective licences, distribution terms and source data requirements.

Search and terminology navigation

The service supports:

  • Full-text terminology search
  • Autocomplete
  • Concept lookup
  • Parent and child traversal
  • Relationship traversal
  • Batched terminology queries
  • Streaming query interfaces

These operations can be used to support terminology browsers, data-normalisation pipelines, cohort-query systems and other biomedical applications.

Cross-vocabulary mappings

BTS provides access to annotations and mappings between terminology systems.

This allows applications to:

  • Normalise labels to controlled identifiers
  • Translate between supported terminology systems
  • Enrich records with related concepts
  • Connect clinical, phenotype, disease, gene and pathway data

Mappings should always be interpreted according to the semantics and provenance of the source datasets.

Semantic similarity

BTS includes semantic comparison functionality for concepts and annotated subjects.

The service supports multiple pluggable similarity methods, including:

  • Co-annotation vector similarity
  • Relevance-based similarity
  • Weighted relevance-based similarity

These methods can be used in research workflows such as phenotype comparison, concept ranking and analysis of terminology-annotated datasets.

Detailed descriptions of the methods and their mathematical basis are available in the project documentation.

Multiple API interfaces

Version 1.0.0 provides several interfaces for different integration requirements:

  • REST API
  • Batched REST API
  • Streaming API
  • GraphQL API
  • FHIR-compatible terminology interface
  • Model Context Protocol server

The FHIR interface currently supports selected terminology operations, including CodeSystem lookup and validation.

The MCP interface allows compatible language models and software agents to perform structured terminology queries rather than relying solely on terminology identifiers generated from model knowledge.

Pluggable storage architecture

BTS supports independently configurable storage backends for:

  • Document storage
  • Graph storage
  • Caching
  • Vector storage

This allows deployments to select storage technologies according to their infrastructure, data volume and query requirements.

Self-hosted deployment

BTS is designed to run within infrastructure controlled by the user or organisation.

Container images and a Docker Compose configuration are provided to simplify deployment.

A typical installation starts with:

git clone https://github.com/Firefox2100/biomedical-terminology-service.git
cd biomedical-terminology-service

# Configure the required environment variables.
nano docker-compose.yaml

docker compose up -d

Database construction is a separate process because terminology source files are not distributed with BTS. Users must obtain the required data directly from the relevant terminology providers.

Public server

A public instance is hosted by the Brookes Lab at the University of Leicester:

https://similarity.cafevariome.org/

The public server uses different branding but runs the same functionality and codebase as BTS. It is maintained by the project authors and is available for community use.

The public service should not be treated as a guaranteed production dependency. Organisations requiring availability, version control, data governance or customised terminology content should deploy their own instance.

Documentation

The complete documentation includes:

  • Installation instructions
  • Deployment configuration
  • Database construction
  • Supported terminology notes
  • REST API usage
  • GraphQL API usage
  • FHIR API usage
  • Semantic-similarity methods
  • Architecture and implementation details

Documentation is available at:

https://biomedical-terminology-service.readthedocs.io/en/latest/

Stability expectations

Version 1.0.0 establishes the first stable release of BTS.

The project will aim to preserve compatibility across future 1.x releases. Where incompatible changes are unavoidable, they will be documented in release notes and migration guidance.

Some areas may continue to evolve, particularly:

  • FHIR terminology coverage
  • MCP tools and schemas
  • Terminology import pipelines
  • Storage backend support
  • Performance optimisation
  • Cross-vocabulary mapping functionality

Licensing and terminology data

The BTS source code is released under the MIT Licence.

Terminology datasets are not included in the repository or release artifacts. They remain subject to the licences and access conditions imposed by their respective providers.

Depending on the terminology, users may need to:

  • Register with the data provider
  • Accept additional licence terms
  • Obtain institutional authorisation
  • Pay an access or distribution fee
  • Restrict use to particular countries, organisations or purposes

Users are responsible for ensuring that their deployment and use of terminology data comply with all applicable licences, regulations and local laws.

BTS is not affiliated with or endorsed by the organisations that publish the supported terminologies.

Intended use

BTS is infrastructure for terminology retrieval, integration and research.

It is not a medical device and should not be used as the sole basis for diagnosis, treatment or other clinical decisions. Applications using BTS remain responsible for validating terminology content, mappings, software behaviour and suitability for their intended use.

Feedback and contributions

This is the first public stable release, and feedback from users, researchers and software developers is welcome.

Please use the GitHub issue tracker to report:

  • Bugs
  • Documentation problems
  • Installation issues
  • Terminology import problems
  • API compatibility issues
  • Feature requests
  • Performance concerns

Contributions are also welcome through pull requests.

Acknowledgements

We thank the organisations and communities that develop and maintain the biomedical terminologies supported by BTS.

We also thank the Brookes Lab at the University of Leicester for hosting the public service.

Links