| Package | hl7.fhir.uv.sdc |
| Resource Type | StructureDefinition |
| Id | sdc-questionnaire-launchContext |
| FHIR Version | R4 |
| Source | http://hl7.org/fhir/uv/sdc/https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire-launchContext.html |
| URL | http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext |
| Version | 4.0.0-ballot |
| Status | active |
| Date | 2025-08-07T06:58:13+00:00 |
| Name | LaunchContextExtension |
| Title | Launch Contexts |
| Realm | uv |
| Authority | hl7 |
| Description | Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse. |
| Purpose | Indicates to systems creating or updating a QuestionnaireResponse what types of information to pass in for internal processing. May also influence things like SMART on FHIR permission requests. |
| Type | Extension |
| Kind | complex-type |
| StructureDefinition | |
| sdc-questionnaire-behave | Advanced Behavior Questionnaire |
| sdc-questionnaire-pop-exp | Populatable Questionnaire - Expression |
| sdc-questionnaire-pop-smap | Populatable Questionnaire - StructureMap |
| dtr-base-questionnaire | DTR Base Questionnaire |
| ValueSet | |
| launchContext | Questionnaire Launch Context |
Note: links and images are rebased to the (stated) source
Generated Narrative: StructureDefinition sdc-questionnaire-launchContext
| Name | Flags | Card. | Type | Description & Constraints |
|---|---|---|---|---|
![]() | C | 0..* | Extension | Context resources needed for Questionnaire Constraints: sdc-lcext-1 |
![]() ![]() | 2..* | Extension | Extension | |
![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() | 1..1 | Extension | Variable name | |
![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | 1..1 | uri | "name" | |
![]() ![]() ![]() ![]() | 1..1 | Coding | Value of extension Binding: Questionnaire Launch Context (extensible): Launch context codes for use in defining questionnaires context at launch time (NOTE: the Coding.code will be used for the variable name and that (at present) there is no support for Questionnaires that use multiple launch contexts which share a common code but different code systems. Also, all launch context codes must meet the requirements to be a valid FHIRPath name.). | |
![]() ![]() ![]() | 1..* | Extension | Resource type | |
![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | 1..1 | uri | "type" | |
![]() ![]() ![]() ![]() | 1..1 | code | Value of extension Binding: ResourceType (required) | |
![]() ![]() ![]() | 0..1 | Extension | Explanation of context element | |
![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | 1..1 | uri | "description" | |
![]() ![]() ![]() ![]() | 1..1 | string | Value of extension | |
![]() ![]() ![]() | 0..1 | Extension | Allow multiple resources | |
![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | 1..1 | uri | "multiplesAllowed" | |
![]() ![]() ![]() ![]() | 0..1 | boolean | Value of extension | |
![]() ![]() | 1..1 | uri | "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext" | |
![]() ![]() | 0..0 | |||
{
"resourceType": "StructureDefinition",
"id": "sdc-questionnaire-launchContext",
"text": {
"status": "extensions",
"div": "<!-- snip (see above) -->"
},
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode": "fhir"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger": 4,
"_valueInteger": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical": "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "trial-use",
"_valueCode": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
"valueCanonical": "http://hl7.org/fhir/uv/sdc/ImplementationGuide/hl7.fhir.uv.sdc"
}
]
}
}
],
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext",
"identifier": [
{
"system": "urn:ietf:rfc:3986",
"value": "urn:oid:2.16.840.1.113883.4.642.40.17.42.34"
}
],
"version": "4.0.0-ballot",
"name": "LaunchContextExtension",
"title": "Launch Contexts",
"status": "active",
"date": "2025-08-07T06:58:13+00:00",
"publisher": "HL7 International / FHIR Infrastructure",
"contact": [
{
"name": "HL7 International / FHIR Infrastructure",
"telecom": [
{
"system": "url",
"value": "http://www.hl7.org/Special/committees/fiwg"
}
]
},
{
"telecom": [
{
"system": "url",
"value": "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse.",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001",
"display": "World"
}
]
}
],
"purpose": "Indicates to systems creating or updating a QuestionnaireResponse what types of information to pass in for internal processing. May also influence things like SMART on FHIR permission requests.",
"fhirVersion": "4.0.1",
"mapping": [
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "complex-type",
"abstract": false,
"context": [
{
"type": "element",
"expression": "Questionnaire"
}
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"snapshot": {
"extension": [
{
"url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
"valueString": "4.0.1"
}
],
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Context resources needed for Questionnaire",
"definition": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse.",
"comment": "3 of these launch contexts are aligned with the existing SMART on FHIR \"launch\" contexts.",
"min": 0,
"max": "*",
"base": {
"path": "Extension",
"min": 0,
"max": "*"
},
"condition": [
"ele-1"
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
},
{
"key": "sdc-lcext-1",
"severity": "error",
"human": "Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, Organization, RelatedPerson, Device; encounter: Encounter; location: Location; study: ResearchStudy; clinical: Any allowed clinical resource",
"expression": "(extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Patient')) and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value='Patient' or value='Practitioner' or value='PractitionerRole' or value='RelatedPerson' or value='Organization' or value='Device')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Encounter')) and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Location')) and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'ResearchStudy'))",
"xpath": "(not(f:extension[@url='name' and f:valueCoding[f:code/@value='patient' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Patient'])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='user' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!=('Patient','Practitioner','PractitionerRole','RelatedPerson', 'Organization', 'Device')])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='encounter' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Encounter']))) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='study' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or f:extension[@url='type' and not(f:valueCode/@value!='ResearchStudy'])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='location' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Location']))",
"source": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
}
],
"isModifier": false
},
{
"id": "Extension.id",
"path": "Extension.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 2,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:name",
"path": "Extension.extension",
"sliceName": "name",
"short": "Variable name",
"definition": "The variable name the passed resource will be referenced by within the Questionnaire logic.",
"min": 1,
"max": "1",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:name.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:name.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:name.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "name",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:name.value[x]",
"path": "Extension.extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Coding"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
"strength": "extensible",
"description": "Launch context codes for use in defining questionnaires context at launch time (NOTE: the Coding.code will be used for the variable name and that (at present) there is no support for Questionnaires that use multiple launch contexts which share a common code but different code systems. Also, all launch context codes must meet the requirements to be a valid FHIRPath name.).",
"valueSet": "http://hl7.org/fhir/uv/sdc/ValueSet/launchContext"
},
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:type",
"path": "Extension.extension",
"sliceName": "type",
"short": "Resource type",
"definition": "The kind of resource to be provided.",
"min": 1,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:type.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:type.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:type.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "type",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:type.value[x]",
"path": "Extension.extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
},
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:description",
"path": "Extension.extension",
"sliceName": "description",
"short": "Explanation of context element",
"definition": "Guidance on the resource to be provided and what impact providing it will have on questionnaire behavior.",
"min": 0,
"max": "1",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:description.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:description.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:description.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "description",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:description.value[x]",
"path": "Extension.extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min": 1,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:multiplesAllowed",
"path": "Extension.extension",
"sliceName": "multiplesAllowed",
"short": "Allow multiple resources",
"definition": "Indicates whether multiple resources are permitted for this context element.",
"min": 0,
"max": "1",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:multiplesAllowed.id",
"path": "Extension.extension.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "Extension.extension:multiplesAllowed.extension",
"path": "Extension.extension.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"short": "Extension",
"definition": "An Extension",
"min": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false
},
{
"id": "Extension.extension:multiplesAllowed.url",
"path": "Extension.extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "multiplesAllowed",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.extension:multiplesAllowed.value[x]",
"path": "Extension.extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"representation": [
"xmlAttr"
],
"short": "identifies the meaning of the extension",
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"comment": "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
"min": 1,
"max": "1",
"base": {
"path": "Extension.url",
"min": 1,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"fixedUri": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext",
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4/extensibility.html) for a list).",
"min": 0,
"max": "0",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "base64Binary"
},
{
"code": "boolean"
},
{
"code": "canonical"
},
{
"code": "code"
},
{
"code": "date"
},
{
"code": "dateTime"
},
{
"code": "decimal"
},
{
"code": "id"
},
{
"code": "instant"
},
{
"code": "integer"
},
{
"code": "markdown"
},
{
"code": "oid"
},
{
"code": "positiveInt"
},
{
"code": "string"
},
{
"code": "time"
},
{
"code": "unsignedInt"
},
{
"code": "uri"
},
{
"code": "url"
},
{
"code": "uuid"
},
{
"code": "Address"
},
{
"code": "Age"
},
{
"code": "Annotation"
},
{
"code": "Attachment"
},
{
"code": "CodeableConcept"
},
{
"code": "Coding"
},
{
"code": "ContactPoint"
},
{
"code": "Count"
},
{
"code": "Distance"
},
{
"code": "Duration"
},
{
"code": "HumanName"
},
{
"code": "Identifier"
},
{
"code": "Money"
},
{
"code": "Period"
},
{
"code": "Quantity"
},
{
"code": "Range"
},
{
"code": "Ratio"
},
{
"code": "Reference"
},
{
"code": "SampledData"
},
{
"code": "Signature"
},
{
"code": "Timing"
},
{
"code": "ContactDetail"
},
{
"code": "Contributor"
},
{
"code": "DataRequirement"
},
{
"code": "Expression"
},
{
"code": "ParameterDefinition"
},
{
"code": "RelatedArtifact"
},
{
"code": "TriggerDefinition"
},
{
"code": "UsageContext"
},
{
"code": "Dosage"
},
{
"code": "Meta"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"differential": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Context resources needed for Questionnaire",
"definition": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse.",
"comment": "3 of these launch contexts are aligned with the existing SMART on FHIR \"launch\" contexts.",
"constraint": [
{
"key": "sdc-lcext-1",
"severity": "error",
"human": "Types must be from the specified value set of resource types based on name: patient: Patient; user: Patient, Practitioner, PractitionerRole, Organization, RelatedPerson, Device; encounter: Encounter; location: Location; study: ResearchStudy; clinical: Any allowed clinical resource",
"expression": "(extension('name').value.where(code='patient' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Patient')) and (extension('name').value.where(code='user' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value='Patient' or value='Practitioner' or value='PractitionerRole' or value='RelatedPerson' or value='Organization' or value='Device')) and (extension('name').value.where(code='encounter' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Encounter')) and (extension('name').value.where(code='location' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'Location')) and (extension('name').value.where(code='study' and system='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext').exists() implies extension('type').all(value = 'ResearchStudy'))",
"xpath": "(not(f:extension[@url='name' and f:valueCoding[f:code/@value='patient' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Patient'])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='user' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!=('Patient','Practitioner','PractitionerRole','RelatedPerson', 'Organization', 'Device')])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='encounter' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Encounter']))) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='study' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or f:extension[@url='type' and not(f:valueCode/@value!='ResearchStudy'])) and (not(f:extension[@url='name' and f:valueCoding[f:code/@value='location' and f:system/@value='http://hl7.org/fhir/uv/sdc/CodeSystem/launchContext']]) or not(f:extension[@url='type' and f:valueCode/@value!='Location']))",
"source": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
}
]
},
{
"id": "Extension.extension",
"path": "Extension.extension",
"min": 2
},
{
"id": "Extension.extension:name",
"path": "Extension.extension",
"sliceName": "name",
"short": "Variable name",
"definition": "The variable name the passed resource will be referenced by within the Questionnaire logic.",
"min": 1,
"max": "1"
},
{
"id": "Extension.extension:name.extension",
"path": "Extension.extension.extension",
"max": "0"
},
{
"id": "Extension.extension:name.url",
"path": "Extension.extension.url",
"fixedUri": "name"
},
{
"id": "Extension.extension:name.value[x]",
"path": "Extension.extension.value[x]",
"min": 1,
"type": [
{
"code": "Coding"
}
],
"binding": {
"strength": "extensible",
"description": "Launch context codes for use in defining questionnaires context at launch time (NOTE: the Coding.code will be used for the variable name and that (at present) there is no support for Questionnaires that use multiple launch contexts which share a common code but different code systems. Also, all launch context codes must meet the requirements to be a valid FHIRPath name.).",
"valueSet": "http://hl7.org/fhir/uv/sdc/ValueSet/launchContext"
}
},
{
"id": "Extension.extension:type",
"path": "Extension.extension",
"sliceName": "type",
"short": "Resource type",
"definition": "The kind of resource to be provided.",
"min": 1,
"max": "*"
},
{
"id": "Extension.extension:type.extension",
"path": "Extension.extension.extension",
"max": "0"
},
{
"id": "Extension.extension:type.url",
"path": "Extension.extension.url",
"fixedUri": "type"
},
{
"id": "Extension.extension:type.value[x]",
"path": "Extension.extension.value[x]",
"min": 1,
"type": [
{
"code": "code"
}
],
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
}
},
{
"id": "Extension.extension:description",
"path": "Extension.extension",
"sliceName": "description",
"short": "Explanation of context element",
"definition": "Guidance on the resource to be provided and what impact providing it will have on questionnaire behavior.",
"min": 0,
"max": "1"
},
{
"id": "Extension.extension:description.extension",
"path": "Extension.extension.extension",
"max": "0"
},
{
"id": "Extension.extension:description.url",
"path": "Extension.extension.url",
"fixedUri": "description"
},
{
"id": "Extension.extension:description.value[x]",
"path": "Extension.extension.value[x]",
"min": 1,
"type": [
{
"code": "string"
}
]
},
{
"id": "Extension.extension:multiplesAllowed",
"path": "Extension.extension",
"sliceName": "multiplesAllowed",
"short": "Allow multiple resources",
"definition": "Indicates whether multiple resources are permitted for this context element.",
"min": 0,
"max": "1"
},
{
"id": "Extension.extension:multiplesAllowed.extension",
"path": "Extension.extension.extension",
"max": "0"
},
{
"id": "Extension.extension:multiplesAllowed.url",
"path": "Extension.extension.url",
"fixedUri": "multiplesAllowed"
},
{
"id": "Extension.extension:multiplesAllowed.value[x]",
"path": "Extension.extension.value[x]",
"type": [
{
"code": "boolean"
}
]
},
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"max": "0"
}
]
}
}