FHIR IG analytics| Package | hl7.fhir.uv.extensions.r3 |
| Resource Type | StructureDefinition |
| Id | StructureDefinition-preferredTerminologyServer.json |
| FHIR Version | R3 |
No resources found
No resources found
No narrative content found in resource
{
"resourceType": "StructureDefinition",
"id": "preferredTerminologyServer",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
"valueCode": "fhir"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueCode": "2"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "draft"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics",
"valueCode": "can-bind"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status-reason",
"valueCode": "Extensions that have been modified for R3 are still draft while real-world experience is collected"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer",
"version": "5.3.0-ballot-tc1",
"name": "PreferredTerminologyServer",
"title": "Preferred Terminology Server",
"status": "active",
"date": "2025-08-03T06:28:00+10:00",
"publisher": "HL7 International / FHIR Infrastructure",
"contact": [
{
"name": "HL7 International / FHIR Infrastructure",
"telecom": [
{
"system": "url",
"value": "http://www.hl7.org/Special/committees/fiwg"
}
]
}
],
"description": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (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 (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root 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.",
"jurisdiction": [
{
"coding": [
{
"system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code": "001"
}
]
}
],
"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.",
"fhirVersion": "3.0.2",
"mapping": [
{
"identity": "rim",
"uri": "http://hl7.org/v3",
"name": "RIM Mapping"
}
],
"kind": "complex-type",
"abstract": false,
"contextType": "resource",
"context": [
"Questionnaire",
"Questionnaire.item",
"ElementDefinition"
],
"type": "Extension",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Extension",
"derivation": "constraint",
"snapshot": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Preferred terminology server",
"definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (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 (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root 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.",
"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() | (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"
}
]
},
{
"id": "Extension.id",
"path": "Extension.id",
"representation": [
"xmlAttr"
],
"short": "xml:id (or equivalent in JSON)",
"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": [
{
"code": "string"
}
],
"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": 0,
"max": "0",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
]
},
{
"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": [
{
"code": "uri"
}
],
"fixedUri": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer",
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"short": "Value of extension",
"definition": "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
"min": 0,
"max": "1",
"base": {
"path": "Extension.value[x]",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
}
]
},
"differential": {
"element": [
{
"id": "Extension",
"path": "Extension",
"short": "Preferred terminology server",
"definition": "Indicates the terminology server(s) that are known to be capable of returning and potentially expanding the value set(s) associated with the resource or a particular portion of the resource (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 (one of) the preferredTerminologyServer(s) rather than the local repository. Systems SHOULD evaluate value sets using terminology servers as follows: First, try any terminology servers declared on the element in question. If there are more then one, try them in the order they appear. Then try any servers that appear on ancestor elements in order of closest ancestor up to any on the resource root 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",
"path": "Extension.extension",
"max": "0"
},
{
"id": "Extension.url",
"path": "Extension.url",
"fixedUri": "http://hl7.org/fhir/StructureDefinition/preferredTerminologyServer"
},
{
"id": "Extension.value[x]",
"path": "Extension.value[x]",
"type": [
{
"code": "uri"
}
]
}
]
}
}