Hello everyone

Coming back to the "archetype slots" issue, the adl 1.5 document 
specifies three types of slots but i can only see how to define two of 
them, based solely on the data that become available by the archetypes 
definition.

I can define the "formal" and "recommendation" ones, but not the 
"substantive" because (i think) that it is identical to a 
"recommendation". (Should i be looking at the way the regexp is written 
as well?)

At the moment:

if (includes is present) xor (excludes is present)
        //This is a recommendation, any "allow archetype TYPE" can match but it 
is recommended to use the includes / excludes matches.
else
        //At this point the xor has failed but effectively we know that both 
includes and excludes are present in an assertion
        if (includes == "/.*/) xor (excludes == "/.*/")
                //This is a formal binding

Is the above snippet along the right track?

All the best
Athanasios Anastasiou











On 10/04/2012 19:50, Thomas Beale wrote:
>
>
> Hi Athanasios,
>
> see the ADL 1.5 spec
> <http://www.openehr.org/svn/specification/TRUNK/publishing/architecture/am/adl1.5.pdf>
> section 5.3.9.3 for the rules.
>
> - thomas
>
> On 10/04/2012 17:11, Athanasios Anastasiou wrote:
>> Hello everyone
>>
>> How do the "includes / excludes" fields of an Archetype Slot get
>> interperted to conclude with one set of rules about which archetypes
>> are allowed to be attached to a slot?
>>
>> Browsing through various archetypes i am noticing that some slots will
>> only have one or more "includes" while others have one or more
>> "includes" and ".*" at the "excludes" field.
>>
>> Are these two fields to be cascaded? (i.e. Include everything that
>> satisfies the include condition and then FROM THE INCLUDED LIST
>> exclude everything that satisfies the exclude condition)
>>
>> Or would they operate in parallel? (i.e. Get everything that satisfies
>> the include condition, Get everything that satisfies the exclude
>> condition, merge the two sets. The merged set governs what is allowed
>> to be included to a particular slot).
>>
>>
>> And, are the following equivalent?
>>
>> "include
>> archetype_id/value matches {/openEHR-EHR-CLUSTER\.address\.v1/}
>> exclude
>> archetype_id/value matches {/.*/}"
>>
>> This means "Include ONLY an address" (?)
>> In this case it makes sense to evaluate the include/exclude fields in
>> parallel.
>>
>> "include
>> archetype_id/value matches {/openEHR-EHR-CLUSTER\.telecom_details\.v1/}"
>>
>> (In this case there was no exclude)
>> This must mean "Include ONLY telecom_details" (?)
>>
>>
>> A secondary question, is there any case where it might be required to
>> "Include" or "Exclude" an archetype with a condition other than its
>> name / class? I am asking this because the "includes" / "excludes" are
>> Assertions but all archetypes i have seen so far "match" the
>> archetype_id/value only.
>>
>> Looking forward to hearing from you
>> Athanasios Anastasiou
>>
>> _______________________________________________
>> openEHR-technical mailing list
>> openEHR-technical at lists.openehr.org
>> http://lists.openehr.org/mailman/listinfo/openehr-technical_lists.openehr.org
>>
>>
>
>
> --
> Ocean Informatics     *Thomas Beale
> Chief Technology Officer, Ocean Informatics
> <http://www.oceaninformatics.com/>*
>
> Chair Architectural Review Board, /open/EHR Foundation
> <http://www.openehr.org/>
> Honorary Research Fellow, University College London
> <http://www.chime.ucl.ac.uk/>
> Chartered IT Professional Fellow, BCS, British Computer Society
> <http://www.bcs.org.uk/>
> Health IT blog <http://www.wolandscat.net/>
>
>
> *
> *

Reply via email to