XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Highest Highest
    • Shorthand (FHIR)
    • 0.12.0 [deprecated]
    • FHIR Infrastructure
    • Language Reference
    • Hide

      The choices for dealing with this inconsistency are:

      1. Leave as-is (pipe in Reference(This | That) and "or" elsewhere)
      2. Use pipe (|) everywhere
      3. Use "or" everywhere

      This comes down to a matter of taste. This issue was discussed with users on a FHIR Shorthand call (6/11), and #3 was the preference of most users. Therefore #3 is our proposed resolution.

      What follows are some notes regarding pros and cons of the three choices. 

      ----------

      PROs for #1 (leaving as-is):

      1) No non-compatible change introduced

      CONs for #1:

      1) Two ways to represent logical "or"

      2) “Reference(This | That)” is a UI representation from the IG Publisher. The IG Publisher has frequently changed how it displays things, and Grahame could change it on any given day for any given reason. If he does, it will be a little harder to justify the use of “|” in References in FSH.

      ---------

      PROs for #2 (Pipe everywhere): 

      1) FSH tries to follow FHIR precedent when it can, which is why FSH uses the pipe inside References. In other contexts, there is no precedent. For maximum consistency, we would extend the FHIR precedent to other cases. Therefore, a rule like this:
       
      * onset[x] only Age or AgeRange or DateRange

      would change to this:
       
      * onset[x] only Age | AgeRange | DateRange

      which doesn't look bad.

      CONs for #2

      1) It's a bit geeky

      2) FSH uses the word 'and' in several different types of rules. If we use a logical symbol for "or", should FSH also use a logical symbol (&) for logical "and"? That would trigger a larger non-compatible change. 

      3) The pipe is also used to represent versioned code systems: system|version

      ---------

      PROs for #3 ("or" everywhere):

      1) It's English, and FSH already uses "or" in other rules.

      2) It's consistent with using "and" in other rules

      CONs for #3:

      1) Inconsistent with the way FHIR currently represents Reference choices in IGs. However, this is a choice of the IG Publisher, not something intrinsic to FHIR.

      ---------

      The proposed resolution #3, allowing users a period of time to migrate when both | and "or" are accepted.

       

      Show
      The choices for dealing with this inconsistency are: Leave as-is (pipe in Reference(This | That) and "or" elsewhere) Use pipe (|) everywhere Use "or" everywhere This comes down to a matter of taste. This issue was discussed with users on a FHIR Shorthand call (6/11), and #3 was the preference of most users. Therefore #3 is our proposed resolution. What follows are some notes regarding pros and cons of the three choices.  ---------- PROs for #1 (leaving as-is): 1) No non-compatible change introduced CONs for #1 : 1) Two ways to represent logical "or" 2) “Reference(This | That)” is a UI representation from the IG Publisher. The IG Publisher has frequently changed how it displays things, and Grahame could change it on any given day for any given reason. If he does, it will be a little harder to justify the use of “|” in References in FSH. --------- PROs for #2 (Pipe everywhere):   1) FSH tries to follow FHIR precedent when it can, which is why FSH uses the pipe inside References. In other contexts, there is no precedent. For maximum consistency, we would extend the FHIR precedent to other cases. Therefore, a rule like this:   * onset [x] only Age or AgeRange or DateRange would change to this:   * onset [x] only Age | AgeRange | DateRange which doesn't look bad. CONs for #2 1) It's a bit geeky 2) FSH uses the word 'and' in several different types of rules. If we use a logical symbol for "or", should FSH also use a logical symbol (&) for logical "and"? That would trigger a larger non-compatible change.  3) The pipe is also used to represent versioned code systems: system|version --------- PROs for #3 ("or" everywhere): 1) It's English, and FSH already uses "or" in other rules. 2) It's consistent with using "and" in other rules CONs for #3: 1) Inconsistent with the way FHIR currently represents Reference choices in IGs. However, this is a choice of the IG Publisher, not something intrinsic to FHIR. --------- The proposed resolution #3, allowing users a period of time to migrate when both | and "or" are accepted.  
    • Kramer/Rhodes: 14-0-0
    • Enhancement
    • Non-compatible

    Description

      The rule for Data type restriction uses the keyword 'or', but the rule for references uses the pipe ('|') to mean or. Is there a reason for using a different symbol to mean the same thing in different contexts? Consider allowing both in both places, or settling on one and using it throughout.

      Existing Wording:

      Or vs |

      Attachments

        Activity

          People

            Unassigned Unassigned
            bryn.rhodes Bryn Rhodes
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: