Package | hl7.fhir.uv.sdc |
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-07-14T18:38:59+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 |
sdc-questionnaire-behave | Advanced Behavior Questionnaire |
sdc-questionnaire-pop-exp | Populatable Questionnaire - Expression |
sdc-questionnaire-pop-smap | Populatable Questionnaire - StructureMap |
ValueSet | |
launchContext | Questionnaire Launch Context |
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-07-14T18:38:59+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" } ] } }