Instruction action archetypes?

2007-05-25 Thread Mattias Forss
Hello Erik,

I will provide you a quick answer, but I'll reply to the list so other may
comment as well.

Instructions and Actions are both entry subtypes but the difference is that
Instructions tell what the planned activities were and Actions tell which
actual actions were taken. They are meant to be recorded separately and
since the instruction state machine (ISM) used in openEHR is coded by the
support terminology the available states are static and every recorded
action will cause a care flow step to be taken (which has an optional
description) that defines a transition state in the ISM.

Also note that if the action was caused by an instruction the action will
hold instruction details that reference the instruction and activity that
was planned for the action.

Best wishes,

Mattias

2007/5/25, Erik Sundvall erisu at imt.liu.se:

 Hi!

 Some (possibly stupid) questions:

 - Are there any examples of instruction archetypes with more than one
 activity anywhere?
 - If different activities (of the same instruction) point to different
 action archetypes how should then the resulting usage of the ISM be
 interpreted? Can they be considered part of the same process with some
 states in each action archetype?

 A swift reply to one or more of the questions would be very welcome.

 Best regards,
 Erik Sundvall
 http://www.imt.liu.se/~erisu/
 ___
 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/20070525/ff209734/attachment.html


Error in terminology.xml?

2007-03-16 Thread Mattias Forss
Hi Bert,

Yes, I believe it should be changed. I actually made a heading change for
the subject setting in the GUI of the archetype editor when I saw that the
subject attribute of the ENTRY classes should be a PARTY_RELATED (which
represents the relation to the subject of data) and not a PARTY_SELF (which
represents the subject of data).

For some reason I never realized that the terminology.xml was wrong.

Regards,

Mattias


2007/3/16, Bert Verhees bert.verhees at rosa.nl:

 This line is in it:
 Concept Language=en ConceptID=32 Rubric=Subject of data /

 when you go to grouper:
 Grouper id=1 ConceptID=32 /

 and then to groupedconcept:
 GroupedConcept GrouperID=1 ChildID=0 /
 GroupedConcept GrouperID=1 ChildID=3 /
 GroupedConcept GrouperID=1 ChildID=6 /
 GroupedConcept GrouperID=1 ChildID=7 /

 etc

 which points to:
 Concept Language=en ConceptID=0 Rubric=self /
 Concept Language=en ConceptID=3 Rubric=foetus /
 Concept Language=en ConceptID=6 Rubric=donor /
 Concept Language=en ConceptID=7 Rubric=maternal grandmother /
 etc...
 
 I wonder if the above (first) line should be
 Concept Language=en ConceptID=32 Rubric=Related party
 relationship /

 because this is also in the PDF-documents: terminology.pdf page 22
 and in support_im.pdf, page: 59

 Thanks,
 bert




 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20070316/85cd43b2/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Problem in some sample archetypes and questions

2007-01-08 Thread Mattias Forss
2007/1/8, Koray Atalag atalagk at yahoo.com:

 Currently both the Editor and the
 Workbench allow these type of errors.


Hi Koray,

The latest code of the Java Archetype Editor now validates cardinalities. It
also has support for all but the demographics archetypes now. Lots of new
improvements and features have been added and version 0.5 of the editor
(including the source code) will be released before the end of this month.

Regards,

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


Problem in some sample archetypes and questions

2007-01-08 Thread Mattias Forss
2007/1/8, Thomas Beale Thomas.Beale at oceaninformatics.biz:


 
  Koray Atalag wrote:
  QUESTION-1: What is the correct approach for above problem?
 
 as Sam has said your understanding is correct and the archetype is in
 error.
  QUESTION-2: Assume in some other place in the archetype you reference
  the ELEMENT node with occurences {0..8} by use_node. And in this
  particular place you do not want to have up to 8 instances and but also
  you want it to be mandatory (i.e. 1..) or even want {3..5}. What is the
  solution? (other than writing the whole thing once again)
 
 the current semantics are that the occurrences of the referenced node
 are what takes effect. However, I agree that a preferable approach would
 be if the occurrences could be overridden at the origin point of the
 use_node reference. This would not be incompatible with the current
 semantics, and would probably be a useful change. What do others think?
 [Particularly the Archetype tool authors]?


Hi Thomas,

I think it would be a good idea to let the users of the archetype editors
override occurrences of referenced nodes.

Regards,

Mattias

Note that in the AOM, an
 ARCHETYPE_INTERNAL_REF inherits occurrences from C_OBJECT, so in theory
 our archetype parsers should handle them, but I have just looked at
 mine, and it doesn't...Rong, how about the Java parser? (So much for
 having complete test archetype coverage;-)
  QUESTION-3: Related with second question, I also need to disallow usage
  of some values when referencing by use_node entries. This I believe is
  not an uncommon requirement in clinical medicine.For me I have an
  element with a long list of  values of sites of an organ (Esophagus,
  stomach, colon and so on) and in many places of an observation these
  sites repeat without change so I can reference original. But in some
  cases selection of certain site(s) is not logical and should better be
  restricted or selection of only one site makes sense. What is the
 solution?
 
 I actually think there are various solutions here...
 * the most obvious would be that at the point of reference, you create a
 CLUSTER node, and then individually reference the subset of paths of
 items from the target CLUSTER that you want, but not others.
 * another one would be to make a number of ITEM_TREE or ITEM_LIST
 archetype of the relevant piece of content as separate archetypes, and
 use slots to include particular subsets.
 * a third possibility is to use invariants to prevent certain paths from
 existing that would otherwise be allowed by the main part of the
 definition of the archetype.

 - thomas beale


 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20070108/41812477/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: Problem in some sample archetypes and questions

2007-01-08 Thread Mattias Forss
Hi Jose,

I don't think the meaning of the node will not change, but it depends on how
you define it. If we think of the reference node (use_node) as a shortcut to
an entry form. Also think of it as if that shortcut decided how many times
the same entry form would show up. If we override the occurrences we don't
change the meaning of the entry form.

However, if the original meaning of having for example 2 occurrences of a
node we're referencing is to enter observations about two different sites
(say internal and external) and if we are allowed to override those
occurrences, then the original purpose of the node is not fulfilled because
it allows entry to be made less or more times.

This was probably not a full answer to your question.

Regards,

Mattias


2007/1/8, Jose Alberto Maldonado jamaldo at upvnet.upv.es:

 Hi all,

 we have a doubt regarding the possibility of overriding occurrences of
 referenced node. The main concern has to do with the fact that a occurrence
 constraint is part of the semantics of the node being constrained. If it
 is true, when overriding the occurrences of referenced nodes, do we change
 the meaning of the original node and therefore the description (and even
 terminology binding) might become erroneous?.

 best regards




 Mattias Forss escribi?:



 2007/1/8, Thomas Beale Thomas.Beale at oceaninformatics.biz:
 
 
  
   Koray Atalag wrote:
   QUESTION-1: What is the correct approach for above problem?
  
  as Sam has said your understanding is correct and the archetype is in
  error.
   QUESTION-2: Assume in some other place in the archetype you reference
 
   the ELEMENT node with occurences {0..8} by use_node. And in this
   particular place you do not want to have up to 8 instances and but
  also
   you want it to be mandatory (i.e. 1..) or even want {3..5}. What is
  the
   solution? (other than writing the whole thing once again)
  
  the current semantics are that the occurrences of the referenced node
  are what takes effect. However, I agree that a preferable approach would
 
  be if the occurrences could be overridden at the origin point of the
  use_node reference. This would not be incompatible with the current
  semantics, and would probably be a useful change. What do others think?
  [Particularly the Archetype tool authors]?


 Hi Thomas,

 I think it would be a good idea to let the users of the archetype editors
 override occurrences of referenced nodes.

 Regards,

 Mattias


 Note that in the AOM, an
  ARCHETYPE_INTERNAL_REF inherits occurrences from C_OBJECT, so in theory
  our archetype parsers should handle them, but I have just looked at
  mine, and it doesn't...Rong, how about the Java parser? (So much for
  having complete test archetype coverage;-)
   QUESTION-3: Related with second question, I also need to disallow
  usage
   of some values when referencing by use_node entries. This I believe
  is
   not an uncommon requirement in clinical medicine.For me I have an
   element with a long list of  values of sites of an organ (Esophagus,
   stomach, colon and so on) and in many places of an observation these
   sites repeat without change so I can reference original. But in some
   cases selection of certain site(s) is not logical and should better
  be
   restricted or selection of only one site makes sense. What is the
  solution?
  
  I actually think there are various solutions here...
  * the most obvious would be that at the point of reference, you create a
 
  CLUSTER node, and then individually reference the subset of paths of
  items from the target CLUSTER that you want, but not others.
  * another one would be to make a number of ITEM_TREE or ITEM_LIST
  archetype of the relevant piece of content as separate archetypes, and
  use slots to include particular subsets.
  * a third possibility is to use invariants to prevent certain paths from
  existing that would otherwise be allowed by the main part of the
  definition of the archetype.
 
  - thomas beale
 
 
  ___
  openEHR-technical mailing list
  openEHR-technical at openehr.org
  http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
 

 --

 ___
 openEHR-technical mailing listopenEHR-technical at 
 openehr.orghttp://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


 --
 Jose A. Maldonado. Ph. D.
 Bioengineering, Electronic and Telemedicine Group
 Escuela Universitaria de Informatica
 Technical University of Valencia
 Camino Vera s/n
 46022 VALENCIA (Spain)

 Tel. + 34 96 387 70 07 ext: 75277

 e-mail: jamaldo at upvnet.upv.eshttp://bet.upv.es




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



-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr

Preprint re: SNOMED codes

2007-01-04 Thread Mattias Forss
2007/1/3, Andrew Patterson andrewpatto at gmail.com:

  The system at present is performing mappings on pre-modeled archetypes
  depriving it the luxury of having access to the author.

 This is what I meant by the 'split' case - a split between the
 people/group
 constructing the archetype, and the people doing the binding (in this
 Sam writing the archetype and you guys doing the terminology stuff). It
 doesn't lessen your points about the difficulties of doing the terminology
 mapping - I just wanted to clarify that the plan in the 'best case' is
 that there wouldn't be so much of a split (i.e. you'd be in communication
 with the people writing the archetype, or it would all be done within one
 tool by the same author)

   I agree that this URL feature sounds a bit complex. Not having complete
  knowledge of the Ocean methodology and objective makes it rather
 difficult
  to comment though. However, 'is_a' trees are only part of the solution
 to
  the binding/mapping process. There are a few archetypes that have 'is_a'
  terms and can be dealt with in a less complex way i.e. without the use
 of
  URL's.

 Other than actually enumerating the term codes in the ADL file, what other
 mechanism is there other than URLs?

  Though am not sure whether the Ocean team had something else in mind
  when using URLs.

 The URL system is not inherently bad - it solves the problem in a
 relatively clean way that allows lots of room for future developments
 in terminologies without constraining the solutions. I just worry that
 with complex terminologies like snomed being used more often
 it may be useful to have an inbetween solution i.e.

 simplest)
   list of codes typed in '123123', '3242342', '123123'
 * moderate *)
   simple langauge like limit depth 5 (is_a('102323','arm fracture'))
 complex)
http://www.termserver.com/saved_query?realm=ukconcept_root=1231231



Hi,

Within our team in Link?ping we've discussed the potential of using OWL as a
query-language for constraint bindings. It might be something worth looking
into.

Regards,

Mattias
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20070104/4bb7dd4f/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: Re: Suggestions re Term binding in Archetype Editor

2006-12-19 Thread Mattias Forss
2006/12/19, Williamtfgoossen at cs.com Williamtfgoossen at cs.com:

 In een bericht met de datum 18-12-2006 18:00:54 West-Europa
 (standaardtijd), schrijft mattias.forss at gmail.com:


 Maybe you're right, the definitions could be added as comments, but for
 proprietary terminology like SNOMED CT this will mean that these kind of
 archetypes can only be distributed to people that have paid the license.



 Sorry, but Snomed CT cannot be considered a proprietary terminology given
 the formal international SDO status from January onward.


We'll see about that. Read about the issues with SNOMED and LOINC here
http://library.ahima.org/xpedio/groups/public/documents/ahima/bok1_032401.html

Mattias

Further, most English speaking countries (Cnd, UK, US, Aus, Nw Zealand)
 already have a national licence allowing everyone to use it for health
 purposes.

 William Goossen
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061219/cc6df49c/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Suggestions re Term binding in Archetype Editor

2006-12-18 Thread Mattias Forss
Hi Ian,

Archetypes are designed to be loosely coupled with terminology so that they
can be used when there are no terminology resources available.

If we have comments of the bindings, we get another problem because if the
definition of the binding changes (for example a translated term is
redefined in a terminology) the comment will be obsolete.

We currently have to rely on the archetypes' local terminology to get the
approximate rubrics when there are no terminology resources available.

Regards,

Mattias

2006/12/18, Ian McNicoll ian at gpacc.co.uk:

 Hi Sam,

 I appreciate the language difficulty here, given the ontology separation
 in ADL. However, in the UK context, the ability to document bindings to
 Snomed-CT with clear documentation, thereof, will be crucial to promoting
 OpenEHR. The design philosophy for DV_CODED_TEXT is that the raw term is
 never sent without the rubric, and I think somehow this needs to be
 extended
 to the binding terms as it is by no means certain that access to a
 terminology server will be a given in all the environments where ADL is
 being used as a design / documentation language. Would it be possible to
 allow the term bindings to be commented with the term name in the native
 authored language(as the current dADL entries are commented with the node
 name )? The current editor seems to strip out the any comments from the
 term
 bindings. This would at least let the rubrics be captured and displayed in
 any documentation.

 Ian




 From: Sam Heard [mailto:sam.heard at oceaninformatics.biz]
 Sent: 18 December 2006 00:22
 To: For openEHR technical discussions
 Subject: Re: Suggestions re Term binding in Archetype Editor

 Version 1 candidate does this and will be out soon Ian - it does not
 include
 the SNOMED text as this will be different in different languages.

 Sam

 Ian McNicoll wrote:




 Hi,



 I am currently working my way slowly through the Scottish Cardiac dataset,

 converting it to archetypes as proof-of-concept, using the OE editor.



 Term binding (to SNOMED) will be a crucial aspect from our perspective,

 especially binding local (interface) terms to SNOMED concepts.



 This would be much easier within the editor if the Term bindings screen

 displayed the node name as well as the Node ID, as it is easy to forget

 which local term you are trying to bind by the time you have rummaged
 around

 in Snomed for a bit!!. The Choose Nodes dialog might also be a little

 easier if the Node parent name and Node name were included. When only the

 node name is visible this can cause confusion if similar local terms are

 used for different nodes e.g. Not known.



 Finally in the ADL, I think it would be very helpful to be able to include

 the text of the Bound term text as well as its code. This would allow much

 easier checking for errors and documenting



 I have done this by enclosing the bound term text in [] for now.



 e.g.

 term_binding = 

 [SNOMED-CT] = 

 items = 

 [at] = [SNOMED-CT::229819007
 [Tobacco

 use and Exposure]]

 [at0006] = [SNOMED-CT::?Non Tobacco

 user]

 [at0009] = [SNOMED-CT::]

 [at0011] = [SNOMED-CT::[Ex-smoker]

 8517006]

 [at0012] = [SNOMED-CT::[Current

 non-smoker] 160618006]



 Regards,



 Ian



 ___

 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. 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


 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061218/4836d639/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Suggestions re Term binding in Archetype Editor

2006-12-18 Thread Mattias Forss
2006/12/18, Ian McNicoll ian at gpacc.co.uk:

  Hi Mattias,



 I do appreciate these difficulties but if the definition of the binding
 changes the binding itself may be obsolete.

If the binding changes so much in the terminology that it may be obsolete in
the archetype it would probably lead to a new term that is created in the
terminology and the old one is kept... but that doesn't matter in this
discussion - just wanted to point it out.

I agree the comment idea is less than satisfactory, it would be better if
 the term binding contained the rubric as well as the term code for exactly
 the same reasons that the rubric must always accompany the term code in
 DV_CODED_TEXT.


I don't know why the DV_CODED_TEXT is designed this way. I have thought
about it and the only reason why this is done is probably to get a faster
access to the rubric and maybe also when there are no translations for the
term in a specific language in order to get a 'default' rubric at all times.

Maybe you're right, the definitions could be added as comments, but for
proprietary terminology like SNOMED CT this will mean that these kind of
archetypes can only be distributed to people that have paid the license.

Regards,

Mattias

 Managing Snomed-CT is going to be a very tricky exercise. Using archetypes
 + bindings offers a very powerful way of managing Snomed where semantic
 precision is very important e.g. decision support. Having tools that will
 let us design and document these bindings will be a powerful way of
 persuading those who have yet to understand the value of the archetype
 approach. Having the term rubrics available is an important part of
 cross-checking that the correct binding has been applied, both for the
 original author (where terminology services might well be available) and
 when the archetype and bindings are reviewed by a wider clinical audience
 (when such services may not be available).

 Regards,



 Ian

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061218/854befbb/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: DV_QUANTITY_RATIO - remove from specification

2006-12-08 Thread Mattias Forss
2006/12/8, Thomas Beale Thomas.Beale at oceaninformatics.biz:

  Mattias Forss wrote:

 Does this mean that the ratio constraint could as of now be removed from
 the archetype editors? Will the DV_RATIO class be removed from the
 specifications as well? If not, should the editors change the current ratio
 constraint to be of a DV_RATIO instead of a DV_QUANTITY_RATIO?

 this is the expected approach. I know it is annoying for us to make this
 software change, but we cannot escape the fact that there were some
 categories of clinical data that were not properly addressed by the current
 data types.


Not sure what your answer is here, can the ratio constraint be removed from
the editors or not?

I think that the new DV_PROPORTION class could be used instead of
 DV_QUANTITY when there are no units, e.g. only the property 'Qualified
 real' and the empty string as a unit or a missing unit attribute in the item
 list of C_QUANTITY and only a magnitude attribute. The current ADL parser
 doesn't expect empty or null units which is correct according to the
 specification of C_QUANTITY_ITEM in the archetype profile package. Hence,
 there should always be a unit specified for each item in the item list of
 C_QUANTITY in archetypes and it cannot be empty because quantified data with
 no units could be represented with the DV_PROPORTION data type, right?

 DV_COUNT will take care of countable things - also with no units.
 Otherwise, anything else with no units I think will end up being a
 DV_PROPORTION - is we think of proportion as the idea of relative
 amount, how much of a total, then it is quite a wide concept that is
 likely to cover many situations. Sam and I believe your assumption is pretty
 safe at the moment.


Understood, the proportion data type makes a lot more sense than the
DV_QUANTITY_RATIO which allowed a lot of different quantifiable data types.
There is no need to make things more complicated than they are and the
simplification with DV_PROPORTION is great.

If you have a look at the blood film archetype (here:
 http://my.openehr.org/wsvn/knowledge/archetypes/dev/adl/openehr/ehr/entry/observation/openEHR-EHR-OBSERVATION.blood_film.v1.adl?op=filerev=0sc=0)
 you will see that the elements named 'Packed cell volume (PCV)' and
 'Plateletcrit' are quantity data types with empty units, but maybe they
 could be changed to proportion data types instead? If not, then the
 specification of C_QUANTITY_ITEM must be changed.

 Sam - I imagine this is right - can you check this?

 Although we have not yet uploaded cleaner archetypes with all the changes
 everyone wants, we have nearly done all the changes to the tools, and the
 next generation of archetypes on the openEHR website should address
 everything. After that we should be able to proceed faster, since I think we
 will have removed all the anomalies in tools with respect to the
 specification, and also fixed a few anomalies in the specfication.


It would be great if the archetypes could be updated soon. Could I get a
listing of the changes so I can update the Java archetype editor
accordingly?

Regards,

Mattias
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061208/32ffad79/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: DV_QUANTITY_RATIO - remove from specification

2006-12-07 Thread Mattias Forss
2006/11/30, Sam Heard sam.heard at oceaninformatics.biz:

  Dear All

 We have been working on the data types as we have known that there is a
 need to deal with fractions, ratios and percentages when the idea is of
 proportion - ie there is no units. Since the DV_QUANTITY_RATIO points to
 anything Quantified (ie count, date_time, duration) there are many
 non-sensible possibilities and although it has been around since the GEHR
 days, we have not used it for anything other than the idea of the new
 DV_PROPORTION type (which will be available in 1.0.1).


Hi Sam,

Does this mean that the ratio constraint could as of now be removed from the
archetype editors? Will the DV_RATIO class be removed from the
specifications as well? If not, should the editors change the current ratio
constraint to be of a DV_RATIO instead of a DV_QUANTITY_RATIO?

I think that the new DV_PROPORTION class could be used instead of
DV_QUANTITY when there are no units, e.g. only the property 'Qualified real'
and the empty string as a unit or a missing unit attribute in the item list
of C_QUANTITY and only a magnitude attribute. The current ADL parser doesn't
expect empty or null units which is correct according to the specification
of C_QUANTITY_ITEM in the archetype profile package. Hence, there should
always be a unit specified for each item in the item list of C_QUANTITY in
archetypes and it cannot be empty because quantified data with no units
could be represented with the DV_PROPORTION data type, right?

If you have a look at the blood film archetype (here:
http://my.openehr.org/wsvn/knowledge/archetypes/dev/adl/openehr/ehr/entry/observation/openEHR-EHR-OBSERVATION.blood_film.v1.adl?op=filerev=0sc=0)
you will see that the elements named 'Packed cell volume (PCV)' and
'Plateletcrit' are quantity data types with empty units, but maybe they
could be changed to proportion data types instead? If not, then the
specification of C_QUANTITY_ITEM must be changed.

Another issue not at all related to the above:
The Ocean editor writes other_contributors =  in the description part when
there are no other contributors, but since the attribute is not mandatory,
garbage like this should be removed from the archetypes. If the attribute
exists, then it should contain something as well. I would like this to be
fixed, because it makes the Java ADL parser fail...

Regards,

Mattias

I have filed a change request which explains how the perceived requirements
 for this type have largely been dealt with in archetypes:


 http://coruscant.chime.ucl.ac.uk:8200/openEHR_Collector/projects/specifications/CR/227/base_view?portal_status_message=Your%20changes%20have%20been%20saved.fieldset=issuedata

 Tom will let you know about the DV_PROPORTION class.

 http://coruscant.chime.ucl.ac.uk:8200/openEHR_Collector/projects/specifications/CR/144/base_view?portal_status_message=Your%20changes%20have%20been%20saved.fieldset=issuedata

 Interested in comments and queries...

 Cheers, Sam


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

 CEO and Clinical Director
 Ocean Informatics Pty. Ltd.
  http://www.oceaninformatics.biz/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*



 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061207/ff44a8c3/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Constraint references

2006-11-22 Thread Mattias Forss
Hi all,

I'm wondering what the difference is between a CONSTRAINT_REF and a
C_DV_CODED_TEXT that has the query attribute set? The descriptions of the
two are the following:

CONSTRAINT_REF class description:
Reference to a constraint described in the same archetype, but outside the
main constraint structure. This is used to refer to constraints expressed in
terms of external resources, such as constraints on terminology value sets.

Description of query attribute of C_DV_CODED_TEXT:
Constraint in terms of an abstract query expression to be addressed to a
terminology server.

Is there a syntactic difference between the two in ADL?

Mattias
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061122/b52e3eaf/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-21 Thread Mattias Forss
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

-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061121/83340f4a/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 Mattias Forss
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/publishing/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=C_COMPLEX_OBJECT.../item
 item xsi:type=C_COMPLEX_OBJECT.../item
 /members
 /attributes

 Regards

 Heath

  --
 *From:* openehr-technical-bounces at 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/publishing/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_OBJECThttp://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishing/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

XML serializer (retry due to too large message)

2006-11-17 Thread Mattias Forss
2006/11/17, Andrew Patterson andrewpatto at gmail.com:

  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.

 The AOM is at fault in this instance - the AOM has a field defined in
 C_ATTRIBUTE called 'children', and then proceeds to rename this field
 to 'attributes' and 'members' in the two subclasses C_SINGLE_ATTRIBUTE
 and C_MULTIPLE_ATTRIBUTE. This of course is not really implementable
 in any OO style language or XML.. the XML schema does the correct
 thing and just defines 'children' in the base C_ATTRIBUTE class.


No, it proceeds to rename this field to 'alternatives' (not attributes) and
'members'.

I agree, that it's not OO style, but why isn't it implementable in XML? XML
isn't OO, it's just a way of storing structured information, and the guys
building the XML parsers to create the AOM objects again can probably deal
with that. But since the AOM is OO I guess it wouldn't be a bad idea if the
contents of the XML instances were in OO style.

Mattias

I have followed the XSD exactly in my serialization.. I believe the
 intention is that the archetype XSD reflects the AOM model 1:1
 (as much as possible). I see the archetype XSD as a formal
 definition of the cotnent of the AOM document.

 Andrew
 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061117/e9597093/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 Mattias Forss
2006/11/17, Heath Frankel heath.frankel at frankelinformatics.com:

  The AOM is at fault in this instance - the AOM has a field
  defined in C_ATTRIBUTE called 'children', and then proceeds
  to rename this field to 'attributes' and 'members' in the two
  subclasses C_SINGLE_ATTRIBUTE and C_MULTIPLE_ATTRIBUTE. This
  of course is not really implementable in any OO style
  language or XML.. the XML schema does the correct thing and
  just defines 'children' in the base C_ATTRIBUTE class.
 
  I have followed the XSD exactly in my serialization.. I
  believe the intention is that the archetype XSD reflects the
  AOM model 1:1 (as much as possible). I see the archetype XSD
  as a formal definition of the cotnent of the AOM document.
 
 Oh, so that's why I got confused why members was implemented as a method
 rather than an attribute, I didn't make the correlation between members
 and
 children (perhaps I should have read the words rather than just the
 picture
 :).


Oops, I also missed that it was a function :-)

Maybe the specs could distinct attributes, functions, etc with different
coloring.


In that case, the XML schema does not require a change request for this
 issue.  I would still like to explore the use of an existence element
 rather
 than minOccurs and maxOccurs attributes.  I don't see why existence and
 occurrences in C_OBJECT are treated differently.  And then I think the
 interval_of_integer type should use elements lower and upper as per the
 Interval assumed type specified in the openEHR Support package.


Agree

Mattias

Heath

 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061117/4c22b4b0/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 Mattias Forss
2006/11/17, Bert Verhees bert.verhees at rosa.nl:

  Bert Verhees schreef:

 Mattias Forss schreef:

  Well, I'm no expert on XSD since I never cared about learning it...
 but if I go back to your example, why didn't you use xsi:type in some
 places, for example:

  I don't know if you ever saw this site, I did, it was helpful

  http://www.w3schools.com/schema/default.asp

 (forgot ;-)


Yes, the tutorials by W3 schools are nice, but most often not as detailed as
one might wish.

//Mattias

Bert
 ___
 openEHR-technical mailing list
 openEHR-technical at 
 openehr.orghttp://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



-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061117/b24322db/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 Mattias Forss
Andrew,

In your example, you have the other_contributors element even when it has no
children, but the schema specification says that it's optional, i.e.
other_contributors
list_of_stringhttp://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishing/its/XML-schema/documentation/Archetype.xsd.html_h-2045140803.html/other_contributors
[0..1].
Shouldn't you discard that element when the list of contributors is empty?

/Mattias

2006/11/16, Andrew Patterson andrewpatto at gmail.com:

   description
 other_contributors /
 lifecycle_stateAuthorDraft/lifecycle_state

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


Archetype questions

2006-11-13 Thread Mattias Forss
2006/11/13, Rong Chen rong.acode at gmail.com:


 I am not sure if it's safe to allow cross-use of internal archetype nodes
 for data entering. A better approach in my view is to separate the common
 archetype node into a standalone archetype and include it in other archetype
 or template.

 For read-only purpose, DV_EHR_URI is perhaps a solution.


Good answer Rong. There should probably only exist one archetype for data
creation of specific nodes and URIs can be used to get certain values if
needed, for example if the BMI is entered with another template that uses
weight data of a patient. However, some archetype authors might not
understand this idea and must probably be trained in archetype modeling. The
higher quality archetypes there exist, the better the EHR systems will
perform.

Mattias

Cheers,
 Rong

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


Archetype questions

2006-11-13 Thread Mattias Forss
2006/11/13, Thomas Beale Thomas.Beale at oceaninformatics.biz:


 Hi Matiass,

 Mattias Forss wrote:
 
  Archetype A and archetype B will have 'correct archetype paths
  according to where the fragment was put', but will they refer to the
  same paths? When I talked about data I meant what was stored in the
  EHR system and when I talked about values I meant what was entered in
  the template.
 
  I tried to ask if there is some way to make two or more archetypes
  manipulate exactly the same data in an EHR system, meaning that the
  archetypes probably must refer to the same paths - otherwise the data
  will be manipulated at different places and the system must know that
  the data at the different places are actually the same. Consider this
  example:
 
  Archetype A is used in a template to create data about a patient's
  weight and archetype B is used in another template and will also
  create data about the weight. However, if the weight data was already
  entered in the EHR system, is there a way (to create archetypes) which
  make the system know that it deals with the same data no matter if it
  came from archetype A or archetype B and fetch the last entered value
  to any of the templates that need the weight information?
 Ah, I understand where you are coming from now. Archetypes and templates
 don't know anything about which data instances they have created; it is
 the other way round. A given template could be used to create 20
 measurements of weight of the patient, which might be reasonable if the
 patient happens to be an infant, the measurements might be every few
 weeks from birth for say 18 months. The data of each of those 20
 measurements (Observations inside distinct Compositions) knows that such
 and such an archetype and template was used to create the data. So if
 the application retrieves one of the older measurements, the kernel will
 know which archetypes and template to apply, However, this would not
 occur unless someone was correcting wrongly entered values; normally
 previous data are just viewed, e.g. in a graph or similar, which doesn't
 require the kernel, just archetype-aware display components.


Yes, I knew that. There seems to be some options when archetypes need to
reference the same kind of information to be entered in an EHR, e.g. slots,
specialisations, etc. Some EHR data should probably be limited to be created
in only one archetype if it's concerning the same finding context in a
domain. In addition, if data spreads over several areas of findings, single
nodes from archetypes should probably not be reused and instead they should
exist in several archetypes since finding procedures may change in certain
domains and make the originally referenced nodes incompatible.

Regards,

Mattias

There is also a question of whether certain data could be compatible
 with more than one template or archetype. It can certainly be compatible
 with more than one template, since templates re-use archetypes. It can
 also be used with parents of specialised archetypes. We have already
 tested ,more generic archetypes (and no archetypes) being used with data
 archetyped with specific specialised archetypes, and it works fine for
 display.

 does this help?

 -  thomas

 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061113/7114dfd2/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Archetype questions

2006-11-13 Thread Mattias Forss
2006/11/13, Thomas Beale Thomas.Beale at oceaninformatics.biz:

 Mattias Forss wrote:
 
 
 
 
  Yes, I knew that. There seems to be some options when archetypes need
  to reference the same kind of information to be entered in an EHR, e.g
  . slots, specialisations, etc. Some EHR data should probably be
  limited to be created in only one archetype if it's concerning the
  same finding context in a domain. In addition, if data spreads over
  several areas of findings, single nodes from archetypes should
  probably not be reused and instead they should exist in several
  archetypes since finding procedures may change in certain domains and
  make the originally referenced nodes incompatible.
 this is our experience so far, and we have to learn (as technical
 people) to really trust the experience of clinical people, not think we
 know too much about real archetypes. The vision of archetypes is really
 about empowering domain users, and sometimes it can feel odd to be told
 we engineers don't quite know what we are talking about. I see it as a
 sign of a successful future for information systems development.


I totally agree with this.

Mattias

- thomas


 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20061113/01487297/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


XML archetypes

2006-11-13 Thread Mattias Forss
Hi,

I am doing some experiments on a XML serializer for the Java archetype
editor. I wonder if there are any example XML archetypes that I can look at
to verify that I follow the XML-schema documentation correctly?

Regards,

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


Archetype questions

2006-11-08 Thread Mattias Forss
Hi Thomas,

Thank you very much for your answers. They were quite clear and easy to
understand as they often are. I have some more questions below...

2006/11/7, Thomas Beale Thomas.Beale at oceaninformatics.biz:


 I'll just provide some formal answers below.

 Mattias Forss wrote:

 Hi,

 I'm currently working in a group that has been evaluating archetypes and
 they found out that there in archetypes may be needed to add external nodes
 from other archetypes instead of only adding complete archetypes as slots.
 Does the current ADL specification allow that external parts from other
 archetypes can be included? I think the openEHR templates allow to cut off
 parts in a slot, but I'm not sure if they can exclude everything except a
 single item.


- by the use of slots, which you already know about. Use this when
you want to define reusable semantic units (i.e. more archetypes).
Archetypes and slots can be defined at any level - including at low levels.
However, the downside is potentially too many little archetypes for
effective management and governance



Yes,  too many small archetypes would probably make the archetypes hard to
maintain etc.


- in some cases, most likely what is really needed is to be able to
reduce the work required to build archetypes in the authoring tool
environment - in other words cut and paste, or smarter things than that. So
- what is smarter than cut and paste? We can consider that there are
archetype fragments which are stored and indexed in a sophisticated
authoring environment. These would not be separate archetypes as such - 
 just
pieces of archetypes that have been identified as re-usable in the 
 authoring
environment, but otherwise not sensible self-standing semantic units. Think
about it this way - in some cases, you are not after another archetype, you
just want to make sure that you build the little piece of the current
archetype inn the same way as you did last time, without missing a term.


Agree, but shouldn't there be some way to link the copies with each other,
because they _will not_ be the same data if they don't have the same
archetype path? How should we know if we already entered similar values in
another archetype, possibly even found in another template than the current
one? There should be some way of linking values together. Can it be done at
the template level or must it be done at an even higher level, i.e. in
business logic of the GUI in the EHR system?

I will probably make it possible in the Java archetype editor to copy
definition nodes between different instances of the program, but that is
just a start. The ideal would be to support imports of nodes found in the
definition of several selected archetypes...

the first exists is only needed if the systolic value node is optional;
 the above statement in a real archetype would not necessarily be exactly as
 above, but the idea is clear. HOWEVER: in clinical terms, this sort of
 condition may not be considered as globally applicable as the rest of the
 archetype - it might only apply in your hospital. In this case, the same
 kind of statement should be added to a template instead.


Yes, this condition would of course only be added in the template since it
is not a global requirement (however there may be such also), but the
invariants seem to have a lot of potential and would significantly aid
decision support.


 Another issue is about computation. For example we could want a
 quantifiable magnitude to be the result of two previously entered values. Is
 this possible to do in archetypes? Perhaps in the declaration section or the
 invariant section?

 this can also be done in the invariant section using a statement of the
 form:

 exists(/path1/value) and exists(/path2/value) implies /path3/value =
 /path1/value + /path2/value


Though it certainly is useful, this is only to constrain the allowed value
and not to compute it. Some business logic in the EHR system would have to
use the invariant to compute the allowed value so that the clinician doesn't
have to do that (and risk to enter the wrong value and break the data entry
process if the value is invalid according to the archetype).

I also noticed that archetypes may become ambiguous by using invariants. For
example if the cADL says that the value must be  10 and the invariant says
that the value is 5. I guess there is a need for an archetype validator that
checks all kinds of things, conformance to RM class names and attributes,
existing codes in the ontology section, invariants conforming to cADL, etc,
etc.


Another feature is value reporting, which should work when we use several
archetypes in an openEHR template. For example if some question was answered
in one archetype, then another archetype that has the same question should
get the value reported from the previous archetype. Is this possible? I
guess this has to do with external references as I mentioned in my

Archetype questions

2006-11-08 Thread Mattias Forss
2006/11/8, Mattias Forss mattias.forss at gmail.com:


 We would also like to ask if there is a way of specifying validity for
  questions depending on previously answered questions. E.g. if a certain
  answer was given from a multiple alternative question (coded_text), then and
  only then, some other group of questions will be valid. Is this possible to
  do in archetypes? Perhaps it's possible with invariants?
 
  same general form as the first one, where the exists() quantifier can be
  used with operators like implies to state the required conditions.
 

 Does this mean that the invariant allows something like
 path/to/coded_text/defining_code = at0003 implies /some/path[at]
 occurrences.min = 1 can be used for the group of questions (cluster) we
 want to be valid?


Oops, I meant it probably should be something like:

invariant
exists(/some/path[at]) implies path/to/coded_text/defining_code =
at0003


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


Archetype questions

2006-11-06 Thread Mattias Forss
2006/11/6, Sam Heard sam.heard at oceaninformatics.biz:

  Hi Mattias

 I'm currently working in a group that has been evaluating archetypes and
 they found out that there in archetypes may be needed to add external nodes
 from other archetypes instead of only adding complete archetypes as slots.

 Not sure what you mean = only parts of archetypes e,g, Hb only from Blood
 count?


Hi Sam,

I will provide you with some examples from one of the group members.

Reusing nodes: It would be reusing single nodes from archetypes, as your
example above, and here are two more examples.

Example 1. If the blood pressure measurement archetype allowed recording
average 12h blood pressure (protocol) it would be important to be able to
record the arousal state of the patient during the measurements (awake or
asleep). This node (state of arousal: awake / asleep) would also be useful
in an archetype for electroencephalographic results, and hence one could
want to reuse it.

Example 2. If there is a blood pressure measurement observation archetype
without the current treatment in the patients state, there must be another
observation archetype to record the current treatment, because this
information is mandatory to interpret blood pressure results. In this
current treatment archetype, one could wish to record the pharmacological
class of each hypertensive drug (quite long list). This list could be reused
in a treatment history evaluation archetype, that would record when every
drug has been started and stopped and why.

Is it possible, by one way or another, to reuse a single node defined in a
first archetype when building another archetype? when building a template?
Does the current ADL specification allow that external parts from other
archetypes can be included?

 This is done in templates at present = need some examples


So I need to know if we could remove everything but a single node (ELEMENT)
from for example an OBSERVATION slot.

I think the openEHR templates allow to cut off parts in a slot, but I'm not
 sure if they can exclude everything except a single item.

 You can exclude all archetypes - again need more specificity!


Vide supra

The group also found out that there is a need to deduct certain answers
 depending on previously answered questions. For example if we previously
 answered that the blood pressure was above 160, then another question about
 hypertension should be answered automatically. Is this possible to do in
 archetypes?

 I think this is application space - I do not think you can express this in
 an archetype...probably better if there is more detail.


Example:
If the blood creatine value is included an archetype, it could be useful to
state that if the result is more than a given upper value, then the default
value to the following boolean node renal failure has to be yes.

It might be that this always is in application space and probably a task of
a template builder (user-interface business logic building).

Another feature is value reporting, which should work when we use several
 archetypes in an openEHR template. For example if some question was answered
 in one archetype, then another archetype that has the same question should
 get the value reported from the previous archetype. Is this possible? I
 guess this has to do with external references as I mentioned in my first
 question.
  Again difficult to know what you mean = sounds like application space
 though.


Example:
In an observation archetype having the body weight as one of its nodes, it
could be useful to state that the default value for this node is the last
previously entered value through this same archetype or even through another
archetype.

The latter might be easier to achieve in the runtime system if there could
be some way of having external references (pointers) but archetypes could
more easily be broken if they reference non-existing items. Anyway, this
shall be dealt with on the user-interface level. For example, values could
be linked together by some value map that has the related archetype paths
that share values which allows the user-interface to know if values have
been previously added (and when).

We would also like to ask if there is a way of specifying validity for
 questions depending on previously answered questions. E.g. if a certain
 answer was given from a multiple alternative question (coded_text), then and
 only then, some other group of questions will be valid. Is this possible to
 do in archetypes? Perhaps it's possible with invariants?

 Perhaps = but we see this as application space unless it is an absolute
 fact - then it the other values could become mandatory based on the value of
 another value.


Example:
It could be useful to state that the cluster node smoking habits is not
valid (and not displayed to the user) if the value of the node (which
doesn't neccessarily have to reside within the cluster) current smoker is
No.

Again, this can probably be considered as application space, but 

[Norton AntiSpam] Re: Archetype questions

2006-11-04 Thread Mattias Forss
2006/11/3, ognian.pishev at oceaninformatics.biz 
ognian.pishev at oceaninformatics.biz:

 I believe that in answering this series of questions one has to
 distinguish
 among:
 1. what archetypes do - they define valid data based on the constraints of
 a
 clinical concept model;
 2. what needs to be done by decision support systems that rely on
 archetypes,
 that is, to make sense of results recorded using archetypes; and
 3. what a template builder can do using archetypes to introduce business
 logic
 and dependenices into the template one needs for specific purposes.

 As you can see, archetypes do not address all the issues listed in 1-3.



Hi Ognian,

These are exactly the points I have tried to explain to the group I am
working with, I just needed to verify them on this list since there are more
experienced people here. The group have been comparing templates, in their
sense meaning archetypes from openEHR and templates based on the HL7 RIM,
but they are hard to compare since not archetypes alone can address all
issues.

Many of the points the group has come up with in their evaluation are in
openEHRs case more about what a template builder can do, rather than what an
archetype editor can do. There were also many requirements on doing
computations and decision support like things in archetypes. I find that
there may exist some basic computation and DSS in archetypes but it is part
of RD as Gerard pointed out.

Regards,

Mattias

Ogi Pishev

 P.S. As for the ...v3 stuff, I'd like to see computing systems that
 machine
 process those... (And I don't mean Excel).



 Quoting Williamtfgoossen at cs.com:

  Mattias Forss mattias.forss at gmail.com wrote:
 
  Hello Mattias,
 
  these are exactly the questions, issues I have been working on for 3
 years
  now. All I can specify in the HL7 v3 Care Provion Domain model, that is
  basically why I apply this method for the time being, waiting for a
 better
  tool to do this. Below specific answers after each question.
 
  Hi,
  
  I'm currently working in a group that has been evaluating archetypes
 and
  they found out that there in archetypes may be needed to add external
 nodes
  from other archetypes instead of only adding complete archetypes as
 slots.
 
  I agree, in the care provision we therefore have included the organizer
 class
  that allows you to start with atomic items, link them via an organiser
 code
  to a higher level item (e.g. blood pressure is part of vital signs,
 mobility
  is part of activities of daily living, potasium is part of electrolytes
  etc.). I work bottom up because of another question of you below.
  This is possible in ADL I believe / am told, but have not seen
  operationalised yet. However the template specifier does this, but I am
 not
  sure how the formal links work. In organiser we can code the higher
 level
  rubrics.
 
 
  Does the current ADL specification allow that external parts from other
  archetypes can be included? I think the openEHR templates allow to cut
 off
  parts in a slot, but I'm not sure if they can exclude everything except
 a
  single item.
  
 
  We break down such care information models in two parts if there are use
  cases where only a part is used. So we make 2 slots instead of one.
 
  The group also found out that there is a need to deduct certain answers
  depending on previously answered questions. For example if we
 previously
  answered that the blood pressure was above 160, then another question
 about
  hypertension should be answered automatically. Is this possible to do
 in
  archetypes?
  
 
  We can relate HL7 obs classes to each other, including if a value of Obs
 1 
  160, then Obs gets default hypertension.
  However, there is no agreed formalism in HL7 v3 to do this. Arden syntax
 an d
  Gello are often named in this area, but I have no examples. I just use
 plain
  english for the time being.
 
  Another issue is about computation. For example we could want a
 quantifiable
  magnitude to be the result of two previously entered values. Is this
  possible to do in archetypes?
 
  We apply this a lot in the HL v3 care information models. Basically most
  scales have a kind of sum up feature of say 10 observations (Barthel)
 each
  gets a numeric score and obs 11 is for the total score. In the method
 section
  we define: total score, but again, there is no formalism used, just
 plain
  English.
  Similarly this would work with basic calculations such as average
 scores, or
  the formula for the body mass index etc.
 
  Perhaps in the declaration section or the
  invariant section? I've seen that these sections should contain some
 kind of
  first-order predicate logic, but I'm not sure of the scope and
  limitations/possibilities of these ADL sections. Also, the declaration
  section is actually not even described in the ADL 1.4 document, it is
 only
  shown in an example overview figure.
  
 
  It is perfectly possible to express your rules in predicate logic and if
 only

Archetype questions

2006-11-03 Thread Mattias Forss
Hi,

I'm currently working in a group that has been evaluating archetypes and
they found out that there in archetypes may be needed to add external nodes
from other archetypes instead of only adding complete archetypes as slots.
Does the current ADL specification allow that external parts from other
archetypes can be included? I think the openEHR templates allow to cut off
parts in a slot, but I'm not sure if they can exclude everything except a
single item.

The group also found out that there is a need to deduct certain answers
depending on previously answered questions. For example if we previously
answered that the blood pressure was above 160, then another question about
hypertension should be answered automatically. Is this possible to do in
archetypes?

Another issue is about computation. For example we could want a quantifiable
magnitude to be the result of two previously entered values. Is this
possible to do in archetypes? Perhaps in the declaration section or the
invariant section? I've seen that these sections should contain some kind of
first-order predicate logic, but I'm not sure of the scope and
limitations/possibilities of these ADL sections. Also, the declaration
section is actually not even described in the ADL 1.4 document, it is only
shown in an example overview figure.

Another feature is value reporting, which should work when we use several
archetypes in an openEHR template. For example if some question was answered
in one archetype, then another archetype that has the same question should
get the value reported from the previous archetype. Is this possible? I
guess this has to do with external references as I mentioned in my first
question.

We would also like to ask if there is a way of specifying validity for
questions depending on previously answered questions. E.g. if a certain
answer was given from a multiple alternative question (coded_text), then and
only then, some other group of questions will be valid. Is this possible to
do in archetypes? Perhaps it's possible with invariants?

Finally is there a way of specifying the relevance of answers in archetypes.
Say for example that if some laboratory results are too old, could an
archetype contain some restrictions that make it illegal to answer certain
questions because the material that the answers are based upon is too old?
I'm not sure if this is related to DSS or something else.

Regards,

Mattias, via the Link?ping Team.
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20061103/4f968b4d/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


ISM_TRANSITION

2006-10-31 Thread Mattias Forss
Hi again,

I should probably also mention that we need some document that provides
recommendations about how archetypes should be created when there are more
than one way to do it like the example below. Otherwise there is a risk that
there are too many archetypes with different representations that
essentially mean the same thing.

The rules that Thomas talked about in this thread
http://www.openehr.org/advice/implementers-priv/msg00311.html , i.e.

- if there is a plug-in C_DOMAIN_TYPE type available, always use it to
represent constraints for the corresponding RM type
- if there is a syntax equivalent for this type, then use it
- otherwise use generic ADL


Should also be documented somewhere.

Regards,

Mattias

2006/10/31, Mattias Forss mattias.forss at gmail.com:

 Hi,

 I started wondering about different representations of ISM_TRANSITIONs of
 the ism_transition attribute in the ACTION archetypes. I found that the
 below example:

 ISM_TRANSITION matches {
 current_state matches {
 CODED_TEXT matches {
 code matches {[openehr::524]}
 }
 }
 careflow_step matches {
 CODED_TEXT matches {
 code matches {[local::at0001]}-- Planned
 }
 }
 }
 ISM_TRANSITION matches {
 current_state matches {
 CODED_TEXT matches {
 code matches {[openehr::524]}
 }
 }
 careflow_step matches {
 CODED_TEXT matches {
 code matches {[local::at0004]}-- Requested
 }
 }
 }

 could be compressed into this:

 ISM_TRANSITION matches {
 current_state matches {
 CODED_TEXT matches {
 code matches {[openehr::524]}
 }
 }
 careflow_step matches {
 CODED_TEXT matches {
 code matches {[local::at0001, -- Planned
at0004]} --
 Requested
 }
 }
 }

 The examples have the same semantic meaning. However, at data entry the
 second example would mean that a choice must be made concerning the
 careflow_step, i.e. either at0001 or at0004. Should the archetype editors
 support both examples? The first example is the only one I've seen in
 archetypes...

 Regards,

 Mattias

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


a zero existence constraint

2006-10-25 Thread Mattias Forss
How about specialised archetypes? Wouldn't there be occasions when a
parent archetype has some attribute, which a child (specialisation) of
that archetype don't want to deal with?

Mattias

2006/10/25, Sam Heard sam.heard at oceaninformatics.biz:

  This is not sensible to have in an archetype - otherwise it would not be
 there! It is a requirement for templates in use.
  Sam


  Thomas Beale wrote:
  Andrew Patterson wrote:


  For the case where an attribute is constrained to '0'
 existence i.e.

 state existence matches {0} .

 what should follow as the rest of the attribute
 constraint? Technically, the rest of the definition
 is superfluous as we have already stated that the
 attribute must not exist, but the
 'matches' clause needs to exist in the grammar. Should
 it be matched to *, or should it be empty?

 state existence matches {0} matches {*}

 or

 state existence matches {0} matches {}
 (I'm not sure the grammar allows this)


  we certainly have not allowed for it yet; indeed, no-one has ever wanted
 to do it in an archetype, it has only come up as a need in templates
 (which simply quote path names and then add an existence constraint).

 Possible responses that come to mind:
 - in openEHR we try never to include a feature that is not justified by
 at least one known use case. So we should try to find a real use case
 before doing anything.
 - there is in fact already a way to do this: by adding an invariant to
 an archetype of the form
  not exists (/path/to/some/attribute/that/we/dont/want)
 - if we had to add more syntax to the cADL part of ADL, I would probably
 opt for the second proposal above.

 Buta credible use case needs to be found first.

 - thomas beale


  Andrew
 ___
 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. 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



 ___
 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





Archetype blood_pressure: Data - State - Protocol - correlation

2006-10-12 Thread Mattias Forss
2006/10/11, Thomas Beale Thomas.Beale at oceaninformatics.biz:
 Mattias Forss wrote:
  2006/10/9, Mattias Forss mattias.forss at gmail.com:
 
  2006/10/8, Sam Heard sam.heard at oceaninformatics.biz:
 
   Christoph
   Some things have been around for a long time in our development and one 
  was
  to have state defined at the root level even though it applied to each
  event. The current editor should read both but saves the correct version.
   The result is attached, Sam
 
  I should point out that the embedded state within each event isn't
  supported by the Java Archetype Editor (only separate state with
  history), but a new version that supports this will probably be out
  soon...
 
  Actually, when the Java editor finds a state defined at the root level
  it is transformed to a state with history because that is the closest
  thing it resembles.
 
 
 
  Another question related to this. Is there any need in an archetype
  editor to specify different data and state for some events instead of
  always creating them in the first event in the history and then let
  all the succeding events reference (use_node) the data and state in
  the first event? If a user decides to edit ADL manually and sets
  different data and state for some events, it is not supported by
  neither of the current archetype editors...
 
 In general this should not happen, since the phenomenon being recorded
 in each event is supposed to be the same one, just at different time-points.

Just what I suspected. Thanks

Mattias

 - thomas beale



 ___
 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





Archetype blood_pressure: Data - State - Protocol - correlation

2006-10-09 Thread Mattias Forss
2006/10/8, Sam Heard sam.heard at oceaninformatics.biz:

  Christoph
  Some things have been around for a long time in our development and one was
 to have state defined at the root level even though it applied to each
 event. The current editor should read both but saves the correct version.
  The result is attached, Sam

I should point out that the embedded state within each event isn't
supported by the Java Archetype Editor (only separate state with
history), but a new version that supports this will probably be out
soon...

Actually, when the Java editor finds a state defined at the root level
it is transformed to a state with history because that is the closest
thing it resembles.

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





Archetype blood_pressure: Data - State - Protocol - correlation

2006-10-09 Thread Mattias Forss
2006/10/9, Mattias Forss mattias.forss at gmail.com:
 2006/10/8, Sam Heard sam.heard at oceaninformatics.biz:
 
   Christoph
   Some things have been around for a long time in our development and one was
  to have state defined at the root level even though it applied to each
  event. The current editor should read both but saves the correct version.
   The result is attached, Sam

 I should point out that the embedded state within each event isn't
 supported by the Java Archetype Editor (only separate state with
 history), but a new version that supports this will probably be out
 soon...

 Actually, when the Java editor finds a state defined at the root level
 it is transformed to a state with history because that is the closest
 thing it resembles.


Another question related to this. Is there any need in an archetype
editor to specify different data and state for some events instead of
always creating them in the first event in the history and then let
all the succeding events reference (use_node) the data and state in
the first event? If a user decides to edit ADL manually and sets
different data and state for some events, it is not supported by
neither of the current archetype editors...

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





Release of Java Archetype Editor v0.4

2006-10-05 Thread Mattias Forss
Dear all,

The Java Archetype Editor v0.4 has now been released. Both the binary
and the source code is available for download here:
http://www.imt.liu.se/mi/ehr .

Please take your time to read the release notes before installing the program.

The Archetype Editor was developed within the framework of the
EU-funded Network of Excellence entitled Semantic Interoperability and
Data Mining in Medicine. Read more about Semantic Mining at
http://www.semanticmining.org .


Best regards,

Mattias Forss via the Medical Informatics Group,
Department of Biomedical Engineering,
Link?ping University, Sweden

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





the periodic definition in data structures IM

2006-09-26 Thread Mattias Forss
2006/9/26, Thomas Beale Thomas.Beale at oceaninformatics.biz:

 I have improved the documentation in the class definitions, and added
 the following invariant to History:

 period_consistency: is_periodic implies events.for_all (e: EVENT |
 e.offset.to_seconds.mod(period.to_seconds) =
 e.offset.to_seconds/period.to_seconds)


Hi Thomas,

With the risk of making a fool of my self, shouldn't a consistent period
mean that all events should have an offset to the original time of starting
the observations which is periodic? In that case, doesn't it mean that the
offset modulo the period should be zero and not offset/period? If the offset
is evenly dividable with the period, then it should mean that the event is
periodic and if all events are periodic then the period for the history is
consistent.

Correct me if I'm wrong.

/Mattias

and added the query to_seconds: Double to the ISO8601_DURATION class in
 the Support IM package.

 - thomas


 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20060926/ac1e2ba5/attachment.html
-- next part --
___
openEHR-technical mailing list
openEHR-technical at openehr.org
http://www.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Normal and other ranges

2006-09-20 Thread Mattias Forss
2006/9/20, Gerard Freriks gfrer at luna.nl:

 Hi,
 I'm not a pathologist.
 But was a GP.

 As GP I'm not interested in an arbitrary classification.
 What is minimally necessary are: the value, the units of measurement and
 the normal range as used in that lab for that measurement at that time.
 What is handy (optional) and only for signalling a human reader, and NOT
 for computer semantic processing, are: a Flag that a value is out of range,
 and a comment/advice/interpretation provided by the lab.



What about decision support software?

/Mattias

Value is not always a series of digits. It can be an ordinal. It can be
 text.

 Gerard

 --  private --

 Gerard Freriks, arts

 Huigsloterdijk 378

 2158 LR Buitenkaag

 The Netherlands


 T: +31 252 544896

 M: +31 653 108732




 On 20-sep-2006, at 0:27, Heath Frankel wrote:

 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?



 ___
 openEHR-technical mailing list
 openEHR-technical at openehr.org
 http://www.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/20060920/49e34d63/attachment.html


Archchetype editor on Linux --help

2006-09-02 Thread Mattias Forss
2006/9/2, Bert Verhees bert.verhees at rosa.nl:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Mattias Forss schreef:

  We used (and modified) parts of the code from the existing editor
  which was used as a facade against the openEHR archetype object model
  since that model is immutable. On the other hand, I don't think that
  this code is easy to understand even if you understand the API for the
  Java kernel. When we open source the code for the editor I suppose
  there might be questions if the facade code is worth using anymore or
  if it should be replaced with a better API that could be used as a
  facade for the archetype object model.

 I don't know what you mean in this, I think the best way to write a
 archetype editor is to directly use the java-kernel-code.
 I see some people want to rewrite the adl-parser, but, in fact the
 adl-parser is in its source quite clear and good.

We cannot use the kernel code directly unless we make changes to it to
be mutable (changeable). The reason for this is because whenever you
want to alter things, the Archetype object has to be rebuilt all over
again because it is not allowed to be changed. Using the kernel code
directly and rebuilding every time some small thing has changed would
be very slow (especially very slow response in the GUI). However, I've
heard of a new technique that could be used in Java to be able to do
this a lot faster, but I'm not sure if it will solve all the problems
in this case.


 For me it is necessary to work also outside the reference model, but in
 ADL. It is a bit complicated to explain, Maybe read my previous mails.

 So I need a archetype-editor which loads ADL-files, and does not enforce
 or check the referene model. I translate HL7 XSD-files directly to ADL,
 that is to say, I am working on that, and the improvements give hope.

 The thing I miss is to viualize my ADL-files, so I have to check/debug
 them manually, which is hard. I could use the code of the archetype
 editor to change it for my needs, maybe it is not hard to do, but maybe
 it is, as I read about ugly code now.

This would require a feature in the editor to chose an unknown
reference model (which you can give a name) and maybe also specify
that reference model's semantics. It could be really messy working
with unknown reference models, and hard to come up good ways to
display things in a GUI. Since any rm type name can really constrain
any data type (text, boolean, date) even things there aren't any
corresponding controls for.

I have almost finished implementing an ADL-editor, (in the formats
view of the archetype editor) which could be used to edit whatever the
parser accepts, but whenever the ADL is reloaded in the GUI, all
things not corresponding to the openEHR RM (and things that aren't
recognized as editable in the GUI) will disappear. I believe you could
use this ADL-editor as a start, since it marks the line number that
the parser fails on, but the downside is of course that you would have
to do things manually. On the other hand, I don't think it's easy to
create efficient GUIs for unknown reference models, since class and
attribute names always have to be specified, unless of course one
creates a really smart GUI that follows defined RM semantics which
configures the widgets' functionality.

Regards,

Mattias


 Except from my needs, which is at this moment, get a certain HL7 DMIM
 into ADL, I would think it is a good thing when a ADL-editor has a
 possibility for not to enforce the OpenEHR reference model. With all
 respect to the design of that model (clever people work hard on it. I
 sure want to follow that in the near future), I think it can be good if
 it is possible if people have good reasons to do something else with
 ADL, to facilitate that.

 So in this context, I think publishing the code will be very good. I
 hope it will be done in short time.

 regards
 Bert Verhees


 
  2006/8/28, Bert Verhees bert.verhees at rosa.nl:
 
   There is already a Java-based archetype editor available here:
  
   http://svn.openehr.org/knowledge/archetypes/dev/index.html
 
  Too bad, the sourcecode still is not published (last time I
  downloaded
  it), I would like to see some improvements in (f.e.) error-handling.
  It
  does never say why I ADL-file cannot be loaded, it just says it
  cannot
  load it. There are many ADL-files, which it does not load, and I
  think
  for
  good reasons, but it should say why. If it had sourcecode with it, I
  would
  have repaired this, for my own use, because I have need for an
  Archetype-editor which can also be used for debugging purposes.
 
 
  The source code will be published as open source in the future, but
  we at
  Link?ping university haven't decided when that will be.
 
  I think you probably know that publishing source-code in a early stage
  has
  advantages, this is specially true when one wants to publish it anyway.
  It
  allows others to implement features they need, and you can keep control

Archchetype editor on Linux --help

2006-08-28 Thread Mattias Forss
There is already a Java-based archetype editor available here:

http://svn.openehr.org/knowledge/archetypes/dev/index.html

Regards,

Mattias Forss

2006/8/27, minreddy minreddy minreddy at yahoo.com:

 Hello

 I'm thinking to port Archchetype editor to Linux.
 (As myself  don't run windows at all)

 Are there any other dependencies other than ADL parser? (adl_java_lib.dll)

 Any help will be greatly appreciated!


 rgds
 minreddy

 --
 Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates
 starting at 1?/min.
 http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com


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


Archchetype editor on Linux --help

2006-08-28 Thread Mattias Forss
. This was an obvious way to make it easier for a user
to know what part of an archetype he/she is editing. In retrospect, the
current GUI design is not optimal and it could have been designed in several
different ways but we didn't want to compromise the usability of the
program. For example if the entire archetype could be edited in a single
view it could be to many things (buttons, floating toolbars, popup menus,
commands, etc.) to keep in mind for the user.

We have many plans for the editor and there had been discussions of adding
another view in which the user can edit large parts of archetypes in a
completely different manner compared to the current editing process.
Probably a lot of things will happen in the future when other programmers
can join an open source Java archetype editor project.

Regards,

Mattias


These are only some suggestions from a rainy day in region of the South
 Central France

 regards
 Bert Verhees

 
  Regards,
 
  Mattias Forss
 
  2006/8/27, minreddy minreddy minreddy at yahoo.com:
 
  Hello
 
  I'm thinking to port Archchetype editor to Linux.
  (As myself  don't run windows at all)
 
  Are there any other dependencies other than ADL parser?
  (adl_java_lib.dll)
 
  Any help will be greatly appreciated!
 
 
  rgds
  minreddy
 
  --
  Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great
  rates
  starting at 1?/min.
  
 http://us.rd.yahoo.com/mail_us/taglines/postman7/*http://us.rd.yahoo.com/evt=39666/*http://messenger.yahoo.com
 
 
 
 



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


OBSERVATION.state attribute

2006-08-08 Thread Mattias Forss
Hi all,

I have found out that the observation archetypes at the openEHR archetype
repository are not following the specifications for the attribute
OBSERVATION.state.

This attribute is supposed to be a HISTORYITEM_STRUCTURE with existence
set to optional (i.e. 0..1), but for the archetypes at the repository the
state attreibute is of the type ITEM_STRUCTURE which make it equal to the
CARE_ENTRY.protocol attribute. I believe all the observation archetypes that
have the state attribute will have to be fixed...

Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060808/92bfc4fd/attachment.html


Activity class

2006-08-07 Thread Mattias Forss
Hello,

I read that the ACTIVITY class of an INSTRUCTION is LOCATABLE meaning that
it can have a runtime name, but why isn't this supported in Ocean's
archetype editor? Have I missed something. I assume that since an archetype
defines a model of the list of activities we cannot have several activities
with different names, i.e. ACTIVITY[at0001], ACTIVITY[at0002] for the
container attribute, but we should at least have the possibility of
modelling runtime names for the activity, since several instances can exist
in the EHR data. Any comments on this?

I would also be pleased if someone also could answer my previous questions
about composition attributes. Should it be possible to have several
categories for a composition? Should the category attribute always be
present in a composition archetype?

Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060807/8ea56d5e/attachment.html


Composition attributes

2006-08-04 Thread Mattias Forss
Hi all,

I'm currently upgrading the Java Archetype Editor (can be found at
http://www.imt.liu.se/mi/ehr) to support the newest COMPOSITION archetypes
that are available on the openEHR website. For this upgrade I have come upon
a question about some attributes.

The attributes I'm wondering about are the ones that have occurrences 1..1,
meaning they are mandatory. Here I'm interested in the attributes
COMPOSITION.composer and COMPOSITION.category. The composer attribute is of
the type PARTY_PROXY and the category is a DV_CODED_TEXT. Now to my
questions.

Should COMPOSITION archetypes always contain these attributes, e.g. with at
least a line the_attribute matches {*} in the ADL or can these mandatory
attributes be discarded completely in the archetypes? Actually this question
goes for ENTRY subclass archetypes as well, because the
ENTRY.subjectattribute is also mandatory.

If mandatory attributes always should be present in archetypes, it would
mean that attributes such as COMPOSITION.territory also would be modeled but
I believe some of the mandatory attributes aren't supposed to be put in
archetypes as of yet. At least I haven't found this attribute in any
archetypes at the openEHR website.

The reason for this question is actually because I saw that the category
attribute is only modeled with one category code at a time in Ocean's
archetype editor. I think that the attribute could be modeled with several
category codes to chose from when creating the EHR content. I'm not sure if
it's good in a user perspective, but I don't see a reason why it shouldn't
be possible. Any comments?

Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060804/b3c8ecd2/attachment.html


About the Archetype lifecycle state

2006-06-19 Thread Mattias Forss
Hi David,

The lifecycle field is optional in the archetype identifier, see
http://svn.openehr.org/specification/TRUNK/publishing/architecture/am/archetype_system.pdf
.

However, this document is under re-development so I don't know more about
the identifier than what's in the document. Another thing worth mentioning
is that the Support terminology document is not in line with Ocean's editor
and that is why they have more life cycle states than specified. This
probably depends on shortage of specified states, so I guess Ocean just
added a couple of their own. The computable Support Terminology in XML
format should be updated to follow the specifications...

Regards,

Mattias

2006/6/16, David Moner damoca at gmail.com:

 Hello everybody,

 I have a question about the archetype lifecycle state. This may not be a
 fundamental question, but it is important to formalize all the aspects
 regarding to an archetype system. This is what I have found about this topic
 reading through all the documentation.

 First, at the ADL2 document, the section related to the Archetype
 Identifier references to the Archetype System document. There we can find a
 clear description of the Multiaxial Archetype Identifier. Well, clear except
 the life_cycle field. Reading the provided examples we get two possible
 values:
 * draft
 * in_test

 Looking for a more formal definition I read the Version Lifecycle State
 section at the Support Terminology document. Although it seems that is
 referred to another question (the revision of an archetype item), it is the
 only mention to the lifecycle in the entire document. This is what appears
 there.
 * complete: Item is complete at time of committal.
 * incomplete: Item is incomplete at time of committal, in the view of the
 author. Further editing or review needed before its status is set to
 finished.
 * deleted: Item has been logically deleted.
 * draft: DEPRECATED.
 * active: DEPRECATED.
 * inactive: DEPRECATED.
 * awaiting approval: DEPRECATED.

 Finally, for my surprise, it is the case of the Ocean Archetype Editor
 (Version 0.99.5c Alpha). We can define with it something called
 Authorship lifecycle with these possible values:
 * Not set(en)
 * Initial(en)
 * Author draft(en)
 * Author draft(en)
 * Committee draft(en)
 * Organisation draft(en)
 * Submitted(en)
 * Candidate(en)
 * Approved candidate(en)
 * Published(en)
 * Rejected(en)
 * Obsolete(en)

 Furthermore, these values are recorded at the 
 description.lifecycle_statefield of the ADL but make no change at the 
 archetype identifier (maybe a
 bug?).

 This is the situation that I have found when studying in depth such a
 simple thing as the lifecycle state of an archetype. As I said at the
 beginning, this may not seem a fundamental problem at this stage of
 development, but it should be revised in order to get a more coherent
 archetype system and really useful archetype repositories (to assure that
 the archetype that they contain are reliable).

 This takes me to a more interesting question. Is it defined any policy for
 archetype management related to their lifecycle state? I haven't found
 anything about this topic. For example, this could be a very simple policy.

 * initial: The archetype is still in an embryonic stage. It makes no sense
 to validate it because its definition is not finished.

 * draft: Syntactically correct (from a direct ADL editing point of view or
 just with all the definition tree finished), but not semantically correct
 according to the reference model or its parent archetype (that is, the
 archetype doesn't respect the reference model or parent archetype
 constraints). It may also lack of terminology bindings.

 * test: Syntactically and semantically correct in the terms stated before.
 State for testing whether the EHR extracts based on it are what we want or
 need. In other words, at this state we are testing if the archetype fulfils
 the clinical concept that it is being defined.

 * final: Only an archetype in its final state should be stored at a public
 archetype repository. It is a valid archetype approved by a commission of
 experts and its ready to be used by any institution.


 This would be an interesting point for a deeper study.


 --
 David Moner Cano
 ITACA - BET - Grupo de Inform?tica Biom?dica
 http://gim.upv.es

 Universidad Polit?cnica de Valencia (UPV)
 Camino de Vera, s/n, Edificio G-8, Acceso 3, 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/20060619/f3562b13/attachment.html


Specification of ITEM_TABLE

2006-05-17 Thread Mattias Forss
2006/5/17, Thomas Beale Thomas.Beale at oceaninformatics.biz:

 Sam Heard wrote:
  Mattias
 
  This is a good discussion with some issues that need to be taken
  further. The problem I face as a clinician is that tables in medicine
  are often presented with the same data types across the row - and with
  the values in the first column as column headings. This is a standard
  pivot table in Excel or Access and is a common data presentation issue
  - which SQL can perform.
 I don't have a problem with the rotate idea - if clinical people want it
 and it makes sense, then it is needed. But - most likely need add an
 attribute to the reference model. Here's the problem if we don't:
 - archetypes only constraint data that is created
 - whether a table is rotated or not becomes important at display /
 interpretation time of the _data_, not the archetype.
 - so any mention of the rotate attribute in the archetype must lead to
 some flag being set in the data in order to get the behaviour at runtime

 The only way out  of this is that we take the line that the archetype
 must always be available at the time the data are used, in whatever
 circumstance. Technically it isn't hard to engineer this in nice
 controlled OO environments, but consider that the data might be
 processed into various kinds of good-quality or not-so-good quality XML,
 HTML, PDF, other custom formats, where the corresponding archetypes
 might not be easily available or needed. I would guess that many
 applications should be able to process e.g. path results as openEHR
 structures without needing to look up the archetype. So my conclusion is
 that we should always ensure that the data can stand alone and remain
 meanggul.


I cannot agree more with that, so the best thing to do is probably to
include the attribute into the RM class if there is a need for a rotated
attribute. However, at this point I don't see that there is a huge need for
it since the data could always be presented in a pivot table but then some
might disagree with me, I'm not the clinician here.

Now - in the case of reflexes, visual acuity and other tabular data, one
 (presumably) could argue that the data are perfectly comprehensible even
 with no 'is_rotated flag set; others might argue the opposite. I
 personally don't see a problem with including a flag in the RM
 ITEM_TABLE class, but we need to do it now.
 
  I do not believe it is possible to determine from data alone when it
  is appropriate to rotate a table for presentation. This is why I have
  pushed to have it in the editor. I think a lot of clinicians will find
  it difficult to accept information in unrotated form as it is not how
  they do it now for many situations. There are many situations where
  this is not the case as well.
 
  I agree that the right thing to do is put this in ADL if we want to -
  we could just say we leave it to the display - but I think this will
  mean clinicians find it hard to build the tables they need. We can
  experiment some more with this as it is an ADL issue rather than a
  reference model issue. I would suggest that you ignore it if you like
  for the moment (with the result of frustrating the clinicians) or take
  the attribute as it is and agree to put it into ADL.
 do you mean the reference model Sam - it can't be put into ADL unless
 we create a C_ITEM_TABLE type, which I don't think we should have to
 do


There should probably be enough to use the attribute in the ITEM_TABLE. What
I don't see at this point is if the most common way to display table data is
pivot tables, then will there ever be cases when the data must explicitly be
shown in an unrotated form?

But what about the other problem Mattias pointed out - we don't have an
 attribute key-columns in ITEM_TABLE either. Previously we specified
 that if there was a (key) in the name string of a column, it would be
 a key column, but this is open to abuse by buggy software. The
 alternative is to add another attribute into ITEM_TABLE that contains a
 list of key column indexes or names. But I would like to be sure that
 this feature is really needed in table archetypes...is it?


If one thinks about an ordinary SQL query to some database that contains an
inventory of for example some equipment, then there might occur several
records of the same name and therefore these must be separately identifiable
with unique keys in order to get the specific equipment from the database.

Then what options are there in ADL? If we know that an ITEM_TABLE always has
some column that is uniqe then that should be mentioned as the key so that
the process of creating the RM data will not allow creation of data that
don't have uniqe identifiers. It might even be the case that there have to
exist several keys but not as long as there isn't a need for column headers
with the same name.

Regards,

Mattias

- thomas

 --

 ___
 CTO Ocean Informatics 

Specification of ITEM_TABLE

2006-05-16 Thread Mattias Forss
2006/5/16, Sam Heard sam.heard at oceaninformatics.biz:

  Mattias

  I looked at this document 
 http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishing/architecture/rm/data_structures_im.pdf
 and it says that ITEM_TABLE.columns attribute has been changed to rows in
 the amendment record (CR-000207). However, the change hasn't actually been
 commited in the document, so maybe the change was lost somehow...

  rotated is an archetype only attribute which allows rotated tables to be
  displayed - this is like a pivot table in Excel.
 

 Is this attribute documented somewhere? I don't really understand why this
 attribute is allowed under ITEM_TABLE when it is not specified for the
 actual data structure.

 If a table is rotated it means that the values in one column become
 columns headings, with the columns becoming rows. E.g.

 Reflexes:
 laterality   knee ankle
 left   ++ +/-
 right ++

 When this is rotated it becomes:
left right
 knee ++ +
 ankle +/-+

 This is called a pivot table and allows rows of the same data type rather
 than columns which is the usual. This is more than display although the
 semantics are not effected. Infact, all tables in the editor are rotated at
 the moment as this is by far the most common way of presenting data in
 medicine.


Thanks for your answer Sam,

I have another question about this rotated attribute. Why do we need it when
it is only a question of how to display the actual data contents? Shouldn't
that be decided by an actual user rather than an attribute? I don't think
the ADL contents and underlying structure of an ITEM_TABLE should change
even if it were possible to switch between pivot tables and ordinary tables.

Now to the important question that I'd been thinking about. The
specifications of ITEM_TABLE say that the rows attribute should have a
ListCLUSTER as children but I don't see the point with this. Why do we
need several clusters as rows since a table with rows that each have
different column headings is impossible to create? If the rows attribute had
ListITEM as children it would make much more sense. Also, It wouldn't be a
bad idea to have rows and column headings as separate attributes instead of
having the column headings of the table in the first element under the rows
attribute.

By the way, I don't think it's usable to show the table data types as
columns since that would probably only confuse the user compared to how tree
and list are displayed. So for this part I agree with you.

Number of key columns is in the new specifications.
 
  This allows unique keys and means that the values of the combined keys
 have to be unique - if this is not set then there is no restriction on
 uniqueness.


Why is this attribute's leaf value an integer? I don't understand this part.
Does this mean that if the user creates two rows with the same name, for
example knee then the uniqueness wouldn't be preserved and then another
key column would have to be added... Maybe the table should always have an
extra column that contain unique keys (as for the ordinal constraint).

Hoping for a quick answer.

Cheers,

Mattias

 This attribute is also missing in the document I mentioned above. By the
 way, could you explain this attribute to me? Should the users of an
 archetype editor be able to change the existence and/or contents of this
 attribute with some GUI component or should it be done automatically
 whenever new columns are added that contain actual data (ELEMENTs)?

 Tom will be getting to this I think as I did an edit some time ago..Sam


 Cheers,

 Mattias

  Hope this is OK.
 
  Cheers, Sam
 
 
 
  Mattias Forss wrote:
 
  Hello,
 
  I'm trying to add support for ITEM_TABLE in the Java Archetype Editor
  and I have looked at the only archetype I've found that contains a data
  structure like this. It is
  openEHR-EHR-OBSERVATION.tendon_babinski_reflexes.v1.adl and it can be
  found here http://oceaninformatics.biz/archetypes/. When I compared the
  attributes for the ITEM_TABLE in the data structures specifications (found
  here 
  http://svn.openehr.org/specification/TRUNK/publishing/architecture/rm/data_structures_im.pdf
  ) with the ones that existed in the archetype I saw that the attributes
  had nothing in common. Maybe someone can explain to me how the ITEM_TABLE
  look like once and for all :-)
 
  The archetype looks like this:
 
   ITEM_TABLE[at0003] matches { -- structure
 
   COMMENT: The attributes below adhere to the ITEM_TABLE that you get
  when you create a table structure in the Ocean Archetype Editor, but I
  haven't seen any of these three attributes specified anywhere. I would be
  glad if anyone could point them out to me.
 
  rotated matches {True}
  number_key_columns matches {|1|}
  rows cardinality matches {0..1; unordered} matches {
  CLUSTER[at0050

Specification of ITEM_TABLE

2006-05-16 Thread Mattias Forss
2006/5/16, Sam Heard sam.heard at oceaninformatics.biz:

  Mattias

 Quick response..

 If a table is rotated it means that the values in one column become
  columns headings, with the columns becoming rows. E.g.
 
  Reflexes:
  laterality   knee ankle
  left   ++ +/-
  right ++
 
  When this is rotated it becomes:
 left right
  knee ++ +
  ankle +/-+
 
  This is called a pivot table and allows rows of the same data type
  rather than columns which is the usual. This is more than display although
  the semantics are not effected. Infact, all tables in the editor are rotated
  at the moment as this is by far the most common way of presenting data in
  medicine.
 

 Thanks for your answer Sam,

 I have another question about this rotated attribute. Why do we need it
 when it is only a question of how to display the actual data contents?

 Well, we do not think it is only a matter of display - although it could
 be seen as such. If the attribute is not present then it is not possible to
 determine whether to display it as a pivot or not. The property of
 DV_QUANTITY is only in the archetype as well and determines valid units - it
 is a similar sort of issue.


Hi again Sam,


I wouldn't mind to ignore and not save this attribute until the different
display modes are supported in the Java archetype editor. A missing rotated
attribute should probably not cause errors for the Ocean archetype editor?

Now to the important question that I'd been thinking about. The
 specifications of ITEM_TABLE say that the rows attribute should have a
 ListCLUSTER as children but I don't see the point with this. Why do we
 need several clusters as rows since a table with rows that each have
 different column headings is impossible to create? If the rows attribute had
 ListITEM as children it would make much more sense. Also, It wouldn't be a
 bad idea to have rows and column headings as separate attributes instead of
 having the column headings of the table in the first element under the rows
 attribute.

 Well, each row is a set of elements (as a cluster) - the table is a
 special case in that each cluster can only have elements (invariant). Each
 row is a cluster - which is in effect the definition of each column. So you
 need a list of clusters to get rows.


So then I guess the ADL is constructed according to how the first table
looks like in your example above (since pivot should not affect the
structure)? In that case I believe that the ITEM_TABLEs that are created by
the Ocean editor aren't following the specifications, since no matter how
many rows (e.g. left, right) you add, they will only be contained within one
cluster only. There is accordingly no way to create an ITEM_TABLE that has
more than one cluster under the rows attribute. Furthermore, each row that
is added should create a cluster that has an at-code with its name and in
the pivot display mode the clusters names will be the column headings.
Right?

Hope we can sort this out.

Regards,

Mattias

PS. You forgot my question about key columns. See below.

By the way, I don't think it's usable to show the table data types as
 columns since that would probably only confuse the user compared to how tree
 and list are displayed. So for this part I agree with you.

 We can take this a lot further with time and more power in the archetype
 editor. Cheers, Sam


 Number of key columns is in the new specifications.
  
   This allows unique keys and means that the values of the combined keys
  have to be unique - if this is not set then there is no restriction on
  uniqueness.
 

 Why is this attribute's leaf value an integer? I don't understand this
 part. Does this mean that if the user creates two rows with the same name,
 for example knee then the uniqueness wouldn't be preserved and then
 another key column would have to be added... Maybe the table should always
 have an extra column that contain unique keys (as for the ordinal
 constraint).

 Hoping for a quick answer.

 Cheers,

 Mattias

This attribute is also missing in the document I mentioned above. By
  the way, could you explain this attribute to me? Should the users of an
  archetype editor be able to change the existence and/or contents of this
  attribute with some GUI component or should it be done automatically
  whenever new columns are added that contain actual data (ELEMENTs)?
 
  Tom will be getting to this I think as I did an edit some time ago..Sam
 
 
  Cheers,
 
  Mattias
 
   Hope this is OK.
  
   Cheers, Sam
  
  
  
   Mattias Forss wrote:
  
   Hello,
  
   I'm trying to add support for ITEM_TABLE in the Java Archetype Editor
   and I have looked at the only archetype I've found that contains a data
   structure like this. It is
   openEHR-EHR-OBSERVATION.tendon_babinski_reflexes.v1.adl and it can be
   found here http://oceaninformatics.biz

Specification of ITEM_TABLE

2006-05-16 Thread Mattias Forss
2006/5/16, Thomas Beale Thomas.Beale at oceaninformatics.biz:

 Mattias Forss wrote:
 
 
  2006/5/16, Sam Heard sam.heard at oceaninformatics.biz
  mailto:sam.heard at oceaninformatics.biz:
 
 
  Well, we do not think it is only a matter of display - although it
  could be seen as such. If the attribute is not present then it is
  not possible to determine whether to display it as a pivot or not.
  The property of DV_QUANTITY is only in the archetype as well and
  determines valid units - it is a similar sort of issue.
 
 yes, but that's only because we have an explicit custom type called
 C_QUANTITY that supplies the property attribute in the archetype.
 Otherwise this would not be possible
 
  Hi again Sam,
 
 
  I wouldn't mind to ignore and not save this attribute until the
  different display modes are supported in the Java archetype editor. A
  missing rotated attribute should probably not cause errors for the
  Ocean archetype editor?
 This cannot work as explained above - either the attribute has to exist
 in the RM class or else we have to create a custom type like
 C_ITEM_TABLE for it. That's the general rule.


Hi Tom,

I agree with you. Either the rotated attribute is removed from the
archetypes or added in the ITEM_TABLE or a custom type C_ITEM_TABLE.


  Now to the important question that I'd been thinking about. The
  specifications of ITEM_TABLE say that the rows attribute should
  have a ListCLUSTER as children but I don't see the point with
  this. Why do we need several clusters as rows since a table with
  rows that each have different column headings is impossible to
  create? If the rows attribute had ListITEM as children it would
  make much more sense.
 
 I don't understand thatthe current specification says that each row
 is logically a CLUSTER (of ELEMENTs). Of course there are more efficient
 ways to represent tables, but we have stuck to the tree structure used
 in CEN EN13606 - it is interoperable and simple to understand.


Yes, I guess we're stuck for a while then...

So you shouldn't worry that this structure could technically allow different
 column names on different rows, the software will not allow that. You
 get a bit of redundancy in using sub-optimal structures for
 interoperability purposes.


I think we keep flipping around things here. I take it from the point of
creating the actual RM data. What I think you mean is that if someone is
clumsy it would be quite easy to create two rows with the same column name
(not heading), e.g. Left? This is quite a flaw but as long as the software
(kernel) won't allow this creation it's acceptable.


  So then I guess the ADL is constructed according to how the first
  table looks like in your example above (since pivot should not affect
  the structure)? In that case I believe that the ITEM_TABLEs that are
  created by the Ocean editor aren't following the specifications, since
  no matter how many rows ( e.g. left, right) you add, they will only be
  contained within one cluster only. There is accordingly no way to
  create an ITEM_TABLE that has more than one cluster under the rows
  attribute.
 In the archetype you would only have one row, since it is a model for
 numerous rows in the data...does that answer the question?


Yes it does, but not how the column names/headings (depends what you mean if
it's displayed as a pivot table or not) are modelled in archetypes, e.g.
left, right for a reflexes archetype. They are modelled as the first
ELEMENT in Ocean's archetypes and it contains a CODED_TEXT that constrain
the headings. Is this the best way to represent headings? I don't understand
the logic behind it since they can be mistaken for actual table data which
comes after the first element. However, column names/headings are table data
too but it's bad design to assume this comes first in order to show the
table in an archetype editor. Maybe I could take a different approach than
actually showing a real table in the GUI...


 Furthermore, each row that is added should create a cluster that has
  an at-code with its name and in the pivot display mode the clusters
  names will be the column headings. Right?
 this is getting mixed up between rows in an archetype (don't forget an
 archetype is not data, it is a model of data) and the actual data that
 conform to the archetype - which will of course have 1 rows in general.


No I haven't forgotten about that but sometimes it's easy to think a step
ahead. :-)

Regards,

Mattias

- thomas



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


Specification of ITEM_TABLE

2006-05-12 Thread Mattias Forss
2006/5/12, Sam Heard sam.heard at oceaninformatics.biz:

  Mattias
 This is a mistake in the 1.0 specification and it is has been updated on
 the website 1.0.1 specs. The attribute of a table is rows - each row is a
 cluster of elements (it was mistakenly documented as columns).


Hi Sam,

I looked at this document
http://svn.openehr.org/specification/BRANCHES/Release-1.1-candidate/publishing/architecture/rm/data_structures_im.pdfand
it says that ITEM_TABLE.columns attribute has been changed to rows in
the amendment record (CR-000207). However, the change hasn't actually been
commited in the document, so maybe the change was lost somehow...

rotated is an archetype only attribute which allows rotated tables to be
 displayed - this is like a pivot table in Excel.


Is this attribute documented somewhere? I don't really understand why this
attribute is allowed under ITEM_TABLE when it is not specified for the
actual data structure.

Number of key columns is in the new specifications.


This attribute is also missing in the document I mentioned above. By the
way, could you explain this attribute to me? Should the users of an
archetype editor be able to change the existence and/or contents of this
attribute with some GUI component or should it be done automatically
whenever new columns are added that contain actual data (ELEMENTs)?

Cheers,

Mattias

Hope this is OK.

 Cheers, Sam



 Mattias Forss wrote:

 Hello,

 I'm trying to add support for ITEM_TABLE in the Java Archetype Editor and
 I have looked at the only archetype I've found that contains a data
 structure like this. It is
 openEHR-EHR-OBSERVATION.tendon_babinski_reflexes.v1.adl and it can be
 found here http://oceaninformatics.biz/archetypes/. When I compared the
 attributes for the ITEM_TABLE in the data structures specifications (found
 here
 http://svn.openehr.org/specification/TRUNK/publishing/architecture/rm/data_structures_im.pdf)
 with the ones that existed in the archetype I saw that the attributes had
 nothing in common. Maybe someone can explain to me how the ITEM_TABLE look
 like once and for all :-)

 The archetype looks like this:

  ITEM_TABLE[at0003] matches { -- structure

  COMMENT: The attributes below adhere to the ITEM_TABLE that you get
 when you create a table structure in the Ocean Archetype Editor, but I
 haven't seen any of these three attributes specified anywhere. I would be
 glad if anyone could point them out to me.

 rotated matches {True}
 number_key_columns matches {|1|}
 rows cardinality matches {0..1; unordered} matches {
 CLUSTER[at0050] occurrences matches {0..2} matches { -- row
 items cardinality matches {7; ordered} matches {

   COMMENT: This first element has a CODED_TEXT which contains coded
 terms that are represented as columns in the Ocean Archetype Editor.

 ELEMENT[at0012] occurrences matches {0..1} matches { --
 row_head
 value matches {
 CODED_TEXT matches {
 code matches {
 [local::
 at0011, -- Left
 at0013] -- Right
 }
 }
 }
 }

  COMMENT: This element and all succeding elements are represented as rows
 in the Ocean Archetype Editor.

 ELEMENT[at0004] occurrences matches {0..1} matches { --
 Biceps
 value matches {
 ORDINAL matches {
 value matches {
 ...
 }
 }
 }
 }
 -


 But in the specification the ITEM_TABLE it looks like this:

 CLASS ITEM_TABLE
 Purpose
 Logical table data structure, in which columns are named and ordered. Some
 columns
 may be designated 'key' columns, containing key data for each row, in the
 manner of relational tables. This allows row-naming, where each row
 represents
 a body site, a blood antigen etc. All values in a column have the same
 data type.
 Use Used to represent any data which is logically a table of values, such
 as blood
 pressure, most protocols, many blood tests etc.
 MisUse Not used for time-based data, which should be represented with the
 temporal
 class HISTORY. The table may be empty.

 Entry type.
 Inherit ITEM_STRUCTURE
 Attributes
 0..1 columns: ListCLUSTER
 Physical representation of the table
 as a list of CLUSTERs, each containing
 the data of one column of the
 table.


 Hope someone can help me.

 Regards,

 Mattias Forss


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

 CEO and Clinical Director
 Ocean Informatics Pty. Ltd.
  http://www.oceaninformatics.biz/Adjunct Professor, Health Informatics,
 Central Queensland University
 Senior Visiting Research Fellow, CHIME, University College London

Specification of ITEM_TABLE

2006-05-11 Thread Mattias Forss
Hello,

I'm trying to add support for ITEM_TABLE in the Java Archetype Editor and I
have looked at the only archetype I've found that contains a data structure
like this. It is openEHR-EHR-OBSERVATION.tendon_babinski_reflexes.v1.adl and
it can be found here http://oceaninformatics.biz/archetypes/. When I
compared the attributes for the ITEM_TABLE in the data structures
specifications (found here
http://svn.openehr.org/specification/TRUNK/publishing/architecture/rm/data_structures_im.pdf)
with the ones that existed in the archetype I saw that the attributes had
nothing in common. Maybe someone can explain to me how the ITEM_TABLE look
like once and for all :-)

The archetype looks like this:

ITEM_TABLE[at0003] matches { -- structure

 COMMENT: The attributes below adhere to the ITEM_TABLE that you get
when you create a table structure in the Ocean Archetype Editor, but I
haven't seen any of these three attributes specified anywhere. I would be
glad if anyone could point them out to me.

rotated matches {True}
number_key_columns matches {|1|}
rows cardinality matches {0..1; unordered} matches {
CLUSTER[at0050] occurrences matches {0..2} matches { -- row
items cardinality matches {7; ordered} matches {

 COMMENT: This first element has a CODED_TEXT which contains coded terms
that are represented as columns in the Ocean Archetype Editor.

ELEMENT[at0012] occurrences matches {0..1} matches { --
row_head
value matches {
CODED_TEXT matches {
code matches {
[local::
at0011, -- Left
at0013] -- Right
}
}
}
}

 COMMENT: This element and all succeding elements are represented as rows
in the Ocean Archetype Editor.

ELEMENT[at0004] occurrences matches {0..1} matches { --
Biceps
value matches {
ORDINAL matches {
value matches {
...
}
}
}
}
-


But in the specification the ITEM_TABLE it looks like this:

CLASS ITEM_TABLE
Purpose
Logical table data structure, in which columns are named and ordered. Some
columns
may be designated 'key' columns, containing key data for each row, in the
manner of relational tables. This allows row-naming, where each row
represents
a body site, a blood antigen etc. All values in a column have the same data
type.
Use Used to represent any data which is logically a table of values, such as
blood
pressure, most protocols, many blood tests etc.
MisUse Not used for time-based data, which should be represented with the
temporal
class HISTORY. The table may be empty.

Entry type.
Inherit ITEM_STRUCTURE
Attributes
0..1 columns: ListCLUSTER
Physical representation of the table
as a list of CLUSTERs, each containing
the data of one column of the
table.


Hope someone can help me.

Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20060511/d69c8b7c/attachment.html


New alpha of release 1.0 archetype editor

2006-04-21 Thread Mattias Forss
Hi Sam,

I've been looking at the openEHR archetype profile specification and I can
see that for the C_DV_QUANTITY class the property attribute should be a data
type called DV_CODED_TEXT. However, I haven't seen the [terminology::code]
representation of a coded text in the archetypes that are packed with the
latest version of the archetype edtior on the Ocean site. Also, I haven't
found a version called 1.0 that you say, the latest I could find is 0.99.5b.


Instead of the [terminology::code] representation I have seen a string
representation of the property e.g. pressure. I think it would be good if
the properties are coded according to the openEHR support terminology (
http://svn.openehr.org/specification/TAGS/Release-1.0/publishing/architecture/computable/terminology/terminology.html)
so that they become more language independent.

Hope you can give me some clarity in this issue.

Cheers,

Mattias

 Hi Everyone

I have posted a new exe of the release 1.0 archetype editor on the Ocean
site with sample archetypes.a little more to do but it is getting very
close. I would appreciate testing and comments back via the reporting menu
item on the editor.

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

CEO and Clinical Director
Ocean Informatics Pty. Ltd.
 http://www.oceaninformatics.biz/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/20060421/a14d0de9/attachment.html


Question about Composition archetypes

2006-04-12 Thread Mattias Forss
Yes they are still 0.97 archetypes, but shouldn't they contain EVENT_CONTEXT 
according to the old 0.9 specifications? Anyway, I'm glad that the release 1.0 
archetypes are being published soon. I've had a look at some of the new 
COMPOSITION archetypes and they seem to follow the specifications better.

Thanks,

Mattias
  - Original Message - 
  From: Sam Heard 
  To: openehr-technical at openehr.org 
  Sent: Wednesday, April 12, 2006 2:27 PM
  Subject: Re: Question about Composition archetypes


  Mattias
  The Ocean archetypes are still 0.97 - we have updated all of them and will 
have the release 1.0 tools and archetypes available very shortly. 
  The editor, alpha, on the Ocean site will create them in the release 1.0 form.
  Cheers, Sam

  Mattias Forss wrote: 
Hello, 

I've just compared some Composition archetypes from Ocean Informatics with 
the specifications at openEHR.org and I have some questions. The specifications 
from 0.9 to 1.0 all agree about one thing for COMPOSITION classes and that is 
that the attribute context in the COMPOSITION class should point to a class 
called EVENT_CONTEXT. 

However, this is not the case for the archetypes I've seen so far. Instead, 
the context attribute in the archetypes matches subclasses of ITEM_STRUCTURE 
e.g. ITEM_TREE. These classes should instead be referred by an optional 
attribute called other_context inside the EVENT_CONTEXT class. Can anyone 
please explain to me why this is the case? 

Regards, 

Mattias 




  -- 

  Dr. Sam Heard
  MBBS, FRACGP, MRCGP, DRCOG, FACHI
  CEO and Clinical Director
  Ocean Informatics Pty. 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/20060412/86e6edde/attachment.html


dictionary

2006-02-09 Thread Mattias Forss
Hi Philippe,

Well I started in the domain 20 weeks ago and I didn't know anything
back then (in the old days). I'm currently on my way of finishing my
master's thesis, so I cannot say I have the experience to answer your
questions ;-)

PS. Your questions are sensible though, no offense

Cheers,

Mattias

 Hi Mattias,
 
 The more I work on medical information systems, and the less I 
 believe 
 that the structure is more important than the terminology.
 
 To be a little bit more accurate, my opinion is that any health 
 information system is there to tell stories.
 I started in the domain 20 years ago with endoscopy reports : the 
 story 
 to tell was a 10 to 20 minutes medical act. Now, for many reasons 
 (but 
 it would be too long to explain it there), the big thing is 
 continuity 
 of care, and the challenge is to be able to tell someone's whole 
 medical 
 journey.
 
 So, how can we tell these stories (from a 10 minutes encounter to 
 the 
 whole life and the fighting strategies to remain as healthy as 
 possible) ?
 The answer is rather simple (at least to express) : we need to make 
 sentences. And to make sentences requires a grammar (the 
 discourse 
 structure) and a vocabulary (to populate the discourse structure).
 
 Is it possible to have a discourse structure that can host any 
 terminology ?
 My personal answer is 'no', but maybe I try to tell more complex 
 stories 
 than you intend, or maybe you have a more powerful technological 
 solution.
 At large, I can ask you a question : do you think that you could 
 communicate using the english grammar and let people choose any 
 other 
 language's vocabulary to populate it ?
 You can answer that natural language is more complex that formal 
 language, but I can say that the more complex the story you intend 
 to 
 tell and the closer they need to be.
 
 Regards,
 
 Philippe
 
  The important thing in openEHR archetypes is the structure of 
 them. As 
  long as there is a structure that is equal for both Weight and 
  Bodyweight, it shouldn't be a problem. The allowed information 
 model 
  structures in archetypes is what really matters and the terms can 
  always be bound to external terminologies to create a mutual 
  understanding.
 
  Regards,
 
  Mattias Forss
 
 
 
 
 



dictionary

2006-02-08 Thread Mattias Forss

- Original Message - 
From: Bert Verhees bert.verh...@rosa.nl
To: openehr-technical at openehr.org
Sent: Tuesday, February 07, 2006 11:32 PM
Subject: dictionary


 Hi,

 I have a question, maybe a stupid question, don't hesitate to tell me (I 
 can handle that), as long as you give the answer with it.

 Today I had the opportunity to have a good look at HealthOne, a GEHR 
 system, many on this list will know it.

 One thing looked smart to me.
 They have a kind of Dictionary with 6000 words, (also these words are 
 possibly related to each other, that makes it an extra strong feature). 
 The relationship between the words is not hard coded and is not stored in 
 medical-records, so if the relationship changes, nothing breaks, even if a 
 word from the dictionary will be deleted (which will not easily happen), 
 nothing breaks.

 The advantage is that always the same word is used when storing something, 
 f.e. Weight

 Maybe OpenEhr has such a feature also. or does it depend on archetypes to 
 force the same semantics. This seems dangerous to me, because when 
 exchanging medical information, in an other Archetype weight can be 
 defined as another word, a synonym, f.e. Bodyweight

 If one has an archetype which calculates the BMI (body mass index), it 
 could not work on another OpenEhr system that has used (some time) another 
 archetype to store the Weight.

 Or am I completetely misunderstanding the issue, and is it in fact a 
 non-issue.

 Please explain to me.

 Thanks in advance

 Kind regards
 Bert Verhees


Hi Bert,

I don't think this is a big issue. The important thing in openEHR archetypes 
is the structure of them. As long as there is a structure that is equal for 
both Weight and Bodyweight, it shouldn't be a problem. The allowed 
information model structures in archetypes is what really matters and the 
terms can always be bound to external terminologies to create a mutual 
understanding.

Regards,

Mattias Forss 





Missing references in documentation

2005-11-29 Thread Mattias Forss
Hello,

I cannot find the references specified in section 2.1 of this document, can 
anyone help me find these please?

Purpose of Archetypes and Templates Archetype Definitions and Principles
Rev 0.6 
http://svn.openehr.org/specification/BRANCHES/Release-1.0-candidate/publishing/architecture/am/archetype_principles.pdf

Content:
2 Purpose of Archetypes and Templates

   2.1 Purpose of Archetypes
   Archetypes are created for a number of purposes (described in detail in [1] 
and [3]), summarised here


Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20051129/116d3407/attachment.html


Question about Ocean's Archetype Editor

2005-11-14 Thread Mattias Forss
Hello,

I'm trying to figure out which reference model Ocean's achetype editor follows. 
I have an example regarding the data type Quantity, see below. There seems to 
be great differences depending on what reference model the archetypes follow.

Background:
I'm trying to figure out how to get the property of a quantity but this doesn't 
seem to be supported by the java kernel I'm using, so I'm asking if anyone has 
a good idea on how to support this in other ways.

The current problem is that the java adl parser returns a CQuantity object 
whenever it recognizes the string quantity, but when it's something else, 
e.g. C_QUANTITY, it returns a CComplexObject.

Idea:
I could solve this by looking up the RM type names and the attribute names to 
figure out if the ComplexObject represents something that can be interpreted as 
a Quantity data type. In this way I can support the various known structures of 
the data type that currently exist. Any suggestions?

By the way, shouldn't the property attribute represent a CODED_TEXT object that 
can be linked to a local or external terminology? This seems to be the case 
according the specifications and it goes all the way back to version 0.9 that I 
think the current version of the java kernel supports (partly at least). I 
would really like to know what RM Ocean's archetypes follows.


Ocean Archetype Editor archetype:

C_QUANTITY  
 property = Acceleration 
 list =  
  [1] =  
   units = cm/s2 
   magnitude = | 0.0| 

  [2] =  
   units = ft/s2 
   magnitude = |= 0.0| 

   
 


Ref impl java kernel archetype:

QUANTITY matches {
 magnitude matches {|0.0|}
 units matches {cm/s2}
}

Acode ADLParser test achetype:

REAL_QUANTITY matches {
 property matches {Acceleration}
 units cardinality matches {1} matches {
  UNIT matches {
   unit_string matches {cm/s2}
   magnitude matches {| 0.0|}
  }
  UNIT matches {
   unit_string matches {ft/s2}
   magnitude matches {|= 0.0|}
  }
 }
}


Regards,

Mattias Forss
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20051114/6a5af7f2/attachment.html


Question about Ocean's Archetype Editor

2005-11-14 Thread Mattias Forss

- Original Message - 
From: Thomas Beale thomas.be...@oceaninformatics.biz
To: openehr-technical at openehr.org
Sent: Monday, November 14, 2005 6:15 PM
Subject: Re: Question about Ocean's Archetype Editor


 Mattias Forss wrote:

 Hello,
  I'm trying to figure out which reference model Ocean's achetype editor 
 follows. I have an example regarding the data type Quantity, see below. 
 There seems to be great differences depending on what reference model the 
 archetypes follow.

 I pretty sure that the reference model is the same in all cases. There is 
 only one definition of DV_QUANTITY in the openEHR reference model, and as 
 far as I know, only one assumed in archetypes.

Thank you for your answer Thomas,

I bet the reference model is the same, but do the Ocean archetype editor 
fully conform to the reference model? Take a look at the ITEM_TREE class 
definition for example. You will see that the correct attribute for the 
physical representation of the tree will be either representation for 
version 0.9 of the specifications or root for version 0.95+ of the 
specifications. However, the Ocean archetype editor does not use neither of 
these attributes, instead it uses items but maybe this is correct if the 
editor conforms to an earlier version of the specifications than 0.9. Anyone 
who knows about this?

 However, it may look different. There are two ways of representing 
 constraints on Quantity in an archetype. One is to use the 'standard' 
 method of creating C_COMPLEX_OBJECTs which mimic the sructure of the 
 QUANTITY class; the other is to use an instance of C_QUANTITY, which is a 
 custom replacement type which provides a better model of the possible 
 constraint on QUANTITY (while still assuming the same underlying 
 definition of QUANTITY).

This is interesting, but I'm getting slightly confused about the naming 
here. Could you explain more and tell me the difference between QUANTITY, 
C_QUANTITY and C_DV_QUANTITY. It is probably a lot easier to grasp for 
someone like you.

I believe the C_QUANTITY corresponds to the CQuantity (inherits from 
CDomainType) class in the java reference kernel, and the parser gives me 
this object if the archetype looks like Q1. Nevertheless, I'm starting to 
think that this isn't right and that the parser instead should give me the 
CQuantity object if the archetype looks like Q2. What do you think? By the 
way, should there exist a class called Quantity in the java kernel or maybe 
it is sufficient with the CComplexObject (that mimics the structure of the 
QUANTITY class)?

Q1:

QUANTITY matches {
 magnitude matches {|0.0|}
  units matches {cm/s2}
}

Q2:

C_QUANTITY 
  property = Acceleration
  list = 
   [1] = 
units = cm/s2
magnitude = | 0.0|

   [2] = 
units = ft/s2
magnitude = |= 0.0|

   
  



 Background:
 I'm trying to figure out how to get the property of a quantity but this 
 doesn't seem to be supported by the java kernel I'm using, so I'm asking 
 if anyone has a good idea on how to support this in other ways.

 the property attribute is defined only in the type C_QUANTITY. It provides 
 a convenient way to capture the constraint that you want only length or 
 pressure, without saying which unit. If only the property is set in the 
 C_QUANTITY in the archetype, then when the kernel checks to see if an 
 instance of DV_QUANTITY conforms to the C_QUANTITY in the archetype, it is 
 up to the C_QUANTITY to carry out this check in sensible way, i.e. by 
 determining what property the actual units measure.

I'm not getting this... as an example, do you mean that a C_QUANTITY with 
its property set to length is supposed to check if meters or inches in 
the DV_QUANTITY conforms to this C_QUANTITY? How is it supposed to do that, 
it seems to me that the C_QUANTITY then must know what allowable units there 
can be for the length property. Where are those units supposed to be stored 
if only the property is set in the C_QUANTITY?


 By the way, shouldn't the property attribute represent a CODED_TEXT 
 object that can be linked to a local or external terminology?

 this is true; we watered it down to make people in CEN and HL7 happy, but 
 I no longer believe such compromises are sensible. We will probably change 
 this to a CODED_TEXT.

Ok, I suppose you're referring to the Ocean archetype editor now?



Regards,

Mattias



 hope this helps

 - thomas beale

 -
 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



Questions about archetype definition

2005-09-28 Thread Mattias Forss
Hello,

I have some questions about the archetype definition. Currently, I am using the 
java parser to get an archetype object and from that object I get the archetype 
definition, which is a CComplexObject. I then pass this object to a recursive 
function of mine to get hold of some node id's, reference model type names, 
reference model attribute names and so on. In the function I first get the 
attributes of the complex object, then I get the children of each attribute and 
finally I also get some of the children's actual values in the case they aren't 
complex objects that have to be passed to the function again.

Sadly, I haven't found another way to get the children's actual values, than 
doing a lot of type casting, i.e. to get the value of an object of the type 
DvBoolean I first have to check if the child is a CPrimitiveObject to get the 
CPrimitive and then I have to check if the CPrimitive is a CBoolean to get the 
DvBoolean and finally I can get the actual value of the boolean. I think this 
is rather tedious, and I would be glad if anyone knows an easier way to do this.

In the recursive function I've just described I also try to build a tree 
structure of the java type DefaultMutableTreeNode in order to to display the 
archetype definition in a swing object called JTree. I have almost got it 
right, but I have problems with the levels of the nodes because I cannot simply 
do recursion over the CComplexObject that represents the definition since I 
have to get its attributes and the attributes' children (e.g. to see if the 
children are another CComplexObject), and thus this gets complicated and the 
assembled final tree is somewhat messed up. I would be glad if anybody had any 
ideas or advice about this problem and I hope my questions aren't too stupid.

Regards,

Mattias Forss (MSc student)

Medical Informatics group at the Department of Biomedical Engineering
Link?pings universitet, Sweden
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20050928/48a98e02/attachment.html