{ "description": "Use the new generic http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer instead", "_filename": "StructureDefinition-sdc-questionnaire-preferredTerminologyServer.json", "package_name": "hl7.fhir.uv.sdc", "date": "2024-12-17T01:55:34+00:00", "derivation": "constraint", "publisher": "HL7 International / FHIR Infrastructure", "fhirVersion": "4.0.1", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "display": "World" } ] } ], "purpose": "Not all terminology servers will necessarily have access to the codes. If a questionnaire points to value sets, the rendering engine needs to know where to get a current expansion.", "name": "PreferredTerminologyServer", "mapping": [ { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "Extension", "experimental": null, "resourceType": "StructureDefinition", "title": "Preferred Terminology Server", "package_version": "4.0.0-ballot", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "deprecated" }, { "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" } ] } } ], "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()" } ], "path": "Extension", "min": 0, "definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the whole questionnaire or a particular group or question within the questionnaire (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against the preferredTerminologyServer rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the item in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor items in order of closest ancestor up to any on the Questionnaire. If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers.", "isModifier": false, "short": "Preferred terminology server", "max": "*", "id": "Extension", "condition": [ "ele-1" ], "comment": "This includes those referenced by answerValueSet as well as the unitValueSet extension.", "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": 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", "base": { "max": "*", "min": 0, "path": "Element.extension" }, "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-preferredTerminologyServer", "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/R4/extensibility.html) for a list).", "isModifier": false, "short": "Value of extension", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "url" } ], "max": "1", "id": "Extension.value[x]", "base": { "max": "1", "min": 0, "path": "Extension.value[x]" }, "isSummary": false } ] }, "status": "retired", "id": "dea11925-1d9f-4dae-8814-c275f11e6169", "kind": "complex-type", "url": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-preferredTerminologyServer", "identifier": [ { "value": "urn:oid:2.16.840.1.113883.4.642.40.17.42.48", "system": "urn:ietf:rfc:3986" } ], "context": [ { "type": "element", "expression": "Questionnaire" }, { "type": "element", "expression": "Questionnaire.item" }, { "type": "element", "expression": "ElementDefinition" } ], "version": "4.0.0-ballot", "differential": { "element": [ { "id": "Extension", "path": "Extension", "short": "Preferred terminology server", "comment": "This includes those referenced by answerValueSet as well as the unitValueSet extension.", "definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the whole questionnaire or a particular group or question within the questionnaire (depending on where the extension appears). If a full URL is not provided AND the requested query is a terminology operation (e.g. $lookup or $expand) the client SHOULD execute the operation against the preferredTerminologyServer rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the item in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor items in order of closest ancestor up to any on the Questionnaire. If there are no declared servers or none of the ones listed provide a useful response, the form filler may then try any of the typical servers it would normally use. A 'useful response' means a response that provides a valid (though potentially empty) expansion. Clients MAY wish to log/report errors returned by terminology servers." }, { "id": "Extension.extension", "max": "0", "path": "Extension.extension" }, { "id": "Extension.url", "path": "Extension.url", "fixedUri": "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-preferredTerminologyServer" }, { "id": "Extension.value[x]", "path": "Extension.value[x]", "type": [ { "code": "url" } ] } ] }, "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" }