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

Clarification for search batching and HTTP Verbs

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: High High
    • FHIR Core (FHIR)
    • R5
    • FHIR Infrastructure
    • Search
    • Hide

      Will update the HTTP page on batch/transaction to add the following:

      "When sending searches in a Bundle (i.e. in a batch or transaction), systems SHOULD accept the search as a GET, even they don't typically accept GET-based searches.  There is no standard way to convey POST-based searches within a Bundle and the architectural differences between GET and POST searches are not relevant within a Bundle.  Servers receiving searches within a Bundle SHOULD NOT impose GET-specific limitations on the search (i.e. restrictions not imposed on POST-based searches) that they would impose if the GET-based search had been received outside a Bundle.

      Show
      Will update the HTTP page on batch/transaction to add the following: "When sending searches in a Bundle (i.e. in a batch or transaction), systems SHOULD accept the search as a GET, even they don't typically accept GET-based searches.  There is no standard way to convey POST-based searches within a Bundle and the architectural differences between GET and POST searches are not relevant within a Bundle.  Servers receiving searches within a Bundle SHOULD NOT impose GET-specific limitations on the search (i.e. restrictions not imposed on POST-based searches) that they would impose if the GET-based search had been received outside a Bundle.
    • Grahame Grieve/Bryn Rhodes: 12-0-0
    • Clarification
    • Non-compatible
    • R5

    Description

      The specification is current silent on including a POST-based search request in a transaction. It needs to be explicit in either specifying:

      • POST-based search is NOT allowed in a batch; or
      • the format for a POST-based search.

      One challenge with allowing POST-based search in a batch is that batch operations use the Bundle.entry.resource as the 'body' of the request, but POST-based searches are encoded as x-www-form-urlencoded for consistency between GET and POST.

      This could be overcome by specifying that POST-based searches use a Parameters resource with name/value pairs - I would lean towards using only valueString and keeping URL encoding in order to maintain consistency with the rest of search (e.g., special character escaping, modifiers, etc.).

      If the preference is that POST-based search is not allowed in batches, documenting that is important for implementers. E.g., if GET-based search is generally not used on an implementation, an implementation may try to fail a batched search with an HTTP 405.

      Attachments

        Activity

          People

            ginocanessa Gino Canessa
            ginocanessa Gino Canessa
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: