hi Tom

> well we need to be precise about what 'extended' means. If you add first
> level siblings to the previous version of your value set, it means your
> value set was incomplete when published.
yes. and that's the point. The world gets by on incomplete agreements

> If you want to add children (by far the most common case in hierarchical
> terminologies like SNOMED and ICDx) there's no problem, you are just adding
> more specific choices of a more general category you already had.
actually, that *is* the problem. You're taking an agreement and varying
from it for no good reason. In a world where everyone has a terminology
server and time to consult it, that may be harmless. But only may (there's
deep subtleties there). And that's not a world we live in.

> There is a big difference between best-practice and reality and we don’t
> want to be putting any more barriers to adoption.
> To be honest, I am not sure that using required at an archetype level
> would be wise, it may be something that can be used at a template level.
> probably true; any 'required' or other setting should probably only be
> applied at template level.
I think that's a silly rule. Sometimes, the code is inherent to the meaning
of the structure. Let people say what they need to where they need to.

> well I am looking for computability. If we go the FHIR way, people are
> going to be writing code like:
> if (x.required) {
>     // make sure value is from code set
> }
> elseif (x.preferred) {
>     // hm... anything goes
> }
> elseif (x.extensible) {
>     if (x.value == some code not in the value set) {
>         // hm... how to determine if there was a code
>         // in the vs that should have been used?
>     }
> }
> elseif (x.example) {
>     // ?ignore / don't care ?
> }
> And probably all doing it differently.
yep. it's a mess. Only human review can establish if there was a code that
should have been used. I completely understand why you dislike this as a
systems engineer. But reality doesn't go away.

btw, in all my code, I don't treat preferred and example differently in
code. the only meaningful difference is in the message you give to people
making templates up, and it's subtle. It was me who invented example, and
it's proven a very useful way to get designers to be concrete about their
meaning when they are making designs that are about capabilities rather
than actual solutions.
openEHR-technical mailing list

Reply via email to