FHIR Extensions Pack
5.1.0 - 5.1.0 (April 2024) International flag

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions

Extension: Target invariant

Official URL: http://hl7.org/fhir/StructureDefinition/cqf-targetInvariant Version: 5.1.0
Standards status: Deprecated Maturity Level: 2 Responsible: HL7 International / Clinical Decision Support Computable Name: TargetInvariant
Other Identifiers: OID:2.16.840.1.113883.4.642.5.1694

DEPRECATED: Use the targetConstraint extension instead. Specifies an invariant that is enforced on instantiated resources. This extension can be applied to any element of a definitional resource (such as ActivityDefinition or Measure) and indicates that the invariant should be enforced on resources that are instantiated from the definition. For example, this extension can be used to define a constraint such as numerator count must be less than or equal to denominator count.

This extension allows invariants to be specified as part of definitional resources as an alternative to having to define a profile to enforce the constraint.

Context of Use

This extension may be used on the following element(s):

  • Element ID ActivityDefinition
  • Element ID ActivityDefinition.code
  • Element ID ActivityDefinition.intent
  • Element ID ActivityDefinition.priority
  • Element ID ActivityDefinition.doNotPerform
  • Element ID ActivityDefinition.timing[x]
  • Element ID ActivityDefinition.asNeeded[x]
  • Element ID ActivityDefinition.location
  • Element ID ActivityDefinition.participant
  • Element ID ActivityDefinition.product[x]
  • Element ID ActivityDefinition.quantity
  • Element ID ActivityDefinition.dosage
  • Element ID ActivityDefinition.bodySite
  • Element ID ActivityDefinition.dynamicValue
  • Element ID Measure
  • Element ID Measure.group
  • Element ID Measure.group.population
  • Element ID Measure.group.stratifier
  • Element ID Measure.supplementalData
  • Element ID PlanDefinition
  • Element ID PlanDefinition.goal
  • Element ID PlanDefinition.goal.target
  • Element ID PlanDefinition.actor
  • Element ID PlanDefinition.action
  • Element ID Questionnaire
  • Element ID Questionnaire.item

Usage info

Usage:

  • This Extension is not used by any profiles in this Implementation Guide

Changes since version 1.0.0:

  • The resource metadata has changed (status, publisher, description, purpose)
  • Formal Views of Extension Content

    Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

    This structure is derived from Extension

    Summary

    Complex Extension: DEPRECATED: Use the targetConstraint extension instead. Specifies an invariant that is enforced on instantiated resources. This extension can be applied to any element of a definitional resource (such as ActivityDefinition or Measure) and indicates that the invariant should be enforced on resources that are instantiated from the definition. For example, this extension can be used to define a constraint such as numerator count must be less than or equal to denominator count.

    • key: id: A unique identifier for the invariant (unique in the context of the resource).
    • requirements: string: A brief description of why the invariant is necessary or appropriate.
    • severity: code: Whether the invariant indicates an error condition or a warning.
    • expression: Expression: An expression providing a formal representation of the invariant condition.

    Maturity: 2

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Extension 0..* Extension A constraint on the target resource
    ... Slices for extension Content/Rules for all slices
    .... extension:key 1..1 Extension Unique identifier
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why the invariant is defined
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error | warning
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required)
    .... extension:expression 1..1 Extension The invariant expression
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/cqf-targetInvariant"
    ... value[x] 0..0

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Extension 0..* Extension A constraint on the target resource
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 3..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:key 1..1 Extension Unique identifier
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why the invariant is defined
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error | warning
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required)
    .... extension:expression 1..1 Extension The invariant expression
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/cqf-targetInvariant"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: DEPRECATED: Use the targetConstraint extension instead. Specifies an invariant that is enforced on instantiated resources. This extension can be applied to any element of a definitional resource (such as ActivityDefinition or Measure) and indicates that the invariant should be enforced on resources that are instantiated from the definition. For example, this extension can be used to define a constraint such as numerator count must be less than or equal to denominator count.

    • key: id: A unique identifier for the invariant (unique in the context of the resource).
    • requirements: string: A brief description of why the invariant is necessary or appropriate.
    • severity: code: Whether the invariant indicates an error condition or a warning.
    • expression: Expression: An expression providing a formal representation of the invariant condition.

    Maturity: 2

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Extension 0..* Extension A constraint on the target resource
    ... Slices for extension Content/Rules for all slices
    .... extension:key 1..1 Extension Unique identifier
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why the invariant is defined
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error | warning
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required)
    .... extension:expression 1..1 Extension The invariant expression
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/cqf-targetInvariant"
    ... value[x] 0..0

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. Extension 0..* Extension A constraint on the target resource
    ... id 0..1 id Unique id for inter-element referencing
    ... Slices for extension 3..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    .... extension:key 1..1 Extension Unique identifier
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "key"
    ..... value[x] 1..1 id Value of extension
    .... extension:requirements 0..1 Extension Why the invariant is defined
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "requirements"
    ..... value[x] 1..1 string Value of extension
    .... extension:severity 1..1 Extension error | warning
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "severity"
    ..... value[x] 1..1 code Value of extension
    Binding: ConstraintSeverity (required)
    .... extension:expression 1..1 Extension The invariant expression
    ..... id 0..1 id Unique id for inter-element referencing
    ..... extension 0..0
    ..... url 1..1 uri "expression"
    ..... value[x] 1..1 Expression Value of extension
    ... url 1..1 uri "http://hl7.org/fhir/StructureDefinition/cqf-targetInvariant"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Terminology Bindings

    PathConformanceValueSetURI
    Extension.extension:severity.value[x]requiredConstraintSeverity
    http://hl7.org/fhir/ValueSet/constraint-severity
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()

    Search Parameters for this Extension

    (none found)