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

Specify extent of encoding of x-fhir-query

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Medium Medium
    • Structured Data Capture (SDC) (FHIR)
    • 3.0.0
    • FHIR Infrastructure
    • Using Expressions
    • Hide

      Will clarify that:

      a) The content of the URL excluding the brace-encoded content must already be properly URL-encoded

      b) The braces themselves and the FHIRPath content within them are NOT url-encoded

      c) The FHIRPath expressions embedded in the query must resolve to a string (though possibly either an empty string or empty collection which will be treated as an empty string)

      d) The result of substituting the result of the FHIRPath expression must be a valid URL.  I.e. the FHIRPath must take care of escaping string content when necessary (usually using the '.encode('urlbase64')' function). 

      Will add the following examples:

      Observation?{{'subject=Patient/'%patient.id'&'}}code=http%3A%2F%2Fexample.org%2FCodeSystem%2Fdemo%7Cvalue

      With the explanation that this will filter by the patient if there is a patient.id in context, and otherwise will only filter by code.

      Observation?code:text=%codesearch.encode('urlbase64')

       

      Show
      Will clarify that: a) The content of the URL excluding the brace-encoded content must already be properly URL-encoded b) The braces themselves and the FHIRPath content within them are NOT url-encoded c) The FHIRPath expressions embedded in the query must resolve to a string (though possibly either an empty string or empty collection which will be treated as an empty string) d) The result of substituting the result of the FHIRPath expression must be a valid URL.  I.e. the FHIRPath must take care of escaping string content when necessary (usually using the '.encode('urlbase64')' function).  Will add the following examples: Observation?{{'subject=Patient/' %patient.id '&'}}code=http%3A%2F%2Fexample.org%2FCodeSystem%2Fdemo%7Cvalue With the explanation that this will filter by the patient if there is a patient.id in context, and otherwise will only filter by code. Observation?code:text= %codesearch.encode('urlbase64')  
    • Paul Lynch/Brian Postlethwaite: 2-0-0
    • Clarification
    • Non-substantive

    Description

      I think we need to specify what parts of x-fhir-query are already properly URL encoded, and particularly that:

      1) embedded FHIRPath with its braces are not encoded, since those need to be replaced before the URL is used

      2) the rest of the URL (the non-FHIRPath stuff) is already properly encoded and ready to use.

       

      See https://chat.fhir.org/#narrow/stream/179255-questionnaire/topic/URL.20encoding.20of.20x-fhir-query

       

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            plynch Paul Lynch
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: