Improving Healthcare Through Semantics




Michael Grove
Chief Software Architect - Clark & Parsia

About Clark & Parsia


  • Founded in 2005
  • Recognized leaders in semantic technology
    • Products: Stardog, Pellet, Pelorus
    • Consultation & Training
    • Linked Data, RDF(S), OWL, SPARQL, SWRL
    • Information Integration, Expertise Location, Policy Management, Decision Support
  • Extensive R&D background with strong academic partnerships

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