Class SearchParameter

  • All Implemented Interfaces:
    Visitable

    @Generated("org.linuxforhealth.fhir.tools.CodeGenerator")
    public class SearchParameter
    extends DomainResource
    A search parameter that defines a named search item that can be used to search/filter on a resource.

    Maturity level: FMM3 (Trial Use)

    • Method Detail

      • getUrl

        public Uri getUrl()
        An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.
        Returns:
        An immutable object of type Uri that is non-null.
      • getVersion

        public String getVersion()
        The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.
        Returns:
        An immutable object of type String that may be null.
      • getName

        public String getName()
        A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.
        Returns:
        An immutable object of type String that is non-null.
      • getDerivedFrom

        public Canonical getDerivedFrom()
        Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.
        Returns:
        An immutable object of type Canonical that may be null.
      • getStatus

        public PublicationStatus getStatus()
        The status of this search parameter. Enables tracking the life-cycle of the content.
        Returns:
        An immutable object of type PublicationStatus that is non-null.
      • getExperimental

        public Boolean getExperimental()
        A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
        Returns:
        An immutable object of type Boolean that may be null.
      • getDate

        public DateTime getDate()
        The date (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.
        Returns:
        An immutable object of type DateTime that may be null.
      • getPublisher

        public String getPublisher()
        The name of the organization or individual that published the search parameter.
        Returns:
        An immutable object of type String that may be null.
      • getContact

        public java.util.List<ContactDetail> getContact()
        Contact details to assist a user in finding and communicating with the publisher.
        Returns:
        An unmodifiable list containing immutable objects of type ContactDetail that may be empty.
      • getDescription

        public Markdown getDescription()
        And how it used.
        Returns:
        An immutable object of type Markdown that is non-null.
      • getUseContext

        public java.util.List<UsageContext> getUseContext()
        The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances.
        Returns:
        An unmodifiable list containing immutable objects of type UsageContext that may be empty.
      • getJurisdiction

        public java.util.List<CodeableConcept> getJurisdiction()
        A legal or geographic region in which the search parameter is intended to be used.
        Returns:
        An unmodifiable list containing immutable objects of type CodeableConcept that may be empty.
      • getPurpose

        public Markdown getPurpose()
        Explanation of why this search parameter is needed and why it has been designed as it has.
        Returns:
        An immutable object of type Markdown that may be null.
      • getCode

        public Code getCode()
        The code used in the URL or the parameter name in a parameters resource for this search parameter.
        Returns:
        An immutable object of type Code that is non-null.
      • getBase

        public java.util.List<ResourceTypeCode> getBase()
        The base resource type(s) that this search parameter can be used against.
        Returns:
        An unmodifiable list containing immutable objects of type ResourceTypeCode that is non-empty.
      • getType

        public SearchParamType getType()
        The type of value that a search parameter may contain, and how the content is interpreted.
        Returns:
        An immutable object of type SearchParamType that is non-null.
      • getExpression

        public String getExpression()
        A FHIRPath expression that returns a set of elements for the search parameter.
        Returns:
        An immutable object of type String that may be null.
      • getXpath

        public String getXpath()
        An XPath expression that returns a set of elements for the search parameter.
        Returns:
        An immutable object of type String that may be null.
      • getXpathUsage

        public XPathUsageType getXpathUsage()
        How the search parameter relates to the set of elements returned by evaluating the xpath query.
        Returns:
        An immutable object of type XPathUsageType that may be null.
      • getTarget

        public java.util.List<ResourceTypeCode> getTarget()
        Types of resource (if a resource is referenced).
        Returns:
        An unmodifiable list containing immutable objects of type ResourceTypeCode that may be empty.
      • getMultipleOr

        public Boolean getMultipleOr()
        Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match.
        Returns:
        An immutable object of type Boolean that may be null.
      • getMultipleAnd

        public Boolean getMultipleAnd()
        Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.
        Returns:
        An immutable object of type Boolean that may be null.
      • getComparator

        public java.util.List<SearchComparator> getComparator()
        Comparators supported for the search parameter.
        Returns:
        An unmodifiable list containing immutable objects of type SearchComparator that may be empty.
      • getModifier

        public java.util.List<SearchModifierCode> getModifier()
        A modifier supported for the search parameter.
        Returns:
        An unmodifiable list containing immutable objects of type SearchModifierCode that may be empty.
      • getChain

        public java.util.List<String> getChain()
        Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type.
        Returns:
        An unmodifiable list containing immutable objects of type String that may be empty.
      • getComponent

        public java.util.List<SearchParameter.Component> getComponent()
        Used to define the parts of a composite search parameter.
        Returns:
        An unmodifiable list containing immutable objects of type SearchParameter.Component that may be empty.
      • accept

        public void accept​(java.lang.String elementName,
                           int elementIndex,
                           Visitor visitor)
        Description copied from interface: Visitable
        Accept a Visitor and invoke the appropriate visit methods. A typical implementation would look like this:
         if (visitor.preVisit(this)) {
             visitor.visitStart(elementName, elementIndex, this);
             if (visitor.visit(elementName, elementIndex, this)) {
                 // visit children
             }
             visitor.visitEnd(elementName, elementIndex, this);
             visitor.postVisit(this);
         }
         
        Specified by:
        accept in interface Visitable
        Specified by:
        accept in class AbstractVisitable
        Parameters:
        elementName - the name of the element in the context of this visit
        elementIndex - the index of the element in a list or -1 if it is not contained within a List
        visitor - the visitor to use
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object