FW: Archetype Template ANNOTATIONS - requirements?

2011-01-06 Thread Heath Frankel
Hi Tom,

I tend to agree with same that annotations are most likely to be localised
and the need for language translations will be minimal, hence the need to
support annotations with a code is overkill and too complex for the 90% of
use cases.  

 

The only use case I have seen that would utilise annotations with multiple
languages is where a multi-lingual application wants to draw its context
sensitive help from an archetype/template annotation based on a user's
language setting.  Although this use case may seem compelling, I still think
this can be supported simply with an optional language attribute on each
annotation.  

 

I would suggest that the current pattern of ontology language translations
being grouped by language, then by concept/node is difficult to consume by a
human reader (yes I know, I should use a tool, but I am a geek and I read
computer code, XML and ADL as my native tongue).  Having an annotation for a
node and each of its translations in the one place would be much easier to
read the translations.  However, I do understand it would be easier for CKM
or other tools to manage a set of annotations by language, but this is where
the tools can do the work rather than the human J.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sam Heard
Sent: Thursday, 30 December 2010 9:50 AM
To: 'For openEHR technical discussions'; 'For openEHR clinical discussions'
Subject: RE: Archetype  Template ANNOTATIONS - requirements?

 

Thanks Tom

 

My experience is that annotations are organisation specific rather than
national. They are often used to link to other data that is in use in a
particular setting. 

 

There seems to be two sensible approaches:

1.   A separate section of the archetype for annotations which have a
language and organisation sections. The tag for an organisation can be their
reverse statement.

2.   An annotation syntax that can be used as required anywhere in the
archetype with optional organisation and language sub tags.

 

The former would allow CKM to present annotations required by a specific
organisation on download, or in a specific language. This would help
management a great deal.

 

Cheers, Sam

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20110106/abde1f41/attachment.html


Archetype Template ANNOTATIONS - requirements?

2010-12-30 Thread Heath Frankel
Thomas and Koray,

The Operational Template XML schema used by the Ocean Template Designer has
a view constraints element, which is a sibling of the description and
definition elements.  It is used to represent the Template Designer's hide
on form property (labelled more generically as pass_through in the OPT view
constraints).  This was designed to support GUI (and other view) directives.

 

The type of the view element is defined as follows.

 

xs:complexType name=T_VIEW

  xs:sequence

xs:element name=constraints  minOccurs=0 maxOccurs=unbounded

  xs:complexType

xs:sequence

  xs:element name=items maxOccurs=unbounded 

xs:complexType

  xs:sequence

xs:element name=value type=xs:anySimpleType/

  /xs:sequence

  xs:attribute name=id type=xs:string use=required/

/xs:complexType

  /xs:element

/xs:sequence

xs:attribute name=path type=xs:string use=required/

  /xs:complexType

/xs:element

  /xs:sequence

/xs:complexType

 

An example of its use is below.

 

  view

constraints path=/context/other_context[at0001]

  items id=pass_through

valuetrue/value

  /items

/constraints

constraints path=/context/other_context[at0001]/items[at0002]

  items id=pass_through

valuetrue/value

  /items

/constraints

...

  /view

 

Regards

 

Heath Frankel

Product Development Manager

Ocean Informatics

 

 

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Thomas Beale
Sent: Thursday, 30 December 2010 10:40 AM
To: openehr-technical at openehr.org
Subject: Re: Archetype  Template ANNOTATIONS - requirements?

 

On 29/12/2010 23:53, Koray Atalag wrote: 

Hi Tom, a very comprehensive set of questions to determine the
requirements...

 

I will provide my point by point feedback shortly but I have one
objection/suggestion re using annotations for GUI matters.

As name implies annotations seem to me something for the humans; providing
context and additional information about a particular data point. Exploiting
this section for GUI generation which will be consumed by GUI
tools/generators do not seem all too appropriate to me. What I have in mind
is a separate section for GUI Directives or at least introduce a reserved
keyword for this purpose within annotations section. I think that'll ensure
more consistent and safe implementations by different groups. Both support
your points about tag standardisation...


Hi Koray,

the annotations section is not connected with GUI directives. I think we are
all agreed they will be in a completely separate artefact.

- thomas

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101230/8dfce5e9/attachment.html


ISO 21090

2010-11-24 Thread Heath Frankel
I too are concerned, as you know Isolated 21090 is being balloted now, how
should we recommend our member countries vote given this new viewpoint?  
Should we at least be requesting a name change?
What form would the new spec take, another standard or a profile? 

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Grahame Grieve
 Sent: Tuesday, 23 November 2010 11:54 PM
 To: For openEHR technical discussions
 Cc: Rene Spronk (Ringholm)
 Subject: ISO 21090
 
 Hi All
 
 I have been having a long discussion with Tom off the
 list about ISO 21090, and we've come to agreement
 about the general picture.
 
 When I teach ISO 21090 tutorials, and I get to the
 implementation part, the first thing I say is that the
 data types are completely denormalised, and that
 I would never implement them as is inside my system
 (as anything but an object model for exchange.)
 
 And Tom says that they are all designed wrong
 to be used as data types inside a system
 
 We're both saying pretty much the same thing. The
 21090 data types are designed, as Stef pointed out,
 for *exchange*. Specifically, for exchange between
 systems that are otherwise unconnected in any
 effective way.
 
 When you use the data types inside a system, then
 they aren't so appropriate. Now we have to be careful
 about using the term inside a system because even
 within systems, we have multiple connection/exchange
 points. So by inside a system I mean, for exchange
 between different entities that are connected by a
 common architecture that establishes, to a greater
 or lesser degree, common infrastructure that is used
 to normalise the content.
 
 That normalisation might be
 - the 5 normal forms of classical relational databases
 - moving audit information away from the content to a
   specialised audit/logging functionality
 - moving constraint information out of the data into the
   system metadata
 - re-organising content that has been conflated by
   semantic intent to more clearly draw apart
   management concerns.
 - moving concerns out of the data into the code
 
 There's more, but that list will suffice for now. (so it should be
 clear that I am using normalise in a somewhat loose
 sense).
 
 Tom sees these gaps, and responds negatively, whereas
 I just accept them, knowing that they exist, and that I have
 plans to deal with them, plans that vary across my different
 systems as their architectures change.
 
 But we do both share the concern that the degree to which
 the 21090 data types are designed and optimised for
 exchange is not understood by casual adopters. It's not that
 it's impossible to adapt non-normalised models built for
 exchange to serve as system architectures (there's an
 active group in HL7 - RIMBAA - doing just that), but that
 you need to know that what you are doing is going to
 present certain challenges you will need to prepare for.
 Users could easily start to implement them in systems and
 find themselves later with a series of bad choices that they
 could have avoided earlier, and then they'd blame 21090..
 
 It appears that Tom and I may jointly develop a variant
 of ISO 21090, that features the same basic semantic
 content, but in a format that is suitable for use in systems
 rather than for exchange. It will describe clearly how to
 interoperate using 21090, but will be suited for system/case
 design.
 
 I am a little uncertain, because I am concerned that the
 particular normalisations you anticipate will affect the way
 that you design such a variant, and I don't see how to
 pick a particular set - a logical obvious candidate around
 which an implementation community would coalesce. Tom
 and I are still talking about that.
 
 Tom and I hope that this explanation will bring some clarity
 to any observers who have been left confused by our somewhat
 passionate debate to this point ;-)
 
 Grahame
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




World Peace

2010-11-23 Thread Heath Frankel
It would also seem that the SVN is also down, or at least very, very, very,
very slow.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Diego Bosc?
Sent: Monday, 22 November 2010 9:22 PM
To: For openEHR technical discussions
Subject: Re: World Peace

 

I think the wiki is down

2010/11/22 Thomas Beale thomas.beale at oceaninformatics.com

On 22/11/2010 00:23, Stef Verlinden wrote: 

Dear all, 

 

As Ed Hammond said it somewhere earlier in this discussion:  It's like World
Peace - a great idea but probably not achievable.

 

I agree with Ed if we think along the line of ?one solution should fit all?
and I also think that if we create different solutions for different
purposes World Peace is achievable after all. Please let me explain.

 

The 21090 standard is a fact, is here to stay and is not going to change
(soon). As William G. said it has been a tremendous accomplishment and
Graham did a hell of job in finding consensus between all parties involved.
Based on the reactions of some in this list and the fact the the majority of
CEN and ISO voted for it, 21090 fits it?s current purpose which is:

 

?provides set of data type definitions for representing and exchanging basic
concepts that are commonly encountered in healthcare environments in support
of information exchange in the healthcare environment? 

 

unfortunately this is not the case. If it were, we would already have the
CEN use of these data types sorted out. See the openEHR wiki page on 13606
and 21090 mapping, about halfway down.






 

The way I see it, the main point of discussion untill now is the question:
exchange between who and/or what. This is also where the solution lies. 

 

Although it isn?t stated specifically the current use of the 21090 seems to
be primarily at the level of functional interoperability (? the ability of
two or more systems to exchange information (so that it is human readable by
the receiver) (ISO/TR 20514:2005)). I?m sure it?s intended use is also at
the level of (some) semantic interoperability but allow me to make this
distinction to explain the need for different solutions. 

 

What Tom and many others on the list here are striving form is (let?s say an
?advanced level? of) semantic interoperability (? the ability for
information shared by systems to be understood at the level of formally
defined domain concepts (so that information is computer processable by the
receiving system) (ISO/TR 20514:2005)). 

 

Obviously I would like to achieve that as well, but it is not the 21090 data
types that will primarily achieve it. Actually, what we need is simply data
types that do not have all the HL7 specific use case attributes and value
restrictions all through them. For anyone other than HL7v3 messaging users,
the first question is: ok, how do we set all the attributes coming from
HXIT? From ANY? and the various other ones sprinkled throughout? How do we
obey this rule about setting NullFlavor when we don't even want to use
NullFlavor in our context. Etc...

I am not arguing for anything sophisticated actually, just that the basics
be done properly, so that we (all) would actually be able to use this
standard.






 

With advanced I mean that systems can not only support but eventually take
over certain critical functions in the medical process. This goes beyond the
level of decision support. In in the (not so far) future also fully
automated systems based on input from several parties will be created. For
instance automated triage of after hours GP visits, assess whether someone
can get a refill prescription, an agent that checks for medication
interaction, automated screening for certain risk profiles, follow up of
patients with a certain diseases, etc, etc.

 

Whether we like it or not, systems have to support and even take over some
functions of healthcare providers in order to be able to provide sufficient
care 10-15 years from now. If not for that reason alone,  this type of
applications can (hopefully) help to improve the quality of healthcare.  For
instance by making personalised medicine possible at a large scale.

 

These advanced systems are (potentially) going to decide on matters of life
and death and  therefore they need to be reliable in that the outcome must
be correct and similar in every system that uses the same standard(s). 

 

yes, we can't argue with this. If the software is full of ambiguities due to
the developers not knowing how to create the data, due to standards being
full of stuff they cannot use, then this will be dangerous.

As for proposals about what to do, I would be interested to see what the
list members think. My only addition to Stef's proposal below would be to
say that the scope is much greater than only semantically enabled healthcare
processes, but basic ones too. The way the current specification is written
(I mean the subtractive modelling style, requiring 'profiling') will mean
that 

openEHR-13606 harmonization CR regarding CLUSTER/TABLE etc and ENTRY/OBSERVATION (Was: ISO 21090 data types too complex?)

2010-11-12 Thread Heath Frankel
Hi Erik,

Interestingly, this is the same proposal I put to Thomas about 8 years ago
and I go the same response.  I do understand his rationale for making a
table a class rather than an attribute with additional conformance
statements to ensure a table is represented consistently, but we know how
well implementation guides get followed by developers.  In addition we would
be missing the functions on the class that which make it more pertinent.

 

My concern at this point is that we do already have patient data being
collected using openEHR and collapsing the ITEM_STRUCTURE would be a
breaking change, I think it would need to be a 1.1 or 2.0 change if it was
going to happen.  

 

Having said that, looking at the requirements from the clinicians it seems
that the need for TABLE is actually at the ITEM level rather than the
DATA_STRUCTURE level and Sam's proposal of extending CLUSTER for TABLE and
LIST (although I would suggest inheriting from the abstract ITEM) would not
be quite as bad as we can simulate the same levels of structure for legacy
data (although the class names would still be different unless we included
all of the ITEM_STRUCTURE types as a type of ITEM to retain backward
compatibility).

 

I would also concur with your statements about the ENTRY sub types, as Sam
mentioned we have built an INSTRUCTION index that tracks the current
state/care flow step of instructions and their associated ACTIONs providing
efficient access to this information.  The effort required to implement this
would have been much greater if these classes were not specifically
modelled.  I guess as openEHR penetrates the market, the more likely CEN
13606 would be updated with these enhancements.  To be honest I think this
is the right standards process, standardising of implementations that are
known to work in practice.  I am sure we will learn more and improve the
ENTRY subclasses further before they go into the CEN standard, then the
standard will be more useful.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Erik Sundvall
Sent: Wednesday, 10 November 2010 11:16 PM
To: For openEHR technical discussions
Subject: openEHR-13606 harmonization CR regarding CLUSTER/TABLE etc and
ENTRY/OBSERVATION (Was: ISO 21090 data types too complex?)

 

Hello again!

 

Here comes a more complete version of the mail I happened to send unfinished
this morning.

 

I hope you don't mind me breaking out a side thread with concrete
harmonisation suggestions. First an openEHR change request (CR), then an ISO
13606 change request.

1. item_structure (openEHR CR)



Regarding ITEM_TABLE (and the other classes in the openEHR item_structure
package) there was a change request from Sam that went pretty unnoticed by a
while ago, see:
http://www.openehr.org/mailarchives/openehr-technical/msg04994.html

I'm not saying we should go exactly by the letter in Sam's CR, but somehow
skipping the things currently in item_structure package in openEHR could
simplify understanding and slightly reduce implementation complexity. (It
might also shorten paths in object traversal (and thus storage depth) one
step - a possible performance gain in some implementations.)

Probably letting the data attribute of openEHR ENTRY subtypes point
straight to ITEM (or possibly CLUSTER) would be best. 

If something should be suggested to be shown in a GUI as a table, list (or
other non-tree formalism) it might be possible to define using any of the
following...
a) ...a GUI directive/hint in archetype annotations similar to the
directives shown by Koray Altag at Medinfo 2010, see slide 30 and onwards in
http://www.openehr.org/wiki/download/attachments/5996988/3_GastrOS_Atalag.pd
f
b) ...a new attribute in the CLUSTER or ITEM class (with accompanying
controlled vocabulary).
c) ...some other way I have not thought of

Suggestion a) means the directive/hint might not be available in instance
data, only in the archetype, that might be bad for safety reasons. If b) is
chosen, then that new attribute could of course be archetyped if you want
the information in the archetype as Andrew suggests.

Shortcuts to UML diagrams for comparison:
CEN/ISO:
http://www.chime.ucl.ac.uk/resources/CEN/EN13606-1/13606-1Diagramsv3e.pdf
openEHR:
http://www.imt.liu.se/~erisu/2008/openEHR-tour/print/openEHR-RM-1.0.1-may23-
17.54.gif

 

I'd suggest that this change, after refinement and discussion with openEHR
implementers followed by successful prototype implementation, be introduced
as soon as possible before there is too much real patient data stored using
the present item_structure package. Perhaps it can be introduced at the same
time as ADL 1.5 and enhancements of the LINK class which anyway will require
code changes.

2. OBSERVATION et. al. (ISO 13606 CR)

==

I can understand the CEN/ISO-urge for simplification of the openEHR ENTRY
package if the main intention of the standard is to 

openEHR-RM-LINK discussion - now also on mailing list :-)

2010-11-12 Thread Heath Frankel
Hi Erik,
I am still catching up from some time-off, interesting discussion seem to
happen while I am away...

I will start with my comments at the start and likely to respond to later
responses.

Heath

 Some of the interesting bits I've picked up so far from discussions:
 - Maybe it would be a good idea to make LINK inherit from LOCATABLE
 and thus become archetypable in itself
[HKF: ] LINK does not need to be LOCATABLE to be archetyped unless you are
talking about LINK being the archetype root.  I don't see why we need to do
this, a LINK only make sense to me within the context of its parent.  If
there truly is a need for LINK to be an archetype root then perhaps the
ARCHETYPED association should be moved to PATHABLE.

 - Tooling support for using LINK in archetypes is currently poor or non
 existent
[HKF: ] This is partly my fault, Sam started supporting LINK in the openEHR
Archetype Editor but I could not see how the constraints being specified
could be usable at the archetype level, so we stopped its development until
we had better understanding of the requirements.
 
 - There is very little (if any) reported usage experience of LINK in
 openEHR
[HKF: ] True, although this is changing, we are using it in a significant
development exactly in the way that Rong talks about his response, to relate
content within the same thread of care, in particular an indication of
proposed care and the plan of actions for that proposal.  We are
implementing these in the application without archetyping them because we
still think this is not something that can be archetyped and we are learning
how they can be used at the template level (as indicated by Rong). 
  
 - I believe the NHS has somewhat explored LINK usage in LRA using ISO
 13606
 - If archetyping LINKS, then it would in _some_ cases be desirable to
 be able restrict the type of the target, especially defining what
 archetypes the target objects must adhere to (similar to the archetype
 slot mechanism).
[HKF: ] Absolutely, this is was evident to me when I asked Sam to stop his
support for LINKs using RegEx on the target uri.  It needs to be some sort
of AQL or A-Path expression.  Tom's target type is somewhere towards it but
as indicated elsewhere we need to constrain it further to an archetype ID or
even an archetype path, but definitely not a data path/uri.

 Please fill in with nore details and thoughts.
 
 Implementers, would it have a big impact on your implementations if
 LINK was made LOCATABLE? (Let's say in v 1.0.3)
[HKF: ] I am against this proposal.  I originally thought this was necessary
for PARTICIPATION to allow it to be archetyped, but now I don't.  I realised
that for an item to have a node_id in the archetype, it doesn't need to have
a node_id attribute in the class.  As long as the constraints on the class
attributes in the archetype are distinct for each class constraint (when you
have multiple LINK constraints, the meaning/type/target_* combinations are
disjoint), then we have enough information to match a data instance at
runtime.  The node_id in the archetype is only necessary to allow further
constraints to be applied on the node in specialised archetypes/templates.

The need to populate a name on each LINK would be quite painful and
redundant as it is now for every other LOCATABLE.  Although the existing
Type attribute could be made a function taking the value of Name as is done
in the Demographic RM.

If this is necessary so that we can create a LINK archetype then I suggest
moving the association to the ARCHETYPED class to the PATHABLE class, this
would be a non-breaking change.
 
 I wonder, is it currently safe to archetype the DV_EHR_URI used in the
 target attribute of LINK just using a string matching pattern or do
 we need additional mechanisms? The URI value represents an identifier
 of some node inside a versioned object, do string patterns matching
 DV_EHR_URI values cover for all kinds of target range restrictions
 we'd likely want to express if archetyping LINKs? 
[HKF: ] As I indicated, I don't believe this is useful and why we stopped
development of LINK in the archetype editor.

 Maybe they actually do work using wildcards in the right places? 
[HKF: ] Yes, I guess if you ignored all the first part of the URI and just
provide the data path part, then it may be possible.  But as I indicated
above, I think it needs to be more of an archetype path than a data path.  I
realise difference is semantic but relevant in this case.  I think A-Path or
AQL (or ADL rules) would be a better representation than a URI.  I know Sam
was of the opinion early that URIs could be used for queries, and this
support by the RESTful service community, this is probably the origins of
his intent to use a URI constrain for LINK target.  I just don't see URIs
supporting more complicated query requirements, hence AQL (and I am also a
fan of A-Path) 

 How tricky will it be to
 implement that constraint checking at runtime data creation?
[HKF: ] 

openEHR-RM-LINK discussion - now also on mailing list :-)

2010-11-12 Thread Heath Frankel
Hi Erik

 1. Will the XML schema get updated to make sure patient data instances
 carry along the archetype/template inheritance in a good way?
[HKF: ] I have spoken with Tom on this topic considerable, we are looking at
extending the ARCHETYPED class to support a list of archetype_ids (similar
to HL7 CDA class having multiple template_ids) to support matching on any of
these in queries.  We think this is the least impact change while supporting
queries without the need for an external archetype ontology service.

 2. Should AQL be modified to include a convenient way of specifying if
 we are asking for data only entered using a specific archetype or if
 we are looking for data entered using that archetype any of its
 specialisations? (Previously wildcards might have worked depending on
 interpretation/implementation of AQL documentation, now with the 1.5
 change they definitely won't.) What should be the default behaviour if
 just writing an archetype name in part of the query?
 [HKF: ] Yes, RegEx expression will not be useful any more.

 Quoting from the 01 Feb 2010 version of Knowledge Artefact
 Identification Section 5.3.3:
 ...given an archetype X used to create data, the following archetypes
 could be used for querying:
 . X, i.e. exact same version, revision  commit;
 . any previous revision of X;
 . any of the specialisation parents of X;
 . any previous revision of any of the specialisation parents of X.
 
 Does the could be used wording here mean that the default behaviour
 of an AQL response should be to retrieve data matching all these
 cases?
[HKF: ] From my discussions with the clinicians, this seems what they want.
When we designed AQL to use RegEx based on the structured archetype IDs, it
seemed technically reasonable that we wanted to query a generic archetype
without its specialisations so we made it explicit to request a generic
archetype and its specialisations.  This will need to be considered in the
next iteration of query engines.  We probably need some implementation
guidance on this (along with many other topics).

 3. Will the semantics and syntax of the path strings used in PATHABLE
 objects be affected? Where is that path syntax actually defined, is
 chapter 11 of the Archetype Overview the authoritative source? Has it
 ever been possible to find data from specialisations using calls to
 methods of PATHABLE? Should it be?
[HKF: ] I would not expect paths to have the same subsumption rules as
queries, I would expect paths to be specific to a data instance.

Heath




ISO 21090 data types too complex?

2010-11-09 Thread Heath Frankel
Hi all,
For those that remember me, I was quite active in HL7 up until about 5 years
ago.  About that time I attended an ISO meeting in Berlin as an Australian
delegate to try to facilitate the harmonization of HL7/CEN/ISO data types
for healthcare.  At the meeting there were a lot of frustrated people trying
their best to move this project ahead for some time and it was looking like
a hopeless cause.  There was one last ditch effort by the leader of the
project at the time (whom I can't remember his name, but he was from the
UK).  To do this, we agreed that we would build on top of the existing ISO
11404 IT - General Purpose Datatypes standard rather than reinventing the
wheel and we would only include the data types that we could agree on.
Unfortunately the project leaders could not continue his task (his boss must
have been more frustrated than he was) and this directive must have gotten
lost as the project transitioned to the new leader.

I have a lot of respect for Grahame for taking on the task that no one else
wanted (including myself), but it would appear to me that Grahame has tried
to do a too good a job by trying to incorporate everyone's requirements.

As an ISO standard, I believe that it should be an intersection of all the
input specifications, rather than a union and if ISO 21090 followed the
committee's directive from the Berlin meeting, we would have a usable
standard that would not require profiling.  Extensions could be made by
parties knowing that they are just that, but at least the core data types
would support knowledge development and system interoperability. 

This is not a criticism of Grahame, in fact it is probably my fault for
dropping away from this project and the standards world in general , but
this was something I had to do for my own sanity (it hurts when you
constantly hit your head against a brick wall, I needed to do something that
I thought was more practical).  

This might be all too late, I am not sure what the status of ISO 21090 is,
but I thought it may be useful to have this hindsight considering people are
looking for better ways.

Heath Frankel
Ocean Informatics

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Grahame Grieve
 Sent: Tuesday, 9 November 2010 5:21 AM
 To: OpenEHR technical discussions
 Subject: Re: ISO 21090 data types too complex?
 
 hi All
 
 A roll up of comments:
 
 1. ISO 21090 is often (always?) profiled
 
 It seems remarkable to me that people think it's a problem that ISO
 21090
 needs to be profiled. Who would've guessed that a full standard that
 meets
 many requirements is simpler to implement if you profile out the
 features
 that reflect requirements you don't have? I'm pretty sure that this is
 true
 of every other standard as well. It's certainly true of all my
 implementations
 of W3C, IETF, and OMG standards.
 
 2. Some people have responded vehemently to Tom's initial comments
 
 I suppose I'm a little guilty. I don't mind people criticising ISO
 21090.
 Other's people's list of criticisms will never be as a long as mine.
 But
 it's frustrating to respond to the same wrong comments repeatedly,
 especially when the come from people who are widely and rightfully
 regarded as genuine experts
 
 3. In health informatics, standards are done differently.
 
 We had this discussion last week. I made the point that this is
 true of IT vertical industry integration standards. I don't believe
 Tom offered a counter example to this.
 
 4. The ISO process is flawed
 
 Yes. As is every other process, each in it's own way.
 
 5. Cryptic type names.
 
 Yes. Sorry. But we do actually define both short and long names,
 so that people can use either. But people always choose the short
 name. So there's a bit of market influence at work there.
 
 6. Eric's comments about typing
 
 Eric, we do allow OID as a reference to value set. We expect
 that you need the OID registry and CTS to make this work (since
 you asked how it would). We discussed the notion of putting the
 entire value set in the data type, but this is not properly in the
 scope of the data types. I think that models can and should
 use the data types to communicate the possible set of values,
 but I'm comfortable that we didn't do this in data types
 
 Grahame
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




ISO 21090 data types too complex?

2010-11-09 Thread Heath Frankel
  As an ISO standard, I believe that it should be an intersection of
 all the
  input specifications, rather than a union
 
 extension has it's own difficulties, as does union. We were aware of
 the
 berlin decision, but ISO 21090 resulted from a deliberate decision
 to do something different. Was that a right decision? Unfortunately,
 time won't tell, since the alternatives are purely hypothetical.
 

[HKF: ] Obviously this deliberate decision was made without the parties that
were in Berlin who had come to that conclusion for a very good reason, they
had already tried that approach without success.  So we are back to the same
position we were in 5 years ago, with another data types standard that is
unable to be used out of the box ubiquitously in healthcare information
systems.





ISO 21090 data types too complex?

2010-11-09 Thread Heath Frankel
Have a look at ISO 11404, it is an intersection (datetime is defined
elsewhere ) and every programming language, database system and
serialisation format uses it and extends it as required.




On 09/11/2010 7:13 PM, Grahame Grieve grahame at kestral.com.au wrote:

which is more likely to be used out of the box?
intersection, or union?
Union at least has everything

Grahame



On Tue, Nov 9, 2010 at 7:14 PM, Heath Frankel
heath.frankel at oceaninformatics.com wrote:
  As ...

 [HKF: ] Obviously this deliberate decision was made without the parties
that
 were in Berlin who ...

 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mail...

-- 
Grahame Grieve, CTO
A: Suite 8a / 17 Burgundy St, Heidelberg VIC 3083
P: + 61 3 9450 2230
M: + 6...

openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/li...
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101109/4ed69914/attachment.html


existence and assumed value

2010-09-20 Thread Heath Frankel
Hi Bert,
Assumed value is different to default value (see the AOM spec for definition
of assumed value, default value is further defined in the new 1.5 AOM spec).
If an element has a assumed value defined and its value is not present, the
assumed value should not be used in the data, it remains not present.  The
meaning of not present is the assumed value from a clinical perspective, but
does not get injected into the data.  Compare with a default value which
does get injected into the data when the value is not originally present.

My understanding is that assumed values are most usually used in state, not
data (e.g. assumed value of blood pressure position is sitting).

Heath 

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Bert Verhees
 Sent: Monday, 20 September 2010 12:15 AM
 To: For openEHR technical discussions
 Subject: existence and assumed value
 
 Hi all,
 
 I noticed that the JAVA ADL-parser marks a CObject existence as
 required
 if it is not specified in ADL
 If there is also an assumed value specified, then this is, in my
 opinion
 conflicting, because the function of the assumed value is to use it
 when
 there an attribute is not used
 (page 21 AOM.pdf).
 
 Or am I wrong?
 
 Thanks for your attention
 
 Bert
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




proposed ADL 1.5 simplification

2010-07-07 Thread Heath Frankel
The Canonical MD5 hash generated by the archetype editor is based on the
definition and ontology attributes of the AOM, therefore the concept is not
considered.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sebastian Garde
Sent: Tuesday, 6 July 2010 4:30 AM
To: For openEHR technical discussions
Subject: Re: proposed ADL 1.5 simplification

 

Hi Thomas,

That makes a lot of sense in my opinion.
Don't think it will be a major problem, at least in the Java space this
particular change in ADL 1.5 is not worrying me as there are others that are
a lot more fundamental.

Not sure if this change would has an impact on the canonical MD5 hash
generated by the Archetype Editor - ideally it would be the same for an
archetype with or without the concept clause?

Sebastian

Thomas Beale wrote: 


In all archetypes that I have ever seen, the 'concept' at the top of the
archetype is always the at-code of the root object constraint of the
archetype. It would make sense to turn this into a function, and remove this
clause from archetypes  templates. In fact, the concept code is by
definition the node_id of the root object. In ADL 1.5, the root object must
hae a node_id, according to the following rule:

*   VACCD: archetype definition code validity. The node identifier of
the root node of the definition section must be the concept code mentioned
earlier in the archetype.

So... it seems logical to remove it from the archetype as data, and change
the 'concept' property to a function which simply retrieves the node_id of
the root object.

It seems to be that this would be a useful change to put into ADL 1.5. Would
this impact badly on tools and parsers? I think that most parsers could be
left as they are, and so could most archetypes; the 'concept' clause would
be sliently ignored in future. New ADL 1.5 archetypes being created would
have no concept clause. 

- thomas beale



 



  _  



 
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
  

 

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100707/64848e9a/attachment.html


proposed ADL 1.5 simplification

2010-07-07 Thread Heath Frankel
Sorry, I was wrong, only the description element is removed from the
Canonical Archetype Model Digest, the concept is included and so is the
adl_version as indicated by Peter.

 

Heath

 

From: Heath Frankel [mailto:heath.fran...@oceaninformatics.com] 
Sent: Wednesday, 7 July 2010 10:41 AM
To: 'For openEHR technical discussions'
Subject: RE: proposed ADL 1.5 simplification

 

The Canonical MD5 hash generated by the archetype editor is based on the
definition and ontology attributes of the AOM, therefore the concept is not
considered.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sebastian Garde
Sent: Tuesday, 6 July 2010 4:30 AM
To: For openEHR technical discussions
Subject: Re: proposed ADL 1.5 simplification

 

Hi Thomas,

That makes a lot of sense in my opinion.
Don't think it will be a major problem, at least in the Java space this
particular change in ADL 1.5 is not worrying me as there are others that are
a lot more fundamental.

Not sure if this change would has an impact on the canonical MD5 hash
generated by the Archetype Editor - ideally it would be the same for an
archetype with or without the concept clause?

Sebastian

Thomas Beale wrote: 


In all archetypes that I have ever seen, the 'concept' at the top of the
archetype is always the at-code of the root object constraint of the
archetype. It would make sense to turn this into a function, and remove this
clause from archetypes  templates. In fact, the concept code is by
definition the node_id of the root object. In ADL 1.5, the root object must
hae a node_id, according to the following rule:

*   VACCD: archetype definition code validity. The node identifier of
the root node of the definition section must be the concept code mentioned
earlier in the archetype.

So... it seems logical to remove it from the archetype as data, and change
the 'concept' property to a function which simply retrieves the node_id of
the root object.

It seems to be that this would be a useful change to put into ADL 1.5. Would
this impact badly on tools and parsers? I think that most parsers could be
left as they are, and so could most archetypes; the 'concept' clause would
be sliently ignored in future. New ADL 1.5 archetypes being created would
have no concept clause. 

- thomas beale

 
 
 



  _  



 
 
 
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
  

 

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100707/1c56b73a/attachment.html


Unique Name Rule - RE: ADL 1.5 - relaxing a conformance rule - feedback sought

2010-05-25 Thread Heath Frankel
Thomas,

 

the above kind of thing happens (to my knowledge at least) only when
multiple instances of a given node defined in a system of archetypes and
templates, are created at runtime. These are then only distinguishable by
name or some other attribute. The current rule in openEHR is that the name
field has to be made unique across children of an attribute; this needs to
be relaxed so that name only needs to be unique across those siblings having
the same at-code. Now, one of the big changes in ADL 1.5 is that anything
you change in a template (+/- the discussion we are now having about
occurrences etc) forces a new at-code specialisation, just like in an
archetype, whereas in the current de facto template standard, it doesn't - a
lot of overriding of the name field is done in current templates. So a large
proportion of his problem will go away with ADL 1.5.



[HKF: ] 

I would suggest that this unique name constraint is relaxed altogether.  It
is a relatively undocumented constraint that is not formally expressed in
the RM, it is alluded to in one place in the COMMON Directory package.

 

This constraint is an artificial constraint enforced by the RM, which no
other information model has, purely to ensure unique data paths.  Although
this reasoning is valid, I do not believe that enforcing this in the
reference model is reasonable  and is overly restrictive.  It requires
either the system or user to provide a unique name on every multiple
occurrence of a node.  In the case of the user this is onerous and makes
user interfaces unfriendly.  For systems to generate a unique name simply
results in names such as Blood Pressure #1, or complex algorithms such as a
series of concatenated data items to produce a unique name that may not
conflict with another node, which long and replicates data specified
elsewhere and still doesn't guarantee uniqueness, e.g. Blood Pressure
2010-05-35 08:55:30.

 

My biggest concern is the overloading of the responsibilities of the name
attribute, originally it was seen as the local name of archetyped concept,
allowing data to be rendered with captions using these local names.  Auto
generated naming algorithms make these impossible to use for display
purposes.

 

I think we have two choices:

* if an application context requires uniqueness then it is the
responsibility of the modellers and implementers to ensure there is some
combination of attributes that can be used to identify data nodes uniquely
using the attributes that make sense in that context.  This may be name,
uid, event time, an archetyped node.

* provide a real identifier attribute designed for the purpose that can
optionally be used when uniqueness is required.

 

The benefit of allowing non-unique paths is that we have a solution for the
multi-value problem without any need to change the existing reference model
(except for removing this informal unique name rule), allowing us to use a
non-unique path to retrieve all answers for a multi-value question.  

 

Regards

 

Heath

 

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20100525/5ea3ceee/attachment.html


Can a single CONTRIBUTION ever affect two separate EHRs?

2010-01-29 Thread Heath Frankel
Erik  Thomas,

I had the same question a while back for the same use case.  I could not
find anything in the specifications/models that indicates that contributions
are restricted to a single EHR, as Erik says contributions can be associated
with any VERSION OBJECT_REFs.  I think this topic needs to be discussed
further and clarified in the specifications.  For the record, the Ocean EHR
Server currently requires two contributions.

 

If we compare the EHR repository with a SVN repository, SVN allows us to
commit movements of data from one folder to another to ensure integrity of
repository content at any point of time and an audit trail of the operations
performed to the repository.  I see moving data from one EHR to another
within the same repository as a similar operation and if we need to do this
in two contributions then the integrity of the EHR repository is compromised
and lacks the audit tracing of the move operation.  

 

The order of the add and delete contributions will change the way the
repository looks like between the two contributions, if we add the items to
the target EHR before deleting them from the source we actually have
duplicates of the same data, potentially affecting population queries at
this intermediate state.  Deleting the items from the source EHR before
adding them to the target has the opposite affect but perhaps not quite as
problematic.  Allowing this to happen in a single contribution avoids this
intermediate state and provides a better audit trace of the operation.

 

The other issue I found with this use case was the need to create new
version UIDs for the compositions in the target EHR contribution due to the
need for the source compositions to be retained and marked as deleted.  This
would be required no matter if this was done as 1 or 2 contributions due to
the add/delete nature of the operation.  

 

If we had a specific move operation, we could physically move the existing
VERSIONED_OBJECT to the target EHR, but we would need to ensure that the
repository still reflected the fact that the VERSIONED_OBJECT was part of
the source EHR prior to the move contribution.  This would be difficult to
represent because the VERSIONED_OBJECT.owner_id would need to be changed to
the target EHR as part of the move operation, which breaks the versioning
model and has no means to record the fact that it used to be part of the
source EHR.

 

I think we need some implementation guidance on this Use Case, the Wiki is
probably a reasonable place to do this for now.

 

Heath 

 

   

 

From: openehr-technical-boun...@chime.ucl.ac.uk
[mailto:openehr-technical-bounces at chime.ucl.ac.uk] On Behalf Of Thomas Beale
Sent: Thursday, 28 January 2010 11:26 PM
To: openehr-technical at openehr.org
Subject: Re: Can a single CONTRIBUTION ever affect two separate EHRs?

 


Hi Erik,

in principle your reasoning is correct, and we could solve merge  demerge
problems with some kind of uber-Contribution. However, at the moment the
formal modelling only allows for Contributions to be associated with single
EHRs. One of the reasons is that EHRs could be separated, due to decease,
archiving, one patient moving etc, so a cross-EHR Contribution would then be
broken up in some way. I think that at a practical level the correct
approach is simply to ensure that certain kinds of updates are handled at
the database transaction layer, i.e. either they succeed or they are rolled
back. In any case, if health data for person A is found in person B's
record, that has to be removed ASAP, and regardless of whether it could be
added to A's record at the same time or not

- thomas beale


On 28/01/2010 11:59, Erik Sundvall wrote: 

Hi techies!
 
A possibly stupid question:
 
Can a single CONTRIBUTION ever affect two separate EHRs?
 
I understand that a CONTRIBUTION normally only affects a set of
VERSIONED_OBJECTs within a single EHR, but are there any exceptions?
Technically the class CONTRIBUTION can point to any OBJECT_REF, but
what should be allowed for real?
 
A possible use case could be when moving some compositions between
records (e.g. due to entry mistakes or temporary records for
unidentified patients). Then one could either create a single
CONTRIBUTION describing the move or two CONTRIBUTIONs: one in the
source record indicating deletion and one in the source record
indicating addition.
 
I guess the last one (creatinig two CONTRIBUTIONs) is the preferred
one, but I just want to be sure if the first case is ever allowed.
 
Best regards,
Erik Sundvall
erik.sundvall at liu.se http://www.imt.liu.se/~erisu/  Tel: +46-13-286733
(Mail  tel. recently changed, so please update your contact lists.)
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
  

 

-- 


Ocean Informatics

Thomas Beale
Chief Technology Officer, Ocean http://www.oceaninformatics.com/
Informatics

Chair 

data types and structures questions

2009-12-22 Thread Heath Frankel
Masourmeh,

There is no generics in XML Schema, hence you cannot define a single type
for all intervals.  The XSD does what compilers that support generics do and
creates a real type for each type of T that is used with the generic type.
It should also be noted that these IntervalOf* types are only used in XML
Archetypes to make it easier to validate and use the resulting archetype
document without an AM implementation.  These IntervalOf* types are not used
in openEHR RM data but instead uses the DV_INTERVAL type that allows any
DV_ORDERED as the lower and upper without any insurance that they are of the
same type and requires an RM implementation to enforce these RM assertions.

 

Heath 

 

From: openehr-technical-boun...@chime.ucl.ac.uk
[mailto:openehr-technical-bounces at chime.ucl.ac.uk] On Behalf Of Masoumeh
Seydi
Sent: Monday, 21 December 2009 3:53 PM
To: openehr-technical at openehr.org
Subject: data types and structures questions

 


Hi All,
 I've got some questions about data types and structures. I was wondering if
someone could help me.

1. Why an item_single can,t be empty but other structures may be. I mean
'items attribute's cardinality in item_single is 1..1 (and this is logical.
coz' an item_single without element is meanless). But in other structures,
the cardinality of items attribute is 0..1. What's the point of having an
empty list or tree or table (without ant item in it)?

2. What's the difference between CLUSTER and ITEM_TREE? Both can have
CLUSTERs and ELEMENTs. And why in all structures in CKM, there is a Data
branch shown in archetype mindmap but in cluster archetypes, there is a
Items branch?

3. There is an  Interval intrface containing lower and upper attributes.
Other intervals like IntervalOfReal, IntervalofDate, IntervalofDateTime,
IntervalofTime and IntervalofDuration with lower and upper attributes in xsd
file in the site. My question is, why there is not an Interval class that
contains an attribute for declaring the type of interval and so get rid of
other interval classes for every type?

Thanks in advance
Masoumeh



 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20091222/de20a131/attachment.html


DV_DATE definition mismatch

2009-11-16 Thread Heath Frankel
Hi David,

There is nothing wrong in the openEHR specifications or the Ocean Archetype
Editor?s construction of the ADL representation of an ELEMENT of type
DV_DATE.

 

The RM specifies the DV_DATE class as having a value attribute of type
string that represents an ISO8601 date, which supports partial dates, e.g.
?1934-05? or ?1934? (also note that ?193405? is also a valid ISO8601
representation of ?1934-05?).  These partial dates are not supported by
XML?s xs:date and hence it has not been used in the schema.

 

The constraint specified in the ADL fragment you have provided below is a
further constraint on this ISO8601 representation, as specified in
http://www.openehr.org/releases/1.0.2/architecture/am/adl.pdf section
5.4.6.1.  This particular constraint indicates that the month is optional
and day is not to be provided, so valid date must be a partial date like the
examples above. 

 

What Java Parser are you using?  Are you sure that the parser is not
producing a DvDate object that represents the value attribute of the
ELEMENT, which itself has a value attribute which has a constrained string
representation of a partial date?

 

Regards

 

Heath

 

Heath Frankel

Product Development Manager

Ocean Informatics

 

heath.frankel at oceaninformatics.com

+61 (0) 8 7127 5574 

 

 

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of David Moner
Sent: Friday, 13 November 2009 9:09 PM
To: For openEHR technical discussions
Subject: DV_DATE definition mismatch

 

Hello everybody,

I have detected what it seems a mismatch between the DV_DATE definition of
the reference model and the ADL parser/AOM model specifications.

At the RM, the DV_DATE value is defined as a String constrained as an
ISO8601 pattern. This is both at the RM specification and at the XML Schema.

Following the ADL/AOM specifications, something such as (this code has been
generated by the Ocean Archetype Editor)
DV_DATE matches {
value matches {-??-XX}
}
will be parsed as a C_Primitive_Object of the type Date (in fact, DvDate at
the java parser that I use).

The problem then is that the DvDate type parsed does not correspond to the
String definition of the RM, generating then a non valid archetype that does
not correspond to the RM.

There are two possible solutions. Or the RM is changed to represent
correctly the DV_DATE value as a xs:date type with the appropriate ISO8601
facet or the archetypes should take the form
   value matches {-??-XX}
to be parsed as a String according to the RM definition.

I'm right with this?

-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20091116/f6e54fd3/attachment.html


xml-instance of archetypes

2009-11-16 Thread Heath Frankel
Hi Karl,
Have a look at
http://southern.oceanehr.com/Ehrview15/?ehruri=ehr://6421a888-e1cb-4741-b629
-e69a92c2812a/fc995f12-e8bf-4c86-b292-0434bef0c9ad::B9D93A96-52C0-4401-8DC8-
882413140145::1.  You can login using username test and password test.
Click the OpenXML button in the bottom right hand corner to see the
underlying XML.

Regards

Heath

Heath Frankel
Product Development Manager
Ocean Informatics

heath.frankel at oceaninformatics.com
+61 (0) 8 7127 5574 



 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Karl Holzer
 Sent: Sunday, 15 November 2009 12:17 AM
 To: openehr-technical at openehr.org
 Subject: xml-instance of archetypes
 
 Hi all,
 
 Me and my colleague are trying to create ehr extracts  in form of
 instances of different openehr archetypes (body mass index for example)
 as XMLs.
 
 Our problem is that we don't know if the structure of our xml is
 absolutely right.  So, does anyone have valid xml-instances of the body
 mass index or similar archetypes (with anonymised or some kind of dummy
 data)? The most useful file for us would start from the composition
 class. We know the .xds files but can't figure out the right structure.
 
 Thanks in advance,
 Karl
 
 --
 DSL-Preisknaller: DSL Komplettpakete von GMX schon f?r
 16,99 Euro mtl.!* Hier klicken: http://portal.gmx.net/de/go/dsl02
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical





xml-instance of archetypes

2009-11-16 Thread Heath Frankel
Please note that the composition instance provided below may be using
archetypes that are either older than those available in CKM or not
available at all.  However it should serve your purpose of seeing what an
openEHR composition that contains a BMI looks like in XML.

Heath

 -Original Message-
 From: Heath Frankel [mailto:heath.frankel at oceaninformatics.com]
 Sent: Monday, 16 November 2009 10:45 AM
 To: 'For openEHR technical discussions'
 Subject: RE: xml-instance of archetypes
 
 Hi Karl,
 Have a look at
 http://southern.oceanehr.com/Ehrview15/?ehruri=ehr://6421a888-e1cb-
 4741-b629-e69a92c2812a/fc995f12-e8bf-4c86-b292-0434bef0c9ad::B9D93A96-
 52C0-4401-8DC8-882413140145::1.  You can login using username test and
 password test.  Click the OpenXML button in the bottom right hand
 corner to see the underlying XML.
 
 Regards
 
 Heath
 
 Heath Frankel
 Product Development Manager
 Ocean Informatics
 
 heath.frankel at oceaninformatics.com
 +61 (0) 8 7127 5574
 
 
 
  -Original Message-
  From: openehr-technical-bounces at openehr.org [mailto:openehr-
 technical-
  bounces at openehr.org] On Behalf Of Karl Holzer
  Sent: Sunday, 15 November 2009 12:17 AM
  To: openehr-technical at openehr.org
  Subject: xml-instance of archetypes
 
  Hi all,
 
  Me and my colleague are trying to create ehr extracts  in form of
  instances of different openehr archetypes (body mass index for
 example)
  as XMLs.
 
  Our problem is that we don't know if the structure of our xml is
  absolutely right.  So, does anyone have valid xml-instances of the
 body
  mass index or similar archetypes (with anonymised or some kind of
 dummy
  data)? The most useful file for us would start from the composition
  class. We know the .xds files but can't figure out the right
 structure.
 
  Thanks in advance,
  Karl
 
  --
  DSL-Preisknaller: DSL Komplettpakete von GMX schon f?r
  16,99 Euro mtl.!* Hier klicken: http://portal.gmx.net/de/go/dsl02
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical





Sending a new object using the Contribution

2009-10-16 Thread Heath Frankel
Hi Soheil,
An EHR repository requires a service interface which is yet to be defined by
openEHR.  Some of the classes such as EHR, Contribution and
VERSIONED_COMPOSITION are not classes used for containment purposes, they
are intended to be used as part of a service interface.  This is why the
draft ehr_extract_rm defines the classes EHR_EXTRACT, X_VERSIONED_OBJECT and
X_CONTRIBUTION separately.

The draft ehr_extract_rm define the X_CONTRIBUTION as part of the
SYNC_EXTRACT in Figure 11 (section 7), but the draft has some errors left
over from previous versions.  The MESSAGE_CONTENT parent type of
SYNC_EXTRACT I believe is equivalent to the EXTRACT_CONTENT parent type of
EHR_EXTRACT_CONTENT in Figure 7 (section 5), which is equivalent to
EXTRACT_ENTITY_CONTENT in Figure 6 (section 4).  Based on that premise, the
X_CONTRIBUTION is contained within EXTRACT_CHAPTER (see Figure 6), via the
content relationship to the SYNC_EXTRACT (subtype of
MESSAGE_CONTENT/EXTRACT_CONTENT/EXTRACT_ENTITY_CONTENT) that contains the
list of X_CONTRIBUTIONS and the EXTRACT_CHAPTER has an entity_identifier
which is the EHR ID providing an explicit relationship between the
CONTRIBIUTION and the EHR.

The Ocean Informatics EHR Server, provides a service interface that directly
operates against the EHR repository through the EHR and
VERSIONED_COMPOSITION classes rather than extract interface.  This EHR
Server service interface provides a CommitContribution method that has the
following parameters (among others):

* ehrId: HIER_OBJECT_ID
* audit: AUDIT_DETAILS
* versions: ORIGINAL_VERSIONT[]

You will notice that audit and versions are similar to those specified in
X_CONTRIBUTION, but the ehrId is an additional parameter to ensure the
versions are added to the correct EHR.  The Ocean EHR Server derives the
contribution UID from the contribution attribute in the versions.   

I believe that the development of the EHR Service interface is soon to
begin, but until then I hope this helps.

Regards

Heath

Product Development Manager
Ocean Informatics

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Soheil Hassas Yeganeh
 Sent: Thursday, 15 October 2009 9:42 PM
 To: For openEHR technical discussions
 Subject: Sending a new object using the Contribution
 
 Dear All,
 
 According to the reference, common, and extract information models
 changes made to an EHR, including additions, should be sent through
 a contribution.
 There is no implicit or explicit link to an EHR neither in
 X_CONTRIBUTION nor in CONTRIBUTION.
 
 So, would you please let me know what is the scenario to send new
 objects (addition change type) using contribution or x_contribution
 classes?
 
 Bests,
 Soheil
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Issues around UI technologies and bindings to back end

2009-07-25 Thread Heath Frankel
There is an open source ADL to XML conversion library for .NET written in c#
located at
http://www.openehr.org/svn/knowledge_tools_dotnet/RELEASES/BlueChina/XMLPars
er.  This is used by the Archetype Editor to generate a pure XML
representation of the ADL file via the ADL_Parser so that it can create a
canonical xml representation of the archetype model for hashing purposes.
The XML displayed and files generated directly from the Archetype Editor
uses a different (legacy) mechanism and is not as reliable as that produced
by the conversion library, the result is slightly different XML output.  We
just have not had enough volunteer time to replace this legacy approach
within the Archetype Editor.  

 

If anyone need assistance in using this conversion library I can provide an
NUnit test library that shows how it can be used, or you can sift through
the Archetype Editor code if you prefer VB.

 

We actually have a publishing tool using this library that can run a batch
process against an entire Archetype file repository that can be run within
an auto-build process and committed back into svn.  This is how the XML
archetypes on openEHR used to get generated prior to CKM.

  

I am not sure if CKM supports XML output of archetypes as yet but if it is
felt that not having archetypes available in XML is holding back openEHR
adoption then I am sure this can be put on the change request list for
prioritisation.

 

 

Regards

 

Heath

 

Heath Frankel

Product Development Manager

Ocean Informatics

 

heath.frankel at oceaninformatics.com

+61 (0) 8 7127 5574 

 

Regards

 

Heath

 

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Greg Caulton
Sent: Thursday, 23 July 2009 8:45 PM
To: openehr-technical at openehr.org
Subject: Re: Issues around UI technologies and bindings to back end

 

 

Date: Wed, 22 Jul 2009 15:16:20 +0200
From: hepabolu hepab...@gmail.com
Subject: Re: Issues around UI technologies and bindings to back end
To: For openEHR technical discussions openehr-technical at openehr.org
Message-ID: 4A671124.7020002 at gmail.com
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Seref Arikan said the following on 22/7/09 11:39:
 Now about UI - model relationship, my view is the GUI layer is way too
 complex and diverse to include in openEHR specifications, even a subset
 of the UI related stuff would be enough to introduce more problems than
 it solves.
 IF there emerges a cross platform AND cross technology declerative
 markup for GUI and GUI interactions and bindings, and this is a big if,
 then it may be considered, otherwise, my personal opinion is to simply



I agree, to start integrating UI related content into the archetypes is a
very bad idea.

Most modern UIs follow a Model-View-Controller
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
approach.  For PatientOS Archetypes provide the data elements.  The
relationships and constraints within the archetype data elements is
implemented in our model.  We have different views - fat client, web client
which are implemented through controllers written in java or javascript.

Atttempts to push everything into the archetype definition would create a
complex beast which would defeat KISS principal.

As a side note I also think the ADL files is hampering adoption - not for us
as there is a Java parser.  Since everything that is the ADL must be
expressable in XML (otherwise interoperability of the definitions would be
problematic) - why have both - XML is ubiquitous and I think the benefits of
readibility of an ADL file is no longer needed since there are tools which
replace it - how many people read an ADL file any more? 


-- 
Gregory Caulton
Principal at PatientOS Inc.
personal email: caultonpos at gmail.com
http://www.patientos.com
corporate: (888)-NBR-1EMR || fax  857.241.3022

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090725/3ad435d6/attachment.html


optional existence, cardinality and occurrences.

2009-07-03 Thread Heath Frankel
Hi David,

We need to differentiate the AOM from ADL, just because the AOM makes
cardinality optional doesn?t mean that ADL does not require a cardinality
keyword.  Remember that ADL is just a serialisation of the AOM just as the
AOM can be serialised using XML.

 

On a related topic, I think that the attributes of cardinality may need to
be optional for the same reasons as occurrences and existence.  Therefore
for the reasons that David states below, I wonder if it is reasonable to
make cardinality mandatory and its attributes optional instead.

 

Regards

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of David Moner
Sent: Friday, 3 July 2009 4:40 PM
To: For openEHR technical discussions
Subject: Re: optional existence, cardinality and occurrences.

 

I agree with the initial idea about the optionality of existence,
occurrences and cardinality; there is no need to state them if they are not
changed from the reference model.

But one problem arises with the cardinality. As far as I know, the only way
to differenciate a C_Single_Attribute and a C_Multiple_Attribute while
parsing the ADL and generating the AOM instance is through the 'existence'
of the cardinality constraint. If we don't have that keyword it is imposible
to choose the correct attribute object.

At the Jira issue we can read with reference model checking..., but making
the ADL parsers dependent of the RM is absolutely not a good idea in my
opinion.




2009/6/30 Thomas Beale thomas.beale at oceaninformatics.com


Dear all,

as part of the specialisation semantics, which are nearly all
implemented in the ADL workbench, we have made existence, cardinality
and occurrences all optional. This is sensible for 'source' form
archetypes - i.e. it is natural that only overridden constraints be
stated in an archetype, if there is no override of either the reference
model or a specialisation parent archetype, where the latter is
relevant, then no constraint is needed.

The change is described in http://www.openehr.org/issues/browse/SPEC-303

We have not yet released a new version of the ADL workbench with this
change, but will soon. What I would like to know is if the implementers
of other archetype parsers, compilers etc can deal with this change.
Note that it would normally be part of implementing the wider ADL 1.5
semantics, since it is logically part of the specialisation semantics.

has anyone else considered implementing these semantics yet?

thanks

- thomas beale


___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




-- 
David Moner Cano
Grupo de Inform?tica Biom?dica - IBIME
Instituto ITACA
http://www.ibime.upv.es

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090703/6a004da5/attachment.html


distributed development, governance and artefact identification for openEHR

2009-06-25 Thread Heath Frankel
Tom and Sam,

 Page 11:
 
 Current text:
 Archetypes based on different classes from the same information model
 to
 have the
 same name, e.g. An archetype for 'vital signs' headings based on the
 SECTION
 class, and
 a 'vital signs' archetype based on OBSERVATION.
 
 Comment:
 I believe there will be archetypes for sections and entry that have the
 same
 name but this is not a good example. The entries for vital signs are
 BP,
 Pulse etc. I think it would be better to just raise the problem or get
 an
 example. The nearest one I can think of is a plural form - e.g:
 Problems
 (Section) and Problem (Entry).

[HKF: ] The example that exist at present is INSTRUCTION.medication,
ACTION.medication and ITEM_TREE.medication.  This happens for procedure as
well.




Archetyping links

2009-06-23 Thread Heath Frankel
Hmm, interesting idea.

H

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Peter Gummer
 Sent: Wednesday, 10 June 2009 5:50 PM
 To: For openEHR technical discussions
 Subject: Re: Archetyping links
 
 Rong Chen wrote:
  I would say our use case for the link is also between compositions.
  For the reasons you mentioned, it would be nice to just use the
  archetypeId in the constraint for the value (URI) of the link. Then
 it
  starts to look like a mini query.
 
 
 It starts looking like a kind of slot too, but whereas a slot has
 aggregation semantics (i.e. the data in the slot is owned by the
 containing archetype), a link is just an association. So maybe links
 could use the same regular expression patterns that slots use.
 
 - Peter
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Archetyping links

2009-06-03 Thread Heath Frankel
Hi Rong,
Ocean certainly has runtime support for LINKs.  The Ocean Archetype Editor
used to (and perhaps it is still there) have an initial implementation of
constraining LINKs but it became unclear if this was viable, useful or
appropriate.  We tend to now think it is a template constrain if anything.

The common use cases we have used links is between compositions, whereas
your example below tends to be a relative uri within the current
compositions, which is quite legitimate but I want to ensure we consider the
more general case.  For absolute URIs, the URI pattern becomes difficult to
determine because you have version specific URIs, relative version URIs
(e.g. latest_trunk_version), and system specific URIs.  In addition, your
example assumes an exact understanding of the composition structure in which
the target is located, i.e. that the diagnosis exists within some section.
This is most likely not know at the time of creating the archetype with the
LINK and likely to be variable. Wildcards and RegEx patterns can make this
possible but start to get very complicated. 

It is for these reasons that it became unclear how we can constrain the
target URI in an archetype.  I have considered some extensions to AQL to be
able to query compositions that contain LINKs to specific object types.  I
would need to review these thoughts but from memory it was along the lines
of the following.
... CONTAINS LINK CONTAINS EVALUATION
e[openEHR-EHR-EVALUATION.diagnosis.v1] ... WHERE e/... 

The point here (and it may not be clear from my attempt to relate it to AQL)
is that there may need to be some indirect constraint required for LINKs,
i.e. something that does not physically exist in the current instance such
as a constraint on the target URI, but something that makes a assertion
about the real target of the URI.  

I don't think there is an easy answer to these questions and only
implementation and ongoing discussion is likely toi find viable solutions.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Rong Chen
 Sent: Tuesday, 2 June 2009 7:04 PM
 To: For openEHR technical discussions
 Subject: Re: Archetyping links
 
 Just want to be more specific about the questions (Daniel and I are
 working together on this issue), I created the ADL following the
 example from Daniel's post.
 
 ELEMENT[at0002.1] matches {   -- Diagnosis
 value matches {
 DV_CODED_TEXT matches {
 defining_code matches {[ac0.1]
 }
 }
 links matches {
 LINK[at0003.1] matches { -- complication of
 target matches {
 DV_EHR_URI matches {
 Value matches
 {/content/items[openEHR-EHR-EVALUATION.diagnosis.v1]/}
 }
 }
 }
 }
 
 The ADL is created manually, so it might not have the correct syntax.
 But you probably get the idea anyway.
 
 The general question is if LINK is intended to be a runtime
 facilitator or something that could be used in design time
 (archetyping) as well?
 
 Secondly, what's the status of tooling support, both in authoring
 environment (archetype editors) and runtime systems (querying for
 instance)?
 
 Any feedback will be appreciated!
 
 Cheers,
 Rong
 
 
 2009/6/1 Daniel Karlsson daniel.karlsson at imt.liu.se:
  Dear Everyone,
 
  what are the possibilites of constraining the LINK.target attribute
  (DV_EHR_UIR datatype) in an archetype? This was possible in earlier
  versions of the Ocean Archetype Editor (although its use never was
 clear
  to me). Let's say that I want to constrain a link from an archetype
 to
  only allow linkage to instances conforming a specific set of
 archetypes
  (e.g. allowing linkage only to Diagnosis-archetype instances for
 links
  with complication of meaning.) Is it allowed to use a regexp
  constraint on the DV_EHR_URI and include the archetype id? Is it
  guaranteed that the archetype id can be used in the path as in 11.2.3
 in
  Architecture overview in run-time systems?
 
  Regards,
  Daniel
 
 
 
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




[Fwd: [JIRA] Created: (SPEC-302) Translations embedded in the ADL are not efficient and should instead use 'gettext' catalogs.]

2009-05-01 Thread Heath Frankel
Tim,
As I mentioned, the requirement was to have a hash that can be referenced at
runtime without the need to reference an online service.  For example a
recent version of the Ocean Template Designer includes integrity checking of
archetypes used in a template to ensure that the archetype is the same as
the one used when the template was last saved.  If this process needed to
perform these hash lookups using an online service there would be
significant impact on the user experience.  The latest version of the Ocean
Archetype Editor provides this hash in the description other_details so that
it can be easily ignored by systems that don't utilise it.

The other point you make about the hash being provided by CKM is also worth
commenting on.  A simple hash on the ADL was not considered useful for the
process above.  For one, the hash of the archetype would be different for
ADL and XML files.  Secondly, any insignificant change (comments,
whitespace, description meta-data) to the ADL file will change the hash even
though the content (Archetype) model has not.  For this reason we developed
a canonical archetype serialization algorithm ensuring that the hash would
be constant as long as the content model was the same.  Unfortunately, this
algorithm did include the ontology and its translations but this was deemed
to be a change to the content model, hence a new hash value was necessary. 

I will contribute this canonical archetype serialization and hashing
specification to the openEHR wiki as soon as I can get Thomas to create me a
page.

Regards

Heath

 -Original Message-
 From: Tim Cook [mailto:timothywayne.cook at gmail.com]
 Sent: Thursday, 30 April 2009 7:08 PM
 To: Heath Frankel
 Cc: 'For openEHR technical discussions'
 Subject: RE: [Fwd: [JIRA] Created: (SPEC-302) Translations embedded in
 the ADL are not efficient and should instead use 'gettext' catalogs.]
 
 On Thu, 2009-04-30 at 16:28 +0930, Heath Frankel wrote:
  Hi Koray,
 
   I will let others respond about translations etc, but I did want to
  pick up on your point about multi-part file.  This was an option
  recently consider when we were looking at a mechanism to record an
 MD5
  Hash of the archetype.  There was a desire to provide this hash
  external to the ADL itself whilst making it available to the
 archetype
  consumer locally so it was not necessary to query some external
 notary
  service to do the integrity check.  Using a multi-part file would
  allow the usual PGP message and signature parts to be used.  It was
  thought to be quite a disruptive change, but if there are other
  reasons to do this...
 
 The MD5 for an archetype is now available in the CKM.  IIRC, this was
 to verify the validity of the actual ADL source aas having come from
 the CKM.
 
 But, since archetype exports are being generated as .zip files there is
 no reason (that I can think of) why this couldn't be applied on the fly
 if a user selects only a few languages (as Hugh suggested) or if a
 bundle is created that includes the original language plus specific .po
 translation files.
 
 As I said in my response to Hugh, this is certainly a long term issue
 but I think it should be addressed sooner rather than later.
 
 Cheers,
 Tim
 





[Fwd: [JIRA] Created: (SPEC-302) Translations embedded in the ADL are not efficient and should instead use 'gettext' catalogs.]

2009-04-30 Thread Heath Frankel
Hi Koray,

 I will let others respond about translations etc, but I did want to pick up
on your point about multi-part file.  This was an option recently consider
when we were looking at a mechanism to record an MD5 Hash of the archetype.
There was a desire to provide this hash external to the ADL itself whilst
making it available to the archetype consumer locally so it was not
necessary to query some external notary service to do the integrity check.
Using a multi-part file would allow the usual PGP message and signature
parts to be used.  It was thought to be quite a disruptive change, but if
there are other reasons to do this...

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Koray Atalag
Sent: Wednesday, 29 April 2009 9:17 AM
To: timothywayne.cook at gmail.com; For openEHR technical discussions
Subject: Re: [Fwd: [JIRA] Created: (SPEC-302) Translations embedded in the
ADL are not efficient and should instead use 'gettext' catalogs.]

 

Hi Tim, an important issue for me too!

The archetypes I am working with (Endoscopy ones) are already quite big and
there are 11 (yes eleven) languages! I completely translated one of them
(MST Colon) and it is 6359 lines long. I also had quite an experience with
localisation of software in past where strategies similar to gettext was
quite practical and successful. 

BUT: I think all aspects of the knowledge - including the translations
should better stay within the Archetypes. Because:
1) If the purpose if for 'resuse', then having multiple files around can be
quite problematic.
2) same with specialisations - have to maintain a  complex versioning
process
3) For non-English primary language archetypes, this will make it impossible
for others (well 99% of the rest of the World I guess) to understand without
using tools (i.e. a text editor).

However, with the current scheme we must also decide how to modify
translations. I don't know if this has been discussed before but translation
changes are frequently needed and as I can see this does not necessitate
specialisation. Perhaps with versioning of archetypes - but then this might
create many versions out there and can make things complicated. In this case
your proposal seems more appropriate.

One straightforward solution might be to adopt a propriety file type for
representing archetypes - i.e. a multipart file. Still human readable but
can accomodate more than a single file and perhaps support other file types
as wellHowever I fear this is how usually things get very complicated
and result in the increase of the ciriticism that openEHR is too complex and
technical!

So as  result, I am inclined towards keeping it all in archetypes - unless
we find a sound and sensible approach ;)

-koray





-- 
 
Koray Atalag, MD, Ph.D
 
Clinton Bedogni Research Fellow
The University of Auckland,
Department of Computer Science,
Private Bag 92019, Auckland 1142, New Zealand
 
Tel: +64 (9) 373 7599 ext. 87199
Fax: +64 (9) 308 2377
Email: koray at cs.auckland.ac.nz 




Tim Cook wrote: 

Hi All,
 
I raised the below CR and I wanted to open up discussion on this issue.
Actually I brought it up a few years ago but I don't have a record of
where/when; now.
 
I know that this have a major impact on implementers but I think the
current way we handle translations in ADL is a monster that is only
going to get worse.
 
Thoughts?
 
--Tim
 
 
 Forwarded Message 
From: Tim Cook (JIRA)  mailto:jira-ad...@openehr.org
jira-admin at openehr.org
To: timothywayne.cook at gmail.com
Subject: [JIRA] Created: (SPEC-302) Translations embedded in the ADL are
not efficient and should instead use 'gettext' catalogs.
Date: Tue, 28 Apr 2009 21:47:02 +0100 (BST)
 
Translations embedded in the ADL are not efficient and should instead use
'gettext' catalogs. 

--
 
 Key: SPEC-302
 URL: http://www.openehr.org/issues/browse/SPEC-302
 Project: Specification
  Issue Type: Change Request
Reporter: Tim Cook
 
 
Archetypes like openEHR-EHR-OBSERVATION.blood_pressure.v1 with four
translations are huge and tedious to process the languages. 
openEHR should adopt the standard use internationalization (i18n) and
localization (i10n) tools that use gettext catalogs.  This is the industry
standard approach to performing translations. Tools like POEdit are open
source and cross platform http://www.poedit.net/ 
 
More info about gettext is here:
http://www.gnu.org/software/gettext/manual/gettext.html though it is about
the GNU set of tools there are others.  
 
What will openEHR-EHR-OBSERVATION.blood_pressure.v1 look like with 10, 15,
100 translations?
 
 
  
 



  _  



 
___
openEHR-technical mailing list
openEHR-technical at openehr.org

possible error small error in BaseTypes.xsd (version 1.0.1)

2009-04-14 Thread Heath Frankel
Hi Bert,
Yes I agree, it should be 

xs:complexType name=DV_AMOUNT abstract=true
...

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Bert Verhees
 Sent: Saturday, 11 April 2009 7:00 PM
 To: openehr-technical at openehr.org
 Subject: possible error small error in BaseTypes.xsd (version 1.0.1)
 
 According to the documentation
 (http://www.openehr.org/releases/1.0.1/architecture/rm/data_types_im.pd
 f) should
 xs:complexType name=DV_AMOUNT
 be marked abstract.
 
 Bert
 
 
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Definition of persistence for a composition

2009-04-08 Thread Heath Frankel
Hi Tom,
Would this be a template on the EHR_EXTRACT?

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Thomas Beale
 Sent: Sunday, 5 April 2009 6:50 PM
 To: For openEHR technical discussions
 Subject: Re: Definition of persistence for a composition
 
 Leonardo Moretti wrote:
  Hi Sam,
  thanks for your reply. I try to explain which is my issue.
  Generally in an application form we can have persistent and not
 persistent
  data. Actually template specifications allow at most one composition
 in each
  template, but this means that a template contains or all persistent
 data or
  all not persistent data.
  In order to define template with both persistent and not persistent
 data, we
  should be able to have template with more than one composition. Has
 anyone
  solved this problem?
 
  leo
 
 *
 It is not currently in the template concept, but it has been talked
 about. The design question is whether we should have 'multi-root point'
 templates, or whether there should be a construct at a higher level
 than
 a template which puts templated top-level objcets (like Compositions)
 together, and which allows not only multiple templates, each of which
 could be from a different data source, but other, external data
 sources,
 i.e. other databases in the environment. It would also be able to
 include queries, so that some fields would be the results of this,
 rather than entry fields. This concept might be thought of as a 'form'
 or 'data package' of some kind.
 
 I am in favour of this higher level concept, which allows each included
 template and other data items to be bound to different data sources.
 
 - thomas beale
 
 *
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Why is the editor not opening ADL files?

2009-03-16 Thread Heath Frankel
William,

When you say browsing existing archetypes from Ocean, where exactly are
you browsing?

 

Heath

 

From: openehr-clinical-boun...@openehr.org
[mailto:openehr-clinical-bounces at openehr.org] On Behalf Of
Williamtfgoossen at cs.com
Sent: Saturday, 14 March 2009 12:59 AM
To: openehr-clinical at openehr.org; openehr-technical at openehr.org
Subject: Why is the editor not opening ADL files?

 

Dear all,

I am browsing through the existing archetypes from Ocean, obviously created
by the Ocean Archetype Editor given the file name. 

E.g.

openehr-demographic-person.person.draft.adl

When I try to open it with the AE, I do get continuously error messages
similar to:

cid:image001.jpg at 01C9A636.08E17D50

Is there anything wrong with the archetypes, or is this an error in the
archetype editor.

Anyone els experiencing such problems? 

Sincerely yours,

dr. William TF Goossen
director 
Results 4 Care b.v.
De Stinse 15
3823 VM Amersfoort
the Netherlands
emails: 
Results4Care at cs.com
williamtfgoossen at cs.com 
info at results4care.nl 

phone + 31654614458
fax +3133 2570169
www.results4care.nl
Dutch Chamber of Commerce number: 32133713 

-- next part --
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 15133 bytes
Desc: not available
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090316/594084a3/attachment.dat


Why is the editor not opening ADL files?

2009-03-16 Thread Heath Frankel
Bert,

The Ocean Archetype Editor was the first Archetype Editor written some 6+
years ago.  It was implemented to support only EHR archetypes in a way that
these RM types where implemented explicitly within the Editor providing the
specific capability for clinicians to easily develop archetypes with minimal
knowledge of the RM.  

 

Certainly a generic archetype editor would need to support the features you
suggest below, but the Ocean Archetype Editor is not a generic Archetype
Editor.  Even with its limitations known best by Ocean, I think we can all
agree that it has served the openEHR community well in bringing the mind
shifting concepts of archetypes to a point where the openEHR architecture is
in demand internationally.  

 

Regards

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Bert Verhees
Sent: Sunday, 15 March 2009 11:26 PM
To: For openEHR technical discussions
Subject: Re: Why is the editor not opening ADL files?

 

Williamtfgoossen at cs.com schreef: 

In a message dated 14-3-2009 17:23:18 W. Europe Standard Time,
caultonpos at gmail.com writes: 




How many more types of archetypes are we envisioning to support?



I think the tools need to support ANY archetype that represents valid
content in health care. 

An archetype editor should simply support any archetype which represents a
valid locatable according to the reference model, plus, it must adapt the
other archetype-rules as defined in the reference model, such as header
requirements, etc.
That is why I don't understand the trouble with supporting demographic
archetypes, it are just locatables, with a few extra characteristics, but
that is also the case for composition or other archetypes. It are all just
locatables.
Maybe some one can explain this.

In a few months, I will have more time, I will add the support myself, I
even install Windows, if necessary.
Maybe I find out by then what I have overlooked all the time.

Bert

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090316/bd0a9595/attachment.html


AQL-parser in Java? + AQL response format (using the AS operator)

2009-03-04 Thread Heath Frankel
Hi Erik,
Response to 2, the Ocean EhrGate Web Service provides a ResultSet as defined
in the following WSDAL fragment:

xs:complexType name=ResultSet
xs:sequence
xs:element minOccurs=0 name=name type=xs:string / 
xs:element name=totalResults type=xs:int / 
xs:element minOccurs=0 maxOccurs=unbounded name=columns
nillable=true
xs:complexType
xs:sequence
xs:element minOccurs=0 name=path
type=xs:string / 
xs:element minOccurs=0 name=name
type=xs:string / 
/xs:sequence
/xs:complexType
/xs:element
xs:element minOccurs=0 name=rows
xs:complexType
xs:sequence
xs:element minOccurs=0 maxOccurs=unbounded
name=row
xs:complexType
xs:sequence
xs:element minOccurs=0
maxOccurs=unbounded name=items nillable=true / 
/xs:sequence
/xs:complexType
/xs:element
/xs:sequence
/xs:complexType
/xs:element
/xs:sequence
/xs:complexType
 
I am very interested in the idea of basing a query result class on the
ITEM_TABLE class for consistency reasons, however ITEM_TABLE cannot be used
directly because it is limited to rows of ELEMENTs.  A query result class
needs to support rows of ANY items as is the case above.

In addition, it may also be necessary to have a query result class that is
based on the ITEM_TREE class to support more complex hierarchical query
results that are difficult to unambiguously represent using a traditional
table structure, which requires cross-join logic to be applied as mentioned
recently (sorry we have not had time to respond to that post, day-job
priorities).

Heath  


-Original Message-
From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Erik Sundvall
Sent: Tuesday, September 30, 2008 6:35 PM
To: For openEHR technical discussions
Subject: AQL-parser in Java? + AQL response format (using the AS operator)

Hi!

1. Has anybody planned, or started, to create an AQL-parser in Java?

Maybe the basics from AQL to parse tree could be common for several
different persistence implementations and then the rest of the
implementation will be different for different persistence mechanisms.

Our first interest will be in transforming AQL queries to queries
against an XML-database containing versioned Compositions. (It's for
an educational system where performance isn't crucial.)

2. Are there any suggestions for standardised response formats? It
would be interesting if we could query each others' implementations
(Python and various Java based ones) and interpret the response :-)

When returning entire openEHR subtrees (an entire Composition or Entry
for example) I guess the current XML-format could be used to start
with. The response is likely to often be a list of such subtrees and
the format of that list Would need to be standardised.

Another case is when using the AS operator, how do we in a
standardised way identify the named parts.

Best regards,
Erik Sundvall
erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




AQL-parser in Java? + AQL response format (using the AS operator)

2009-03-04 Thread Heath Frankel
Sorry, I didn't realise when I responded to this that it was such an old
post (having email management problems).  Anyway, it seems to be current hot
topic so it probably won't go to waste.

Heath


-Original Message-
From: Heath Frankel [mailto:heath.fran...@oceaninformatics.com] 
Sent: Wednesday, March 04, 2009 12:25 PM
To: 'erisu at imt.liu.se'; 'For openEHR technical discussions'
Subject: RE: AQL-parser in Java? + AQL response format (using the AS
operator)

Hi Erik,
Response to 2, the Ocean EhrGate Web Service provides a ResultSet as defined
in the following WSDAL fragment:

xs:complexType name=ResultSet
xs:sequence
xs:element minOccurs=0 name=name type=xs:string / 
xs:element name=totalResults type=xs:int / 
xs:element minOccurs=0 maxOccurs=unbounded name=columns
nillable=true
xs:complexType
xs:sequence
xs:element minOccurs=0 name=path
type=xs:string / 
xs:element minOccurs=0 name=name
type=xs:string / 
/xs:sequence
/xs:complexType
/xs:element
xs:element minOccurs=0 name=rows
xs:complexType
xs:sequence
xs:element minOccurs=0 maxOccurs=unbounded
name=row
xs:complexType
xs:sequence
xs:element minOccurs=0
maxOccurs=unbounded name=items nillable=true / 
/xs:sequence
/xs:complexType
/xs:element
/xs:sequence
/xs:complexType
/xs:element
/xs:sequence
/xs:complexType
 
I am very interested in the idea of basing a query result class on the
ITEM_TABLE class for consistency reasons, however ITEM_TABLE cannot be used
directly because it is limited to rows of ELEMENTs.  A query result class
needs to support rows of ANY items as is the case above.

In addition, it may also be necessary to have a query result class that is
based on the ITEM_TREE class to support more complex hierarchical query
results that are difficult to unambiguously represent using a traditional
table structure, which requires cross-join logic to be applied as mentioned
recently (sorry we have not had time to respond to that post, day-job
priorities).

Heath  


-Original Message-
From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Erik Sundvall
Sent: Tuesday, September 30, 2008 6:35 PM
To: For openEHR technical discussions
Subject: AQL-parser in Java? + AQL response format (using the AS operator)

Hi!

1. Has anybody planned, or started, to create an AQL-parser in Java?

Maybe the basics from AQL to parse tree could be common for several
different persistence implementations and then the rest of the
implementation will be different for different persistence mechanisms.

Our first interest will be in transforming AQL queries to queries
against an XML-database containing versioned Compositions. (It's for
an educational system where performance isn't crucial.)

2. Are there any suggestions for standardised response formats? It
would be interesting if we could query each others' implementations
(Python and various Java based ones) and interpret the response :-)

When returning entire openEHR subtrees (an entire Composition or Entry
for example) I guess the current XML-format could be used to start
with. The response is likely to often be a list of such subtrees and
the format of that list Would need to be standardised.

Another case is when using the AS operator, how do we in a
standardised way identify the named parts.

Best regards,
Erik Sundvall
erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




International representation of decimal magnitude in DV_QUANTITY

2009-01-29 Thread Heath Frankel
Hi all,

Our.NET implementation of the openEHR RM DV_QUANTITY is dependent on the
regional setting on the system, for example a magnitude of 1.0 on a system
with 'en' regional settings will be represented as 1,0 on a system with 'de'
regional settings.

 

Thilo has recently identified an issue where our serialisation of these RM
objects when in the 'de' culture produces an XML instance of DV_QUNATITY as
follows:

 

value xsi:type=DV_QUANTITY

  magnitude1,2/magnitude 

  unitsmm/units 

/value 

 

When validated against the openEHR XML schema, this is not valid because
DV_QUANTITY.magnitude is declared as type=xs:double.

 

We can resolve this issue in our implementation, but the question is if
openEHR wants to support DV_QUANTITY.magnitude representations containing a
comma.

 

The openEHR data types specifications indicates that assumes built-in
primitive types such as Character, Boolean, Integer and Double based on ISO
11404 within an implementation environment such as Java, .NET. and XML.
This was the rational of using the xs:double type in the openEHR XML Schema
for DV_QUANTITY.magnitude. 

 

Having said that, the openEHR XML schema has implemented its own ISO8601_x
assumed Date/Time types because the built-in XML Schema DateTime type does
not support the openEHR assumed ISO8601 capability of partial date/time, nor
the separate Date and Time types.  The ISO8601_x types implemented in the
openEHR XML Schema does support both period (.) and comma (,) for fractional
seconds.

 

I have spoken to Tom about this and we feel that openEHR has two options:

1)  Update the XML Schema to implement an culture aware double type to
be used in DV_QUANTITY.magnitude.  This change would not invalidate any
existing data instances but would make instances based on that new schema
invalid against previous revisions.

2)  Leave the XML Schema as is and make culture-aware serialisation and
rending responsible for converting the representation of
DV_QUNATITY.magnitude into the local cultures representation.

 

Can anyone suggest another option?

 

It is Thomas and my preference for option 2.

 

Are there anyone from the regions that use the comma representation of
decimal points that feel that option 1 is necessary? 

 

Regards

 

Heath

 

Heath Frankel
Product Development Manager

Ocean Informatics



Ground Floor, 64 Hindmarsh Square

Adelaide, SA, 5000

Australia

 

ph: +61 (0)8 8223 3075

mb: +61 (0)412 030 741 
email:  mailto:heath.frankel at oceaninformatics.biz
heath.frankel at oceaninformatics.com 



 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090129/688dc2a6/attachment.html


Q on openEHR XML-schema versioning

2008-12-12 Thread Heath Frankel
Andrew,

 There was a decision by Heath (and others at Ocean) to have a
 single namespace for all the openehr XML classes around the time of the
 1.0 release. The schemaLocation of XSD files is a separate issue and one
 that I would not worry about - assume that all XSD files bundled
 together in the same directory belong to the same release set
 (as is currently the case)
 

Actually the namespace decision including its current format was made in
conjunction with other openEHR members including yourself and Rong as far as
I remember.

Heath




{Disarmed} Re: Q on openEHR XML-schema versioning

2008-12-12 Thread Heath Frankel
Thomas,

The original namespace was designed in a way that would not require a change
until there was a radical RM (or schema design) change.

 

I would suggest that the principles are similar to archetype versions and
revisions, the namespace will require a change when the schema change breaks
existing data, otherwise it is just a version change.

 

The version attribute in the schema does not affect the data at all, it is
for version control information to the users of the schema.  I don't care
what goes there but at the time the openEHR release seemed logical.  If a
new release changes the schema (in a compatible way) the release number of
that specific schema can change otherwise I don't see any need to upgrade
the version ID just because of a new release,  but as I said I don't care
that much because it has no affect on the data as long as I know what schema
I need to deploy with my version specific openEHR components.

 

The question is, what do we do when we do have a data breaking schema
change, like potentially in r1.1?  I suggest that we just go with
http://schemas.openehr.org/v1.1 and we can assume the old
http://schemas.openehr.org/v1 meant r1.0.x.  It wasn't expected to have such
a substantial schema change until r2 but I guess that is the reality of
software.

 

Jumping ship to another style such as http://schemas.openehr.org/2009/03
would also be reasonable, it would just mean we have to correlate release
dates with release numbers.

 

BTW Andrew,

There is an optional rm_version in the archetype_details attached to any
archetyped locatable.  We currently populate this only when we specify a
template_id on the composition, which is all compositions in our
applications.  We could suggest that this is required for all compositions
and make this the handle to determine what schema to use for validation.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Thomas Beale
Sent: Wednesday, 10 December 2008 10:23 PM
To: For openEHR technical discussions
Subject: {Disarmed} Re: Q on openEHR XML-schema versioning

 

Andrew Patterson wrote: 

ok - this approach more or less replicates the release id approach
already in use, but converts it to a URL.


 
Except, this is a change that occurs in all xml _instances_, not just
the schema files. So every reference model document in every
system in existence now has to handle two different schemas
and convert between them. We have to decide whether this is
what we want.. do the xml schemas aggressively track the
exact spec versions, or do we only increment xml schema
versions when necessary (and therefore should the xml
schemas have a separate version)
  


I don't think this is the case - each document should just indicate which
schema it is derived from. There will always be new and improved XML-schemas
- that is just the nature of a formalism that is inherently inefficient -
people will keep coming up with ways to improve it. Any document created
from a previous version of the schema will point to the earlier version.
Since all schemas in openEHR are designed to convert into the same reference
model, the data remain interoperable (unlike purely schema-based approaches
to health data). 

The main point it seems to me is what the schema should carry as its
namespace... is it (as today):



xs:schema xmlns:xs= http://www.w3.org/2001/XMLSchema MailScanner has
detected a possible fraud attempt from www.w3.org claiming to be
http://www.w3.org/2001/XMLSchema; xmlns= http://schemas.openehr.org/v1
MailScanner has detected a possible fraud attempt from schemas.openehr.org
claiming to be http://schemas.openehr.org/v1;
   targetNamespace= http://schemas.openehr.org/v1 MailScanner has
detected a possible fraud attempt from schemas.openehr.org claiming to be
http://schemas.openehr.org/v1; elementFormDefault=qualified
version=v1.0.2
   id=BaseTypes.xsd

or more like:



xs:schema xmlns:xs= http://www.w3.org/2001/XMLSchema MailScanner has
detected a possible fraud attempt from www.w3.org claiming to be
http://www.w3.org/2001/XMLSchema; xmlns= http://schemas.openehr.org/v1
MailScanner has detected a possible fraud attempt from schemas.openehr.org
claiming to be http://schemas.openehr.org/v1;
   targetNamespace= http://schemas.openehr.org/v1 MailScanner has
detected a possible fraud attempt from schemas.openehr.org claiming to be
http://schemas.openehr.org/v1.0.2; elementFormDefault=qualified 
   id=BaseTypes.xsd

I don't know what weight the 'version' attribute carries in the xs:schema
tag - I don't understand why there appear to be two ways of indicating the
version in fact.





 
The schema identifier is a URI - there is no requirement that it is
accessible at the same identifier, and in fact it seems like there
is a trend towards using other URN syntaxes rather than
URLs.
  


so sticking with the current style of URI is no problem.


- thomas beale

-- next part 

{Disarmed} Re: text and description

2008-12-03 Thread Heath Frankel
This was the exact approach that was proposed in work within Standards
Australia to represent Archetyped data in HL7 v2.  The at-codes defined in
the ontology section of the archetype was used in a coded element concept ID
and the archetype ID was used as the coding system (compared with local
when refer to internally).  This approach could certainly be extrapolated to
localised coded terms specified in templates using the template ID (assuming
that it is globally unique).

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sam Heard
Sent: Wednesday, 3 December 2008 12:45 PM
To: 'For openEHR technical discussions'
Subject: RE: {Disarmed} Re: text and description

 

Hi All

 

I think we are addressing an issue that will come up in templates as well.
How to add terms from a local terminology directly into a template. Local is
used for the archetype terms - I have wondered if we should use a template:
namespace for terms that are created only in the template but for
internationalisation.

 

Cheers, Sam

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Ian McNicoll
Sent: Wednesday, 3 December 2008 3:44 AM
To: For openEHR technical discussions
Subject: {Disarmed} Re: text and description

 

Same patten less the dots should be ok then?

e.g. sechalmersMUKOS::

Ian

Dr Ian McNicoll
office / fax  +44(0)141 560 4657
mobile +44 (0)775 209 7859
skype ianmcnicoll
ian at mcmi.co.uk

Clinical Analyst - Ocean Informatics ian.mcnicoll at oceaninformatics.com

Member of BCS Primary Health Care Specialist Group - www.phcsg.org

2008/12/2 Thomas Beale thomas.beale at oceaninformatics.com

Ian McNicoll wrote:
 Hi Thomas,

 According to Support_IM 5.3.2

 Valid identifiers that can be used for this attribute for
 terminologies include but are not limited to the
 following:
 . openehr
 . centc251
 . an identifier value from the first column of the US National Library
 or Medicine (NLM)
 UMLS terminology identifiers table below, in either of two forms:
 - as is, e.g. ICD10AM_2000, ICPC93;
 - with any trailing section starting with an underscore removed, e.g.
 ICD10AM.

 So, as far as I can see it should be possible to use a local
 identifier, although not supported by the editors at present, the
 issue being how to namespace the terminology uniquely.

 I could not see anything in other documentation
 For Olof's project I am proposing to use e.g.

 se.chalmers.MUKOS::mukos-reaktion

Ian,

only problem - that identifier would not be allowed in the (imminent)
Release 1.0.2 of openEHR (see
http://www.openehr.org/svn/specification/BRANCHES/Release-1.0.2-candidate/pu
blishing/roadmap.html)

 http://4.3.12.1 MailScanner has detected a possible fraud attempt from
4.3.12.1 claiming to be MailScanner warning: numerical links are often
malicious: 4.3.12.1 Identifier Syntax
The syntax of the value attribute is as follows:
#  production rules 
terminology_id: name [ '(' version ')' ]
name: V_NAME
version: V_VERSION
#  lexical patterns 
V_NAME: [a-zA-Z][a-zA-Z0-9_-/+]+
V_VERSION: [a-zA-Z0-9][a-zA-Z0-9_-/.]+



*

*
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20081203/b7f029f2/attachment.html


text and description

2008-12-02 Thread Heath Frankel
Erik,
I don't see the difference.  The same approach can be used with different
query parameters and terminology identifiers.  We just need to find a way to
uniquely identify local terminology ids, some sort of namespacing mechanism
such as a terminology source organisation UID should do the trick.  This
would not be that much different to uniquely identifying templates which is
also under development.

Heath

 -Original Message-
 From: e.sundvall at gmail.com [mailto:e.sundvall at gmail.com] On Behalf Of 
 Erik
 Sundvall
 Sent: Tuesday, 2 December 2008 7:03 PM
 To: For openEHR technical discussions
 Cc: Heath Frankel; hugh.grady at oceaninformatics.com
 Subject: Re: text and description
 
 Hi!
 
 I know that there are suggestions for defining terminology
 queries/subset-selections using URIs. We discussed this a bit in a
 conference paper that was selected for republication in BMC:
 Integration of tools for binding archetypes to SNOMED CT freely
 available at http://www.biomedcentral.com/1472-6947/8/S1/S7
 
 This kind of URI-encoded queries with semantics have come and gone and
 seem to be coming again in openEHR discussions. Sometimes the URIs
 have contained semantics similar to what you describe below. Sometimes
 they have just contained ID's of queries that have their semantics
 hidden, sorry I mean stored/maintained, in some query server. See
 especially the appendix in the paper above for discussion and
 references.
 
 However, my recent question/suggestion did not have much to do with
 those URI-encoded terminology queries.
 
 Instead, I was asking about two specific use-cases:
 1. directly pointing out single codes/concepts that already have URIs and
 2. a way of creating local bindings using URIs as unique identifiers.
 
 Please re-read the previous post and feel free to ask more if I have
 not made the difference clear enough.
 
 Best regards,
 Erik Sundvall
 erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579
 
 
 
 On Mon, Dec 1, 2008 at 22:28, Heath Frankel
 heath.frankel at oceaninformatics.com wrote:
  Hi Erik,
  As you know Ocean has been doing a lot of work making terminology and
  openEHR Archetype work.  Hugh Grady is the best to describe this but in
  summary we are proposing the use of terminology URIs for bindings.
 
  Bindings can reference a whole terminology, a branch of a terminology
  hierarchy or a complex query which extracts specific subset of a
  terminology.
 
  To identify these there at least four identifiers; terminology ID,
subset
  ID, query name and query version id.  There are other parameters such as
  language and terminology version.
 
  In simply cases where you just want to reference a terminology it might
look
  something like the following
  (NOTE: these are examples to illustrate the point and are certainly not
a
  final proposal).
 terminology:snomed-ct?language=en-GB
 
  or for a specific version of SNOMED
 terminology:snomed-ct(2003)?language=en-GB
 
  For a hierarchy of a terminology it might look something like
 terminology:snomed-ct(2003)/hierarchy?rootConcept=28374832
 
  and for a pre-specified query
 terminology:snomed-ct(2003)/query?name=AllBacteria
 
  There are also more specific URIs for terminology queries by using
subset
  and query version identifiers (UIDs) mentioned above.
 
  I believe this work is ongoing and is being proposed through IHTSDO.  I
  suggest we wait for that work to conclude but I thought I would let you
know
  that Erik's thinking is certainly the way things are being proposed.
 
  Heath
 
  -Original Message-
  From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
  bounces at openehr.org] On Behalf Of Erik Sundvall
  Sent: Monday, 1 December 2008 11:20 PM
  To: For openEHR technical discussions
  Subject: Re: text and description
 
  Hi!
 
  Would it be a good or bad idea to have URI:: as a valid terminology
  prefix in openEHR terminology bindings, with the intention to host...
 
  1. local bindings that are not foreseen to be of public general use:
 
URI::http://www.cs.chalmers.se/~oloft/terminologies/odont-123/local-Mucos-
  txtur
 
  2. Potentially universally interesting terminologies that already have
  official URIs but do not (yet?) have openEHR-defined prefix:
  URI::urn:miriam:obo.go:GO%3A0045202
 
  I guess opening up for any URIs would lead to a risk of having double
  representations (URI+openEHR-prefix) for the same thing, like...
  URI::urn:UMLS/CID=C0037658
 
  ...and the example URI::urn:miriam:obo.go:GO%3A0045202 is just one of
  several URI-ways to point out an entry in the gene ontology..
 
  What are the other pitfalls and/or benefits?
 
  I guess there will probably never be only one ultimate updated
  registry fitting every purpose, not from openEHR, not from EuroRec not
  from anybody else.
 
  Best regards,
  Erik Sundvall
  erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579
 
  P.s

Is originalAuthor required?

2008-11-12 Thread Heath Frankel
Adam,
As previously requested, provide us an example (one will do) of an archetype
failing, we can then work out why.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Adam Flinton
 Sent: Monday, 10 November 2008 1:37 AM
 To: Rong Chen
 Cc: Java OpenEHR; For openEHR technical discussions
 Subject: Re: Is originalAuthor required?
 
 Rong Chen wrote:
  Hi Adam, Heath
 
  The attribute in question, original_author is an attribute of Class
  RESOURCE_DESCRIPTION from rm.common.resource package. According to the
  specs (common_im.pdf), the type is HashString,String NOT a string
  and the invariant on it is Original_author_valid: original_author /=
  Void and then not original_author.is_empty.
 
  The Java implementation (see below) of this invariant is, I believe,
  faithful interpretation of the specs.
 
  if (originalAuthor == null || originalAuthor.size() == 0 ) {
  throw new IllegalArgumentException(null or empty
  originalAuthor);
  }
 
  The thing I am not sure here is the XML schema. If the schema is not
  compliant with the RM specs, perhaps the schema should be updated so
  the parsing code generated from schema can catch errors like this,
  thoughts?
 
 Any idea then which is right?
 
 I can chuck you our ADL  XML ant task so you can look at all the
 various errors against a given set of our ADL held on the openEHR svn.
 
 
 Adam
 
 ***
 This  message  may  contain  confidential and  privileged  information.
 If you  are not the  intended recipient  you should not  disclose, copy
 or distribute information in this e-mail or take any action in reliance
 on its contents.  To do so is strictly  prohibited and may be unlawful.
 Please  inform  the  sender that  this  message has  gone astray before
 deleting it.  Thank you.
 
 2008 marks the 60th anniversary of the NHS.  It's an opportunity to pay
 tribute to the NHS staff and volunteers who help shape the service, and
 celebrate their achievements.
 
 If you work for the NHS  and  would like  an NHSmail  email account, go
 to: www.connectingforhealth.nhs.uk/nhsmail
 ***
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
-- next part --
A non-text attachment was scrubbed...
Name: winmail.dat
Type: application/ms-tnef
Size: 3498 bytes
Desc: not available
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20081112/09270902/attachment.dat


Is originalAuthor required?

2008-11-08 Thread Heath Frankel
Rong,

Thanks for the clarification, I was assuming the error was coming from the
value of the hashtable rather than hashtable itself.

 

The XML schema contains the following:

 

xs:element name=original_author type=StringDictionaryItem
maxOccurs=unbounded/

 

This seems to reflect the spec (i.e 1..*).  

 

It may be possible that the Ocean parser is not currently validating against
the schema but I would be interested to see the archetype causing this issue
to test this.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Rong Chen
Sent: Friday, 7 November 2008 11:04 PM
To: For openEHR technical discussions
Cc: Java OpenEHR
Subject: Re: Is originalAuthor required?

 

Hi Adam, Heath

The attribute in question, original_author is an attribute of Class
RESOURCE_DESCRIPTION from rm.common.resource package. According to the specs
(common_im.pdf), the type is HashString,String NOT a string and the
invariant on it is Original_author_valid: original_author /= Void and then
not original_author.is_empty.

The Java implementation (see below) of this invariant is, I believe,
faithful interpretation of the specs.

if (originalAuthor == null || originalAuthor.size() == 0 ) {
throw new IllegalArgumentException(null or empty originalAuthor);
}

The thing I am not sure here is the XML schema. If the schema is not
compliant with the RM specs, perhaps the schema should be updated so the
parsing code generated from schema can catch errors like this, thoughts?

Cheers,
Rong

On Thu, Nov 6, 2008 at 2:10 AM, Heath Frankel
heath.frankel at oceaninformatics.com wrote:

Hi Adam,
Can you provide details of the offending archetype?

Looking at the AOM, the originalAuthor is a required attribute and this is
reflected in the Resource.xsd.  However apart from the list being non-empty,
I see no other invariant to that states that the value of the originalAuthor
item cannot be an empty string.

Therefore I would suggest that the Java IllegalArgumentException null or
empty originalAuthor is too tight.  A not null invariant seems
reasonable.

However, not being a member of the java implementation I will leave that to
them to decide what to do here.

If there is an issue with the Ocean XML output please feel free to contact
me directly.

Heath


 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Adam Flinton
 Sent: Thursday, 6 November 2008 1:30 AM
 To: Java OpenEHR; openEHR technical discussions
 Subject: Is originalAuthor required?

 Dear All,

 Running the Java ADL  XML  I get a fair few errors of the type:

 Error Class: java.lang.IllegalArgumentException Message: null or empty
 originalAuthor

 Is originalAuthor a required structure?

 If so then the Ocean ADL  XML is not picking that up.
 If not then could the Java code be amended to not error if it is not
 present.

 TIA

 Adam



 ***
 This  message  may  contain  confidential and  privileged  information.
 If you  are not the  intended recipient  you should not  disclose, copy
 or distribute information in this e-mail or take any action in reliance
 on its contents.  To do so is strictly  prohibited and may be unlawful.
 Please  inform  the  sender that  this  message has  gone astray before
 deleting it.  Thank you.

 2008 marks the 60th anniversary of the NHS.  It's an opportunity to pay
 tribute to the NHS staff and volunteers who help shape the service, and
 celebrate their achievements.

 If you work for the NHS  and  would like  an NHSmail  email account, go
 to: www.connectingforhealth.nhs.uk/nhsmail
 ***

 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20081108/abce26f0/attachment.html


Description of files from Template Designer?

2008-11-07 Thread Heath Frankel
Hi Olof,

Ocean currently does what you are intending to do here but we do not use the
.OET file.  As mentioned by others, the .OET only represents the references
to archetypes and the additional constraint rules to apply to those
archetypes.  To utilise this for anything of use you need to combine the
template, archetypes and rules together in memory before applying any
additional logic to the template definition.  BTW, the latest OET schema is
always deployed with the Template Design in the schemas folder.

 

As indicated by Ian, the Operational Template is what is intended to be used
for software operations beyond the knowledge design process.  The Ocean
Template Designer has an Operational Template export function (File/Export/
as Operational Template).  This features is continuing to be debugged with
new template use case so depending on what version of the Template Designer
you have, the resulting Operational Template may still have some issues.
Using the latest Beta release
(https://wiki.oceaninformatics.com/confluence/display/TTL/Template+Designer+
Beta+Release) is recommended and to return to for Beta updates on a regular
basis.  I can provide you with the current Operational Template schema that
extends the Archetype schema.  This schema (see
https://wiki.oceaninformatics.com/confluence/display/TTL/Template+Designer+R
esources) is relatively close to the new Template Object Model draft
(available on the Wiki) but will be updated in the next couple of months to
align with this new draft.  Any migration from this OPT format to the new
TOM will be much smaller than transitioning from OET to the TOM.

 

From this OPT you can produce all sorts of artefacts, we produce an abstract
form definition from which we can produce web forms in ASP.Net, Template
Data Schemas (XML Schema), Template Data Objects (c# classes), HTML
Documentation, Composition Prototypes (empty composition data instances).
The OPT is a pivotal artefact bridging between the Knowledge Designs and
Operational Software. 

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Olof Torgersson
Sent: Thursday, 6 November 2008 8:39 PM
To: openEHR technical discussions
Subject: Description of files from Template Designer?

 

Hi,

 

Sorry if this is the wrong forum.

 

Is there a description somewhere of the oet-files produced by the Ocean
Informatics Template Designer?

 

I would like to use the templates in an application as a basis for input
forms, but then I need 

a specification of the file-contents.

 

Regards

 

Olof Torgersson

 

---

Olof Torgersson

 

Associate Professor

Department of Computer Science and Engineering

Chalmers University of Technology and G?teborg University

SE-412 96 G?teborg, Sweden

 

email: oloft at chalmers.se

phone: +46 31 772 54 06

 

 

 

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20081107/261c34dd/attachment.html


Is originalAuthor required?

2008-11-06 Thread Heath Frankel
Hi Adam,
Can you provide details of the offending archetype?

Looking at the AOM, the originalAuthor is a required attribute and this is
reflected in the Resource.xsd.  However apart from the list being non-empty,
I see no other invariant to that states that the value of the originalAuthor
item cannot be an empty string.

Therefore I would suggest that the Java IllegalArgumentException null or
empty originalAuthor is too tight.  A not null invariant seems
reasonable.

However, not being a member of the java implementation I will leave that to
them to decide what to do here.

If there is an issue with the Ocean XML output please feel free to contact
me directly.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Adam Flinton
 Sent: Thursday, 6 November 2008 1:30 AM
 To: Java OpenEHR; openEHR technical discussions
 Subject: Is originalAuthor required?
 
 Dear All,
 
 Running the Java ADL  XML  I get a fair few errors of the type:
 
 Error Class: java.lang.IllegalArgumentException Message: null or empty
 originalAuthor
 
 Is originalAuthor a required structure?
 
 If so then the Ocean ADL  XML is not picking that up.
 If not then could the Java code be amended to not error if it is not
 present.
 
 TIA
 
 Adam
 
 
 
 ***
 This  message  may  contain  confidential and  privileged  information.
 If you  are not the  intended recipient  you should not  disclose, copy
 or distribute information in this e-mail or take any action in reliance
 on its contents.  To do so is strictly  prohibited and may be unlawful.
 Please  inform  the  sender that  this  message has  gone astray before
 deleting it.  Thank you.
 
 2008 marks the 60th anniversary of the NHS.  It's an opportunity to pay
 tribute to the NHS staff and volunteers who help shape the service, and
 celebrate their achievements.
 
 If you work for the NHS  and  would like  an NHSmail  email account, go
 to: www.connectingforhealth.nhs.uk/nhsmail
 ***
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




AQL querying by internal code

2008-10-03 Thread Heath Frankel
Hi Greg,
If I understand your requirement correctly the following is the correct AQL
(take note of the RM class capitalisation):

Select pupils
From EHR e CONTAINS COMPOSITION anyComposition CONTAINS OBSERVATION
pupils[openEHR-EHR-OBSERVATION.pupils.v1]
Where
pupils/data/events[at0002]/data/rows[at0013]/items[at0015]/value/defining_co
de/code_string = 'at0016'

A possible variation of the WHERE expression is as follows:

Where
pupils/data/events[at0002]/data/rows[at0013]/items[at0015]/value/defining_co
de = 'local::at0016'

Regards

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Thursday, 2 October 2008 11:43 PM
 To: For openEHR technical discussions
 Subject: AQL querying by internal code
 
 Will the AQL queries qualifying on Archetype internal codes do so
 using the value of the code and if so will it use the full path to
 that value.
 
 For example if we wanted to find all patients with pupils observed to
 be sluggish/slow would the query be:
 
 Select pupils
 From EHR e CONTAINS Composition anyComposition CONTAINS Observation
 pupils[openEHR-EHR-OBSERVATION.pupils.v1]
 Where
 pupils/data/events[at0002]/data/rows[at0013]/items[at0015]/value =

pupils/data/events[at0002]/data/rows[at0013]/items[at0015]/value/defining_co
de
 /[at0016]
 
 where [at0016] is the internal code for that archetype.
 
 I couldn't find an example on the wiki.
 
 thanks!
 
 Greg
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




AQL

2008-07-25 Thread Heath Frankel
Hi Tim,
It is great to here that you are taking AQL seriously and plan to write a
python implementation, your feedback I am sure will be invaluable.

We have not done a lot of work on queries for some time but have recently
been doing some work related to projects and have started to think about
some changes to the current AQL proposal published on openEHR, to simplify
and generalise the grammar and supporting more advanced queries features
such as a matches operator.

I have started a wiki page,
http://www.openehr.org/wiki/display/spec/Proposed+AQL+changes, to briefly
list what changes we are thinking about.  When we get the time to update the
BNF for these proposed changes, we will attach it.  

If you have a look at these proposed changes you will see that they are
significant from a grammar (and parser perspective) but does not change the
general intent.  

I would appreciate your (and anyone else) early feedback on these proposed
changes even if you have not had a chance to implement AQL yet (even at a
high level).

My main concern is that you invest time into implementing the current
proposal and make comments about issues when the proposed changes should
make that task easier and shortcut some of the issues you would have
commented on.

I would like to think that we can work closely together during your
implementation to ensure that we can address issues in real-time.

Heath

 -Original Message-
 From: openehr-decisionsupport-bounces at openehr.org [mailto:openehr-
 decisionsupport-bounces at openehr.org] On Behalf Of Tim Cook
 Sent: Friday, 25 July 2008 1:59 AM
 To: Discussions relating to enabling decision support in openEHR
 Subject: Re: AQL
 
 
 On Thu, 2008-07-24 at 21:28 +0930, Sam Heard wrote:
 
  I am trying to start a conversation here for those seeking to use AQL
  and openEHR. We could provide a some tooling to get this moving and
  would even be very pleased to have feedback on how the Query Interface
  might go best.
 
  Hope to hear some ideas about how to progress this the best. We have
  recently enabled interactive editing of the language which does make
  it easier to test the capability of the engine. We would be happy to
  support people working in the open source space with developing the
  language further.
 
 I just noticed that there is a new BNF. I have been waiting for it to
appear
 since the one I had was dated 2006.
 
 I have someone that will build a parser for this BNF and I will then map
the
 query to the query engine that we have in OSHIP. This will take 3-4 weeks
and
 by then we should be able to persist some sample data and start testing
 queries.
 
 But at this point I do not have any feedback on the existing status of
AQL.
 Maybe in a couple of months.
 
 Cheers,
 Tim
 
 
 
 --
 Timothy Cook, MSc
 Health Informatics Research  Development Services LinkedIn
 Profile:http://www.linkedin.com/in/timothywaynecook
 Skype ID == timothy.cook
 **
 *You may get my Public GPG key from  popular keyservers or   *
 *from this link http://timothywayne.cook.googlepages.com/home*
 **




GUI-hints in openEHR templates? (Was: PatientOS archetype to form demo (of sorts))

2008-06-30 Thread Heath Frankel
Hi All,
This extension idea is used in XForms in a similar manner.  In fact this
extension mechanism is actually something that I played with 18 months ago
to represent AOM constraints of data associated with each form control
expressed in XForms.  I shelved this approach due to the complexity of
implement this approach.  I would be interested in revisiting this again
with the aid of the community.

However, Rong is proposing the opposite, having form extensions within the
template.  This could be viable.

The other consideration I had when I objected internally to the Hide-on-form
attribute provided by the Ocean Template Designer, was to have a separate
section within the template for form definition details.  This again is
borrowed from XForms where it has the multiple sections including the Model
(similar to template definition but in an instance form, although you can
also reference an XML schema in XForms I believe), and View (form
definition).  

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Thilo Schuler
 Sent: Friday, 27 June 2008 10:12 PM
 To: For openEHR technical discussions
 Subject: Re: GUI-hints in openEHR templates? (Was: PatientOS archetype to
form
 demo (of sorts))
 
 Very interesting - maybe we could have seperate namespaces for the
 core tags and extensions. Could be a good compromise! While I see the
 advantages of keeping GUI stuff out of the template, I also see that
 this more and more complicated as we add additional abstraction
 layers.
 
 On Fri, Jun 27, 2008 at 2:26 PM, Rong Chen rong.acode at gmail.com wrote:
  Hi all,
 
  My thoughts on this is so far our experience with templates are mostly
  related to screen forms and GUI widgets. It's probably easiest to relate
to
  screens when engage clinicians for templates reviewing, hence the need
for
  visual presentation of templates from the NHS work.
 
  We also want to reuse the semantics in templates to generate messages,
  reports etc. The question is how much 'generic' semantics can be reused
from
  the templates built for specific purpose - screen templates, message
  templates and report templates. Surely the content for all types of
  templates will be quite different and we probably would like to have
special
  syntax to support GUI hints, but do we need special syntax to support
other
  uses? How about indicators for decision support, clinical research data
and
  information lifecycle management?
 
  I am thinking about an extendable markup language that can be plugged
into
  the core template language as a way to add extensions to templates if
there
  is any application specific meta-data required. I am also in favour of
the
  idea to store these extra meta-data inside the templates to ease the
  maintenance. When passing these templates around, the template engines
can
  ignore the extended markup and only process the standard part if they
don't
  recognize the extended syntax.
 
  Something like
 
  gui_markup_plugin
  hide_in_GUI path=.../
  hide_in_GUI path=.../
  /gui_markup_plugin
 
 
  Cheers,
  Rong
 
 
  On Fri, Jun 27, 2008 at 12:30 PM, Thilo Schuler
thilo.schuler at gmail.com
  wrote:
 
  Would also want GUI things like hide_in_GUI to be in a separate
  artifact on top of a template. It is good to hear that Ocean only did
  that as quick fix to meet customers requirements, which is very
  plausible.
 
  As mentioned before templates are great to initially SCAFFOLD a GUI,
  which has to be further adapted by humans for the best possible
  usability results (use-case and device specific). This allows
  verification of the templates and archetypes from a user point of view
  and is very important as Richard pointed out.
 
  I can understand Josinas comments about clinicians not caring about
  the difference between semantics and GUI stuff, so a tool like the
  Template Designer should hide this important separation, where
  appropriate.
 
  Thilo
 
  On Fri, Jun 27, 2008 at 10:03 AM, Hugh Leslie
  hugh.leslie at oceaninformatics.com wrote:
   Hi Erik
  
   Personally, I don't think that templates should contain GUI rendering
   hints
   as they should remain purely about the semantics.  There are others
that
   don't agree with me.  The hide on form function in the Template
   designer
   was partly to meet requirements for documentation of the templates
for
   some
   groups using this technology.  I am not sure if the hide_in_ui
parameter
   is
   going to make it into the final template spec - Tom will have
something
   to
   say about that.
  
   Personally, I think that there should be some other artifact that
   details
   GUI specs - if we mix up the two things, then the purpose of the
   template
   becomes confused.  Templates can be used for everything from GUI, to
   data
   instance, persistance and query.  If we add a whole lot of parameters
   around
   GUI, then we will also probably need 

GUI-hints in openEHR templates? (Was: PatientOS archetype to form demo (of sorts))

2008-06-30 Thread Heath Frankel
Hi Thilo,
It is interesting you have talked about the idea of scaffolding a GUI.  This
is exactly the work Ocean is doing at present.  We have redeveloped our Web
Forms engine to work based on this principle.  From a template developed
using the Ocean template Designer, we now generate a Form Definition file
based on that template using a basic (and modifiable) presentation
transformation.  This assumes nothing about layout and only specifies the
existence of controls within groups and incorporate the AOM constraints for
the corresponding data bound object from the reference model.  This gives
forms engine all the information it needs to generate a basic form at
runtime straight from a template.  The advantage of having this form
definition over simply creating a form straight from the template/archetype
as demonstrated by Greg is that we can use the same artefact to customise
the layout of the form using an editor.  The forms engine can then process
both designed (after initial scaffolding) and auto-generated forms as
required.  The Forms Definition format we are currently using is
proprietary, but I would be interested give some time and reason to see how
we can import/export into a standard format such as XForms.  However, I am
sceptical about the use of XForms unless we utilise extensions significantly
otherwise we lose way too much information available in the AOM constraints.


Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Thilo Schuler
 Sent: Friday, 27 June 2008 8:00 PM
 To: For openEHR technical discussions
 Subject: Re: GUI-hints in openEHR templates? (Was: PatientOS archetype to
form
 demo (of sorts))
 
 Would also want GUI things like hide_in_GUI to be in a separate
 artifact on top of a template. It is good to hear that Ocean only did
 that as quick fix to meet customers requirements, which is very
 plausible.
 
 As mentioned before templates are great to initially SCAFFOLD a GUI,
 which has to be further adapted by humans for the best possible
 usability results (use-case and device specific). This allows
 verification of the templates and archetypes from a user point of view
 and is very important as Richard pointed out.
 
 I can understand Josinas comments about clinicians not caring about
 the difference between semantics and GUI stuff, so a tool like the
 Template Designer should hide this important separation, where
 appropriate.
 
 Thilo
 
 On Fri, Jun 27, 2008 at 10:03 AM, Hugh Leslie
 hugh.leslie at oceaninformatics.com wrote:
  Hi Erik
 
  Personally, I don't think that templates should contain GUI rendering
hints
  as they should remain purely about the semantics.  There are others that
  don't agree with me.  The hide on form function in the Template
designer
  was partly to meet requirements for documentation of the templates for
some
  groups using this technology.  I am not sure if the hide_in_ui parameter
is
  going to make it into the final template spec - Tom will have something
to
  say about that.
 
  Personally, I think that there should be some other artifact that
details
  GUI specs - if we mix up the two things, then the purpose of the
template
  becomes confused.  Templates can be used for everything from GUI, to
data
  instance, persistance and query.  If we add a whole lot of parameters
around
  GUI, then we will also probably need to add specific things for these
other
  uses and it might get very messy.
 
  regards Hugh
 
  Erik Sundvall wrote:
 
  Hi!
 
  On Fri, Jun 27, 2008 at 07:08, Greg Caulton caultonpos at gmail.com
wrote:
 
 
  Thanks to the java reference implementation I have a demo of importing
  archetypes to auto generate forms which have the references to the
  archetype.
 
 
  Nice. Keep up the good work.
 
  On Fri, Jun 27, 2008 at 07:08, Greg Caulton caultonpos at gmail.com
wrote:
 
 
  One thing I noticed in the conversion that I don't have any way of
  distinguishing between a line of text and multiline text in the
  archetype (I would generate an appropriate pane in the latter case).
  Perhaps not a big deal.
 
 
  This might be a useful requirement for the current template
  specification currently being worked on, or possibly a new kind of
  related specification.
 
  I first thought that templates so far had been considered as purely
  specifying semantics and that they were not supposed to give hints
  regarding GUI rendering. But now I see a parameter hide_in_ui in the
  class T_COMPLEX_OBJECT found in the draft template specification. (A
  similar function is present in the Template Designer tool from Ocean
  Informatics there is an option to hide elements instead of
  constraining them to zero occurrence, in the output file this is
  persisted as hide_on_form=true.) Could anybody detail it's intended
  use a bit more?
 
  I think GUI rendering hints can be appropriate to specify at the same
  point in time as template design is taking 

openEHR Querying specifications

2008-06-05 Thread Heath Frankel
The v1draft convention is already deprecated.  The BNF for AQL doesn't
support it deliberately, to ensure only non-draft archetypes are used when
committing/retrieving data.

Heath 

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Peter Gummer
 Sent: Thursday, 5 June 2008 11:14 AM
 To: For openEHR technical discussions
 Subject: Re: openEHR Querying specifications
 
 Heath Frankel wrote:
  [openEHR-EHR-COMPOSITION.encounter.v1*] (or perhaps more correctly
  [openEHR-EHR-COMPOSITION.encounter.v1.*], where the dot means any
  character
  not the version delimiter) and [openEHR-EHR-COMPOSITION.encounter.v\d+]
  are
  different.  The first allows all revisions of .v1 (e.g. v1.1, v1.2, ..)
 
 Close, but not quite!
 
 [openEHR-EHR-COMPOSITION.encounter.v1.*] allows all revisions of .v1,
.v10,
 .v11, ... .v100, .v101, etc.
 
 To allow all revisions of .v1, we would need this:
 
 [openEHR-EHR-COMPOSITION.encounter.v1\..*]
 
 But what about .v1draft? This regex wouldn't catch it. Does this matter?
Or
 is that old draft convention going to be phased out?
 
 - Peter
 
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




openEHR Querying specifications

2008-06-04 Thread Heath Frankel
Versions should be handled using the regular expression syntax of the
archetype ID, as is done in ADL to represent slot constraints and
action_arcehtype_id in ACTIVITY.

E.g. [openEHR-EHR-COMPOSITION.encounter.v1*]

BTW, using the OR operator you could have had 

... 
CONTAINS COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v1] 
OR COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v2] 
...

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Ian McNicoll
 Sent: Wednesday, 4 June 2008 6:06 AM
 To: For openEHR technical discussions
 Subject: Re: openEHR Querying specifications
 
 Fair point. Perhaps AQL should support ranges of version numbers to
 simplify the query as in many cases the query will not be affected by
 a structrural change to the archetype
 
 e.g.
 
  FROM EHR [ehr_id/value=$ehrUid]
  CONTAINS COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v[BETWEEN 1.5
AND 2]
  CONTAINS OBSERVATION obs [openEHR-EHR-OBSERVATION.blood_pressure.v[=1]
  WHERE (
  obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
=
  140
 
 Versions and revisions would need to be handled.
 
 Ian
 
 2008/6/3 Greg Caulton caultonpos at gmail.com:
 
  --
 
  Message: 2
  Date: Tue, 03 Jun 2008 16:39:37 +0100
  From: Thomas Beale thomas.beale at oceaninformatics.com
  Subject: openEHR Querying specifications
  To: Openehr-Technical openehr-technical at openehr.org
  Message-ID: 484565B9.6030805 at oceaninformatics.com
  Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 
 
  The current material is therefore intended as a resource for discussion
  and definition of a query language for openEHR. A team can be defined
  after sufficient time for the community to react to this material and
  determine if it makes sense to use AQL as the basis or to seek other
  solutions or candidates.
 
  - thomas beale
 
 
 
  Perhaps this has been answered but as the archetypes change version is
it
  expected that the AQL will need to keep up with that - I assume our
historic
  data would be specific to the archetype version - not 'upgraded' ?
 
  i.e. after v1:
 
  FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION
  [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/value
 = 140
 
  after v2:
 
  FROM EHR [ehr_id/value=$ehrUid]
  CONTAINS COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v1]
  CONTAINS COMPOSITION [openEHR-EHR-COMPOSITION.encounter.v2]
  CONTAINS OBSERVATION obs [openEHR-EHR-OBSERVATION.blood_pressure.v1]
  CONTAINS OBSERVATION obs2 [openEHR-EHR-OBSERVATION.blood_pressure.v2]
  WHERE (
  obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
=
  140  OR
 
 obs2/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
 = 140  )
 
  not sure if that is exactly right.
 
  thanks!
 
  Greg
 
 
  http://www.patientos.org
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
 
 
 
 
 --
 Dr Ian McNicoll
 office +44(0)141 560 4657
 fax +44(0)141 560 4657
 mobile +44 (0)775 209 7859
 skype ianmcnicoll
 
 Consultant - Ocean Informatics ian.mcnicoll at oceaninformatics.com
 Consultant - IRIS GP Accounts
 
 Member of BCS Primary Health Care Specialist Group - http://www.phcsg.org
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




MIE-2008

2008-06-03 Thread Heath Frankel
Sounds good to me.  I think the sub-page for the paper could be an optional
thing but the link from the conference page can either go to a sub page or
directly to the paper.  The sub-page approach also assists with the
attachment limit issue (which will need to be administered by someone) and
allow comments to be made about the paper or presentation.

Heath

 -Original Message-
 From: Tim Cook [mailto:timothywayne.cook at gmail.com]
 Sent: Monday, 2 June 2008 9:49 PM
 To: heath.frankel at oceaninformatics.com
 Cc: 'For openEHR technical discussions'
 Subject: RE: MIE-2008
 
 
 On Mon, 2008-06-02 at 17:16 +0930, Heath Frankel wrote:
  Labels only work on pages, not on attachments.  Are we looking at a
  page per paper or page per conference?  If the former then this
  suggest could work, but I don't think is as good as an index, however
much
 more automated.
 
 My full thoughts on this were:
 
 A main conference index page linked to a single page about the individual
 conferences.
 
 On the individual conference page there could be a brief description as
well
 as dates/times and location of the conference.  Each paper, presentation,
 poster, etc. is attached to a child page of this conference where the
author
 could add the abstract or a brief description.  This page carries the
Labels
 for the attachment.
 
 This way only the main conference index has to be maintained by a single
 person and future conferences can be added as soon as we know of a planned
 openEHR event.
 
 This gives us everything linked to a specific conference as well as being
able
 to search for specifically labeled subject matter across the site.
 
 --Tim
 
 
 
 --
 Timothy Cook, MSc
 Health Informatics Research  Development Services LinkedIn
 Profile:http://www.linkedin.com/in/timothywaynecook
 Skype ID == timothy.cook
 **
 *You may get my Public GPG key from  popular keyservers or   *
 *from this link http://timothywayne.cook.googlepages.com/home*
 **




MIE-2008

2008-06-02 Thread Heath Frankel
Rong,

The only limit on attachments I have found is the default maximum number of
attachments per page, however this is configurable (not sure if there is any
limits to the configuration).

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Rong Chen
Sent: Friday, 30 May 2008 7:34 PM
To: For openEHR technical discussions
Subject: Re: MIE-2008

 

On Fri, May 30, 2008 at 11:48 AM, Thomas Beale
thomas.beale at oceaninformatics.com wrote:

Lisa Thurston wrote:
 Andrew Patterson wrote:

 Actually, is it possible to have a conferences page on the wiki
 that is a bit of a one-stop shop for documenting openEHR related
 contributions to conferences. Somewhere where authors could
 attach their presentations from last years Medinfo, the MIE 2008 etc
 - and maybe also lists of future conferences of interest to
 openEHR folks.

 I know I can create pages myself on the wiki but I'm still a bit unsure
 where things are supposed to go in the wiki tree.


 Andrew, I think this is a really good idea. A link from the homepage or
 static part of the website into a place on the wiki where users can
 upload papers and continue the discussion has potential as both a
 reference and a way to provide feedback and/or engage in discussion on
 each paper in one location.



*I am fine with that - I don't think we had the wiki running when we did
the MedInfo pages. Probably we should move that to the wiki as well and
make a small web page. How do others feel about this. Note, if we go
this way, I am likely to leav it up to conference paper-writers to put
their own entries up in the relevant pages!

Can we have reactions from a few more people - if the response is
positive, I will organise the conference material onto the wiki.


It sounds like a good idea to me. Is there any limit on the type/size of
file that can be uploaded to the wiki page? 

Cheers,
Rong

 



- thomas beale


*

___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20080602/093470ac/attachment.html


Data-entry for OpenEhr

2008-04-28 Thread Heath Frankel
Bert,
I think you might be on the right track with your pathed values, it is very
similar to an approach that Tom and I discussed as a more efficient XML
representation of openEHR data.  However, I think you are going to have to
keep in mind the complexity of the openEHR Data types, values will not be
able to be represented as attributes unless you have pathed items that go
down to the datatype attribute level such as .../value/magnitude, or invent
a whole new schema representation for each Data Type.  You also need to
consider RM attributes such as LOCATABLE.uid, not just archetyped data
elements.

Again, I think the persistence model article on the WIKI is relevant here.
I know you have your own database persistence representation but you could
consider this an intermediate persistence representation.  You are certainly
welcome to represent the data within your application as you wish, but it
would be good to work collaboratively to ensure that we don't have a huge
number of alternate intermediate formats and that we learn from these
experiences.  

One comment I will make is that when working with application developers
unfamiliar with openEHR that the paths are very difficult for them to
comprehend and if you are at all expecting third parties to utilise an
intermediate format through some API rather than being completely
encapsulated within your software that paths will be problematic to the
uptake of that API.  The comparison of openEHR paths with XPath is often not
useful to these kind of developers either. 

Ocean is also developing the idea of a Template Data Schema, which will be
published as a draft on openEHR in the coming months.  This does provide a
specific XML schema for a template (or combined collect of archetypes) where
the XML element names come from the archetype element names, but there is
additional meta-data in the schema and the XML document based on that schema
which links each XML element back to the archetype element such as the
node_ids so that generic transformation logic can be written to generate an
openEHR instance for any set of archetypes.  These Template Data Schemas can
be automatically generated from the archetype/template models based on a set
of rules.  I can give you a sample of this if you would like but I suspect
that you don't need this template specific approach, which is intended more
for those that unfamiliar with openEHR or you want a intermediate data
representation that is closer to a specific use-case for integration
purposes.

Heath 

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Bert Verhees
 Sent: Thursday, 24 April 2008 12:42 AM
 To: For openEHR technical discussions
 Subject: Re: Data-entry for OpenEhr
 
 Tim Cook schreef:
  Hi Bert,
 
  Please note that this is MY understanding of the reference model and is
  subject to change by the expert opinion of others.
 
  On Wed, 2008-04-23 at 16:16 +0200, Bert Verhees wrote:
 
  Archetypes are in fact RM-objects, I have a way to store RM-objects
  efficiently.
 
 
  Okay...good.  :-)
 
 
 
  My question: In what form should I shape the data, so that form is
  usable with every possible valid archetype?
 
 
  A, I think that this is the crux of the issue.
  My answer is that you do not.
 
  When data is captured (or changed) it is valid for THAT time and place
  in accordance with the constraints of that version of that archetype.
  That data is is not standalone, it is invalid anywhere else.
 
  In order to maintain the semantic context; that data is tied to that
  archetype, in a composition and submitted as part of a contribution.
 
 I agree, that is what I do, what I try to find is a form to hand over
 the data, with the archetype. So both, at the same time will be eaten
 and stored by the kernel.
 For example, I have a very simple archetype, only one data entry
 
 The definition looks like this
 
 definition
 PERSON[at0] matches {
 identities cardinality matches {0..*; unordered; unique} matches {
 PARTY_IDENTITY[at1] matches {
 name matches {
 DV_TEXT matches {
 value matches {legal identity}
 }
 }
 }
 
 I want to hand this archetype with data, for example from a webform, or
 a message interpreter to my kernel which knows what to do with it.
 
 At this moment, I am thinking about something like this, an XML form
 which contains the archetype-ID, and there in, nodes with path and value
 Because only leaf-nodes can contain data, there only leafnodes in the
 XML-file
 
 For example for this archetype it would be:
 ArchetypedData
 archetype_id=openEHR-EHR-CLUSTER.person_demographics.v1draft 
 ArchetypedDataset path=/identities[at0]/name[at1]/value
 value=Johnsson/
 /ArchetypedData
 
 But I don't know if this is sufficient.
 
 Anyway, this XML file will be given to the RM-builder, 

TDS, public development on openEHR wiki instead? (Was: Data-entry for OpenEhr)

2008-04-28 Thread Heath Frankel
Erik,
The only reason for keeping it internal at this point is resources, having
the time to document what has been done thus far in a publishable form.  We
have also been refining the rules and transformation based on implementation
experience which has made this even more difficult.  However, we feel that
we are very close and are working on the documentation as quickly as we can
(given priorities).  I understand that you want us to simply publish what we
currently have, but this is not the approach that Thomas wants to take at
this point.  Our intent is to provide a description of the transformation
rules, and an XSL transform.  The other factor is that the source of this
transform is an Operational Template document, which is yet to be stabilised
as we are awaiting the next draft of the Template Specification.  I suspect
that the TDS transformation will be published after this.  I will leave it
to Thomas to make any further comment on his return from leave.

Heath

 -Original Message-
 From: e.sundvall at gmail.com [mailto:e.sundvall at gmail.com] On Behalf Of 
 Erik
 Sundvall
 Sent: Monday, 28 April 2008 5:44 PM
 To: heath.frankel at oceaninformatics.com; For openEHR technical discussions
 Subject: TDS, public development on openEHR wiki instead? (Was: Data-entry
for
 OpenEhr)
 
 Hi!
 
 I believe TDS is a very nice approach for som especific integration
 purposes. Simple and wonderful invention (the best ones are often
 simple...) For  those new to TDS there was a thread regarding this
 earlier:
http://www.openehr.org/mailarchives/openehr-technical/msg03116.html
 
 Are there any specific reasons for keeping the development internal to
 Ocean Informatics? As I understand it you sometimes internally use a
 wiki for these kinds of developments, I would suggest that you move
 the TDS (and if possible the AQL) development to the public openEHR
 wiki instead as they are of strategic importance to openEHR. Just post
 what you have right now including a comment that this is only
 experimental. This way you might get more input and wider
 testing.Certainly people/projects wanting to use TDS early will feel a
 lot more confident regarding progress and might trust it as a viable
 path to go for certain projects that would be riskier if there was
 only an expected release date from a company that may need to revise
 it's at priorities any time (as most companies do). Preliminary
 implementation experiments could be started right away and
 updated+launched when the real specification is finished.
 
 Best regards,
 Erik Sundvall
 erisu at imt.liu.se http://www.imt.liu.se/~erisu/ Tel: +46-13-227579
 
 On Mon, Apr 28, 2008 at 3:46 AM, Heath Frankel
 heath.frankel at oceaninformatics.com wrote:
   Ocean is also developing the idea of a Template Data Schema, which will
be
   published as a draft on openEHR in the coming months.  This does
provide a
   specific XML schema for a template (or combined collect of archetypes)
 where
   the XML element names come from the archetype element names, but there
is
   additional meta-data in the schema and the XML document based on that
 schema
   which links each XML element back to the archetype element such as the
   node_ids so that generic transformation logic can be written to
generate an
   openEHR instance for any set of archetypes.  These Template Data
Schemas
 can
   be automatically generated from the archetype/template models based on
a
 set
   of rules.  I can give you a sample of this if you would like but I
suspect
   that you don't need this template specific approach, which is intended
more
   for those that unfamiliar with openEHR or you want a intermediate data
   representation that is closer to a specific use-case for integration
   purposes.




On Information and Interoperability

2008-04-21 Thread Heath Frankel
Adam,
If binary standards have dried up then why is W3C producing the Efficient
XML Interchange http://www.w3.org/XML/EXI/?  There is also ISO standard
based on ASN.1 (http://asn1.elibel.tm.fr/xml/finf.htm) that also produces a
binary encoding of XML.  Perhaps there is a need to reduce XML document
size? 

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Adam Flinton
 Sent: Friday, 18 April 2008 11:21 PM
 To: timothywayne.cook at gmail.com; For openEHR technical discussions
 Subject: Re: On Information and Interoperability
 
 Tim Cook wrote:
  Hi Adam,
 
  On Fri, 2008-04-18 at 11:55 +0100, Adam Flinton wrote:
 
 
  Stepping outside of well supported standards increases maintenance
  requirements much much more.
 
 
 
  Well, I am not certain I would say much much more but in any case there
  are reasons why new standards are developed.
 
 
 Oh indeed however there are some givens wrt stds etc:
 
 A) Binary stds (esp on the wire) stds have died off (CORBA, COM etc) 
 formatted text has taken off as a result of the plethora of langauges 
 uses. I used to be a big OpenDoc/SOM person  then I used to like RMI
 etc buttest messaging is a more survivable approach when people
 look at systems with long shelf lives (which is esp the case in terms of
 things like the CFH program).
 
 Like Python.OK this will work with itPerl? OK..C++?
 OKetc.etc.
 
 Being able to read a text file/stream is just about the lowest common
 denominator wrt inter-systems comms.
 
 B) wrt XML the std mark up of an element  / etc  attributes as
 basically properties/ini format of x=y is so std now (esp wrt the
 prevalence of HTML) that I can not see much shifting that.
 Wrt actual low level designs etc within that sphere (W3C Schema vs Relax
 or XSLTv1 vs V2 etc)  then the higher level (e.g. HL7 Mif or XMI or SVG
 etc) will be subject to change  the strady growth in new standards. The
 recent ODF/OOXML fight is an example of this.
 
  Heck why not write your ADL handling etc in PICK ?
  You might find it hard to get Dell et all to support Pick on your
choice
  of hardware so why not try  build your own hardware with Pick
optimised
  chips while you're at it?
 
 
 
  I assume you meant to surround this with sarcasm tags.
 
 
 Only just. Once you start down the roll your own route where do you
stop?
 
  If you want to write your very own persistence mechanism/db I cannot
but
  admire your ambition but I would caution wrt expecting others wishing
to
  use it vs spending a bit more on hardware.
 
 
 
  This wasn't the subject.  I used the SQL database use as an analogy.  I
  don't need to create my own (even if I could) object databases prove
  themselves very useful in implementation.
 
 
 See above.
 
 
  How this applies to healthcare is that healthcare information must
  contain truth.  That truth is fully dependent on the complete context
of
  where, when and how it was recorded.  This context needs to be
  understood in all spatial and temporal instances where this
information
  is or may need to be used.
 
 
 
  An obvious response would be that Heisenberg would argue with the
above.
 
 
  Well, I am not a quantum physicist and would not argue with him in that
  domain of course.  However, a lot has changed in information processing
  since he passed away in 1976.  I would venture to guess that he might
  have made some adjustments to his uncertainty principle in the process.
 
  There is certainly a great deal of vagueness in healthcare information
  and the ARB has had MANY discussions about handling these situations.
  But I still maintain that vagueness nor uncertainty negates the expected
  truth value of healthcare information.  The truth of healthcare
  information exists in the context of which it is collected.  It may
  later proved to be incorrect but if the complete context of the
  information is known, it will be understood by the receiver.
 
  An interesting subject indeed but we are drifting off the subject to
  some extent. :-)
 
 
 
 G
 
  However the whole point of an object model (as opposed to an object
  implementation) is that it is implementation neutral.
 
 
 
  True.  But the implementation must faithfully represent the semantics of
  the model or it isn't an implementation.
 
 
 No argument from me. However to take the example of UML ( please note I
 am not a great fan of UML as it  is more of a meta-standard (try
 taking a xmi/model from one UML tool to another)) you can design
 your class diagram etc  then persist/implement that model in all sorts
 of ways. So long as you can faithfully re-create that model then..
 
 e.g. A mate of mine called Bob has built this:
 
 http://umlspeed.sourceforge.net/
 
 Which I often use for quick modelling.
 
 As an example from the above, Were there an AOM/MOF mapping then in
 theory you could persist an archetype out as XMI.
 
 BTW sidenote: I have 

Archetype documentation using XML + XSLT

2008-04-21 Thread Heath Frankel
Adam,

 
 Indeed however there are ways of persisting a model  they require at
 the end of the day a recognizable document design/format.
 
 I have already noted how using text children of an element to use a
 value vs a std value attribute in the archetype xml  inflates the file
 sizes.
 
 A
 Some value
 /A
 
 
 A value=Some value/
 
 Are both persisting/serializing the same data.
 
 Adam
 

Your example here is contrary to your statement, example 1, 17 characters,
example 2, 23 characters.  Not sure how you get a 1/3 size reduction.

Heath




Understanding XML archetypes..

2008-02-22 Thread Heath Frankel
An archetype not based on a reference model is impossible (or at least
pointless).
Erik Sundvall

Erik,
I love this comment, it should be put up on the openEHR Web Site as the
Play of the Day.  

So many times I see people trying to use Archetypes without a RM, or even
worse using openEHR Archetypes without using the specified underlying
openEHR RM.  Although the later is better than the former, it still causes
major confusion and badly designed Archetypes that cannot be used for
implementation.  

Heath




Understanding XML archetypes..

2008-02-22 Thread Heath Frankel
- The fact that the current tools do not expose or use these
attributes,
  is a design decision made by the people writing the tools.
 
 Well probably often a decision in lack of time/resources or (less
 likely) lacking ideas of good/useful ways to present them. A tool
 exposing the RM has to deal with both RM and AM in detail and thus
 takes more time building than dealing with AM only.
 
Actually I think it was more to try to keep the task of archetyping simple
as it is a task targeted at Domain Experts (Clinicians) without them
requiring to know about the RM (well so we thought).  Unfortantly, hiding
some attributes that are commonly required by the clinician forces them to
put it in the archetype so they can see it.  We are also finding more and
more RM attributes that we want to archetype other than just data structures
such as participations.

The challange is to find a visualisation of the archetype that is still
simple but can also expand out to include relevant RM attributes.

In Ocean's next generation of tools, mainly inspired by the requirements of
the Archetype Query Builder where criteria on RM attributes is common, we
will have a configurable tree view of templates where individual RM
attributes can be turned on or off, right down to the data type attributes
if needed.  We are also looking at alternate visualisation of archetypes for
the next iteration of the Ocean Archetype Editor.

Regards
?
Heath
?
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
?
ph:?+61 (0)8 8223 3075
mb: +61 (0)412 030 741 
email:?heath.frankel at oceaninformatics.com 








persistence

2008-01-07 Thread Heath Frankel
Bert,
I think there might be a few reasons why a discussion on persistence might
come to a halt:
* lack of time
* lack of interest
* lack of knowledge on the topic

I certainly don't think anyone is deliberately trying to stop this
discussion and I agree that discussion would be beneficial to the community.
Sure there might be some commercial interest on the topic but that does not
stop others having the discussion.  However, the topic of a persistence API
I don't see as much of a commercial issue as a persistence model.  In fact
the persistence model becomes more irrelevant when a common persistence API
is available.  Tom has already indicated that Ocean intends to publish its
APIs, which takes resources, so the task gets assigned a priority alongside
many other high-priority tasks. 

In addition, I think there is some misinterpretation about the terms being
used in this discussion such as persistence API.  The original email from
this thread talked about a particular implementation of a persistence API
using a particular DBMS.  Tom, then talked about publishing an API
specification and Bert, you are advocating discussion about an persistence
API which I interpreted as being the specification of an API but perhaps it
was more a OS Java implementation so that it can be used with the OS Java
Kernel so that you can replace it with your own by changing the facade of
your persistence API to comply with the OS API.  

Well, if you want that discussion about implementing a Java Persistence API
then I will not stop you, but I will not participate as I have no interest.
This is why a discussion on an API specification would be more appropriate
for the wider community and leave the discussions about a specific Java
implementation to a smaller group of people that are interested and base
that implementation on the API specification.

Having said all that, I do have a comment about the OS Java Kernel binding
to a persistence API.  If we a look at the openEHR Architecture Overview,
there is an Architecture diagram (Figure 37) that suggests that the openEHR
Kernel (within the Virtual EHR built into a clinical application) does not
directly bind to a persistence API, but uses an EHR Service (I use the term
'Service' in it most generic sense, it does not need to be a Web Service).
Therefore, I suggest we should be working on this EHR Service API
specification and a reference implementation that might use some specific
persistence implementation.  If there is enough interest to define the
Persistence API also then that could be done also, but that would not
directly affect the OS Java Kernel.

BTW, leading up to MedInfo '07 Rong implemented an EHR Service binding to
the Ocean EhrBank Web Service within the OS Java Kernel.  I am not sure if
this was committed to the svn repository but if it has been then you will be
able to see the Ocean EhrBank Service API.  This API has been refined
slightly since MedInfo but it will give you some idea of what it looks like.
It is quite a simple course-grained API and relies heavily on AQL (formerly
known as EQL) and openEHR RM (as you would expect) to provide its
capability.


Regards
?
Heath
?
Heath Frankel
Product Development Manager
Ocean Informatics

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Bert Verhees
 Sent: Saturday, 5 January 2008 1:00 AM
 To: For openEHR technical discussions
 Subject: Re: persistence
 
 Karsten Hilbert schreef:
  On Fri, Jan 04, 2008 at 02:31:57PM +0100, Bert Verhees wrote:
 
 
  Exactly that is what I am doing, and to not reinvent wheels
  unnecessarily,
 
  Good !
 
 
  I am calling others to help do it.
 
  Makes sense.
 
 
  Because, I am already figuring out how to do it, others can share and
  use my experience,
 
 
  No they (currently) cannot (easily in an OSS way) because
  ...
 
 
  But I am not going to do the first step, because, there is no one who
is
  wanting to help, and an Open Source project from one person is small,
it
  can stay in my house. Then publishing is of no use to me.
 
 
  ... they do not have access to your experience (in code).
 
  Note that I am NOT saying you *have* to share the code.
 
 What I need is a strongly expressed intention to do something in a way I
 suggest.
 Serious people, not , say, pbublish your thing, and we will see. That is
 not good enough.
 
 If we have a few people which want to join, and  they seriously have
 thought about in what way to join, then we discussi further how to
proceed.
 
 And I am not suggesting that I have found the holy grail, or that I am
 looking for it, it is, like you said before, there is a job to do.
 
 Bert
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical





persistence

2008-01-07 Thread Heath Frankel
Bert,
Well why don't you start a blog on the openEHR WIKI (confluence uses the
term News for a Blog article) about your experience as a starting point
rather than waiting for someone else to start it.  It does not need to be
anything too in depth initially just to test the interest.  Others might
then write their own blog articles and from these we can start a Wiki page
consolidating the agreed ideas.

Another good blog topic might be the changes you made to the OS Java Kernel.
Using the Blog is better than an email thread as it will serve as a
permanent record of those ideas which get lost and fragmented in email. 

I think you will find that the majority of Open Source Software is written
by one person or a very few people (small company) and this is reflected in
the current openEHR reference implementations (Java Kernel, ADL Workbench,
both Archetype Editors).  The interest in these tools were probably not
known until they were released as open source.  As the interest grows in the
open source project, additional parties come on board and contribute, but
there always needs some ONE to plant the seed.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Bert Verhees
 Sent: Sunday, 6 January 2008 7:35 PM
 To: timothywayne.cook at gmail.com; For openEHR technical discussions
 Subject: Re: persistence
 
 Tim Cook schreef:
  On Sat, 2008-01-05 at 16:59 +0100, Bert Verhees wrote:
 
  Thomas Beale schreef:
 
  Probably you need to clarify the concrete basis of this discussion
from
  your point of view.
 
 
  The fact is, I have a persistence layer running, can be optimized on
  some places (working on that), but is does it job. I don't need others
  to help me.
 
 
  Hi Bert,
 
  H,  I find this a little confusing.  In your many posts you are
  calling for people to help develop a persistence API.  Yet here you are
  saying that you have one and do not need help.
 
  Maybe some clarification will help.  Is there a place where you have
  made your Java implementation open source and available to others for
  assessment?
 
 (I do not, at this moment want to publish my code. I worked two years on
 my code, I keep it for myself until there will be a good reason to
 publish it)
 First, we can discuss an API, maybe my code this not fit at all in the
 results of this discussion.
 I am not important, nor is my code important, the *plan* is important,
 and that I explained a few times.
 
 Do we need the code from other participants before we can discuss a good
 way to implement the ideas behind it?
 I can explain how I did things, for assessment-purposes, if you like,
 better is, explain it for progress-purposes. That is, maybe important,
 that is part of the discussion. Others can have others ideas or like
 what I have done, or have on some parts the idea that it can be done on
 a better way, that is discussion. That is what I call for.
 But first we need people who want to discuss, A discussion on my own is
 a lonely thing.
 
 I want with others to build an API, with or without me (I am not
 important), so problems that will show up during doing this will reflect
 to the Java-kernel. (the way is important (Buddhist saying)).
 Also I hope this project then will facilitate others to build their
 products, so the market potential of Openehr is boosted because of more
 products coming to that market.
 If needed and wanted, I will be happy to share my experience, and
 work/code, but there must be some reason to do so. Maybe my code does
 not fit at all in what others are going to do, why should I publish it
then?
 
 Open Source in my opinion means, working together, not one does the job,
 others look.
 This last statement is not personally pointing to someone special.
 Open Source,  can be, in my opinion, develop a plan together,  an
 architecture, and build it together, so others of that community have
 ways to analyze and judge the progress on criteria they made up together
 before. If others have other opinions on this, please say.
 
 I discussed about one/two month ago with Rong, on this very same
 mailinglist.
 He agreed an open source API would be a good idea, but the discussion
 stopped without coming to further plans.
 
 Every month or few months, we see emails appear from people the ask
 where to start, or how to do persistence.
 They always get an answer. From some of these people we never hear
 again, because, I can only guess, maybe, they give up.
 That is not good, we need implementers, we must facilitate them, make it
 easy to step in, making openehr become something that will be important
 worldwide.
 
 Now I stop writing about this, for the moment, I believe I explained
 every aspect a few times in a few days.
 
 Thanks for your attention
 Bert
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 

Suggestion wrt XML Archetypes Templates

2007-12-11 Thread Heath Frankel
Adam  Lisa,
There is a very specific rationale and it is consistent.  The XML Schema is
a direct serialisation of the UML openEHR reference models.  Every class is
an XML schema type and every attribute is an element except for
archetype_node_id as it is a metadata attribute.  So in the case of
CODE_PHRASE, it has an attribute of terminology_id (hence the element
template_id) of type TERMINOLOGY_ID.  TERMINOLOGY_ID has an attribute of
value of type string (hence the element value).  Paths are absolutely
critical in openEHR and they are based on XPath.  If we start arbitrarily
changing the schema based on what someone thinks is good XML we will break
the openEHR path to XPath correspondence making any mapping rules more
complex and error prone.  This is why the terminology ID value is not
represented as a value attribute or element text node.  Yes it might seem
inefficient but it was deemed to be important to make sure the logical model
to implementation mapping was consistent and ensure paths worked.  In
comparison to HL7 v3, the data:noise ratio is still considerably less.  

Regards

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Lisa Thurston
 Sent: Tuesday, 11 December 2007 10:23 AM
 To: For openEHR technical discussions
 Subject: Re: Suggestion wrt XML Archetypes  Templates
 
 Adam Flinton wrote:
  I would like though to enquire wrt the rationale of containing _id info
  in a separate value/ element.
 
  If you are being consistent
  instead of :
 
 terminology_id
 valueISO_639-1/value
 /terminology_id
 
  it should be simply:
 
 terminology_idISO_639-1/terminology_id
 
 
  or terminology_id value=ISO_639-1/
 
  Adam
 
 There is no special rationale. It is simply the default serialisation of
 the type TERMINOLOGY_ID.
 
 Lisa
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Suggestion wrt XML Archetypes Templates

2007-12-10 Thread Heath Frankel
No XML Schema changes required, in fact the schema already indicates that
the string data should have space preserved as per the W3C references
provided by Adam.  The problem is that because the schema specifies
something is a string type it is not required to be specified in the XML
document and when a tool such as XMLSpy reads the document it doesn't know
what type the element is without referencing the schema, so it doesn't apply
the default space='preserve' attribute when it does a pretty-print.

So technically there is nothing wrong with the current XML.  However, to
support these tools that apply pretty print before checking the schema to
determine if they are allowed too, we could explicitly add this space
attribute in the data (alternately, we might be able to provide the type
attribute instead, but we haven't tested this yet).  The problem is forcing
the XML serialiser to put these explicit attributes in the data.  We will
explore this.

Stepping back a bit, would it be sufficient (in the short term at least) to
just have the XML pretty printed out of the tools rather than a single line
so that you are not inclined to use the problematic XMLSpy pretty print?

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Thomas Beale
 Sent: Monday, 10 December 2007 7:34 AM
 To: adam.flinton at nhs.net; For openEHR technical discussions
 Subject: Re: Suggestion wrt XML Archetypes  Templates
 
 Adam Flinton wrote:
 
 
  I reserve my views wrt attributes vs text() however that would do on the
  proviso of a bit of testing with many tools as it used to be patchily
  supported by different tools.
 
  I accept that was a few years back  things may well have improved.
 
  So then next question then is when will the tools support this?
 
 looks like we have arrived at a useful point - first thing we need is an
 analysis of changes to the XML-schemas. If Lisa's change is all that is
 needed and someone wants to update the current schemas to make thi work,
 we can put it on the main TRUNK so that everyone can have access to it.
 
 Further analysis will be needed for the tools, but I would not expect
 big problems. Generally they are using orthodox XML parsers whcih I
 assume respect the whitespace settings in an XML schema...
 
 - thomas
 
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Compact XML format...?

2007-11-28 Thread Heath Frankel
Hi Thilo,

 One theoretical question (probably you Ocean guys have already looked
 into it), would it be possible to generate a second schemtron schema
 to express the asseration type constraints that can't be expressed
 with XML schema. If possible, by validating against both schemas there
 wouldn't be a need to use an openEHR kernel component in this
 integration by TDS scenario. But maybe this is (1) to complicated or
 (2) superflous as the data is checked anyways with a kernel before
 being committed. The only advantage would perhaps be that a more or
 less complete validation could take place in an XML based environment
 at the client side.
[Heath Frankel] 
No reason why you couldn't use schematron as far as I can see.  We choose to
use the kernel.

Heath




Compact XML format...?

2007-11-27 Thread Heath Frankel
Were HL7 messages exist and are working, we will continue to consume them
using the TDS intermediate form.  As stated previously, the TDS is not
intended for information exchange, but as a tool for integration.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Tim Cook
 Sent: Tuesday, 27 November 2007 11:11 AM
 To: For openEHR technical discussions
 Subject: Re: Compact XML format...?
 
 Hello Hugh,
 
 Thanks for the reply.
 
 I think we have a communications issue though.  My questions/comments
 weren't about the technical aspects.
 
 As I understood the proposition. It was to encourage other system
 vendors to create these templates in order to communicate with an
 openEHR based application.
 
 My argument is that the world of healthcare data exchange has been built
 (so far) on HL7 v2.x If my understanding of your proposal is correct
 then I will argue that we will have very little success in getting these
 vendors to incorporate a message format for openEHR.  I believe it is
 better to just continue doing what you are now by consuming HL7
 messages.
 
 Again, I think we are saying the same things but I'm not positive. :-)
 
 Cheers,
 Tim
 
 
 
 
 On Tue, 2007-11-27 at 09:12 +1100, Hugh Leslie wrote:
  Hi Tim
 
  Yes, I absolutely agree with this - our tools are capable of receiving
  V2 messages and producing openEHR data - we did this at MedInfo for
  the interoperability demo.  The problem with V2 is that the ability to
  put clinical content in there is limited (which is why all the work on
  v3!) and so we are also working on these other methods.  As I said
  previously we are currently capable of creating and sending CDA R2
  messages from openEHR and so as soon as there are applications out
  there capable of receiving them, we are capable of sending.
 
  regards Hugh
 
  Tim Cook wrote:
   Hugh, Tom, Heath, et.al.
  
   I agree that openEHR systems MUST interact with everyone else.  I also
   agree that MOST healthcare information providers only have a small
   segment of healthcare information to consider. I agree that if we (as
an
   openEHR community) do not work with the broader, more established
world
   we will be isolated (no matter that our approach is superior :- ).
  
   However, (I always have a BUT or a HOWEVER to present) I do think
that
   it is more prudent to do these translations INSIDE an openEHR
   implementation instead of trying to coax outside entities into doing
   them to communicate with openEHR implementations?
  
   A different approach says that; openEHR can translate ANYTHING thrown
at
   it via these really cool translations (TDS?). Instead of trying to get
   various vendors to support our (strange) formats that they do not
   understand.
  
   We certainly know that not many vendors are providing HL7 v3 messages
at
   this point. Shouldn't we concentrate on providing HL7 v2 lab, rad,
etc.
   input to EHR's/PHR's  instead of trying to convince the uninformed
world
   that they should be giving us openEHR EHR_Extracts or even transformed
   XML data?
  
   Thanks,
   Tim
  
  
  
   On Mon, 2007-11-26 at 20:25 +1100, Hugh Leslie wrote:
  
I also think the problem is that we have to accept the pragmatics of
the current situation in health care where companies are not
immediately going to re-engineer their systems to become openEHR
compliant, no matter how much we would like that.  In time, many
companies will re-engineer their software, and other new
applications
will arrive on the scene that are fully openEHR compliant.
   
In the meantime, this pragmatic approach allows for archetypes and
templates to completely model clinical medicine and to enable
everyone
to participate at, initially, minimum cost and effort. The exciting
thing about the openEHR approach, is that these Template Data
Schemas
are not hand coded, but are generated directly from templates and
archetypes using tools.  In Australia, we are using this approach to
enable the completely tool driven generation of CDA R2 documents
(because in a pragmatic world, we have to interact with everyone!)
with data going both in and out of CDA.  Of course we are doing this
with openEHR as well.
   
Hugh Leslie
   
Thomas Beale wrote:
   
 Rong Chen wrote:


  Hi Heath, Tom and others,
 
  I clearly see there is a need for TDS based integration. But I
am
 also
  concerned with the side-effects of it. By offering this 'easy'
way
 of
  integrating openEHR systems, we make it possible for vendors to
 ignore
  the 'hard' way of integrating openEHR systems using archetypes
and
 the
  generic RM. As you have indicated TDS doesn't contain all the
  semantics of the archetypes and RM, some semantics will be
forever
  lost when data are received using TDS. Without the knowledge of
  archetypes and RM, 

Compact XML format...?

2007-11-26 Thread Heath Frankel
Rong,

XML documents populated against a Template Data Schema are turned into pure
openEHR, so you do not lose any semantics.  There is enough meta data in the
TDS to maintain the semantics.  What you may lose are some of the ADL
assertions which cannot be expressed in XSD, but these will be picked up by
an openEHR kernel before being committed.  The schema provides enough
constraints to get a non-openEHR developer started.

 

All this will become clear when we publish a draft of the TDS generation and
transformation rules on the wiki.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Rong Chen
Sent: Monday, 26 November 2007 1:38 AM
To: For openEHR technical discussions
Subject: Re: Compact XML format...?

 

On Nov 25, 2007 10:09 PM, Heath Frankel heath.frankel at oceaninformatics.com
wrote:

Hi Erik,
I will forward a schema based on a Microbiology Result generated using the
Ocean Template Designer separately.

See comments below, you have stated exactly the problem that the TDS was
designed to solve.  We are using this approach to integrate existing vendor 
software to the Ocean EhrBank where the vendor has no openEHR expertise or
desire to do so (yet), they just want to have an openEHR repository.


Hi Heath, Tom and others,

I clearly see there is a need for TDS based integration. But I am also
concerned with the side-effects of it. By offering this 'easy' way of
integrating openEHR systems, we make it possible for vendors to ignore the
'hard' way of integrating openEHR systems using archetypes and the generic
RM. As you have indicated TDS doesn't contain all the semantics of the
archetypes and RM, some semantics will be forever lost when data are
received using TDS. Without the knowledge of archetypes and RM, some
intelligent use of the data won't be possible, e.g. AQL queries of the data.

Also one-template-one-schema seems to imply software changes whenever new
templates are introduced. Such changes will not be necessary if the openEHR
RM can be mapped directly into a generic internal model, which is
constrained in runtime using semantics in the archetypes/templates. So even
it seems to be harder than TDS based integration, it does offer full
benefits of using archetypes and makes the system more adaptive. 

Regards,
Rong

 



Heath


 The reason for asking is that in a context where openEHR/13606 has 
 been compared to HL7 (mainly v3 I believe) some parties claimed it
 would be easier for vendors to support HL7 than openEHR. In practice,
 what they mean is probably that they are used to follow (map their 
 internal/legacy structures to) specific HL7 xml schemas that come out
 after the long HL7 modeling process. I doubt that the vendors in this
 case internally are using any HL7 v3 models.

 This is sometimes forgotten when comparing HL7 and openEHR.

 So far we have had a look at some fairly equivalent examples of XML
 instances (e.g. blood pressure) from HL7 CDA (v2) and openEHR RM. Both 
 were fairly easy to understand when knowing the underlying models (HL7
 RIM +CDA and openEHR RM+AM) and both were a bit verbose if you were
 just interested in the blood pressure. To be honest if I was a vendor 
 not interested in underlying models I'd probably prefer whichever I
 was already used to and had people trained to work with - since none
 of them tries to make life easier to me by being tailored to the 
 specific use case.

[Heath Frankel]
As you know, a template is the knowledge artefact designed for a particular
use case, the TDS is a technical artefact to support the implementation of
that use case. 


 To validate clinically both were dependent on other artifacts (HL7
 Templates or openEHR archetypes). An information provider not
 interested in the underlying validation mechanisms could easily 
 produce data instances that are clinically invalid even though they
 are valid from the perspective of the respective XML schemas. Does the
 TDS-approach produce an XML schema that enforces more or all of the 
 specific archetype+template semantics? If not, could it be enhanced to
 do that? If so I believe that some safety would be gained - if data
 providers do not care to learn the full semantics of openEHR then at 
 least their schema-based XML-validators would enforce some of the
 semantics.

[Heath Frankel]
Most but not all the semantics of the archetypes and templates are
represented in the TDS.  The reason it is not all, is due to the limitations

of XML schema to do assertions between XML elements.



 If we could standardize the TDSs and have accompanying standard
 determinstic transformation mechanism then openEHR would have a 
 competitive advantage in the just give me a simple XML schema and
 instance examlpe use-case. A use case more important than one might
 think at first...

[Heath Frankel]
The TDS is simply a set of XML elements with names from the archetypes.  If 
you look at the schema in an graphical XML tool

Compact XML format...?

2007-11-25 Thread Heath Frankel
Tim,
I don't know anything about MIRTH but I will assume it does something like
take a HL7 v2 message and turn it into some XML document based on a provided
schema, I would call this a transformation, just not XSLT.  Assuming that
the XML Schema used in MIRTH is a Template Data Schema, then you are only
one further transformation away from openEHR.  Any integration engine can be
used to implement this approach using whatever mapping tools it provides.

Again I don't know about how MIRTH works but the catch in this is the
Template Data Schemas might be too specific to allow MIRTH to be used
against the TDS in one step.  What I mean by this is that a TDS is specific
to a use case such as a Microbiology Report, not a generic Observation
Result equivalent to the HL7 OUR message.  When receiving a ORU message you
need to determine that it has a Microbiology observation within and apply
the transform to the Microbiology Report TDS, if it contains a Lipids result
then you need to apply the transform to a TDS containing laboratory-lipids
OBSERVATION archetype in it.  You could certainly come up with a template
containing a generic laboratory OBSERVATION archetype in it and map
everything in an ORU to that but you lose some of the semantics of the
specialised archetypes.  Using our current integration engine of choice, we
have a mechanism where we can apply logic to determine what kind of lab
report has been received based on data within the message and apply the
appropriate TDS transformation and anything else we don't yet support we
transform to a generic laboratory report TDS.  This gives the ability to
take all results from a lab into openEHR but can progressively utilise
specialised archetypes for common results as we develop those transformation
mappings.  

The benefit of this Archetype-based Integration approach is that we can
start building a library of HL7 V2 to TDS transformations that can be used
as a starting point for integrating with a specific HL7 interface,
customising to suit the local HL7 and terminology implementation.  This
library could be an open resource.  This is something that I have not seen
possible in system integration before.

BTW, this approach is not limited to integration with openEHR, but it is the
Archetype that makes it work.  The Archetype is the implementation
independent logical concept model that is used derive the implementation to
semantic mapping in and out of the Archetype-based normalised intermediate
format. 

Regards

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Tim Cook
 Sent: Sunday, 25 November 2007 7:35 AM
 To: For openEHR technical discussions
 Subject: Re: Compact XML format...?
 
 On Sat, 2007-11-24 at 08:47 +, Heath Frankel wrote:
Think of it as standard mechanism for data transformation rather
  than a standard data exchange, where the semantics of the archetypes
  are maintained at each stage in the pipeline.
 
 Would it be fair to say then that when working with HL7 v2 messaging.
 I would want to use this data transformation process against the XML
 output of MIRTH ( http://www.mirthproject.org/ )so that I can use all
 the management facilities of MIRTH and only have to have (essentially)
 one transform??
 
 Cheers,
 Tim
 
 
 
 --
 Timothy Cook, MSc
 Health Informatics Research  Development Services
 http://timothywayne.cook.googlepages.com/home
 
 LinkedIn Profile:http://www.linkedin.com/in/timothywaynecook
 
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Compact XML format...?

2007-11-25 Thread Heath Frankel
Hi Erik,
I will forward a schema based on a Microbiology Result generated using the
Ocean Template Designer separately.

See comments below, you have stated exactly the problem that the TDS was
designed to solve.  We are using this approach to integrate existing vendor
software to the Ocean EhrBank where the vendor has no openEHR expertise or
desire to do so (yet), they just want to have an openEHR repository.

Heath

 The reason for asking is that in a context where openEHR/13606 has
 been compared to HL7 (mainly v3 I believe) some parties claimed it
 would be easier for vendors to support HL7 than openEHR. In practice,
 what they mean is probably that they are used to follow (map their
 internal/legacy structures to) specific HL7 xml schemas that come out
 after the long HL7 modeling process. I doubt that the vendors in this
 case internally are using any HL7 v3 models.
 
 This is sometimes forgotten when comparing HL7 and openEHR.
 
 So far we have had a look at some fairly equivalent examples of XML
 instances (e.g. blood pressure) from HL7 CDA (v2) and openEHR RM. Both
 were fairly easy to understand when knowing the underlying models (HL7
 RIM +CDA and openEHR RM+AM) and both were a bit verbose if you were
 just interested in the blood pressure. To be honest if I was a vendor
 not interested in underlying models I'd probably prefer whichever I
 was already used to and had people trained to work with - since none
 of them tries to make life easier to me by being tailored to the
 specific use case.
[Heath Frankel] 
As you know, a template is the knowledge artefact designed for a particular
use case, the TDS is a technical artefact to support the implementation of
that use case.

 To validate clinically both were dependent on other artifacts (HL7
 Templates or openEHR archetypes). An information provider not
 interested in the underlying validation mechanisms could easily
 produce data instances that are clinically invalid even though they
 are valid from the perspective of the respective XML schemas. Does the
 TDS-approach produce an XML schema that enforces more or all of the
 specific archetype+template semantics? If not, could it be enhanced to
 do that? If so I believe that some safety would be gained - if data
 providers do not care to learn the full semantics of openEHR then at
 least their schema-based XML-validators would enforce some of the
 semantics.
[Heath Frankel] 
Most but not all the semantics of the archetypes and templates are
represented in the TDS.  The reason it is not all, is due to the limitations
of XML schema to do assertions between XML elements.

 
 If we could standardize the TDSs and have accompanying standard
 determinstic transformation mechanism then openEHR would have a
 competitive advantage in the just give me a simple XML schema and
 instance examlpe use-case. A use case more important than one might
 think at first...
[Heath Frankel] 
The TDS is simply a set of XML elements with names from the archetypes.  If
you look at the schema in an graphical XML tool such as Oxygen you will see
a tree that has the same structure as the template tree displayed in the
Ocean Template Designer.

 
 Sometimes the use case is to decide on an XML format (for data
 exchange) based on one of the following
 1. HL7 CDA
 2. 13606/openEHR
 3. A custom tailored XML schema
 
 Imagine that we using something like TDS could give an easy-to-produce
 alternative to 3 that with some deterministic transformations at the
 receiver also conforms to 2. (An open or free tool to produce the
 schema would be of tremendous help of course.)
[Heath Frankel] 
This is exactly the plan for the TDS.  




Antw: Re: Compact XML format...?

2007-11-24 Thread Heath Frankel
There is only one openEHR implementation, the template data schemas are just
a tool to transform data from other formats into and out of the openEHR
reference model using the semantics of the clinical archetypes models.  The
TDS are not intended to replace openEHR, but enable it for those that are
not openEHR compliant.  The result of using a TDS is openEHR for standard
information sharing.  The reality is, most systems are not built on a
particular standard reference model such as HL7 or openEHR, they are
proprietary models which move their data into these standard models for
interoperable exchange.  The TDS provides a means for these systems to move
their data into clinical data models and mechanically transform them into
technical data models, such as openEHR.  Think of it as standard mechanism
for data transformation rather than a standard data exchange, where the
semantics of the archetypes are maintained at each stage in the pipeline. 

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of
Williamtfgoossen at cs.com
Sent: Saturday, 24 November 2007 6:46 AM
To: openehr-technical at openehr.org
Subject: Antw: Re: Compact XML format...?

 

In een bericht met de datum 23-11-2007 16:55:12 West-Europa (standaardtijd),
schrijft timothywayne.cook at gmail.com: 





IHMO, any system that is not interested in the full semantics of the 
openEHR model is not compliant with openEHR and is just a stand alone 
system.  Much like the various HL7 implementations that require 
interface engines to make the transition.



This seems only relevant to compare with the HL7 v2. V3 has no various
implementations, but one standard implementation of messages.  The v3
content can vary, similar to archetype variations. 



Sincerely yours, 

dr. William TF Goossen 
director 
Results 4 Care b.v. 
De Stinse 15 
3823 VM Amersfoort 
email: Results4Care at cs.com 
phone + 31654614458 
fax +3133 2570169 
Dutch Chamber of Commerce number: 32121206

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20071124/83bd2f97/attachment.html


Compact XML format...?

2007-11-23 Thread Heath Frankel
Just to clarify one thing about these Template Data Schemas, they are NOT
intended for exchange across system boundaries.  They are used as an
intermediary format, which is normalised based on archetypes and templates,
for the purposes of integration between system components (note that I use
the term system in the sense of a system of systems within an enterprise).
For example, to import HL7 V2 messages into openEHR it is easier to move the
data into an intermediate form and then into openEHR.  Similarly, to export
data from a proprietary database to openEHR, you can go via a intermediate
form.  The key here is that the intermediate form are based on normalised
content models and can be the same for different data sources.  It allows
developers to work with the content models without being openEHR experts,
resulting in reduced barriers to the take up of openEHR.  The real clincher,
is that there is a single transformation from any of these template-based
XML schemas into openEHR.  We are refining the rules for generating these
schemas and the openEHR transformation and will share it with the openEHR
community soon.  


Regards
?
Heath
?
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
?
ph:?+61 (0)8 8223 3075
mb: +61 (0)412 030 741 
email:?heath.frankel at oceaninformatics.com 


 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Thomas Beale
 Sent: Friday, 23 November 2007 6:17 PM
 To: For openEHR technical discussions
 Subject: Re: Compact XML format...?
 
 
 I believe you are referring to what we call Template Data Schemas
 (TDSs). These are an alternate schema-per-message approach, where one
 template generates one schema - in such schemas, you find tagnames
 coming from the archetypes, e.g. systolic rather than the generic
 openEHR tag names. This is similar to HL7, except that here the message
 schemas are generated from content models (archetypes  templates)
 rather than hand-built as in HL7. What this does is provide a message
 capability to openEHR based on the content models, just like any other
 generated artifact, e.g. Xforms or HML or code skeletons. We have only
 just developed this capability (it is still under test), and we expect
 it to be attractive to certain types of provider, e.g. pathology
 software vendors and labs, since it means they can use 'simple XML' to
 transfer their result messages, rather than having to understand all
 that weird openEHR stuff. This approach means any message (e.g. anything
 currently expressed in HL7 or Edifact) can now be generated from
 archetypes and templates (obviously the literal XML is different, we
 don't use RIM-based XML, but the logical purpose is exactly the same).
 
 I will find out about example messages.
 
 I would expect that we will provide the relevant specifications for this
 process to openEHR.org at some point, when it has stabilised.
 
 - thomas beale
 
 
 Erik Sundvall wrote:
  Hi!
 
  During Medinfo2007 I believe Ocean Informatics presented a compact XML
  format for interchange of predefined information snippets that was
  used for integration purposes. I do not believe it was based on the
  official RM-schemas that cover everything but instead a compact form
  for a specific purpose (e.g. using a specific template or set of
  archetypes). Does anybody understand what I am referring to or was I
  just dreaming?
 
  Could somebody please send a snippet with an example of that format
  and possibly some description or documentation. I believe a brief
  discussion regarding this on the list could be valuable since there
  are use cases where having a standardized such a format would be of
  value.
 
  Best regards,
  Erik Sundvall
  erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
 
 
 
 
 --
 please change your address book entry for me to
 Thomas.Beale at OceanInformatics.com
   *Thomas Beale*
 /Chief Technology Officer/ Ocean Informatics
 http://www.oceaninformatics.com/
 
 Chair Architectural Review Board, /open/EHR Foundation
 http://www.openehr.org/
 Honorary Research Fellow, University College London
 http://www.chime.ucl.ac.uk/
 
 
 *
 *
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical





XML versions of the ADL

2007-11-08 Thread Heath Frankel
Greg,
I suspect that there are so many objects that are possible that it is too
difficult to identify them within the archetype.  This should probably be an
external terminology rather than an internal terminology, but that is up to
the archetype developers (the clinicians) to say not me (a techie).

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Wednesday, 7 November 2007 10:18 PM
 To: For openEHR technical discussions
 Subject: Re: XML versions of the ADL
 
 Looks good to me,  The only issues I am hitting so far are due to the
 original ADL
 
 e.g. openEHR-EHR-OBSERVATION.dimensions.v1.adl defines
 
 at0013 (Object: The object, axis or body part that is being measured)
 as a DV_CODED_TEXT but without associated codes.
 
 I don't know if it is helpful if I highlight those type of anomolies
 (or perhaps not anonomolies, just my misunderstanding of the
 definition).
 
 thanks!
 
 Greg
 http://www.patientos.org
 
 On 11/7/07, Heath Frankel heath.frankel at oceaninformatics.com wrote:
  Greg and others,
  We have configured an auto-build process to convert the ADL archetypes
to
  XML located at http://svn.openehr.org/knowledge/archetypes/dev.  They
now
  all exist and are valid against the RM 101 XML Schema.  Let me know if
you
  find any issues with the XML content.
 
  Regards
 
  Heath
 
   -Original Message-
   From: Heath Frankel [mailto:heath.frankel at oceaninformatics.com]
   Sent: Wednesday, 7 November 2007 11:06 AM
   To: 'For openEHR technical discussions'
   Subject: RE: XML versions of the ADL
  
   Greg,
   I agree with Tim, that you can't always expect Ocean to provide these
  tools.
   We just happen to be one of the main contributors to the openEHR
  foundation.
   As Tim said, the openEHR specs are the normative artefacts including
the
  XML
   schemas provided at http://svn.openehr.org/specification/TAGS/Release-
   1.0.1/ITS/XML-schema.  As for the archetypes, the ADL is probably the
best
   source of truth but even then there are some archetypes that have some
  errors
   left over from previous versions of ADL and Editor tools.
  
   The XML archetypes have been generated using the Ocean Archetype
Editor
  which
   is available free from
   http://downloads.oceaninformatics.com/products/ArchetypeEditor.  The
XML
   archetypes provided in
   http://svn.openehr.org/knowledge/archetypes/dev/xml are currently
manually
   generated using an old version of the editor and committed to
subversion.
   This is why a complete set is not available.  These XML archetypes are
NOT
   valid against the openEHR R1.0.1 archetype and openehrprofile XML
schemas,
   they do not even use the correct namespace.  They have not been
updated
  since
   R1.0.1 was release.
  
   Ocean has provided a auto-generation process for the NHS archetypes
which
   generate valid R1.0.1 XML and we will endeavour to provide this for
the
  dev
   archetypes as well.  BTW, I have noticed an error in the term bindings
XML
  and
   will have this rectified ASAP.
  
   You could use the Ocean Archetype Editor to produce the required XML
  yourself.
   A similar error as mentioned above exists for term bindings but more
  critical
   as it does not produce valid XML when an archetype includes term
bindings.
   Again I will have this rectified ASAP.
  
   I will provide some background on the automated XML conversion
process.
  The
   ADL archetype is read using openEHR Eiffel ADL Parser reference
  implementation
   which generates Archetype Object Model representation of the
archetype.
  Using
   the openEHR Archetype Model XML Schema based on the AOM we simply
  serialise
   this AOM representation to XML.
  
   One of the issues you have highlighted is in regard to namespace
prefixes.
   The Ocean serialiser uses the openEHR AM schema namespace as the
default
   namespace and hence does not require prefixes.  The LiU Editor
obviously
  uses
   an at namespace prefix.  Both are completely valid XML.
  
   The second issue is the xsi:type of children.  Look at the
  openehrprofile.xsd
   and you will see that C_DV_QUANTITY is the correct type.  This is
  consistent
   with the openEHR profile specification.
  
   Thirdly, both DvQuantity and QUANTITY are wrong in this case.  It
should
  be
   DV_QUANTITY as per the openEHR RM.  The Ocean Archetype Editor now
  produces
   this correctly and the XML converter used to generate the NHS XML
  archetype is
   working correctly in this case, see
   http://svn.openehr.org/knowledge/archetypes/dev-uk-
   nhs/gen/xml/openehr/ehr/entry/observation/openEHR-EHR-
   OBSERVATION.blood_pressure.v1.xml.
  
   Hope this helps.
  
   Regards
  
   Heath
  
  
-Original Message-
From: openehr-technical-bounces at openehr.org
[mailto:openehr-technical-
bounces at openehr.org] On Behalf Of Greg Caulton
Sent: Tuesday, 6 November 2007 8:05 AM

OpenEHR queries

2007-11-08 Thread Heath Frankel
Randy,

We have already indicated that we store indexed blobs.  We can store these
blobs as XML, DADL or Binary.  It doesn't matter, it is just a serialisation
format and the MAGIC happens in the object layer.  Another benefit of this
is that it obfuscates the EHR content forcing the data access through the
EHR Server to ensure that the semantics and security of the content is
maintained.  This is a deterrent to traditional application developers
bypassing these important EHR requirements.

 

Regards

 

Heath

 

Heath Frankel
Product Development Manager

Ocean Informatics



Ground Floor, 64 Hindmarsh Square

Adelaide, SA, 5000

Australia

 

ph: +61 (0)8 8223 3075

mb: +61 (0)412 030 741 
email: heath.frankel at oceaninformatics.com
mailto:heath.frankel at oceaninformatics.biz  



 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Thursday, 8 November 2007 1:26 AM
To: erisu at imt.liu.se; For openEHR technical discussions
Subject: Re: OpenEHR queries

 

Erik, as I ask my questions about the Ocean system, I'm  getting the growing
sense, perhaps mistaken, that I'm pushing against trade secrets. Have they
told me as much as they're going to? If they're storing the real guts of
their clinical information as blobs (low-level blobs, as Tom implies,
which could be mere binary serializations of their objects) then it would
seem querying would be an interesting issue. I assume Ocean is the premier
implementation of openEHR, what with its ultimate champion in Tom Beale, and
if they've had to go this route, this would be significant. Tom works there,
and I'm assuming that what he says reflects how they do it. If they had all
their data in MS Sql tables and columns, not blobs, and it worked well that
way, I doubt Tom would be inveighing against relational databases for
clinical data. Maybe they've got some serious magic in play. 

 

Randolph

 

On 11/7/07, Erik Sundvall erisu at imt.liu.se wrote: 

On 11/7/07, Randolph Neall randy.neall at veriquant.com wrote: 
 Can I assume that what Thomas here advocates, (relational databases can
be
 used very effectively as a low-level store of blobs keyed by path) is
what
 how the ocean persistence layer actually works? Beyond this, Thomas 
 apparently has little use for the capacities of Sql-type RDBMS systems to
 handle clinical information. Does the Ocean system ultimately amount to
 blobs keyed by paths (presumably string paths)? If so, what kind of blobs,

 XML blobs, or some other structured text system?

A guess from someone outside Ocean:
If Tom has been involved I'd guess it's stored as blobs of DADL or
something similar ;-) not XML...

In a master thesis project here some time ago the students used db4o
(http://www.db4o.com/) to store openEHR RM objects, but in a
rudimetary way mostly as a simple datastore for Java objects. Query 
was not the focus of that project so they did not test proper advanced
querying or scalability using db4o.

// Erik
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20071108/e3940e94/attachment.html


OpenEHR queries

2007-11-07 Thread Heath Frankel
Randy,

I have no control over this t_persistence_notes.htm link but I have sent an
email to the webmaster about it.

 

There are quite a number of complex archetypes, even
OBSERVATION.blood_pressure.v1 is more complex than you would expect as
archetypes are a maximal data set.  The complexity comes when you aggregate
archetypes together to construct a complete composition.  Some of the NHS
composition templates have dozens of archetypes aggregated together.  The
real killer for a persistence layer is the number of archetypes that could
be used, their specialisations and the potential revisions over time.  

 

I would suggest that a good openEHR persistence model should be able to
store data for any archetype and any of its specialisations and revisions
without manual modifications to the software.  The Ocean EhrBank EHR Server
is able to do this and in fact does this without knowing about the
archetype, just the openEHR RM.  Another openEHR implementation may do this
by requiring archetypes to be registered allowing it to support a new data
structure.

 

Hope this helps.

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Wednesday, 7 November 2007 6:27 AM
To: For openEHR technical discussions
Subject: Re: OpenEHR queries

 

Heath, thanks much!  I'd very much like to see the t_persistence_notes.htm,
but that one cannot be reached at the moment. I hope to find it soon. I
asked Chunlan for an example of your baddest archetype, one that involves
some hierarchy and that would challenge a persistence layer. If one comes to
mind, let me know. 

 

Thanks again,

 

Randolph

 


 

On 11/6/07, Heath Frankel heath.frankel at oceaninformatics.com wrote: 

Randolph,

As openEHR has no specification for a persistence model, there is no such
thing as a conformant DB schema.  At Ocean we have developed a DB schema
that is still evolving but this is transparent to any application as the API
is based on the openEHR Information Model.  We may explore alternate DB
schema's and even alternate data store technology, but again this will be
transparent to the application. 

 

The main article available on this topic was located at
http://www.openehr.org/FAQs/t_persistence_notes.htm but has not yet been
moved to the new web site.  This is really just some suggestions about how a
persistence layer could be implemented, it is by no means a specification
for conformance.  

 

Regards

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Tuesday, 6 November 2007 2:03 PM 


To: For openEHR technical discussions
Subject: Re: OpenEHR queries

 

Thanks. Of course, as you say, the Sql parser will vary depending on the
structure of the underlying store, and underlying store designs can vary,
one of the strengths of openEHR. It would still seem, however, that whole
chunks of the AQL would have to end up in the Sql, and that, in turn, would
have implications--at least some implications--how the underlying store
would have to be designed. Only certain schemas would even work with
openEHR. Does the openEHR community offer any suggestions? At Ocean you
evidently felt that a certain design was best, not just any design, which
you imply when you refer to the need to be conformant. What does it take
for a DB schema to be conformant? 

 

The persistence model that Ocean uses is a trade off between completely
atomising objects and storing them as blobs.

 

Have you disclosed any of the details regarding this tradeoff?

 

 

Randolph 



 

On 11/5/07, Hugh Leslie hugh.leslie at oceaninformatics.com  wrote: 

Hi Randolph,

Currently, the only AQL query parser that I know of is one that is part of
the Ocean Informatics suite of products and runs against the Ocean EhrBank
openEHR repository.  

Converting AQL to SQL will depend entirely on what your underlying
persistence model is and also to some extent what relational database
flavour you are using.  openEHR doesn't mandate any particular persistence
model and as has been already stated, the really nice thing about AQL is
that queries are independent of any underlying relational (or object) data
model.  So an AQL query that is run against two separate and completely
independently developed openEHR repositories that probably use a completely
separate persistence model should return exactly the same data (as long as
they are both conformant). 

The persistence model that Ocean uses is a trade off between completely
atomising objects and storing them as blobs.  This has been a process of
optimisation and we are really happy with the current performance of the
system.  This is only one of many possible methods of openEHR persistence. 

regards Hugh

Randolph Neall wrote: 

I think I understand. Thanks. What actually gets persisted, I suspect, are
the paths--and values pointed to by those paths--implicit in your

XML versions of the ADL

2007-11-07 Thread Heath Frankel
Greg,
I agree with Tim, that you can't always expect Ocean to provide these tools.
We just happen to be one of the main contributors to the openEHR foundation.
As Tim said, the openEHR specs are the normative artefacts including the XML
schemas provided at
http://svn.openehr.org/specification/TAGS/Release-1.0.1/ITS/XML-schema.  As
for the archetypes, the ADL is probably the best source of truth but even
then there are some archetypes that have some errors left over from previous
versions of ADL and Editor tools.  

The XML archetypes have been generated using the Ocean Archetype Editor
which is available free from
http://downloads.oceaninformatics.com/products/ArchetypeEditor.  The XML
archetypes provided in 
http://svn.openehr.org/knowledge/archetypes/dev/xml are currently manually
generated using an old version of the editor and committed to subversion.
This is why a complete set is not available.  These XML archetypes are NOT
valid against the openEHR R1.0.1 archetype and openehrprofile XML schemas,
they do not even use the correct namespace.  They have not been updated
since R1.0.1 was release.

Ocean has provided a auto-generation process for the NHS archetypes which
generate valid R1.0.1 XML and we will endeavour to provide this for the dev
archetypes as well.  BTW, I have noticed an error in the term bindings XML
and will have this rectified ASAP.

You could use the Ocean Archetype Editor to produce the required XML
yourself.  A similar error as mentioned above exists for term bindings but
more critical as it does not produce valid XML when an archetype includes
term bindings.  Again I will have this rectified ASAP.

I will provide some background on the automated XML conversion process.  The
ADL archetype is read using openEHR Eiffel ADL Parser reference
implementation which generates Archetype Object Model representation of the
archetype.  Using the openEHR Archetype Model XML Schema based on the AOM we
simply serialise this AOM representation to XML.

One of the issues you have highlighted is in regard to namespace prefixes.
The Ocean serialiser uses the openEHR AM schema namespace as the default
namespace and hence does not require prefixes.  The LiU Editor obviously
uses an at namespace prefix.  Both are completely valid XML.

The second issue is the xsi:type of children.  Look at the
openehrprofile.xsd and you will see that C_DV_QUANTITY is the correct type.
This is consistent with the openEHR profile specification.

Thirdly, both DvQuantity and QUANTITY are wrong in this case.  It should be
DV_QUANTITY as per the openEHR RM.  The Ocean Archetype Editor now produces
this correctly and the XML converter used to generate the NHS XML archetype
is working correctly in this case, see
http://svn.openehr.org/knowledge/archetypes/dev-uk-nhs/gen/xml/openehr/ehr/e
ntry/observation/openEHR-EHR-OBSERVATION.blood_pressure.v1.xml. 

Hope this helps.

Regards

Heath


 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Tuesday, 6 November 2007 8:05 AM
 To: For openEHR technical discussions
 Subject: XML versions of the ADL
 
 In writing some code to parse the XML to populate my database I notice
 there is not always a matching XML on subversion for a given ADL.
 
 For example there is
 

http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observ
at
 ion/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl
 

http://svn.openehr.org/knowledge/archetypes/dev/xml/openehr/ehr/entry/observ
at
 ion/openEHR-EHR-OBSERVATION.blood_pressure.v1.xml
 
 
 but not an XML for
 

http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observ
at
 ion/openEHR-EHR-OBSERVATION.respiration.v1.adl
 
 
 To get around this I started to use the LiU Archetype Editor but I
 realize now it generates a different XML than on subversion.  For
 example the LiU editor generates nodes with type
 
 children xsi:type=at:C_QUANTITY
rm_type_nameDvQuantity/rm_type_name
 
 but on subversion it has
 
 children xsi:type=C_DV_QUANTITY
 rm_type_nameQUANTITY/rm_type_name
 
 
 Is the XML unreliable such that I must use a Java ADL parser?
 
 thanks!
 
 Greg
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
 





Exchanging codified content via HL7

2007-11-07 Thread Heath Frankel
Greg,
Very interesting question, there is actually working being done within
Standards Australia to determine how to represent archetyped content in HL7
V2.  This work is not yet complete, but your suggestion is one of the
options except the [at] is not required as all archetype root nodes have
this node ID.  The code system (3rd component of CE) is the Archetype ID.

Regards

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Wednesday, 7 November 2007 3:51 PM
 To: For openEHR technical discussions
 Subject: Exchanging codified content via HL7
 
 So I have completed a first pass at parsing the OpenEHR content,
 extracting some initial information I would import into to my
 application.  More work to be done but if you look at this text file
 as a preliminary output from the process:
 
 http://www.patientos.org/forum_temp/openehr.txt
 
 My question is if I send the information out via HL7 in say OBX
 segments, what 'code' would I assign to the data elements.
 
 For example if my message is sending the 'Anaesthetic evaluation and
 history date/time of last liquid intake' - is the unique,
 interoperable identifier for that data element:
 
 [at]/data[at0001]/items[at0005]/items[at0006]
 
 
 thanks
 
 Greg
 http://www.patientos.org
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




XML versions of the ADL

2007-11-07 Thread Heath Frankel
Greg and others,
We have configured an auto-build process to convert the ADL archetypes to
XML located at http://svn.openehr.org/knowledge/archetypes/dev.  They now
all exist and are valid against the RM 101 XML Schema.  Let me know if you
find any issues with the XML content.

Regards

Heath

 -Original Message-
 From: Heath Frankel [mailto:heath.frankel at oceaninformatics.com]
 Sent: Wednesday, 7 November 2007 11:06 AM
 To: 'For openEHR technical discussions'
 Subject: RE: XML versions of the ADL
 
 Greg,
 I agree with Tim, that you can't always expect Ocean to provide these
tools.
 We just happen to be one of the main contributors to the openEHR
foundation.
 As Tim said, the openEHR specs are the normative artefacts including the
XML
 schemas provided at http://svn.openehr.org/specification/TAGS/Release-
 1.0.1/ITS/XML-schema.  As for the archetypes, the ADL is probably the best
 source of truth but even then there are some archetypes that have some
errors
 left over from previous versions of ADL and Editor tools.
 
 The XML archetypes have been generated using the Ocean Archetype Editor
which
 is available free from
 http://downloads.oceaninformatics.com/products/ArchetypeEditor.  The XML
 archetypes provided in
 http://svn.openehr.org/knowledge/archetypes/dev/xml are currently manually
 generated using an old version of the editor and committed to subversion.
 This is why a complete set is not available.  These XML archetypes are NOT
 valid against the openEHR R1.0.1 archetype and openehrprofile XML schemas,
 they do not even use the correct namespace.  They have not been updated
since
 R1.0.1 was release.
 
 Ocean has provided a auto-generation process for the NHS archetypes which
 generate valid R1.0.1 XML and we will endeavour to provide this for the
dev
 archetypes as well.  BTW, I have noticed an error in the term bindings XML
and
 will have this rectified ASAP.
 
 You could use the Ocean Archetype Editor to produce the required XML
yourself.
 A similar error as mentioned above exists for term bindings but more
critical
 as it does not produce valid XML when an archetype includes term bindings.
 Again I will have this rectified ASAP.
 
 I will provide some background on the automated XML conversion process.
The
 ADL archetype is read using openEHR Eiffel ADL Parser reference
implementation
 which generates Archetype Object Model representation of the archetype.
Using
 the openEHR Archetype Model XML Schema based on the AOM we simply
serialise
 this AOM representation to XML.
 
 One of the issues you have highlighted is in regard to namespace prefixes.
 The Ocean serialiser uses the openEHR AM schema namespace as the default
 namespace and hence does not require prefixes.  The LiU Editor obviously
uses
 an at namespace prefix.  Both are completely valid XML.
 
 The second issue is the xsi:type of children.  Look at the
openehrprofile.xsd
 and you will see that C_DV_QUANTITY is the correct type.  This is
consistent
 with the openEHR profile specification.
 
 Thirdly, both DvQuantity and QUANTITY are wrong in this case.  It should
be
 DV_QUANTITY as per the openEHR RM.  The Ocean Archetype Editor now
produces
 this correctly and the XML converter used to generate the NHS XML
archetype is
 working correctly in this case, see
 http://svn.openehr.org/knowledge/archetypes/dev-uk-
 nhs/gen/xml/openehr/ehr/entry/observation/openEHR-EHR-
 OBSERVATION.blood_pressure.v1.xml.
 
 Hope this helps.
 
 Regards
 
 Heath
 
 
  -Original Message-
  From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
  bounces at openehr.org] On Behalf Of Greg Caulton
  Sent: Tuesday, 6 November 2007 8:05 AM
  To: For openEHR technical discussions
  Subject: XML versions of the ADL
 
  In writing some code to parse the XML to populate my database I notice
  there is not always a matching XML on subversion for a given ADL.
 
  For example there is
 
 

http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observ
at
  ion/openEHR-EHR-OBSERVATION.blood_pressure.v1.adl
 
 

http://svn.openehr.org/knowledge/archetypes/dev/xml/openehr/ehr/entry/observ
at
  ion/openEHR-EHR-OBSERVATION.blood_pressure.v1.xml
 
 
  but not an XML for
 
 

http://svn.openehr.org/knowledge/archetypes/dev/adl/openehr/ehr/entry/observ
at
  ion/openEHR-EHR-OBSERVATION.respiration.v1.adl
 
 
  To get around this I started to use the LiU Archetype Editor but I
  realize now it generates a different XML than on subversion.  For
  example the LiU editor generates nodes with type
 
  children xsi:type=at:C_QUANTITY
 rm_type_nameDvQuantity/rm_type_name
 
  but on subversion it has
 
  children xsi:type=C_DV_QUANTITY
  rm_type_nameQUANTITY/rm_type_name
 
 
  Is the XML unreliable such that I must use a Java ADL parser?
 
  thanks!
 
  Greg
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo

OpenEHR queries

2007-11-06 Thread Heath Frankel
Hi Greg,
o/items[at0004]/value is actually an invalid path as the identifier o
represents an OBSERVATION class and an OBSERVATION does not have an
attribute of items, it has a data attribute that is of type HISTORY, which
has an events attribute that is of type LISTEVENT, an EVENT has an
attribute of data of type ITEM_STRUCTURE which for a ITEM_LIST has an
attribute of items.  Just like in XPath you need to provide the full path
unless you provide a wild card as indicated by Thomas.  AQL and the Ocean
Query Process does support this wild card and a path such as
o//*/items[at0004] can be used.

However, we don't really see that these paths will be used directly and the
paths will be generated using tools such as the Ocean Template Designer and
Archetype Query Builder.  Therefore the length of the paths are not a
concern and having the complete path actually allows the query processor to
perform its job more efficiently as it does not need to search for the leaf
node by traversing all possible paths within the data graph.

Heath

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Monday, 5 November 2007 9:49 PM
 To: For openEHR technical discussions
 Subject: Re: OpenEHR queries
 
 Question on the query below, if at0004 occurs *only* once in the
 archetype model, in the position
 data[at0001]/events[at0002]/data[at0003]/items[at0004]/value, could
 one theoretically have the shorter query
 
 SELECT o/items[at0004]/value
 FROM EHR [uid = $ehrUid] CONTAINS OBSERVATION o
 [openEHR-EHR-OBSERVATION.respiration.v1]
 WHERE o/items[at0004]/value/magnitude   $n
 
 The reason I ask is it would be tempting to store (in my data model)
 the single discrete value at0004 to map to my equivalent item.
 
 Of course that would break if a new data element was added in a
 position (fabricated)
 data[at0001]/events[at0099]/data[at00100]/items[at0004]/value but the
 simplicity is tempting.
 
 thanks
 
 Greg
 http;//www.patientos.org
 
 On 11/5/07, Heath Frankel heath.frankel at oceaninformatics.com wrote:
  Hi Greg,
  The Archetype Query Language (AQL, formerly known as EHR Query language
or
  EQL) was developed by Ocean Informatics and a specification is being
  prepared to be offered to the openEHR foundation as a candidate openEHR
  specification.  For now the paper referred to by Rong is the main
reference
  but we hope to provide something on the openEHR WIKI soon.
 
  The Ocean Template Designer provides these openEHR (XPath-like) paths as
a
  property of each node but Ocean is also developing an Archetype Query
  Builder tool that will actually generate the complete query for you.
Here
  is the query generated by the tool as per your use case (it is slightly
  simpler than the example provided by my colleague Chunlan).
 
  SELECT o/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value
  FROM EHR [uid = $ehrUid] CONTAINS OBSERVATION o
  [openEHR-EHR-OBSERVATION.respiration.v1]
  WHERE o/data[at0001]/events[at0002 and name/value='Any
  event']/data[at0003]/items[at0004]/value/magnitude   $n
 
  The units can be included as an additional criteria as indicated by
Chunlan
  but it is unnecessary as the archetype only allows one kind of unit for
  rate.
 
  Let me know if you would like further details regarding the Ocean tools.
 
  Regards
 
  Heath
 
  Heath Frankel
  Product Development Manager
  Ocean Informatics
 
  Ground Floor, 64 Hindmarsh Square
  Adelaide, SA, 5000
  Australia
 
  ph:+61 (0)8 8223 3075
  mb: +61 (0)412 030 741
  email:heath.frankel at oceaninformatics.com
 
 
   -Original Message-
   From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
   bounces at openehr.org] On Behalf Of Greg Caulton
   Sent: Monday, 5 November 2007 9:30 AM
   To: For openEHR technical discussions
   Subject: Re: OpenEHR queries
  
   Thanks Rong,
  
   Just the thought for someone but it would be handy to have the XPath
   (such as
  o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value)
   for a data value somewhere accessible in the editor or in the html
   generated content such as
   http://svn.openehr.org/knowledge/archetypes/dev/html/en/openEHR-EHR-
   OBSERVATION.body_weight.v1.html
  
   Just easier for adhoc testing so not a big deal.
  
  
   On 11/4/07, Rong Chen rong.acode at gmail.com wrote:
Hi Greg,
   
There was a paper published at Medinfo2007 on this topic. The paper
is
available at:
   
  
 
http://www.openehr.org/downloads/publications/archetypes/MedInfo_2007_EQL_MA
  .p
   df
   
Cheers,
Rong
   
   
On 11/4/07, Greg Caulton caultonpos at gmail.com wrote:

 Hi,

 Somewhere I recall reading that there was an OpenEHR query that
 theoretically an OpenEHR compliant system could execute a return
 results for.

 Is there a spec somewhere, preferably with a simple example.

 So if someone knew my

OpenEHR queries

2007-11-06 Thread Heath Frankel
Randolph,

You could consider AQL to be a logical query language, this allows semantic
queries to be shared amongst heterogeneous (and potentially, non-openEHR)
systems without the need to know the systems underlying data model.
Therefore, AQL logically runs against the Information Model (using Tim's
words) gaining its semantics from Archetype Models.  The Ocean
Implementation of the query processor physically uses both the data model
and information model to execute a query.  Another implementation might
purely use the data model or information model.  Non-openEHR or
non-Archetype-based  systems may support only a small subset of AQL queries
where they have provided an AQL to native query mapping.  The point is, AQL
is independent of the implementation and are sharable, semantic queries
based on shared archetypes.

 

Regards

 

Heath

 

Heath Frankel
Product Development Manager

Ocean Informatics



Ground Floor, 64 Hindmarsh Square

Adelaide, SA, 5000

Australia

 

ph: +61 (0)8 8223 3075

mb: +61 (0)412 030 741 
email: heath.frankel at oceaninformatics.com
mailto:heath.frankel at oceaninformatics.biz  



 

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Tuesday, 6 November 2007 3:35 AM
To: For openEHR technical discussions
Subject: Re: OpenEHR queries

 

As a developer from the US who sometimes tries to follow discussions here, I
have a question probably well answered if I took more time myself to find
the answer. Against what do your archetype queries run? Against the DB
itself or some representation of the data in memory? I ask because a few
months ago, someone from openEHR said in one of the discussions that a DB
schema is not part of openEHR, that some private participant in openEHR had
one for sale, and Ocean, maybe, but that was it. So, again against what do
these queries (see example in Chunlan Ma's message below) run? 

 

Thanks,

 

Randy Neall

Veriqant, L.L.C.



 

On 11/4/07, Chunlan Ma chunlan.ma at oceaninformatics.com wrote: 

Hi Greg,

Rong has indicated there is a paper about archetype query language. Thanks
Rong. That paper introduced basic query syntax. It was written at the 
beginning of this year. The query syntax has been enriched recently in order
to support more complicated queries. I've already started to write the
specifications, but need to resolve some known issues before release. 

Anyway, I handcrafted the following queries for you (I cannot build my query
builder at the moment because of some integration issues).

The query statement below shows that all observation instances with 
respiratory rate greater than n will be returned.

SELECT o
FROM EHR e[ehr_id/value=$ehrId] CONTAINS COMPOSITION CONTAINS OBSERVATION
o[openEHR-EHR-OBSERVATION.respiration.v1.adl]
WHERE o/data/events[at0002]/data[at0003]/items[at0004]/value/magnituden AND

o/data/events[at0002]/data[at0003]/items[at0004]/value/units = '/min'

If you want the respiratory quantity object been returned, the query would
look like:

SELECT o/data/events[at0002]/data[at0003]/items[at0004]/value 
FROM EHR e[ehr_id/value=$ehrId] CONTAINS COMPOSITION CONTAINS OBSERVATION
o[openEHR-EHR-OBSERVATION.respiration.v1.adl]
WHERE o/data/events[at0002]/data[at0003]/items[at0004]/value/magnituden AND
o/data/events[at0002]/data[at0003]/items[at0004]/value/units = '/min' 

Just for your information, the single letter 'o' is the observation class
variable name, /data/events[at0002]/data[at0003]/items[at0004]/value is
the archetype path to respiratory quantity node. If you have the archetype 
workbench running, you can identify this path there. '$ehrId' is the
parameter name which can be substituted with real EHR ehr_id value at run
time. The query language supports parameterization.

Some archetype query statements would be very long if the query criteria are

complicated. In fact, we don't need to write the above queries by hand.
Ocean Informatics has implemented a tool - Archetype Query Builder, which
can be used to create/edit queries easily. Additionally, Ocean has also 
implemented a query parser and query engine as well.

The above query statements are consistent to the query syntax introduced by
the MedInfo paper. The current query tools also support this query syntax.
However, as I have said that we have enriched the query syntax and all the
enhancements can be found from the query specifications.

Hope this helps.

Regards,
Chunlan

-Original Message-
From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Greg Caulton 
Sent: Monday, November 05, 2007 6:48 AM
To: openEHR-technical at openehr.org
Subject: OpenEHR queries

Hi,

Somewhere I recall reading that there was an OpenEHR query that 
theoretically an OpenEHR compliant system could execute a return
results for.

Is there a spec somewhere, preferably with a simple example.

So if someone knew my patient and queried for all

OpenEHR queries

2007-11-06 Thread Heath Frankel
Greg,
The AQL query parser or query processor is not intended to be implemented in
Java by Ocean but it may be implemented by others in the openEHR Java
reference implementation at some point.  

BTW, the openEHR Java reference implementation already has an interface to
the Ocean EhrBank EHR Server using Web Services.


Regards
?
Heath
?
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
?
ph:?+61 (0)8 8223 3075
mb: +61 (0)412 030 741 
email:?heath.frankel at oceaninformatics.com 

 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Monday, 5 November 2007 9:48 PM
 To: For openEHR technical discussions
 Subject: Re: OpenEHR queries
 
 I appreciate the information.  Writing new queries wouldn't be too
 hard, it is parsing the queries and then executing the corresponding
 queries or service calls against the implemented system that is the
 tricky part.
 
 Is Ocean Informatics planning to provide a open source java (or
 similar language) implementation of the query parsing engine (I am not
 implying you should, just a question in case you were)?
 
 If you were it would be useful to look at how I could plug in my
 integration, the early I look at these things in the design the easier
 it gets.
 
 thanks!
 
 Greg
 
 http://www.patientos.org
 
 
 
 On 11/5/07, Heath Frankel heath.frankel at oceaninformatics.com wrote:
  Hi Greg,
  The Archetype Query Language (AQL, formerly known as EHR Query language
or
  EQL) was developed by Ocean Informatics and a specification is being
  prepared to be offered to the openEHR foundation as a candidate openEHR
  specification.  For now the paper referred to by Rong is the main
reference
  but we hope to provide something on the openEHR WIKI soon.
 
  The Ocean Template Designer provides these openEHR (XPath-like) paths as
a
  property of each node but Ocean is also developing an Archetype Query
  Builder tool that will actually generate the complete query for you.
Here
  is the query generated by the tool as per your use case (it is slightly
  simpler than the example provided by my colleague Chunlan).
 
  SELECT o/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value
  FROM EHR [uid = $ehrUid] CONTAINS OBSERVATION o
  [openEHR-EHR-OBSERVATION.respiration.v1]
  WHERE o/data[at0001]/events[at0002 and name/value='Any
  event']/data[at0003]/items[at0004]/value/magnitude   $n
 
  The units can be included as an additional criteria as indicated by
Chunlan
  but it is unnecessary as the archetype only allows one kind of unit for
  rate.
 
  Let me know if you would like further details regarding the Ocean tools.
 
  Regards
 
  Heath
 
  Heath Frankel
  Product Development Manager
  Ocean Informatics
 
  Ground Floor, 64 Hindmarsh Square
  Adelaide, SA, 5000
  Australia
 
  ph:+61 (0)8 8223 3075
  mb: +61 (0)412 030 741
  email:heath.frankel at oceaninformatics.com
 
 
   -Original Message-
   From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
   bounces at openehr.org] On Behalf Of Greg Caulton
   Sent: Monday, 5 November 2007 9:30 AM
   To: For openEHR technical discussions
   Subject: Re: OpenEHR queries
  
   Thanks Rong,
  
   Just the thought for someone but it would be handy to have the XPath
   (such as
  o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value)
   for a data value somewhere accessible in the editor or in the html
   generated content such as
   http://svn.openehr.org/knowledge/archetypes/dev/html/en/openEHR-EHR-
   OBSERVATION.body_weight.v1.html
  
   Just easier for adhoc testing so not a big deal.
  
  
   On 11/4/07, Rong Chen rong.acode at gmail.com wrote:
Hi Greg,
   
There was a paper published at Medinfo2007 on this topic. The paper
is
available at:
   
  
 
http://www.openehr.org/downloads/publications/archetypes/MedInfo_2007_EQL_MA
  .p
   df
   
Cheers,
Rong
   
   
On 11/4/07, Greg Caulton caultonpos at gmail.com wrote:

 Hi,

 Somewhere I recall reading that there was an OpenEHR query that
 theoretically an OpenEHR compliant system could execute a return
 results for.

 Is there a spec somewhere, preferably with a simple example.

 So if someone knew my patient and queried for all instances of
 Respiratory Rate greater than n?

 openEHR-EHR-OBSERVATION.respiration.v1.adl

 Rate  at0004  n
 Units /min (is that a default or are the units passed in the
query)

 Or is this future functionality?

 thanks

 Greg

 http://www.patientos.org
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org

http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

OpenEHR queries

2007-11-06 Thread Heath Frankel
Randolph,

As openEHR has no specification for a persistence model, there is no such
thing as a conformant DB schema.  At Ocean we have developed a DB schema
that is still evolving but this is transparent to any application as the API
is based on the openEHR Information Model.  We may explore alternate DB
schema's and even alternate data store technology, but again this will be
transparent to the application.

 

The main article available on this topic was located at
http://www.openehr.org/FAQs/t_persistence_notes.htm but has not yet been
moved to the new web site.  This is really just some suggestions about how a
persistence layer could be implemented, it is by no means a specification
for conformance.  

 

Regards

 

Heath

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Tuesday, 6 November 2007 2:03 PM
To: For openEHR technical discussions
Subject: Re: OpenEHR queries

 

Thanks. Of course, as you say, the Sql parser will vary depending on the
structure of the underlying store, and underlying store designs can vary,
one of the strengths of openEHR. It would still seem, however, that whole
chunks of the AQL would have to end up in the Sql, and that, in turn, would
have implications--at least some implications--how the underlying store
would have to be designed. Only certain schemas would even work with
openEHR. Does the openEHR community offer any suggestions? At Ocean you
evidently felt that a certain design was best, not just any design, which
you imply when you refer to the need to be conformant. What does it take
for a DB schema to be conformant? 

 

The persistence model that Ocean uses is a trade off between completely
atomising objects and storing them as blobs.

 

Have you disclosed any of the details regarding this tradeoff?

 

 

Randolph 



 

On 11/5/07, Hugh Leslie hugh.leslie at oceaninformatics.com  wrote: 

Hi Randolph,

Currently, the only AQL query parser that I know of is one that is part of
the Ocean Informatics suite of products and runs against the Ocean EhrBank
openEHR repository.  

Converting AQL to SQL will depend entirely on what your underlying
persistence model is and also to some extent what relational database
flavour you are using.  openEHR doesn't mandate any particular persistence
model and as has been already stated, the really nice thing about AQL is
that queries are independent of any underlying relational (or object) data
model.  So an AQL query that is run against two separate and completely
independently developed openEHR repositories that probably use a completely
separate persistence model should return exactly the same data (as long as
they are both conformant). 

The persistence model that Ocean uses is a trade off between completely
atomising objects and storing them as blobs.  This has been a process of
optimisation and we are really happy with the current performance of the
system.  This is only one of many possible methods of openEHR persistence. 

regards Hugh

Randolph Neall wrote: 

I think I understand. Thanks. What actually gets persisted, I suspect, are
the paths--and values pointed to by those paths--implicit in your archetype
object graph, correct? And to convert AQL query into an SQL query you
somehow extract that path from AQL and convert it into some sort of SQL,
right? Is there anything on your web site about this, about deriving a DB
query from an archtype query? 

 

You can have whatever persistence layer as long as it can get expected
results back based on the AQL statement. 

 

--That's the question. How do you get expected results back based on the
AQL Statement?

 

Thanks,

 

Randy Neall

 

 



 

On 11/5/07, Chunlan Ma chunlan.ma at oceaninformatics.com  wrote: 

 

 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Randolph Neall
Sent: Tuesday, November 06, 2007 3:35 AM
To: For openEHR technical discussions
Subject: Re: OpenEHR queries

 

As a developer from the US who sometimes tries to follow discussions here, I
have a question probably well answered if I took more time myself to find
the answer. Against what do your archetype queries run? Against the DB
itself or some representation of the data in memory? I ask because a few
months ago, someone from openEHR said in one of the discussions that a DB
schema is not part of openEHR, that some private participant in openEHR had
one for sale, and Ocean, maybe, but that was it. So, again against what do
these queries (see example in Chunlan Ma's message below) run? 

 

That's good question. You've noticed that I didn't mention anything about
the data store here. In general, query languages are designed specifically
for a type of data store. For instance, SQL is run against relational
databases. XQuery is run against XML structured data. Object Oriented Query
Language need to be run against Object oriented database management systems
etc. 

OpenEHR queries

2007-11-05 Thread Heath Frankel
Hi Greg,
The Archetype Query Language (AQL, formerly known as EHR Query language or
EQL) was developed by Ocean Informatics and a specification is being
prepared to be offered to the openEHR foundation as a candidate openEHR
specification.  For now the paper referred to by Rong is the main reference
but we hope to provide something on the openEHR WIKI soon.

The Ocean Template Designer provides these openEHR (XPath-like) paths as a
property of each node but Ocean is also developing an Archetype Query
Builder tool that will actually generate the complete query for you.  Here
is the query generated by the tool as per your use case (it is slightly
simpler than the example provided by my colleague Chunlan).

SELECT o/data[at0001]/events[at0002]/data[at0003]/items[at0004]/value
FROM EHR [uid = $ehrUid] CONTAINS OBSERVATION o
[openEHR-EHR-OBSERVATION.respiration.v1]
WHERE o/data[at0001]/events[at0002 and name/value='Any
event']/data[at0003]/items[at0004]/value/magnitude   $n

The units can be included as an additional criteria as indicated by Chunlan
but it is unnecessary as the archetype only allows one kind of unit for
rate. 

Let me know if you would like further details regarding the Ocean tools.

Regards
?
Heath
?
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
?
ph:?+61 (0)8 8223 3075
mb: +61 (0)412 030 741 
email:?heath.frankel at oceaninformatics.com 


 -Original Message-
 From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
 bounces at openehr.org] On Behalf Of Greg Caulton
 Sent: Monday, 5 November 2007 9:30 AM
 To: For openEHR technical discussions
 Subject: Re: OpenEHR queries
 
 Thanks Rong,
 
 Just the thought for someone but it would be handy to have the XPath
 (such as
o/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value)
 for a data value somewhere accessible in the editor or in the html
 generated content such as
 http://svn.openehr.org/knowledge/archetypes/dev/html/en/openEHR-EHR-
 OBSERVATION.body_weight.v1.html
 
 Just easier for adhoc testing so not a big deal.
 
 
 On 11/4/07, Rong Chen rong.acode at gmail.com wrote:
  Hi Greg,
 
  There was a paper published at Medinfo2007 on this topic. The paper is
  available at:
 

http://www.openehr.org/downloads/publications/archetypes/MedInfo_2007_EQL_MA
.p
 df
 
  Cheers,
  Rong
 
 
  On 11/4/07, Greg Caulton caultonpos at gmail.com wrote:
  
   Hi,
  
   Somewhere I recall reading that there was an OpenEHR query that
   theoretically an OpenEHR compliant system could execute a return
   results for.
  
   Is there a spec somewhere, preferably with a simple example.
  
   So if someone knew my patient and queried for all instances of
   Respiratory Rate greater than n?
  
   openEHR-EHR-OBSERVATION.respiration.v1.adl
  
   Rate  at0004  n
   Units /min (is that a default or are the units passed in the query)
  
   Or is this future functionality?
  
   thanks
  
   Greg
  
   http://www.patientos.org
   ___
   openEHR-technical mailing list
   openEHR-technical at openehr.org
  
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
  
 
 
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 
 
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical





Multiple parents and max number of nested specialized archetypes?

2007-10-22 Thread Heath Frankel
I haven't followed this whole thread, in particular I haven't seen Rong's
emails about templates and aggregation archetypes but I thought I would
provide a little input about the future of the template specifications.

 

If you have a look at the Template Object Model as published as a draft in
R1.0.1 you will find two packages.  The first is the TEMPLATE_SPEC package.
This provides a mechanism to specify a template using references to
archetypes and aggregating them together.  In addition it provides a series
of constraint rules of various kinds to do things like constrain
cardinalities or specify default values.  We have been recently comparing
this with the current proprietary template definition used within the Ocean
Template Designer and have found that there are very few required template
semantics that cannot be expressed using the R1.0.1 TEMPLATE_SPEC draft.

 

The second model is the operational template model.  We have actually
implemented this and have needed to augment and change this model slightly,
but the principles expressed in the R1.0.1 draft (a Template object with
definition specified by a C_COMPLEX_OBJECT and list of path and default
value pairs) has work fine.  This implementation experience will be feed
back into the openEHR community for the next release.  

 

So in summary, Rong's premise that we can express templates using the AOM is
true, but what he calls an aggregation archetype is an operational
template.  The TEMPLATE_SPEC is just another representation of the same
template where it references the existing archetype artefacts and constrains
them using rules.  The TEMPLATE_SPEC is used to store and maintain the
template definition within an authoring environment while the operational
template is derived from the TEMPLATE_SPEC and is used within software at
run-time. 

 

We are just completing the testing of a new export function in the Ocean
Template Designer that generates an operational template from its
proprietary template definition.  This operational template will be used for
all sort of purposes including the generation and validation of RM objects
that conform to the template.  

 

Hope this helps keep you up to date with progress in this area.  If you have
interest in this area from the technical perspective I suggest that we
progress this further in a collaborative manner.  

 

 

Regards

 

Heath

 

Heath Frankel
Product Development Manager

Ocean Informatics



Ground Floor, 64 Hindmarsh Square

Adelaide, SA, 5000

Australia

 

ph: +61 (0)8 8223 3075

mb: +61 (0)412 030 741 
email: heath.frankel at oceaninformatics.com
mailto:heath.frankel at oceaninformatics.biz  



 

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Lisa Thurston
Sent: Monday, 22 October 2007 1:32 PM
To: For openEHR technical discussions
Subject: Re: Multiple parents and max number of nested specialized
archetypes?

 

Hi all

I think that in the absence of a template specification it is indeed
difficult to see, from a technical viewpoint, the difference between
templates and aggregation archetypes (which is what I think Rong means by
all the constraints done in templates can be done with archetypes).
Heather and Hugh point out that such archetypes would not be universal in
their applicability and therefore less shareable. This still leaves a blurry
line between where the archetype ends and the template begins. There are
some features of templates that do make this line clear, however.

The best example I can think of is default values (not to be confused with
assumed values). At some point you'll want to be able to say things like
the default temperature scale is Centigrade or the default number of
foeti is 1. If the default value is free text or even a coded term, this
implies that the template is targeted to a specific language/culture, thus
NOT universal. Therefore the template specification, when it arrives, is
likely to include ways to define default values and the target
language/culture of the template. A template is language/culture-specific.
There is provision made for default values in the AOM's archetype constraint
model but the TYPE of a default is left open. Since the TYPE of these values
cannot be constrained by the AOM, default values can never be meaningfully
applied in ADL. Rather they can only be applied in the template (which knows
about the reference model and target language/culture of the data). This
connects to Rong's point about expressing template constraints in AOM
semantics. I fully agree the template specification should make use all
useful parts of the archetype constraint model or build on top of the AOM.

If a template was ever suddenly considered to encapsulate a structure which
was universally (or near-universally) applicable, as Hugh suggests, the
default values would have to be discarded (as well as other culture-specific
structures or assumptions). And for the archetype to be practical

ECG archetypes

2007-03-11 Thread Heath Frankel
David,
FYI, There are forthcoming recommendations on including binary data in XML
without using base-64.  I expect that these would be used when available in
implementation.
 
Heath


  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sam Heard
Sent: Sunday, 11 March 2007 7:49 PM
To: dclunie at dclunie.com; For openEHR technical discussions
Subject: Re: ECG archetypes


Hi David

Absolutely not - what we need are readers that can make sense of data as a
blob and get these specified as suitable for use in an EHR. Do you recommend
any very good or very widely used specs which have readers that are publicly
available?

Cheers, Sam

David Clunie wrote: 

Hi



I hope you guys are not considering yet another standard for

the encoding of bulk ECG data (as opposed to referencing it

or wrap it as a blob).



ECG's are analogous to images from radiology; large amounts

of bulk data, highly specific meta-data of little or no interest

to non-image aware applications and well-standardized already

by DICOM.



Unfortunately, ECG device and distribution vendors have been

slower to adopt standards than the medical imaging device

vendors, and so there are a plethora of them, SCP-ECG,

DICOM waveforms, HL7 V2 waveforms, and the FDA HL7-CDISC XML

submission standard, not to mention just storing a picture

of the ECG in a PDF file (the IHE consensus solution).



These standards also address the annotation of the waveforms

and the conclusions drawn from them by the acquisition device,

and it is probably only the latter that would be relevant to

be extracted into the EHR.



David



PS. As to the wrapping versus referencing question for the bulk

binary data, I just got through sending a 1.4GB 2,600 slice

cardiac CT angiogram to a colleague, which I presume nobody

would be crazy enough to base-64 encode and embed in an XML

document, for example. The point being that wrapping things

is not a scalable solution.



Mie Faerch Jensen wrote:

  

Greetings all;



We are two graduate students from Aalborg University, Denmark, taking our 

master in Biomedical Engineering and Informatics. In this semester ?our 

finale, we are working with complex data interoperability to an Electronic 

Health Record (EHR). We are following the openEHR?s EHR architecture
standard, 

and therefore also working with archetypes. 

We have a few questions we would like you to help us deal with.



- What we are trying to investigate is how to represent a recorded
ECG-signal 

in an archetype, and therefore we are wondering what the status is on
dealing 

with ECG-signals as an archetype? So far we haven?t been able to locate an
ECG-

archetype, only the description of it as an observation-entry.



- We have described workflows and clinical information guidelines for the 

observation and clinical evaluation of an incoming ECG-signal, but we are a 

bit confused on how to map the clinical information guidelines to an 

archetype. Can anyone give us an example on how this mapping is done?





Best regards



Mie F?rch Nielsen og Louise Pape S?rensen 

Aalborg University, Denmark, 

Master in Biomedical Engineering and Informatics,

10th semester

Reply-email: 06gr956d at miba.auc.dk





-

This mail sent through IMP: http://horde.org/imp/



___

openEHR-technical mailing list

openEHR-technical at openehr.org

http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical







___

openEHR-technical mailing list

openEHR-technical at openehr.org

http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

  


-- 


Dr. Sam Heard
MBBS, FRACGP, MRCGP, DRCOG, FACHI


CEO and Clinical Director
Ocean Informatics Pty.  http://www.oceaninformatics.biz/ Ltd.
Adjunct Professor, Health Informatics, Central Queensland University
Senior Visiting Research Fellow, CHIME, University College London
Chair, Standards Australia, EHR Working Group (IT14-9-2)
Australia

Ph: +61 (0)4 1783 8808
Fx: +61(0)8 8948 0215
UK
 Ph: +44 (0)77 9871 0980
Fx: +44 (0)207 1174610 




-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20070311/fa3e1f15/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


XML serializer (retry due to too large message)

2006-11-22 Thread Heath Frankel
Sam,
It is only safe if the attributes are primitive types.  However I think it
would be a good saving considering the current attributes.
 
Heath


  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Sam Heard
Sent: Tuesday, 21 November 2006 11:09 PM
To: For openEHR technical discussions
Subject: Re: XML serializer (retry due to too large message)


Hi
We can add more attributes safely.which I think is all that could be
done without changing the model in a major manner, Sam

Mattias Forss wrote: 



2006/11/21, Sam Heard sam.heard at oceaninformatics.biz: 

The Ontology is so huge I have wondered about having the Text and
Description as attributes - it would save a lot of space and I do not think
it would complicate things at all.

What do others think?


Sounds like a good idea as long as the two parts (text, description) of the
description items will remain. If more parts are added though, it is not a
flexible solution.

Mattias



Cheers, Sam




  _  


___

openEHR-technical mailing list

openEHR-technical at openehr.org

http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical

  


-- 


Dr. Sam Heard
MBBS, FRACGP, MRCGP, DRCOG, FACHI


CEO and Clinical Director
Ocean Informatics Pty.  http://www.oceaninformatics.biz/ Ltd.
Adjunct Professor, Health Informatics, Central Queensland University
Senior Visiting Research Fellow, CHIME, University College London
Chair, Standards Australia, EHR Working Group (IT14-9-2)
Ph: +61 (0)4 1783 8808
Fx: +61 (0)8 8948 0215




-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061122/41d71116/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


XML serializer (retry due to too large message)

2006-11-17 Thread Heath Frankel
Mattias,
You don't seem to follow the AOM when generating your XML instances.  For
example, the C_MULTIPLE_ATTRIBUTE class has a property of 'members' which is
a list of C_OBJECT.  This property name should be used in the XML instance
so you would get:
 
attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
members
item xsi:type=C_COMPLEX_OBJECT.../item
item xsi:type=C_COMPLEX_OBJECT.../item
/members
/attributes
 
The alternative is to have the following but I suggest that members is not
quite right similar to your use of children below.
 
attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
members xsi:type=C_COMPLEX_OBJECT.../members
members xsi:type=C_COMPLEX_OBJECT.../members
/attributes
 
I would also suggest that we should follow the AOM more closely and use an
existence element rather than minOccurs and maxOccurs.  What you are doing
by using the later is mimicking ADL rather than following the AOM.
Therefore you would get by following based on the openEHR RM for the
Interval type.

attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
existence
lower xsi:type=xs:int1/lower
upper xsi:type=xs:int1/upper
...
/existence
members
item xsi:type=C_COMPLEX_OBJECT.../item
item xsi:type=C_COMPLEX_OBJECT.../item
/members
/attributes
 
Regards
 
Heath

  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Mattias Forss
Sent: Friday, 17 November 2006 8:16 AM
To: For openEHR technical discussions
Subject: Re: XML serializer (retry due to too large message)


Hi Andrew,
 
I looked at your example and I think it could be a good way to use xsi:type
to indicate sub-types where the number of children elements are specified to
be only one. This will mean that we don't need to add an extra sub-element,
e.g. description xsi:type=RESOURCE_DESCRIPTION (details here:
http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishi
ng/its/XML-schema/documentation/Archetype.xsd.html_h439624612.html).
However, I don't think the XML schema specification of the AOM explicitly
state that xsi:type should be in XML archetypes. I would appreciate if
openEHR published some XML archetypes that exemplified the standard way to
express them. I don't like the idea of having several ways of representing
archetypes in XML so it would be nice if some examples were out to lead the
way. 
 
When there are more than one child inside an element, the idea with xsi:type
requires us to repeat the container element for each child instead of
placing all children inside a single container element, so you have
 
attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE minOccurs=1 maxOccurs=1
...
children xsi:type=C_COMPLEX_OBJECT.../children
children xsi:type=C_COMPLEX_OBJECT.../children
/attributes
 
instead of
 
attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE minOccurs=1 maxOccurs=1
...
children
C_COMLEX_OBJECT.../C_COMPLEX_OBJECT
C_COMLEX_OBJECT.../C_COMPLEX_OBJECT
/children
/attributes
 
The first example is of course more compact, but the element name children
doesn't make sense, since it doesn't contain all of the attribute's
children. The second example will collect all the children in one single
container element, but again, I don't know what the specification mean with
the occurrences brackets, e.g. what does [0..*] refer to in children
C_OBJECT
http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publish
ing/its/XML-schema/documentation/Archetype.xsd.html_h-1665829344.html
/children [0..*] ? Does it refer to the children element or to the
C_OBJECT element? This should be clarified. I have been dealing a lot with
ADL and I can say that the second example seems more plausible to me and I
see the children element equal to an attribute's matches {} in ADL. 
 
Any thoughts about this?
 
Regards,
 
Mattias
 
2006/11/16, Andrew Patterson andrewpatto at gmail.com: 

Hi Mattias, I've attached my attempt at a serialized adl instance - perhaps
we can converge on a consensus as to what they should look like! 

Mine is incomplete - especially around the ontology section - but I have
done the attributes and children nodes differently, using xsi:type to
indicate the sub-type. This is similar to the way Sam did the reference 
model serializations I saw, so I thought similar techniques would be
applied here.

Anyhow, I'm off on another project for a few weeks, but I thought I'd
send you this instance as food for thought.

Andrew


-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061117/88d32b2e/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


[Norton AntiSpam] RE: XML serializer (retry due to too large message)

2006-11-17 Thread Heath Frankel
Mattias,
Sorry, I didn't realise this schema was available (I overlooked your
reference to it in your original email).  OK, so based on this schema the
instance is similar to my second example (but using children as the element
name rather than members) and your first example, which neither of us like
due to the plural nature of the element name for a singular element.  I
think we need to pass this feedback on to Sam and see if we can ensure that
the schema fully reflects the Reference Model including element names that
reflect model attribute names such as members and existence.  
 
The usual way a list is represented is a container with multiple items, this
is how I came up with this representation of a members element with item
child elements.  You are right in stating that this is not in the XML schema
or AOM, I was looking at this from first principles.  
 
Looking deeper into how the openEHR RM XML schemata represent containment, I
find that it has used the pattern suggested in the Archetype XML schema.
For example SECTION has element called items that is repeatable.  I guess we
need to continue with that pattern unless we change the openEHR RM XML
schemata as well.  The problem with changing this is that the openEHR paths
are designed to be compatible with XPath and converting a path such as
/content[openEHR-EHR-SECTION-findings.v1]/items[openEHR-EHR-OBSERVATION-labo
ratory.v1] into XPath and evaluating it will expect to have an XML element
called items within an element called content.
 
Therefore I suggest that based on the current XML schema your instance
should look like your first example:
 
attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE minOccurs=1 maxOccurs=1
...
children xsi:type=C_COMPLEX_OBJECT.../children
children xsi:type=C_COMPLEX_OBJECT.../children
/attributes
 
However, I would advocate that we should submit a change request to change
the schema to use the element name of members rather than children.  There
are probably other AOM alignments required.
 
Additionally I would like to see the use of an existence element of type
INTEGER_INTERVAL (i.e. INTERVALinteger) rather than minOccurs  maxOccurs.
Thoughts?
 
Heath


  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Mattias Forss
Sent: Friday, 17 November 2006 4:44 PM
To: For openEHR technical discussions
Subject: Re: XML serializer (retry due to too large message)


Hi Heath,
 
I know that the C_MULTIPLE_ATTRIBUTE class has a property of 'members' in
the AOM (since I know the AOM very much in detail), but it's not in the XML
schema specification. I have not followed the AOM, because I thought I was
only supposed to look at the schema. Here's the XML schema and XML instance
of C_MULTIPLE_ATTRIBUTE with the property 'children' and not 'members' as in
the AOM:
http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishi
ng/its/XML-schema/documentation/Archetype.xsd.html_h783584366.html
http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publish
ing/its/XML-schema/documentation/Archetype.xsd.html_h783584366.html  . If
you could explain a bit more which strategy I should use when generating XML
instances I would be very grateful. It seems you suggest I should follow the
AOM more closely instead of the XML schema of AOM and its instance
representations. 
 
By the way, your second example representation of 'members' is similar to
Andrew's example and not mine. I have one container element called
'children', but no xsi:type specified. Where do you get the item element
name from? I can't find it neither in the XML schema nor the AOM. 
 
Regards,
 
Mattias
 
2006/11/17, Heath Frankel heath.frankel at frankelinformatics.com: 

Mattias,
You don't seem to follow the AOM when generating your XML instances.  For
example, the C_MULTIPLE_ATTRIBUTE class has a property of 'members' which is
a list of C_OBJECT.  This property name should be used in the XML instance
so you would get: 
 


attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
members
item xsi:type=C_COMPLEX_OBJECT.../item
item xsi:type=C_COMPLEX_OBJECT.../item
/members
/attributes
 
The alternative is to have the following but I suggest that members is not
quite right similar to your use of children below.
 


attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
members xsi:type=C_COMPLEX_OBJECT.../members
members xsi:type=C_COMPLEX_OBJECT.../members
/attributes
 
I would also suggest that we should follow the AOM more closely and use an
existence element rather than minOccurs and maxOccurs.  What you are doing
by using the later is mimicking ADL rather than following the AOM.
Therefore you would get by following based on the openEHR RM for the
Interval type. 
 


attributes xsi:type=at:C_MULTIPLE _ATTRIBUTE
existence
lower xsi:type=xs:int1/lower
upper xsi:type=xs:int1/upper
...
/existence
members 
item xsi:type

Normal and other ranges

2006-09-20 Thread Heath Frankel
So, it appears that we have no pathologists on the list to comment on the
standardisation of these codes.  I guess all I can suggest is that these are
standard codes as per the HL7 V2.x standard but the interpretation of using
them is unlikely to be but it is just that we are looking the capture and
not loose in the translation from HL7 message to openEHR.  Having said that,
in Australia it is common practice by labs to use three levels of
abnormality (i.e. HHH  LLL(.

Would an alternate approach be to include an additional element in the
Archetype to store this abnormality flag rather than including it in the
DV_ORDERED?

Heath 

-Original Message-
From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Thomas Beale
Sent: Sunday, 10 September 2006 12:32 AM
To: For openEHR technical discussions
Subject: Re: Normal and other ranges

Heath Frankel wrote:
 Rodrigo,
 I am jumping in late in the
 The DV_QUANTITY (or technically the DV_ORDERED abstract class) data 
 type represents the reference range specified by the lab using the the 
 normal_range relationship.  There is also other_reference_ranges to 
 represent all possible reference range differentiated by various 
 patient context such as pregnant female, etc.  The normal_range is 
 used for the range that is applicable to this subject.
  
 The is_normal method in DV_ORDERED allows it to compare the actual 
 quantified magnitude with the normal range and return an indicate that 
 it is normal or not.  You can use this to raise your alert of abnormal 
 results when is_normal returns false.
  
 The XML schema published with openEHR Release 1 actually went one step 
 further and I believe it is a necessary addition to the reference 
 model.  It treats is_normal as an attribute and allows you to 
 optionally specify the value of is_normal rather than it being calculated.
   This is useful when transforming HL7 Lab data into openEHR and 
 Pathologists seem to not like downstream manipulation and 
 interpretation of raw data in case the original data is 
 mis-interpreted.  This has lead to particular best-practice in 
 Australia where lab data provided in atomic form also needs to have a 
 full text report included along with the atomic data which should be 
 used for display and audit purposes.
  
 Even though openEHR support an indicator for is_normal this still 
 stops short of lab data provided in HL7 messages.  The abnormal flag 
 in HL7 lab results is coded with values such as L, H, LL, HH, N, A, 
 AA, etc indicating more than not normal but which direction and the 
 degree of abnormality.  When transforming this source data into 
 openEHR we loose this additional information about abnormality.
Heath,
the obvious question here is: how standardised are these letters and their
meanings? Can we assume that all labs the attach HH to a serum sodium mean
that the value is in the same sub-range? If not, this kind of data is not
useful for longitudinal queries into the EHR, since a query for serum sodium
with HH normal indicator would not have a consistent meaning or result.

If standards don't exist for these flags, then they would need to be created
- you can imagine that for the hundreds of pathology tests possible,
defining the subranges corresponding to L, H, LL, etc would be a huge amount
of work! And current normal ranges are getting revised all the time anyway
(people getting taller, heavier, etc).

I take the point that physicians don't in general want to see data from the
lab removed, but I would like to hear from pathologists  physicians on how
they would see this kind of thing being used, standardised, and working in a
longitudinal record whose contents are derived from all over the place.

- thomas


___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical




Antw: Re: Antw: Re: Antw: Re: EHRcom/openEHR the new exciting paradigm

2006-09-19 Thread Heath Frankel
 and Excel as you are now.  What we need is equivalent openEHR
archetype for each of your Care Statement RMIMs and in your mapping
spreadsheet a couple of columns for the openEHR archetype mappings.  Once we
get the process right we can then develop the tools to support it.  
 
BTW, a member of my development team (who was a obstetrician) is going
through the process of developing a pregnancy clinical scenario (mega
storyboard) and mapping the data element and sample data into archetypes.  I
wonder of you would be interested in working with her or at least sharing
your experiences and current process? 
 
Regards
 
Heath
 
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
 
ph: +61 (0)8 8223 3075
fax: +61 (0)8 8223 2570
mb: +61 (0)412 030 741 
email:  mailto:heath.frankel at oceaninformatics.biz
heath.frankel at oceaninformatics.biz 


  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of
Williamtfgoossen at cs.com
Sent: Tuesday, 19 September 2006 7:01 AM
To: openehr-technical at openehr.org
Subject: Antw: Re: Antw: Re: Antw: Re: EHRcom/openEHR the new exciting
paradigm


In een bericht met de datum 18-9-2006 10:45:04 West-Europa (zomertijd),
schrijft Thomas.Beale at OceanInformatics.biz: 




There are guideline and 
workflow languages (not provided by HL7 or openEHR), and the beginnings 
of models for choreography coming from WfMC and other places. 



I have looked into the WfMC materials, and the basic process flow
descriptions are currently met with the HL7 v3 Care Plan. (This is not a
point if HL7 can do, it is the point that it is possible to define the
clinical process using a standard, I think it is transferable to OpenEHR
archetype as well). 

The key here is the use of the following mood codes: 
definition will tell you wat according to best practice or evidence base
should be done for a patient with problem x. (including monitoring of
observations, tests, meds etc). 

The OpenEHR template specification that links archetypes could perhaps do
similar things. 

intent mood helps the clinician to carry over from guideline into the care
plan what is necessary for individual patient P. 
Thus the set of data required can be determined, and it can be justified why
items are not carried from guideline to plan. (E.g. you do not female things
for a male patient). 

Then if some professional wants to order a observation this can be done with
request. e.g. the doctor askes the nurse to measure the blood pressure 4
times a day. 

In the Goal mood, the expected value can be set, e.g. the expected value of
BP in a week should best be 130/90. 

the observatoin is carried out say 7 days 4 times a day leading to 7 x 4 =
28 observations in event mood. 

The statement collecter allows to trend this. 

The comparison of goal versus the event(s) trends, or the last value of day
7 allows to determine if the goal is met (conclusion being then the 29th
observation). 

The derivation method allows to specify also workflow rules like: 
do BP measurements until 4 x  130/90 or similar as a criterion for the do X
until Y workflow standard. 

I am not telling this is best handled in HL7 v3, I just want to say that a]
it is possible to express clinical meaningful workflows, that at EHR level
are pretty handy for a nurse to pop up on the worklist every 6 hours, and
that it is possible to exchange the semantics of such a workflow / careplan
via a message. 

Yes, this is interesting stuff and needs a lot of work. 

William 

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060919/6fb3e1b3/attachment.html


Sources of information on HL7 EHR/OpenEHR

2006-09-15 Thread Heath Frankel
Gerard,
Interesting you raise this topic as it is becoming an interest of mine to
start investigating the use of openEHR instructions to support the
documentation requirements of clinical workflows such as medication
prescriptions, dispense and administration, and referrals.  The existing
work of ContSys could certainly assist in this but being a techo, I need
some clinicians to assist in developing these requirements and my Ocean
clinician colleagues are already over extended.  As you know, Ocean has and
continues to develop the tools to support a simulation of these kind of
clinical workflow scenarios and are looking for ways to gather more and
varied clinical content to populate and test the OceanEHR suite.  Are there
people interested in providing clinical scenarios and data to assist in the
requirements and content gathering process to be used in clinical workflow
simulations?  How can we initiate and progress this kind of activity and
investigation?
 
Regards
 
Heath
 
Heath Frankel
Product Development Manager
Ocean Informatics

Ground Floor, 64 Hindmarsh Square
Adelaide, SA, 5000
Australia
 
ph: +61 (0)8 8223 3075
fax: +61 (0)8 8223 2570
mb: +61 (0)412 030 741 
email:  mailto:heath.frankel at oceaninformatics.biz
heath.frankel at oceaninformatics.biz 



  _  

From: openehr-technical-boun...@openehr.org
[mailto:openehr-technical-bounces at openehr.org] On Behalf Of Gerard Freriks
Sent: Friday, 15 September 2006 7:39 AM
To: For openEHR technical discussions
Subject: Sources of information on HL7 EHR/OpenEHR


Dear all, 

The 'next frontier' will be the various types of workflow and the
interaction with the EHR and other components in an EHR-system.

Before rushing into quick decisions and quick fixes I call for a study of:
- CEN/tc251 System of Concepts for Contuity of Care, ContSys.
- CEN/tc251 Health Information Services Architecture, HISA.

The first contains the set of concepts dealing with co-operation between
healthcare providers around the care of a patient.
Several concepts dealing with care plans, clinical path ways in various
sorts are defined.
The second can help us think about the various levels where types of
workflow take place because it defines in a generic way EHR-system
components,their inter faces and behaviour. Each type of workflow will use
its own model and behaviour of its components.

The whole exercise needs to start with a validated set of requirements and
the study of some important literature.
It is my expectation that En13606/openEHR, ContSys and HISA contain more
than enough ingredients to find a good solution.

With regards,

Gerard


-- private --

Gerard Freriks, arts

Huigsloterdijk 378

2158 LR Buitenkaag

The Netherlands




T: +31 252 544896

M: +31 653 108732













there are two levels of expression of clinical knowledge, guidelines, 
evidence etc that we can use, namely 
a1) guidelines etc that are mentioned in an archetype, and inform the 
design of the archetype. This can be done as I described. In this case, 
the guideline or other knowledge reference is the same for all data 
built from the archetype. 
a2) resources that are referenced on a per-archetype basis, but not in 
the archetype, rather they are referenced from the archetype 
classification ontology that indexes archetypes 
b) guidelines referenced in data, i.e. on a per instance basis. On the 
model you see here: 
http://www.openehr.org/uml/release-1.0/Browsable/_9_0_76d0249_1109249648736_
872559_12384Report.html 
the class CARE_ENTRY has the attributes protocol (how / why did I 
create this clinical statement/observation/whatever), guideline_id 
that enables the referencing of guideline that caused this Entry to be 
created (e.g. maybe some guideline told the doc to measure the BP and 
also ask questions about smoking); ENTRY.workflow_id may also be 
relevant, for Entries created due to workflow execution. 

I would think these go close to supporting today's requirements in this 
area, although I realise we cannot predict the requirements of the future...





-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060915/5192fd8b/attachment.html


Sources of information on HL7 EHR/OpenEHR

2006-09-15 Thread Heath Frankel
Andre,
Thanks for these links, this resource will be useful in the future.
However, it is significantly more in-depth then I am looking for at the
moment.  It is probably a terminology issue also when I talked about
clinical workflow, perhaps I should not have used this term as I wasn't
talking about guidelines.  Although I have an interest in guidelines my
current issue is the day-to-day work of a clinician prescribing medication
and writing referrals, and following the state transitions of these
instructions through to conclusion by recording them in the EHR.  It is
mainly the generation of clinical scenarios and content that I am seeking
assistance to allow me to simulate the scenarios using the Ocean openEHR
suite of tools to test the application of openEHR in the process of
medication orders to Pharmacies, and clinical and diagnostic referrals for
starters.  

Once we get these day to day clinical processes supported then we can look
at the more complex work flows like guidelines and care plans.  Do you have
any clinical scenarios and sample clinical content for your Asthma
guidelines? 

Hope this clarifies.

Heath 

-Original Message-
From: Andre Duszynski [mailto:andre.duszyn...@adelaide.edu.au] 
Sent: Friday, 15 September 2006 12:17 PM
To: For openEHR technical discussions
Cc: heath.frankel at frankelinformatics.com
Subject: Re: Sources of information on HL7 EHR/OpenEHR


Hello Heath,

As part of an Australian RACGP/GPCG informatics project, i've made tentative
steps into generating a resource for clinicians in migrating traditional
paper-based clinical guidelines to their equivalent within an EHR framework;
openEHR being the type example. The web resource is an evolving project in
that I acknowledge that I've bitten off too much to chew - had hoped to
generate both the archetypes and templates for asthma management !! Anyways.
This resource which is very much open to comment, refinement and
collaboration is available at:

http://www.adelaide.edu.au/health/gp/units/medic-gp/openehr/

Being semi-techo and straddling the clinical domain, i've used the
Australian Asthma Management Handbook for primary care as the type example.
In respect to clinical workflows for asthma management, you may want to look
at the following link which aims to abstract clinical asthma workflows from
the handbook:

http://www.adelaide.edu.au/health/gp/units/medic-gp/openehr/asthma/

I very much believe that a generic set of archetypes would straddle many
  clinical activities and would act to bind management motifs across disease
states (or alternate considerations). Thus very keen to see and add to this
domain of knowledge ! Thanks additionally to Gerard for raising CEN/TC251 -
interesting.

Regards,

Andre Duszynski.

---



Heath Frankel wrote:
 Gerard,
 Interesting you raise this topic as it is becoming an interest of mine 
 to start investigating the use of openEHR instructions to support the 
 documentation requirements of clinical workflows such as medication 
 prescriptions, dispense and administration, and referrals.  The 
 existing work of ContSys could certainly assist in this but being a 
 techo, I need some clinicians to assist in developing these 
 requirements and my Ocean clinician colleagues are already over 
 extended.  As you know, Ocean has and continues to develop the tools 
 to support a simulation of these kind of clinical workflow scenarios 
 and are looking for ways to gather more and varied clinical content to
populate and test the OceanEHR suite.
 Are there people interested in providing clinical scenarios and data 
 to assist in the requirements and content gathering process to be used 
 in clinical workflow simulations?  How can we initiate and progress 
 this kind of activity and investigation?
  
 Regards
  
 Heath
  
 Heath Frankel
 Product Development Manager
 Ocean Informatics
 Ground Floor, 64 Hindmarsh Square
 Adelaide, SA, 5000
 Australia
  
 ph: +61 (0)8 8223 3075
 fax: +61 (0)8 8223 2570
 mb: +61 (0)412 030 741
 email: heath.frankel at oceaninformatics.biz
 mailto:heath.frankel at oceaninformatics.biz
 
 --
 --
 *From:* openehr-technical-bounces at openehr.org
 [mailto:openehr-technical-bounces at openehr.org] *On Behalf Of *Gerard 
 Freriks
 *Sent:* Friday, 15 September 2006 7:39 AM
 *To:* For openEHR technical discussions
 *Subject:* Sources of information on HL7 EHR/OpenEHR
 
 Dear all,
 
 The 'next frontier' will be the various types of workflow and the 
 interaction with the EHR and other components in an EHR-system.
 
 Before rushing into quick decisions and quick fixes I call for a study of:
 - CEN/tc251 System of Concepts for Contuity of Care, ContSys.
 - CEN/tc251 Health Information Services Architecture, HISA.
 
 The first contains the set of concepts dealing with co-operation 
 between healthcare providers around the care of a patient.
 Several concepts dealing with care plans, clinical

Version and commit

2006-03-08 Thread Heath Frankel
Actually I suggested Import_Commit_Audit not Local_Commit_Audit.
 
Heath

  _  

From: owner-openehr-techni...@openehr.org
[mailto:owner-openehr-technical at openehr.org] On Behalf Of Sam Heard
Sent: Wednesday, 8 March 2006 3:55 PM
To: Openehr-Technical
Subject: Version and commit


Dear All

Heath and I have been discussing issues about commiting and attesting data.
We want to be able to attest something that is immutable - the data of the
composition and the commit details. There are two types of versioned data
(page 41 of the Common IM) - the Version and the imported version.

The parts that need to be immutable are:


*   UID 

*   preceding_version_id 

*   lifecycle_state 

*   create_audit - (presently a function which calls the commit_audit if
not imported and the original_create_audit if it is imported)


*   data 

In the Ocean implementation we store the composition as a blob and would
like to store everything that is immutable - nothing that changes (e.g.
attestations, contribution ID etc). I have proposed that this set of
attributes makes up the X_Version - that information to send as part of an
extract - as it is unchanging. Heath is keen to have the Version be able to
deal with this and store it consistently - he would like to make the
reference model deal with this more elegantly. He has suggested that we
change what is now called commit_audit to create_audit and change the
IMPORTED_VERSION original_create_audit to local_commit_audit.

This would mean that commit_audit became a function on each class (now
called create_audit) returning the create_audit on the VERSION and the
local_commit_audit on the IMPORTED_VERSION.

Any ideas - it is a very minor change but I think meets both our needs.

Cheers, Sam






-- 


Dr. Sam Heard
MBBS, FRACGP, MRCGP, DRCOG, FACHI


CEO and Clinical Director
Ocean Informatics Pty.  http://www.oceaninformatics.biz/ Ltd.
Adjunct Professor, Health Informatics, Central Queensland University
Senior Visiting Research Fellow, CHIME, University College London
Chair, Standards Australia, EHR Working Group (IT14-9-2)
Ph: +61 (0)4 1783 8808
Fx: +61 (0)8 8948 0215




-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060308/8a9f5c1d/attachment.html


Proposed slightly radical change to CODE_PHRASE in Text package in openEHR

2006-01-16 Thread Heath Frankel
Tom,
My only comments is related to the resulting XML schema.  Any reason we
couldn't simplify the XML further to the following:

 name xsi:type=DV_CODED_TEXT
   valueclinical finding/value
   defining_codeSNOMED-CT::404684003/defining_code
 /name

Having data enclosed within the defining_code element indicates that this is
the value anyway so we don't need the additional value child element.  The
only potential downside of this is if there are additional attributes or
associations added to code_phrase later which would need to then be
represented as follows:  

 name xsi:type=DV_CODED_TEXT
   valueclinical finding/value
   defining_codeSNOMED-CT::404684003
some_other_attributesome
data/some_other_attribute
 /defining_code
 /name

Even though the result is still valid XML it is not the normal
representation in XML. We would then need to change the schema to
include the value element again.  What is the likelihood of additional
attributes to Code_Phrase?

Sorry for the discussion of what the XML looks like, but you started it :.

Heath 

 -Original Message-
 From: owner-openehr-technical at openehr.org 
 [mailto:owner-openehr-technical at openehr.org] On Behalf Of Thomas Beale
 Sent: Sunday, 15 January 2006 15:19
 To: Openehr-Technical
 Subject: Proposed slightly radical change to CODE_PHRASE in 
 Text package in openEHR
 
 
 Dear all,
 
 we just came across a feature of the current openEHR 
 Reference Model which, in the light of current 
 implementations (particularly XML), it seems would be good to 
 alter slightly. The change has no semantic effect, only 
 affecting how data are persisted. We are too close to the 
 Release 1.0 release date to be making such changes for my 
 liking at least, but on the other hand I suspect that this 
 change would be of universal benefit.
 
 The class concerned from the current model is as follows:
 
 class CODE_PHRASE
 terminology_id: TERMINOLOGY_ID   
 -- Identifier of the distinct terminology from which 
 the code_string (or its elements) was extracted.
 code_string: String   
 -- The key used by the terminology service to 
 identify a concept or coordination of concepts.
 -- This string is most likely parsable inside the 
 terminology service, but nothing can be assumed
 -- about its syntax outside that context.
 end
 
 The effect of this in XML data is to have to store:
 
 name xsi:type=DV_CODED_TEXT
   valueclinical finding/value
   defining_code
code_string404684003/code_string
terminology_id
 valueSNOMED-CT/value
/terminology_id
   /defining_code
  /name
 
 The PROPOSED CHANGE to the class is as follows:
 
 class CODE_PHRASE
 value: String
-- the string concatenation form of the term, in the form
-- terminology_id::code_string, e.g. SNOMED-CT::404684003
 
 terminology_id(): TERMINOLOGY_ID{}
-- NOW A FUNCTION
 -- Identifier of the distinct terminology from which 
 the code_string (or its elements) was extracted.
 
 code_string(): String{}
-- NOW A FUNCTION
-- The key used by the terminology service to identify 
 a concept or coordination of concepts.
 -- This string is most likely parsable inside the 
 terminology service, but nothing can be assumed
 -- about its syntax outside that context.
 end
 
 The effect of this in XML data is to have to store:
 
 name xsi:type=DV_CODED_TEXT
   valueclinical finding/value
   defining_code
  valueSNOMED-CT::404684003/value
   /defining_code
 /name
 
 We believe this will also enable more powerful path 
 expressions using the syntax form of coded terms, since the 
 whole coded term code is now just one attribute, e.g. 
 SNOMED-CT::404684003.
 
 openEHR already uses micro-syntaxes for various kinds of 
 identifiers, such as archetype id, and a few other things, 
 like units, so we see this proposed change as compatible with 
 the existing state of affairs. It also has no semantic effect 
 on the object-oriented view of CODE_PHRASE, since 
 terminology_id and code_string hoth return the same values as 
 before (it is just that now they are computed).
 
 The only downside to this change we can see is that some 
 current implementors will need to change their softare and schemas.
 
 In the balance of considerations, I would prefer to impose 
 the nuisance value now, and have a better reference model to 
 live with for the next 5-10 years.
 
 Do others agree?
 Are their violent objertions?
 Does anyone see a flaw in the proposal?
 
 thanks,
 
 - thomas beale
 
 --
 __
 _
 CTO Ocean Informatics (http://www.OceanInformatics.biz) 
 Research Fellow, University College London 
 

The semantics of archetype Specialization

2005-05-26 Thread Heath Frankel
Andrew,
I thought that the archetype approach was certainly extension.  In fact
there examples of such.  Refer to Adverse-Reaction and
Adverse-Reaction-Medication.  I am also sure it supports restriction, the
same example also supports this.  Unlike some people, I believe that
restriction is a valid form of specialisation as far as UML is concerned.
Certainly in OOP, I often have an abstract property that has its value set
(sometimes in hardcode) in the concrete class.

Heath

 -Original Message-
 From: owner-openehr-technical at openehr.org
 [mailto:owner-openehr-technical at openehr.org]On Behalf Of Andrew
 Goodchild
 Sent: Thursday, 26 May 2005 13:36
 To: openehr-technical at openehr.org
 Subject: RE: The semantics of archetype Specialization



 I would only hope that that is what is intended. However, the
 semantics at
 the moment that appears to be supported by the editor implies
 that archetype
 specialization is nothing more that cut and paste style
 semantics. We will
 have to wait for the answer from Tom and Sam.

 Also, I am wondering if archetype specialization only
 supports restriction
 or extension or both?

 -Andrew


 -Original Message-
 From: owner-openehr-technical at openehr.org
 [mailto:owner-openehr-technical at openehr.org] On Behalf Of
 Grahame Grieve
 Sent: Thursday, 26 May 2005 12:08 PM
 To: openehr-technical at openehr.org
 Subject: Re: The semantics of archetype Specialization

 Hi Andrew

 Well, I'll defer to Tom or Sam. But from a
 computational perspective, what else could make sense?

 Grahame


 Andrew Goodchild wrote:
  Thanks Grahame,
 
  The UML specs definition of specialization matches what I
 thought it had
  meant.
 
  I guess what I would like to understand is whether such a
 definition is
 true
  or not for archetypes?
 
  Is specialization in archetypes meant to support the definition you
 provided
  and the archetype editor is missing some functionality to
 ensure that only
  correctly specialized archetypes can be built?
 
  - or -
 
  Is it that archetypes and the editor supports some new
 semantics around
  specialization that I don't quite understand yet?
 
  I am sure Sam or Tom could shed some light on this ...
 
  Cheers, Andrew
 
 
  -Original Message-
  From: owner-openehr-technical at openehr.org
  [mailto:owner-openehr-technical at openehr.org] On Behalf Of
 Grahame Grieve
  Sent: Thursday, 26 May 2005 10:57 AM
  To: openehr-technical at openehr.org
  Subject: Re: The semantics of archetype Specialization
 
  Hi Andrew
 
 
 Does anyone know what it actually means to specialize an
 archetype? And
 
  what
 
 the rules are?
 
 
  The UML specification offers this definition for generalization:
 
 A taxonomic relationship between a more general element and a
 more specific element. The more specific element is
 fully consistent
 with the more general element and contains additional
 information. An
 instance of the more specific element may be used where the more
 general element is allowed
 
  I think that this is a fairly watertight definition and
 quite relevent
  to your question.
 
 
 I looked at the archetype editor and created a specialized
 archetype of
 another.  The editor seemed to just copy the parent
 archetype and then
 allowed the user to change anything about the archetype.
 
 For example, I can now make a mandatory field optional, or
 I can extend a
 parent archetype with new mandatory fields that don't exist
 as optional
 fields in the parent archetype
 
 
  By the UML definitions, these become ill-formed model.
 
  Of course, it's one thing to to state the definition, quite
 another to
  know how to compute whether a model is ill-formed.
 
  Grahame
 
 
 
  -
  If you have any questions about using this list,
  please send a message to d.lloyd at openehr.org



 -
 If you have any questions about using this list,
 please send a message to d.lloyd at openehr.org

-
If you have any questions about using this list,
please send a message to d.lloyd at openehr.org



<    1   2