FHIR Chat · Snapshot and extensions · conformance

Stream: conformance

Topic: Snapshot and extensions


view this post on Zulip Michel Rutten (Jul 22 2019 at 14:19):

Question about the sparse representation of profile extensions in the StructureDefinition.snapshot component:

The snapshot generator implementation in the .NET FHIR API library no longer includes the child elements .extension.id, .extension.url & .extension.value of a referenced extension in the generated snapshot by default, unless the containing profile explicitly specifies one or more constraints on those extension child elements.

Example:

Patient
  Patient.extension:myPatientExtension, type.profile="http://example.org/fhir/StructureDefinition/MyPatientExtension"
    (OMITTED: Patient.extension.id)
    (OMITTED: Patient.extension.url, fixedUri = "http://example.org/fhir/StructureDefinition/MyPatientExtension")
    (OMITTED: Patient.extension.valueString)
  Patient.identifier

This behavior conforms to generic rules for generating snapshots; include constrained elements with all their siblings and parents, exclude others. The omitted information is redundant and can be resolved from the referenced extension definition (via type.profile). Processing systems can resolve the target extension and further expand the snapshot on demand. Omitting redundant info significantly decreases the file size of profiles with extensions.

However, I am wondering if our current implementation might break some (less capable) systems? Specifically, do systems expect the .extension.url element to always be present in the snapshot? Or should all systems be capable of resolving the redundant information from the referenced extension definitions?


Last updated: Apr 12 2022 at 19:14 UTC