Evgeny Mukha
Mar 17, 2026, 11:04 AM
Hello, everyone! Could somebody please clarify how contentReference and recursive validation actually work in FHIR? Here’s my struggle: We have this SDC profile . It defines a constraint sdc-1 for the Questionnaire.item element. I thought this applies recursively to all items, including the top-level ones and nested ones. I checked it against the following data on https://validator.fhir.org/ with hl7.fhir.uv.sdc#3.0.0 installed. And surprisingly, it complains only about the element with linkId 2, while keeping the element with linkId 1.1 unattended. So, is this intended behavior or a bug in the validator? { "resourceType" : "Questionnaire" , "meta" : { "profile" : [ "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire" ] }, "url" : "http://hl7.org/a" , "status" : "active" , "item" : [ { "linkId" : "1" , "type" : "decimal" , "item" : [ { "linkId" : "1.1" , "extension" : [ { "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression" , "valueExpression" : { "language" : "text/fhirpath" , "expression" : "1 + 1" } } ], "answerValueSet" : "http://hl7.org/a/1" , "type" : "decimal" } ] }, { "linkId" : "2" , "extension" : [ { "url" : "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-answerExpression" , "valueExpression" : { "language" : "text/fhirpath" , "expression" : "1 + 1" } } ], "answerValueSet" : "http://hl7.org/a/1" , "type" : "decimal" } ] }