Request for test XML instances from the implementer community

Dear implementers,
I’ve been creating test XML files for various purposes for my PhD work, but I have a problem. I am not a clinician, and I can not easily produce more or less sensible clinical data.
So most of the time my XLM files are rubbish. They’re not realistic in many ways, and I have no idea about what typical information would go into an avarage instance of a well known archeytpe, such as blood pressure.

I believe this has been discussed before. Having a pool of few XML files for testing purposes would help us a lot, in many scenarios. I am not asking for anything complicated to build this, such as deanonymized real life data.
Some clinician input into one of the existing implementations for a bogus patient would produce exactly what we need. A few of those, and we can do alot, such as measuring performance of our implementations through 1 million inserts of these files (with minor randomization etc), or exchanging these test files accross systems.

I did not want to cross post this to clinical modelling, but we could use some clinician input in the data entry use case. Modelling is what we ask their help for most, but clinicans can also help a lot for creating a few test documents in XML, which should be valid according to published schemas.
Any potential contributors, please do respond :slight_smile:

Best regards
Seref

Hi Seref,

Average XML instance, which is typical for clinicians.
This is a difficult problem, because most of clinicians do not know what XML is.
I can show you some examples of XML, but I am not sure they could help you.

Typical data instance in my mind is.
<blood pressure>
  <systolic>120</systolic>
  <diastolic>80</diastolic>
  <units>mmHg</units>
</blood pressure>

In a daily clinical record/chart by GP, only two parameters(systolic, diastolic)
are recorded like this.

In another case, to evaluate ABI(Ankle Brachial Index, indication of
blocked artery)
needs blood pressure of four extremities.
<ABI>
  <blood pressure>
   <systolic>120</systolic>
   <diastolic>80</diastolic>
   <units>mmHg</units>
   <location>right arm</location>
</blood pressure>
---skip--
  <blood pressure>
   <systolic>110</systolic>
   <diastolic>70</diastolic>
   <units>mmHg</units>
   <location>left ankle</location>
</blood pressure>
</ABI>

For diabetics, to check orthostatic hypotension is necessary. Clinician
records patient's blood pressure in sitting position at first, and standing
position after 30 seconds. (no significant meaning at this 30 seconds)
<blood pressure>
  <systolic>120</systolic>
  <diastolic>80</diastolic>
  <units>mmHg</units>
  <position>sitting</position>
  <event>0minute</event>
</blood pressure>
<blood pressure>
  <systolic>100</systolic>
  <diastolic>80</diastolic>
  <units>mmHg</units>
  <position>standing</position>
  <event>after 30seconds</event>
</blood pressure>

I am sorry, these are not valid form, but I can transform them to valid form
if you show me some scheme.

Regards,
Shinji

Hello Seref,

When we discussed the generation of openEHR valid instances on the
wiki, we searched for some kind of open data that could be used for
this. We found this repository for machine learning
(http://archive.ics.uci.edu/ml/index.html)
Most of the information is not health related, but some is.
Information is available mostly in csv format, but I think it could be
easily translated to an equivalent XML via regular expressions.

Regards

Diego and Shinji,
Thank you both. Let me try to explain what I’m asking for, in response to your suggestions.

I am familiar with UCI repository, and I’ve been using it for quite some time now. The trouble I’m having when I use that repository is the very reason I’ve asked for the XML samples.
What I am asking for is archetype/template based XML, generated by an implementation, in response to (preferably) a clinician input through some user friendly input.
I am not expecting the clinicians to create XML files. This is why I’ve addressed implementers. There are implementations out there which has UI that lets data input, and if any of those implementations can output XML that is compatible with the published schema, that it exactly what we could use. Here are the steps to be clearer:

  1. A clinician or someone who has knowledge of typical clinical data for a clinical concept uses an openEHR implementation to create data.
  2. That data is exported to XML through the openEHR implementation.
  3. We use that as an artefact for various things

In any other case, one either has to create archetypes/templates for existing data, or enter data for an existing archetype/template, but these scenarios still have missing aspects (clinician input etc).

Simply put, I am not aware of a blood pressure measurement sample XML with sensible values that I can download and use. This and similar files would be really helpful, but we don’t have them.

Kind regards
Seref

Hi Seref,

I can provide you some templates/archetypes unofficially.

Cheers,
Shinji

Hi Shinji,
Many thanks for your kind help, but it is not the models I am asking for.
This is my point actually, some people have data (or some repositories such as the UCI)

thanks to gmail being too smart, the previous mail was sent early. Here is how it goes:

…some people have data (or some repositories such as the UCI), some have models (such as your archetypes, or the ones on CKM), some implementations support exporting to XML (such as Rong’s)

But there is no XML artifact that is an outcome of all of these. Don’t get me wrong, your help offer is much appreciated; it is just not what I’m offering to the community.

Which makes me ask: am I the only one in the openEHR implementers group who is interested in XML input to his implementation?

Best regards
Seref

Hi and Sorry for a late reply.

On Fri, Aug 10, 2012 at 5:49 PM, Seref Arikan

Which makes me ask: am I the only one in the openEHR implementers
group who is interested in XML input to his implementation?

No, I have also been asking about the same thing for some years now.

I guess you have already looked at the instances (not necessarily 100%
correct) available at
http://www.openehr.org/wiki/display/dev/Development+test+base

We are aiming to produce more instance examples to use in usability
experiments etc, but that will take time.

One approach we (Sergio Freire + LiU) used to get interesting (pretty
realistic) data for some load/query testing was to use anonymized
epidemiology data to generate 1.6 million EHRs [1] see abstract below.

Best regards,
Erik Sundvall
erik.sundvall@liu.se http://www.imt.liu.se/~erisu/ Tel: +46-13-286733

[1] Performance of XML Databases for Epidemiological Queries in
Archetype-Based EHRs.
Sergio Miranda Freire, Erik Sundvall, Daniel Karlsson, Patrick Lambrix
Submitted to Scandinavian Conference on Health Informatics 2012.
http://www.shi2012.org/

Abstract:
There are very few published studies regarding performance
of persistence mechanisms for systems that use the openEHR
multi level modelling approach. This paper addresses the
performance and size of XML databases that store openEHR
compliant documents. Database size and response times to
epidemiological queries are described. An anonymized
relational epidemiology database and associated
epidemiolofical queries were used to generate openEHR
XML documents that were stored and queried in four
opensource XML databases. The XML databases were
considerably slower and required much more space than the
relational database. For population wide epidemiological
queries the response times scaled in order of magnitude at
the same rate as the number of records (total database size)
but were orders of magnitude slower than the original
relational database. For individual focused clinical queries
where patient ID was specified the response times were
acceptable. This study suggests that the tested XML database
configurations without further optimizations are not suitable
as persistence mechanims for openEHR-based systems in
production if population-wide ad hoc querying is needed.

Hi Erik,
Exactly what I was asking for. I have not realized that the discussion led to a wiki page. Thanks for the informative response.
Any chance I can get my hands on the paper?

I’ve been putting a lot of effort into redesigning Opereffa’s back end. The design is almost complete, and it puts very strong emphasis on XML. There is always the risk that it’ll be one of those designs which may come back and bite you when you don’t expect, but your findings would be quite interesting for me anyway.

Best Regards
Seref

At some point the ADL workbench will start producing instance examples. To make this happen, we are thinking of adding the ability for clinical modellers to add 'realistic example values', in the same way as they can add default values. These example vales (on leaf nodes) can then be used by the tool to generate reasonable example instances. To make an instance of a whole EHR Extract requires building a template first, that uses archetypes with these example values set. The example generated from that will be a proper data instance according to the templates, archetypes and example value settings.

None of this will happen instantly obviously, but the plan is there, and some level of implementation will be done this year.

- thomas

Thanks Tom,
Having this functionality would certainly help, this would be the proper solution (which will unfortunately take take time and resources). The point is I guess, the broken chain of tooling/implementation from archeype to XML is a problem. If we can improve the situation a bit via community input, it may help improve the implementation of all systems out there, until we have better tools at hand.

All the best
Seref

Hi

We have the capability in CKM which allows users to upload sample data. It is in the form of a contribution as you can see at:

http://openehr.org/knowledge/document?cid=1013.17.5

You have to be logged in to see the Resources tab.

Cheers, Sam

Hi Serif,

I guess that the paper will be available in the beginning of October.

Regards,

Mikael

Hi Seref,

As you know, I’m working on the EHRGen framework: http://code.google.com/p/open-ehr-gen-framework/
This gets input from UI generated from archetypes, validates data against archetypes and persist data in an almost-by-the-book implementation of the reference model.
What we’ll need is just a XML serializer to produce any XML format from that object model (openEHR XML, CDA, etc.).

I have this on my TODO list, but it has been delayed by other interesting stuff on the tool chain. If anyone wants to help us on building this (little) component, is very welcome.

Technically this is really easy to do, because of Groovy Marpkup builders that let you write XML with Java-like code: http://groovy.codehaus.org/Creating+XML+using+Groovy’s+MarkupBuilder
Also, the model is very like the XML, so there is not an ugly transformation from & to incompatible models.

PS: there is an EHR project in Venezuela built above EHRGen, and I think we can get real data from clinicians in the near future if we could build this XML component. They already generate CDAs.