SlideShare a Scribd company logo
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Aastha Madaan, W. Chu, Y. Daigo, S. Bhalla
University of Aizu
1
Quasi-Relational Query LanguageQuasi-Relational Query Language
for Persistent Standardized EHRs:for Persistent Standardized EHRs:
Using No-SQL DatabasesUsing No-SQL Databases
11/12/16 DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
 EHRs → “Big data”
 Lifetime data → temporal nature
 Epidemic Query Needs (research on population) → Big Data
 Need → Scalable and standardized ICT infrastructure
 Data-standards EHRs → HL7, CEN 13606, OpenEHR
 Aim → Knowledge-level interoperability
11/12/16 2DNIS 2013
IntroductionIntroduction
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
11/12/16 3DNIS 2013
Single-patient
Encounter
Introduction (2)Introduction (2)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
411/12/16 DNIS 2013
OpenEHR ArchetypeOpenEHR Archetype
 Maximal Definition : may be further revised
 Currently: 352 archetype definitions
 Concept: Blood Pressure (Example)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Universal Schema: Archetypal SerializationUniversal Schema: Archetypal Serialization
definition
OBSERVATION[at0000] matches { -- Blood Pressure
data matches {
HISTORY[at0001] matches { -- history
events cardinality matches {1..*; unordered} matches {
EVENT[at0006] occurrences matches {0..*} matches { -- any event
data matches {
ITEM_TREE[at0003] matches {-- blood pressure
items cardinality matches {0..*; unordered} matches {
ELEMENT[at0004] occurrences matches {0..1} matches {-- Systolic
value matches {
C_DV_QUANTITY <
property = <[openehr::125]>
list = <
["1"] = <
Units = <"mm[Hg]">
magnitude = <|0.0..<1000.0|>
precision = <|0|>
>
>
>
}
}
11/12/16 DNIS 2013 5
 Archetype Definition Language (ADL)
 XML variant, Complex structure
 Uses → Standard terminology codes (LOINC, SNOMED-CT, ICD)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
QueryQuery Options: AQLOptions: AQL
 AQL →Archetype Query Language
 Independent → System environment, storage model
 Developer level → SQL +XQuery
An Example → Find all the patients with high blood pressure values (Systolic
>= 140 AND Diastolic >= 90).
AQL Equivalent:
SELECT obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude,
obs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude
FROM EHR [ehr_id/value=$ehrUid]
CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1]
CONTAINS OBSERVATION obs[openEHR-EHR-OBSERVATION.blood_pressure.v1]
WHERE
obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude>=140
ANDobs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude>=90
11/12/16 DNIS 2013 6
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Data Management ModelData Management Model
 CODASYL Data Model v/s OpenEHR Data Management Model
11/12/16 7DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
 Former Database Solutions
 Test prototype (Key-value store) → Physical Layer
 Cloud-based Database
11/12/16 8
Archetypal EHRs: Database OptionsArchetypal EHRs: Database Options
DNIS 2013
XML DB
Relational DB
Object DB
Object-Relational
DB
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Conceptual View & New Query LanguageConceptual View & New Query Language
11/12/16 DNIS 2013 9
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
ProblemsProblems
1011/12/16
Universal Schema → Interoperable across
distributed healthcare systems
Research focus:
Scalable persistence mechanism
New Query Language →
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Context of StudyContext of Study
11/12/16 DNIS 2013 11
Healthcare
worker
Input: Patient id
Target: Patient’s EHR
Need: Precise Information
Modern View
Traditional View
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
1211/12/16
Standardized EHRs Database System
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
11/12/16 DNIS 2013 13
The ProposalThe Proposal
1. Archetypal Definition → Flattened Forms
2. QBE-style I/P & O/P→ Archetypal Definition
 Possible to Query
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
1411/12/16
The Architecture
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Standardized EHRs Database Architecture (1)Standardized EHRs Database Architecture (1)
1511/12/16
Main Components
DNIS 2013
Local Archetype
Repository
Cloud-based
PersistenceUser-Interface
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Experimental PrototypeExperimental Prototype
11/12/16 16DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
11/12/16 17
Standardized EHRs Database Architecture(3)Standardized EHRs Database Architecture(3)
DNIS 2013
NoSQL-based Persistence
JSON document
Archetype
Cloud-based
Persistence
• Unique id
• Patient id
• Version id
ADL
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
1811/12/16
Quasi-Relational Query Language
Archetypal QBE (AQBE)
Data Insert
Query UI
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Query Language OptionsQuery Language Options
1. Continue with AQL → ADL Store
2. AQBE → Relational Store (PostgreSQL)
3. AQBE → JSON Store (Cloud-DB)
11/12/16 DNIS 2013 19
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
2011/12/16
Quasi-Relational Query Language: AQBE
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
The AQBE – Data InsertThe AQBE – Data Insert
2111/12/16 DNIS 2013
An Example
Store a patient’s blood pressure observation details
Insert the following details:
1. Patient Name: John_Barak
2. Composed By: Dr. Madaan
3. Systolic BP: 95
4. Diastolic BP: 150
AQBE-Data Insert UI
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Query-RequirementsQuery-Requirements
11/12/16 DNIS 2013 22
S. No. Query Requirement
1 Population-based Queries
2 Single-patient Queries
3 Epidemiological Queries
4 Single-concept Queries
5 Multi-concept Queries
6 Temporal Queries
6(a) Lifelong Queries
6(b) Instantaneous Queries
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Demo:Demo: The AQBE –Query Language (3)The AQBE –Query Language (3)
2311/12/16
Q3: [Single- patient, single-concept]
-Get a patient’s medication list
- Select → Medication list concept
- Add → patient name
- Find data
AQBE-Query UI
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Demo:Demo: The AQBE –Query Language (1)The AQBE –Query Language (1)
2411/12/16
Q1: [Single-concept, multiple EHRs]
-Get all the patients recorded with abnormal (high) BP values
during patient care
- Select → Blood pressure concept
- Add → Systolic > 140
- Add → Diastolic > 90
- Find data
AQBE-Query UI
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Demo:Demo: The AQBE –Query Language (2)The AQBE –Query Language (2)
2511/12/16
Q2: [Single-concept , multiple patients]
-Find all the records with very high BMI value (>30) for patients
between the period of November 25, 2012 to January 21, 2013,
showing the sudden increase in obesity.
- Select → BMI concept
- Add → context value >= November 25, 2012
- Add → context value <= January 21, 2013
- Enter → BMI value > 30
- Find Data
AQBE-Query UI
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Sample Set of Queries (1)Sample Set of Queries (1)
Current set of Queries
1.Get a patient's current medication list. [single-(concept/patient), projection]
2.Find high blood pressure values (systolic >= 140 or diastolic >= 90 ) within a
specified EHR.[single-(concept/patient), restrict & project]
3.Find high blood pressure values (systolic >= 140 and diastolic >= 90 ) within a
specified EHR. [single-(concept/patient), restrict & project]
4.Find blood pressure values where systolic/diastolic value >0.2 within a specified
EHR. [single-(concept/patient), divide]
5.Get BMI values > 30 kg/m2 for a specific patient. [single-(concept/patient), restrict &
project]
6.Get all HbA1c observations that have been done in the last 12 months for a specific
patient. [single-(concept/patient), restrict & project]
7.Find all blood pressure (BP) values for a specific patient, showing their systolic and
diastolic blood pressure values; also change the tag-name of systolic BP as 'Sys' and
Diastolic BP as 'Dias'. [single-(concept/patient), rename]
11/12/16 DNIS 2013 26
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
8. Return all blood pressure (BP) elements having a position in which BP was
record. [single-(concept/patient), exists]
9. Get the blood pressure (BP)values where the position is not standing. [single-
(concept/patient), negation]
10. Find all the patients who have the same admitting doctor as 'A001'. [single-
concept, multi-patient,restrict & project]
11. Find all the patients who have diabetes but no record of hypertension diagnosis.
[XML definition not found]
12. Get the number of patients admitted on 9 October, 2012.[single-concept, multi-
patient, aggregate] <partial execution>
13. Get the number of all the patients with diabetes. .[XML definition not found]
14. Retrieve all patients who have not been discharged.[single-concept, multi-patient,
nested]
15. Get all patients who are suffering from the same problem as a specific patient
(e.g., diagnosis is ‘Diabetes’). [single-concept, multi-patient, nested]
11/12/16 DNIS 2013 27
Sample Set of Queries (2)Sample Set of Queries (2)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Test Query Set – Recent Literature Survey
16.The children of women which had medication XYZ during their first pregnancy
[complex query-multiple patients/concepts] (src: [11]).
17.Find the number of patients who were given medications during hospital course that
have caused an allergy in 1 or more patients[complex query- multiple patients/concepts,
aggregate, epidemiological] (src: [11]).
18.How many patients have had past medical history of “anemia”. patients[complex
query- multiple patients/concepts, aggregate, epidemiological] (src: [11]).
19.How many patients developed alopecia as a side effect of chemotherapy in the target
population[complex query- multiple patients/concepts, aggregate, epidemiological]
(src: [11]).
20.How many cases of small cell lung cancer are noted among smoking females in the
target population. [complex query- multiple patients/concepts, aggregate,
epidemiological] (src: [11]).
11/12/16 DNIS 2013 28
Sample Set of Queries (3)Sample Set of Queries (3)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
22. To retrieve results containing 3 concepts (“Fever”, “sore throat”, and “cough”
with 1 concept having 2 sub-keys with numerical value (Temp > 38.2 deg and
duration > 1 day) [complex query- multiple patients/concepts](src: [36]).
23. To retrieve results containing 5 concepts (“fever”, “sore throat”, “cough”, “no
vomiting” and “sputum”);2 concepts having 1 sub-key with numerical value
(“fever temp > 38.2 deg and duration > 1day) and 1 concept having 1 sub-key with
textual value (i.e. “sputum of yellow color”). [complex query- multiple
patients/concepts](src: [36]).
24. To retrieve results containing 3 clinical concepts (“cough”, “no sore-throat”, and
“had no sterol injection”) with 1 concept having 1 sub-key with textual value (i.e.
“non sterol injection at the left side”). [complex query- multiple patients/concepts]
(src: [36]).
11/12/16 DNIS 2013 29
Sample Set of Queries (4)Sample Set of Queries (4)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
AQBE Query Language (2)AQBE Query Language (2)
3011/12/16 DNIS 2013
S. No. Query Requirement AQBE Query Language Capability
1 Population-based Queries Yes
2 Single-patient Queries Yes
3 Epidemiological Queries Challenge
4 Single-concept Queries Yes
5 Multi-concept Queries Challenge
6 Temporal Queries Yes
6(a) Lifelong Queries Challenge
6(b) Instantaneous Queries Yes
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
AQBE Query Language (3)AQBE Query Language (3)
 Query Function Support
3111/12/16
Query Type
AQL [5]
(Ocean
Informatics)
AQBE [30]
(Relational
DB)
AQBE
(NoSQL DB)
Simple Query(Select)   
Filtered Query(Where Clause)   
Sorted Query(Order By)  (Except Distinct  
Grouping, Summary and Analysis(Group By,
Having, grouping/ aggregation/ analytical
functions)  To be explored To be explored
Joins and Intersection(Outer/Inner/
Natural/Range/Equi/Self)   To be explored
Sub-query (In/Not In/Nested/
Parallel/Multi(row/column)/single row)  To be explored To be explored
Hierarchical Query To be explored To be explored To be explored
Composite Query(Union, Union All,
Intersect, Minus)   
Top-N Query To be explored To be explored To be explored
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
11/12/16 32
Persistence Method ComparisonPersistence Method Comparison
Feature PostgreSQL
(Relational DB) [35]
DB XML(Berkeley)
(XML DB) [28]
MongoDB
Document-Oriented
(No-SQL DB)
Scalability
• Single large relation
• Versioning is expensive
• Limited scalability
• Nested structure →
archetypes and
templates
Each concept stored →JSON
document (unique id and
version id)
Performance Relational queries slow
[1]
Limited query response –
Each node traversed
• Light application
• Fast query-response
Queryability SQL like AQL (limited
capability)
Epidemiological queries
→ Low performance
Proposed AQBE language
potential → powerful querying
Indexing
• Automatic
• Composite/secondary
indexing
• Database pre-defined
• May not be suitable
• Automatic
• Composite/secondary
indexing
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
3311/12/16
Further Challenges
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
3411/12/16
1. Temporal Complexity1. Temporal Complexity
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Current TaskCurrent Task
Upgrade existing Query Language
 Implement → More algebraic operations
 Similar to SQL with simplified User-interface
11/12/16 DNIS 2013 35
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
Summary and ConclusionsSummary and Conclusions
 New Quasi-Relational Query Language
A. Possibility → Cloud-based, scalable persistence for archetypal EHRs
B. Ease of query → healthcare users
C. Facilitate → Complex Queries for developers
D. Reduce → Dependency on commercial query tools
E. Facilitate → Creation of new SEHR database
 Capable to exchange data with MS Health Vault and Google Health
3611/12/16 DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
References (1)References (1)
3711/12/16
1. Jacobs, A.: Pathologies of Big Data. Communications of ACM 52(8) (August 2009)
2. ADL for archetypes downloaded, http://www.openehr.org/svn/knowledge/archetypes/dev/html/
3. index_en.html
4. Any+time date picker downloaded form, http://www.ama3.com/anytime/
5. AQL query builder available at, http://www.oceaninformatics.com/
6. Solutions/openehr-solutions/ocean-products/Clinical-Modelling/Ocean-Query-Builder.html
7. Archetype Query Language, http://www.openehr.org/wiki/display/spec/~Archetype+Query+Language+Description
8. Beale, T., Heard, S., Kalra, D., Llyod, D.: The OpenEHR Reference Model: EHR Information Model, The
OpenEHR release 1.0.2., OpenEHR Foundation (2008)
9. Beale, T.: The OpenEHR Archetype Model-Archetype Object Model, The OpenEHR release 1.0.2., OpenEHR
Foundation (2008)
10. Casbah plugin available at, https://github.com/mongodb/casbah
11. CEN 13606 standard, http://www.en13606.org/the-ceniso-en13606-standard
12. Clinical Knowledge Manager, http://www.openehr.org/knowledge/
13. Eclipse 4.2.0, http://www.eclipse.org/
14. Redmond, E., Wilson, J.R.: Book: Seven Databases in Seven Weeks (May 2012)
15. HTML 5, http://www.w3schools.com/html/html5_intro.asp
16. http://wako3.u-aizu.ac.jp:8080/aqbe/
17. ISO 13606-1: Health informatics - Electronic health record communication- Part 1: RM., 1st edn. (2008)
DNIS 2013
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
18. JavaScript, http://www.w3schools.com/js/default.asp
19. jQuery downloaded from, http://jquery.com/
20. jQuery UI available at, http://jqueryui.com/
21. Lift JSON available at, https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/
22. MongoDB available at, http://www.mongodb.org/
23. Zloof, M.M.: Query-By-Example: The invocation and definition of tables and forms (1975)
24. Opereffa Project available at, http://www.openehr.org/wiki/display/projects/Opereffa+Project
25. Play framework available at, http://www.playframework.org/
26. PostgreSQL database downloadable from, http://www.postgresql.org/
27. Scala Plugin available at, http://www.scala-lang.org/
28. Freire, S.M., Sundvall, E., Karlsson, D., Lambrix, P.: Performance of XML Databases for Epidemiological Queries
in Archetype-Based EHRs. In: Scandinavian Conference on Health Informatics 2012, Linköping, Sweden, October
2–3 (2012)
29. Sachdeva, S., Madaan, A., Chu, W.: Information interchange services for electronic health record databases. IJCSE
7(1), 38–51 (2012)
30. Sachdeva, S., Yaginuma, D., Chu, W., Bhalla, S.: AQBE - QBE Style Queries for Archetyped Data. IEICE
Transactions 95-D(3), 861–871 (2012)
11/12/16 DNIS 2013 38
References (2)References (2)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
31. Sachdeva, S., Bhalla, S.: Semantic interoperability in standardized electronic health record databases. J.
Data and Information Quality 3(1), 1 (2012)
32. Beale, T.: OpenEHR: Node + Path Persistence (2008)
33. Twitter bootstrap framework downloaded from, http://twitter.github.com/bootstrap/
34. http://www.linkedin.com/groups/Choice-OpenEHR-persistence-layer-144276.S.208531138?qid=208adbca-
fc26-4ada-bf02-7efe5a9e5661&trk=group_most_recent_rich-0-b-ttl&goback=%2Egmr_144276
35. http://www.openehr.org/wiki/display/projects/Opereffa+Project
36. Ken Ka-Yin Lee, Wai-Choi Tang, Kup-Sze Choi, Alternatives to relational database: Comparison of
NoSQL and XML approaches for clinical data storage, Computer Methods and Programs in Biomedicine,
Volume 110, Issue 1, April 2013, Pages 99–109
11/12/16 DNIS 2013 39
References (3)References (3)
to Advance Knowledge for Humanityto Advance Knowledge for Humanity
QuestionsQuestions
4011/12/16 DNIS 2013

More Related Content

PPT
American Recovery and Reinvestment Act of 2009 HIT
PPT
Iehr ciif sdk-slides-draft-h
PPT
Vista For Research
PPTX
Hadoop ecosystem for health/life sciences
PPTX
Presentación proyecto adriana antonia_helga
PPTX
Industrial microbiology
PPTX
Tecnicas de la comunicacion ! ecci
PDF
Risk Appetite: new challenges to manage an insurance company
American Recovery and Reinvestment Act of 2009 HIT
Iehr ciif sdk-slides-draft-h
Vista For Research
Hadoop ecosystem for health/life sciences
Presentación proyecto adriana antonia_helga
Industrial microbiology
Tecnicas de la comunicacion ! ecci
Risk Appetite: new challenges to manage an insurance company

Viewers also liked (11)

DOCX
PPT
Trábajo práctico 7mo “a”
ODP
Deber exame 2
PPT
Agustin gurvich agua
PPTX
Kutuphanelerde Sosyal Medya Yonetimi
PDF
What will Sirtfi change for FIM4R?
PPTX
La caminante espectra lpower point
PPTX
Advancement Metrics and Reporting On the prowl for greater success.
PPTX
XDS - Cross-Enterprise Document Sharing
PDF
Hl7 Standards, Reference Information Model & Clinical Document Architecture
PDF
3 Master Thesis-WenQian-R0601448
Trábajo práctico 7mo “a”
Deber exame 2
Agustin gurvich agua
Kutuphanelerde Sosyal Medya Yonetimi
What will Sirtfi change for FIM4R?
La caminante espectra lpower point
Advancement Metrics and Reporting On the prowl for greater success.
XDS - Cross-Enterprise Document Sharing
Hl7 Standards, Reference Information Model & Clinical Document Architecture
3 Master Thesis-WenQian-R0601448
Ad

Similar to A Quasi Relational Query Language for Persistent Standardized EHRs: Using NoSQL Databases (20)

PPTX
Big-Data in HealthCare _ Overview
PPTX
Implementation and Use of ISO EN 13606 and openEHR
PDF
Unified Medical Language System & MetaMap
PDF
Drug Repurposing using Deep Learning on Knowledge Graphs
PDF
The Logical Model Designer - Binding Information Models to Terminology
PPT
Duerr rdap11 data_publication_at_nsidc
PDF
Clinical Dictionary for iSalut ppt
PDF
Translating into Clinical Practice: NASA 12-lead ECG Inventions for Patient-C...
PPT
Domain-specific Multi-stage Query Language for Medical Document Repositories
PPTX
PhD dissertation Luis Marco Ruiz
PPTX
Big Data in Clinical Research
PDF
Ontologies Ontop Databases
PDF
Big Data Analytics for Treatment Pathways John Cai
PDF
Clinical_Decision_Support_For_Heart_Disease
PDF
Effective Classification of Clinical Reports: Natural Language Processing-Bas...
PPTX
Managing and Analyzing Health Data (VLDB Conference)
PDF
In-memory Applications for Oncology
PDF
Big data for SAS programmers
PDF
HPC and Precision Medicine: A New Framework for Alzheimer's and Parkinson's
PPTX
MongoDB Schema Design and its Performance Implications
Big-Data in HealthCare _ Overview
Implementation and Use of ISO EN 13606 and openEHR
Unified Medical Language System & MetaMap
Drug Repurposing using Deep Learning on Knowledge Graphs
The Logical Model Designer - Binding Information Models to Terminology
Duerr rdap11 data_publication_at_nsidc
Clinical Dictionary for iSalut ppt
Translating into Clinical Practice: NASA 12-lead ECG Inventions for Patient-C...
Domain-specific Multi-stage Query Language for Medical Document Repositories
PhD dissertation Luis Marco Ruiz
Big Data in Clinical Research
Ontologies Ontop Databases
Big Data Analytics for Treatment Pathways John Cai
Clinical_Decision_Support_For_Heart_Disease
Effective Classification of Clinical Reports: Natural Language Processing-Bas...
Managing and Analyzing Health Data (VLDB Conference)
In-memory Applications for Oncology
Big data for SAS programmers
HPC and Precision Medicine: A New Framework for Alzheimer's and Parkinson's
MongoDB Schema Design and its Performance Implications
Ad

More from Aastha Madaan (6)

PPTX
Components of openEHR based EHRs
PPTX
Risk and Credentials based Access Control
PPTX
Promise of web science
PPT
Web Page Segmentation for Querying Healthcare Repository
PPTX
Observlets
PPTX
IoT Observatory
Components of openEHR based EHRs
Risk and Credentials based Access Control
Promise of web science
Web Page Segmentation for Querying Healthcare Repository
Observlets
IoT Observatory

Recently uploaded (20)

PPTX
Imaging of parasitic D. Case Discussions.pptx
PPT
MENTAL HEALTH - NOTES.ppt for nursing students
PPT
genitourinary-cancers_1.ppt Nursing care of clients with GU cancer
PPT
1b - INTRODUCTION TO EPIDEMIOLOGY (comm med).ppt
PPTX
surgery guide for USMLE step 2-part 1.pptx
PPTX
ca esophagus molecula biology detailaed molecular biology of tumors of esophagus
PPTX
Neuropathic pain.ppt treatment managment
PPT
OPIOID ANALGESICS AND THEIR IMPLICATIONS
PPT
HIV lecture final - student.pptfghjjkkejjhhge
DOCX
RUHS II MBBS Microbiology Paper-II with Answer Key | 6th August 2025 (New Sch...
PDF
Medical Evidence in the Criminal Justice Delivery System in.pdf
PDF
Human Health And Disease hggyutgghg .pdf
PPTX
Human Reproduction: Anatomy, Physiology & Clinical Insights.pptx
PPTX
SKIN Anatomy and physiology and associated diseases
PPT
STD NOTES INTRODUCTION TO COMMUNITY HEALT STRATEGY.ppt
PPTX
LUNG ABSCESS - respiratory medicine - ppt
PDF
NEET PG 2025 | 200 High-Yield Recall Topics Across All Subjects
PPTX
ACID BASE management, base deficit correction
DOC
Adobe Premiere Pro CC Crack With Serial Key Full Free Download 2025
PDF
Oral Aspect of Metabolic Disease_20250717_192438_0000.pdf
Imaging of parasitic D. Case Discussions.pptx
MENTAL HEALTH - NOTES.ppt for nursing students
genitourinary-cancers_1.ppt Nursing care of clients with GU cancer
1b - INTRODUCTION TO EPIDEMIOLOGY (comm med).ppt
surgery guide for USMLE step 2-part 1.pptx
ca esophagus molecula biology detailaed molecular biology of tumors of esophagus
Neuropathic pain.ppt treatment managment
OPIOID ANALGESICS AND THEIR IMPLICATIONS
HIV lecture final - student.pptfghjjkkejjhhge
RUHS II MBBS Microbiology Paper-II with Answer Key | 6th August 2025 (New Sch...
Medical Evidence in the Criminal Justice Delivery System in.pdf
Human Health And Disease hggyutgghg .pdf
Human Reproduction: Anatomy, Physiology & Clinical Insights.pptx
SKIN Anatomy and physiology and associated diseases
STD NOTES INTRODUCTION TO COMMUNITY HEALT STRATEGY.ppt
LUNG ABSCESS - respiratory medicine - ppt
NEET PG 2025 | 200 High-Yield Recall Topics Across All Subjects
ACID BASE management, base deficit correction
Adobe Premiere Pro CC Crack With Serial Key Full Free Download 2025
Oral Aspect of Metabolic Disease_20250717_192438_0000.pdf

A Quasi Relational Query Language for Persistent Standardized EHRs: Using NoSQL Databases

  • 1. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Aastha Madaan, W. Chu, Y. Daigo, S. Bhalla University of Aizu 1 Quasi-Relational Query LanguageQuasi-Relational Query Language for Persistent Standardized EHRs:for Persistent Standardized EHRs: Using No-SQL DatabasesUsing No-SQL Databases 11/12/16 DNIS 2013
  • 2. to Advance Knowledge for Humanityto Advance Knowledge for Humanity  EHRs → “Big data”  Lifetime data → temporal nature  Epidemic Query Needs (research on population) → Big Data  Need → Scalable and standardized ICT infrastructure  Data-standards EHRs → HL7, CEN 13606, OpenEHR  Aim → Knowledge-level interoperability 11/12/16 2DNIS 2013 IntroductionIntroduction
  • 3. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 11/12/16 3DNIS 2013 Single-patient Encounter Introduction (2)Introduction (2)
  • 4. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 411/12/16 DNIS 2013 OpenEHR ArchetypeOpenEHR Archetype  Maximal Definition : may be further revised  Currently: 352 archetype definitions  Concept: Blood Pressure (Example)
  • 5. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Universal Schema: Archetypal SerializationUniversal Schema: Archetypal Serialization definition OBSERVATION[at0000] matches { -- Blood Pressure data matches { HISTORY[at0001] matches { -- history events cardinality matches {1..*; unordered} matches { EVENT[at0006] occurrences matches {0..*} matches { -- any event data matches { ITEM_TREE[at0003] matches {-- blood pressure items cardinality matches {0..*; unordered} matches { ELEMENT[at0004] occurrences matches {0..1} matches {-- Systolic value matches { C_DV_QUANTITY < property = <[openehr::125]> list = < ["1"] = < Units = <"mm[Hg]"> magnitude = <|0.0..<1000.0|> precision = <|0|> > > > } } 11/12/16 DNIS 2013 5  Archetype Definition Language (ADL)  XML variant, Complex structure  Uses → Standard terminology codes (LOINC, SNOMED-CT, ICD)
  • 6. to Advance Knowledge for Humanityto Advance Knowledge for Humanity QueryQuery Options: AQLOptions: AQL  AQL →Archetype Query Language  Independent → System environment, storage model  Developer level → SQL +XQuery An Example → Find all the patients with high blood pressure values (Systolic >= 140 AND Diastolic >= 90). AQL Equivalent: SELECT obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude, obs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.encounter.v1] CONTAINS OBSERVATION obs[openEHR-EHR-OBSERVATION.blood_pressure.v1] WHERE obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/magnitude>=140 ANDobs/data[at0001]/events[at0006]/data[at0003]/items[at0005]/value/magnitude>=90 11/12/16 DNIS 2013 6
  • 7. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Data Management ModelData Management Model  CODASYL Data Model v/s OpenEHR Data Management Model 11/12/16 7DNIS 2013
  • 8. to Advance Knowledge for Humanityto Advance Knowledge for Humanity  Former Database Solutions  Test prototype (Key-value store) → Physical Layer  Cloud-based Database 11/12/16 8 Archetypal EHRs: Database OptionsArchetypal EHRs: Database Options DNIS 2013 XML DB Relational DB Object DB Object-Relational DB
  • 9. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Conceptual View & New Query LanguageConceptual View & New Query Language 11/12/16 DNIS 2013 9
  • 10. to Advance Knowledge for Humanityto Advance Knowledge for Humanity ProblemsProblems 1011/12/16 Universal Schema → Interoperable across distributed healthcare systems Research focus: Scalable persistence mechanism New Query Language → DNIS 2013
  • 11. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Context of StudyContext of Study 11/12/16 DNIS 2013 11 Healthcare worker Input: Patient id Target: Patient’s EHR Need: Precise Information Modern View Traditional View
  • 12. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 1211/12/16 Standardized EHRs Database System DNIS 2013
  • 13. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 11/12/16 DNIS 2013 13 The ProposalThe Proposal 1. Archetypal Definition → Flattened Forms 2. QBE-style I/P & O/P→ Archetypal Definition  Possible to Query
  • 14. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 1411/12/16 The Architecture DNIS 2013
  • 15. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Standardized EHRs Database Architecture (1)Standardized EHRs Database Architecture (1) 1511/12/16 Main Components DNIS 2013 Local Archetype Repository Cloud-based PersistenceUser-Interface
  • 16. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Experimental PrototypeExperimental Prototype 11/12/16 16DNIS 2013
  • 17. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 11/12/16 17 Standardized EHRs Database Architecture(3)Standardized EHRs Database Architecture(3) DNIS 2013 NoSQL-based Persistence JSON document Archetype Cloud-based Persistence • Unique id • Patient id • Version id ADL
  • 18. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 1811/12/16 Quasi-Relational Query Language Archetypal QBE (AQBE) Data Insert Query UI DNIS 2013
  • 19. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Query Language OptionsQuery Language Options 1. Continue with AQL → ADL Store 2. AQBE → Relational Store (PostgreSQL) 3. AQBE → JSON Store (Cloud-DB) 11/12/16 DNIS 2013 19
  • 20. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 2011/12/16 Quasi-Relational Query Language: AQBE DNIS 2013
  • 21. to Advance Knowledge for Humanityto Advance Knowledge for Humanity The AQBE – Data InsertThe AQBE – Data Insert 2111/12/16 DNIS 2013 An Example Store a patient’s blood pressure observation details Insert the following details: 1. Patient Name: John_Barak 2. Composed By: Dr. Madaan 3. Systolic BP: 95 4. Diastolic BP: 150 AQBE-Data Insert UI
  • 22. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Query-RequirementsQuery-Requirements 11/12/16 DNIS 2013 22 S. No. Query Requirement 1 Population-based Queries 2 Single-patient Queries 3 Epidemiological Queries 4 Single-concept Queries 5 Multi-concept Queries 6 Temporal Queries 6(a) Lifelong Queries 6(b) Instantaneous Queries
  • 23. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Demo:Demo: The AQBE –Query Language (3)The AQBE –Query Language (3) 2311/12/16 Q3: [Single- patient, single-concept] -Get a patient’s medication list - Select → Medication list concept - Add → patient name - Find data AQBE-Query UI DNIS 2013
  • 24. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Demo:Demo: The AQBE –Query Language (1)The AQBE –Query Language (1) 2411/12/16 Q1: [Single-concept, multiple EHRs] -Get all the patients recorded with abnormal (high) BP values during patient care - Select → Blood pressure concept - Add → Systolic > 140 - Add → Diastolic > 90 - Find data AQBE-Query UI DNIS 2013
  • 25. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Demo:Demo: The AQBE –Query Language (2)The AQBE –Query Language (2) 2511/12/16 Q2: [Single-concept , multiple patients] -Find all the records with very high BMI value (>30) for patients between the period of November 25, 2012 to January 21, 2013, showing the sudden increase in obesity. - Select → BMI concept - Add → context value >= November 25, 2012 - Add → context value <= January 21, 2013 - Enter → BMI value > 30 - Find Data AQBE-Query UI DNIS 2013
  • 26. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Sample Set of Queries (1)Sample Set of Queries (1) Current set of Queries 1.Get a patient's current medication list. [single-(concept/patient), projection] 2.Find high blood pressure values (systolic >= 140 or diastolic >= 90 ) within a specified EHR.[single-(concept/patient), restrict & project] 3.Find high blood pressure values (systolic >= 140 and diastolic >= 90 ) within a specified EHR. [single-(concept/patient), restrict & project] 4.Find blood pressure values where systolic/diastolic value >0.2 within a specified EHR. [single-(concept/patient), divide] 5.Get BMI values > 30 kg/m2 for a specific patient. [single-(concept/patient), restrict & project] 6.Get all HbA1c observations that have been done in the last 12 months for a specific patient. [single-(concept/patient), restrict & project] 7.Find all blood pressure (BP) values for a specific patient, showing their systolic and diastolic blood pressure values; also change the tag-name of systolic BP as 'Sys' and Diastolic BP as 'Dias'. [single-(concept/patient), rename] 11/12/16 DNIS 2013 26
  • 27. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 8. Return all blood pressure (BP) elements having a position in which BP was record. [single-(concept/patient), exists] 9. Get the blood pressure (BP)values where the position is not standing. [single- (concept/patient), negation] 10. Find all the patients who have the same admitting doctor as 'A001'. [single- concept, multi-patient,restrict & project] 11. Find all the patients who have diabetes but no record of hypertension diagnosis. [XML definition not found] 12. Get the number of patients admitted on 9 October, 2012.[single-concept, multi- patient, aggregate] <partial execution> 13. Get the number of all the patients with diabetes. .[XML definition not found] 14. Retrieve all patients who have not been discharged.[single-concept, multi-patient, nested] 15. Get all patients who are suffering from the same problem as a specific patient (e.g., diagnosis is ‘Diabetes’). [single-concept, multi-patient, nested] 11/12/16 DNIS 2013 27 Sample Set of Queries (2)Sample Set of Queries (2)
  • 28. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Test Query Set – Recent Literature Survey 16.The children of women which had medication XYZ during their first pregnancy [complex query-multiple patients/concepts] (src: [11]). 17.Find the number of patients who were given medications during hospital course that have caused an allergy in 1 or more patients[complex query- multiple patients/concepts, aggregate, epidemiological] (src: [11]). 18.How many patients have had past medical history of “anemia”. patients[complex query- multiple patients/concepts, aggregate, epidemiological] (src: [11]). 19.How many patients developed alopecia as a side effect of chemotherapy in the target population[complex query- multiple patients/concepts, aggregate, epidemiological] (src: [11]). 20.How many cases of small cell lung cancer are noted among smoking females in the target population. [complex query- multiple patients/concepts, aggregate, epidemiological] (src: [11]). 11/12/16 DNIS 2013 28 Sample Set of Queries (3)Sample Set of Queries (3)
  • 29. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 22. To retrieve results containing 3 concepts (“Fever”, “sore throat”, and “cough” with 1 concept having 2 sub-keys with numerical value (Temp > 38.2 deg and duration > 1 day) [complex query- multiple patients/concepts](src: [36]). 23. To retrieve results containing 5 concepts (“fever”, “sore throat”, “cough”, “no vomiting” and “sputum”);2 concepts having 1 sub-key with numerical value (“fever temp > 38.2 deg and duration > 1day) and 1 concept having 1 sub-key with textual value (i.e. “sputum of yellow color”). [complex query- multiple patients/concepts](src: [36]). 24. To retrieve results containing 3 clinical concepts (“cough”, “no sore-throat”, and “had no sterol injection”) with 1 concept having 1 sub-key with textual value (i.e. “non sterol injection at the left side”). [complex query- multiple patients/concepts] (src: [36]). 11/12/16 DNIS 2013 29 Sample Set of Queries (4)Sample Set of Queries (4)
  • 30. to Advance Knowledge for Humanityto Advance Knowledge for Humanity AQBE Query Language (2)AQBE Query Language (2) 3011/12/16 DNIS 2013 S. No. Query Requirement AQBE Query Language Capability 1 Population-based Queries Yes 2 Single-patient Queries Yes 3 Epidemiological Queries Challenge 4 Single-concept Queries Yes 5 Multi-concept Queries Challenge 6 Temporal Queries Yes 6(a) Lifelong Queries Challenge 6(b) Instantaneous Queries Yes
  • 31. to Advance Knowledge for Humanityto Advance Knowledge for Humanity AQBE Query Language (3)AQBE Query Language (3)  Query Function Support 3111/12/16 Query Type AQL [5] (Ocean Informatics) AQBE [30] (Relational DB) AQBE (NoSQL DB) Simple Query(Select)    Filtered Query(Where Clause)    Sorted Query(Order By)  (Except Distinct   Grouping, Summary and Analysis(Group By, Having, grouping/ aggregation/ analytical functions)  To be explored To be explored Joins and Intersection(Outer/Inner/ Natural/Range/Equi/Self)   To be explored Sub-query (In/Not In/Nested/ Parallel/Multi(row/column)/single row)  To be explored To be explored Hierarchical Query To be explored To be explored To be explored Composite Query(Union, Union All, Intersect, Minus)    Top-N Query To be explored To be explored To be explored DNIS 2013
  • 32. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 11/12/16 32 Persistence Method ComparisonPersistence Method Comparison Feature PostgreSQL (Relational DB) [35] DB XML(Berkeley) (XML DB) [28] MongoDB Document-Oriented (No-SQL DB) Scalability • Single large relation • Versioning is expensive • Limited scalability • Nested structure → archetypes and templates Each concept stored →JSON document (unique id and version id) Performance Relational queries slow [1] Limited query response – Each node traversed • Light application • Fast query-response Queryability SQL like AQL (limited capability) Epidemiological queries → Low performance Proposed AQBE language potential → powerful querying Indexing • Automatic • Composite/secondary indexing • Database pre-defined • May not be suitable • Automatic • Composite/secondary indexing DNIS 2013
  • 33. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 3311/12/16 Further Challenges DNIS 2013
  • 34. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 3411/12/16 1. Temporal Complexity1. Temporal Complexity DNIS 2013
  • 35. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Current TaskCurrent Task Upgrade existing Query Language  Implement → More algebraic operations  Similar to SQL with simplified User-interface 11/12/16 DNIS 2013 35
  • 36. to Advance Knowledge for Humanityto Advance Knowledge for Humanity Summary and ConclusionsSummary and Conclusions  New Quasi-Relational Query Language A. Possibility → Cloud-based, scalable persistence for archetypal EHRs B. Ease of query → healthcare users C. Facilitate → Complex Queries for developers D. Reduce → Dependency on commercial query tools E. Facilitate → Creation of new SEHR database  Capable to exchange data with MS Health Vault and Google Health 3611/12/16 DNIS 2013
  • 37. to Advance Knowledge for Humanityto Advance Knowledge for Humanity References (1)References (1) 3711/12/16 1. Jacobs, A.: Pathologies of Big Data. Communications of ACM 52(8) (August 2009) 2. ADL for archetypes downloaded, http://www.openehr.org/svn/knowledge/archetypes/dev/html/ 3. index_en.html 4. Any+time date picker downloaded form, http://www.ama3.com/anytime/ 5. AQL query builder available at, http://www.oceaninformatics.com/ 6. Solutions/openehr-solutions/ocean-products/Clinical-Modelling/Ocean-Query-Builder.html 7. Archetype Query Language, http://www.openehr.org/wiki/display/spec/~Archetype+Query+Language+Description 8. Beale, T., Heard, S., Kalra, D., Llyod, D.: The OpenEHR Reference Model: EHR Information Model, The OpenEHR release 1.0.2., OpenEHR Foundation (2008) 9. Beale, T.: The OpenEHR Archetype Model-Archetype Object Model, The OpenEHR release 1.0.2., OpenEHR Foundation (2008) 10. Casbah plugin available at, https://github.com/mongodb/casbah 11. CEN 13606 standard, http://www.en13606.org/the-ceniso-en13606-standard 12. Clinical Knowledge Manager, http://www.openehr.org/knowledge/ 13. Eclipse 4.2.0, http://www.eclipse.org/ 14. Redmond, E., Wilson, J.R.: Book: Seven Databases in Seven Weeks (May 2012) 15. HTML 5, http://www.w3schools.com/html/html5_intro.asp 16. http://wako3.u-aizu.ac.jp:8080/aqbe/ 17. ISO 13606-1: Health informatics - Electronic health record communication- Part 1: RM., 1st edn. (2008) DNIS 2013
  • 38. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 18. JavaScript, http://www.w3schools.com/js/default.asp 19. jQuery downloaded from, http://jquery.com/ 20. jQuery UI available at, http://jqueryui.com/ 21. Lift JSON available at, https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/ 22. MongoDB available at, http://www.mongodb.org/ 23. Zloof, M.M.: Query-By-Example: The invocation and definition of tables and forms (1975) 24. Opereffa Project available at, http://www.openehr.org/wiki/display/projects/Opereffa+Project 25. Play framework available at, http://www.playframework.org/ 26. PostgreSQL database downloadable from, http://www.postgresql.org/ 27. Scala Plugin available at, http://www.scala-lang.org/ 28. Freire, S.M., Sundvall, E., Karlsson, D., Lambrix, P.: Performance of XML Databases for Epidemiological Queries in Archetype-Based EHRs. In: Scandinavian Conference on Health Informatics 2012, Linköping, Sweden, October 2–3 (2012) 29. Sachdeva, S., Madaan, A., Chu, W.: Information interchange services for electronic health record databases. IJCSE 7(1), 38–51 (2012) 30. Sachdeva, S., Yaginuma, D., Chu, W., Bhalla, S.: AQBE - QBE Style Queries for Archetyped Data. IEICE Transactions 95-D(3), 861–871 (2012) 11/12/16 DNIS 2013 38 References (2)References (2)
  • 39. to Advance Knowledge for Humanityto Advance Knowledge for Humanity 31. Sachdeva, S., Bhalla, S.: Semantic interoperability in standardized electronic health record databases. J. Data and Information Quality 3(1), 1 (2012) 32. Beale, T.: OpenEHR: Node + Path Persistence (2008) 33. Twitter bootstrap framework downloaded from, http://twitter.github.com/bootstrap/ 34. http://www.linkedin.com/groups/Choice-OpenEHR-persistence-layer-144276.S.208531138?qid=208adbca- fc26-4ada-bf02-7efe5a9e5661&trk=group_most_recent_rich-0-b-ttl&goback=%2Egmr_144276 35. http://www.openehr.org/wiki/display/projects/Opereffa+Project 36. Ken Ka-Yin Lee, Wai-Choi Tang, Kup-Sze Choi, Alternatives to relational database: Comparison of NoSQL and XML approaches for clinical data storage, Computer Methods and Programs in Biomedicine, Volume 110, Issue 1, April 2013, Pages 99–109 11/12/16 DNIS 2013 39 References (3)References (3)
  • 40. to Advance Knowledge for Humanityto Advance Knowledge for Humanity QuestionsQuestions 4011/12/16 DNIS 2013

Editor's Notes

  • #2: Good Morning everyone, I am Aastha and today I am going to talk about our effort to build a quasi-relational QL for the Standardized electronic health records which have been persisted using a NoSQL database.
  • #3: -To deliver quality healthcare services, the healthcare domain requires the support of IT during various phases of patient-care. These include the primary purposes and the secondary purposes as well. IT is capable to provide scalable and flexible infrastructures to support the expanding, geographically distributed needs of the healthcare domain. EHRs in a hospital are – heterogeneous in nature It comprises of dictations from physicians, structured data from the sensors, images of XRAY. And various parameters that define patient health As the healthcare moves towards BigData – the proper analysis and querying of the data within EHRs is required This can be supported to some extent by use of – data standards for EHRs, These help representing the data uniformly across organizations which are geographically distributed For interoperable exchange of data – the prominent standards existent are – HL7, CEN 13606 and OpenEHR Among these OpenEHR is the latest and increasingly accepted standard. In this study we consider the EHRs based on OpenEHR as our prime focus
  • #4: Let us visualize how a seemingly simple single patient encounter generates complex and large amount of EHR data which is to be analyzed for improving healthcare services. During a single patient encounter, several patient-visit parameters may be involved during a check-up. These may include say, BP, glucose-level, BMI, Medication List and temperature. Each of these parameters is actually a complex, full-blown semantic object in itself and several properties are associated with each. These can be directly mapped to an Archetype artifact of the OpenEHR standard The term “Archetype” gives a full-fledged description of a medical concept Multiple concepts of say the archetypes together form an archetypal HER So far a set of 352 archetypes is defined by the standard, Hence we can say that an EHR can be an aggregation of maximum 352 archetypes Further, these are persisted in a database.
  • #5: - But before we understand what is persisted, lets take a look at the complexity of an Archetype. The archetypes are defined by clinicians Model the a specific part of clinical recording and workflow process they are used in Divided into 4 categories, say based on explanatory descriptive concepts such as Patient Examination, discharge summary Another one which describes the entries made, say for blood pressure, weight etc which are standalone concepts These also depend on the record or observation they describe say, the action (record clinical activities), instruction given out (say medication) and the evaluation performed by the clinician (adverse reaction) Further related archetypes may be clustered together into reusable artefacts Lets consider the BP archetype in the figure: It is an observation entry type of archetype Contains parameters which are grouped as the state of the patient, the events accounted for observation, the protocol about how the particular parameters were collected and finally the data which is the core of the archetype Each of the archetypes have its own unique definition
  • #6: These are defined by the archetype definition language (ADL) Which is an XML variant used to describe the parameters of the archetypes using standard terminologies It has more complex structure than the XML equivalent It represents the semantics of the archetypes and preserves the inter- and intra- archetypal relationships Each parameter is described via complete hierarchical paths and are directly convertible to XPATH expressions. These paths are queried for semantics based querying on the archetypal EHRs. It describes the admin information such as; Archetype class, rules, annotations, constraints and ontologies associated
  • #7: The Ocean informatics currently proposes a declarative semantics-oriented query language AQL Which is semantic variant of the SQL and the XQuery It makes use of archetype paths for querying There are several features not supported by it But it is a developer level language and is not easy for a healthcare expert to write an AQL query each time to retrieve some knowledge from the archetypal EHRs
  • #8: Going further let us quickly summarize the data management model of the OpenEHR standard The dual level model of the standard can be mapped to the traditional existent database model The reference model layer of the OpenEHR is persisted. the archetype model layer provides the conceptual or the logic level of the model. It supports queries/archetypes/templates and interfacing with the terminology The service model which is application specific is equivalent to the tradition layer of views for the different EHRs users. The need for query layer lies above this layer.
  • #9: The existing db solutions fail to meet the requirements of the archetypal EHRs: Capture highly nested queryable data Use of complex hierarchical paths Return results to the users in real-time In the light of these desired features we propose to use the recent NoSQL databases why not a relational database a) pre-design the exact field structures of the data which is required in the process of DB normalization to ensure data consistency. b) Relational database model s not practical for certain forms of data that require a lot of fields to handle different types of data involved. c)This includes cases where most of the data fields are left unused due to the nature of data. d)Medical data especially clinical notes possess the above characteristics.
  • #10: Up till now we have seen that each of the patient-encounter parameter is mapped to an archetype or concept Multiple archetypes or concepts together form an archetypal EHR For each EHR there may exist multiple versions These are persisted with help of the reference model of the OpenEHR Each of the archetypes is represented via an ADL The Ocean informatics proposes a declarative AQL query language based on the ADL Paths The health-worker needs to understand the syntaxes of this language in order to compose queries. This may not be his choice Hence there are two missing points here: A) the method of persistence B) an easy to use query language for the healthcare workers
  • #11: We narrow down to two guidelines for our problem statement: A scalable persistence mechanism which is horizontally scalable and can take care of nested archetypal structure A new graphical or visual query language Semantics based Easy-to use for the healthcare worker Performs general-purpose queries
  • #12: As we see in the figure, the complex patient encounter data is persisted in the DB And the healthcare worker looking for support of querying during patient care is generally aware of the patient id and wants to fetch his or her EHR This can be well modeled using the NoSQL DBs These may include the key-value type of store/the big table type of stores/ the graph or the document oriented DBs By using the NoSQL database a) the user does not require pre-defined schema, relationships and keys. b) they are low-cost, schema-free and horizontally scalable to accompany new resources when the need arises. c) significant for cloud-based solutions, common database approach for cloud based clinical systems. The general purpose queries of the users in this case may not be simple. They may require consideration of complex structure of the underlying database.
  • #14: Next we try to explain what is our proposed system all about and where is it in the context of the EHRs, big data and persistence terminologies The proposed quasi-relational query language system is directly interfaced with the persisted patient data The user can directly formulate the query using the flattened screen forms These screen forms are the templates generated from various combinations of the archetypes The system at present takes a subset of the archetypes of the OpenEHR archetype repository
  • #16: The main components of the proposed system include: Local archetype repository (subset of 40 archetypes from a total of 352 archetypes defined) The AQBE system which provides the user interface to the end-users and performs two main functions: The data-input system The query system The Persistence layer which is a document-oriented NOSQL database MongoDB
  • #17: Here we present the microscopic view of the standardized EHRs system with its client-side and the server-side components The system performs a one time activity of fetching the subset of the archetypes from the OpenEHR archetype repository the ADLs and the corresponding XMLs are fetched for the selected archetypes Archetypes from all the categories are fetched for the prototype system The server-side of the system comprises of the two databases, the local archetype repository and the standardized HER repository which is NoSQL DB. The archetype parser parses the XML of the archetype and flattens it into a form to display on the UI The dbacessAPI are responsible for storing and fetching the EHR data.
  • #18: Each of the archetype is serialized into a JSON document and stored in the MongoDB Each of the documents is stored with a unique id and patient id
  • #22: Insert the following fields: Patient Name : Ayaan Composed by: Dr. Madaan Systolic Value: 90 Diastolic : 140 Enter the data Should display message data added successfully After that go to find option Add patient name as : Ayaan Add Find data Should display complete result
  • #24: Q1: Get all the abnormal (high) blood pressure values for the patients that are recorded during patient-encounter. [single-concept, multiple EHRs] Steps for the query: Select blood pressure concept Enter systolic &amp;gt; 140, add Enter diastolic &amp;gt;90, add Find data Q2: Find all the records that recorded very high BMI (&amp;gt; 30) for patients between the period of December 25, 2012 to January 7, 2013 showing the increase the cases of obesity among the patients [single-concept, epidemiological query] steps for the query: a) select BMI concept b) add context value &amp;gt;= december 25 , 2012, add c) add context value &amp;lt;= January 7, 2013, add d) enter BMI value &amp;gt; 30, add e) Find data Q3: Get a patient’s current medication List [Single-patient query] Steps for the query: a) select medication list concept b) enter patient name, add c) find data
  • #25: Q1: Get all the abnormal (high) blood pressure values for the patients that are recorded during patient-encounter. [single-concept, multiple EHRs] Steps for the query: Select blood pressure concept Enter systolic &amp;gt; 140, add Enter diastolic &amp;gt;90, add Find data Q2: Find all the records that recorded very high BMI (&amp;gt; 30) for patients between the period of December 25, 2012 to January 7, 2013 showing the increase the cases of obesity among the patients [single-concept, epidemiological query] steps for the query: a) select BMI concept b) add context value &amp;gt;= december 25 , 2012, add c) add context value &amp;lt;= January 7, 2013, add d) enter BMI value &amp;gt; 30, add e) Find data Q3: Get a patient’s current medication List [Single-patient query] Steps for the query: a) select medication list concept b) enter patient name, add c) find data
  • #26: Q1: Get all the abnormal (high) blood pressure values for the patients that are recorded during patient-encounter. [single-concept, multiple EHRs] Steps for the query: Select blood pressure concept Enter systolic &amp;gt; 140, add Enter diastolic &amp;gt;90, add Find data Q2: Find all the records that recorded very high BMI (&amp;gt; 30) for patients between the period of December 25, 2012 to January 7, 2013 showing the increase the cases of obesity among the patients [single-concept, epidemiological query] steps for the query: a) select BMI concept b) add context value &amp;gt;= december 25 , 2012, add c) add context value &amp;lt;= January 7, 2013, add d) enter BMI value &amp;gt; 30, add e) Find data Q3: Get a patient’s current medication List [Single-patient query] Steps for the query: a) select medication list concept b) enter patient name, add c) find data
  • #31: The table displays the list of categories of common queries desired on the EHRs It represents the queries which the current system is capable to perform The system can currently perform single-concept queries for multiple patients It can perform single-patient queries on a single-concept It can perform instantaneous queries as well as the temporal queries As part of the future work we wish to establish the query capability of the proposed system across multi-concept and life-long aggregate queries
  • #32: W.r.t the query functions that the current system can perform the following table explains in detail: As we see in the table: The aggregate and join functions across patients and concepts need to be explored on the proposed NoSQL database persistence Also the nested queries and top-N queries need to be implemented.
  • #33: Here we present an overview of the qualitative comparison of various persistence methods for the OpenEHR based archetypal EHRs For the first two methods the relational and the XML based persistence the dimensions are derived from the study of related work The NoSQL based results are formulated on the basis of our prototype system The results indicate that the NoSQL based persistence can provide scalability, reduced query-response time, and high granularity of querying and also indexing for efficient retrieval
  • #35: The Standardized EHRs are life-long records of a patient The patient data need to be queried across any of the time-window Over the period of time: Archetypes change Templates evolve New archetypes come into existence The query-language needs to be capable to handle all these challenges.