StructureMap - FHIR Resource (stu3)


Resource Attributes

AttributeField is listTypeDescription
contacttrueContactDetail Contact details for the publisher
copyrightfalsemarkdown Use and/or publishing restrictions
datefalsedateTime Date this was last changed
descriptionfalsemarkdown Natural language description of the structure map
experimentalfalseboolean For testing purposes, not real usage
grouptrueData Type Named sections for reader convenience
identifiertrueIdentifier Additional identifier for the structure map
importtrueuri Other maps used by this map (canonical URLs)
jurisdictiontrueCodeableConcept Intended jurisdiction for structure map (if applicable)
namefalsestring Name for this structure map (computer friendly)
publisherfalsestring Name of the publisher (organization or individual)
purposefalsemarkdown Why this structure map is defined
statusfalsecode draft | active | retired | unknown
structuretrueData Type Structure Definition used by this map
titlefalsestring Name for this structure map (human friendly)
urlfalseuri Logical URI to reference this structure map (globally unique)
useContexttrueUsageContext Context the content is intended to support
versionfalsestring Business version of the structure map

StructureMap Example

{
  "status": "draft",
  "publisher": "HL7 FHIR Standard",
  "group": [
    {
      "typeMode": "none",
      "documentation": "test -> testValue",
      "name": "Examples",
      "rule": [
        {
          "source": [
            {
              "variable": "t",
              "type": "SourceClassA",
              "context": "Source",
              "element": "test"
            }
          ],
          "name": "rule1",
          "target": [
            {
              "contextType": "variable",
              "transform": "copy",
              "context": "Destination",
              "element": "testValue"
            }
          ]
        }
      ],
      "input": [
        {
          "name": "test",
          "mode": "source"
        }
      ]
    }
  ],
  "name": "ExampleMap",
  "title": "Example Map",
  "resourceType": "StructureMap",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p><b>Generated Narrative with Details</b></p><p><b>id</b>: example</p><p><b>url</b>: <a>http://hl7.org/fhir/StructureMap/example</a></p><p><b>identifier</b>: urn:oid:37843577-95fb-4adb-84c0-8837188a7bf3</p><p><b>version</b>: 0.1</p><p><b>name</b>: ExampleMap</p><p><b>title</b>: Example Map</p><p><b>status</b>: draft</p><p><b>date</b>: 09/03/2017</p><p><b>publisher</b>: HL7 FHIR Standard</p><p><b>contact</b>: </p><p><b>description</b>: Example Structure Map</p><p><b>jurisdiction</b>: Oceania <span>(Details : {http://unstats.un.org/unsd/methods/m49/m49.htm code '009' = 'Oceania', given as 'Oceania'})</span></p><blockquote><p><b>group</b></p><p><b>name</b>: Examples</p><p><b>typeMode</b>: none</p><p><b>documentation</b>: test -&gt; testValue</p><h3>Inputs</h3><table><tr><td>-</td><td><b>Name</b></td><td><b>Mode</b></td></tr><tr><td>*</td><td>test</td><td>source</td></tr></table><blockquote><p><b>rule</b></p><p><b>name</b>: rule1</p><h3>Sources</h3><table><tr><td>-</td><td><b>Context</b></td><td><b>Type</b></td><td><b>Element</b></td><td><b>Variable</b></td></tr><tr><td>*</td><td>Source</td><td>SourceClassA</td><td>test</td><td>t</td></tr></table><h3>Targets</h3><table><tr><td>-</td><td><b>Context</b></td><td><b>ContextType</b></td><td><b>Element</b></td><td><b>Transform</b></td></tr><tr><td>*</td><td>Destination</td><td>variable</td><td>testValue</td><td>copy</td></tr></table></blockquote></blockquote></div>"
  },
  "jurisdiction": [
    {
      "coding": [
        {
          "code": "009",
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "display": "Oceania"
        }
      ]
    }
  ],
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://hl7.org/fhir"
        }
      ]
    }
  ],
  "url": "http://hl7.org/fhir/StructureMap/example",
  "version": "0.1",
  "date": "2017-03-09",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:37843577-95fb-4adb-84c0-8837188a7bf3"
    }
  ],
  "id": "example",
  "description": "Example Structure Map"
}

StructureMap Structure


  
{
  "resourceType" : "StructureMap",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Logical URI to reference this structure map (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the structure map
  "version" : "<string>", // Business version of the structure map
  "name" : "<string>", // R!  Name for this structure map (computer friendly)
  "title" : "<string>", // Name for this structure map (human friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date this was last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // Natural language description of the structure map
  "useContext" : [{ UsageContext }], // Context the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for structure map (if applicable)
  "purpose" : "<markdown>", // Why this structure map is defined
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "structure" : [{ // Structure Definition used by this map
    "url" : "<uri>", // R!  Canonical URL for structure definition
    "mode" : "<code>", // R!  source | queried | target | produced
    "alias" : "<string>", // Name for type in this map
    "documentation" : "<string>" // Documentation on use of structure
  }],
  "import" : ["<uri>"], // Other maps used by this map (canonical URLs)
  "group" : [{ // R!  Named sections for reader convenience
    "name" : "<id>", // R!  Human-readable label
    "extends" : "<id>", // Another group that this group adds rules to
    "typeMode" : "<code>", // R!  none | types | type-and-types
    "documentation" : "<string>", // Additional description/explaination for group
    "input" : [{ // R!  Named instance provided when invoking the map
      "name" : "<id>", // R!  Name for this instance of data
      "type" : "<string>", // Type for this instance of data
      "mode" : "<code>", // R!  source | target
      "documentation" : "<string>" // Documentation for this instance of data
    }],
    "rule" : [{ // R!  Transform Rule from source to target
      "name" : "<id>", // R!  Name of the rule for internal references
      "source" : [{ // R!  Source inputs to the mapping
        "context" : "<id>", // R!  Type or variable this rule applies to
        "min" : <integer>, // Specified minimum cardinality
        "max" : "<string>", // Specified maximum cardinality (number or *)
        "type" : "<string>", // Rule only applies if source has this type
        // defaultValue[x]: Default value if no value exists. One of these 23:
        "defaultValueInteger" : <integer>,
        "defaultValueDecimal" : <decimal>,
        "defaultValueDateTime" : "<dateTime>",
        "defaultValueDate" : "<date>",
        "defaultValueInstant" : "<instant>",
        "defaultValueString" : "<string>",
        "defaultValueUri" : "<uri>",
        "defaultValueBoolean" : <boolean>,
        "defaultValueCode" : "<code>",
        "defaultValueBase64Binary" : "<base64Binary>",
        "defaultValueCoding" : { Coding },
        "defaultValueCodeableConcept" : { CodeableConcept },
        "defaultValueAttachment" : { Attachment },
        "defaultValueIdentifier" : { Identifier },
        "defaultValueQuantity" : { Quantity },
        "defaultValueRange" : { Range },
        "defaultValuePeriod" : { Period },
        "defaultValueRatio" : { Ratio },
        "defaultValueHumanName" : { HumanName },
        "defaultValueAddress" : { Address },
        "defaultValueContactPoint" : { ContactPoint },
        "defaultValueSchedule" : { Schedule },
        "defaultValueReference" : { Reference },
        "element" : "<string>", // Optional field for this source
        "listMode" : "<code>", // first | not_first | last | not_last | only_one
        "variable" : "<id>", // Named context for field, if a field is specified
        "condition" : "<string>", // FHIRPath expression  - must be true or the rule does not apply
        "check" : "<string>" // FHIRPath expression  - must be true or the mapping engine throws an error instead of completing
      }],
      "target" : [{ // Content to create because of this mapping rule
        "context" : "<id>", // Type or variable this rule applies to
        "contextType" : "<code>", // type | variable
        "element" : "<string>", // Field to create in the context
        "variable" : "<id>", // Named context for field, if desired, and a field is specified
        "listMode" : ["<code>"], // first | share | last | collate
        "listRuleId" : "<id>", // Internal rule reference for shared list items
        "transform" : "<code>", // create | copy +
        "parameter" : [{ // Parameters to the transform
          // value[x]: Parameter value - variable or literal. One of these 5:
          "valueId" : "<id>"
          "valueString" : "<string>"
          "valueBoolean" : <boolean>
          "valueInteger" : <integer>
          "valueDecimal" : <decimal>
        }]
      }],
      "rule" : [{ Content as for StructureMap.group.rule }], // Rules contained in this rule
      "dependent" : [{ // Which other rules to apply in the context of this rule
        "name" : "<id>", // R!  Name of a rule or group to apply
        "variable" : ["<string>"] // R!  Variable to pass to the rule or group
      }],
      "documentation" : "<string>" // Documentation for this instance of data
    }]
  }]
}


 

StructureMap Search Parameters

The following search parameters can be used to query StructureMap resources. Just submit the like so:

https://api.1up.health/fhir/stu3/StructureMap?query-param=queryvalue
Search ParameterField TypeResource Fields Searched
datedatedate
descriptiontextdescription
identifiertextidentifier
jurisdictiontextjurisdiction
nametextname
publishertextpublisher
statustextstatus
titletexttitle
urluriurl
versiontextversion