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

Search in Messaging limits functionality

    XMLWordPrintableJSON

Details

    • Icon: Change Request Change Request
    • Resolution: Persuasive with Modification
    • Icon: Medium Medium
    • FHIR Core (FHIR)
    • R5
    • FHIR Infrastructure
    • Messaging
    • 3.4.6.1
    • Hide

      We will replace the approach described in Search on Messaging to instead say:

      To perform a search with messaging that mirrors REST functionality, the message should leverage a Parameters instance with a standard parameter name of "url" and a valueString that corresponds to the search string that would typically be to the right of the base URL.  E.g. if in REST you would say http://someserver.org/fhir/Patient?name=joe, then the parameter would have a value of "Patient?name=joe".

      The 'event' in this case would be either "search-type" or "search-system" in the system http://hl7.org/fhir/restful-interaction.  (If "search-system" is used, the string would start with a "?" rather than "[resource]?".)  Systems would indicate support for this search mechanism using their CapabilityStatement as they would any other messaging event.  If a system supports messaging search but not RESTful search, the means of describing any limitations on what resources, search parameters, qualifiers, etc. they support is not currently defined.

      Messaging interfaces may also choose to define alternative search mechanisms including query-by-example searches that pass in a partially completed resource, or that use a Parameters instance populated in other ways.

      Show
      We will replace the approach described in Search on Messaging to instead say: To perform a search with messaging that mirrors REST functionality, the message should leverage a Parameters instance with a standard parameter name of "url" and a valueString that corresponds to the search string that would typically be to the right of the base URL.  E.g. if in REST you would say http://someserver.org/fhir/Patient?name=joe , then the parameter would have a value of "Patient?name=joe". The 'event' in this case would be either "search-type" or "search-system" in the system http://hl7.org/fhir/restful-interaction.   (If "search-system" is used, the string would start with a "?" rather than " [resource] ?".)  Systems would indicate support for this search mechanism using their CapabilityStatement as they would any other messaging event.  If a system supports messaging search but not RESTful search, the means of describing any limitations on what resources, search parameters, qualifiers, etc. they support is not currently defined. Messaging interfaces may also choose to define alternative search mechanisms including query-by-example searches that pass in a partially completed resource, or that use a Parameters instance populated in other ways.
    • Gino Canessa/Alexander Zautke: 6-1-2
    • Correction
    • Non-compatible
    • R5

    Description

      The mapping of search input parameters to typed elements in a Parameters greatly reduces the functionality of search.

      For example, Messaging describes a search parameter type of number is mapped to an integer. This excludes decimal searches completely (e.g., search for 2.4) and prevents the use of prefixes (e.g., value=lt4.0). The same is true for other data types (e.g., dates).

      Related, the definition does not discuss modifiers (whether they are allowed or not), version syntax on URI (e.g., canonical|4.0.1), joining syntax, etc.

      I recommend either:

      • expanding this section;
      • requesting additions (with examples) to the search page; or
      • redefining search in Messaging to use a GET-style URL

      Linked a related issue for Batch searching, since many of the same issues exist there.

      Attachments

        Activity

          People

            GrahameGrieve Grahame Grieve
            ginocanessa Gino Canessa
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: