Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1 7 open_ehr in context

19 views

Published on

This presentation gives an insight into the broader context in which openEHR is used in health and care open platform and application development.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

1 7 open_ehr in context

  1. 1. Ian McNicoll openEHR in context:
 Integration, terminology, querying
  2. 2. The bigger picture
  3. 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. 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
  5. 5. Model-driven 
 integration
  6. 6. TDS Model-driven 
 integration
  7. 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
  8. 8. Healthlink eReferral TDS template
  9. 9. Healthlink eReferral TDS template TDS openEHR template
  10. 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. 11. APIs - HL7 FHIR
  12. 12. What is FHIR good at? Communication of information between systems with limited querying Strengths Developer friendly Lightweight approach Great documentation / community
  13. 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. 14. SMARTPlatforms API Scopes and permissions: OAuth
 Simple sign-in: OpenID Connect App within an App integration: HTML5-based pluggable app
  15. 15. SMARTPlatforms API Scopes and permissions: OAuth
 Simple sign-in: OpenID Connect App within an App integration: HTML5-based pluggable app
  16. 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. 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. 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. 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. 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. 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'
  22. 22. Result: openEHR data
  23. 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
  24. 24. Archetypes and terminology
  25. 25. Internal terminology
  26. 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. 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”
  28. 28. Ripple + Termlex
  29. 29. CDSS: GDL/Proforma
  30. 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. 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

×