{ "description": "A parameters profile that defines supported CQL-to-ELM translator options used to translate CQL. Complete documentation of these options can be found in the [Usage](https://github.com/cqframework/clinical_quality_language/blob/v3.9.0/Src/java/cql-to-elm/OVERVIEW.md#usage) topic of the CQL-to-ELM translator overview.", "_filename": "StructureDefinition-cql-options.json", "package_name": "hl7.fhir.uv.cql", "date": "2024-04-06T09:37:49+11:00", "derivation": "constraint", "publisher": "HL7 International / Clinical Decision Support", "fhirVersion": "4.0.1", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm", "display": "World" } ] } ], "name": "CQLOptions", "mapping": [ { "uri": "http://hl7.org/v2", "name": "HL7 v2 Mapping", "identity": "v2" }, { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "Parameters", "experimental": "false", "resourceType": "StructureDefinition", "title": "CQL Options", "package_version": "1.0.0-snapshot", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 1 }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg", "valueCode": "cds" }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "trial-use" } ], "snapshot": { "element": [ { "path": "Parameters", "min": 0, "definition": "This resource is a non-persisted resource used to pass information into and back from an [operation](http://hl7.org/fhir/R4/operations.html). It has no other use, and there is no RESTful endpoint associated with it.", "isModifier": false, "short": "Operation Request or Response", "mapping": [ { "map": "Entity. Role, or Act", "identity": "rim" }, { "map": "n/a", "identity": "v2" }, { "map": "n/a", "identity": "rim" } ], "mustSupport": false, "max": "*", "id": "Parameters", "comment": "The parameters that may be used are defined by the OperationDefinition resource.", "base": { "max": "*", "min": 0, "path": "Parameters" }, "isSummary": false }, { "path": "Parameters.id", "min": 0, "definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.", "isModifier": false, "short": "Logical id of this artifact", "type": [ { "code": "http://hl7.org/fhirpath/System.String", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type", "valueUrl": "id" } ] } ], "max": "1", "id": "Parameters.id", "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.", "base": { "max": "1", "min": 0, "path": "Resource.id" }, "isSummary": true }, { "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": "Parameters.meta", "min": 0, "definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.", "isModifier": false, "short": "Metadata about the resource", "type": [ { "code": "Meta" } ], "max": "1", "id": "Parameters.meta", "base": { "max": "1", "min": 0, "path": "Resource.meta" }, "isSummary": true }, { "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": "Parameters.implicitRules", "min": 0, "definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.", "isModifier": true, "short": "A set of rules under which this content was created", "type": [ { "code": "uri" } ], "max": "1", "id": "Parameters.implicitRules", "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.", "base": { "max": "1", "min": 0, "path": "Resource.implicitRules" }, "isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation", "isSummary": true }, { "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": "Parameters.language", "min": 0, "definition": "The base language in which the resource is written.", "isModifier": false, "short": "Language of the resource content", "type": [ { "code": "code" } ], "binding": { "strength": "preferred", "valueSet": "http://hl7.org/fhir/ValueSet/languages", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", "valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "Language" } ], "description": "A human language." }, "max": "1", "id": "Parameters.language", "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).", "base": { "max": "1", "min": 0, "path": "Resource.language" }, "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "A parameter passed to or received from the operation.", "isModifier": false, "short": "Operation Parameter", "slicing": { "rules": "open", "ordered": false, "discriminator": [ { "path": "name", "type": "value" } ] }, "type": [ { "code": "BackboneElement" } ], "max": "*", "id": "Parameters.parameter", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 0, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "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": "1", "id": "Parameters.parameter.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to include the source CQL as annotations within the ELM. (default is false)", "isModifier": false, "short": "Include annotations?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableAnnotations", "max": "1", "id": "Parameters.parameter:enableAnnotations", "comment": "Annotations allow implementations to reconstruct the source CQL from translated ELM to support applications such as debugging and code coverage highlighting.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableAnnotations.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableAnnotations.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableAnnotations.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableAnnotations", "id": "Parameters.parameter:enableAnnotations.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableAnnotations.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableAnnotations.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableAnnotations.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to include source line number and character information for each ELM node. (default is false)", "isModifier": false, "short": "Include locators?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableLocators", "max": "1", "id": "Parameters.parameter:enableLocators", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableLocators.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableLocators.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableLocators.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableLocators", "id": "Parameters.parameter:enableLocators.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableLocators.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableLocators.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableLocators.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to disallow demotion of list-valued expressions to singletons. (default is false)", "isModifier": false, "short": "Implicitly convert lists to singletons when possible?", "type": [ { "code": "BackboneElement" } ], "sliceName": "disableListDemotion", "max": "1", "id": "Parameters.parameter:disableListDemotion", "comment": "The list demotion feature of CQL is used to enable functionality related to use with FHIRPath by implicitly converting list-valued expressions to singletons when possible.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:disableListDemotion.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:disableListDemotion.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:disableListDemotion.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "disableListDemotion", "id": "Parameters.parameter:disableListDemotion.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:disableListDemotion.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:disableListDemotion.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:disableListDemotion.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to disallow promotion of singletons to list-valued expressions. (default is false)", "isModifier": false, "short": "Implicitly convert singletons to lists when possible?", "type": [ { "code": "BackboneElement" } ], "sliceName": "disableListPromotion", "max": "1", "id": "Parameters.parameter:disableListPromotion", "comment": "The list promotion feature of CQL is used to enable functionality related to use with FHIRPath by implicitly converting singleton expressions to list-valued expressions when possible.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:disableListPromotion.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:disableListPromotion.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:disableListPromotion.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "disableListPromotion", "id": "Parameters.parameter:disableListPromotion.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:disableListPromotion.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:disableListPromotion.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:disableListPromotion.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to disallow method-style invocation. (default is false)", "isModifier": false, "short": "Disable method-style invocation?", "type": [ { "code": "BackboneElement" } ], "sliceName": "disableMethodInvocation", "max": "1", "id": "Parameters.parameter:disableMethodInvocation", "comment": "The method-style invocation feature of CQL is used to enable functionality related to use with FHIRPath.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:disableMethodInvocation.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:disableMethodInvocation.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:disableMethodInvocation.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "disableMethodInvocation", "id": "Parameters.parameter:disableMethodInvocation.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:disableMethodInvocation.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:disableMethodInvocation.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:disableMethodInvocation.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to optimize date range filters by moving them inside retrieve expressions. (default is false)", "isModifier": false, "short": "Optimize date ranges when possible?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableDateRangeOptimization", "max": "1", "id": "Parameters.parameter:enableDateRangeOptimization", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableDateRangeOptimization.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableDateRangeOptimization.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableDateRangeOptimization.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableDateRangeOptimization", "id": "Parameters.parameter:enableDateRangeOptimization.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableDateRangeOptimization.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableDateRangeOptimization.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableDateRangeOptimization.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to include inferred result types in the output ELM. (default is false)", "isModifier": false, "short": "Include result types?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableResultTypes", "max": "1", "id": "Parameters.parameter:enableResultTypes", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableResultTypes.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableResultTypes.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableResultTypes.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableResultTypes", "id": "Parameters.parameter:enableResultTypes.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableResultTypes.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableResultTypes.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableResultTypes.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This instructs the translator to include detailed error information. By default, the translator only reports root-cause errors.", "isModifier": false, "short": "Include detailed errors?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableDetailedErrors", "max": "1", "id": "Parameters.parameter:enableDetailedErrors", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableDetailedErrors.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableDetailedErrors.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableDetailedErrors.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableDetailedErrors", "id": "Parameters.parameter:enableDetailedErrors.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableDetailedErrors.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableDetailedErrors.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableDetailedErrors.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to disallow traversal of list-valued expressions. (default is false)", "isModifier": false, "short": "Disallow list traversal?", "type": [ { "code": "BackboneElement" } ], "sliceName": "disableListTraversal", "max": "1", "id": "Parameters.parameter:disableListTraversal", "comment": "With FHIR-based knowledge artifacts, disabling this feature is not recommended, since it would prevent the use of FHIRPath expressions involving multi-cardinality (i.e. list-valued) elements.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:disableListTraversal.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:disableListTraversal.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:disableListTraversal.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "disableListTraversal", "id": "Parameters.parameter:disableListTraversal.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:disableListTraversal.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:disableListTraversal.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:disableListTraversal.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" }, { "key": "cop-1", "human": "SignatureLevel parameter must be None, Differing, Overloads, or All", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'None' | 'Differing' | 'Overloads' | 'All' )" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter controls whether the signature element of a FunctionRef will be populated. None (default) | Differing | Overloads | All. Differing will include invocation signatures that differ from the declared signature. Overloads will include declaration signatures when the operator or function has more than one overload with the same number of arguments as the invocation.", "isModifier": false, "short": "Include signatures?", "type": [ { "code": "BackboneElement" } ], "sliceName": "signatureLevel", "max": "1", "id": "Parameters.parameter:signatureLevel", "comment": "Note that without this information included, ELM that makes use of function overloads may be ambiguous at runtime, so this parameter should be used with at least Overloads.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:signatureLevel.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:signatureLevel.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:signatureLevel.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "signatureLevel", "id": "Parameters.parameter:signatureLevel.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter:signatureLevel.value[x]", "condition": [ "inv-1", "cop-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:signatureLevel.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:signatureLevel.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates what version of the CQL-to-ELM translator used to perform the translation.", "isModifier": false, "short": "What version", "type": [ { "code": "BackboneElement" } ], "sliceName": "translatorVersion", "max": "1", "id": "Parameters.parameter:translatorVersion", "comment": "This parameter is not an input to the translator, it is included in the list of options that is stored with translated ELM as an indication of what version was used to perform the translation.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:translatorVersion.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:translatorVersion.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:translatorVersion.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "translatorVersion", "id": "Parameters.parameter:translatorVersion.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter:translatorVersion.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:translatorVersion.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:translatorVersion.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" }, { "key": "cop-2", "human": "Format parameter must be XML or JSON", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'XML' | 'JSON' )" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates what format the ELM should be output in.", "isModifier": false, "short": "What format (XML and/or JSON)", "type": [ { "code": "BackboneElement" } ], "sliceName": "format", "max": "2", "id": "Parameters.parameter:format", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:format.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:format.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:format.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "format", "id": "Parameters.parameter:format.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter:format.value[x]", "condition": [ "inv-1", "cop-2" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:format.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:format.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates what compatibility level the translator should support.", "isModifier": false, "short": "What compatibility level", "type": [ { "code": "BackboneElement" } ], "sliceName": "compatibilityLevel", "max": "1", "id": "Parameters.parameter:compatibilityLevel", "comment": "By default, the translator will use capabilities from the latest version of CQL. This parameter allows CQL to be constructed that only makes use of capabilities in previous versions. Possible values are the major and minor versions of published versions of the CQL specification (e.g. 1.3, 1.4, 1.5)", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:compatibilityLevel.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:compatibilityLevel.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:compatibilityLevel.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "compatibilityLevel", "id": "Parameters.parameter:compatibilityLevel.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter:compatibilityLevel.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:compatibilityLevel.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:compatibilityLevel.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates that library packaging tooling should only include CQL, not ELM, in packaged Library resources.", "isModifier": false, "short": "Include CQL only?", "type": [ { "code": "BackboneElement" } ], "sliceName": "enableCqlOnly", "max": "1", "id": "Parameters.parameter:enableCqlOnly", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:enableCqlOnly.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:enableCqlOnly.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:enableCqlOnly.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "enableCqlOnly", "id": "Parameters.parameter:enableCqlOnly.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:enableCqlOnly.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:enableCqlOnly.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:enableCqlOnly.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" }, { "key": "cop-3", "human": "ErrorLevel parameter must be Info, Warning, or Error", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'Info' | 'Warning' | 'Error' )" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates the minimum severity error message that will be reported. Info (default) | Warning | Error", "isModifier": false, "short": "What error level", "type": [ { "code": "BackboneElement" } ], "sliceName": "errorLevel", "max": "1", "id": "Parameters.parameter:errorLevel", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:errorLevel.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:errorLevel.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:errorLevel.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "errorLevel", "id": "Parameters.parameter:errorLevel.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "string" } ], "max": "1", "id": "Parameters.parameter:errorLevel.value[x]", "condition": [ "inv-1", "cop-3" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:errorLevel.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:errorLevel.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter instructs the translator to validate UCUM units in quantity literals.", "isModifier": false, "short": "Validate UCUM units?", "type": [ { "code": "BackboneElement" } ], "sliceName": "validateUnits", "max": "1", "id": "Parameters.parameter:validateUnits", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:validateUnits.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:validateUnits.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:validateUnits.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "validateUnits", "id": "Parameters.parameter:validateUnits.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:validateUnits.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:validateUnits.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:validateUnits.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates that the translator should verify the input CQL only, not create ELM output.", "isModifier": false, "short": "Verify only", "type": [ { "code": "BackboneElement" } ], "sliceName": "verifyOnly", "max": "1", "id": "Parameters.parameter:verifyOnly", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:verifyOnly.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:verifyOnly.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:verifyOnly.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "verifyOnly", "id": "Parameters.parameter:verifyOnly.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:verifyOnly.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:verifyOnly.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:verifyOnly.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates whether the packaging for CQL libraries should perform optimizations on data requirements where possible (such as optimizing where clauses into retrieves to improve selectivity of the resulting data requirements).", "isModifier": false, "short": "Analyze data requirements?", "type": [ { "code": "BackboneElement" } ], "sliceName": "analyzeDataRequirements", "max": "1", "id": "Parameters.parameter:analyzeDataRequirements", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:analyzeDataRequirements.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:analyzeDataRequirements.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:analyzeDataRequirements.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "analyzeDataRequirements", "id": "Parameters.parameter:analyzeDataRequirements.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:analyzeDataRequirements.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:analyzeDataRequirements.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:analyzeDataRequirements.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true }, { "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": "inv-1", "human": "A parameter must have one and only one of (value, resource, part)", "xpath": "(exists(f:resource) or exists(f:part) or exists(f:*[starts-with(local-name(.), 'value')])) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:resource))) and not(exists(f:*[starts-with(local-name(.), 'value')])) and exists(f:part))) and not(exists(f:part) and exists(f:resource))", "source": "http://hl7.org/fhir/StructureDefinition/Parameters", "severity": "error", "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter indicates whether the packaging for CQL libraries should collapse data requirements where possible (i.e. removing duplicate data requirements according to the process described in the [Artifact Data Requirements](https://cql.hl7.org/05-languagesemantics.html#artifact-data-requirements) section of the CQL specification).", "isModifier": false, "short": "Collapse data requirements?", "type": [ { "code": "BackboneElement" } ], "sliceName": "collapseDataRequirements", "max": "1", "id": "Parameters.parameter:collapseDataRequirements", "base": { "max": "*", "min": 0, "path": "Parameters.parameter" }, "isSummary": true }, { "path": "Parameters.parameter.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": "Parameters.parameter:collapseDataRequirements.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": "Parameters.parameter.extension", "min": 0, "definition": "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 manageable, 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.", "isModifier": false, "short": "Additional content defined by implementations", "mapping": [ { "map": "n/a", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Parameters.parameter:collapseDataRequirements.extension", "comment": "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.", "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": "Parameters.parameter.modifierExtension", "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).", "min": 0, "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, 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. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", "isModifier": true, "short": "Extensions that cannot be ignored even if unrecognized", "mapping": [ { "map": "N/A", "identity": "rim" } ], "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content", "modifiers" ], "max": "*", "id": "Parameters.parameter:collapseDataRequirements.modifierExtension", "comment": "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.", "base": { "max": "*", "min": 0, "path": "BackboneElement.modifierExtension" }, "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them", "isSummary": true }, { "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": "Parameters.parameter.name", "min": 1, "definition": "The name of the parameter (reference to the operation definition).", "isModifier": false, "short": "Name from the definition", "type": [ { "code": "string" } ], "max": "1", "fixedString": "collapseDataRequirements", "id": "Parameters.parameter:collapseDataRequirements.name", "base": { "max": "1", "min": 1, "path": "Parameters.parameter.name" }, "isSummary": true }, { "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": "Parameters.parameter.value[x]", "min": 1, "definition": "If the parameter is a data type.", "isModifier": false, "short": "If parameter is a data type", "type": [ { "code": "boolean" } ], "max": "1", "id": "Parameters.parameter:collapseDataRequirements.value[x]", "condition": [ "inv-1" ], "base": { "max": "1", "min": 0, "path": "Parameters.parameter.value[x]" }, "isSummary": true }, { "path": "Parameters.parameter.resource", "min": 0, "definition": "If the parameter is a whole resource.", "isModifier": false, "short": "If parameter is a whole resource", "type": [ { "code": "Resource" } ], "max": "1", "id": "Parameters.parameter:collapseDataRequirements.resource", "condition": [ "inv-1" ], "comment": "When resolving references in resources, the operation definition may specify how references may be resolved between parameters. If a reference cannot be resolved between the parameters, the application should fall back to it's general resource resolution methods.", "base": { "max": "1", "min": 0, "path": "Parameters.parameter.resource" }, "isSummary": true }, { "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": "Parameters.parameter.part", "min": 0, "definition": "A named part of a multi-part parameter.", "isModifier": false, "short": "Named part of a multi-part parameter", "contentReference": "http://hl7.org/fhir/StructureDefinition/Parameters#Parameters.parameter", "max": "*", "id": "Parameters.parameter:collapseDataRequirements.part", "comment": "Only one level of nested parameters is allowed.", "base": { "max": "*", "min": 0, "path": "Parameters.parameter.part" }, "isSummary": true } ] }, "status": "active", "id": "8afcba19-0d50-434d-bf57-dac274fa9d8a", "kind": "resource", "url": "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-options", "identifier": [ { "value": "urn:oid:2.16.840.1.113883.4.642.40.37.42.13", "system": "urn:ietf:rfc:3986" } ], "version": "1.0.0-snapshot", "differential": { "element": [ { "id": "Parameters", "path": "Parameters", "mustSupport": false }, { "id": "Parameters.parameter", "path": "Parameters.parameter", "slicing": { "rules": "open", "ordered": false, "discriminator": [ { "path": "name", "type": "value" } ] } }, { "id": "Parameters.parameter:enableAnnotations", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Include annotations?", "comment": "Annotations allow implementations to reconstruct the source CQL from translated ELM to support applications such as debugging and code coverage highlighting.", "sliceName": "enableAnnotations", "definition": "This parameter instructs the translator to include the source CQL as annotations within the ELM. (default is false)" }, { "id": "Parameters.parameter:enableAnnotations.name", "path": "Parameters.parameter.name", "fixedString": "enableAnnotations" }, { "id": "Parameters.parameter:enableAnnotations.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:enableLocators", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Include locators?", "sliceName": "enableLocators", "definition": "This parameter instructs the translator to include source line number and character information for each ELM node. (default is false)" }, { "id": "Parameters.parameter:enableLocators.name", "path": "Parameters.parameter.name", "fixedString": "enableLocators" }, { "id": "Parameters.parameter:enableLocators.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:disableListDemotion", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Implicitly convert lists to singletons when possible?", "comment": "The list demotion feature of CQL is used to enable functionality related to use with FHIRPath by implicitly converting list-valued expressions to singletons when possible.", "sliceName": "disableListDemotion", "definition": "This parameter instructs the translator to disallow demotion of list-valued expressions to singletons. (default is false)" }, { "id": "Parameters.parameter:disableListDemotion.name", "path": "Parameters.parameter.name", "fixedString": "disableListDemotion" }, { "id": "Parameters.parameter:disableListDemotion.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:disableListPromotion", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Implicitly convert singletons to lists when possible?", "comment": "The list promotion feature of CQL is used to enable functionality related to use with FHIRPath by implicitly converting singleton expressions to list-valued expressions when possible.", "sliceName": "disableListPromotion", "definition": "This parameter instructs the translator to disallow promotion of singletons to list-valued expressions. (default is false)" }, { "id": "Parameters.parameter:disableListPromotion.name", "path": "Parameters.parameter.name", "fixedString": "disableListPromotion" }, { "id": "Parameters.parameter:disableListPromotion.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:disableMethodInvocation", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Disable method-style invocation?", "comment": "The method-style invocation feature of CQL is used to enable functionality related to use with FHIRPath.", "sliceName": "disableMethodInvocation", "definition": "This parameter instructs the translator to disallow method-style invocation. (default is false)" }, { "id": "Parameters.parameter:disableMethodInvocation.name", "path": "Parameters.parameter.name", "fixedString": "disableMethodInvocation" }, { "id": "Parameters.parameter:disableMethodInvocation.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:enableDateRangeOptimization", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Optimize date ranges when possible?", "sliceName": "enableDateRangeOptimization", "definition": "This parameter instructs the translator to optimize date range filters by moving them inside retrieve expressions. (default is false)" }, { "id": "Parameters.parameter:enableDateRangeOptimization.name", "path": "Parameters.parameter.name", "fixedString": "enableDateRangeOptimization" }, { "id": "Parameters.parameter:enableDateRangeOptimization.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:enableResultTypes", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Include result types?", "sliceName": "enableResultTypes", "definition": "This parameter instructs the translator to include inferred result types in the output ELM. (default is false)" }, { "id": "Parameters.parameter:enableResultTypes.name", "path": "Parameters.parameter.name", "fixedString": "enableResultTypes" }, { "id": "Parameters.parameter:enableResultTypes.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:enableDetailedErrors", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Include detailed errors?", "sliceName": "enableDetailedErrors", "definition": "This instructs the translator to include detailed error information. By default, the translator only reports root-cause errors." }, { "id": "Parameters.parameter:enableDetailedErrors.name", "path": "Parameters.parameter.name", "fixedString": "enableDetailedErrors" }, { "id": "Parameters.parameter:enableDetailedErrors.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:disableListTraversal", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Disallow list traversal?", "comment": "With FHIR-based knowledge artifacts, disabling this feature is not recommended, since it would prevent the use of FHIRPath expressions involving multi-cardinality (i.e. list-valued) elements.", "sliceName": "disableListTraversal", "definition": "This parameter instructs the translator to disallow traversal of list-valued expressions. (default is false)" }, { "id": "Parameters.parameter:disableListTraversal.name", "path": "Parameters.parameter.name", "fixedString": "disableListTraversal" }, { "id": "Parameters.parameter:disableListTraversal.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "constraint": [ { "key": "cop-1", "human": "SignatureLevel parameter must be None, Differing, Overloads, or All", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'None' | 'Differing' | 'Overloads' | 'All' )" } ], "path": "Parameters.parameter", "min": 0, "definition": "This parameter controls whether the signature element of a FunctionRef will be populated. None (default) | Differing | Overloads | All. Differing will include invocation signatures that differ from the declared signature. Overloads will include declaration signatures when the operator or function has more than one overload with the same number of arguments as the invocation.", "short": "Include signatures?", "sliceName": "signatureLevel", "max": "1", "id": "Parameters.parameter:signatureLevel", "comment": "Note that without this information included, ELM that makes use of function overloads may be ambiguous at runtime, so this parameter should be used with at least Overloads." }, { "id": "Parameters.parameter:signatureLevel.name", "path": "Parameters.parameter.name", "fixedString": "signatureLevel" }, { "id": "Parameters.parameter:signatureLevel.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "string" } ], "condition": [ "cop-1" ] }, { "id": "Parameters.parameter:translatorVersion", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "What version", "comment": "This parameter is not an input to the translator, it is included in the list of options that is stored with translated ELM as an indication of what version was used to perform the translation.", "sliceName": "translatorVersion", "definition": "This parameter indicates what version of the CQL-to-ELM translator used to perform the translation." }, { "id": "Parameters.parameter:translatorVersion.name", "path": "Parameters.parameter.name", "fixedString": "translatorVersion" }, { "id": "Parameters.parameter:translatorVersion.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "string" } ] }, { "id": "Parameters.parameter:format", "max": "2", "min": 0, "path": "Parameters.parameter", "short": "What format (XML and/or JSON)", "sliceName": "format", "constraint": [ { "key": "cop-2", "human": "Format parameter must be XML or JSON", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'XML' | 'JSON' )" } ], "definition": "This parameter indicates what format the ELM should be output in." }, { "id": "Parameters.parameter:format.name", "path": "Parameters.parameter.name", "fixedString": "format" }, { "id": "Parameters.parameter:format.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "string" } ], "condition": [ "cop-2" ] }, { "id": "Parameters.parameter:compatibilityLevel", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "What compatibility level", "comment": "By default, the translator will use capabilities from the latest version of CQL. This parameter allows CQL to be constructed that only makes use of capabilities in previous versions. Possible values are the major and minor versions of published versions of the CQL specification (e.g. 1.3, 1.4, 1.5)", "sliceName": "compatibilityLevel", "definition": "This parameter indicates what compatibility level the translator should support." }, { "id": "Parameters.parameter:compatibilityLevel.name", "path": "Parameters.parameter.name", "fixedString": "compatibilityLevel" }, { "id": "Parameters.parameter:compatibilityLevel.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "string" } ] }, { "id": "Parameters.parameter:enableCqlOnly", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Include CQL only?", "sliceName": "enableCqlOnly", "definition": "This parameter indicates that library packaging tooling should only include CQL, not ELM, in packaged Library resources." }, { "id": "Parameters.parameter:enableCqlOnly.name", "path": "Parameters.parameter.name", "fixedString": "enableCqlOnly" }, { "id": "Parameters.parameter:enableCqlOnly.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:errorLevel", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "What error level", "sliceName": "errorLevel", "constraint": [ { "key": "cop-3", "human": "ErrorLevel parameter must be Info, Warning, or Error", "xpath": "exists(f:value)", "severity": "error", "expression": "value in ( 'Info' | 'Warning' | 'Error' )" } ], "definition": "This parameter indicates the minimum severity error message that will be reported. Info (default) | Warning | Error" }, { "id": "Parameters.parameter:errorLevel.name", "path": "Parameters.parameter.name", "fixedString": "errorLevel" }, { "id": "Parameters.parameter:errorLevel.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "string" } ], "condition": [ "cop-3" ] }, { "id": "Parameters.parameter:validateUnits", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Validate UCUM units?", "sliceName": "validateUnits", "definition": "This parameter instructs the translator to validate UCUM units in quantity literals." }, { "id": "Parameters.parameter:validateUnits.name", "path": "Parameters.parameter.name", "fixedString": "validateUnits" }, { "id": "Parameters.parameter:validateUnits.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:verifyOnly", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Verify only", "sliceName": "verifyOnly", "definition": "This parameter indicates that the translator should verify the input CQL only, not create ELM output." }, { "id": "Parameters.parameter:verifyOnly.name", "path": "Parameters.parameter.name", "fixedString": "verifyOnly" }, { "id": "Parameters.parameter:verifyOnly.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:analyzeDataRequirements", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Analyze data requirements?", "sliceName": "analyzeDataRequirements", "definition": "This parameter indicates whether the packaging for CQL libraries should perform optimizations on data requirements where possible (such as optimizing where clauses into retrieves to improve selectivity of the resulting data requirements)." }, { "id": "Parameters.parameter:analyzeDataRequirements.name", "path": "Parameters.parameter.name", "fixedString": "analyzeDataRequirements" }, { "id": "Parameters.parameter:analyzeDataRequirements.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] }, { "id": "Parameters.parameter:collapseDataRequirements", "max": "1", "min": 0, "path": "Parameters.parameter", "short": "Collapse data requirements?", "sliceName": "collapseDataRequirements", "definition": "This parameter indicates whether the packaging for CQL libraries should collapse data requirements where possible (i.e. removing duplicate data requirements according to the process described in the [Artifact Data Requirements](https://cql.hl7.org/05-languagesemantics.html#artifact-data-requirements) section of the CQL specification)." }, { "id": "Parameters.parameter:collapseDataRequirements.name", "path": "Parameters.parameter.name", "fixedString": "collapseDataRequirements" }, { "id": "Parameters.parameter:collapseDataRequirements.value[x]", "min": 1, "path": "Parameters.parameter.value[x]", "type": [ { "code": "boolean" } ] } ] }, "contact": [ { "telecom": [ { "value": "http://www.hl7.org/Special/committees/dss", "system": "url" } ] } ], "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters" }