Uploaded image for project: 'FHIR Specification Feedback'
  1. FHIR Specification Feedback
  2. FHIR-42335

Clarify usage of "(exactly)"

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Highest Highest
    • Shorthand (FHIR)
    • 2.0.0
    • FHIR Infrastructure
    • Language Reference
    • 3.6.3
    • Hide

      We will clarify usage of the (exactly) modifier. In short, the (exactly) modifier can be used with any data type instance that can be expressed on the right-hand side of an assignment rule. This works when assigning primitive values, complex values such as concepts or quantities, and even instances as values. We will clarify the text to indicate this.

      Since a complex backbone element cannot be expressed on the right-hand side of an assignment rule, you cannot use (exactly) to fix a backbone element value. In fact, the FHIR specification doesn't allow this anyway, as ElementDefinition.fixed[x] does not allow the BackboneElement type (see open types for what's allowed). Instead, you would need to individually prohibit backbone sub-elements that are not allowed (using 0..0 rules) and then individually fix each sub-element to the value you want (using (exactly)). We feel that this topic is too complicated to discuss in the FSH spec, but could be considered for supplemental tips & tricks documentation in the future.

      Show
      We will clarify usage of the (exactly) modifier. In short, the (exactly) modifier can be used with any data type instance that can be expressed on the right-hand side of an assignment rule. This works when assigning primitive values, complex values such as concepts or quantities, and even instances as values. We will clarify the text to indicate this. Since a complex backbone element cannot be expressed on the right-hand side of an assignment rule, you cannot use (exactly) to fix a backbone element value. In fact, the FHIR specification doesn't allow this anyway, as ElementDefinition.fixed [x] does not allow the BackboneElement type (see open types for what's allowed). Instead, you would need to individually prohibit backbone sub-elements that are not allowed (using 0..0 rules) and then individually fix each sub-element to the value you want (using (exactly)). We feel that this topic is too complicated to discuss in the FSH spec, but could be considered for supplemental tips & tricks documentation in the future.
    • Chris Moesel/Gino Canessa: 14-0-2
    • Clarification
    • Non-substantive

    Description

      Can "(exactly)" be applied in profiles to complex datatypes or backbone elements other than Codings/CodeableConcepts?

      Can I specify:

      • <backbone> (exactly)
      • <element> = {value}

        to indicate that the only subelements of backbone that are permitted to be valued are element?

      (Comment 56 - imported by: Ron G. Parker)

      Attachments

        Activity

          People

            cmoesel Chris Moesel
            Rongparker Ron G. Parker
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: