Annotation Type Search


@Retention(RUNTIME) @Target(METHOD) public @interface Search
RESTful method annotation used for a method which provides the FHIR "search" method. See the FHIR Search definition for more information.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    In a REST server, should this method be invoked even if it does not have method parameters which correspond to all of the URL parameters passed in by the client (default is false).
    If specified, this the name for the compartment
    If specified, this the name for the Named Query
    Class<? extends IBaseResource>
    The return type for this method.
    This method allows the return type for this method to be specified in a non-type-specific way, using the text name of the resource, e.g.
  • Element Details

    • queryName

      If specified, this the name for the Named Query

      See the FHIR specification section on named queries

      Default:
      ""
    • compartmentName

      If specified, this the name for the compartment

      See the FHIR specification section on compartments

      Default:
      ""
    • type

      The return type for this method. This generally does not need to be populated for IResourceProvider instances in a server implementation, but often does need to be populated in client implementations using IBasicClient or IRestfulClient, or in plain providers on a server.

      This value also does not need to be populated if the return type for a method annotated with this annotation is sufficient to determine the type of resource provided. E.g. if the method returns Patient or List<Patient>, the server/client will automatically determine that the Patient resource is the return type, and this value may be left blank.

      Default:
      org.hl7.fhir.instance.model.api.IBaseResource.class
    • typeName

      This method allows the return type for this method to be specified in a non-type-specific way, using the text name of the resource, e.g. "Patient". This attribute should be populate, or type() should be, but not both.
      Since:
      5.4.0
      Default:
      ""
    • allowUnknownParams

      In a REST server, should this method be invoked even if it does not have method parameters which correspond to all of the URL parameters passed in by the client (default is false).

      Use this method with caution: Methods marked with a value of true will be greedy, meaning they may handle invocations you had intended to be handled by other search methods. Such a method may be invoked as long as any method parameters marked as required have been satisfied. If there are other methods which have parameters marked as optional which would technically be a better match, either the this method or the other method might be called.

      Default:
      false