3.1 The IOMDO ontology
The final ontology is available via GitHub: https://github.com/neues4/IOMDO. Here we describe the outcome of the seven steps in our ontology development phase.
Outcome of step 1: Scope of the ontology
The following competency questions are reflecting the central use cases and were derived in collaboration with the IOM team at Inselspital:
1. How did MEP thresholds/intensities change during surgery and what is the postoperative outcome?
2. What is a patient's lowest subcortical mapping threshold in correlation to postoperative outcome?
3. How are signal changes related to tumor pathology?
Therefore, the scope of the ontology can be formulated as the documentation of such events during surgeries using IOM. The ontology will be used by two types of users: those who derive knowledge from the ontology (mainly physicians) and those who document during surgery (mostly medical-technical assistants). Until the ontology is integrated in a commercial product, the maintainer of the ontology will be the Bern university of applied sciences, represented by the last author of this paper.
Outcome of step 2: The core terms in the ontology
The analysis of the five IOM protocols and the on-site observations during surgeries showed that the core of the documentation are measurements with the following components:
● Time stamp: The time at which the measurement takes place.
● Measurement type: Indicates which potential is measured and how it is stimulated.
● Measured value: The measurement response of the current intensity in mA.
● Measurement location: The muscle or nerve where the measurement takes place.
All other entities are associated with these measurements. The relevant section regarding measurements in the ontology is shown in Fig. 2.
Outcome of step 3: The ontology design
As it is important in our ontology to link measurements to adverse events after surgery, we first considered using OAE [20], which is also BFO-based. However, it became clear that OAE’s decision to classify events as occurrents was not fully compatible with our use case of representing the documentation of those events for specific patients. Occurrents such as processes are mostly destined to track general dynamics, not to identify and document concrete processes related to individuals. For example, if there is a decline of an evoked potential, we are not interested in describing the (general) process of this decline, but only in documenting this decline as an event. Hence, we modeled these events as generally dependent continuants in BFO and adopted the "Information Content Entity'' from the ontology for surgical process models (OntoSPM) [28]. In the context of documentation, an event is exactly an information content entity with reference to a real-world entity that has completely different identity criteria (an extensive discussion on identification of occurents versus continuants is provided in [29]). To further characterize these events, we created the entity “diagnostic finding”. In contrast to the entity “diagnosis”, each striking event is captured with this entity and not the causal reason for the operation in terms of the ICD code. Processes are used in our ontology only to indicate actions, which is motivated by the decisions for OntoSPM. Such action-focused processes represent a static view in contrast to depicting the dynamics, in the same manner as a hierarchy of business functions is contrasted with a process model. However, without our reliance on OntoSPM, we would also model actions as an information content entity. In the future, the dynamic process view can be included as well, but would increase the complexity significantly.
Outcome of step 4: Ontologies reused
For anatomical terms such as nerves and muscles, we referred to the Foundation Model of Anatomy (FMA). For disease terms, the main sources were the Human Phenotype Ontology (HPO) and the Mondo Disease Ontology (MONDO). Terms related to surgery were extracted from OntoSPM, which represents a core ontology for surgical processes in general and focuses on actions and their participants [28]. OntoSPM itself builds on existing ontologies such as the Information Artifact Ontology (IAO), the Ontology of Biomedical Investigations (OBI), and the FMA.
As measuring is a relevant concept, we also considered to re-use ontologies focusing on measurements. EngMath is an ontology for mathematical modelling and engineering, covering aspects of measurements primarily from the perspective of physical and philosophical measurement theory [30]. The Unified Code for Units of Measure (UCUM) is intended to include all units of measures being contemporarily used in international science, engineering, and business, thereby facilitating unambiguous electronic communication and exchange of quantities together with their units [31]. The Measurement Units ontology (MUO [32]) adapts the units and quantities of UCUM and provides URLs for them. It has therefore the same perspective: “units are abstract spaces used as a reference metrics for quality spaces, such as physical qualia, and they are counted by some number”. The most promising ontologies for us seemed to be the “Quantities, Units, Dimensions and Types” Ontology (QUDT, see [33] for an embedded presentation of it) and the Ontology of units of Measure (OM [34]). Both are practical and we learned a lot regarding the notions involved, e.g., that a basic record consists of (1) the phenomenon: object or event being observed (surgery), (2) the quantity kind (electric signal during surgery), (3) unity of measurement (mA), and (4) a numerical value. However, as none of these ontologies is BFO-based and due to the availability of standard units for measuring potentials, we decided not to re-use these ontologies for measurements in this project.
We also performed a search on ontologies covering reporting of events in the biomedical context beyond OAE. Many of these ontologies are basing their efforts on OAE, e.g., with respect to Drugs (ODAE [35]) Vaccine AEs (OVAE [36]), Drug Neuropathy AEs (ODNAE [37]), and Cardiovascular Drug AEs (OCVDAE [38]). For the same reasons provided regarding OAE and due to their specific perspectives, these ontologies were not useful for our case. Other biomedical ontologies are often older, not BFO-based and not maintained, for example, the clinical communication ontology for medical errors (OCCME [39]), ontology of Adverse Drug Reactions for Automated Signal generation Ontologies (OADRAS [40]), and the Adverse Drug Event Ontology (ADEO [41]). In conclusion, there seems to be no alternative to an BFO-based ontology for reporting events, which makes our work important from this point of view. Again: one should differentiate between an ontology for events and an ontology for reporting events, as the entities involved are different.
Outcome of step 5: Annotations and axioms
All entities in the IOM ontology have English and German labels and definitions. If available, the source of the definition is indicated with the anno“ation "definition”source". We added only two axioms (in Manchester OWL Syntax): for the entity “measurement data item”, the axiom “part of” (is) some “diagnostic finding“ is defined, and for the entity “diagnostic finding” its inverse “has part” (is) some “measurement data item” is defined.
Outcome of step 6: Instances with Object Properties and Data Properties
To create instances via Protégé, one must first click through the ontology tree to find the entities to be instantiated. Then, a new instance for an entity can be added and named. All relationships between instances must be created as well, which is prone to error due to the many possibilities to be selected by hand. In case of a wrong relation instance, the reasoner will issue an error message and the query will not produce correct results. In our IOMDO software, the user has only to enter the relevant events during an operation as well as the corresponding measured value. Relationship instances are created automatically based on the implemented logic. Hence, during instance creation, we used one important advantage of the IOMDO software compared to Protégé.
Five Object Properties have been defined to allow querying of the instances in the ontology. The "Patient" and "Surgery" entities have Data Properties that contain the logged patient and surgery information.
Outcome of step 7: Ontology evaluation (satisfiability and consistency)
Initially the relation (object property) “has measurement unit label” from OntoSPN was used to set a relation between a measurement datum and a unit. Due to its functional characteristics, there was a conflict with our modeling (see in Fig. 3). A functional property means that for a given individual there can be at most one value. However, we decided that a measurement datum (e.g., MEP measurement) can have multiple measured values, because this adequately represents the way the measurements are documented. This inconsistency was immediately detected by HermIT Reasoner when a MEP measurement had more than one measured value with its corresponding measurement units. This led to the solution of a new object property “has measurement unit” without the functional characteristic.
3.2 The IOMDO-based software
Table 1 gives an overview of the (backend) frameworks we considered and evaluated according to our five criteria: (i) support of SPARQL, (ii) support of OWL, (iii) portability, (iv) documentation, (v) type of license. Apache Jena was assessed to be the only tool to offer a framework that is flexible enough to cover our use case and allows seamless integration of a GUI with an ontology backend. For the frontend, we opted for JavaFX, which could easily be replaced by other Java frontend frameworks.
Table 1
Evaluation criteria for three frameworks for ontology handling in JavaScript and Java.
| TopBraid Composer Maestro Edition | RDF JavaScript Libraries | Apache Jena |
Short description | IDE | Collection of libraries | Framework |
Language | Java | JavaScript | Java |
Supports SPARQL | Yes | Yes | Yes |
Supports OWL | Yes | No | Yes |
Portability | Platform independent | Browser, Node.js | Platform independent |
Documentation | Available | Partially available | Available |
License | 3450 $ for 1 year | Open Source | Open Source |
Based on our requirement analysis for the frontend, we decided to consider five tabs in the GUI: record protocol (default), view protocol, create query, view ontology, and user guide. In the “Record Protocol” view, the data to be recorded is divided into four categories (see Fig. 4):
● Patient and surgical data: Data related to general patient characteristics and the reasons for the surgery (will be imported in most of the cases).
● Baselines: The basic measurements of evoked potentials (e.g., MEPs) at the beginning of a surgery. Not all of them are needed in every surgery.
● Recorded events: This is where the actual recording takes place during or after surgery. Text can be entered freely in the fields “time”, “value” and “comment”. Dropdown lists are available for the fields “category” and “subcategory. The appearance of the fields “subcategory” and “value” is context-dependent.
● Postoperative disposition: A dropdown list is provided to indicate whether
a complication has occurred after the surgery, which must be connected to it.
In the example of Fig. 4, the recording starts with the selection of the category “IOM start”. The category “mapping measurement” is selected afterwards and then the subcategory “dynamic mapping measurement” (In German “Dynamische Mapping-Messung”). Measurements always require a value entry in mA. To end the recording, “IOM end” is selected. After clicking “Save” the record is saved within the ontology in the RDF/XML syntax. The saved RDF/XML can additionally be viewed in Protégé (see Fig. 5).
Figure 6 shows how records entered via the GUI are embedded into the ontology. The entity “Patient” is in relation “has document” with the entity “IOM document”. An IOM document consists of several data elements, to which the items entered in the GUI are mapped. For example, “dynamic mapping measurement” in the GUI is mapped to “measurement data item” in the ontology. The “surgery data” in the GUI is mapped to the entity “surgery”, which is subsumed to the “clinical data item” entity. The item “incision” (in German “Schnitt”) in the GUI is subsumed to “surgical process”. The entity “process observation data item” is needed as a link between a process and the data item of the document.
In the “create query” tab of the GUI (mostly used by physicians), two different types of queries are provided: predefined queries for the non-technical user (the query is executed in the background) and SPARQL queries for more technical users. To execute the first query type, a button at the end of a short description must be pressed, producing the results in a text field of the GUI, e.g., a list of all patients for whom adverse events were described. In the example of Fig. 7, this list contains information about the patient (last name, first name, date of birth), the diagnosis, the postoperative outcome, and the lowest mapping threshold. For the second query type, the user must formulate a valid SPARQL statement, which is then again executed by pressing the button at the right bottom corner next to the text field. Results can also be exported as csv-files.
In summary, the sequence diagram in Fig. 8 shows how the user interaction with the GUI is forwarded to the backend to store and query data in the ontology.