Mahdi

The ID needs to be the archetypeID not the archetype-node-ID if it is the
root node of an archetype.

Cheers, Sam

> -----Original Message-----
> From: openehr-technical-bounces at openehr.org [mailto:openehr-technical-
> bounces at openehr.org] On Behalf Of mahdi.asgari at gmail.com
> Sent: Saturday, 30 April 2011 6:02 PM
> To: openehr-technical at openehr.org
> Subject: RE: openEHR-technical Digest, Vol 49, Issue 12
> 
> Hi dear Ian
> 
> According to openEHR-technical Digest, Vol 49, Issue 12 you saied two
> bellow
> statement are correct (in scope of ADL 1.4):
> 
> 1-    The archetype-node-id in a locatable constructed around an
> archetype
> in an archetypeslot is the archetype-node-id it gets from its own
> archetype
> (which is called in the slot).
> 2-    The archetype-node-id in a locatable constructed around the
> archetype calling the archetypeslot is to be ignored.
> 
> I have a validation problem:
> If the archetype-node-id in a locatable constructed around an archetype
> in
> an archetypeslot is the archetype-node-id it gets from its own
> archetype,
> means at0000(child archetype node id) instead of at0001(slot node id)
> so how
> can I apply occurrence of slot? for example
> 
> Entry[at0000] matches {    -- Encounter
>         content matches {
>             allow_archetype INSTRUCTION [at0001] occurrences matches
> {0..1}
> matches {
>                 include
>                     domain_concept matches {/instruction.v1/}
>             }
>             allow_archetype OBSERVATION [at0002] occurrences matches
> {1..1}
> matches {
>                 include
>                     domain_concept matches {/observation.v1/}
>             }
>         }
>     }
> 
> the object may be something like this:
>                     <content xsi:type="INSTRUCTION"
> archetype_node_id="at0000">
>                     .....
>      </content>
>                     <content xsi:type="OBSERVATION"
> archetype_node_id="at0000">
>                     .....
>      </content>
> 
> In the above example how I can apply occurrence for INSTRUCTION objects
> optional or just one occurrence and OBSERVATION only one occurrence
> must be
> appear.
> Or maybe we must bypass constraint defined on slots?
> What is the main constraint applied? Slot constraint or child archetype
> constraint?
> 
> Thanks in advance
> 
> 
> 
> -----Original Message-----
> From: openehr-technical-bounces at openehr.org
> [mailto:openehr-technical-bounces at openehr.org] On Behalf Of
> openehr-technical-request at openehr.org
> Sent: Monday, August 23, 2010 5:05 PM
> To: openehr-technical at openehr.org
> Subject: openEHR-technical Digest, Vol 49, Issue 12
> 
> Send openEHR-technical mailing list submissions to
>       openehr-technical at openehr.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>       http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> or, via email, send a message with subject or body 'help' to
>       openehr-technical-request at openehr.org
> 
> You can reach the person managing the list at
>       openehr-technical-owner at openehr.org
> 
> When replying, please edit your Subject line so it is more specific
> than
> "Re: Contents of openEHR-technical digest..."
> 
> 
> Today's Topics:
> 
>    1. Re: ArchetypeNodeId of an archetypeslot (Ian McNicoll)
>    2. Re: ArchetypeNodeId of an archetypeslot (Bert Verhees)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Mon, 23 Aug 2010 13:19:09 +0100
> From: Ian McNicoll <Ian.McNicoll at oceaninformatics.com>
> Subject: Re: ArchetypeNodeId of an archetypeslot
> To: For openEHR technical discussions <openehr-technical at openehr.org>
> Message-ID:
>       <AANLkTik70HRY1VVSHjUr+ufiCULjyvN=uM4q=jt5v9QD at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Bert,
> 
> I appreciate you will be currently using ADL1.4, but in essence, by
> aggregating archetypes as you suggest, you are creating a template. ADL
> 1.4
> does not define this aggregation/template behaviour, which is why I
> pointed
> you to the ADL1.5 specs, which cover both the templates and specialised
> archetypes. We, therefore do not have an official ADL1.4 answer to your
> question but your final statement is correct :
> 
> The archetype-node-id in a locatable constructed around an archetype in
> an
> archetypeslot is the archetype-node-id it gets from its own archetype
> (which
> is called in the slot).
> The archetype-node-id in a locatable constructed around the archetype
> calling the archetypeslot is to be ignored.
> 
> Also remember that there is no absolute requirement for a single slot
> to
> have an atnode name but Heather and I now pretty well always assign one
> routinely as it helps document the usage of the slot for downstream
> users.
> 
> 
> Ian
> 
> Dr Ian McNicoll
> office / fax  +44(0)141 560 4657
> mobile +44 (0)775 209 7859
> skype ianmcnicoll
> ian.mcnicoll at oceaninformatics.com
> ian at mcmi.co.uk
> 
> Clinical Analyst  Ocean Informatics
> Honorary Senior Research Associate, CHIME, University College London
> openEHR
> Archetype Editorial Group Member BCS Primary Health Care SG Group
> www.phcsg.org / BCS Health Scotland
> 
> 
> 
> On 23 August 2010 11:51, Bert Verhees <bert.verhees at rosa.nl> wrote:
> 
> >  Thanks Ian,
> >
> > I will not surprise you that I don't work with ADL 1.5.
> > So I have to understand your answer to this issue in ADL 1.4 context.
> >
> > Archetypeslots are typically very convenient in templates, but also
> in
> > archetypes.
> >
> > In archetypes, the convenience is it makes it possible for easily
> > archetype (code)-reuse.
> > But in an archetype the approach is different because the locatable
> > constructed around the archetype (in the slot) is a property from the
> > locatable constructed around the archetype which calls the
> archetype(slot).
> > (sorry the express this so complicated, I don't know a more simpler
> > way to say this)
> >
> > This is not the case in a template, because they serve another
> purpose.
> >
> > I must confess, in my software I do not use templates, for now, but I
> > will in the next release.
> > So the only purpose for me for archetype-slots is as a part of an
> > archetype.
> >
> > Please correct me if I state following wrong:
> >
> > The archetype-node-id in a locatable constructed around an archetype
> > in an archetypeslot is the archetype-node-id it gets from its own
> > archetype (which is called in the slot).
> > The archetype-node-id in a locatable constructed around the archetype
> > calling the archetypeslot is to be ignored.
> >
> > Is this correct?
> >
> > Thanks, Bert
> >
> >
> >
> >
> > Op 22-08-10 15:27, Ian McNicoll schreef:
> >
> > Hi Bert,
> >
> >  This is essentially a template, with the slot 'filled' by an
> > archetype reference, and is defined in the forthcoming ADL AOM 1.5
> > specifications
> >
> >  http://www.openehr.org/300-OE.html?branch=1&language=1
> >
> >
> http://www.openehr.org/wiki/display/spec/openEHR+Templates+and+Special
> > ised+Archetypes
> >
> >  use_archetype OBSERVATION[openEHR-EHR-OBSERVATION.blood_pressure.v1]
> ? {
> >     /items ? {
> >         use_archetype EVALUATION[at0001,
> org.openehr::openEHR-EHR-OBSERVATION.blood_pressure.v1]
> >     }
> > }
> >
> >
> >  In the resultant template, the atNode of the filler/called archetype
> > (at0000) , identifies the 'filled slot' node, not the parent/caller
> > (at0001) but is always qualified by the archetypeID
> >
> >  FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION
> > [openEHR-EHR-COMPOSITION.encounter.v1]
> > CONTAINS OBSERVATION obs [openEHR-EHR-OBSERVATION.blood_pressure.v1]
> > WHERE
> >
> obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/value
> > >= 140
> >
> >   Note too that, specialised archetypes also support the same
> mechanism of
> filled lots, which allows compound archetypes to be defined i.e with
> some
> pre-filled slots.
> >
> >  Ian
> >
> >    Dr Ian McNicoll
> > office / fax  +44(0)141 560 4657
> > mobile +44 (0)775 209 7859
> > skype ianmcnicoll
> > ian.mcnicoll at oceaninformatics.com
> > ian at mcmi.co.uk
> >
> > Clinical Analyst  Ocean Informatics
> > Honorary Senior Research Associate, CHIME, University College London
> > openEHR Archetype Editorial Group Member BCS Primary Health Care SG
> > Group www.phcsg.org / BCS Health Scotland
> >
> >
> >
> > On 22 August 2010 13:04, Bert Verhees <bert.verhees at rosa.nl> wrote:
> >
> >> Hi,
> >>
> >> Excuse me if (I) asked before, it stills keeps puzzling me.
> >>
> >>
> >> When we have this archetype-definition (this from Rong's repository
> >> from test-archetypes for the adl-parser)
> >> ----------------
> >> definition
> >>    Entry[at0000] matches {    -- Encounter
> >>        content matches {
> >>            allow_archetype CARE_ENTRY [at0001] occurrences matches
> >> {0..1} matches {
> >>                include
> >>                    domain_concept matches {/blood_pressure.v1/}
> >>                exclude
> >>                    domain_concept matches {/blood_pressure.v2/}
> >>                    domain_concept matches {/.*/}
> >>            }
> >>        }
> >>    }
> >> --------------
> >> Imagine the allowed archetype definition to blood-pressure is like
> >>
> >> definition
> >>    OBSERVATION[at0000] matches {    -- Blood Pressure
> >>        data matches {
> >>            HISTORY[at0001] matches {    -- history
> >>                events cardinality matches {1..*; unordered} matches
> {
> >>                    EVENT[at0006] occurrences matches {0..*} matches
> >> {    -- any event
> >>                        data matches {
> >>                            ITEM_LIST[at0003] matches {    -- blood
> >> pressure
> >>                                items cardinality matches {0..*;
> >> unordered} matches {
> >>                                    ELEMENT[at0004] occurrences
> matches
> >> {0..1} matches {    -- Systolic
> >>                                        value matches {
> >>                                            DV_QUANTITY <
> >>                                                property =
> <[openehr::125]>
> >>                                                list = <
> >>                                                    ["1"] = <
> >>                                                        units =
> <"mm[Hg]">
> >>                                                        magnitude =
> >> <|0.0..<1000.0|>
> >>                                                        precision =
> <|0|>
> >>                                                    >
> >>                                                >
> >>                                            >
> >>                                        }
> >>                                    }
> >>                                }
> >>                            }
> >>                        }
> >>                    }
> >>                }
> >>            }
> >>        }
> >>    }
> >>
> >>
> >> We can see, there is an archetypeNodeId to this archetypeslot
> (at0001).
> >> And in the called archetype there is also a archetypeNodeId (at0000)
> >>
> >> In fact, the careentry has two archetypeNodeId's, one from the
> >> calling archetype and one from the called archetype.
> >> -----------------
> >>
> >> Imagine there is an data object to the Entry which has the Care-
> Entry
> >> worked out. What will be the archetypeNodeId to this CareEntry in a
> >> dadl which represents these data completely worked out.
> >>
> >> What will be the AQL which represents a query to a specific leaf-
> node
> >> in the care-Entry, or are there two queries both possible for the
> >> same leaf-node?
> >> In that case, the situation differs from normal RM-Objects, because
> >> an RM-object can only have one archetypeNodeID.
> >>
> >> SO, please, help, a link to an explaining text somewhere will also
> do.
> >>
> >> Thanks very much, and kind regards
> >> Bert Verhees
> >>
> >>
> >> _______________________________________________
> >> openEHR-technical mailing list
> >> openEHR-technical at openehr.org
> >> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> >>
> >
> >
> > _______________________________________________
> > openEHR-technical mailing
> > listopenEHR-
> technical at openehr.orghttp://lists.chime.ucl.ac.uk/mailman/
> > listinfo/openehr-technical
> >
> >
> >
> > _______________________________________________
> > openEHR-technical mailing list
> > openEHR-technical at openehr.org
> > http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.chime.ucl.ac.uk/mailman/private/openehr-
> technical/attachments/2
> 0100823/898b6785/attachment-0001.html
> 
> ------------------------------
> 
> Message: 2
> Date: Mon, 23 Aug 2010 14:34:37 +0200
> From: Bert Verhees <bert.verhees at rosa.nl>
> Subject: Re: ArchetypeNodeId of an archetypeslot
> To: For openEHR technical discussions <openehr-technical at openehr.org>
> Message-ID: <4C726ADD.5000403 at rosa.nl>
> Content-Type: text/plain; charset="utf-8"
> 
>   Thanks, Ian, your answer makes it clear to me.
> 
> kind regards
> Bert
> 
> 
> Op 23-8-2010 14:19, Ian McNicoll schreef:
> > Hi Bert,
> >
> > I appreciate you will be currently using ADL1.4, but in essence, by
> > aggregating archetypes as you suggest, you are creating a template.
> > ADL 1.4 does not define this aggregation/template behaviour, which is
> > why I pointed you to the ADL1.5 specs, which cover both the templates
> > and specialised archetypes. We, therefore do not have an official
> > ADL1.4 answer to your question but your final statement is correct :
> >
> > The archetype-node-id in a locatable constructed around an archetype
> > in an archetypeslot is the archetype-node-id it gets from its own
> > archetype (which is called in the slot).
> > The archetype-node-id in a locatable constructed around the archetype
> > calling the archetypeslot is to be ignored.
> >
> > Also remember that there is no absolute requirement for a single slot
> > to have an atnode name but Heather and I now pretty well always
> assign
> > one routinely as it helps document the usage of the slot for
> > downstream users.
> >
> >
> > Ian
> >
> > Dr Ian McNicoll
> > office / fax  +44(0)141 560 4657
> > mobile +44 (0)775 209 7859
> > skype ianmcnicoll
> > ian.mcnicoll at oceaninformatics.com
> > <mailto:ian.mcnicoll at oceaninformatics.com>
> > ian at mcmi.co.uk <mailto:ian at mcmi.co.uk>
> >
> > Clinical Analyst  Ocean Informatics
> > Honorary Senior Research Associate, CHIME, University College London
> > openEHR Archetype Editorial Group Member BCS Primary Health Care SG
> > Group www.phcsg.org <http://www.phcsg.org> / BCS Health Scotland
> >
> >
> >
> > On 23 August 2010 11:51, Bert Verhees <bert.verhees at rosa.nl
> > <mailto:bert.verhees at rosa.nl>> wrote:
> >
> >     Thanks Ian,
> >
> >     I will not surprise you that I don't work with ADL 1.5.
> >     So I have to understand your answer to this issue in ADL 1.4
> context.
> >
> >     Archetypeslots are typically very convenient in templates, but
> >     also in archetypes.
> >
> >     In archetypes, the convenience is it makes it possible for easily
> >     archetype (code)-reuse.
> >     But in an archetype the approach is different because the
> >     locatable constructed around the archetype (in the slot) is a
> >     property from the locatable constructed around the archetype
> which
> >     calls the archetype(slot).
> >     (sorry the express this so complicated, I don't know a more
> >     simpler way to say this)
> >
> >     This is not the case in a template, because they serve another
> >     purpose.
> >
> >     I must confess, in my software I do not use templates, for now,
> >     but I will in the next release.
> >     So the only purpose for me for archetype-slots is as a part of an
> >     archetype.
> >
> >     Please correct me if I state following wrong:
> >
> >     The archetype-node-id in a locatable constructed around an
> >     archetype in an archetypeslot is the archetype-node-id it gets
> >     from its own archetype (which is called in the slot).
> >     The archetype-node-id in a locatable constructed around the
> >     archetype calling the archetypeslot is to be ignored.
> >
> >     Is this correct?
> >
> >     Thanks, Bert
> >
> >
> >
> >
> >     Op 22-08-10 15:27, Ian McNicoll schreef:
> >>     Hi Bert,
> >>
> >>     This is essentially a template, with the slot 'filled' by an
> >>     archetype reference, and is defined in the forthcoming ADL AOM
> >>     1.5 specifications
> >>
> >>     http://www.openehr.org/300-OE.html?branch=1&language=1
> >>     <http://www.openehr.org/300-OE.html?branch=1&language=1>
> >>
> >>
> http://www.openehr.org/wiki/display/spec/openEHR+Templates+and+Specia
> >> lised+Archetypes
> >>
> >>     use_archetype OBSERVATION[openEHR-EHR-
> OBSERVATION.blood_pressure.v1]
> ? {
> >>          /items ? {
> >>              use_archetype EVALUATION[at0001,
> org.openehr::openEHR-EHR-OBSERVATION.blood_pressure.v1]
> >>          }
> >>     }
> >>
> >>     In the resultant template, the atNode of the filler/called
> >>     archetype (at0000) , identifies the 'filled slot' node, not the
> >>     parent/caller (at0001) but is always qualified by the
> archetypeID
> >>
> >>     FROM EHR [ehr_id/value=$ehrUid] CONTAINS COMPOSITION
> [openEHR-EHR-COMPOSITION.encounter.v1]
> >>     CONTAINS OBSERVATION obs [openEHR-EHR-
> OBSERVATION.blood_pressure.v1]
> >>     WHERE
> >>
> obs/data[at0001]/events[at0006]/data[at0003]/items[at0004]/value/valu
> >> e>= 140
> >>
> >>     Note too that, specialised archetypes also support the same
> mechanism
> of filled lots, which allows compound archetypes to be defined i.e with
> some
> pre-filled slots.
> >>
> >>     Ian
> >>
> >>     Dr Ian McNicoll
> >>     office / fax  +44(0)141 560 4657
> >>     mobile +44 (0)775 209 7859
> >>     skype ianmcnicoll
> >>     ian.mcnicoll at oceaninformatics.com
> >>     <mailto:ian.mcnicoll at oceaninformatics.com>
> >>     ian at mcmi.co.uk <mailto:ian at mcmi.co.uk>
> >>
> >>     Clinical Analyst  Ocean Informatics
> >>     Honorary Senior Research Associate, CHIME, University College
> London
> >>     openEHR Archetype Editorial Group
> >>     Member BCS Primary Health Care SG Group www.phcsg.org
> >>     <http://www.phcsg.org> / BCS Health Scotland
> >>
> >>
> >>
> >>     On 22 August 2010 13:04, Bert Verhees <bert.verhees at rosa.nl
> >>     <mailto:bert.verhees at rosa.nl>> wrote:
> >>
> >>         Hi,
> >>
> >>         Excuse me if (I) asked before, it stills keeps puzzling me.
> >>
> >>
> >>         When we have this archetype-definition (this from Rong's
> >>         repository from
> >>         test-archetypes for the adl-parser)
> >>         ----------------
> >>         definition
> >>            Entry[at0000] matches {    -- Encounter
> >>                content matches {
> >>                    allow_archetype CARE_ENTRY [at0001] occurrences
> >>         matches
> >>         {0..1} matches {
> >>                        include
> >>                            domain_concept matches
> {/blood_pressure.v1/}
> >>                        exclude
> >>                            domain_concept matches
> {/blood_pressure.v2/}
> >>                            domain_concept matches {/.*/}
> >>                    }
> >>                }
> >>            }
> >>         --------------
> >>         Imagine the allowed archetype definition to blood-pressure
> is
> >>         like
> >>
> >>         definition
> >>            OBSERVATION[at0000] matches {    -- Blood Pressure
> >>                data matches {
> >>                    HISTORY[at0001] matches {    -- history
> >>                        events cardinality matches {1..*; unordered}
> >>         matches {
> >>                            EVENT[at0006] occurrences matches {0..*}
> >>         matches
> >>         {    -- any event
> >>                                data matches {
> >>                                    ITEM_LIST[at0003] matches {    --
> >>         blood pressure
> >>                                        items cardinality matches
> {0..*;
> >>         unordered} matches {
> >>                                            ELEMENT[at0004]
> >>         occurrences matches
> >>         {0..1} matches {    -- Systolic
> >>                                                value matches {
> >>                                                    DV_QUANTITY <
> >>                                                        property =
> >>         <[openehr::125]>
> >>                                                        list = <
> >>                                                            ["1"] = <
> >>                                                                units
> >>         = <"mm[Hg]">
> >>
> >>          magnitude =
> >>         <|0.0..<1000.0|>
> >>
> >>          precision = <|0|>
> >>         >
> >>         >
> >>         >
> >>                                                }
> >>                                            }
> >>                                        }
> >>                                    }
> >>                                }
> >>                            }
> >>                        }
> >>                    }
> >>                }
> >>            }
> >>
> >>
> >>         We can see, there is an archetypeNodeId to this
> archetypeslot
> >>         (at0001).
> >>         And in the called archetype there is also a archetypeNodeId
> >>         (at0000)
> >>
> >>         In fact, the careentry has two archetypeNodeId's, one from
> >>         the calling
> >>         archetype and one from the called archetype.
> >>         -----------------
> >>
> >>         Imagine there is an data object to the Entry which has the
> >>         Care-Entry
> >>         worked out. What will be the archetypeNodeId to this
> >>         CareEntry in a dadl
> >>         which represents these data completely worked out.
> >>
> >>         What will be the AQL which represents a query to a specific
> >>         leaf-node in
> >>         the care-Entry, or are there two queries both possible for
> >>         the same
> >>         leaf-node?
> >>         In that case, the situation differs from normal RM-Objects,
> >>         because an
> >>         RM-object can only have one archetypeNodeID.
> >>
> >>         SO, please, help, a link to an explaining text somewhere
> will
> >>         also do.
> >>
> >>         Thanks very much, and kind regards
> >>         Bert Verhees
> >>
> >>
> >>         _______________________________________________
> >>         openEHR-technical mailing list
> >>         openEHR-technical at openehr.org
> >>         <mailto:openEHR-technical at openehr.org>
> >>
> >> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> >>
> >>
> >>
> >>     _______________________________________________
> >>     openEHR-technical mailing list
> >>     openEHR-technical at openehr.org  <mailto:openEHR-
> technical at openehr.org>
> >>     http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> >>
> >
> >
> >     _______________________________________________
> >     openEHR-technical mailing list
> >     openEHR-technical at openehr.org <mailto:openEHR-
> technical at openehr.org>
> >     http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> >
> >
> >
> > _______________________________________________
> > openEHR-technical mailing list
> > openEHR-technical at openehr.org
> > http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL:
> http://lists.chime.ucl.ac.uk/mailman/private/openehr-
> technical/attachments/2
> 0100823/42ef3dcc/attachment.html
> 
> ------------------------------
> 
> _______________________________________________
> openEHR-technical mailing list
> openEHR-technical at openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
> 
> 
> End of openEHR-technical Digest, Vol 49, Issue 12
> *************************************************
> 
> _______________________________________________
> openEHR-technical mailing list
> openEHR-technical at openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical


Reply via email to