{ "description": "Constraints on documentation for the evaluation of a Measure", "_filename": "StructureDefinition-MeasureCriteria.json", "package_name": "hl7.fhir.uv.saner", "date": "2021-09-07T19:08:29+00:00", "derivation": "constraint", "publisher": "HL7 International Public Health Workgroup", "fhirVersion": "4.0.1", "jurisdiction": [ { "coding": [ { "code": "001", "system": "http://unstats.un.org/unsd/methods/m49/m49.htm" } ] } ], "name": "MeasureCriteria", "mapping": [ { "uri": "http://hl7.org/v3", "name": "RIM Mapping", "identity": "rim" } ], "abstract": false, "type": "Expression", "experimental": "true", "resourceType": "StructureDefinition", "title": null, "package_version": "1.0.0", "snapshot": { "element": [ { "constraint": [ { "key": "ele-1", "human": "All FHIR elements must have a @value or children", "xpath": "@value|f:*|h:div", "source": "http://hl7.org/fhir/StructureDefinition/Element", "severity": "error", "expression": "hasValue() or (children().count() > id.count())" }, { "key": "exp-1", "human": "An expression or a reference must be provided", "xpath": "exists(f:expression) or exists(f:reference)", "source": "http://hl7.org/fhir/StructureDefinition/Expression", "severity": "error", "expression": "expression.exists() or reference.exists()" } ], "path": "Expression", "min": 0, "definition": "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.", "isModifier": false, "short": "An expression that can be used to generate a value", "mapping": [ { "map": "n/a", "identity": "rim" } ], "max": "*", "id": "Expression", "condition": [ "ele-1" ], "base": { "max": "*", "min": 0, "path": "Expression" } }, { "path": "Expression.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": "Expression.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": "Expression.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" } ], "slicing": { "rules": "open", "description": "Extensions are always sliced by (at least) url", "discriminator": [ { "path": "url", "type": "value" } ] }, "type": [ { "code": "Extension" } ], "alias": [ "extensions", "user content" ], "max": "*", "id": "Expression.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": "Expression.extension", "min": 0, "definition": "Provides Alternate criteria for performing a measure, (e.g., CQL, Drools, et cetera)", "isModifier": false, "short": "Other expressions for computing the criterion", "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureAlternateCriteria" ] } ], "sliceName": "alternateCriteria", "max": "1", "id": "Expression.extension:alternateCriteria", "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())" } ], "path": "Expression.description", "min": 1, "definition": "A brief, natural language description of the condition that effectively communicates the intended semantics.", "isModifier": false, "short": "Describe what the criterion does to a human (non-engineer)", "type": [ { "code": "string" } ], "mustSupport": true, "max": "1", "id": "Expression.description", "base": { "max": "1", "min": 0, "path": "Expression.description" }, "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": "Expression.name", "min": 0, "definition": "A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.", "isModifier": false, "short": "name should align with code.", "type": [ { "code": "id" } ], "mustSupport": true, "max": "1", "id": "Expression.name", "base": { "max": "1", "min": 0, "path": "Expression.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": "Expression.language", "min": 1, "definition": "The media type of the language for the expression.", "isModifier": false, "short": "Provide the language for the criterion", "type": [ { "code": "code" } ], "mustSupport": true, "binding": { "strength": "extensible", "valueSet": "http://hl7.org/fhir/ValueSet/expression-language", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet", "valueCanonical": "http://www.rfc-editor.org/bcp/bcp13.txt" }, { "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName", "valueString": "ExpressionLanguage" } ], "description": "The media type of the expression language." }, "max": "1", "id": "Expression.language", "base": { "max": "1", "min": 1, "path": "Expression.language" }, "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": "Expression.expression", "min": 1, "definition": "An expression in the specified language that returns a value.", "isModifier": false, "short": "A measure must describe how to automate the computation in an expression that can be evaluated in the specified language", "type": [ { "code": "string" } ], "mustSupport": true, "max": "1", "id": "Expression.expression", "base": { "max": "1", "min": 0, "path": "Expression.expression" }, "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": "Expression.reference", "min": 0, "definition": "A URI that defines where the expression is found.", "isModifier": false, "short": "Where the expression is found", "type": [ { "code": "uri" } ], "max": "1", "id": "Expression.reference", "comment": "If both a reference and an expression is found, the reference SHALL point to the same expression.", "base": { "max": "1", "min": 0, "path": "Expression.reference" }, "isSummary": true } ] }, "status": "draft", "id": "1dd519f0-adfc-40ae-b4f3-f243bb730b3b", "kind": "complex-type", "url": "http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureCriteria", "version": "1.0.0", "differential": { "element": [ { "id": "Expression", "path": "Expression" }, { "id": "Expression.extension:alternateCriteria", "max": "1", "min": 0, "path": "Expression.extension", "type": [ { "code": "Extension", "profile": [ "http://hl7.org/fhir/uv/saner/StructureDefinition/MeasureAlternateCriteria" ] } ], "short": "Other expressions for computing the criterion", "sliceName": "alternateCriteria" }, { "id": "Expression.description", "min": 1, "path": "Expression.description", "short": "Describe what the criterion does to a human (non-engineer)", "mustSupport": true }, { "id": "Expression.name", "path": "Expression.name", "short": "name should align with code.", "mustSupport": true }, { "id": "Expression.language", "path": "Expression.language", "short": "Provide the language for the criterion", "mustSupport": true }, { "id": "Expression.expression", "min": 1, "path": "Expression.expression", "short": "A measure must describe how to automate the computation in an expression that can be evaluated in the specified language", "mustSupport": true } ] }, "contact": [ { "telecom": [ { "value": "http://hl7.org/Special/committees/pher", "system": "url" } ] }, { "telecom": [ { "value": "pher@lists.hl7.org", "system": "email" } ] }, { "name": "Keith W. Boone", "telecom": [ { "value": "mailto:kboone@ainq.com", "system": "email" } ] } ], "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Expression" }