This page is part of the FHIR Specification (v1.8.0: STU 3 Draft). 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.
There is a registry of all Search Parameters.
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 Search parameters can only have chain names when the search parameter type is 'reference' | |
url | Σ | 1..1 | uri | Logical uri to reference this search parameter (globally unique) |
version | Σ | 0..1 | string | Business version of the search parameter |
name | Σ | 1..1 | string | Name for this search parameter (Computer friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for search parameter (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | 0..1 | markdown | Why this search parameter is defined | |
code | Σ | 1..1 | code | Code used in URL |
base | Σ | 1..* | code | The resource type(s) this search parameter applies to ResourceType (Required) |
type | Σ | 1..1 | code | number | date | string | token | reference | composite | quantity | uri SearchParamType (Required) |
derivedFrom | 0..1 | uri | Original Definition for the search parameter | |
description | Σ | 1..1 | markdown | Natural language description of the 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) | |
comparator | 0..* | code | eq | ne | gt | lt | ge | le | sa | eb | ap SearchComparator (Required) | |
modifier | 0..* | code | missing | exact | contains | not | text | in | not-in | below | above | type SearchModifierCode (Required) | |
chain | 0..* | string | Chained names supported | |
component | 0..* | BackboneElement | For Composite resources to define the parts | |
definition | 1..1 | Reference(SearchParameter) | Defines how the part works | |
expression | 1..1 | string | Subexpression relative to main expression | |
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 Logical uri to reference this search parameter (globally unique) --> <version value="[string]"/><!-- 0..1 Business version of the search parameter --> <name value="[string]"/><!-- 1..1 Name for this search parameter (Computer friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for search parameter (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this search parameter is defined --> <code value="[code]"/><!-- 1..1 Code used in URL --> <base value="[code]"/><!-- 1..* The resource type(s) this search parameter applies to --> <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri --> <derivedFrom value="[uri]"/><!-- 0..1 Original Definition for the search parameter --> <description value="[markdown]"/><!-- 1..1 Natural language description of the 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) --> <comparator value="[code]"/><!-- 0..* eq | ne | gt | lt | ge | le | sa | eb | ap --> <modifier value="[code]"/><!-- 0..* missing | exact | contains | not | text | in | not-in | below | above | type --> <chain value="[string]"/><!-- 0..* Chained names supported --> <component> <!-- 0..* For Composite resources to define the parts --> <definition><!-- 1..1 Reference(SearchParameter) Defines how the part works --></definition> <expression value="[string]"/><!-- 1..1 Subexpression relative to main expression --> </component> </SearchParameter>
JSON Template
{ "resourceType" : "SearchParameter", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // R! Logical uri to reference this search parameter (globally unique) "version" : "<string>", // Business version of the search parameter "name" : "<string>", // R! Name for this search parameter (Computer friendly) "status" : "<code>", // R! draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "useContext" : [{ UsageContext }], // Content intends to support these contexts "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for search parameter (if applicable) "purpose" : "<markdown>", // Why this search parameter is defined "code" : "<code>", // R! Code used in URL "base" : ["<code>"], // R! The resource type(s) this search parameter applies to "type" : "<code>", // R! number | date | string | token | reference | composite | quantity | uri "derivedFrom" : "<uri>", // Original Definition for the search parameter "description" : "<markdown>", // R! Natural language description of the 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) "comparator" : ["<code>"], // eq | ne | gt | lt | ge | le | sa | eb | ap "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type "chain" : ["<string>"], // Chained names supported "component" : [{ // For Composite resources to define the parts "definition" : { Reference(SearchParameter) }, // R! Defines how the part works "expression" : "<string>" // R! Subexpression relative to main expression }] }
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 Logical uri to reference this search parameter (globally unique) fhir:SearchParameter.version [ string ]; # 0..1 Business version of the search parameter fhir:SearchParameter.name [ string ]; # 1..1 Name for this search parameter (Computer friendly) fhir:SearchParameter.status [ code ]; # 1..1 draft | active | retired fhir:SearchParameter.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:SearchParameter.date [ dateTime ]; # 0..1 Date this was last changed fhir:SearchParameter.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:SearchParameter.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:SearchParameter.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:SearchParameter.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for search parameter (if applicable) fhir:SearchParameter.purpose [ markdown ]; # 0..1 Why this search parameter is defined fhir:SearchParameter.code [ code ]; # 1..1 Code used in URL fhir:SearchParameter.base [ code ], ... ; # 1..* The resource type(s) this search parameter applies to fhir:SearchParameter.type [ code ]; # 1..1 number | date | string | token | reference | composite | quantity | uri fhir:SearchParameter.derivedFrom [ uri ]; # 0..1 Original Definition for the search parameter fhir:SearchParameter.description [ markdown ]; # 1..1 Natural language description of the 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.comparator [ code ], ... ; # 0..* eq | ne | gt | lt | ge | le | sa | eb | ap fhir:SearchParameter.modifier [ code ], ... ; # 0..* missing | exact | contains | not | text | in | not-in | below | above | type fhir:SearchParameter.chain [ string ], ... ; # 0..* Chained names supported fhir:SearchParameter.component [ # 0..* For Composite resources to define the parts fhir:SearchParameter.component.definition [ Reference(SearchParameter) ]; # 1..1 Defines how the part works fhir:SearchParameter.component.expression [ string ]; # 1..1 Subexpression relative to main expression ], ...; ]
Changes since DSTU2
SearchParameter | |
SearchParameter.version | added Element |
SearchParameter.status |
Min Cardinality changed from 0 to 1 Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status |
SearchParameter.experimental | Now marked as Modifier |
SearchParameter.contact | Type changed from BackboneElement to ContactDetail |
SearchParameter.useContext | added Element |
SearchParameter.jurisdiction | added Element |
SearchParameter.purpose | added Element |
SearchParameter.base | Max Cardinality changed from 1 to * |
SearchParameter.derivedFrom | added Element |
SearchParameter.description | Type changed from string to markdown |
SearchParameter.expression | added Element |
SearchParameter.comparator | added Element |
SearchParameter.modifier | added Element |
SearchParameter.chain | added Element |
SearchParameter.component | added Element |
SearchParameter.component.definition | added Element |
SearchParameter.component.expression | added Element |
SearchParameter.contact.name | deleted |
SearchParameter.contact.telecom | deleted |
SearchParameter.requirements | deleted |
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 Search parameters can only have chain names when the search parameter type is 'reference' | |
url | Σ | 1..1 | uri | Logical uri to reference this search parameter (globally unique) |
version | Σ | 0..1 | string | Business version of the search parameter |
name | Σ | 1..1 | string | Name for this search parameter (Computer friendly) |
status | ?!Σ | 1..1 | code | draft | active | retired PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (Organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
useContext | Σ | 0..* | UsageContext | Content intends to support these contexts |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for search parameter (if applicable) Jurisdiction ValueSet (Extensible) |
purpose | 0..1 | markdown | Why this search parameter is defined | |
code | Σ | 1..1 | code | Code used in URL |
base | Σ | 1..* | code | The resource type(s) this search parameter applies to ResourceType (Required) |
type | Σ | 1..1 | code | number | date | string | token | reference | composite | quantity | uri SearchParamType (Required) |
derivedFrom | 0..1 | uri | Original Definition for the search parameter | |
description | Σ | 1..1 | markdown | Natural language description of the 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) | |
comparator | 0..* | code | eq | ne | gt | lt | ge | le | sa | eb | ap SearchComparator (Required) | |
modifier | 0..* | code | missing | exact | contains | not | text | in | not-in | below | above | type SearchModifierCode (Required) | |
chain | 0..* | string | Chained names supported | |
component | 0..* | BackboneElement | For Composite resources to define the parts | |
definition | 1..1 | Reference(SearchParameter) | Defines how the part works | |
expression | 1..1 | string | Subexpression relative to main expression | |
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 Logical uri to reference this search parameter (globally unique) --> <version value="[string]"/><!-- 0..1 Business version of the search parameter --> <name value="[string]"/><!-- 1..1 Name for this search parameter (Computer friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <useContext><!-- 0..* UsageContext Content intends to support these contexts --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for search parameter (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this search parameter is defined --> <code value="[code]"/><!-- 1..1 Code used in URL --> <base value="[code]"/><!-- 1..* The resource type(s) this search parameter applies to --> <type value="[code]"/><!-- 1..1 number | date | string | token | reference | composite | quantity | uri --> <derivedFrom value="[uri]"/><!-- 0..1 Original Definition for the search parameter --> <description value="[markdown]"/><!-- 1..1 Natural language description of the 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) --> <comparator value="[code]"/><!-- 0..* eq | ne | gt | lt | ge | le | sa | eb | ap --> <modifier value="[code]"/><!-- 0..* missing | exact | contains | not | text | in | not-in | below | above | type --> <chain value="[string]"/><!-- 0..* Chained names supported --> <component> <!-- 0..* For Composite resources to define the parts --> <definition><!-- 1..1 Reference(SearchParameter) Defines how the part works --></definition> <expression value="[string]"/><!-- 1..1 Subexpression relative to main expression --> </component> </SearchParameter>
JSON Template
{ "resourceType" : "SearchParameter", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // R! Logical uri to reference this search parameter (globally unique) "version" : "<string>", // Business version of the search parameter "name" : "<string>", // R! Name for this search parameter (Computer friendly) "status" : "<code>", // R! draft | active | retired "experimental" : <boolean>, // If for testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "useContext" : [{ UsageContext }], // Content intends to support these contexts "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for search parameter (if applicable) "purpose" : "<markdown>", // Why this search parameter is defined "code" : "<code>", // R! Code used in URL "base" : ["<code>"], // R! The resource type(s) this search parameter applies to "type" : "<code>", // R! number | date | string | token | reference | composite | quantity | uri "derivedFrom" : "<uri>", // Original Definition for the search parameter "description" : "<markdown>", // R! Natural language description of the 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) "comparator" : ["<code>"], // eq | ne | gt | lt | ge | le | sa | eb | ap "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type "chain" : ["<string>"], // Chained names supported "component" : [{ // For Composite resources to define the parts "definition" : { Reference(SearchParameter) }, // R! Defines how the part works "expression" : "<string>" // R! Subexpression relative to main expression }] }
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 Logical uri to reference this search parameter (globally unique) fhir:SearchParameter.version [ string ]; # 0..1 Business version of the search parameter fhir:SearchParameter.name [ string ]; # 1..1 Name for this search parameter (Computer friendly) fhir:SearchParameter.status [ code ]; # 1..1 draft | active | retired fhir:SearchParameter.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:SearchParameter.date [ dateTime ]; # 0..1 Date this was last changed fhir:SearchParameter.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:SearchParameter.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:SearchParameter.useContext [ UsageContext ], ... ; # 0..* Content intends to support these contexts fhir:SearchParameter.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for search parameter (if applicable) fhir:SearchParameter.purpose [ markdown ]; # 0..1 Why this search parameter is defined fhir:SearchParameter.code [ code ]; # 1..1 Code used in URL fhir:SearchParameter.base [ code ], ... ; # 1..* The resource type(s) this search parameter applies to fhir:SearchParameter.type [ code ]; # 1..1 number | date | string | token | reference | composite | quantity | uri fhir:SearchParameter.derivedFrom [ uri ]; # 0..1 Original Definition for the search parameter fhir:SearchParameter.description [ markdown ]; # 1..1 Natural language description of the 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.comparator [ code ], ... ; # 0..* eq | ne | gt | lt | ge | le | sa | eb | ap fhir:SearchParameter.modifier [ code ], ... ; # 0..* missing | exact | contains | not | text | in | not-in | below | above | type fhir:SearchParameter.chain [ string ], ... ; # 0..* Chained names supported fhir:SearchParameter.component [ # 0..* For Composite resources to define the parts fhir:SearchParameter.component.definition [ Reference(SearchParameter) ]; # 1..1 Defines how the part works fhir:SearchParameter.component.expression [ string ]; # 1..1 Subexpression relative to main expression ], ...; ]
Changes since DSTU2
SearchParameter | |
SearchParameter.version | added Element |
SearchParameter.status |
Min Cardinality changed from 0 to 1 Change value set from http://hl7.org/fhir/ValueSet/conformance-resource-status to http://hl7.org/fhir/ValueSet/publication-status |
SearchParameter.experimental | Now marked as Modifier |
SearchParameter.contact | Type changed from BackboneElement to ContactDetail |
SearchParameter.useContext | added Element |
SearchParameter.jurisdiction | added Element |
SearchParameter.purpose | added Element |
SearchParameter.base | Max Cardinality changed from 1 to * |
SearchParameter.derivedFrom | added Element |
SearchParameter.description | Type changed from string to markdown |
SearchParameter.expression | added Element |
SearchParameter.comparator | added Element |
SearchParameter.modifier | added Element |
SearchParameter.chain | added Element |
SearchParameter.component | added Element |
SearchParameter.component.definition | added Element |
SearchParameter.component.expression | added Element |
SearchParameter.contact.name | deleted |
SearchParameter.contact.telecom | deleted |
SearchParameter.requirements | deleted |
See the Full Difference for further information
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle), JSON-LD (for RDF as JSON-LD),
Path | Definition | Type | Reference |
---|---|---|---|
SearchParameter.status | The lifecycle status of a Value Set or Concept Map. | Required | PublicationStatus |
SearchParameter.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction 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 |
SearchParameter.comparator | What Search Comparator Codes are supported in search | Required | SearchComparator |
SearchParameter.modifier | A supported modifier for a search parameter. | Required | SearchModifierCode |
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 | In Common |
base | token | The resource type(s) this search parameter applies to | SearchParameter.base | |
code | token | Code used in URL | SearchParameter.code | |
component | reference | Defines how the part works | SearchParameter.component.definition (SearchParameter) | |
date | date | The search parameter publication date | SearchParameter.date | |
derived-from | uri | Original Definition for the search parameter | SearchParameter.derivedFrom | |
description | string | Text search against the description of the search parameter | SearchParameter.description | |
jurisdiction | token | Intended jurisdiction for search parameter | SearchParameter.jurisdiction | |
name | string | Name of the search parameter | SearchParameter.name | |
publisher | string | Name of the publisher of the search parameter | SearchParameter.publisher | |
status | token | The current status of the search parameter | SearchParameter.status | |
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 | The uri that identifies the search parameter | SearchParameter.url | |
version | token | The version identifier of the search parameter | SearchParameter.version |