FHIR Chat · Validation for foreign language resources · terminology

Stream: terminology

Topic: Validation for foreign language resources


view this post on Zulip Simone Heckmann (May 12 2018 at 15:01):

As discussed during the inoffical break-out-session at the WGM: GF#16586

When validating a resource/code validators currently match both code and - if present - display.

However, assuming that an english server has ValueSet expansions with english display values and a french server has ValueSet expansions with french display values, validation will fail as soon as resources are exchanged between english and french systems.

To resolve this, following a discussion with Rob Hausam, Ewout Kramer, Richard Ettema, Patrick Werner and me, the proposed solution is that any server should validate display values only if the value of Resource.meta.language matches it's own configuration. If not, the validator should only validate the codes and disregard the display values.

Open for discussion: what's the impact - if any - on $validate-code?

view this post on Zulip Grahame Grieve (May 12 2018 at 15:11):

I don't agree with that particular solution

view this post on Zulip Grahame Grieve (May 12 2018 at 15:12):

the validate-code operation can take a display language parameter - that should take priority

view this post on Zulip Grahame Grieve (May 12 2018 at 15:12):

if there is none, and no expansion profile (which can also specify this)

view this post on Zulip Grahame Grieve (May 12 2018 at 15:12):

then ok, which Resource.meta.language?

view this post on Zulip Yunwei Wang (May 12 2018 at 15:31):

"If not, the validator should only validate the codes and disregard the display values." I don't agree with that because if server return true in such situation, the client would assume the display text in the request is correct. If the server cannot validate the correctness of display text, the server should return false with error message that display text could not be validated.

view this post on Zulip Grahame Grieve (May 12 2018 at 16:08):

so, the server is validating in a language from this cascade:
- specified language parameter
- language specified in expansion profile
- language specified in value set

view this post on Zulip Grahame Grieve (May 12 2018 at 16:09):

but what's the relationship between that and specified language displays in the value set itself?

view this post on Zulip Grahame Grieve (May 12 2018 at 16:09):

note that ValueSet.compose.concept.display is a designation in ValueSet.language

view this post on Zulip Grahame Grieve (May 12 2018 at 16:10):

it's a harder question when the server can't validate the display

view this post on Zulip Rob Hausam (May 12 2018 at 16:18):

Yes, I think the genesis of the original issue is that in a particular instance Coding.display is a German description that is valid in the code system, but the validator is rejecting it because by default it expects that Coding.display is an English term.

view this post on Zulip Grahame Grieve (May 12 2018 at 16:20):

it was gold that it's in german? is it my validator?

view this post on Zulip Simone Heckmann (May 12 2018 at 16:20):

I don't think that we can expect servers to have ValueSet designations in all possible languages, just in case they receive a foreign resource. So how should a spanish server decide wether a chinese display code is correct? Isn't it the purpose of having codes in the first place, that we can have the same understanding of concept, regardless of language?

view this post on Zulip Grahame Grieve (May 12 2018 at 16:25):

yes that's why I don't make it an error, just a warning

view this post on Zulip Simone Heckmann (May 12 2018 at 16:39):

so, the server is validating in a language from this cascade:
- specified language parameter
- language specified in expansion profile
- language specified in value set

How does the language of the instance (meta.language) influence the behaviour of the validator?

view this post on Zulip Simone Heckmann (May 12 2018 at 16:53):

Sorry, it's Resource.language, not Resource.meta.language....

view this post on Zulip Simone Heckmann (May 12 2018 at 17:52):

pasted image
Here's our problem

view this post on Zulip Simone Heckmann (May 12 2018 at 18:00):

I think a validator should only enforce matching display values, if the resource is in a language it supports (= has the appropriate expansions for). Or should mismatching display values alway be warnings regardless of language?

view this post on Zulip Grahame Grieve (May 12 2018 at 20:44):

ok so the language here is a bit confusing between the validation engine and the terminology server. I was talking about the terminology server where the resource.language is not known. The validation engine should pass the language of the resource as a parameter to the $validate-code operation

view this post on Zulip Simone Heckmann (May 12 2018 at 20:46):

In the light of this: Does it make sense to enforce language in national profiles ?

view this post on Zulip Grahame Grieve (May 12 2018 at 20:47):

that's a difficult question indeed. Enforcing language is problematic, I think.

view this post on Zulip Grahame Grieve (May 12 2018 at 20:47):

(as is also not enforcing it)

view this post on Zulip Simone Heckmann (May 12 2018 at 20:56):

where do you see problems?

view this post on Zulip Grahame Grieve (May 13 2018 at 05:42):

well, if you enforce language in the national profile - all resources must be in de-DE - is that really something you can enforce? that all use of FHIR in DE must be in de-DE? what about cross-border stuff? I think that would just create a giant administrative headache for everyone

view this post on Zulip Grahame Grieve (May 13 2018 at 05:42):

further, are all code systems available in german language? what happens if they're not?

view this post on Zulip Michael Lawley (May 17 2018 at 00:49):

As we've interpreted the $validate-code specification, a display value that is not any of the designations for the code results in result=false
There is no clear guidance on this in the spec (AFAICT) beyond "result = true if the concept details supplied are valid"; ie no details on what "valid" means

view this post on Zulip Grahame Grieve (May 17 2018 at 04:26):

guess we should settle on this - can you create a task?

view this post on Zulip Michael Lawley (May 17 2018 at 05:08):

GF#17218

view this post on Zulip Rob Hausam (May 17 2018 at 05:09):

Thanks, Michael.

view this post on Zulip Yunwei Wang (May 17 2018 at 22:50):

I used to think that if display is provided, it must be validated. But after reading the spec again, no where says so.

view this post on Zulip Grahame Grieve (May 18 2018 at 03:28):

yes. doesn't say you can't. because in practice, it's tricky. In the spec validation, it has to be correct. In other contexts, I let the user specify


Last updated: Apr 12 2022 at 19:14 UTC