In a StructureDefinition
like
"entry": [
{
"fullUrl": "http://hl7.org/fhir/StructureDefinition/condition-dueTo",
"resource": {
...
"base": "http://hl7.org/fhir/StructureDefinition/Extension",
"differential": {
"element": [
{
"path": "Extension",
, what is it "path": "Extension"
points to?
I'm working on generating client code that also can handle extensions, and I'm struggling to figure out how this path should be interpreted.
As far as I understand it, the next element
{
"path": "Extension.extension",
"name": "code",
constraints the extension
property of the current extensions base (Extension
).
Please correct me if this is wrong.
If Extension
would point to the base extension, then how is
"min": 0,
"max": "*",
to interpret.
So the main question again. How to interpret this path in an extension:
"path": "Extension",
StructureDefinitions define hierarchical structures with a flat list of elements in the snapshot view. The hierarchy is expressed via the hierarchy of .-separated node names in "path".
Path in differential points to a path in the snapshot. It identifies the "node" within the structural hierarchy of the resource, data type, extension, etc. In this case, "Extension" has no periods in it, so it refers to the root element of the extension. If it was Extension.extension or Extension.url or Extension.valueCodeableConcept.coding.code or something like that, it would refer to a deeper element within the hierarchy of the structure.