FoundationThis page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions
. Page versions: R5 R4B R4
| Modeling and Methodology Work Group | Maturity Level: N/A | Standards Status: Informative |
Raw Turtle (+ also see Turtle/RDF Format Specification)
StructureDefinition for Expression
@prefix fhir: <http://hl7.org/fhir/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
# - resource -------------------------------------------------------------------
[] a fhir:StructureDefinition ;
fhir:id [ fhir:v "Expression"] ;
fhir:text [
fhir:status [ fhir:v "generated" ]
] ;
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
fhir:value [ fhir:v "trial-use" ]
] ) ;
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression"], [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression"] ;
fhir:version [ fhir:v "5.0.0"], [ fhir:v "5.0.0"] ;
fhir:name [ fhir:v "Expression"], [ fhir:v "Expression"] ;
fhir:status [ fhir:v "draft"], [ fhir:v "draft"] ;
fhir:experimental [ fhir:v "false"], [ fhir:v "false"] ;
fhir:date [ fhir:v "2023-03-26T15:21:02+11:00"], [ fhir:v "2023-03-26T15:21:02+11:00"] ;
fhir:publisher [ fhir:v "HL7 FHIR Standard"], [ fhir:v "HL7 FHIR Standard"] ;
fhir:contact ( [
fhir:telecom ( [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://hl7.org/fhir" ]
] )
] [
fhir:telecom ( [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://hl7.org/fhir" ]
] )
] ) ;
fhir:description [ fhir:v "Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."], [ fhir:v "Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."] ;
fhir:jurisdiction ( [
fhir:coding ( [
fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
fhir:code [ fhir:v "001" ] ;
fhir:display [ fhir:v "World" ]
] )
] [
fhir:coding ( [
fhir:system [ fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm" ] ;
fhir:code [ fhir:v "001" ] ;
fhir:display [ fhir:v "World" ]
] )
] ) ;
fhir:fhirVersion [ fhir:v "5.0.0"] ;
fhir:mapping ( [
fhir:identity [ fhir:v "rim" ] ;
fhir:uri [ fhir:v "http://hl7.org/v3" ] ;
fhir:name [ fhir:v "RIM Mapping" ]
] ) ;
fhir:kind [ fhir:v "complex-type"] ;
fhir:abstract [ fhir:v "false"] ;
fhir:type [ fhir:v "Expression"] ;
fhir:baseDefinition [ fhir:v "http://hl7.org/fhir/StructureDefinition/DataType"] ;
fhir:derivation [ fhir:v "specialization"] ;
fhir:snapshot [
fhir:element ( [
fhir:id [ fhir:v "Expression" ] ;
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
fhir:value [ fhir:v "trial-use" ]
] ) ;
fhir:path [ fhir:v "Expression" ] ;
fhir:short [ fhir:v "An expression that can be used to generate a value" ] ;
fhir:definition [ fhir:v "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "*" ] ;
fhir:base [
fhir:path [ fhir:v "Expression" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "*" ]
] ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] [
fhir:key [ fhir:v "exp-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "An expression or a reference must be provided" ] ;
fhir:expression [ fhir:v "expression.exists() or reference.exists()" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression" ]
] [
fhir:key [ fhir:v "exp-2" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "The name must be a valid variable name in most computer languages" ] ;
fhir:expression [ fhir:v "name.hasValue() implies name.matches('[A-Za-z][A-Za-z0-9\\\\_]{0,63}')" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:mapping ( [
fhir:identity [ fhir:v "rim" ] ;
fhir:map [ fhir:v "n/a" ]
] )
] [
fhir:id [ fhir:v "Expression.id" ] ;
fhir:path [ fhir:v "Expression.id" ] ;
fhir:representation ( [ fhir:v "xmlAttr" ] ) ;
fhir:short [ fhir:v "Unique id for inter-element referencing" ] ;
fhir:definition [ fhir:v "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Element.id" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type" ] ;
fhir:value [ fhir:v "id" ]
] ) ;
fhir:code [ fhir:v "http://hl7.org/fhirpath/System.String" ]
] ) ;
fhir:condition ( [ fhir:v "ele-1" ] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "false" ] ;
fhir:mapping ( [
fhir:identity [ fhir:v "rim" ] ;
fhir:map [ fhir:v "n/a" ]
] )
] [
fhir:id [ fhir:v "Expression.extension" ] ;
fhir:path [ fhir:v "Expression.extension" ] ;
fhir:slicing [
fhir:discriminator ( [
fhir:type [ fhir:v "value" ] ;
fhir:path [ fhir:v "url" ]
] ) ;
fhir:description [ fhir:v "Extensions are always sliced by (at least) url" ] ;
fhir:rules [ fhir:v "open" ]
] ;
fhir:short [ fhir:v "Additional content defined by implementations" ] ;
fhir:definition [ fhir:v "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ] ;
fhir:comment [ fhir:v "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." ] ;
fhir:alias ( [ fhir:v "extensions" ] [ fhir:v "user content" ] ) ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "*" ] ;
fhir:base [
fhir:path [ fhir:v "Element.extension" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "*" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "Extension" ]
] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] [
fhir:key [ fhir:v "ext-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "Must have either extensions or value[x], not both" ] ;
fhir:expression [ fhir:v "extension.exists() != value.exists()" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Extension" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "false" ] ;
fhir:mapping ( [
fhir:identity [ fhir:v "rim" ] ;
fhir:map [ fhir:v "n/a" ]
] )
] [
fhir:id [ fhir:v "Expression.description" ] ;
fhir:path [ fhir:v "Expression.description" ] ;
fhir:short [ fhir:v "Natural language description of the condition" ] ;
fhir:definition [ fhir:v "A brief, natural language description of the condition that effectively communicates the intended semantics." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Expression.description" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "string" ]
] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.name" ] ;
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/no-binding" ] ;
fhir:value [ fhir:v "true" ]
] ) ;
fhir:path [ fhir:v "Expression.name" ] ;
fhir:short [ fhir:v "Short name assigned to expression for reuse" ] ;
fhir:definition [ fhir:v "A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Expression.name" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "code" ]
] ) ;
fhir:condition ( [ fhir:v "exp-2" ] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.language" ] ;
fhir:path [ fhir:v "Expression.language" ] ;
fhir:short [ fhir:v "text/cql | text/fhirpath | application/x-fhir-query | etc." ] ;
fhir:definition [ fhir:v "The media type of the language for the expression." ] ;
fhir:requirements [ fhir:v "The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Expression.language" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "code" ]
] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "true" ] ;
fhir:binding [
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/binding-definition" ] ;
fhir:value [ fhir:v "The media type of the expression language." ]
] [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ] ;
fhir:value [ fhir:v "ExpressionLanguage" ]
] ) ;
fhir:strength [ fhir:v "extensible" ] ;
fhir:description [ fhir:v "The media type of the expression language." ] ;
fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/expression-language" ] ;
fhir:additional ( [
fhir:purpose [ fhir:v "maximum" ] ;
fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/mimetypes" ]
] )
]
] [
fhir:id [ fhir:v "Expression.expression" ] ;
fhir:path [ fhir:v "Expression.expression" ] ;
fhir:short [ fhir:v "Expression in specified language" ] ;
fhir:definition [ fhir:v "An expression in the specified language that returns a value." ] ;
fhir:comment [ fhir:v "If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Expression.expression" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "string" ]
] ) ;
fhir:condition ( [ fhir:v "exp-1" ] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.reference" ] ;
fhir:path [ fhir:v "Expression.reference" ] ;
fhir:short [ fhir:v "Where the expression is found" ] ;
fhir:definition [ fhir:v "A URI that defines where the expression is found." ] ;
fhir:comment [ fhir:v "If both a reference and an expression is found, the reference SHALL point to the same expression." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:base [
fhir:path [ fhir:v "Expression.reference" ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ]
] ;
fhir:type ( [
fhir:code [ fhir:v "uri" ]
] ) ;
fhir:condition ( [ fhir:v "exp-1" ] ) ;
fhir:constraint ( [
fhir:key [ fhir:v "ele-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "All FHIR elements must have a @value or children" ] ;
fhir:expression [ fhir:v "hasValue() or (children().count() > id.count())" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Element" ]
] ) ;
fhir:isModifier [ fhir:v "false" ] ;
fhir:isSummary [ fhir:v "true" ]
] )
] ;
fhir:differential [
fhir:element ( [
fhir:id [ fhir:v "Expression" ] ;
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status" ] ;
fhir:value [ fhir:v "trial-use" ]
] ) ;
fhir:path [ fhir:v "Expression" ] ;
fhir:short [ fhir:v "An expression that can be used to generate a value" ] ;
fhir:definition [ fhir:v "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "*" ] ;
fhir:constraint ( [
fhir:key [ fhir:v "exp-2" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "The name must be a valid variable name in most computer languages" ] ;
fhir:expression [ fhir:v "name.hasValue() implies name.matches('[A-Za-z][A-Za-z0-9\\\\_]{0,63}')" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression" ]
] [
fhir:key [ fhir:v "exp-1" ] ;
fhir:severity [ fhir:v "error" ] ;
fhir:human [ fhir:v "An expression or a reference must be provided" ] ;
fhir:expression [ fhir:v "expression.exists() or reference.exists()" ] ;
fhir:source [ fhir:v "http://hl7.org/fhir/StructureDefinition/Expression" ]
] )
] [
fhir:id [ fhir:v "Expression.description" ] ;
fhir:path [ fhir:v "Expression.description" ] ;
fhir:short [ fhir:v "Natural language description of the condition" ] ;
fhir:definition [ fhir:v "A brief, natural language description of the condition that effectively communicates the intended semantics." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type ( [
fhir:code [ fhir:v "string" ]
] ) ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.name" ] ;
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/no-binding" ] ;
fhir:value [ fhir:v "true" ]
] ) ;
fhir:path [ fhir:v "Expression.name" ] ;
fhir:short [ fhir:v "Short name assigned to expression for reuse" ] ;
fhir:definition [ fhir:v "A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type ( [
fhir:code [ fhir:v "code" ]
] ) ;
fhir:condition ( [ fhir:v "exp-2" ] ) ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.language" ] ;
fhir:path [ fhir:v "Expression.language" ] ;
fhir:short [ fhir:v "text/cql | text/fhirpath | application/x-fhir-query | etc." ] ;
fhir:definition [ fhir:v "The media type of the language for the expression." ] ;
fhir:requirements [ fhir:v "The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type ( [
fhir:code [ fhir:v "code" ]
] ) ;
fhir:isSummary [ fhir:v "true" ] ;
fhir:binding [
fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/tools/StructureDefinition/binding-definition" ] ;
fhir:value [ fhir:v "The media type of the expression language." ]
] [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName" ] ;
fhir:value [ fhir:v "ExpressionLanguage" ]
] ) ;
fhir:strength [ fhir:v "extensible" ] ;
fhir:description [ fhir:v "The media type of the expression language." ] ;
fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/expression-language" ] ;
fhir:additional ( [
fhir:purpose [ fhir:v "maximum" ] ;
fhir:valueSet [ fhir:v "http://hl7.org/fhir/ValueSet/mimetypes" ]
] )
]
] [
fhir:id [ fhir:v "Expression.expression" ] ;
fhir:path [ fhir:v "Expression.expression" ] ;
fhir:short [ fhir:v "Expression in specified language" ] ;
fhir:definition [ fhir:v "An expression in the specified language that returns a value." ] ;
fhir:comment [ fhir:v "If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type ( [
fhir:code [ fhir:v "string" ]
] ) ;
fhir:condition ( [ fhir:v "exp-1" ] ) ;
fhir:isSummary [ fhir:v "true" ]
] [
fhir:id [ fhir:v "Expression.reference" ] ;
fhir:path [ fhir:v "Expression.reference" ] ;
fhir:short [ fhir:v "Where the expression is found" ] ;
fhir:definition [ fhir:v "A URI that defines where the expression is found." ] ;
fhir:comment [ fhir:v "If both a reference and an expression is found, the reference SHALL point to the same expression." ] ;
fhir:min [ fhir:v "0" ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type ( [
fhir:code [ fhir:v "uri" ]
] ) ;
fhir:condition ( [ fhir:v "exp-1" ] ) ;
fhir:isSummary [ fhir:v "true" ]
] )
] .
# -------------------------------------------------------------------------------------
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.
FHIR ®© HL7.org 2011+. FHIR R5 hl7.fhir.core#5.0.0 generated on Sun, Mar 26, 2023 15:23+1100.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R4 |
Compare to R4B |
|
Propose a change