{
"description": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse.",
"_filename": "StructureDefinition-sdc-questionnaire-launchContext.json",
"package_name": "hl7.fhir.uv.sdc.r4b",
"date": "2024-12-17T01:55:34+00:00",
"derivation": "constraint",
"publisher": "HL7 International / FHIR Infrastructure",
"fhirVersion": "4.3.0",
"jurisdiction": [ {
"coding": [ {
"code": "001",
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"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.",
"name": "LaunchContextExtension",
"mapping": [ {
"uri": "http://hl7.org/v3",
"name": "RIM Mapping",
"identity": "rim"
} ],
"abstract": false,
"type": "Extension",
"experimental": null,
"resourceType": "StructureDefinition",
"title": "Launch Contexts",
"package_version": "4.0.0-ballot",
"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"
} ]
}
} ],
"snapshot": {
"element": [ {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
}, {
"key": "sdc-lcext-1",
"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",
"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",
"severity": "error",
"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'))"
} ],
"path": "Extension",
"min": 0,
"definition": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse.",
"isModifier": false,
"short": "Context resources needed for Questionnaire",
"max": "*",
"id": "Extension",
"condition": [ "ele-1" ],
"comment": "3 of these launch contexts are aligned with the existing SMART on FHIR \"launch\" contexts.",
"base": {
"max": "*",
"min": 0,
"path": "Extension"
}
}, {
"path": "Extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 2,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "*",
"id": "Extension.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 1,
"definition": "The variable name the passed resource will be referenced by within the Questionnaire logic.",
"isModifier": false,
"short": "Variable name",
"type": [ {
"code": "Extension"
} ],
"sliceName": "name",
"max": "1",
"id": "Extension.extension:name",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:name.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.extension",
"min": 0,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "0",
"id": "Extension.extension:name.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "name",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:name.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.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.extension.value[x]",
"min": 1,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4B/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "Coding"
} ],
"binding": {
"strength": "extensible",
"valueSet": "http://hl7.org/fhir/uv/sdc/ValueSet/launchContext",
"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.)."
},
"max": "1",
"id": "Extension.extension:name.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 1,
"definition": "The kind of resource to be provided.",
"isModifier": false,
"short": "Resource type",
"type": [ {
"code": "Extension"
} ],
"sliceName": "type",
"max": "*",
"id": "Extension.extension:type",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:type.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.extension",
"min": 0,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "0",
"id": "Extension.extension:type.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "type",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:type.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.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.extension.value[x]",
"min": 1,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4B/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "code"
} ],
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
},
"max": "1",
"id": "Extension.extension:type.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 0,
"definition": "Guidance on the resource to be provided and what impact providing it will have on questionnaire behavior.",
"isModifier": false,
"short": "Explanation of context element",
"type": [ {
"code": "Extension"
} ],
"sliceName": "description",
"max": "1",
"id": "Extension.extension:description",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:description.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.extension",
"min": 0,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "0",
"id": "Extension.extension:description.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "description",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:description.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.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.extension.value[x]",
"min": 1,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4B/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "string"
} ],
"max": "1",
"id": "Extension.extension:description.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension",
"min": 0,
"definition": "Indicates whether multiple resources are permitted for this context element.",
"isModifier": false,
"short": "Allow multiple resources",
"type": [ {
"code": "Extension"
} ],
"sliceName": "multiplesAllowed",
"max": "1",
"id": "Extension.extension:multiplesAllowed",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.id",
"min": 0,
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"isModifier": false,
"short": "Unique id for inter-element referencing",
"mapping": [ {
"map": "n/a",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:multiplesAllowed.id",
"base": {
"max": "1",
"min": 0,
"path": "Element.id"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
}, {
"key": "ext-1",
"human": "Must have either extensions or value[x], not both",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension",
"severity": "error",
"expression": "extension.exists() != value.exists()"
} ],
"path": "Extension.extension.extension",
"min": 0,
"definition": "An Extension",
"isModifier": false,
"short": "Extension",
"slicing": {
"rules": "open",
"description": "Extensions are always sliced by (at least) url",
"discriminator": [ {
"path": "url",
"type": "value"
} ]
},
"type": [ {
"code": "Extension"
} ],
"max": "0",
"id": "Extension.extension:multiplesAllowed.extension",
"base": {
"max": "*",
"min": 0,
"path": "Element.extension"
},
"isSummary": false
}, {
"path": "Extension.extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "multiplesAllowed",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.extension:multiplesAllowed.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.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.extension.value[x]",
"min": 0,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4B/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "boolean"
} ],
"max": "1",
"id": "Extension.extension:multiplesAllowed.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
}, {
"path": "Extension.url",
"min": 1,
"definition": "Source of the definition for the extension code - a logical name or a URL.",
"isModifier": false,
"short": "identifies the meaning of the extension",
"fixedUri": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"type": [ {
"code": "http://hl7.org/fhirpath/System.String",
"extension": [ {
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "uri"
} ]
} ],
"representation": [ "xmlAttr" ],
"max": "1",
"id": "Extension.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.",
"base": {
"max": "1",
"min": 1,
"path": "Extension.url"
},
"isSummary": false
}, {
"constraint": [ {
"key": "ele-1",
"human": "All FHIR elements must have a @value or children",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element",
"severity": "error",
"expression": "hasValue() or (children().count() > id.count())"
} ],
"path": "Extension.value[x]",
"min": 0,
"definition": "Value of extension - must be one of a constrained set of the data types (see [Extensibility](http://hl7.org/fhir/R4B/extensibility.html) for a list).",
"isModifier": false,
"short": "Value of extension",
"mapping": [ {
"map": "N/A",
"identity": "rim"
} ],
"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"
} ],
"max": "0",
"id": "Extension.value[x]",
"base": {
"max": "1",
"min": 0,
"path": "Extension.value[x]"
},
"isSummary": false
} ]
},
"status": "active",
"id": "8a98ce17-91fe-495d-9a86-3cee1a165c7f",
"kind": "complex-type",
"url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-launchContext",
"identifier": [ {
"value": "urn:oid:2.16.840.1.113883.4.642.40.17.42.34",
"system": "urn:ietf:rfc:3986"
} ],
"context": [ {
"type": "element",
"expression": "Questionnaire"
} ],
"version": "4.0.0-ballot",
"differential": {
"element": [ {
"id": "Extension",
"path": "Extension",
"short": "Context resources needed for Questionnaire",
"comment": "3 of these launch contexts are aligned with the existing SMART on FHIR \"launch\" contexts.",
"constraint": [ {
"key": "sdc-lcext-1",
"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",
"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",
"severity": "error",
"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'))"
} ],
"definition": "Resources that provide context for form processing logic (pre-population, flow-control, drop-down selection, etc.) when creating/displaying/editing a QuestionnaireResponse."
}, {
"id": "Extension.extension",
"min": 2,
"path": "Extension.extension"
}, {
"id": "Extension.extension:name",
"max": "1",
"min": 1,
"path": "Extension.extension",
"short": "Variable name",
"sliceName": "name",
"definition": "The variable name the passed resource will be referenced by within the Questionnaire logic."
}, {
"id": "Extension.extension:name.extension",
"max": "0",
"path": "Extension.extension.extension"
}, {
"id": "Extension.extension:name.url",
"path": "Extension.extension.url",
"fixedUri": "name"
}, {
"id": "Extension.extension:name.value[x]",
"min": 1,
"path": "Extension.extension.value[x]",
"type": [ {
"code": "Coding"
} ],
"binding": {
"strength": "extensible",
"valueSet": "http://hl7.org/fhir/uv/sdc/ValueSet/launchContext",
"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.)."
}
}, {
"id": "Extension.extension:type",
"max": "*",
"min": 1,
"path": "Extension.extension",
"short": "Resource type",
"sliceName": "type",
"definition": "The kind of resource to be provided."
}, {
"id": "Extension.extension:type.extension",
"max": "0",
"path": "Extension.extension.extension"
}, {
"id": "Extension.extension:type.url",
"path": "Extension.extension.url",
"fixedUri": "type"
}, {
"id": "Extension.extension:type.value[x]",
"min": 1,
"path": "Extension.extension.value[x]",
"type": [ {
"code": "code"
} ],
"binding": {
"strength": "required",
"valueSet": "http://hl7.org/fhir/ValueSet/resource-types"
}
}, {
"id": "Extension.extension:description",
"max": "1",
"min": 0,
"path": "Extension.extension",
"short": "Explanation of context element",
"sliceName": "description",
"definition": "Guidance on the resource to be provided and what impact providing it will have on questionnaire behavior."
}, {
"id": "Extension.extension:description.extension",
"max": "0",
"path": "Extension.extension.extension"
}, {
"id": "Extension.extension:description.url",
"path": "Extension.extension.url",
"fixedUri": "description"
}, {
"id": "Extension.extension:description.value[x]",
"min": 1,
"path": "Extension.extension.value[x]",
"type": [ {
"code": "string"
} ]
}, {
"id": "Extension.extension:multiplesAllowed",
"max": "1",
"min": 0,
"path": "Extension.extension",
"short": "Allow multiple resources",
"sliceName": "multiplesAllowed",
"definition": "Indicates whether multiple resources are permitted for this context element."
}, {
"id": "Extension.extension:multiplesAllowed.extension",
"max": "0",
"path": "Extension.extension.extension"
}, {
"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]",
"max": "0",
"path": "Extension.value[x]"
} ]
},
"contact": [ {
"name": "HL7 International / FHIR Infrastructure",
"telecom": [ {
"value": "http://www.hl7.org/Special/committees/fiwg",
"system": "url"
} ]
}, {
"telecom": [ {
"value": "http://www.hl7.org/Special/committees/fiwg",
"system": "url"
} ]
} ],
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension"
}