Stream: terminology
Topic: ValueSet compose for a Coding-typed property
Michael Lawley (Feb 17 2022 at 07:13):
I have a CodeSystem with codes that have a property of type Coding (because the value may be from one of several other CodeSystems).
I now want to define a ValueSet that filters on these properties. The type of compose.include.filter.value is string, but the spec only mentions its use for codes, booleans, or regex (dependent on the filter operator).
What syntax should I use here for Coding? I was thinking token syntax (<system>|<code>) and its variants.
For the EQUALS operator:
<system>|<code>exact match<code>match code, any system|<code>match code, NO system
but I can see value in wanting to filter on all property values from a single CodeSystem, which would naturally lead to
<system>|match system, any code
However this conflicts with Search semantics which would require NO code.
@Grahame Grieve @Peter Jordan @Rob Hausam
Grahame Grieve (Feb 17 2022 at 08:05):
I don't think we've described this, but my inclination would have been to use <system>#<code>. And for what you're doing, I would expect {property} in {valueset-ref} to avoid the syntax issues altogether
Michael Lawley (Feb 17 2022 at 08:24):
But that's not how in works; it takes a comma-separated list of codes (except for SNOMED)
Grahame Grieve (Feb 17 2022 at 09:04):
oh? I'm sure we agreed that there was a way to do that somehow - to say that the filter was based on a property in a value set? I think that I do that internally: if there's no commas,and it's a uri, then it's a value set reference
Rob Hausam (Feb 17 2022 at 12:38):
Interesting. I could be forgetting, but I don't think that's in the spec (or even "hidden" anywhere that I know of). But maybe it should be.
Michael Lawley (Feb 17 2022 at 20:52):
Re syntax above, I've just been back to double-check https://www.hl7.org/fhir/search.html#token and discovered that I remembered the search semantics incorrectly and each form matches exactly what I'm after.
So, @Grahame Grieve the | based syntax has a lot going for it - where does the # syntax come from (FSH?)
Brian Postlethwaite (Feb 20 2022 at 21:37):
The | in canonicals is used to add on the version number.
system|version#code when used in a canonical value...
Michael Lawley (Feb 20 2022 at 21:42):
Where do "canonical values" show up?
| is used in token syntax which only allows for system and code (not version)
Grahame Grieve (Feb 20 2022 at 22:47):
I think that | is ambiguous - are you referring to version or code? But also you’re referring to a search term, and you’re not doing a search. I think that system|version#code is a more reliable approach
Michael Lawley (Feb 20 2022 at 23:12):
Ok, so what variations should be supported?
system|version#code- exact match on allcode- code, any systemsystem|- system match, any codesystem|version- system & version match, any code#code- code, no systemsystem#code- system and code match, any version
others?
Last updated: Apr 12 2022 at 19:14 UTC