ADL internal references change proposal

2009-03-13 Thread Erik Sundvall
Hi!

I'm catching up with old mail...

If the underlying issue was SNOMED CT binding (or other
terminology/coding system bniding), then the distinction beteween two
alternatives of code binding (associating external code to a single
at-code) and path binding (associating external code to an
entire path) in the openEHR binding mechanisms is relevant. In the LiU
editor, and I assume also others, you select either code binding or
path binding each time you create a binding in the GUI.

See near the end in Fig 35 and in the first section of text in chapter 12.4 of
http://www.openehr.org/releases/1.0.2/html/architecture/overview/Output/terminology.html

Sorry if I happened to state something you already considereded obvious.

Best regards,
Erik Sundvall
erisu at imt.liu.sehttp://www.imt.liu.se/~erisu/Tel: +46-13-227579



On Mon, Feb 9, 2009 at 17:04, Thomas Beale
thomas.beale at oceaninformatics.com wrote:

 Hi David,

 you are saying that in the 'work contact' cluster you should be able to
 override the [at0005] etc because they have meanings like 'phone' etc, and
 are defined within the CONTACT [at0004] node, which is to do with 'work'.
 But the definition of [at0005] is just 'phone'; the full meaning of that
 node is given by its path, which will be
 /contacts[at0004|home]/addresses[at0005|phone] (i.e. home phone), and
 the same goes for the phone under the at0008 node, i.e. it will have a path
 /contacts[at0008|home]/addresses[at0005|phone] (i..e work phone). So I
 think the current approach is correct for this example. It is also correct
 in my view for examples like Apgar, where the 2 min, 5 min, 10 min samples
 all refer to the 1 min sample - but clearly they are not the 1 min sample
 data.

 The Slot does allow an override, but that is for the typical situation where
 the referring node needs to be more specific in meaning than the archetype
 being used in the slot. E.g. the main archetype might have a slot called
 'joint pain', but might just use a 'pain' archetype to specify this. In this
 case, it makes sense to override. Now I can imagine the same argument being
 applied to the Internal reference - a more specific node carrying a
 reference to a more general one, e.g. work address referring to an ADDRESS
 node under an 'addresses' (i.e. completely general list) node, but I have
 never seen an example of it. But there is no reason why it could not happen
 I guess - I think this would be a better example for your argument...

 - thomas beale


 David Moner wrote:

 Hello to everybody.

 We have detected an issue in the ADL grammar related to the node_id (at
 value) of Internal References. An Internal Reference node, as any other
 C_OBJECT, inherits the node_id attribute. But its ADL grammar does not allow
 to define this value in a textual representation.

 archetype_internal_ref:
   SYM_USE_NODE type_identifier c_occurrences object_path
 | SYM_USE_NODE type_identifier error


 We think it is necessary to allow the introduction of this information in
 some cases. When we re-use an internal data structure, we are maybe also
 changing its meaning. For example, looking at the example provided in the
 ADL 1.4 document, page 59.

 CONTACT [at0004] ? { -- home contact
 purpose ? {-- etc --}
 addresses cardinality ? {0..*} ? {
 ADDRESS [at0005] ? { -- phone
 type ? {-- etc --}
 details ? {-- etc --}
 }
 ADDRESS [at0006] ? { -- fax
 type ? {-- etc --}
 details ? {-- etc --}
 }
 ADDRESS [at0007] ? { -- email
 type ? {-- etc --}
 details ? {-- etc --}
 }
 }
 }

 CONTACT [at0008] ? { -- work contact
 purpose ? {-- etc --}
 addresses cardinality ? {0..*} ? {
 use_node ADDRESS /contacts[at0004]/addresses[at0005] -- phone
 use_node ADDRESS /contacts[at0004]/addresses[at0006] -- fax
 use_node ADDRESS /contacts[at0004]/addresses[at0007] -- email
 }
 }
 }

 We re-use nodes at0005, at0006 and at0007 but we do not assign a new at
 code to them. Structurally, this is correct, but not semantically (i.e. we
 reuse structure but not meaning). It is not the same a home phone number
 than a work phone number. In fact, SNOMED uses diferent codes for each
 case: a Patient home telephone number (code 429697006) and a Patient work
 telephone number (code 428843000).

 To sum up, it would be necessary to change the ADL grammar to support the
 use of new definitions of term_codes in the archetype internal references,
 something like:

 use_node ADDRESS[at1234] /contacts[at0004]/addresses[at0005] -- phone


 Finally, it is necessary to remember that the archetype slot (which is a
 very similar use case) allows this kind of definition.

 c_archetype_slot_id:
   SYM_ALLOW_ARCHETYPE type_identifier
 | SYM_ALLOW_ARCHETYPE type_identifier V_LOCAL_TERM_CODE_REF
 | SYM_ALLOW_ARCHETYPE error



ADL internal references change proposal

2009-02-09 Thread David Moner
Hello to everybody.

We have detected an issue in the ADL grammar related to the node_id (at
value) of Internal References. An Internal Reference node, as any other
C_OBJECT, inherits the node_id attribute. But its ADL grammar does not allow
to define this value in a textual representation.

archetype_internal_ref:
  SYM_USE_NODE type_identifier c_occurrences object_path
| SYM_USE_NODE type_identifier error


We think it is necessary to allow the introduction of this information in
some cases. When we re-use an internal data structure, we are maybe also
changing its meaning. For example, looking at the example provided in the
ADL 1.4 document, page 59.

CONTACT [at0004] ? { -- home contact
purpose ? {-- etc --}
addresses cardinality ? {0..*} ? {
ADDRESS [at0005] ? { -- phone
type ? {-- etc --}
details ? {-- etc --}
}
ADDRESS [at0006] ? { -- fax
type ? {-- etc --}
details ? {-- etc --}
}
ADDRESS [at0007] ? { -- email
type ? {-- etc --}
details ? {-- etc --}
}
}
}

CONTACT [at0008] ? { -- work contact
purpose ? {-- etc --}
addresses cardinality ? {0..*} ? {
use_node ADDRESS /contacts[at0004]/addresses[at0005] -- phone
use_node ADDRESS /contacts[at0004]/addresses[at0006] -- fax
use_node ADDRESS /contacts[at0004]/addresses[at0007] -- email
}
}
}

We re-use nodes at0005, at0006 and at0007 but we do not assign a new at
code to them. Structurally, this is correct, but not semantically (i.e. we
reuse structure but not meaning). It is not the same a home phone number
than a work phone number. In fact, SNOMED uses diferent codes for each
case: a Patient home telephone number (code 429697006) and a
javascript:action(27)Patient work telephone number (code 428843000).

To sum up, it would be necessary to change the ADL grammar to support the
use of new definitions of term_codes in the archetype internal references,
something like:

use_node ADDRESS*[at1234]* /contacts[at0004]/addresses[at0005] -- phone


Finally, it is necessary to remember that the archetype slot (which is a
very similar use case) allows this kind of definition.

c_archetype_slot_id:
  SYM_ALLOW_ARCHETYPE type_identifier
| SYM_ALLOW_ARCHETYPE type_identifier *V_LOCAL_TERM_CODE_REF*
| SYM_ALLOW_ARCHETYPE error



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

Universidad Polit?cnica de Valencia (UPV)
Camino de Vera, s/n, Edificio G-8, Acceso B, 3? planta
Valencia ? 46022 (Espa?a)
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090209/d47e07fc/attachment.html


ADL internal references change proposal

2009-02-09 Thread Thomas Beale
An HTML attachment was scrubbed...
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090209/dee5dbd7/attachment.html
-- next part --
A non-text attachment was scrubbed...
Name: OceanC_small.png
Type: image/png
Size: 4972 bytes
Desc: not available
URL: 
http://lists.openehr.org/mailman/private/openehr-technical_lists.openehr.org/attachments/20090209/dee5dbd7/attachment.png