Hi Sam,
I agree that the revision number should not be part of the id, from my
view this is unnecessary and only complicates the handling of archetypes.
It may be a good idea to have this information somewhere in the
description section of the archetype though - something that can be
added automatically by the archetype repository for example. For this
some signing /integrity mechanism could be added too if required
Cheers
Sebastian
Sam Heard wrote:
> Hi Tom
>
> I just want to make it known that I am concerned about archetype Ids
> with two decimal points in the version. I am not sure that we will
> know what this means. To me there are only two possibilities:
>
> 1. a new archetype revision means that all data out there is still
> compatible
> 2. a new archetype version that means that some data out there is
> incompatible
>
> A revised archetype means that queries against the old archetype will
> still work in the new archetype and visa versa. It is for this reason
> that I have been relucent to have revisions labelled in the ID. It
> makes sense at one level, but it greatly adds to the complexity of
> running queries, managing templates etc. I know it makes the
> technicians faint to think that a revised and fully backwardly
> compatible archetype might be released with the same ID, but with the
> generally extensible nature of the approach this has a lot of benefits
> (see below). Clearly, this can only be done from a central source -
> local changes (ie not done at the openEHR level) will need to be
> specialised to ensure that there is clear governance and control.
>
> I think we need to stay out on this one until we are clearer on
> whether Templates having to be manually updated each time an archetype
> is updated, or allowing features of the new archetype to appear in
> templates as the default (given that peer nodes in the archetype do
> appear in the template).
>
> Whatever the way we go with this, I do not think we want 1.1.1 unless
> people can come up with a sensible reason to have three levels. I
> can't think of any benefit.
>
> Cheers, Sam
>
> Thomas Beale wrote:
>> I now have the grammar and PERL regex as below. This is slightly
>> improved (I believe) from Peter's last version.
>>
>>
>>
>> archetype_id: qualified_rm_entity ?.? domain_concept ?.? version_id
>>
>> qualified_rm_entity: rm_originator ?-? rm_name ?-? rm_entity
>> rm_originator: V_NAME
>> rm_name: V_NAME
>> rm_entity: V_NAME
>>
>> domain_concept: concept_name { ?-? specialisation }
>> concept_name: V_NAME
>> specialisation: V_NAME
>>
>> version_id: ?v? V_NONZERO_DIGIT [ V_NUMBER ] [ ?.? V_NUMBER [ ?.?
>> V_NUMBER ] ]
>>
>> V_NONZERO_DIGIT: [1-9]
>> V_DIGIT: [0-9]
>> V_NUMBER: [0-9]*
>> V_NAME: [a-zA-Z][a-zA-Z0-9_]+
>>
>>
>> The PERL regular expression equivalent of the above is as follows:
>> [a-zA-Z]\w+(-[a-zA-Z]\w+){2}\.[a-zA-Z]\w+(-[a-zA-Z]\w+)*\.v[1-9]\d*(\.\d+){0,2}
>>
>> Peter Gummer wrote:
>>
>>> Thomas Beale wrote:
>>>
>>>
>>>>> v1.1.1.1 -- or even more than three parts?
>>>>>
>>>>>
>>>> yes you are right - we probably should limit it to 3, which will
>>>> require a change
>>>>
>>>>
>>>>
>>>>> The version_id regex rejects these: ...
>>>>> v1.10 -- surely this should be allowed!
>>>>>
>>>>>
>>>> yes - that's an error. I think this part of the regex should be:
>>>>
>>>> .v[1-9]\d*(\.[0-9]+){0,2}
>>>>
>>>>
>>> Ok, so in Perlesque it would be:
>>>
>>> v[1-9]\d*(\.\d+){0,2}
>>>
>>> And the "classic regular expression equivalent" would be:
>>>
>>> v[1-9][0-9]*(\.[0-9]+){0,2}
>>>
>>> Therefore, the production rule would be:
>>>
>>> version_id: 'v' V_NONZERO_DIGIT { V_DIGIT } [ '.' V_DIGIT { V_DIGIT }
>>> ]
>>> [ '.' V_DIGIT { V_DIGIT } ]
>>> V_DIGIT: [0-9]
>>> V_NONZERO_DIGIT: [1-9]
>>>
>>> - Peter
>>>
>>>
>>> _______________________________________________
>>> openEHR-technical mailing list
>>> openEHR-technical at openehr.org
>>> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
>>>
>>>
>>>
>>>
>>
>>
>>
>
> --
>
> Dr Sam Heard
> Chief Executive Officer
> Director, openEHR Foundation
> Senior Visiting Research Fellow, University College London
> 214 Victoria Avenue
> Chatswood, NSW, 2067
> Phone: +61 2 9415 4994
> Mobile: +61 4 1783 8808 21 Chester Cres
> London E8 2PH
> Phone: +44 20 7249 7085
> Mobile: +44 77 9871 0980
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> openEHR-technical mailing list
> openEHR-technical at openehr.org
> http://lists.chime.ucl.ac.uk/mailman/listinfo/openehr-technical
>
--
Ocean Informatics
Dr Sebastian Garde
Senior Developer
Ocean Informatics
/Dr. sc. hum., Dipl.-Inform. Med, FACHI/
Skype: gardeseb