SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Ian McNicoll
openEHR in context:

Integration, terminology, querying
The bigger picture
openEHR and integration
Making openEHR CDR connect to other systems …
Very easy to talk to other openEHR-based systems
Talking to non-openEHR systems
transforms, transforms, transforms
But do it once for the whole openEHR community
share the transforms as open-source and a reusable asset
Integration
User interface (the app itself)
Information model
Database
User interface (the app itself)
Information model
Database
User interface (the app itself)
Information model
Database
User interface (the app itself)
Information model
Database
National messages:
referral, prescription
emergency summary
Third-party apps
Technology-neutral datastore (CDR)
Vendor-neutral Information model
Model-driven 

integration
TDS
Model-driven 

integration
Template Data Schema
Simple xml schema matching
content of corresponding template
direct import of TDS-based XML
documents into openEHR system
easy target for integration to/from an
openEHR CDR
Healthlink eReferral TDS template
Healthlink eReferral TDS template
TDS
openEHR
template
TDD/ Web templates
TDD = template data document - an xml
document which conforms to a specific TDS
An openEHR engine can convert TDDs to
canonical OpenEHR Compositions or also directly
commit a TDD
Web templates are more modern JSON based
equivalent
APIs - HL7 FHIR
What is FHIR good at?
Communication of information between systems
with limited querying
Strengths
Developer friendly
Lightweight approach
Great documentation / community
Where might FHIR be weaker?
Not designed for storing data
can work but will it scale up?
limited, hard-wired querying only

FHIR ‘resources’ will not work ‘out of the box’ in the real world
Need local extensions and profiles
not a ‘weakness’ as such but often overlooked
SMARTPlatforms API
Scopes and
permissions: OAuth

Simple sign-in: OpenID
Connect
App within an App
integration:
HTML5-based
pluggable app
SMARTPlatforms API
Scopes and
permissions: OAuth

Simple sign-in: OpenID
Connect
App within an App
integration:
HTML5-based
pluggable app
SELECT pulse FROM EHR[ehr_id/value=$ehruid] 
CONTAINS COMPOSITION c 
CONTAINS OBSERVATION hr[openEHR-EHR-
OBSERVATION.heart_rate_pulse-zn.v1] 
WHERE c/name/value='Encounter‘

AND c/context/start_time/value <= $endperiod

AND c/context/start_time/value >= $startPeriod

AND pulse/data[at0001]/events[at0006|Anyevent]/
data[at0003]/items[at0004|Rate]/value/value < 60
AQL: Archetype Query Language
Model-
driven
querying
SELECT pulse FROM EHR[ehr_id/value=$ehruid] 
CONTAINS COMPOSITION c 
CONTAINS OBSERVATION hr[openEHR-EHR-
OBSERVATION.heart_rate_pulse-zn.v1] 
WHERE c/name/value='Encounter‘

AND c/context/start_time/value <= $endperiod

AND c/context/start_time/value >= $startPeriod

AND pulse/data[at0001]/events[at0006|Anyevent]/
data[at0003]/items[at0004|Rate]/value/value < 60
AQL: Archetype Query Language
Model-
driven
querying
SELECT pulse FROM EHR[ehr_id/value=$ehruid] 
CONTAINS COMPOSITION c 
CONTAINS OBSERVATION hr[openEHR-EHR-
OBSERVATION.heart_rate_pulse-zn.v1] 
WHERE c/name/value='Encounter‘

AND c/context/start_time/value <= $endperiod

AND c/context/start_time/value >= $startPeriod

AND pulse/data[at0001]/events[at0006|Anyevent]/
data[at0003]/items[at0004|Rate]/value/value < 60
AQL: Archetype Query Language
Model-
driven
querying
Example AQL
All Nursing reports during this admission for patient … with
a clinical synopsis record…

SELECT s as Synopsis, c/context/start_time as AdmissionDate
FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78']
CONTAINS Composition c[openEHR-EHR-COMPOSITION.report.v1]
CONTAINS Evaluation s[openEHR-EHR-EVALUATION.clinical_synopsis.v1]
WHERE c/name/value matches {'Nursing report’}
AND c/context/start_time >= '20110328T000000.000+0200'
AND c/context/start_time < '20120101T010000.000+0100'
Vital signs chart
SELECT
com0/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,
obs6/data[at0001]/events[at0002]/data[at0003]/items[at0006]/value as
SPO2_PROPORTION,
obs7/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value as BODY_TEMPERATURE_QUANTITY
FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78']
CONTAINS COMPOSITION com0 [openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS (OBSERVATION obs7
[openEHR-EHR-OBSERVATION.body_temperature-zn.v1] OR
OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-zn.v1] OR
OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1] OR
OBSERVATION obs6 [openEHR-EHR-OBSERVATION.indirect_oximetry.v1] OR
OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1])
WHERE com0/name/value matches {'Vital functions', 'Respiratory assessment'}
AND com0/context/start_time >= '20110328T000000.000+0200'
AND com0/context/start_time >= '30000101T000000.000+0100'
Vital signs chart
SELECT
com0/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,
obs6/data[at0001]/events[at0002]/data[at0003]/items[at0006]/value as
SPO2_PROPORTION,
obs7/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value as BODY_TEMPERATURE_QUANTITY
FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78']
CONTAINS COMPOSITION com0 [openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS (OBSERVATION obs7
[openEHR-EHR-OBSERVATION.body_temperature-zn.v1] OR
OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-zn.v1] OR
OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1] OR
OBSERVATION obs6 [openEHR-EHR-OBSERVATION.indirect_oximetry.v1] OR
OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1])
WHERE com0/name/value matches {'Vital functions', 'Respiratory assessment'}
AND com0/context/start_time >= '20110328T000000.000+0200'
AND com0/context/start_time >= '30000101T000000.000+0100'
Result: openEHR data
Archetypes and terminology
Each archetypes has its own internal terminology
“atCodes”
may be mapped to >= 1 external terminologies
The Archetype terminology provides “names”
in name/value pairs
on internal valuesets
External terminology may be ‘bound’ to provide
values for coded text nodes
Archetypes and terminology
Internal terminology
External terminologies
Medications / drug allergies: 

dm+d, RxNorm, proprietary
Conditions, procedures:

ICD-10, SNOMED-CT
Lab tests/ analytes:

LOINC, SNOMED-CT
Organisation types, Sex / gender:

Local/national admin terminologies
Termsets
Terminologies can be very large
‘Termsets’ define a small subset of the large
terminology that can be handled by a drop-down GUI
or other ‘browse’ facility
Sometimes called subsets or refsets
e.g.
RUPROC::“All Orthopaedic procedures”
ICD10::“Gynaecological diagnoses”
Ripple + Termlex
CDSS: GDL/Proforma
SMARTPlatforms
Pluggable Webapp
API
HL7 FHIR
Clinical Content
Exchange NHS API


Clinical Data
Repository
Detailed
Clinical Content Development
Clinical leadership PRSB
Terminology
Centre
NHS Digital
Non
openEHR
systems
Archetype+ SNOMED Clinical
Content definitions
Useful links
openEHR-based Form building/querying:

https://www.youtube.com/watch?v=pC6mUtqqK9U
HL7 FHIR: https://www.hl7.org/fhir
SMARTPlatforms: http://smarthealthit.org/
A clinical challenge: To lead or be led by health-
IT? (Linköping Nov 2015)

https://www.youtube.com/playlist?
list=PLHFGvRPKSumvhCrMbDrAWi2Kc0MrTHi9M
Clinical Decision Support: https://www.youtube.com/watch?
v=KgBtc19LXMk
1 7 open_ehr in context

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to openEHR Clinical Workshop MIE2016
Introduction to openEHR Clinical Workshop MIE2016Introduction to openEHR Clinical Workshop MIE2016
Introduction to openEHR Clinical Workshop MIE2016
Ian McNicoll
 
EHRGen demo presentation
EHRGen demo presentationEHRGen demo presentation
EHRGen demo presentation
Pablo Pazos
 
Eastman_MI530_FinalProjectReport
Eastman_MI530_FinalProjectReportEastman_MI530_FinalProjectReport
Eastman_MI530_FinalProjectReport
Nicholas Eastman
 

Was ist angesagt? (20)

Openehr clinical modelling
Openehr clinical modellingOpenehr clinical modelling
Openehr clinical modelling
 
2 6 open_ehr archetypes instructions_actions
2 6 open_ehr archetypes instructions_actions2 6 open_ehr archetypes instructions_actions
2 6 open_ehr archetypes instructions_actions
 
openEHR Composition category - persistent vs. event
openEHR Composition category - persistent vs. eventopenEHR Composition category - persistent vs. event
openEHR Composition category - persistent vs. event
 
openEHR Clinical Workshop - Implementer perspective
openEHR Clinical Workshop - Implementer perspectiveopenEHR Clinical Workshop - Implementer perspective
openEHR Clinical Workshop - Implementer perspective
 
Why ICT Fails in Healthcare: Software Maintenance and Maintainability
Why ICT Fails in Healthcare: Software Maintenance and MaintainabilityWhy ICT Fails in Healthcare: Software Maintenance and Maintainability
Why ICT Fails in Healthcare: Software Maintenance and Maintainability
 
The openEHR Revolution Heidelberg 2018
The openEHR Revolution Heidelberg 2018The openEHR Revolution Heidelberg 2018
The openEHR Revolution Heidelberg 2018
 
openEHR Developers Workshop at #MedInfo2015
openEHR Developers Workshop at #MedInfo2015openEHR Developers Workshop at #MedInfo2015
openEHR Developers Workshop at #MedInfo2015
 
Introduction to openEHR Clinical Workshop MIE2016
Introduction to openEHR Clinical Workshop MIE2016Introduction to openEHR Clinical Workshop MIE2016
Introduction to openEHR Clinical Workshop MIE2016
 
Radquery poster-42x48
Radquery poster-42x48Radquery poster-42x48
Radquery poster-42x48
 
Implementing dual model systems
Implementing dual model systemsImplementing dual model systems
Implementing dual model systems
 
Gene Expression Atlas user interface
Gene Expression Atlas user interfaceGene Expression Atlas user interface
Gene Expression Atlas user interface
 
openEHR Technical Workshop Intro MIE 2016
openEHR Technical Workshop Intro MIE 2016openEHR Technical Workshop Intro MIE 2016
openEHR Technical Workshop Intro MIE 2016
 
ADaM datasets for graphs (paper)
ADaM datasets for graphs (paper)ADaM datasets for graphs (paper)
ADaM datasets for graphs (paper)
 
Self-Diagnosis Hospital Management System
Self-Diagnosis Hospital Management SystemSelf-Diagnosis Hospital Management System
Self-Diagnosis Hospital Management System
 
openEHR: NHS Code4Health RippleOSI and EtherCis
openEHR: NHS Code4Health RippleOSI and EtherCisopenEHR: NHS Code4Health RippleOSI and EtherCis
openEHR: NHS Code4Health RippleOSI and EtherCis
 
OpenEhr rEvolution Sardinia 2019
OpenEhr rEvolution Sardinia 2019OpenEhr rEvolution Sardinia 2019
OpenEhr rEvolution Sardinia 2019
 
Towards the Implementation of an openEHR-based Open Source EHR Platform (a vi...
Towards the Implementation of an openEHR-based Open Source EHR Platform (a vi...Towards the Implementation of an openEHR-based Open Source EHR Platform (a vi...
Towards the Implementation of an openEHR-based Open Source EHR Platform (a vi...
 
Information extraction from EHR
Information extraction from EHRInformation extraction from EHR
Information extraction from EHR
 
EHRGen demo presentation
EHRGen demo presentationEHRGen demo presentation
EHRGen demo presentation
 
Eastman_MI530_FinalProjectReport
Eastman_MI530_FinalProjectReportEastman_MI530_FinalProjectReport
Eastman_MI530_FinalProjectReport
 

Ähnlich wie 1 7 open_ehr in context

Chris Munt :: State Of Play In the NHS
Chris Munt :: State Of Play In the NHSChris Munt :: State Of Play In the NHS
Chris Munt :: State Of Play In the NHS
george.james
 
CaseStudy-MohammedImranAlam-Xcelsius
CaseStudy-MohammedImranAlam-XcelsiusCaseStudy-MohammedImranAlam-Xcelsius
CaseStudy-MohammedImranAlam-Xcelsius
Mohammed Imran Alam
 
Introduction to Simulation
Introduction to SimulationIntroduction to Simulation
Introduction to Simulation
chimco.net
 
Chris Munt Cherylin Fletcher State Of Play In Nhs
Chris Munt Cherylin Fletcher State Of Play In NhsChris Munt Cherylin Fletcher State Of Play In Nhs
Chris Munt Cherylin Fletcher State Of Play In Nhs
george.james
 
PLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptxPLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptx
vamsiyadav39
 
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
Andreas Triantafyllidis
 

Ähnlich wie 1 7 open_ehr in context (20)

Chris Munt :: State Of Play In the NHS
Chris Munt :: State Of Play In the NHSChris Munt :: State Of Play In the NHS
Chris Munt :: State Of Play In the NHS
 
Observability foundations in dynamically evolving architectures
Observability foundations in dynamically evolving architecturesObservability foundations in dynamically evolving architectures
Observability foundations in dynamically evolving architectures
 
CaseStudy-MohammedImranAlam-Xcelsius
CaseStudy-MohammedImranAlam-XcelsiusCaseStudy-MohammedImranAlam-Xcelsius
CaseStudy-MohammedImranAlam-Xcelsius
 
Introduction to Simulation
Introduction to SimulationIntroduction to Simulation
Introduction to Simulation
 
oracle-complex-event-processing-066421
oracle-complex-event-processing-066421oracle-complex-event-processing-066421
oracle-complex-event-processing-066421
 
Modern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas JellemaModern Database Development Oow2008 Lucas Jellema
Modern Database Development Oow2008 Lucas Jellema
 
Chris Munt Cherylin Fletcher State Of Play In Nhs
Chris Munt Cherylin Fletcher State Of Play In NhsChris Munt Cherylin Fletcher State Of Play In Nhs
Chris Munt Cherylin Fletcher State Of Play In Nhs
 
oracle-reports6i
oracle-reports6ioracle-reports6i
oracle-reports6i
 
PRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdfPRELIM-Lesson-2.pdf
PRELIM-Lesson-2.pdf
 
Colloquium Report
Colloquium ReportColloquium Report
Colloquium Report
 
Innovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC IntegrationsInnovate2011 Keys to Building OSLC Integrations
Innovate2011 Keys to Building OSLC Integrations
 
Presentation dental treatment & management application project
Presentation dental treatment & management application project Presentation dental treatment & management application project
Presentation dental treatment & management application project
 
PLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptxPLSQLmy Updated (1).pptx
PLSQLmy Updated (1).pptx
 
Metadata becomes alive via a web service between MDR and SAS
Metadata becomes alive via a web service between MDR and SASMetadata becomes alive via a web service between MDR and SAS
Metadata becomes alive via a web service between MDR and SAS
 
Ash and awr deep dive hotsos
Ash and awr deep dive hotsosAsh and awr deep dive hotsos
Ash and awr deep dive hotsos
 
R12 MOAC AND PAYABLES
R12 MOAC AND PAYABLESR12 MOAC AND PAYABLES
R12 MOAC AND PAYABLES
 
ASQ Conference Dashboard Presentation 2008
ASQ Conference Dashboard Presentation 2008ASQ Conference Dashboard Presentation 2008
ASQ Conference Dashboard Presentation 2008
 
Dot Net performance monitoring
 Dot Net performance monitoring Dot Net performance monitoring
Dot Net performance monitoring
 
Heart Disease Prediction using Machine Learning
Heart Disease Prediction using Machine LearningHeart Disease Prediction using Machine Learning
Heart Disease Prediction using Machine Learning
 
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
An Open And Reconfigurable Wireless Sensor Network For Pervasive Health Monit...
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

1 7 open_ehr in context

  • 1. Ian McNicoll openEHR in context:
 Integration, terminology, querying
  • 3. openEHR and integration Making openEHR CDR connect to other systems … Very easy to talk to other openEHR-based systems Talking to non-openEHR systems transforms, transforms, transforms But do it once for the whole openEHR community share the transforms as open-source and a reusable asset
  • 4. Integration User interface (the app itself) Information model Database User interface (the app itself) Information model Database User interface (the app itself) Information model Database User interface (the app itself) Information model Database National messages: referral, prescription emergency summary Third-party apps Technology-neutral datastore (CDR) Vendor-neutral Information model
  • 7. Template Data Schema Simple xml schema matching content of corresponding template direct import of TDS-based XML documents into openEHR system easy target for integration to/from an openEHR CDR
  • 9. Healthlink eReferral TDS template TDS openEHR template
  • 10. TDD/ Web templates TDD = template data document - an xml document which conforms to a specific TDS An openEHR engine can convert TDDs to canonical OpenEHR Compositions or also directly commit a TDD Web templates are more modern JSON based equivalent
  • 11. APIs - HL7 FHIR
  • 12. What is FHIR good at? Communication of information between systems with limited querying Strengths Developer friendly Lightweight approach Great documentation / community
  • 13. Where might FHIR be weaker? Not designed for storing data can work but will it scale up? limited, hard-wired querying only
 FHIR ‘resources’ will not work ‘out of the box’ in the real world Need local extensions and profiles not a ‘weakness’ as such but often overlooked
  • 14. SMARTPlatforms API Scopes and permissions: OAuth
 Simple sign-in: OpenID Connect App within an App integration: HTML5-based pluggable app
  • 15. SMARTPlatforms API Scopes and permissions: OAuth
 Simple sign-in: OpenID Connect App within an App integration: HTML5-based pluggable app
  • 16. SELECT pulse FROM EHR[ehr_id/value=$ehruid]  CONTAINS COMPOSITION c  CONTAINS OBSERVATION hr[openEHR-EHR- OBSERVATION.heart_rate_pulse-zn.v1]  WHERE c/name/value='Encounter‘
 AND c/context/start_time/value <= $endperiod
 AND c/context/start_time/value >= $startPeriod
 AND pulse/data[at0001]/events[at0006|Anyevent]/ data[at0003]/items[at0004|Rate]/value/value < 60 AQL: Archetype Query Language Model- driven querying
  • 17. SELECT pulse FROM EHR[ehr_id/value=$ehruid]  CONTAINS COMPOSITION c  CONTAINS OBSERVATION hr[openEHR-EHR- OBSERVATION.heart_rate_pulse-zn.v1]  WHERE c/name/value='Encounter‘
 AND c/context/start_time/value <= $endperiod
 AND c/context/start_time/value >= $startPeriod
 AND pulse/data[at0001]/events[at0006|Anyevent]/ data[at0003]/items[at0004|Rate]/value/value < 60 AQL: Archetype Query Language Model- driven querying
  • 18. SELECT pulse FROM EHR[ehr_id/value=$ehruid]  CONTAINS COMPOSITION c  CONTAINS OBSERVATION hr[openEHR-EHR- OBSERVATION.heart_rate_pulse-zn.v1]  WHERE c/name/value='Encounter‘
 AND c/context/start_time/value <= $endperiod
 AND c/context/start_time/value >= $startPeriod
 AND pulse/data[at0001]/events[at0006|Anyevent]/ data[at0003]/items[at0004|Rate]/value/value < 60 AQL: Archetype Query Language Model- driven querying
  • 19. Example AQL All Nursing reports during this admission for patient … with a clinical synopsis record…
 SELECT s as Synopsis, c/context/start_time as AdmissionDate FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78'] CONTAINS Composition c[openEHR-EHR-COMPOSITION.report.v1] CONTAINS Evaluation s[openEHR-EHR-EVALUATION.clinical_synopsis.v1] WHERE c/name/value matches {'Nursing report’} AND c/context/start_time >= '20110328T000000.000+0200' AND c/context/start_time < '20120101T010000.000+0100'
  • 20. Vital signs chart SELECT com0/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, obs6/data[at0001]/events[at0002]/data[at0003]/items[at0006]/value as SPO2_PROPORTION, obs7/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value as BODY_TEMPERATURE_QUANTITY FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78'] CONTAINS COMPOSITION com0 [openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS (OBSERVATION obs7 [openEHR-EHR-OBSERVATION.body_temperature-zn.v1] OR OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-zn.v1] OR OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1] OR OBSERVATION obs6 [openEHR-EHR-OBSERVATION.indirect_oximetry.v1] OR OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1]) WHERE com0/name/value matches {'Vital functions', 'Respiratory assessment'} AND com0/context/start_time >= '20110328T000000.000+0200' AND com0/context/start_time >= '30000101T000000.000+0100'
  • 21. Vital signs chart SELECT com0/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, obs6/data[at0001]/events[at0002]/data[at0003]/items[at0006]/value as SPO2_PROPORTION, obs7/data[at0002]/events[at0003]/data[at0001]/items[at0004]/value as BODY_TEMPERATURE_QUANTITY FROM EHR e[ehr_id/value='a4a3f0c8-254a-49a5-97dd-784d50c46b78'] CONTAINS COMPOSITION com0 [openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS (OBSERVATION obs7 [openEHR-EHR-OBSERVATION.body_temperature-zn.v1] OR OBSERVATION obs3 [openEHR-EHR-OBSERVATION.heart_rate-pulse-zn.v1] OR OBSERVATION obs1 [openEHR-EHR-OBSERVATION.blood_pressure-zn.v1] OR OBSERVATION obs6 [openEHR-EHR-OBSERVATION.indirect_oximetry.v1] OR OBSERVATION obs4 [openEHR-EHR-OBSERVATION.respiration.v1]) WHERE com0/name/value matches {'Vital functions', 'Respiratory assessment'} AND com0/context/start_time >= '20110328T000000.000+0200' AND com0/context/start_time >= '30000101T000000.000+0100'
  • 23. Archetypes and terminology Each archetypes has its own internal terminology “atCodes” may be mapped to >= 1 external terminologies The Archetype terminology provides “names” in name/value pairs on internal valuesets External terminology may be ‘bound’ to provide values for coded text nodes
  • 26. External terminologies Medications / drug allergies: 
 dm+d, RxNorm, proprietary Conditions, procedures:
 ICD-10, SNOMED-CT Lab tests/ analytes:
 LOINC, SNOMED-CT Organisation types, Sex / gender:
 Local/national admin terminologies
  • 27. Termsets Terminologies can be very large ‘Termsets’ define a small subset of the large terminology that can be handled by a drop-down GUI or other ‘browse’ facility Sometimes called subsets or refsets e.g. RUPROC::“All Orthopaedic procedures” ICD10::“Gynaecological diagnoses”
  • 30. SMARTPlatforms Pluggable Webapp API HL7 FHIR Clinical Content Exchange NHS API 
 Clinical Data Repository Detailed Clinical Content Development Clinical leadership PRSB Terminology Centre NHS Digital Non openEHR systems Archetype+ SNOMED Clinical Content definitions
  • 31. Useful links openEHR-based Form building/querying:
 https://www.youtube.com/watch?v=pC6mUtqqK9U HL7 FHIR: https://www.hl7.org/fhir SMARTPlatforms: http://smarthealthit.org/ A clinical challenge: To lead or be led by health- IT? (Linköping Nov 2015)
 https://www.youtube.com/playlist? list=PLHFGvRPKSumvhCrMbDrAWi2Kc0MrTHi9M Clinical Decision Support: https://www.youtube.com/watch? v=KgBtc19LXMk