FHIR Chat · Slicing Information message-This element does not match any · IG creation

Stream: IG creation

Topic: Slicing Information message-This element does not match any


view this post on Zulip Diane (Mar 11 2022 at 22:52):

All of our example Questionnaire Responses have a Slicing Information message (in both the Trifolia and the github build):

This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse

For each, the path is: QuestionnaireResponse.extension[0] (l13/c4)

For each, the QuestionnaireResponse.extension[0] is the workflow-researchStudy extension.
http://hl7.org/fhir/StructureDefinition/workflow-researchStudy

Is this an indication of a problem? If yes, how do we resolve it?

view this post on Zulip Lloyd McKenzie (Mar 11 2022 at 23:34):

There should be an information message that shows you how slicing validation is being evaluated - that usually gives a good hint about why things aren't matching.

view this post on Zulip Diane (Mar 12 2022 at 00:05):

Good to see that there are more details.

However, the hints are even more confusing to me:

This element does not match any known slicedefined_in_the_profilehttp://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse
QuestionnaireResponse.extension[0]: discriminator = true and ('http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature' in url)
,
QuestionnaireResponse.extension[0]: discriminator = true and ('http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode' in url)

Why is the validator checking the http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse profile for the workflow-researchStudy extension? The workflow-researchStudy is not an SDC extenstion. It is a Workflow Pattern Extension. How do I tell the validator to look at Workflow Pattern Extension and not limit to SDC?

Also, this error message lists 2 extensions that are not used in any of our IG files:
questionnaireresponse-signature
questionnaireresponse-completionMode

I wish these hints were more helpful.

view this post on Zulip Lloyd McKenzie (Mar 12 2022 at 00:10):

What profile are you validating the Questionnaire against? (It sounds like the validator is checking it against the SDC Questionnaire profile.)

view this post on Zulip Diane (Mar 12 2022 at 00:38):

The profile listed in the IG for dependencies is SDC. All of our Questionnaire Responses automatically have a profile element put into the meta element by LHC forms. The profile that LHC forms adds to the QRs is the SDC profile.

So, I just removed the SDC profile from the QR files and republished, but still the same slicing error.

How do I stop the validator from using the SDC profile for the Questionnaire Responses? Should I add a profile element back to the meta? What profile to list?

view this post on Zulip Lloyd McKenzie (Mar 12 2022 at 02:52):

You don't have your own profile for Questionnaire? If you have an expectation that your Questionnaires will include the researchStudy extension, you presumably ought to have a profile that enforces that...

view this post on Zulip Diane (Mar 12 2022 at 05:42):

As balloted in our IG, usage of the ResearchStudy resource itself is optional. Therefore, we wouldn't want the workflow extension for the workflow-researchStudy to be mandatory.

We hope some of the larger institutions will want to use the ResearchStudy, Practitioner or other resources, but we don't mandate it. Our Questionnaires/QuestionnaireResponses can be the whole solution.

I was looking at our balloted version of the IG and it looks like none of them have the workflow-researchStudy extension.

Since the workflow-researchStudy extension is optional, is it best to remove it from the example QRs? Our website code adds it to the QRs, but I can remove it from the files. Since the workflow-researchStudy extension makes this Slicing Information message, maybe that is the solution.

We don't have a custom sIRB profile. We only validate against the SDC profile.

Is the workflow-researchStudy something that must be added to a profile before it can be used?

view this post on Zulip Lloyd McKenzie (Mar 12 2022 at 07:09):

It's not a question of whether it's mandatory - you can make the cardinality what you like. However, if you want to set an expectation that the extension will be supported (i.e. mustSupport=true), then you need a profile that declares that. If the extension isn't something that implementers need to support, I'd just strip it from your examples.

Your profiles should include every single data element you expect the systems involved to support. If you build on top of the SDC profiles, then anything it says is mustSupport in the profiles you leverage, you also impose on your implementers. (That might be a good thing or a bad thing, depending on how the SDC profile(s) align with your use-case's requirements.)

view this post on Zulip Diane (Mar 12 2022 at 21:45):

We will probably just take the workflow-ResearchStudy extension out of the examples.

Is it possible tell an IG to validate against a union of 2 profiles? We would want SDC (even though some of the features are not utilized) plus the Workflow Pattern profile listed at Profiles defined as part of FHIR: https://www.hl7.org/fhir/profilelist.html .

view this post on Zulip Lloyd McKenzie (Mar 12 2022 at 22:20):

The workflow pattern isn't a profile, it's a logical model. Each example can declare as many profiles as you like, though we generally encourage examples to declare no profiles, as that's the usual expectation for instances in the wild. (i.e. instances generally shouldn't be expected to declare any profiles). Within the IG, you can currently assert exactly one profile per example that isn't declared in the example.

What is your IG enforcing? What do you demand that implementations must support?

view this post on Zulip Diane (Mar 13 2022 at 00:35):

Yes. I see now that it is not a true profile.

It is a little confusing that the page "Profiles defined as part of FHIR" at http://hl7.org/fhir/R4/profilelist.html lists "Workflow Pattern HL7 Extensions" and then begins with "This profile defines extensions that can be used...". It makes it appear like all you need to do is declare the Workflow Pattern HL7 Extensions profile. But, the 3rd column shows that it is type of extensions, so I see that it is not a true profile vs. EHRS FM Record Lifecycle Event - Provenance which is labeled in the 3rd column as a profile.

view this post on Zulip Diane (Mar 13 2022 at 00:36):

We use many of the SDC extensions:

Enable when expression
Answer Expression
Initial Expression
Calculated Expression
Label for 'open' items
Launch Context

We also use:
Questionnaire Launch Context CodeSystem

We do need to validate against SDC at this point. It would probably have been better to have made a custom profile with only the SDC extensions needed.

However, if an implementer did not use the LHC-Forms software and wanted to build their own, then an implementer would need to use more of the SDC Capabilities like SDC Form Response Manager, SDC Form Filler and the Populate Questionnaire Operation, I would think.

If I remove the SDC profile from both the dependencies and from the Questionnaire Response files, then the Slicing Information message goes away.

BUT...Then I get errors against the Questionnaires about the extensions being invalid.

AND if I add the SDC profile into the Questionnaires but not in the dependencies, I get a warning message that
Profile reference 'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse' has not been checked because it is unknown, and the validator is set to not fetch unknown profiles

I am sure you already know all of this, but it is a bunch of trial and error for me.

Since it appears that a profile for the workflow-ResearchStudy extension that I can add to either the dependencies or the QuestionnaireResponse profile element does not exist, my choices seems to be to create a custom profile or remove the workflow-ResearchStudy extension from the examples QRs.

view this post on Zulip Lloyd McKenzie (Mar 13 2022 at 01:09):

You shouldn't get errors about the extensions being invalid so long as you list SDC as a dependency. You might get warnings about using extensions that aren't in your IG-specific profile.

Your IG should have a profile that lists the extensions that you need implementers to support - whether that's a subset or superset of what's in SDC. If you use any SDC extensions, you need to import SDC.


Last updated: Apr 12 2022 at 19:14 UTC