Improving Healthcare Through Semantics
Michael Grove
Chief Software Architect - Clark & Parsia
About Clark & Parsia
Goals
- Describe how healthcare can be improved through the use of Semantic Graphs
- Discuss the features of Semantic Graphs that make them powerful
- Empowering non-programmers
- Why that's a good thing
NCI Thesaurus
- Widely recognized biomedical ontology
- Terminology reference for molecular & clinical cancer related information
- Provides formal definitions for over 10k cancers and related diseases
- As well as 17k agents, related substances, therapies, anatomy, etc.
-
20 taxonomy trees
-
Links to the NCI meta-thesaurus
-
Terminology used for clinical care, research, public information, and more
- Tracks concept history over time to model changes in science
- Monthly updates by a large multi-disciplinary team
Using the NCI Thesaurus
- Supports the NCI public website, cancer.gov, and many other websites, as well as the National Cancer Informatics Program
- Used for term alignment in different clinical applications
- Also used for query broadening
- Expressive taxonomy can be leveraged to expand searches to include relevant, related concepts
XACML as HIPAA
- HIPAA Title II
- Guidelines for maintaining privacy and security of healthcare records
- XACML
- Standard for representing access control policies for digital resources
- Both aim to keep information secure
Logical Policies
- Represent digital security policies with formal (logical) models
- We do this so we can use a computer to help us answer:
- Are there any redundant policies?
- Do my policies do what I think they do?
- Are there any policies which contradict each other?
- Create unit tests for a policy set
Synthetic Biology
- Design of biological systems for specific purposes
- Biofuel production, anti-malarial drugs, tumor tracking bacteria
- Engineering living systems is hard
- Requires iterative cycle of design, construction, and testing
- Need tooling to support workflow
Synthetic Biology Open Language
- SBOL includes visual icons to depict information encoded by DNA sequences
- And also includes a machine readable format
- Facilitate exchange of designs
- Between synthetic biologists and genetic engineers
- Embed them in publications
- Send (and receive) designs to bio-fabrication centers
- Also support storage, query, and retrieval of genetic designs
SynBio Revision Control
- Developed in collaboration with synthetic biologists at the University of Washington
- Created a plugin for the Geneious application
- Leading bio-informatics platform, from Biomatters
- Used in over 2500 universities and 7 of the 10 largest pharma companies
- Supports workflows, DNA alignment, molecular cloning, and more
Git for Biological Designs
- Based around SBOL
- Support a Git-like infrastructure
- Let biologists iteratively create, improve, and track the different versions of their designs
- Facilitate exchange and collaborative editing of designs
- Add annotation capabilities
- Append working notes from the biologist to each version of a design
- Utilize reasoning services to make searching for parts easier
- "Find me a part that does X and is compatible with Y"
Fighting Sepsis
- Sepsis/Septic Shock 13th leading cause of death in US
- #1 in intensive care units
- Mortality rate up to 50%, even in industrialized countries
- Rate significantly higher when untreated for more than 7 days
- Working with Multiscale Health Networks
- Assist healthcare professionals to manage critical care and increase positive outcomes
Improving Patient Outcomes
- Encode our domain knowledge of Sepsis
- Explicitly define diagnostic concepts such as fever, hypothermia, elevated cardiac index
- And pathology such as proinflammatory response or tissue hypoperfusion
- Combined with treatment programs for infection control, respiratory support, general care
- Use this machine-understandable knowledge
- To quickly identify at-risk patients
- Start treatment before it is too late
- Assist in workflow and care coordination
-
Improve overall patient care and lower hospital costs
So what's the secret?
Graphs
- Sets of objects (nodes) connected by links (edges) to other objects
- Useful, intuitive way to model many problems and data domains
- Graph-based systems are gaining popularity
- Offer advantages over traditional systems & approaches
Semantic Graphs
- Semantics are a natural complement
- Declarative, formal descriptions of nodes, edges and their relationships
- Create graphs with meaning
- Encoded within the graph
- Using a high-level language
- A little bit goes a long way
Why Semantic Graphs?
- Based on standards
- Including a real query language
- More than just a data structure
- Which offers appropriate abstractions
- Reasoning-based services utilizing semantic content
Freeing your Business Logic
- Business logic naturally a first class object to be curated, validated, versioned, etc.
- Non-programmers exist!
- Can't teach everyone programming
- But not everything needs to be in code
- Especially the business logic
- How can we do better?
Your logic is impeccable
- Encode business logic using a formal semantics
- High-level language
- No Programming Required
- By encoding it in the graph
- Frees it from the codebase
- Better yet, it frees it from programmers
Live long and prosper
- Lets non-programmers perform complex information processing without writing code
- More directly capture expertise
- Actual experts can implement the business logic
- Easier and more maintainable
- Inference rules and queries
- Computers do the work
- Can evolve independently
Data Integration
- Information integration and business logic modeling at the right level of abstraction
- UML too high-level, abstract; Databases too low-level, physical; code too hard to analyze, too costly to maintain
- Semantic Graphs provide a single, coherent global view
- Integrate the data not the bits
Smart Data
- Scale is not a strict condition for utility
- Problems are not always solved by simply adding more data
- Getting value from data comes down to how easily you can work with the data
- Smart Data is data with semantics attached
- Semantics gives data meaning
- Computer understandable meaning
- So the computer can help
- Analysis, BI, decision support, etc.
- Validation
- Which means it is easier to utilize the data
How do you make this work?
Semantic Technologies
- Based on W3C standards
- HTTP as the protocol, URL/URI as identifiers
- RDF: graph data model
- SPARQL: graph query language
- OWL & Rules: encode business logic in the graph
- Semantics do not change, data retains original meaning
- Promotes re-use, makes interoperability easier
- Both schema-less and schema-rich
- And everything in between
What is Reasoning?
- Making implicit information explicit
- Implicit in the data, the schema, or both
- Represent domain knowledge in a formal declarative model
- Called an ontology
- Like UML, but with formal semantics
- Based on the W3C specification, OWL, Web Ontology Language
- Reasoners consume ontologies to derive new information
- Answer queries, find inconsistencies
- Dynamic, executed on the fly
Reasoning Example
- From our Sepsis example earlier
- We can express disease conditions
- If a patient's temperature was over 100F, then they have a High Fever
- If a patient's platelet count is less than 100,000/mm^3, then then have Thrombocytopenia
-
And combine that with domain knowledge
- High Fever is a general indicator of Sepsis
- Thrombocytopenia is an Organ Dysfunction
- We can start to infer useful diagnostics
- If a patient has an Organ Dysfunction and the patient has an infection, then they have Severe Sepsis
- If a patient has Sepsis, and has either Hypotension or Hyperlactamemia, then they have Septic Shock
Example Continued
- Again, we're encoding our knowledge about Sepsis, including diagnosis and treatment
- The computer can understand these definitions
- So it can help us use them
- And that can simplify our applications
- We don't have to write code to perform these tasks
- We can just ask: "Which patients have Sepsis?"
- And let the computer handle the rest
How reasoning frees your business logic
- Why is that useful?
- Reasoner is handling the implementation
- And as our understanding, our knowledge evolves, our code still works
- Cheaper and easier to maintain
- Because it lets us model things using the right abstractions
Why ask Why?
- You can get the reasoner to tell you why it inferred some piece of information
- Called explanations
- Gives insight into how the system uses the data
- Provides traceability
- Explanations are simply proofs for why something happened
- Pinpoints the exact data/rules responsible
- Can reference other proofs
Let's look at Sepsis again...
- System claims a patient has increased risk of septic shock ... but why?!
- The reasoner can tell us:
- They were diagnosed with Sepsis
- Because they have an infection
- Due to the results of test X, performed by Y at time Z
-
And one or more of the leading indicators such as organ dysfunction or inflammation
- Again, due to test results
- They also have hypotension
- And when combined, these result in Septic Shock
Data Integrity
- Accuracy of data limits its utility
- Custom code to validate can be complex and time consuming
- Not to mention understanding violations
- Or communicating them to users
- No reason to write more code
- Use Semantic Graphs
- High-level declarative language
- Can be authored by experts
Integrity Constraint Validation
- Prevent modifications to your data that violate your constraints
- Violations abort transactions and keep data consistent
- Can be also used as middleware
- Validate any piece of data against any set of constraints
- Authored in OWL, Rules, SPARQL
- Expressive modeling languages makes it easy to write simple constraints and possible to write complex ones
ICV Examples
- Body temperature must be a non-negative number
- Patients must have at least one doctor
- A test result must be accompanied by a lab result, a tech/doctor who performed it, a time it was performed
(*@$#*&!
- Things go wrong
- People fat-finger things when doing data entry
- Or simply do not know the rules
- So like with reasoning, we can get explanations
- The computer can tell us why a violation occurred
- Any offending data, or lack thereof, is pinpointed by the reasoner
- Can offer suggestions on how to fix
Bringing it all together
- Semantic Graphs are a powerful tool for building Smart Data to facilitate data integration and information analysis
- Powered by features such as reasoning and ICV
- Empower non-programmers and allow complex information processing without code
- Business logic encoded in the graph increases flexibility by using the appropriate abstractions
- More maintainable; increases automation
- Use of Semantic Graphs in the healthcare domain can be used to lower hospital costs and improve patient care
Questions?
Thanks!
Call In the backup!
Reasoning Example
if {
?patient :temperature ?temp .
filter (?temp > 100)
}
then {
?patient :has :HighFever
}
if {
?patient :plateletCount ?count .
filter(?count < 100000)
}
then {
?patient :has :Thrombocytopenia
}
:Thrombocytopenia a :OrganDysfunction
:HighFever a :GeneralIndicator
Reasoning Example
if {
?patient :has [ a :OrganDysfunction ] .
?patient :has :Infection
}
then {
?patient :has :SevereSepsis
}
if {
?patient :hasCondition :Sepsis .
{ ?patient :has :Hypotension }
union
{ ?patient :has :Hyperlactamemia }
}
then {
?patient :has :SepticShock
}
Improving Healthcare Through Semantics
By Michael Grove
Improving Healthcare Through Semantics
- 1,547