art decor: an xml framework for medical metadata marc de graauw xml amsterdam 2013
TRANSCRIPT
What we’ll cover
• The problem domain– medical procedures and knowledge– healthcare IT standards (HL7, Snomed, ...)– expertise involved (IT, doctor, terminologist)
• The solution– XML data model (DECOR)– XML tooling to edit (ART) – different views and output formats – code generation
• Pros and cons of an all-XML solution
A use case• Dutch colorectal cancer screening
– entire population 55+ gets screened– faeces samples collected, tested for blood– if suspect, invitation for colonoscopy– gastro-enterologist performs colonoscopy, submits findings to registry– if tissue removed, sent to pathologist– pathologist performs macro-/microscopical analysis, submits findings
• Other use cases– Perinatology, Youth Healthcare (Netherlands)– ELGA elektronische Gesundheitsakte (Austria)– QiN KfH Datenaustausch in der Nephrologie (Germany)– epSOS, trans-European medical exchange– many more
Koppelingen
HL7 V3 CDA bericht: Art-decor, via :http://decor.nictiz.nl/art-decor/decor-project--rivmsp-
Medical terminologies
• LOINC– Logical Observation Identifiers Names and Codes– Laboratorium Observations
• ICD-9, ICD-10• Snomed• Goals:– uniform codes for exchange– enable analysis / statistics
Just enough HL7
• HL7 version 2 : currently used a lot in hospitals• HL7v3:– Reference Information Model – XML serialization– XML Schema– CDA (part text, part structured data)– Slow uptake, new developments
0..*
1 0..*
1
RIM (Reference Information Model) Backbone
Entity Participation Act
ActRelationship
1 1
0..* 0..*
ReferralTransportationSupplyProcedureCondition NodeConsentObservationMedicationAct complexFinancial act
OrganizationLiving SubjectMaterialPlaceHealth Chart
PatientGuarantorHealthcare providerInsurerPractitioner
Role1
0..*
The problem domain:Participants and development cycle
Healthcare
Terminologists
ICT Architects
HL7v3 modellers
Test / Qualification
IT providers
Data Set
DECOR
dataset
project
name
scenario
copyrightversion info
descriptionauthors
issues
value sets
identi-fications
rules
conceptgroupitem
use case
transactionactor
code systemsterminology systems
validation
conditionsconstraints
OID
statusassignment
DECOR and ART technology
• A DECOR file is an XML file– methodology developed by dr. Kai U. Heitmann– basis for transformations to other HTML / XML– fine basis for schema(tron)– has its own schema (DECOR.xsd)
• ART is tooling to make DECOR files– tooling developed by Gerrit Boers– ART is made with XQuery / XForms– open source products eXist / Orbeon
• ART and DECOR are open source (GPL / LGPL)– team: Kai, Gerrit, Alexander Henket, Maarten Ligtvoet, Marc
Healthcare
Terminologists
ICT Architects
HL7v3modellers
IT vendors
Testing
PERI
JGZ
Spoed
etc..
Stakeholders DECORXML
WEB IN
TERFACE
XForms
XQuery
eXistXM
L database
ARTtooling
StakeholdersARTDECOR
HTML
XML
Outputs
Healthcare
Terminologists
ICT Architects
HL7v3modellers
IT vendors
Testing
dataset
project
scenario
issues
value sets
identi-fications
rules
CSV
message validation
StakeholdersARTDECOR
Schematron
Schematron generation
IT vendors
Testing
dataset
project
scenario
issues
value sets
identi-fications
rules
XML
OK
?
StakeholdersARTDECOR
XML specs
UI generation
IT vendors
dataset
project
scenario
issues
value sets
identi-fications
rules
UI
HTMLCSSJS
non-XML vs XML application
XQueryeXist
Browser
XForm
User Interface LogicXML
HTMLCSSJS
Django
PostgreSQL
Browser
Templates
User Interface Logic
XML for application: pros and cons• versatile data structure
– easy to adapt– easy to generate different outputs
• easy to introduce bugs• learning curve
– XQuery: not too hard– XForms: steeper
• harder to debug– less tooling, especially server-side– client-side debugging: you see HTML, not XForm
• procedural versus declarative programming– procedural: here you have an X, multiply by 2 and give it back to me– declarative: if you see an X, multiply it by 2– XML all over the place: it’s magic, and sometimes you don’t get it
• (some) partners have limited XML knowledge• Schematron versus XML Schema
– co-occurrence...– error reporting