from semantics to services – the openehr · pdf filefrom semantics to services –...

58
© Thomas Beale 2010 Thomas Beale, Washington, 13 July 2011 From semantics to services – the openEHR experience OMG SOA in HEALTHCARE CONFERENCE 13–15 JULY 2011

Upload: nguyenquynh

Post on 09-Mar-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

© Thomas Beale 2010

Thomas Beale, Washington, 13 July 2011

From semantics to services

– the openEHR experienceOMG SOA in HEALTHCARE CONFERENCE

13–15 JULY 2011

© Thomas Beale 2011

What are we trying to do

today?

© Thomas Beale 2011

Ultimate ICT goals

• To Compute with health information

• Cross-enterprise

• Patient-centric

• Over time & technology changes

© Thomas Beale 2011

Ultimate ICT goals

• In particular:

• X-enterprise patient care pathway tracking

• Decision support for doctors

• Business process analysis for provider orgs

• Business intelligence for payers & public health

• Medical research ‘study’ analysis

• Person-centred data analysis, ethically targetted

marketing etc

• Integrate health data with social & educational

media streams in patient-centred portals

© Thomas Beale 2011

Ultimate ICT goals

• While dealing with relentless change in

• Medicine, esp. drugs, interactions, procedures...

• Information

• Care processes

• Patient needs

• Legislation

© Thomas Beale 2011

Getting there requires...

� A ~change-immune semantic architecture, allowing

� meaning of information and healthcare process

steps etc to be safely and reliably defined

� convertability of information from proprietary /

legacy sources to common formats

© Thomas Beale 2011

Getting there requires...

� A systems and services architecture defining groupings and access protocols enabling:

� Aggregation of information from source systems

� Varying levels of conformance, esp. for existing

systems

� Incremental deployment

� Satisfying changing business needs

© Thomas Beale 2011

Assumptions

� A services architecture with no semantic underpinning can deliver:

� Human – human information transmission

� Very basic search facilities

� Limited computability, where information is

already widely standardised, e.g. HL7v2 lab, ADT

� Some security / privacy support

� But not generalised patient-centric computability – can’t access the main economic potential

© Thomas Beale 2011

The clock is ticking...

� Today we are still creating peta-bytes of non-interoperable, non-computable health data

� Post-hoc ‘re-engineering’ of the data to make it computable is too expensive to be realistic

� We know this because medical research projects regularly burn their entire budget on data re-engineering

© Thomas Beale 2011

The semantic part

© Thomas Beale 2011

Historical Industry Structure

...consume documents and msg specs

developers ... make up what they don’t understand

VENDOR / INTEGRATOR

... Write data specs, minimum data sets, schemas for DS, referral etc

data

dictionaries

GOVs / MoHs

& SYSTEMS

APPS

Present’n

PROVIDERS Buy (poor)Solutions

DOCs & Patients

...use systems

...manual

XSD

GUI

code

Proprietary form definitions

Write docs, create message specs

docs

Stds orgs + Professional bodies

Msgspecs

terminology

© Thomas Beale 2011

terminology&

SYSTEMS

APPS

Present’n

Historical Industry Structure

Write docs, create message specs

... Write data specs, minimum data sets, schemas for DS, referral etc

data

dictionaries

docs

...consume documents and msg specs

XSD

GUI

developers ... make up what they don’t understand

PROVIDERS Buy (poor)Solutions

DOCs & PatientsVENDOR / INTEGRATORGOVs / MoHs

Stds orgs + Professional bodies

...use systems

...manual

code

Msgspecs

Proprietary form definitions

© Thomas Beale 2011

Collaborative

knowledge repository

openEHR approach

Operational template

T

O

O

L

templatesXSD

TDO

GUI

TOOLTOOLS

...consume std templates and create their own, making OPTs

developers build SOLUTIONSbased on the platform

VENDOR / INTEGRATOR

&

Services

APIs

Present’n

Platform

PROVIDERS buySolutions

DOCs & Patients

...use systems

build archetypes& terminology that define theirInformation –e.g. via IHTSDO

archetypes

TOOL

Stds orgs + Professional bodies

terminology

...build templates and issue as standards e.g. Discharge Summary

templates

TOOL

GOVs / MoHs

© Thomas Beale 2011

Collaborative

knowledge repository

& SYSTEMS

APPS

Present’n

Platform

openEHR approach

build archetypesAnd terminologythat define theirInformation –e.g. via IHTSDO

...build templates and issue as standards e.g. Discharge Summary

archetypes

templatesOperational template

T

O

O

L

...consume std templates and create their own, making OPTs

templatesXSD

TDO

GUI

developers build SOLUTIONSbased on the platform

TOOL TOOL TOOLTOOLS

PROVIDERS buySolutions

DOCs & PatientsVENDOR / INTEGRATORGOVs / MoHs

Stds orgs + Professional bodies

...use systems

GUARANTEED SEMANTICS

terminology

Knowledge engineering Software engineering

© Thomas Beale 2011

The basic plan

� A general theoretical paradigm or framework

� An architecture specific to the domain, including

� Actual specifications for formalisms, models etc

� Actual models

© Thomas Beale 2011

The openEHR framework

Templates

1:N

Reference Model

Archetypes

1:N

Terminologyinterface

Querying

Terminologies

Snom

ed CT

ICD

x

ICP

C

All possibleitem definitions for health

Use-case specific data-set definitions

Portable, model-basedqueries

Defined connectionto terminology

Defines all data

© Thomas Beale 2011

openEHR Archetype

© Thomas Beale 2011

AQL query

� SELECT com2/context/start_time/value as START_DATE,

obs1/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude as

SYSTOLIC,

obs1/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude as

DIASTOLIC,

obs3/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value/magnitude as

PULSE_RATE,

obs4/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value/magnitude as

RESPIRATORY_RATE....

� FROM EHR e[ehr_id/value='f271cd26-23fc-43a1-b411-34cdadaea067'] CONTAINS

COMPOSITION com2 [openEHR-EHR-COMPOSITION.encounter.v1]

� CONTAINS (OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-

zn.v1] OR OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1]

OR OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1] ....

� WHERE com2/name/value matches {'Vital functions', 'Respiratory assessment',

'Assessment scales'} AND obs9/name/value = 'PEF before' AND obs10/name/value =

'PEF after' AND com2/context/start_time >= '20110406T000000.000+0200' AND

com2/context/start_time < '30000101T000000.000+0100'

© Thomas Beale 2011

Software core

Properties - software

Templates

1:N

Reference Model

Archetypes

1:N

Terminologyinterface

Querying

Terminologies

Snom

ed CT

ICD

x

ICP

C

Developedsoftware

Generatedsoftware

GenerateConsume

© Thomas Beale 2011

The architecture

Int’larchetypes

Nat’l / localtemplates

s e ts

terminology

fre

Nat’l / localarchetypes

All data = same information modeldata

canonicalopenEHR

java

C#

etc

Querying

Template-basedartefacts

© Thomas Beale 2011

The key...

s e ts

� Is the operational template (OPT) – this is the joining point between the semantic specifications and deployable software artefacts that can be used by normal developers

Evaluate inclusions,

flatten constraint

inheritance

© Thomas Beale 2011

Key Outcomes

� Normal developers can engage – openEHR + Snomed become economic and ~quick

� Semantic connection exists between definitions and implementations

� � now we know what the meaning of data are, and DS and BI can work...

© Thomas Beale 2011

The openEHR framework

Templates

1:N

Reference Model

Archetypes

1:N

Terminologyinterface

Querying

Terminologies

Snom

ed CT

ICD

x

ICP

C

© Thomas Beale 2011

The reference model

Data Structures

Data Types

Primitive types, Ids

Security Participations

Composition

Audit Versioning

EHR EHR Extract Demographics

Party

http://www.openehr.org/releases/1.0.2/roadmap.html

Will continue to grow, to accommodate process, workflow etc

© Thomas Beale 2011

The openEHR framework

Templates

1:N

Reference Model

Archetypes

1:N

Terminologyinterface

Querying

Terminologies

Snom

ed CT

ICD

x

ICP

C

© Thomas Beale 2011

The archetype architecture

Data Types

Primitive types, Ids

Archetype Object Model (AOM)

Archetype Query Language (AQL)

Archetype Def. Language (ADL)

http://www.openehr.org/releases/1.0.2/roadmap.html

Template model & serialisations

Downsteam software artefact transformations

© Thomas Beale 2011

Managing knowledge artefacts

� Content models & terminology ref sets managed outside of software process & people

� Needs:

� Governance

� Methodology

� Identification

� Sharing and release rules

� etc

© Thomas Beale 2011

Clinical Knowledge Manager

� A tool for involving clinicians in defining clinical content based on archetypes, templates, and termsets

© Thomas Beale 2011

CKM Core Principles

Separation of technical and clinical aspects to successfully involve clinicians in

• Informal Discussions

• Formal Reviewing (content, terminology binding, translations)

• Sharing

• Publishing

• Revision/Version Management

• Release and Dependency Management

© Thomas Beale 2011

CKM Approach

� Web 2.0 design

� Easier to engage clinicians: Can now use 5 mins or

1 hour of an expensive specialised clinician's time;

before, they lost hours on physical meetings

� Implementation is growing as we learn

� Can respond quickly to changing needs, evolving

methodology

� More than a tool

� Engage and manage the community

© Thomas Beale 2011

CKM Users

� International openEHR CKM instance

� > 630 users

� From 64 countries

� National programs with an instance of CKM

� Australia: Nehta

� Sweden: SKL

© Thomas Beale 2011

Key Messages

� Knowledge Management is crucial

� High-quality archetypes with high-quality clinical

content

� Semantically interchangeable between clinical

systems; also the basis for decision support

� Key to success: how to engage with clinicians and

capture their knowledge

� CKM - http://www.openehr.org/knowledge

© Thomas Beale 2011

Key Outcomes

� We can now start to situate existing standards in the framework

� Concrete content-specific standards like HL7

message definitions, CDAs, CCRs etc are

DOWNSTREAM generations and/or mappings of

operational templates

� Meaning we can connect them into a semantic

framework and potentially guarantee their semantics

� Rather than manually building them in a standalone

fashion

© Thomas Beale 2011

Tool-based standards

s e ts

terminology

fre

data

java

C#

etc

Querying

© Thomas Beale 2011

The Services Part

© Thomas Beale 2011

Enterprise

Comprehensive Basic

Old view…

EHR

Multimediagenetics

workflowidentity

Clinicalref data Clinical

models

terms

realtimegateway

telemedicine

HILS

otherprovider

UPDATEQUERY

demographics

guidelinesprotocols

Interactions DS

Local modelling

notifications

DSS

PAS

billing

portal

Alliedhealth

patientPAYER

Msg gateway

Imaging lab

ECG etc

Path lab

LAB

Secondaryusers

Online drug,Interactions DB Online

archetypes

Online terminology

Online Demographic

registries

PatientRecord

© Thomas Beale 2011

General approach

� Build from bottom up – ‘Native’ services� Needed services, consistent with information and

model artefacts

� And from top-down – ‘Standard’ services� Connect IHE, HSSP etc to native services

© Thomas Beale 2011

Services

IH

E

s et

s

terminology

fr

e

data

java

C#

etc

Querying HS

S

P

N

a

t

iv

e

© Thomas Beale 2011

On Services...

� Some architectural inspiration from Microsoft Connected Health Framework (CHF)

� Native layer

� Take as much of IHE, HSSP etc interfaces & adapt

for native compatibility, making archetype-aware

� Standards layer

� Service – service connection

© Thomas Beale 2011

� ProcessModels

� Service Models

� Information Models

Microsoft CHF

© Thomas Beale 2011

EHR Service

demographics

Security & privacy

Workflow & Pathway Services

© Thomas Beale 2011

The openEHR services architecture

http://www.openehr.org/wiki/display/spec/openEHR+Service+Model

© Thomas Beale 2011

Native services

� All services archetype/template aware

� Query service based on AQL / a-path

� No SQL queries against physical database!!!

© Thomas Beale 2011

Key data services - EHR

� ARCHETYPE-AWARE

� Virtual EHR – fine-grained creation, modification, retrieval, querying

� EHR back-end – coarse-grained DVCS-like interface – ‘change-set’ based

� EHR audit log

© Thomas Beale 2011

Key data services - patient

� Demographics – ARCHETYPE-AWARE

� Authentication info

� Patient relationships

� HCP relationships – teams etc

� EHR subject X-ref service

� openEHR EHRs are identified by EHR id only

� Deals with merged & split EHRs, i.e. 2 subject ids

� 1 EHR, 2 EHR ids � 1 subject

� Enables dynamic distribution of EHRs

� Becoming the EHR meta-data service

© Thomas Beale 2011

Key knowledge services

� Archetypes & templates

� Terminology ref-sets

� Terminology service

� access

� Inferencing

� Terminology administration

� Medications, devices

� Allergies & interactions database

© Thomas Beale 2011

Key process services

� Event-based notifications

� Care pathway

� Based on archetyped openEHR structures

� Booking / appointments

� Requires access to patient requests & doctor’s

diary & other resource availability data

� Doctor’s diary

� Forces syncing of appointments to filler

� Patient diary

� Allows multi-function visits

© Thomas Beale 2011

Key elements that MUST WORK

� Standardised querying of data, based on knowledge artefacts, not physical DB

� � standardised knowledge artefact identification, including versions

� � standardised ability to designate finest grain items in the data

� Enabling URI to any data item

© Thomas Beale 2011

Key elements that MUST WORK

� Everything in openEHR relies on archetype

paths, which are X-path compatible

� The two tests are being able to:

� Write portable queries

� Create URIs to finest grain of data

© Thomas Beale 2011

AQL query

� SELECT com2/context/start_time/value as START_DATE,

obs1/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude as

SYSTOLIC,

obs1/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude as

DIASTOLIC,

obs3/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value/magnitude as

PULSE_RATE,

obs4/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value/magnitude as

RESPIRATORY_RATE....

� FROM EHR e[ehr_id/value='f271cd26-23fc-43a1-b411-34cdadaea067'] CONTAINS

COMPOSITION com2 [openEHR-EHR-COMPOSITION.encounter.v1]

� CONTAINS (OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-

zn.v1] OR OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1]

OR OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1] ....

� WHERE com2/name/value matches {'Vital functions', 'Respiratory assessment',

'Assessment scales'} AND obs9/name/value = 'PEF before' AND obs10/name/value =

'PEF after' AND com2/context/start_time >= '20110406T000000.000+0200' AND

com2/context/start_time < '30000101T000000.000+0100'

© Thomas Beale 2011

openEHR URI

� ehr:1234567/87284370-2D4B-4e3d-A3F3-

F303D2F4F34B@latest_trunk_version/

content[openEHR-EHR-SECTION.vital_signs.v1]/

items[openEHR-EHR-OBSERVATION.heart_rate-

pulse.v1]/data/events[at0006, 'any event']/

data/items[at0004]

© Thomas Beale 2011

Where paths come from

© Thomas Beale 2011

Conclusions

© Thomas Beale 2011

Basic premise

� If we want to share and compute with health data at any level of detail, we need a knowledge-based architecture

© Thomas Beale 2011

Architecture

IH

E

s et

s

terminology

fr

e

data

java

C#

etc

Querying HS

S

P

N

a

t

iv

e

Semantic underpinning

Connectto standards

Model-basedquerying

Knowledge-enabledservices

© Thomas Beale 2011

Services lessons

� Need native and standard layers, i.e.

� Inside-out, outside-in

� Knowledge-based architecture brings new needs:

� New knowledge services – archetypes, ref-sets

� Other services must be knowledge-aware

� Business services need to be small, with changeable interfaces

© Thomas Beale 2011

Knowledge awareness means...

� Service layer understands:

� knowledge artefact identification system

� Fine-grained data item identification

� Which means we need standardised knowledge models

� Aka DCMs

© Thomas Beale 2011

The ultimate test

� If you can create a URI to ‘my instantaneous resting, lying down systolic BP, recorded 7/jan/2011’ then you can communicate at any level of detail about health information