Bell Eapen MD, PhD.

Bringing Digital health & Gen AI research to life!

Clinical knowledge representation for reuse

The need for computerized clinical decision support is becoming increasingly obvious with the COVID-19 pandemic. The initial emphasis has been on ‘replacing’ the clinician which for a variety of reasons is impossible or impractical. Pragmatically, clinical decision support systems could provide clinical knowledge support for clinicians to make time-sensitive decisions with whatever information they have at the point of patient care.

Siobhán Grayson, CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0, via Wikimedia Commons

Providing clinical decision support requires some formal way of representing clinical knowledge and complex algorithms for sophisticated inference. In knowledge management terms, the information requires to be transformed into actionable knowledge. Knowledge needs to be represented and stored in a way conducive to easy inference (knowledge reuse)​1​. I have been exploring this domain for a considerable period of time, from ontologies to RDF datasets. With the advent of popular graph databases (especially Neo4J ), this seems to be a good knowledge representation method for clinical purposes.

To cut a long story short, I have been working on building a suite of JAVA libraries to support knowledge extraction, annotation and transformation to a graph schema for inference. I have not open-source it yet as I have not decided on what license to use. However, I am posting some preliminary information here to assess interest. Please give me a shout, if you share an interest or see some potential applications for this. As always, I am open to collaboration.

The JAVA package consists of three modules. The ‘library’ module wraps the NCBI’s E-Utils API to harvest published article abstracts if that is your knowledge source. Though data extraction from the clinical notes in EMR’s is a recent trend, it is challenging because of unstructured data and lack of interoperability. The ‘qtakes’ module provides a programmable interface to my quick-ctakes or the quarkus based apache ctakes, a fast clinical text annotation engine. Finally, the graph module provides the Neo4J models, repositories and services for abstracting as a knowledge graph.

The clinical knowledge graph (ckb) consists of entities such as Disease, Treatment and Anatomy and appropriate relationships and cypher queries are defined. The module exposes services that can be consumed by JAVA applications. It will be available as a maven artifact once I complete it.

UPDATE: May 30, 2021: The library (ckblib) is now available under MPL 2.0 license (see below). Feel free to use it in your research.

Tools to create a clinical knowledge graph from biomedical literature. Includes wrappers for NCBI Eutils, cTakes annotator and Neo4J
https://github.com/dermatologist/ckblib
4 forks.
16 stars.
9 open issues.

Recent commits:

  1. 1.
    Toward a Theory of Knowledge Reuse: Types of Knowledge Reuse Situations and Factors in Reuse Success. Journal of Management Information Systems. Published online May 31, 2001:57-93. doi:10.1080/07421222.2001.11045671
Cite this article as: Eapen BR. (April 28, 2021). Clinical knowledge representation for reuse. Retrieved December 26, 2024, from https://nuchange.ca/2021/04/clinical-knowledge-representation-for-reuse.html.

Importing ONTODerm Ontology

Map of Colombia with Departments
Map of Colombia with Departments (Photo credit: Wikipedia)

Two engineering students from Colombia are using ONTODerm for a noble cause. They are planning to take dermatology to the poor and the underprivileged. They started a teledermatology project, but discontinued it because of lack of support. Now they are working on an Ontology based diagnostic application using semantic web technologies.

One of the problems they have encountered may be important to be addressed here. They could not import ONTODerm into Sesame. The URL provided in the ONTODerm home page is protege specific. However you can export the latest ONTODerm version in the native format from the project page on knoodl. Just request for a free membership to ONTODerm community.

Please keep me posted if you are using ONTODerm or DermKnowledgeBASE for any such projects and I wish both of them all the very best.

DermKnowledgeBASE – A Dermatology Knowledge Base with semi-automated knowledge discovery.

English: Map Summarizing Rosacea, It was creat...
English: Map Summarizing Rosacea, It was created by the author and Reem Al-Qudah using Clinical dermatology book Dahl, Mark V.; Weller, Richard E.; Hunter, John G.; Savin, John (2008). Clinical Dermatology. Wiley-Blackwell. Reference (Photo credit: Wikipedia)

For the last few weeks I have been working on DermKnowledgeBASE (DKB) that I believe is the first RDF knowledgebase for dermatology. It implements RDFS using RAP library for php. The terminology in dermatology facilitate the diagnostic process because many skin disorders have distinct features that can be represented by appropriate categories of terms. But dermatological terms are different from the traditional medical linguistics. Hence DKB is not rooted on MeSH  or any popular medical ontologies but on ONTODerm, the ontology I started developing for dermatology. I wrote about an offshoot of this project called slise before. DKB makes use of eutil webservices and whatizit from EBI. It is semi automated and can learn most of the relations on its own. But it relies on curators for confirming difficult rules. Its focus is on providing diagnostic support. Hence curators can add further information about the relevance of each feature in a particular disease. Features can be classified as pathognomonic, common, important, rare etc which helps in streamlining diagnostic accuracy. It provides a range of  functions and SOAP web services in addition to a ‘consult’ function to obtain differential diagnosis based on the description of clinical findings. It is still early days, but hopefully it may evolve into a very useful application for dermatology.

Click the banner below to access DermKnowledgeBASE: