"url": "http://hl7.org/fhir/StructureMap/example"
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:37843577-95fb-4adb-84c0-8837188a7bf3"
}
]
"version": "0.1"
"name": "ExampleMap"
"title": "Example Map"
"status": "draft"
"experimental":
"date": "2017-03-09"
"publisher": "HL7 FHIR Standard"
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://hl7.org/fhir"
}
]
}
]
"description": "Example Structure Map"
"useContext":
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "009",
"display": "Oceania"
}
]
}
]
"purpose":
"copyright":
"structure":
"import":
"group": [
{
"name": "Examples",
"typeMode": "none",
"documentation": "test -> testValue",
"input": [
{
"name": "test",
"mode": "source"
}
],
"rule": [
{
"name": "rule1",
"source": [
{
"context": "Source",
"type": "SourceClassA",
"element": "test",
"variable": "t"
}
],
"target": [
{
"context": "Destination",
"contextType": "variable",
"element": "testValue",
"transform": "copy"
}
]
}
]
}
]
{
"resourceType": "StructureMap",
"id": "example",
"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>: <b>http://hl7.org/fhir/StructureMap/example</b></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 -> 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>"
},
"url": "http://hl7.org/fhir/StructureMap/example",
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:37843577-95fb-4adb-84c0-8837188a7bf3"
}
],
"version": "0.1",
"name": "ExampleMap",
"title": "Example Map",
"status": "draft",
"date": "2017-03-09",
"publisher": "HL7 FHIR Standard",
"contact": [
{
"telecom": [
{
"system": "url",
"value": "http://hl7.org/fhir"
}
]
}
],
"description": "Example Structure Map",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "009",
"display": "Oceania"
}
]
}
],
"group": [
{
"name": "Examples",
"typeMode": "none",
"documentation": "test -> testValue",
"input": [
{
"name": "test",
"mode": "source"
}
],
"rule": [
{
"name": "rule1",
"source": [
{
"context": "Source",
"type": "SourceClassA",
"element": "test",
"variable": "t"
}
],
"target": [
{
"context": "Destination",
"contextType": "variable",
"element": "testValue",
"transform": "copy"
}
]
}
]
}
]
}
{
"resourceType" : "StructureMap",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // R! Canonical identifier for this structure map, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the structure map
"version" : "<string>", // Business version of the structure map
"name" : "<string>", // C? 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 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 }], // The context that 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" : { canonical(StructureDefinition) }, // R! Canonical reference to 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" : [{ canonical(StructureMap) }], // 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/explanation 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 50:
"defaultValueBase64Binary" : "<base64Binary>",
"defaultValueBoolean" : <boolean>,
"defaultValueCanonical" : "<canonical>",
"defaultValueCode" : "<code>",
"defaultValueDate" : "<date>",
"defaultValueDateTime" : "<dateTime>",
"defaultValueDecimal" : <decimal>,
"defaultValueId" : "<id>",
"defaultValueInstant" : "<instant>",
"defaultValueInteger" : <integer>,
"defaultValueMarkdown" : "<markdown>",
"defaultValueOid" : "<oid>",
"defaultValuePositiveInt" : "<positiveInt>",
"defaultValueString" : "<string>",
"defaultValueTime" : "<time>",
"defaultValueUnsignedInt" : "<unsignedInt>",
"defaultValueUri" : "<uri>",
"defaultValueUrl" : "<url>",
"defaultValueUuid" : "<uuid>",
"defaultValueAddress" : { Address },
"defaultValueAge" : { Age },
"defaultValueAnnotation" : { Annotation },
"defaultValueAttachment" : { Attachment },
"defaultValueCodeableConcept" : { CodeableConcept },
"defaultValueCoding" : { Coding },
"defaultValueContactPoint" : { ContactPoint },
"defaultValueCount" : { Count },
"defaultValueDistance" : { Distance },
"defaultValueDuration" : { Duration },
"defaultValueHumanName" : { HumanName },
"defaultValueIdentifier" : { Identifier },
"defaultValueMoney" : { Money },
"defaultValuePeriod" : { Period },
"defaultValueQuantity" : { Quantity },
"defaultValueRange" : { Range },
"defaultValueRatio" : { Ratio },
"defaultValueReference" : { Reference },
"defaultValueSampledData" : { SampledData },
"defaultValueSignature" : { Signature },
"defaultValueTiming" : { Timing },
"defaultValueContactDetail" : { ContactDetail },
"defaultValueContributor" : { Contributor },
"defaultValueDataRequirement" : { DataRequirement },
"defaultValueExpression" : { Expression },
"defaultValueParameterDefinition" : { ParameterDefinition },
"defaultValueRelatedArtifact" : { RelatedArtifact },
"defaultValueTriggerDefinition" : { TriggerDefinition },
"defaultValueUsageContext" : { UsageContext },
"defaultValueDosage" : { Dosage },
"defaultValueMeta" : { Meta },
"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
"logMessage" : "<string>" // Message to put in log if source exists (FHIRPath)
}],
"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
}]
}]
}
The following search parameters can be used to query StructureMap resources. Just submit them like so:
https://api.1up.health/fhir/r4/StructureMap?query-param=queryvalue
Search Parameter | Field Type | Resource Fields Searched |
---|---|---|
context | text | useContext.value |
context-quantity | quantity | useContext.value |
context-type | text | useContext.code |
context-type-quantity | composite | useContext |
context-type-value | composite | useContext |
date | date | date |
description | text | description |
identifier | text | identifier |
jurisdiction | text | jurisdiction |
name | text | name |
publisher | text | publisher |
status | text | status |
title | text | title |
url | uri | url |
version | text | version |