This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
FHIR Infrastructure Work Group | Maturity Level: 1 | Compartments: Not linked to any defined compartments |
A search parameter that defines a named search item that can be used to search/filter on a resource.
A SearchParameter
resource specifies a search parameter
that may be used on the RESTful API to search or filter on a resource.
The SearchParameter resource declares:
Implementers should be familiar with the background and concepts described in Search on the RESTful API before working with this resource.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
SearchParameter | I | DomainResource | Search Parameter for a resource If an xpath is present, there SHALL be an xpathUsage | |
url | Σ | 1..1 | uri | Absolute URL used to reference this search parameter |
name | Σ | 1..1 | string | Informal name for this search parameter |
status | ?!Σ | 0..1 | code | draft | active | retired ConformanceResourceStatus (Required) |
experimental | Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Publication Date(/time) |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | BackboneElement | Contact details of the publisher |
name | Σ | 0..1 | string | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details for individual or publisher |
useContext | Σ | 0..* | CodeableConcept | Content intends to support these contexts Context of Use ValueSet (Extensible) |
requirements | 0..1 | markdown | Why this search parameter is defined | |
code | Σ | 1..1 | code | Code used in URL |
base | Σ | 1..1 | code | The resource type this search parameter applies to ResourceType (Required) |
type | Σ | 1..1 | code | number | date | string | token | reference | composite | quantity | uri SearchParamType (Required) |
description | Σ | 1..1 | markdown | Documentation for search parameter |
expression | I | 0..1 | string | FluentPath expression that extracts the values |
xpath | I | 0..1 | string | XPath that extracts the values |
xpathUsage | I | 0..1 | code | normal | phonetic | nearby | distance | other XPathUsageType (Required) |
target | 0..* | code | Types of resource (if a resource reference) ResourceType (Required) | |
component | 0..* | Reference(SearchParameter) | For Composite resources to define the parts | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<SearchParameter xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 1..1 Absolute URL used to reference this search parameter --> <name value="[string]"/><!-- 1..1 Informal name for this search parameter --> <status value="[code]"/><!-- 0..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Publication Date(/time) --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact> <!-- 0..* Contact details of the publisher --> <name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom> </contact> <useContext><!-- 0..* CodeableConcept Content intends to support these contexts --></useContext> <requirements value="[markdown]"/><!-- 0..1 Why this search parameter is defined --> <code value="[code]"/><!-- 1..1 Code used in URL --> <base value="[code]"/><!-- 1..1 The resource type this search parameter applies to --> <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri --> <description value="[markdown]"/><!-- 1..1 Documentation for search parameter --> <expression value="[string]"/><!-- 0..1 FluentPath expression that extracts the values --> <xpath value="[string]"/><!-- 0..1 XPath that extracts the values --> <xpathUsage value="[code]"/><!-- 0..1 normal | phonetic | nearby | distance | other --> <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) --> <component><!-- 0..* Reference(SearchParameter) For Composite resources to define the parts --></component> </SearchParameter>
JSON Template
{ "resourceType" : "SearchParameter", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // R! Absolute URL used to reference this search parameter "name" : "<string>", // R! Informal name for this search parameter "status" : "<code>", // draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // Publication Date(/time) "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ // Contact details of the publisher "name" : "<string>", // Name of an individual to contact "telecom" : [{ ContactPoint }] // Contact details for individual or publisher }], "useContext" : [{ CodeableConcept }], // Content intends to support these contexts "requirements" : "<markdown>", // Why this search parameter is defined "code" : "<code>", // R! Code used in URL "base" : "<code>", // R! The resource type this search parameter applies to "type" : "<code>", // R! number | date | string | token | reference | composite | quantity | uri "description" : "<markdown>", // R! Documentation for search parameter "expression" : "<string>", // C? FluentPath expression that extracts the values "xpath" : "<string>", // C? XPath that extracts the values "xpathUsage" : "<code>", // C? normal | phonetic | nearby | distance | other "target" : ["<code>"], // Types of resource (if a resource reference) "component" : [{ Reference(SearchParameter) }] // For Composite resources to define the parts }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SearchParameter; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:SearchParameter.url [ uri ]; # 1..1 Absolute URL used to reference this search parameter fhir:SearchParameter.name [ string ]; # 1..1 Informal name for this search parameter fhir:SearchParameter.status [ code ]; # 0..1 draft | active | retired fhir:SearchParameter.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:SearchParameter.date [ dateTime ]; # 0..1 Publication Date(/time) fhir:SearchParameter.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:SearchParameter.contact [ # 0..* Contact details of the publisher fhir:SearchParameter.contact.name [ string ]; # 0..1 Name of an individual to contact fhir:SearchParameter.contact.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or publisher ], ...; fhir:SearchParameter.useContext [ CodeableConcept ], ... ; # 0..* Content intends to support these contexts fhir:SearchParameter.requirements [ markdown ]; # 0..1 Why this search parameter is defined fhir:SearchParameter.code [ code ]; # 1..1 Code used in URL fhir:SearchParameter.base [ code ]; # 1..1 The resource type this search parameter applies to fhir:SearchParameter.type [ code ]; # 1..1 number | date | string | token | reference | composite | quantity | uri fhir:SearchParameter.description [ markdown ]; # 1..1 Documentation for search parameter fhir:SearchParameter.expression [ string ]; # 0..1 FluentPath expression that extracts the values fhir:SearchParameter.xpath [ string ]; # 0..1 XPath that extracts the values fhir:SearchParameter.xpathUsage [ code ]; # 0..1 normal | phonetic | nearby | distance | other fhir:SearchParameter.target [ code ], ... ; # 0..* Types of resource (if a resource reference) fhir:SearchParameter.component [ Reference(SearchParameter) ], ... ; # 0..* For Composite resources to define the parts ]
Changes since DSTU2
SearchParameter | |
SearchParameter.useContext | added |
SearchParameter.requirements | Type changed from string to markdown |
SearchParameter.description | Type changed from string to markdown |
SearchParameter.expression | added |
SearchParameter.component | added |
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
SearchParameter | I | DomainResource | Search Parameter for a resource If an xpath is present, there SHALL be an xpathUsage | |
url | Σ | 1..1 | uri | Absolute URL used to reference this search parameter |
name | Σ | 1..1 | string | Informal name for this search parameter |
status | ?!Σ | 0..1 | code | draft | active | retired ConformanceResourceStatus (Required) |
experimental | Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Publication Date(/time) |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | BackboneElement | Contact details of the publisher |
name | Σ | 0..1 | string | Name of an individual to contact |
telecom | Σ | 0..* | ContactPoint | Contact details for individual or publisher |
useContext | Σ | 0..* | CodeableConcept | Content intends to support these contexts Context of Use ValueSet (Extensible) |
requirements | 0..1 | markdown | Why this search parameter is defined | |
code | Σ | 1..1 | code | Code used in URL |
base | Σ | 1..1 | code | The resource type this search parameter applies to ResourceType (Required) |
type | Σ | 1..1 | code | number | date | string | token | reference | composite | quantity | uri SearchParamType (Required) |
description | Σ | 1..1 | markdown | Documentation for search parameter |
expression | I | 0..1 | string | FluentPath expression that extracts the values |
xpath | I | 0..1 | string | XPath that extracts the values |
xpathUsage | I | 0..1 | code | normal | phonetic | nearby | distance | other XPathUsageType (Required) |
target | 0..* | code | Types of resource (if a resource reference) ResourceType (Required) | |
component | 0..* | Reference(SearchParameter) | For Composite resources to define the parts | |
Documentation for this format |
XML Template
<SearchParameter xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 1..1 Absolute URL used to reference this search parameter --> <name value="[string]"/><!-- 1..1 Informal name for this search parameter --> <status value="[code]"/><!-- 0..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Publication Date(/time) --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact> <!-- 0..* Contact details of the publisher --> <name value="[string]"/><!-- 0..1 Name of an individual to contact --> <telecom><!-- 0..* ContactPoint Contact details for individual or publisher --></telecom> </contact> <useContext><!-- 0..* CodeableConcept Content intends to support these contexts --></useContext> <requirements value="[markdown]"/><!-- 0..1 Why this search parameter is defined --> <code value="[code]"/><!-- 1..1 Code used in URL --> <base value="[code]"/><!-- 1..1 The resource type this search parameter applies to --> <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri --> <description value="[markdown]"/><!-- 1..1 Documentation for search parameter --> <expression value="[string]"/><!-- 0..1 FluentPath expression that extracts the values --> <xpath value="[string]"/><!-- 0..1 XPath that extracts the values --> <xpathUsage value="[code]"/><!-- 0..1 normal | phonetic | nearby | distance | other --> <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) --> <component><!-- 0..* Reference(SearchParameter) For Composite resources to define the parts --></component> </SearchParameter>
JSON Template
{ "resourceType" : "SearchParameter", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // R! Absolute URL used to reference this search parameter "name" : "<string>", // R! Informal name for this search parameter "status" : "<code>", // draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // Publication Date(/time) "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ // Contact details of the publisher "name" : "<string>", // Name of an individual to contact "telecom" : [{ ContactPoint }] // Contact details for individual or publisher }], "useContext" : [{ CodeableConcept }], // Content intends to support these contexts "requirements" : "<markdown>", // Why this search parameter is defined "code" : "<code>", // R! Code used in URL "base" : "<code>", // R! The resource type this search parameter applies to "type" : "<code>", // R! number | date | string | token | reference | composite | quantity | uri "description" : "<markdown>", // R! Documentation for search parameter "expression" : "<string>", // C? FluentPath expression that extracts the values "xpath" : "<string>", // C? XPath that extracts the values "xpathUsage" : "<code>", // C? normal | phonetic | nearby | distance | other "target" : ["<code>"], // Types of resource (if a resource reference) "component" : [{ Reference(SearchParameter) }] // For Composite resources to define the parts }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:SearchParameter; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:SearchParameter.url [ uri ]; # 1..1 Absolute URL used to reference this search parameter fhir:SearchParameter.name [ string ]; # 1..1 Informal name for this search parameter fhir:SearchParameter.status [ code ]; # 0..1 draft | active | retired fhir:SearchParameter.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:SearchParameter.date [ dateTime ]; # 0..1 Publication Date(/time) fhir:SearchParameter.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:SearchParameter.contact [ # 0..* Contact details of the publisher fhir:SearchParameter.contact.name [ string ]; # 0..1 Name of an individual to contact fhir:SearchParameter.contact.telecom [ ContactPoint ], ... ; # 0..* Contact details for individual or publisher ], ...; fhir:SearchParameter.useContext [ CodeableConcept ], ... ; # 0..* Content intends to support these contexts fhir:SearchParameter.requirements [ markdown ]; # 0..1 Why this search parameter is defined fhir:SearchParameter.code [ code ]; # 1..1 Code used in URL fhir:SearchParameter.base [ code ]; # 1..1 The resource type this search parameter applies to fhir:SearchParameter.type [ code ]; # 1..1 number | date | string | token | reference | composite | quantity | uri fhir:SearchParameter.description [ markdown ]; # 1..1 Documentation for search parameter fhir:SearchParameter.expression [ string ]; # 0..1 FluentPath expression that extracts the values fhir:SearchParameter.xpath [ string ]; # 0..1 XPath that extracts the values fhir:SearchParameter.xpathUsage [ code ]; # 0..1 normal | phonetic | nearby | distance | other fhir:SearchParameter.target [ code ], ... ; # 0..* Types of resource (if a resource reference) fhir:SearchParameter.component [ Reference(SearchParameter) ], ... ; # 0..* For Composite resources to define the parts ]
Changes since DSTU2
SearchParameter | |
SearchParameter.useContext | added |
SearchParameter.requirements | Type changed from string to markdown |
SearchParameter.description | Type changed from string to markdown |
SearchParameter.expression | added |
SearchParameter.component | added |
See the Full Difference for further information
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
Path | Definition | Type | Reference |
---|---|---|---|
SearchParameter.status | The lifecycle status of a Value Set or Concept Map. | Required | ConformanceResourceStatus |
SearchParameter.useContext | Indicates the countries, regions, disciplines and other aspects of use within which this artifact is targeted for use. | Extensible | Context of Use ValueSet |
SearchParameter.base SearchParameter.target | One of the resource types defined as part of FHIR. | Required | http://hl7.org/fhir/valueset/resource-typesResourceType |
SearchParameter.type | Data types allowed to be used for search parameters. | Required | SearchParamType |
SearchParameter.xpathUsage | How a search parameter relates to the set of elements returned by evaluating its xpath query. | Required | XPathUsageType |
The SearchParameter resource may be used to define searches on extensions. Depending on the context of the extension (as defined in the StructureDefinition), this may require multiple instances of the SearchParameter.xpath element like so:
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
base | token | The resource type this search parameter applies to | SearchParameter.base |
code | token | Code used in URL | SearchParameter.code |
component | reference | For Composite resources to define the parts | SearchParameter.component (SearchParameter) |
context | token | A use context assigned to the search parameter | SearchParameter.useContext |
description | string | Documentation for search parameter | SearchParameter.description |
name | string | Informal name for this search parameter | SearchParameter.name |
target | token | Types of resource (if a resource reference) | SearchParameter.target |
type | token | number | date | string | token | reference | composite | quantity | uri | SearchParameter.type |
url | uri | Absolute URL used to reference this search parameter | SearchParameter.url |