I knew someone would leap in and help ;-)
Peter Gummer wrote:
>
> The first surprise is that single-character specialisation concepts are now
> rejected. They used to be accepted. (An example would be "blood_type-o".)
> It's now consistent with the pattern for the concept name. Was this change
> intentional?
>
It was - whether or not it is correct or required is another matter -
the archetype community needs to decide that. I would suggest that
"blood_type-o" could not be a sensible archetype name from a clinical
point of view, because 'o' is not a specialisation of the blood type
reporting concept, it is a blood type in reality. I.e. in Snomed would
would find
blood type
^
|
blood type O
but it doesn't make sense in archetypes that I can see.
I think we would need at least one realistic example of where a name
needs to be only one character long before we allowed it.
>
> The version_id part of the regex -- v[1-9]\d*(\.\d)* -- has bigger problems.
> In section 4.3.10, the regex matches these version_ids:
>
> v1 -- good
> v10 -- good
> v1.0 -- is this intentional to allow a zero in a minor version
> part?
>
yes
> v1.1 -- good
> v1.1.1 -- is this intentional to allow three parts?
>
yes
> 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:
>
> v0 -- good, this was Eric Browne's point that version_id
> shouldn't be zero
> 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}
> I believe the version_id regex should be one of the following:
>
> [R1] v[1-9]\d*(\.\d+)* -- allows v1.10
> [R2] v[1-9]\d*(\.[1-9]\d*)* -- allows v1.10 and disallows v1.0
> [R3] v[1-9]\d*(\.\d+)? -- allows v1.10 and disallows v1.1.1
> [R3] v[1-9]\d*(\.[1-9]\d*)? -- allows v1.10 and disallows v1.1.1 and
> v1.0
>
>
> Another error is that the production rules in section 4.3.10 are
> inconsistent with the version_id regex:
>
> version_id: 'v' V_NATURAL_DIGIT { '.' V_NUMBER }*
> V_NUMBER: [0-9]*
> V_NATURAL_DIGIT: [1-9]
> V_NAME: [a-zA-Z][a-zA-Z0-9_]+
>
> The corresponding regex would be v[1-9](\.\d*)* , which differs from section
> 4.3.10's regex in three respects:
>
> * It allows "v1.10", which surely is good; but
> * It allows "v1.", and
> * It disallows "v10"!
>
> So, once the regex is right, the production rules have to be fixed too.
>
yep...!
- thomas beale