FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureMap/Goal3to4

Packagehl7.fhir.uv.xver
Resource TypeStructureMap
IdGoal3to4
FHIR VersionR5
Sourcehttp://hl7.org/fhir/extensions/https://build.fhir.org/ig/HL7/fhir-cross-version/StructureMap-Goal3to4.html
URLhttp://hl7.org/fhir/StructureMap/Goal3to4
Version0.1.0
Statusactive
Date2024-02-22T03:16:50+00:00
NameGoal3to4
TitleGoal Transforms: R3 to R4
Realmuv
Authorityhl7
DescriptionGoalTransformsR3toR4

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

/// url = 'http://hl7.org/fhir/StructureMap/Goal3to4'
/// name = 'Goal3to4'
/// title = 'Goal Transforms: R3 to R4'
/// status = 'active'

uses "http://hl7.org/fhir/3.0/Goal" alias GoalR3 as source
uses "http://hl7.org/fhir/4.0/Goal" alias Goal as target

imports "http://hl7.org/fhir/StructureMap/*3to4"

group Goal(source src : GoalR3, target tgt : Goal) extends DomainResource <<type+>> {
  src.identifier -> tgt.identifier;
  src.status where value in ('proposed' | 'planned' | 'accepted' | 'on-hold' | 'cancelled' | 'entered-in-error' | 'rejected') -> tgt.lifecycleStatus;
  src.status where value = 'achieved' -> tgt.lifecycleStatus = 'completed';
  src.status as s where value in ('in-progress' | 'sustaining') ->  tgt.lifecycleStatus = 'active',  tgt.achievementStatus as cc,  cc.coding as c,  c.system = 'http://terminology.hl7.org/CodeSystem/goal-achievement',  c.code = s;
  src.status where value = 'on-target' ->  tgt.lifecycleStatus = 'active',  tgt.achievementStatus as cc,  cc.coding as c,  c.system = 'http://terminology.hl7.org/CodeSystem/goal-achievement',  c.code = 'sustaining';
  src.status where value = 'ahead-of-target' ->  tgt.lifecycleStatus = 'active',  tgt.achievementStatus as cc,  cc.coding as c,  c.system = 'http://terminology.hl7.org/CodeSystem/goal-achievement',  c.code = 'improving';
  src.status where value = 'behind-target' ->  tgt.lifecycleStatus = 'active',  tgt.achievementStatus as cc,  cc.coding as c,  c.system = 'http://terminology.hl7.org/CodeSystem/goal-achievement',  c.code = 'worsening';
  src.category -> tgt.category;
  src.priority -> tgt.priority;
  src.description -> tgt.description;
  src.subject -> tgt.subject;
  src.start : date as vs -> tgt.start = create('date') as vt then date(vs, vt);
  src.start : CodeableConcept as vs -> tgt.start = create('CodeableConcept') as vt then CodeableConcept(vs, vt);
  src.target as vs0 -> tgt.target as vt0 then target(vs0, vt0);
  src.statusDate -> tgt.statusDate;
  src.statusReason -> tgt.statusReason;
  src.expressedBy -> tgt.expressedBy;
  src.addresses -> tgt.addresses;
  src.note -> tgt.note;
  src.outcomeCode -> tgt.outcomeCode;
  src.outcomeReference -> tgt.outcomeReference;
}

group target(source src, target tgt) extends BackboneElement {
  src.measure -> tgt.measure;
  src.detail : Quantity as vs -> tgt.detail = create('Quantity') as vt then Quantity(vs, vt);
  src.detail : Range as vs -> tgt.detail = create('Range') as vt then Range(vs, vt);
  src.detail : CodeableConcept as vs -> tgt.detail = create('CodeableConcept') as vt then CodeableConcept(vs, vt);
  src.due : date as vs -> tgt.due = create('date') as vt then date(vs, vt);
  src.due : Duration as vs -> tgt.due = create('Duration') as vt then Duration(vs, vt);
}


Source

{
  "resourceType": "StructureMap",
  "id": "Goal3to4",
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1,
      "_valueInteger": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "draft",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/extensions/ImplementationGuide/hl7.fhir.uv.xver"
          }
        ]
      }
    }
  ],
  "url": "http://hl7.org/fhir/StructureMap/Goal3to4",
  "version": "0.1.0",
  "name": "Goal3to4",
  "title": "Goal Transforms: R3 to R4",
  "status": "active",
  "date": "2024-02-22T03:16:50+00:00",
  "publisher": "HL7 International / FHIR Infrastructure",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "description": "GoalTransformsR3toR4",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "structure": [
    {
      "url": "http://hl7.org/fhir/3.0/Goal",
      "mode": "source",
      "alias": "GoalR3"
    },
    {
      "url": "http://hl7.org/fhir/4.0/Goal",
      "mode": "target",
      "alias": "Goal"
    }
  ],
  "import": [
    "http://hl7.org/fhir/StructureMap/*3to4"
  ],
  "group": [
    {
      "name": "Goal",
      "extends": "DomainResource",
      "typeMode": "type-and-types",
      "input": [
        {
          "name": "src",
          "type": "GoalR3",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "Goal",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "identifier",
          "source": [
            {
              "context": "src",
              "element": "identifier",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "identifier",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "vvv",
              "condition": "value in ('proposed' | 'planned' | 'accepted' | 'on-hold' | 'cancelled' | 'entered-in-error' | 'rejected')"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "condition": "value = 'achieved'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "completed"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "variable": "s",
              "condition": "value in ('in-progress' | 'sustaining')"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "achievementStatus",
              "variable": "cc"
            },
            {
              "context": "cc",
              "element": "coding",
              "variable": "c"
            },
            {
              "context": "c",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/goal-achievement"
                }
              ]
            },
            {
              "context": "c",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "s"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "condition": "value = 'on-target'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "achievementStatus",
              "variable": "cc"
            },
            {
              "context": "cc",
              "element": "coding",
              "variable": "c"
            },
            {
              "context": "c",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/goal-achievement"
                }
              ]
            },
            {
              "context": "c",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "sustaining"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "condition": "value = 'ahead-of-target'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "achievementStatus",
              "variable": "cc"
            },
            {
              "context": "cc",
              "element": "coding",
              "variable": "c"
            },
            {
              "context": "c",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/goal-achievement"
                }
              ]
            },
            {
              "context": "c",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "improving"
                }
              ]
            }
          ]
        },
        {
          "name": "status",
          "source": [
            {
              "context": "src",
              "element": "status",
              "condition": "value = 'behind-target'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "lifecycleStatus",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "active"
                }
              ]
            },
            {
              "context": "tgt",
              "element": "achievementStatus",
              "variable": "cc"
            },
            {
              "context": "cc",
              "element": "coding",
              "variable": "c"
            },
            {
              "context": "c",
              "element": "system",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "http://terminology.hl7.org/CodeSystem/goal-achievement"
                }
              ]
            },
            {
              "context": "c",
              "element": "code",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "worsening"
                }
              ]
            }
          ]
        },
        {
          "name": "category",
          "source": [
            {
              "context": "src",
              "element": "category",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "category",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "priority",
          "source": [
            {
              "context": "src",
              "element": "priority",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "priority",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "description",
          "source": [
            {
              "context": "src",
              "element": "description",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "description",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "subject",
          "source": [
            {
              "context": "src",
              "element": "subject",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "subject",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "startDate",
          "source": [
            {
              "context": "src",
              "type": "date",
              "element": "start",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "start",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "date"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "date",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "startCodeableConcept",
          "source": [
            {
              "context": "src",
              "type": "CodeableConcept",
              "element": "start",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "start",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "CodeableConcept"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "CodeableConcept",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "target",
          "source": [
            {
              "context": "src",
              "element": "target",
              "variable": "vs0"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "target",
              "variable": "vt0"
            }
          ],
          "dependent": [
            {
              "name": "target",
              "parameter": [
                {
                  "valueId": "vs0"
                },
                {
                  "valueId": "vt0"
                }
              ]
            }
          ]
        },
        {
          "name": "statusDate",
          "source": [
            {
              "context": "src",
              "element": "statusDate",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "statusDate",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "statusReason",
          "source": [
            {
              "context": "src",
              "element": "statusReason",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "statusReason",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "expressedBy",
          "source": [
            {
              "context": "src",
              "element": "expressedBy",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "expressedBy",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "addresses",
          "source": [
            {
              "context": "src",
              "element": "addresses",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "addresses",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "note",
          "source": [
            {
              "context": "src",
              "element": "note",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "note",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "outcomeCode",
          "source": [
            {
              "context": "src",
              "element": "outcomeCode",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "outcomeCode",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "outcomeReference",
          "source": [
            {
              "context": "src",
              "element": "outcomeReference",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "outcomeReference",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "target",
      "extends": "BackboneElement",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "measure",
          "source": [
            {
              "context": "src",
              "element": "measure",
              "variable": "vvv"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "measure",
              "variable": "vvv",
              "transform": "create"
            }
          ],
          "dependent": [
            {
              "name": "DefaultMappingGroupAnonymousAlias",
              "parameter": [
                {
                  "valueId": "vvv"
                },
                {
                  "valueId": "vvv"
                }
              ]
            }
          ]
        },
        {
          "name": "detailQuantity",
          "source": [
            {
              "context": "src",
              "type": "Quantity",
              "element": "detail",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "detail",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Quantity"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Quantity",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "detailRange",
          "source": [
            {
              "context": "src",
              "type": "Range",
              "element": "detail",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "detail",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Range"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Range",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "detailCodeableConcept",
          "source": [
            {
              "context": "src",
              "type": "CodeableConcept",
              "element": "detail",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "detail",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "CodeableConcept"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "CodeableConcept",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "dueDate",
          "source": [
            {
              "context": "src",
              "type": "date",
              "element": "due",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "due",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "date"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "date",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        },
        {
          "name": "dueDuration",
          "source": [
            {
              "context": "src",
              "type": "Duration",
              "element": "due",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "element": "due",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "Duration"
                }
              ]
            }
          ],
          "dependent": [
            {
              "name": "Duration",
              "parameter": [
                {
                  "valueId": "vs"
                },
                {
                  "valueId": "vt"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}