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

Clarify expected values for ValueSet filter values

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive
    • Icon: Medium Medium
    • FHIR Core (FHIR)
    • R5
    • Terminology Infrastructure
    • CodeSystem
      ValueSet
    • Hide

      Current definition for ValueSet.compose.include.filter.value

      The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'.

      Change to this: (note we removed the previously suggested introductory paragraph)

      ValueSet.compose.include.filter.value is represented as a string, and the string value must be one of the three types below:

      • When the filter operation (ValueSet.compose.include.filter.op) is equal to "regex", the value (ValueSet.compose.include.filter.value) is a regex expression. This is used to match string values (including integer and decimal, if necessary).   
      • When the filter operation (ValueSet.compose.include.filter.op) is equal to "exists", the value (ValueSet.compose.include.filter.value) is a boolean and must be equal to "true" or "false".
      • For all other filter operations (ValueSet.compose.include.filter.op) the value (ValueSet.compose.include.filter.value) represents a code.

       

       

      Show
      Current definition for ValueSet.compose.include.filter.value The match value may be either a code defined by the system, or a string value, which is a regex match on the literal string of the property value (if the filter represents a property defined in CodeSystem) or of the system filter value (if the filter represents a filter defined in CodeSystem) when the operation is 'regex', or one of the values (true and false), when the operation is 'exists'. Change to this: (note we removed the previously suggested introductory paragraph) ValueSet.compose.include.filter.value is represented as a string, and the string value must be one of the three types below: When the filter operation (ValueSet.compose.include.filter.op) is equal to "regex", the value (ValueSet.compose.include.filter.value) is a regex expression. This is used to match string values (including integer and decimal, if necessary).    When the filter operation (ValueSet.compose.include.filter.op) is equal to "exists", the value (ValueSet.compose.include.filter.value) is a boolean and must be equal to "true" or "false". For all other filter operations (ValueSet.compose.include.filter.op) the value (ValueSet.compose.include.filter.value) represents a code.    
    • Rob Hausam/John Snyder: 2-0-0
    • Clarification
    • Non-substantive

    Description

      ValueSet.compose.include.filter.value is of string types, but filters (and properties that can be used as filters) can be of code, Coding, string, integer, boolean, dateTime, or decimal datatypes.

      The short description of value suggests boolean is only supported for "exists", and ignores several of the other types. The definition is extremely hard to understand, and should just be rewritten more clearly. We also need to emphasize that, regardless of what the type of the property is, the value must be expressed as a string.

      Also, add decimal to type details in the table in https://build.fhir.org/codesystem.html#properties.

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            esilver Elliot Silver
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: