Health information model: Difference between revisions

From Endeavour Knowledge Base
 
(191 intermediate revisions by the same user not shown)
Line 1: Line 1:
This article describes the approach taken to producing information models,  including ; what they are, what their purpose is, and what the technical components of the models are.


The Discovery common information model consists of an integrated set of 5 packages of components that support machine processable and human readable information describing data ias held in the Discovery Data Service.
The article does not include the content of any particular model.  


The model involves the modelling of the meaning of the data, the way the data is arranged for certain business processes, the way the data is queries, and the way implementations are mapped to and from the data model.
== What is the health information model (IM) and what is its purpose? ==
The IM is a representation of the meaning and structure of data held in the electronic records of the health and social care sector, together with libraries of query, value sets, concept sets, data set definitions and mappings.


More specifically, in this context, the information model is tailored to illustrate arrangements of health and care data as held in health records for the purposes of understanding and query as described by the [[Information_model_service|information model services.]]
The main purpose is to bridge the chasm that exists between highly technical digital representations and plain language so that when questions are asked of data, a lay person could use plain language without prior knowledge of the underlying models.


__TOC__
It is a computable abstract logical model, not a physical structure or schema. "computable" means that operational software operates directly from the model artefacts, as opposed to using the model for illustration purposes. As a logical model it models data that may be physically held any a variety of different types of data stores, including relational or graph data stores. Because the model is independent of the physical schemas, the model itself has to be interoperable and without any proprietary lock in.


The information model is built using the [[Data modelling language|Discovery information modelling language,]] which is a standards based [[wikipedia:Mixed_language|mixed language]] (which could be considered a meta language).
The IM is a broad model that integrates a set of different approaches to modelling using a common ontology. The components of the model are:


== Objectives of the Common Information model ==
# A set of ontologies, which is a vocabulary and definitions of the concepts used in healthcare, or more simply put, a vocabulary of health. The ontologies is made up of the world's leading ontology Snomed-CT, with a London extensions, various code based taxonomies (e.g. ICD10, Read, supplier codes and local codes)
The common information model is a set of components designed as a contribution to achieving the following objectives:
# A common data model, which is a set of classes and properties, using the vocabulary, that represent the data and relationships as published by  live systems that have published data, Note that  this data model is NOT a standard model but a collated set of entities and relationships bound to the concepts based on real data, that are mapped to a common model.
 
# A library of business specific concept value sets, (aka reference sets) which are expression constraints on the ontology for the purpose of query
*Enable people who are not technical experts to visualise and understand the structure and content of health records.
# A catalogue of reference data such as geographical areas, organisations and people derived and updated from public resources.
*Enable people who are technical experts to design systems based on the logical structure and content of the model
# A library of Data set (query) definitions for querying and extracting instance data from the information model, reference data, or health records.
*Enable people to define the data they need in order to perform advanced analytics or decision support, in particular where the definition involves [[Subsumption_test|subsumption testing]] 
# A set of maps creating mappings between published concepts and the core ontology as well as structural mappings between submitted data and the data model.
*Enable query authors to have a library of value sets (sets of concepts) and query definitions for re-use across the health sector
# An open source set of utilities that can be used to browse, search, or maintain the model.
 
The model is independent of implementation technology, i.e. is an abstract model, thus can be implemented in a technology of choice.
 
The model language is standards based, thus the model content can be exchanged using standards based messages.  However, Discovery also uses a simpler JSON based syntax that is easier to comprehend than some of the standards and can be parsed to and from objects using any JSON parser and any language that supports objects. The outputs of the model can be relational or graph so they can easily be used by RDB or Graph based implementations.
 
At the core of the model is an ontology. The greater part of the ontology is based on the world leading health ontology Snomed-CT, which is itself now defined using the same ontology language which is part of the Discovery modelling language i.e. [https://www.w3.org/TR/owl2-syntax/ OWL2]. 
 
==  Information model component packages ==
[[File:Information model.png|thumb]]
The model involves an integration between different types of components linked together by  a common modelling language which is both human readable (albeit quite technical) and machine readable. The components work together, so that the generation of output or the query of content, usually uses several components. Each type of component can be conceptualised as a package.
 
[[File:Information model components.png|Information model component relationships|alt=|thumb]]Each of the components of interact with components from another part of the information model. The diagram on the right illustrates the main relationships between the components:
 
*The [[Data modelling language|information modelling language]] is the machine and human readable set of instructions as to what things mean, how they are classified, and class and properties.  See the language as instructions to populate a model.
*The semantic ontology is the set of concepts used in all parts of the information model, from clinical concepts through to data structure concepts
*The data model is a set of entities, attributes and value sets, all of which are defined precisely in the ontology, but he data model, being created for a specific business of healthcare is separate to the ontology.
*Value sets , or concept sets, are business purposes specific collections of concepts from the ontology used in the data model or in query and contain concepts as defined in the ontology, using the ontology language,  including advanced concept classes.
*Data set definitions apply rules and filters to a data model in order to specify the nature of the entries and their content required in a purpose specific data set
*Model maps specify how data is transformed from a data model to a particular database or messaging format.
*Data base schemas are reference schemas (RDB and maps) showing an implementation of a data model and data sets. Strictly speaking these are not part of the information model but are included as “proof of solution” of the model.  
*Query definitions are a library of re-usable queries.  


<br />
<br />


== Semantic ontology ==
== Model building blocks and visualisation ==
The model consists of classes, sets and objects that are instances of classes. 
[[File:Ethnicity.jpg|thumb|Ethnicity]]
Objects can act as objects in their own rights (e.g. an instance of chest pain) or may also act as classes (e.g. the class of objects that are chest pain). Likewise sets have members that are objects and the objects may also act as classes or sets. For example a set for the 2011 Ethnicity census will contain a member object of "British" which is also a set with members such as English and so on. 


The Discovery ontology defines the ''meaning'' of the concepts that make up the content of health records. The meaning is defined in a way that a computer can use to reason and analyse.
The model itself is stored as an RDF based  knowledge graph, which means it is implementable in any mainstream Graph database technology. There are no vendor specific extensions to RDF.  


In reality the ontology is a semantic web of ontologies but in most cases the external ontologies are more accurately referred to as classifications or code schemes.&nbsp;
In line with the RDF standard,  all  persistent types, classes, , property identifiers and object value identifiers are uniquely named using international resource identifiers. In most cases the identifiers are externally provided (e.g. Snomed-CT identifiers) whilst in others that have been created for a particular model. Organisations that author elements of the models use their own identifiers.  


The exception to the rule is the world leading Snomed-CT ontology which is now based on a&nbsp; type of language known as [https://en.wikipedia.org/wiki/Description_logic| Description logic]&nbsp;and made available via three grammars, [https://www.w3.org/TR/owl2-syntax/| OWL2] and [https://confluence.ihtsdotools.org/display/SLPG/SNOMED+CT+Compositional+Grammar Snomed compositional grammar] and [https://confluence.ihtsdotools.org/display/DOCECL/Expression+Constraint+Language+-+Specification+and+Guide Expression constraint language]
From a data modelling perspective the arrangements of types may be referred to as archetypes, which are conceptually similar to FHIR profiles. In the semantic web world they would be considered "shapes". There are an unlimited number of these which frees the model from any particular conventional relational database schema. Inheritance of types is supported which enables broad classifications of types and re-usability.  


[[File:Ontology.jpg|Main ontology structures|alt=|thumb]]
The variation between the parts of the model that model terminology concepts and those that model data use slightly different grammars in keeping with their different purposes. The information model language describes the differences.  


The ontology is made of of a number of concepts (classes or properties) which are the subjects of axioms, which relate concepts to other concepts in a [https://en.wikipedia.org/wiki/Fractal/ fractal] like manner. The relationship&nbsp;can be illustrated as follows:
The models can be viewed in their raw technical form (in JSON or Turtle) or can be viewed by the information model viewer at the online tool [https://im.endeavourhealth.net/#/ Information model directory]  


The ontology is precisely defined using the [[Discovery semantic ontology language]], which is itself a syntactical simplification&nbsp;on the standard OWL2 language. The Discovery language exists in order to accommodate additional constructs not covered in OWL, namely data set definitions, value set definitions, and transactional messaging.
== Information model language ==


''Main article'' [[Health Information modelling language - overview|information modelling language]] describes the language in more detail.


The semantic web approach is adopted for the purposes of identifiers and grammar. In this approach, data can be described via the use of a plain language grammar consisting of a subject, a predicate, and an object;  A triple, with an additional context referred to as a graph or RDF data set. The theory is that all health data can be described  in this way (with predicates being extended to include functions).


However, the semantic web languages are highly complex and a set of more pragmatic approaches are taken for the more specialised structures.


The consequence of this approach is that W3C web standards can be used such as the use of [[wikipedia:Resource_Description_Framework|Resource Descriptor Framework o]]<nowiki/>r RDF. This sees the world as a set of triples (subject/ predicate/ object) with some things named and somethings anonymous. Systems that adopt this approach can exchange data in a way that the semantics can be preserved. Whilst RDF is an incredibly arcane language at a machine level, the things it can describe can be very intuitive when represented visually. In other words the Information modelling approach involves an RDF Graph.


== Value sets or concept sets ==
In addition to semantic web languages, other commonly used languages are in place are used to enable the model to be accessed by more people.. For example the Snomed-CT expression constraint language is a common way of defining concept sets. ECL is logically equivalent to a closed world query on an open world OWL ontology. The IM language uses the semantic language of SPARQL together with entailment to model ECL but ECL can be exported or used as input as an alternative.


''Main article&nbsp;:&nbsp;''[[Value_sets|Value_sets]]
<br />
 
A value set definition, and it's&nbsp;run time counterpart- value set transitive closure&nbsp;&nbsp;, is&nbsp;a set of&nbsp;[https://wiki.discoverydataservice.org/index.php?title=Concepts_classes_and_properties class expressions]&nbsp;collected together for a particular business purpose.
 
There are a range of purposes for a value set. Examples range from defining a data set&nbsp;according to a set of recorded concepts, indicating the expected range of a property in a health record, or testing the presence of a feature in a patient record.&nbsp;
 
== Data model ==
The data model is the model that defines the ever evolving structure of health records held within Discover, built as a common model encompassing.
 
The Data models cover the structural arrangements of care record entities (tables or nodes), attributes (fields or foreign keys or properties/ relationships) and their ranges, which might be other entities, simple data types or concept instances.
 
The model is built using a simple pragmatic property graph supporting [[Data modelling language]]
 
Most people consider data structures from a relational or graph perspective i.e. by the application of set theory (relational) or graph theory (graph databases). The two approaches are almost logically interchangeable in that entities are considered as nodes or vertices, and entity relationships are considered as edges or relationships.
 
There are some similarities between a data model and the ontology and some people consider both to be ontologies. The most significant similarity is that they both use the ideas of class, property and property value, albeit using different naming conventions for these things.
 
Within Discovery the ontology defines concepts that represent sets of objects with certain properties and value ranges from the context of meaning. A data model describes classes and properties and value ranges arranged for business purposes.  Both involve collections of class/ property/ value ranges. Data models tend to use the term attributes to encompass properties and their value types, or relationships that link classes, for convenience.
 
Whilst there is a clear distinction around purpose, there is overlap between the two components. The overlap occurs because the concepts used within a data model have their meaning defined within the ontology. There is a hand over between the two that occurs when a business process such as a record query, takes account of both.
 
=== Model content ===
 
''main article'' [[Health data model content|Discovery health data model]]
 
In line with the information model itself, the model content is constantly evolving. These articles provide an overview of content at a particular point in time, as high level background. There is likely to be a discrepancy between the documentation on this wiki and the information model itself. The model content is best viewed via the information model viewer, although the viewer itself may also reference the wiki.
=== UPRN and addresses ===
The information model incorporates details of properties, including the unique property reference number and geolocations of various kinds and links user entered addresses to a set of authoritative addresses provided by the [https://www.ordnancesurvey.co.uk/business-government/products/addressbase-premium AddressBase Premium] service provided by the Ordnance survey.
 
A matching service is provided by the Discovery [[UPRN - address matching service|UPRN  allocation and address matching service]]
== Data definitions - query ==
Data set definitions or queries are a key component of the information model.
 
A data set definition is a specification of a subset of data derived from one or more data models
 
A data set definition, once established, can also be used as a source data model and thus data sets can be chained by placing a data set into the role of a data model.
 
A data set uses query like constructs to define its structures. Data set entities and data set attributes may be derived from a combination of ontology and data model query. To that extent, a data set definition can be said to use a query language.
 
The Discovery data definition language is not designed to operate as an actual query language, as it does not extend to include all the sophistication needed by a run time query language. For example, there are no optimisation techniques employed or references to the use of indexes. However, the language is sufficiently rich to be able to easily generate SQL or Cypher from the specification when used with a data model map to the implementation schema.
 
== Data Maps ==
 
 
Data maps hold the maps for a variety of purposes, mainly being:
 
* Maps between the data model and an implementation schema to enable auto generation of query syntax such as SQL or CYPHER
 
* Maps between legacy data models and or their values to the common information models
 
===[[Data map API|Data mapping APIs]]===
The article [[Data map API|Data mapping APIs]] describes the use of a mapping service to deliver pre-prepared maps and and actual map values for use by a transform application, and the article [[Map maker manager]] describes the processes involved making of maps for use by the mapping server.
 
=== Data map making ===
''main article''
 
 
 
 
 
 
 
 
 
&nbsp;

Latest revision as of 10:28, 21 August 2022

This article describes the approach taken to producing information models, including ; what they are, what their purpose is, and what the technical components of the models are.

The article does not include the content of any particular model.

What is the health information model (IM) and what is its purpose?

The IM is a representation of the meaning and structure of data held in the electronic records of the health and social care sector, together with libraries of query, value sets, concept sets, data set definitions and mappings.

The main purpose is to bridge the chasm that exists between highly technical digital representations and plain language so that when questions are asked of data, a lay person could use plain language without prior knowledge of the underlying models.

It is a computable abstract logical model, not a physical structure or schema. "computable" means that operational software operates directly from the model artefacts, as opposed to using the model for illustration purposes. As a logical model it models data that may be physically held any a variety of different types of data stores, including relational or graph data stores. Because the model is independent of the physical schemas, the model itself has to be interoperable and without any proprietary lock in.

The IM is a broad model that integrates a set of different approaches to modelling using a common ontology. The components of the model are:

  1. A set of ontologies, which is a vocabulary and definitions of the concepts used in healthcare, or more simply put, a vocabulary of health. The ontologies is made up of the world's leading ontology Snomed-CT, with a London extensions, various code based taxonomies (e.g. ICD10, Read, supplier codes and local codes)
  2. A common data model, which is a set of classes and properties, using the vocabulary, that represent the data and relationships as published by live systems that have published data, Note that this data model is NOT a standard model but a collated set of entities and relationships bound to the concepts based on real data, that are mapped to a common model.
  3. A library of business specific concept value sets, (aka reference sets) which are expression constraints on the ontology for the purpose of query
  4. A catalogue of reference data such as geographical areas, organisations and people derived and updated from public resources.
  5. A library of Data set (query) definitions for querying and extracting instance data from the information model, reference data, or health records.
  6. A set of maps creating mappings between published concepts and the core ontology as well as structural mappings between submitted data and the data model.
  7. An open source set of utilities that can be used to browse, search, or maintain the model.


Model building blocks and visualisation

The model consists of classes, sets and objects that are instances of classes.

Ethnicity

Objects can act as objects in their own rights (e.g. an instance of chest pain) or may also act as classes (e.g. the class of objects that are chest pain). Likewise sets have members that are objects and the objects may also act as classes or sets. For example a set for the 2011 Ethnicity census will contain a member object of "British" which is also a set with members such as English and so on.

The model itself is stored as an RDF based knowledge graph, which means it is implementable in any mainstream Graph database technology. There are no vendor specific extensions to RDF.

In line with the RDF standard, all persistent types, classes, , property identifiers and object value identifiers are uniquely named using international resource identifiers. In most cases the identifiers are externally provided (e.g. Snomed-CT identifiers) whilst in others that have been created for a particular model. Organisations that author elements of the models use their own identifiers.

From a data modelling perspective the arrangements of types may be referred to as archetypes, which are conceptually similar to FHIR profiles. In the semantic web world they would be considered "shapes". There are an unlimited number of these which frees the model from any particular conventional relational database schema. Inheritance of types is supported which enables broad classifications of types and re-usability.

The variation between the parts of the model that model terminology concepts and those that model data use slightly different grammars in keeping with their different purposes. The information model language describes the differences.

The models can be viewed in their raw technical form (in JSON or Turtle) or can be viewed by the information model viewer at the online tool Information model directory

Information model language

Main article information modelling language describes the language in more detail.

The semantic web approach is adopted for the purposes of identifiers and grammar. In this approach, data can be described via the use of a plain language grammar consisting of a subject, a predicate, and an object; A triple, with an additional context referred to as a graph or RDF data set. The theory is that all health data can be described in this way (with predicates being extended to include functions).

However, the semantic web languages are highly complex and a set of more pragmatic approaches are taken for the more specialised structures.

The consequence of this approach is that W3C web standards can be used such as the use of Resource Descriptor Framework or RDF. This sees the world as a set of triples (subject/ predicate/ object) with some things named and somethings anonymous. Systems that adopt this approach can exchange data in a way that the semantics can be preserved. Whilst RDF is an incredibly arcane language at a machine level, the things it can describe can be very intuitive when represented visually. In other words the Information modelling approach involves an RDF Graph.

In addition to semantic web languages, other commonly used languages are in place are used to enable the model to be accessed by more people.. For example the Snomed-CT expression constraint language is a common way of defining concept sets. ECL is logically equivalent to a closed world query on an open world OWL ontology. The IM language uses the semantic language of SPARQL together with entailment to model ECL but ECL can be exported or used as input as an alternative.