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

Add further clarification between slicing a binding (4.1.0) vs using extensible binding (4.0.0)

    XMLWordPrintableJSON

Details

    • Change Request
    • Status: Published (View Workflow)
    • Highest
    • Resolution: Persuasive
    • US Core (FHIR)
    • 4.1.0
    • Cross-Group Projects
    • Conformance Expectations
    • 2.2.5.1.1
    • Hide

      Background:

      As a result of FHIR-32857,  we updated coded elements where there was an extensible bindings and cardinality >1 to an optional sliced element with required binding.  An example in US CORE Ver 4.0.0 before 

       

      and ver 4.1.0 after the change: 

      The reason for this was the FHIR conformance rule:

      If an extensible binding is applied to an element with maximum cardinality > 1, the binding applies to all the elements.(http://hl7.org/fhir/R4/terminologies.html#extensible)

      However, the original intent was for the binding to applies to at least one of the repeating elements and to achieve that an element slice bound to to value set was needed.

      Because of arcane but necessary slicing rules about binding strength we felt is necessary to document this in the conformance section to point out the equivalence of binding strengths over the wire:

      Required Bindings When Slicing by Value Sets

      FHIR profiles use slicing when a coded element is a repeating element and a particular value set is desired for at least one of the repeats. This is a special case where a required value set binding is used to differentiate the repeat. In this guide, the minimum cardinality for these ‘slices’ is set to 0 so that other codes are allowed when no suitable code exists in the value set (equivalent to Extensible Binding below).  The example in figure 5 below illustrates this structure for the repeating Condition.category element:

      • This structure allows 0..* concept(s) from the required value set.
      • This structure, by being 0..*, allows servers to send concepts not in the required value set.

      Figure 5: US Core Condition.category

      Reasoning:

      We agree with commenter that the section could be clarified.
       

      Proposed Changes:

      change section reproduced above to:

       

      Required Bindings When Slicing by Value Sets

       NOTE THAT THIS DOES NOT AFFECT THE OVER THE WIRE STRUCTURE OR VALIDATION OF INSTANCES OF THESE RESOURCES. 

      Because of the  FHIR conformance rule:

      If an extensible binding is applied to an element with maximum cardinality > 1, the binding applies to all the elements.(http://hl7.org/fhir/R4/terminologies.html#extensible)

      FHIR profiles use slicing when a coded element is a repeating element and a particular value set is desired for at least one of the repeats. This is a special case where a required value set binding is used to differentiate the repeat. In this guide, the minimum cardinality for these ‘slices’ is set to 0 so that other codes are allowed when no suitable code exists in the value set (equivalent to Extensible Binding below). The example in figure 5 below illustrates this structure for the repeating Condition.category element:

      • This structure allows 0..* concept(s) from the required value set.
      • This structure, by being 0..*, allows servers to send concepts not in the required value set.

      Figure 5: US Core Condition.category

       

       

      Show
      Background: As a result of FHIR-32857 ,  we updated coded elements where there was an extensible bindings and cardinality >1  to an optional sliced element with required binding.  An example in US CORE Ver 4.0.0 before    and ver 4.1.0 after the change:  The reason for this was the FHIR conformance rule: If an extensible binding is applied to an element with maximum cardinality > 1, the binding applies to all the elements.( http://hl7.org/fhir/R4/terminologies.html#extensible) However, the original intent was for the binding to applies to at least one  of the repeating elements and to achieve that an element slice bound to to value set was needed. Because of arcane but necessary slicing rules about binding strength we felt is necessary to document this in the conformance section to point out the equivalence of binding strengths over the wire: Required Bindings When Slicing by Value Sets FHIR profiles use  slicing  when a coded element is a repeating element and a particular value set is desired for at least one of the repeats. This is a special case where a required value set binding is used to differentiate the repeat. In this guide, the minimum cardinality for these ‘slices’ is set to 0 so that other codes are allowed when no suitable code exists in the value set (equivalent to Extensible Binding below).  The example in figure 5 below illustrates this structure for the repeating Condition.category element: This structure allows 0..* concept(s) from the required value set. This structure, by being 0..*, allows servers to send concepts not in the required value set. Figure 5: US Core Condition.category Reasoning: We agree with commenter that the section could be clarified.   Proposed Changes: change section reproduced above to:   Required Bindings When Slicing by Value Sets   NOTE THAT THIS DOES NOT AFFECT THE OVER THE WIRE STRUCTURE OR VALIDATION OF INSTANCES OF THESE RESOURCES.   Because of the  FHIR conformance rule: If an extensible binding is applied to an element with maximum cardinality > 1, the binding applies to all the elements.( http://hl7.org/fhir/R4/terminologies.html#extensible) FHIR profiles use  slicing  when a coded element is a repeating element and a particular value set is desired for at least one of the repeats. This is a special case where a required value set binding is used to differentiate the repeat. In this guide, the minimum cardinality for these ‘slices’ is set to 0 so that other codes are allowed when no suitable code exists in the value set (equivalent to Extensible Binding below). The example in figure 5 below illustrates this structure for the repeating Condition.category element: This structure allows 0..* concept(s) from the required value set. This structure, by being 0..*, allows servers to send concepts not in the required value set. Figure 5: US Core Condition.category    
    • Floyd Eisenberg/Eric Haas: 12-0-2
    • Clarification
    • Non-substantive

    Description

      I recommend further clarify why using sliced binding (in v4.1.0) vs extensible binding (in v4.0.0)

      Include the summary for FHIR-32857 would be very helpful for reader to understand the driving force behind this change.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              yunwwang Yunwei Wang
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: