Stream: genomics/committers
Topic: QA - issue with example bundle not rendering
Kevin Power (Feb 02 2022 at 17:26):
Anyone have any ideas when this example bundle doesn't render?
http://build.fhir.org/ig/HL7/genomics-reporting/Bundle-bundle-pgxexample.html
FSH: https://github.com/HL7/genomics-reporting/blob/master/input/fsh/examples/bundle-pgxexample.fsh
Here is another transaction bundle that does render:
http://build.fhir.org/ig/HL7/genomics-reporting/Bundle-bundle-complexVariant-nonHGVS.html
FSH: https://github.com/HL7/genomics-reporting/blob/master/input/fsh/examples/bundle-complexVariant-nonHGVS.fsh
If anyone has any suggestions, let me know.
Patrick Werner (Feb 03 2022 at 15:38):
maybe the warning in the build about the matching profiles creates this issue?
Bret H (Feb 03 2022 at 15:40):
Can you put that warning here Patrick?
Kevin Power (Feb 03 2022 at 15:40):
Hmmm, perhaps? Any suggestions on how to fix the warning? That has been on my list, but just hasn't bubbled to the top
Kevin Power (Feb 03 2022 at 15:40):
http://build.fhir.org/ig/HL7/genomics-reporting/qa.html (search for warning in that QA page)
Bret H (Feb 03 2022 at 15:42):
Change the names so that profiles (instances) are unique
e.g. Found multiple matching profiles for Task/usage-1a among choices: http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/followup-recommendation, http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/medication-recommendation
try changing one of the usage-1a to usage-1b or something like that. I worked through a problem similar
Bret H (Feb 03 2022 at 15:42):
similar for Task/med-usage-impact-task-pgx-example
Kevin Power (Feb 03 2022 at 15:44):
There is only a single instance with 'usage-1a' that I can find.
Kevin Power (Feb 03 2022 at 15:45):
I think the message is saying that the Task/usage-1a instance could be multiple profiles, and therefore the publisher doesn't know how to validate it?
Kevin Power (Feb 03 2022 at 15:46):
but our FSH clearly says which profile it should be:
Instance: usage-1a
InstanceOf: MedicationRecommendation
Patrick Werner (Feb 03 2022 at 15:46):
yes
Patrick Werner (Feb 03 2022 at 15:47):
sushi doesn't populate .profile by default. So the validator just tries to match
Bret H (Feb 03 2022 at 15:47):
.profile in the reference?
Patrick Werner (Feb 03 2022 at 15:47):
The Example shouldnt match multiple profile, the code its having clearly points to the medication recommendation profile
Patrick Werner (Feb 03 2022 at 15:48):
Bret H said:
.profile in the reference?
in the example instances. So resource.meta.profile
Patrick Werner (Feb 03 2022 at 15:48):
So this seems to be a bug.
Bret H (Feb 03 2022 at 15:48):
Look to see if the profile with the same name is elsewhere in the IG
Bret H (Feb 03 2022 at 15:49):
I changed names when there were two examples in the IG (not in the same example) with the same profile name, and that removed an warning. I think it was the same one but can't quite remember
Patrick Werner (Feb 03 2022 at 15:50):
ah i'm wrong. Default is to set .profile
Kevin Power (Feb 03 2022 at 15:53):
Yea, and these warnings are on different examples than the one that is failing to render. So, something to figure out I guess, but it isn't causing the failure to render problem.
Kevin Power (Feb 03 2022 at 15:55):
Is the warning saying we don't slicing setup right on our extension?
http://build.fhir.org/ig/HL7/genomics-reporting/StructureDefinition-recommended-action.html
Kevin Power (Feb 03 2022 at 15:58):
Or that we don't have our medication-recommendation or followup-recommendation profiles defined such that they can be distinguished between?
Bret H (Feb 03 2022 at 15:59):
why would it be wrong here and right elsewhere?
Kevin Power (Feb 03 2022 at 16:00):
Might be the only place we have that can refer to one or the other of these?
Kevin Power (Feb 03 2022 at 16:00):
(this is why I hadn't really investigated this yet :smile: )
Kevin Power (Feb 03 2022 at 16:20):
So, those two profiles (MedicationRecommendation and FollowupRecommendation) do not use a fixed code, but say the code should be from a LOINC answer list, and they each specify a different answer list. The example that we have the warning about (it is a MedicationRecommendation) uses a code from the appropriate answer list. Perhaps the validation can't handle when the constraint is on a value set instead of a fixed code?
Patrick Werner (Feb 03 2022 at 17:19):
Kevin Power said:
Or that we don't have our medication-recommendation or followup-recommendation profiles defined such that they can be distinguished between?
they use different codes (through bindings) so they should be
Patrick Werner (Feb 03 2022 at 17:20):
Kevin Power said:
So, those two profiles (MedicationRecommendation and FollowupRecommendation) do not use a fixed code, but say the code should be from a LOINC answer list, and they each specify a different answer list. The example that we have the warning about (it is a MedicationRecommendation) uses a code from the appropriate answer list. Perhaps the validation can't handle when the constraint is on a value set instead of a fixed code?
it should be, seems like a bug/missing feature in the validator. Slicing by pattern and VS bindings works with the java validator
Kevin Power (Feb 03 2022 at 17:25):
Worth asking about?
Patrick Werner (Feb 04 2022 at 08:12):
Yes, definitely
Patrick Werner (Feb 07 2022 at 11:49):
I asked about it here: https://chat.fhir.org/#narrow/stream/179252-IG-creation/topic/Found.20multiple.20matching.20profiles.2E.2E.2E/near/270964718
Patrick Werner (Feb 07 2022 at 16:01):
found the source of the issue: tx.fhir.org doesn't know the Loinc LL VS
Bret H (Feb 07 2022 at 18:11):
would they expect that we just use LOINC?
Kevin Power (Feb 07 2022 at 19:00):
In this case, we are using LOINC. The two profiles in question define a binding on Task.code to different LOINC answer lists. And then part of the FHIR validator processing is to evaluate each instance of a resource to determine if it matches a profile. In this case, that includes validating that Task.code we have in our example matches the binding on the two profiles. Well, it seems that tx.fhir.org doesn't have any LOINC defined answer lists loaded, so therefore the validator is unable to confirm that the Task.code we used was in one of the ValueSets defined in the bindings. So therefore, the validator wasn't able to determine if our instance matched one of the profiles we said it should be, so therefore it throws the warning.
I hope I have that right after @Patrick Werner had to set me straight. :smile:
Last updated: Apr 12 2022 at 19:14 UTC