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




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

2010-10-28 Thread Erik Sundvall
Hi!

A question regarding naming/identifiers.

According to 
http://www.openehr.org/releases/1.0.2/architecture/am/archetype_semantics.pdf
parts of the grammar for identifiers is...
 archetype_id: qualified_rm_entity ?.? domain_concept ?.? version_id
 qualified_rm_entity: rm_originator ?-? rm_name ?-? rm_entity_name
 domain_concept: concept_name { ?-? specialisation }*

Surely you must just have been sloppy in...
http://www.openehr.org/svn/knowledge2/TRUNK/archetypes/openEHR_examples/link_archetypes/
...where the identifiers as of this writing (Revision 20) are:

openEHR-EHR-EVALUATION.problem.v1.adls
   openEHR-EHR-EVALUATION.diagnosis.v1.adls
  openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
openEHR-EHR-LINK.indication.v1.adls

Should not the identifiers instead be:

openEHR-EHR-EVALUATION.problem.v1.adls
   openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
  openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
openEHR-EHR-LINK.indication.v1.adls

Or have the identifier syntax and semantics requirements changed in
ADL/AOM 1.5? I hope note, because that would make AQL querying
implementation a lot harder when asking for an archetype including any
of  it's speicialisations...

Isn't there any automatic check in AWB that specialisation identifiers
are correct?

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




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

2010-10-28 Thread Peter Gummer
Erik Sundvall wrote:

 openEHR-EHR-EVALUATION.problem.v1.adls
   openEHR-EHR-EVALUATION.diagnosis.v1.adls
  openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Should not the identifiers instead be:

 openEHR-EHR-EVALUATION.problem.v1.adls
   openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
  openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Or have the identifier syntax and semantics requirements changed in
 ADL/AOM 1.5?

This has changed in ADL 1.5. The hyphen is no longer used.

I'm sure I remember Thomas starting a discussion about this on the  
mailing list about a year ago.

- Peter Gummer




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

2010-10-28 Thread Diego Boscá
Shouldn't archetype identifiers and file names be separated?

2010/10/28 Peter Gummer peter.gummer at oceaninformatics.com:
 Erik Sundvall wrote:

 openEHR-EHR-EVALUATION.problem.v1.adls
 ? openEHR-EHR-EVALUATION.diagnosis.v1.adls
 ? ? ?openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Should not the identifiers instead be:

 openEHR-EHR-EVALUATION.problem.v1.adls
 ? openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
 ? ? ?openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Or have the identifier syntax and semantics requirements changed in
 ADL/AOM 1.5?

 This has changed in ADL 1.5. The hyphen is no longer used.

 I'm sure I remember Thomas starting a discussion about this on the
 mailing list about a year ago.

 - Peter Gummer

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





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

2010-10-28 Thread Ian McNicoll
The draft spec for 1.5 knowledge identifiers can be accessed via

http://www.openehr.org/wiki/display/spec/Development+and+Governance+of+Knowledge+Artefacts

The '-' based specialisation syntax is proposed to be dropped, as it
became very unweildy once you srart to consider how to handle
namespaces within specialisations , particularly when the
specialisation has a different namespace to the parent. It gets even
more confusing when you add in the requirements for templates and
complex archetypes i.e aggregations.

To get around the querying problem that Erik describes, it is proposed
to carry the specialisation inheritance list in the data.

Archetype identifiers are separate from filenames, but in practice,
archetypes and templates do find themselves expressed as individual
files on filesystems and it can be all too easy for versions/
namespaces to get mixed up, if the file names do not carry the same
sort of uniqueness as is embodied in the offical archetype_id.

From Idenitifer document 5.3.3

The other possibility is to include archetype lineage information in
the data itself. This could be a
modified form of the identifier reference in the case of specialised
archetypes to allow lineage information
to be stored.

TBD_14: proposed RM change: ARCHETYPED.archteype_id - List[ARCHETYPE_ID]; in
LOCATABLE, just continue to use the direct archetype id as currently done.

The simplest form of this would be as a list of operational identifiers, e.g.

se.skl.epj::openEHR-EHR-EVALUATION.genetic_diagnosis.v1.12,
org.openehr.ehr::openEHR-EHR-EVALUATION.diagnosis.v1.29,
org.openehr.ehr::openEHR-EHR-EVALUATION.problem.v2.4



Ian

Dr Ian McNicoll
office / fax? +44(0)1536 414994
mobile +44 (0)775 209 7859
skype ianmcnicoll
ian.mcnicoll at oceaninformatics.com


Clinical analyst,?Ocean Informatics
openEHR Clinical Knowledge Editor www.openehr.org/knowledge
Honorary Senior Research Associate, CHIME, UCL
BCS Primary Health Care SG Group www.phcsg.org




On 28 October 2010 09:46, Diego Bosc? yampeku at gmail.com wrote:
 Shouldn't archetype identifiers and file names be separated?

 2010/10/28 Peter Gummer peter.gummer at oceaninformatics.com:
 Erik Sundvall wrote:

 openEHR-EHR-EVALUATION.problem.v1.adls
 ? openEHR-EHR-EVALUATION.diagnosis.v1.adls
 ? ? ?openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Should not the identifiers instead be:

 openEHR-EHR-EVALUATION.problem.v1.adls
 ? openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
 ? ? ?openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Or have the identifier syntax and semantics requirements changed in
 ADL/AOM 1.5?

 This has changed in ADL 1.5. The hyphen is no longer used.

 I'm sure I remember Thomas starting a discussion about this on the
 mailing list about a year ago.

 - Peter Gummer

 ___
 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-RM-LINK discussion - now also on mailing list :-)

2010-10-28 Thread Thomas Beale

In ADL 1.5 they are - you can name the archetype files however you like, 
and put them where you like.

- thomas

On 28/10/2010 09:46, Diego Bosc? wrote:
 Shouldn't archetype identifiers and file names be separated?

 2010/10/28 Peter Gummerpeter.gummer at oceaninformatics.com:
 Erik Sundvall wrote:

 openEHR-EHR-EVALUATION.problem.v1.adls
openEHR-EHR-EVALUATION.diagnosis.v1.adls
   openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Should not the identifiers instead be:

 openEHR-EHR-EVALUATION.problem.v1.adls
openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
   openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Or have the identifier syntax and semantics requirements changed in
 ADL/AOM 1.5?
*
*
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20101028/466330a1/attachment.html


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

2010-10-28 Thread Thomas Beale

As Peter said, ADL 1.5 changes this. The hyphen is not nedeed (but it is 
accepted to allow backward compatibility). See 
http://www.openehr.org/svn/specification/TRUNK/publishing/architecture/am/knowledge_id_system.pdf
 
and also 
http://www.openehr.org/svn/specification/TRUNK/publishing/architecture/am/dist_dev_model.pdf
 
for a full description of why this is.

- thomas

On 28/10/2010 09:36, Peter Gummer wrote:
 Erik Sundvall wrote:

 openEHR-EHR-EVALUATION.problem.v1.adls
openEHR-EHR-EVALUATION.diagnosis.v1.adls
   openEHR-EHR-EVALUATION.diagnosis_sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Should not the identifiers instead be:

 openEHR-EHR-EVALUATION.problem.v1.adls
openEHR-EHR-EVALUATION.problem-diagnosis.v1.adls
   openEHR-EHR-EVALUATION.problem-diagnosis-sweden.v1.adls
 openEHR-EHR-LINK.indication.v1.adls

 Or have the identifier syntax and semantics requirements changed in
 ADL/AOM 1.5?
 This has changed in ADL 1.5. The hyphen is no longer used.

 I'm sure I remember Thomas starting a discussion about this on the
 mailing list about a year ago.

 - Peter Gummer

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


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

2010-10-27 Thread Thomas Beale

The culprit is lack of time... as usual

So far I have created a simple test LINK archetype, showing how a 
jurisdiction, in this case Sweden, might use it. To see it, follow these 
steps:

   1. if you don't have it, download the ADL workbench
  
(http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/apps/adl_workbench/doc/web/index.html)
   2. SVN checkout or update http://www.openehr.org/svn/knowledge2/  -
  this will get both the latest test archetypes, and the required
  updated RM schema file, called openehr_rm_200exp.dadl
   3. you will have to install the new RM schema manually, by copying it
  from the rm_schemas directory in the above checkout, to the
  directory of the same name in the ADL Workbench install area /
  rm_schemas directory (i.e. C:\program files\openEHR\ADL
  workbench\rm_schemas, on Windows).
   4. To see the test archetypes, create a profile in the ADL Workbench
  for the path
  ...\knowledge2\TRUNK\archetypes\openEHR_examples\link_archetypes
  (see here for help -
  
http://www.openehr.org/svn/ref_impl_eiffel/TRUNK/apps/adl_workbench/doc/web/learning_adl_15.html)
   5. you can now compile the test Swedish specialisation EVALUATION
  archetype, that adds a standard LINK archetype to the existing CKM
  problem-diagnosis archetype

I have added a constraint of the 'target' property of the LINK classes, 
based on a new experimental 'target_type' computed property of the 
DV_EHR_URI class (added in the new schema). This shows how it would be 
possible to constraint the target to OBSERVATIONs, but I am pretty sure 
something stronger than that is needed, more like the semantic archetype 
slot constraints described here - 
http://www.openehr.org/wiki/display/spec/Towards+a+definition+of+%27slot%27+semantics
 
.

If anyone has problems with these steps, let me know on this list, and I 
will provide further information, but normally the above should be enough.

Others are welcome to have commit access to the knowledge2 repository, 
and help to grow the test archetype set, as well as experiment with 
ideas on the RM schemas is welcomed.

- thomas beale

On 27/10/2010 09:56, Erik Sundvall wrote:
 Hi!

 I hear of a lot of interesting off-line discussions regarding the
 openEHR RM object named LINK. I guess they have not yet reached the
 mailing list because of time restrictions and/or the
 exploratory/initial nature of the discussions. But now let's get more
 good brains involved...

 Just to make sure we talk about the same thing, it is the class LINK
 described in section 3.2.4 in
 http://www.openehr.org/releases/1.0.2/architecture/rm/common_im.pdf
 and in XML schema
 http://www.openehr.org/releases/1.0.2/its/XML-schema/documentation/Structure.xsd.html#h518145503
 (An excerpt from the spec is attached by the end of this mail)

 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
 - Tooling support for using LINK in archetypes is currently poor or non 
 existent
 - There is very little (if any) reported usage experience of LINK in openEHR
 - 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).

 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)

 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? Maybe they actually
 do work using wildcards in the right places? How tricky will it be to
 implement that constraint checking at runtime data creation?

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

 Excerpts from section 3.2.4 in common_im.pdf:

 Purpose:
 The LINK type defines a logical relationship between two items, such as two
 ENTRYs or an ENTRY and a COMPOSITION. Links can be used across compositions,
 and across EHRs. Links can potentially be used between interior (i.e. non
 archetype root) nodes, although this probably should be prevented in 
 archetypes.
 Multiple LINKs can be attached to the root object of any archetyped structure 
 to
 give the effect of a 1-N link
   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 - - - - - - - -
 Use:
 1:1 and 1:N relationships between archetyped content elements (e.g. ENTRYs)
 can be 

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

2010-10-27 Thread Thomas Beale
On 27/10/2010 13:28, Erik Sundvall wrote:
 Wow Tom!

 That was a fast, nice and somewhat unexpected answer, now we're just 
 awaiting the caption text to explain the image :-)

 You at least got me poking around for the archetypes, finding
 http://www.openehr.org/svn/knowledge2/TRUNK/archetypes/openEHR_examples/link_archetypes/

 - So tooling support already does exist, AWB for viewing  validation 
 and text editor for editing :-) (Or is there more?)

I don't think editing capability in the AWB will be out of the question 
in the near-ish future, but I don't have any bandwidth to go there right 
now

 - What about the target range constraints, will string matching 
 expressions cover all likely use-cases?

well I think string matching can work, but any lexical matching to 
achieve semantic purposes is always dodgy. I think we need to be more 
careful with how we do this, but I have not analysed it that much yet.

 - This means a small modification (inherit LOCATABLE) to the LINK 
 class in the RM to make the reference to used archetype possible to 
 store in the EHR, right?

yep - see the experimental RM schema file (you could diff it with the 
102 file and you would see the addtions; they are also explained at the 
top).

 (The un-archetyped LINK information storage is already supported I 
 believe, so data entered this way would be readable in the current 
 1.0.2 RM, even if archetype info will not be present, is that correct?)

yep - there would just be no at-code.*
*
- thomas

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