R6 Ballot (3rd Draft) (1st Full Ballot)

This page is part of the FHIR Specification v6.0.0-ballot3: v6.0.0-ballot4: Release 6 Ballot (3rd Draft) (1st Full Ballot) (see Ballot Notes ). The current version is 5.0.0 . For a full list of available versions, see the Directory of published versions for published versions icon

5.6 Resource SearchParameter - Content

Responsible Owner: FHIR Infrastructure icon Work Group Maturity Level : 5   Trial Use Normative Security Category : Anonymous Compartments : No 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:

  • how to typically refer to the search parameter from a client ( SearchParameter.code )
  • how the search parameter is to be understood by the server
  • where in the source resource the parameter matches

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

Intended jurisdiction for Use and/or publishing Subexpression
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . SearchParameter TU N DomainResource Search parameter for a resource
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: If an expression is present, there SHALL be a processingMode
+ Rule: Search parameters can only have chain names when the search parameter type is 'reference'
+ Rule: Search parameters comparator can only be used on type 'number', 'date', 'quantity' or 'special'.
+ Rule: Search parameter codes SHALL NOT contain '.', '$', '|', or whitespace characters
+ Rule: Search parameter aliases SHALL NOT contain '.', '$', '|', or whitespace characters

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
Interfaces Implemented: CanonicalResource
. . . url Σ C 1..1 uri Canonical identifier for this search parameter, represented as a URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
. . . identifier Σ 0..* Identifier Additional identifier for the search parameter (business identifier)

. . . version Σ 0..1 string Business version of the search parameter
. . . versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: Version Algorithm ( Extensible )
. . . . versionAlgorithmString string
. . . . versionAlgorithmCoding Coding
. . . name Σ C 1..1 string Name for this search parameter (computer friendly)
. . . title Σ T 0..1 string Name for this search parameter (human friendly)
. . . derivedFrom 0..1 canonical ( SearchParameter ) Original definition for the search parameter
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing only - never for real usage
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description Σ T 1..1 markdown Natural language description of the search parameter
. . . useContext Σ 0..* UsageContext The context that the content is intended to support

. . . jurisdiction Σ XD 0..* CodeableConcept Jurisdiction of the authority that maintains the search parameter (if applicable)
Binding: Jurisdiction ValueSet icon ( Extensible )

. . . purpose T 0..1 markdown Why this search parameter is defined
. . . copyright T 0..1 markdown Notice about intellectual property ownership, can include restrictions on use
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . code Σ C 1..1 code Recommended name for parameter in search url
. . . aliasCode Σ C 0..* code Additional recommended names for parameter in search url

. . . base Σ 1..* code The resource type(s) this search parameter applies to
Binding: Version Independent Resource Types (All) ( Required )
Additional Bindings Purpose
All Resource Types UI Binding


. . . type Σ C 1..1 code number | date | string | token | reference | composite | quantity | uri | special | resource
Binding: SearchParamType ( Required )
. . . expression C 0..1 string FHIRPath expression that extracts the values
. . . processingMode C 0..1 code normal | phonetic | other
Binding: Search Processing Mode Type ( Required )
. . . constraint 0..1 string FHIRPath expression that constraints the usage of this SearchParamete SearchParameter
. . . target 0..* code Types of resource (if a resource reference)
Binding: Version Independent Resource Types (All) ( Required )
Additional Bindings Purpose
All Resource Types UI Binding


. . . multipleOr 0..1 boolean Allow multiple values per parameter (or)
. . . multipleAnd 0..1 boolean Allow multiple parameters (and)
. . . comparator C 0..* code eq | ne | gt | lt | ge | le | sa | eb | ap
Binding: Search Comparator ( Required )

. . . modifier 0..* code missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Binding: Search Modifier Code All Codes ( Required )

. . . chain C 0..* string Chained names supported

. . . component 0..* BackboneElement For Composite resources to define the parts

. . . . definition 1..1 canonical ( SearchParameter ) Defines how the part works
. . . . expression 1..1 string Sub-expression relative to main expression

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

SearchParameter ( DomainResource ) + CanonicalResource 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 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 url : uri [1..1] A formal identifier that is used to identify this search parameter when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] 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 version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » 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 name : string [1..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the search parameter title : string [0..1] 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 derivedFrom : canonical [0..1] « SearchParameter » The status of this search parameter. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and no version of this resource will ever be intended for genuine usage experimental : boolean [0..1] The date (and optionally time) when the search parameter was last significantly changed. 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 date : dateTime [0..1] The name of the organization or individual tresponsible responsible for the release and ongoing maintenance of the search parameter publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] And how it used description : markdown [1..1] 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 useContext : UsageContext [0..*] A legal or geographic region in which the search parameter authority that maintains the resource is intended to be used operating. In general, the jurisdiction is also found in the useContext. The useContext may reference additional jurisdictions because the defining jurisdiction does not necessarily limit the jurisdictions of use jurisdiction : CodeableConcept [0..*] « null (Strength=Extensible) JurisdictionValueSet + » Explanation of why this search parameter is needed and why it has been designed as it has purpose : markdown [0..1] A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal notices of intellectual property ownership and can include restrictions on the use and publishing of the search parameter copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. restricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code code : code [1..1] « This element has or is affected by some invariants C » Additional label that are recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. Typically used to provide backwards-compatibility for renamed search parameters and translations into localized languages aliasCode : code [0..*] « This element has or is affected by some invariants C » The base resource type(s) that this search parameter can be used against base : code [1..*] « null (Strength=Required) VersionIndependentResourceTyp... ! » The type of value that a search parameter may contain, and how the content is interpreted type : code [1..1] « null (Strength=Required) SearchParamType ! » « This element has or is affected by some invariants C » A FHIRPath expression that returns a set of elements for the search parameter expression : string [0..1] « This element has or is affected by some invariants C » How the search parameter relates to the set of elements returned by evaluating the expression query processingMode : code [0..1] « null (Strength=Required) SearchProcessingModeType ! » « This element has or is affected by some invariants C » FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable constraint : string [0..1] Types of resource (if a resource is referenced) target : code [0..*] « null (Strength=Required) VersionIndependentResourceTyp... ! » 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 multipleOr : boolean [0..1] Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match multipleAnd : boolean [0..1] Comparators supported for the search parameter comparator : code [0..*] « null (Strength=Required) SearchComparator ! » « This element has or is affected by some invariants C » A modifier supported for the search parameter modifier : code [0..*] « null (Strength=Required) SearchModifierCode SearchModifierAllCodes ! » 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 chain : string [0..*] « This element has or is affected by some invariants C » Component The definition of the search parameter that describes this part definition : canonical [1..1] « SearchParameter » A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression expression : string [1..1] Used to define the parts of a composite search parameter component [0..*]

XML Template

<SearchParameter xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 1..1 Canonical identifier for this search parameter, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the search parameter (business identifier) --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the search parameter -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 1..1 Name for this search parameter (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this search parameter (human friendly) -->
 <derivedFrom><!-- 0..1 canonical(SearchParameter) Original definition for the search parameter --></derivedFrom>
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <

 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->

 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 1..1 Natural language description of the search parameter -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <</jurisdiction>

 <jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the search parameter (if applicable) icon --></jurisdiction>

 <purpose value="[markdown]"/><!-- 0..1 Why this search parameter is defined -->
 <
 <
 <
 <

 <copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <code value="[code]"/><!-- I 1..1 Recommended name for parameter in search url -->
 <aliasCode value="[code]"/><!-- I 0..* Additional recommended names for parameter in search url -->

 <base value="[code]"/><!-- 1..* The resource type(s) this search parameter applies to -->
 <type value="[code]"/><!-- I 1..1 number | date | string | token | reference | composite | quantity | uri | special | resource -->
 <expression value="[string]"/><!-- I 0..1 FHIRPath expression that extracts the values -->
 <processingMode value="[code]"/><!-- I 0..1 normal | phonetic | other -->
 <

 <constraint value="[string]"/><!-- 0..1 FHIRPath expression that constraints the usage of this SearchParameter -->

 <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) -->
 <multipleOr value="[boolean]"/><!-- 0..1 Allow multiple values per parameter (or) -->
 <multipleAnd value="[boolean]"/><!-- 0..1 Allow multiple parameters (and) -->
 <comparator value="[code]"/><!-- I 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 | identifier | of-type | code-text | text-advanced | iterate -->

 <chain value="[string]"/><!-- I 0..* Chained names supported -->
 <component>  <!-- 0..* For Composite resources to define the parts -->
  <definition><!-- 1..1 canonical(SearchParameter) Defines how the part works --></definition>
  <

  <expression value="[string]"/><!-- 1..1 Sub-expression relative to main expression -->

 </component>
</SearchParameter>

JSON Template

{doco
  "resourceType" : "SearchParameter",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Canonical identifier for this search parameter, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the search parameter (business identifier)
  "version" : "<string>", // Business version of the search parameter
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I R!  Name for this search parameter (computer friendly)
  "title" : "<string>", // Name for this search parameter (human friendly)
  "derivedFrom" : "<canonical(SearchParameter)>", // Original definition for the search parameter
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing only - never for real usage
  "date" : "<dateTime>", // Date last changed
  "

  "publisher" : "<string>", // Name of the publisher/steward (organization or individual)

  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // R!  Natural language description of the search parameter
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "

  "jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the search parameter (if applicable) icon

  "purpose" : "<markdown>", // Why this search parameter is defined
  "
  "
  "
  "

  "copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "code" : "<code>", // I R!  Recommended name for parameter in search url
  "aliasCode" : ["<code>"], // I Additional recommended names for parameter in search url

  "base" : ["<code>"], // R!  The resource type(s) this search parameter applies to
  "type" : "<code>", // I R!  number | date | string | token | reference | composite | quantity | uri | special | resource
  "expression" : "<string>", // I FHIRPath expression that extracts the values
  "processingMode" : "<code>", // I normal | phonetic | other
  "

  "constraint" : "<string>", // FHIRPath expression that constraints the usage of this SearchParameter

  "target" : ["<code>"], // Types of resource (if a resource reference)
  "multipleOr" : <boolean>, // Allow multiple values per parameter (or)
  "multipleAnd" : <boolean>, // Allow multiple parameters (and)
  "comparator" : ["<code>"], // I eq | ne | gt | lt | ge | le | sa | eb | ap
  "

  "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate

  "chain" : ["<string>"], // I Chained names supported
  "component" : [{ // For Composite resources to define the parts
    "definition" : "<canonical(SearchParameter)>", // R!  Defines how the part works
    "

    "expression" : "<string>" // R!  Sub-expression relative to main expression

  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:SearchParameter;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from 
  # from 

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension

  fhir:url [ uri ] ; # 1..1 Canonical identifier for this search parameter, represented as a URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the search parameter (business identifier)
  fhir:version [ string ] ; # 0..1 Business version of the search parameter
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir: ]

    fhir:versionAlgorithm [  a fhir:String ; string ]

    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 1..1 I Name for this search parameter (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this search parameter (human friendly)
  fhir:derivedFrom [ canonical(SearchParameter) ] ; # 0..1 Original definition for the search parameter
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:

  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)

  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 1..1 Natural language description of the search parameter
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:

  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the search parameter (if applicable)

  fhir:purpose [ markdown ] ; # 0..1 Why this search parameter is defined
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:code [ code ] ; # 1..1 I Recommended name for parameter in search url
  fhir:aliasCode  ( [ code ] ... ) ; # 0..* I Additional recommended names for parameter in search url

  fhir:base  ( [ code ] ... ) ; # 1..* The resource type(s) this search parameter applies to
  fhir:type [ code ] ; # 1..1 I number | date | string | token | reference | composite | quantity | uri | special | resource
  fhir:expression [ string ] ; # 0..1 I FHIRPath expression that extracts the values
  fhir:processingMode [ code ] ; # 0..1 I normal | phonetic | other
  fhir:

  fhir:constraint [ string ] ; # 0..1 FHIRPath expression that constraints the usage of this SearchParameter

  fhir:target  ( [ code ] ... ) ; # 0..* Types of resource (if a resource reference)
  fhir:multipleOr [ boolean ] ; # 0..1 Allow multiple values per parameter (or)
  fhir:multipleAnd [ boolean ] ; # 0..1 Allow multiple parameters (and)
  fhir:comparator  ( [ code ] ... ) ; # 0..* I eq | ne | gt | lt | ge | le | sa | eb | ap
  fhir:modifier  ( [ code ] ... ) ; # 0..* missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
  fhir:chain  ( [ string ] ... ) ; # 0..* I Chained names supported
  fhir:component ( [ # 0..* For Composite resources to define the parts
    fhir:definition [ canonical(SearchParameter) ] ; # 1..1 Defines how the part works
    fhir:

    fhir:expression [ string ] ; # 1..1 Sub-expression relative to main expression

  ] ... ) ;
]

Changes from both R4 and R5 to R6

SearchParameter
SearchParameter.jurisdiction
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Remove codes BiologicallyDerivedProductDispense , ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , ConditionDefinition , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , InventoryItem , InventoryReport , Linkage , MedicationKnowledge , MolecularSequence , Permission , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestPlan , TestReport , TestScript , Transport , VerificationResult
  • Add codes DeviceAlert , InsuranceProduct
SearchParameter.type
  • Add code resource
SearchParameter.target
  • Remove codes BiologicallyDerivedProductDispense , ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , ConditionDefinition , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , InventoryItem , InventoryReport , Linkage , MedicationKnowledge , MolecularSequence , Permission , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestPlan , TestReport , TestScript , Transport , VerificationResult
  • Add codes DeviceAlert , InsuranceProduct
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|5.0.0 to Search Modifier All Codes
  • Add codes Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , AuditEvent , Basic , Binary , BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDefinition , DeviceMetric , DeviceRequest , DiagnosticReport , DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , Invoice , Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MessageDefinition , MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Parameters , Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , Task , TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition

Changes from R4B to R6

SearchParameter
SearchParameter.identifier
  • Added Element
SearchParameter.versionAlgorithm[x]
  • Added Element
SearchParameter.title
  • Added Element
SearchParameter.jurisdiction
SearchParameter.copyright
  • Added Element
SearchParameter.copyrightLabel
  • Added Element
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 http://hl7.org/fhir/ValueSet/resource-types|4.3.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , EvidenceReport , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , ArtifactAssessment , CanonicalResource , DeviceAlert , DeviceAssociation , ImagingSelection , InsuranceProduct , MetadataResource , NutritionIntake , RequestOrchestration , Requirements , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification
SearchParameter.type
  • Add code resource
SearchParameter.processingMode
  • Renamed from xpathUsage to processingMode
  • Change value set from http://hl7.org/fhir/ValueSet/search-xpath-usage|4.3.0 to Search Processing Mode Type
  • Remove codes nearby , distance
SearchParameter.constraint
  • Added Element
SearchParameter.target
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.3.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , EvidenceReport , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , ArtifactAssessment , CanonicalResource , DeviceAlert , DeviceAssociation , ImagingSelection , InsuranceProduct , MetadataResource , NutritionIntake , RequestOrchestration , Requirements , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|4.3.0 to Search Modifier All Codes
  • Remove code ofType
  • Add codes of-type , code-text , text-advanced , iterate , Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , BiologicallyDerivedProductDispense AuditEvent , CanonicalResource Basic , Citation Binary , ClinicalAssessment BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , ConditionDefinition CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDispense DeviceDefinition , DeviceUsage DeviceMetric , EncounterHistory DeviceRequest , FormularyItem DiagnosticReport , GenomicStudy DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , InventoryItem Invoice , InventoryReport Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MetadataResource MessageDefinition , MolecularDefinition MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Permission Parameters , PersonalRelationship Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , TestPlan Task , Transport TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition
SearchParameter.xpath
  • Deleted (XPath removed due to lack of use and maintenance)

Changes from R4 to R6

SearchParameter
SearchParameter.identifier
  • Added Element
SearchParameter.versionAlgorithm[x]
  • Added Element
SearchParameter.title
  • Added Element
SearchParameter.jurisdiction
SearchParameter.copyright
  • Added Element
SearchParameter.copyrightLabel
  • Added Element
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , ClinicalImpression , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , CanonicalResource , ClinicalUseDefinition , DeviceAlert , DeviceAssociation , ImagingSelection , Ingredient , InsuranceProduct , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , Sequence , ServiceDefinition
SearchParameter.type
  • Add code resource
SearchParameter.processingMode
  • Renamed from xpathUsage to processingMode
  • Change value set from http://hl7.org/fhir/ValueSet/search-xpath-usage|4.0.0 to Search Processing Mode Type
  • Remove codes nearby , distance
SearchParameter.constraint
  • Added Element
SearchParameter.target
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to Version Independent Resource Types (All)
  • Remove code codes ChargeItem , ChargeItemDefinition , ClinicalImpression Add codes , ActorDefinition GraphDefinition , AdministrableProductDefinition ImmunizationEvaluation , ArtifactAssessment ImmunizationRecommendation , BiologicallyDerivedProductDispense Linkage , CanonicalResource MedicationKnowledge , Citation MolecularSequence , ClinicalAssessment SubstanceNucleicAcid , ClinicalUseDefinition SubstancePolymer , ConditionDefinition SubstanceProtein , DeviceAlert SubstanceReferenceInformation , DeviceAssociation SubstanceSourceMaterial , DeviceDispense SupplyDelivery , DeviceUsage SupplyRequest , EncounterHistory TestReport , FormularyItem TestScript , GenomicStudy VerificationResult
  • Add codes ActorDefinition , ImagingSelection AdministrableProductDefinition , Ingredient ArtifactAssessment , InsuranceProduct CanonicalResource , InventoryItem ClinicalUseDefinition , InventoryReport DeviceAlert , ManufacturedItemDefinition DeviceAssociation , MedicinalProductDefinition ImagingSelection , MetadataResource Ingredient , MolecularDefinition InsuranceProduct , NutritionIntake ManufacturedItemDefinition , NutritionProduct MedicinalProductDefinition , PackagedProductDefinition MetadataResource , Permission NutritionIntake , PersonalRelationship NutritionProduct , PackagedProductDefinition , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , Sequence , ServiceDefinition
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|4.0.0 to Search Modifier All Codes
  • Remove code ofType
  • Add codes of-type , code-text , text-advanced , iterate , Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , AuditEvent , Basic , Binary , BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDefinition , DeviceMetric , DeviceRequest , DiagnosticReport , DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , Invoice , Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MessageDefinition , MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Parameters , Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , Task , TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition
SearchParameter.xpath
  • Deleted (XPath removed due to lack of use and maintenance)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .

Structure

Intended jurisdiction for Use and/or publishing Subexpression
Name Flags Card. Type Description & Constraints      Filter: Filters doco
. . SearchParameter TU N DomainResource Search parameter for a resource
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
+ Rule: If an expression is present, there SHALL be a processingMode
+ Rule: Search parameters can only have chain names when the search parameter type is 'reference'
+ Rule: Search parameters comparator can only be used on type 'number', 'date', 'quantity' or 'special'.
+ Rule: Search parameter codes SHALL NOT contain '.', '$', '|', or whitespace characters
+ Rule: Search parameter aliases SHALL NOT contain '.', '$', '|', or whitespace characters

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
Interfaces Implemented: CanonicalResource
. . . url Σ C 1..1 uri Canonical identifier for this search parameter, represented as a URI (globally unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic
. . . identifier Σ 0..* Identifier Additional identifier for the search parameter (business identifier)

. . . version Σ 0..1 string Business version of the search parameter
. . . versionAlgorithm[x] Σ 0..1 How to compare versions
Binding: Version Algorithm ( Extensible )
. . . . versionAlgorithmString string
. . . . versionAlgorithmCoding Coding
. . . name Σ C 1..1 string Name for this search parameter (computer friendly)
. . . title Σ T 0..1 string Name for this search parameter (human friendly)
. . . derivedFrom 0..1 canonical ( SearchParameter ) Original definition for the search parameter
. . . status ?! Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus ( Required )
. . . experimental Σ 0..1 boolean For testing only - never for real usage
. . . date Σ 0..1 dateTime Date last changed
. . . publisher Σ T 0..1 string Name of the publisher/steward (organization or individual)
. . . contact Σ 0..* ContactDetail Contact details for the publisher

. . . description Σ T 1..1 markdown Natural language description of the search parameter
. . . useContext Σ 0..* UsageContext The context that the content is intended to support

. . . jurisdiction Σ XD 0..* CodeableConcept Jurisdiction of the authority that maintains the search parameter (if applicable)
Binding: Jurisdiction ValueSet icon ( Extensible )

. . . purpose T 0..1 markdown Why this search parameter is defined
. . . copyright T 0..1 markdown Notice about intellectual property ownership, can include restrictions on use
. . . copyrightLabel T 0..1 string Copyright holder and year(s)
. . . code Σ C 1..1 code Recommended name for parameter in search url
. . . aliasCode Σ C 0..* code Additional recommended names for parameter in search url

. . . base Σ 1..* code The resource type(s) this search parameter applies to
Binding: Version Independent Resource Types (All) ( Required )
Additional Bindings Purpose
All Resource Types UI Binding


. . . type Σ C 1..1 code number | date | string | token | reference | composite | quantity | uri | special | resource
Binding: SearchParamType ( Required )
. . . expression C 0..1 string FHIRPath expression that extracts the values
. . . processingMode C 0..1 code normal | phonetic | other
Binding: Search Processing Mode Type ( Required )
. . . constraint 0..1 string FHIRPath expression that constraints the usage of this SearchParamete SearchParameter
. . . target 0..* code Types of resource (if a resource reference)
Binding: Version Independent Resource Types (All) ( Required )
Additional Bindings Purpose
All Resource Types UI Binding


. . . multipleOr 0..1 boolean Allow multiple values per parameter (or)
. . . multipleAnd 0..1 boolean Allow multiple parameters (and)
. . . comparator C 0..* code eq | ne | gt | lt | ge | le | sa | eb | ap
Binding: Search Comparator ( Required )

. . . modifier 0..* code missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Binding: Search Modifier Code All Codes ( Required )

. . . chain C 0..* string Chained names supported

. . . component 0..* BackboneElement For Composite resources to define the parts

. . . . definition 1..1 canonical ( SearchParameter ) Defines how the part works
. . . . expression 1..1 string Sub-expression relative to main expression

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

SearchParameter ( DomainResource ) + CanonicalResource 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 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 url : uri [1..1] A formal identifier that is used to identify this search parameter when it is represented in other formats, or referenced in a specification, model, design or an instance identifier : Identifier [0..*] 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 version : string [0..1] Indicates the mechanism used to compare versions to determine which is more current versionAlgorithm[x] : DataType [0..1] « string | Coding ; null (Strength=Extensible) VersionAlgorithm + » 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 name : string [1..1] « This element has or is affected by some invariants C » A short, descriptive, user-friendly title for the search parameter title : string [0..1] 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 derivedFrom : canonical [0..1] « SearchParameter » The status of this search parameter. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements) status : code [1..1] « null (Strength=Required) PublicationStatus ! » A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and no version of this resource will ever be intended for genuine usage experimental : boolean [0..1] The date (and optionally time) when the search parameter was last significantly changed. 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 date : dateTime [0..1] The name of the organization or individual tresponsible responsible for the release and ongoing maintenance of the search parameter publisher : string [0..1] Contact details to assist a user in finding and communicating with the publisher contact : ContactDetail [0..*] And how it used description : markdown [1..1] 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 useContext : UsageContext [0..*] A legal or geographic region in which the search parameter authority that maintains the resource is intended to be used operating. In general, the jurisdiction is also found in the useContext. The useContext may reference additional jurisdictions because the defining jurisdiction does not necessarily limit the jurisdictions of use jurisdiction : CodeableConcept [0..*] « null (Strength=Extensible) JurisdictionValueSet + » Explanation of why this search parameter is needed and why it has been designed as it has purpose : markdown [0..1] A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal notices of intellectual property ownership and can include restrictions on the use and publishing of the search parameter copyright : markdown [0..1] A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. restricted. (e.g. 'All rights reserved', 'Some rights reserved') copyrightLabel : string [0..1] The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code code : code [1..1] « This element has or is affected by some invariants C » Additional label that are recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. Typically used to provide backwards-compatibility for renamed search parameters and translations into localized languages aliasCode : code [0..*] « This element has or is affected by some invariants C » The base resource type(s) that this search parameter can be used against base : code [1..*] « null (Strength=Required) VersionIndependentResourceTyp... ! » The type of value that a search parameter may contain, and how the content is interpreted type : code [1..1] « null (Strength=Required) SearchParamType ! » « This element has or is affected by some invariants C » A FHIRPath expression that returns a set of elements for the search parameter expression : string [0..1] « This element has or is affected by some invariants C » How the search parameter relates to the set of elements returned by evaluating the expression query processingMode : code [0..1] « null (Strength=Required) SearchProcessingModeType ! » « This element has or is affected by some invariants C » FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable constraint : string [0..1] Types of resource (if a resource is referenced) target : code [0..*] « null (Strength=Required) VersionIndependentResourceTyp... ! » 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 multipleOr : boolean [0..1] Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match multipleAnd : boolean [0..1] Comparators supported for the search parameter comparator : code [0..*] « null (Strength=Required) SearchComparator ! » « This element has or is affected by some invariants C » A modifier supported for the search parameter modifier : code [0..*] « null (Strength=Required) SearchModifierCode SearchModifierAllCodes ! » 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 chain : string [0..*] « This element has or is affected by some invariants C » Component The definition of the search parameter that describes this part definition : canonical [1..1] « SearchParameter » A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression expression : string [1..1] Used to define the parts of a composite search parameter component [0..*]

XML Template

<SearchParameter xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 1..1 Canonical identifier for this search parameter, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the search parameter (business identifier) --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the search parameter -->
 <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]>
 <name value="[string]"/><!-- I 1..1 Name for this search parameter (computer friendly) -->
 <title value="[string]"/><!-- 0..1 Name for this search parameter (human friendly) -->
 <derivedFrom><!-- 0..1 canonical(SearchParameter) Original definition for the search parameter --></derivedFrom>
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <

 <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) -->

 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <description value="[markdown]"/><!-- 1..1 Natural language description of the search parameter -->
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <</jurisdiction>

 <jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the search parameter (if applicable) icon --></jurisdiction>

 <purpose value="[markdown]"/><!-- 0..1 Why this search parameter is defined -->
 <
 <
 <
 <

 <copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use -->
 <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) -->
 <code value="[code]"/><!-- I 1..1 Recommended name for parameter in search url -->
 <aliasCode value="[code]"/><!-- I 0..* Additional recommended names for parameter in search url -->

 <base value="[code]"/><!-- 1..* The resource type(s) this search parameter applies to -->
 <type value="[code]"/><!-- I 1..1 number | date | string | token | reference | composite | quantity | uri | special | resource -->
 <expression value="[string]"/><!-- I 0..1 FHIRPath expression that extracts the values -->
 <processingMode value="[code]"/><!-- I 0..1 normal | phonetic | other -->
 <

 <constraint value="[string]"/><!-- 0..1 FHIRPath expression that constraints the usage of this SearchParameter -->

 <target value="[code]"/><!-- 0..* Types of resource (if a resource reference) -->
 <multipleOr value="[boolean]"/><!-- 0..1 Allow multiple values per parameter (or) -->
 <multipleAnd value="[boolean]"/><!-- 0..1 Allow multiple parameters (and) -->
 <comparator value="[code]"/><!-- I 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 | identifier | of-type | code-text | text-advanced | iterate -->

 <chain value="[string]"/><!-- I 0..* Chained names supported -->
 <component>  <!-- 0..* For Composite resources to define the parts -->
  <definition><!-- 1..1 canonical(SearchParameter) Defines how the part works --></definition>
  <

  <expression value="[string]"/><!-- 1..1 Sub-expression relative to main expression -->

 </component>
</SearchParameter>

JSON Template

{doco
  "resourceType" : "SearchParameter",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // R!  Canonical identifier for this search parameter, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the search parameter (business identifier)
  "version" : "<string>", // Business version of the search parameter
  // versionAlgorithm[x]: How to compare versions. One of these 2:
  "versionAlgorithmString" : "<string>",
  "versionAlgorithmCoding" : { Coding },
  "name" : "<string>", // I R!  Name for this search parameter (computer friendly)
  "title" : "<string>", // Name for this search parameter (human friendly)
  "derivedFrom" : "<canonical(SearchParameter)>", // Original definition for the search parameter
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing only - never for real usage
  "date" : "<dateTime>", // Date last changed
  "

  "publisher" : "<string>", // Name of the publisher/steward (organization or individual)

  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "description" : "<markdown>", // R!  Natural language description of the search parameter
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "

  "jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the search parameter (if applicable) icon

  "purpose" : "<markdown>", // Why this search parameter is defined
  "
  "
  "
  "

  "copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
  "copyrightLabel" : "<string>", // Copyright holder and year(s)
  "code" : "<code>", // I R!  Recommended name for parameter in search url
  "aliasCode" : ["<code>"], // I Additional recommended names for parameter in search url

  "base" : ["<code>"], // R!  The resource type(s) this search parameter applies to
  "type" : "<code>", // I R!  number | date | string | token | reference | composite | quantity | uri | special | resource
  "expression" : "<string>", // I FHIRPath expression that extracts the values
  "processingMode" : "<code>", // I normal | phonetic | other
  "

  "constraint" : "<string>", // FHIRPath expression that constraints the usage of this SearchParameter

  "target" : ["<code>"], // Types of resource (if a resource reference)
  "multipleOr" : <boolean>, // Allow multiple values per parameter (or)
  "multipleAnd" : <boolean>, // Allow multiple parameters (and)
  "comparator" : ["<code>"], // I eq | ne | gt | lt | ge | le | sa | eb | ap
  "

  "modifier" : ["<code>"], // missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate

  "chain" : ["<string>"], // I Chained names supported
  "component" : [{ // For Composite resources to define the parts
    "definition" : "<canonical(SearchParameter)>", // R!  Defines how the part works
    "

    "expression" : "<string>" // R!  Sub-expression relative to main expression

  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:SearchParameter;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from 
  # from 

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension

  fhir:url [ uri ] ; # 1..1 Canonical identifier for this search parameter, represented as a URI (globally unique)
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the search parameter (business identifier)
  fhir:version [ string ] ; # 0..1 Business version of the search parameter
  # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2
    fhir: ]

    fhir:versionAlgorithm [  a fhir:String ; string ]

    fhir:versionAlgorithm [  a fhir:Coding ; Coding ]
  fhir:name [ string ] ; # 1..1 I Name for this search parameter (computer friendly)
  fhir:title [ string ] ; # 0..1 Name for this search parameter (human friendly)
  fhir:derivedFrom [ canonical(SearchParameter) ] ; # 0..1 Original definition for the search parameter
  fhir:status [ code ] ; # 1..1 draft | active | retired | unknown
  fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage
  fhir:date [ dateTime ] ; # 0..1 Date last changed
  fhir:

  fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual)

  fhir:contact  ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher
  fhir:description [ markdown ] ; # 1..1 Natural language description of the search parameter
  fhir:useContext  ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support
  fhir:

  fhir:jurisdiction  ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the search parameter (if applicable)

  fhir:purpose [ markdown ] ; # 0..1 Why this search parameter is defined
  fhir:
  fhir:
  fhir:
  fhir:

  fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use
  fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s)
  fhir:code [ code ] ; # 1..1 I Recommended name for parameter in search url
  fhir:aliasCode  ( [ code ] ... ) ; # 0..* I Additional recommended names for parameter in search url

  fhir:base  ( [ code ] ... ) ; # 1..* The resource type(s) this search parameter applies to
  fhir:type [ code ] ; # 1..1 I number | date | string | token | reference | composite | quantity | uri | special | resource
  fhir:expression [ string ] ; # 0..1 I FHIRPath expression that extracts the values
  fhir:processingMode [ code ] ; # 0..1 I normal | phonetic | other
  fhir:

  fhir:constraint [ string ] ; # 0..1 FHIRPath expression that constraints the usage of this SearchParameter

  fhir:target  ( [ code ] ... ) ; # 0..* Types of resource (if a resource reference)
  fhir:multipleOr [ boolean ] ; # 0..1 Allow multiple values per parameter (or)
  fhir:multipleAnd [ boolean ] ; # 0..1 Allow multiple parameters (and)
  fhir:comparator  ( [ code ] ... ) ; # 0..* I eq | ne | gt | lt | ge | le | sa | eb | ap
  fhir:modifier  ( [ code ] ... ) ; # 0..* missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
  fhir:chain  ( [ string ] ... ) ; # 0..* I Chained names supported
  fhir:component ( [ # 0..* For Composite resources to define the parts
    fhir:definition [ canonical(SearchParameter) ] ; # 1..1 Defines how the part works
    fhir:

    fhir:expression [ string ] ; # 1..1 Sub-expression relative to main expression

  ] ... ) ;
]

Changes from both R4 and R5 to R6

SearchParameter
SearchParameter.jurisdiction
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Remove codes BiologicallyDerivedProductDispense , ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , ConditionDefinition , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , InventoryItem , InventoryReport , Linkage , MedicationKnowledge , MolecularSequence , Permission , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestPlan , TestReport , TestScript , Transport , VerificationResult
  • Add codes DeviceAlert , InsuranceProduct
SearchParameter.type
  • Add code resource
SearchParameter.target
  • Remove codes BiologicallyDerivedProductDispense , ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , ConditionDefinition , DeviceDispense , DeviceUsage , EncounterHistory , EvidenceReport , FormularyItem , GenomicStudy , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , InventoryItem , InventoryReport , Linkage , MedicationKnowledge , MolecularSequence , Permission , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestPlan , TestReport , TestScript , Transport , VerificationResult
  • Add codes DeviceAlert , InsuranceProduct
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|5.0.0 to Search Modifier All Codes
  • Add codes Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , AuditEvent , Basic , Binary , BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDefinition , DeviceMetric , DeviceRequest , DiagnosticReport , DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , Invoice , Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MessageDefinition , MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Parameters , Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , Task , TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition

Changes from R4B to R6

SearchParameter
SearchParameter.identifier
  • Added Element
SearchParameter.versionAlgorithm[x]
  • Added Element
SearchParameter.title
  • Added Element
SearchParameter.jurisdiction
SearchParameter.copyright
  • Added Element
SearchParameter.copyrightLabel
  • Added Element
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 http://hl7.org/fhir/ValueSet/resource-types|4.3.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , EvidenceReport , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , ArtifactAssessment , CanonicalResource , DeviceAlert , DeviceAssociation , ImagingSelection , InsuranceProduct , MetadataResource , NutritionIntake , RequestOrchestration , Requirements , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification
SearchParameter.type
  • Add code resource
SearchParameter.processingMode
  • Renamed from xpathUsage to processingMode
  • Change value set from http://hl7.org/fhir/ValueSet/search-xpath-usage|4.3.0 to Search Processing Mode Type
  • Remove codes nearby , distance
SearchParameter.constraint
  • Added Element
SearchParameter.target
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.3.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , Citation , ClinicalImpression , EvidenceReport , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , ArtifactAssessment , CanonicalResource , DeviceAlert , DeviceAssociation , ImagingSelection , InsuranceProduct , MetadataResource , NutritionIntake , RequestOrchestration , Requirements , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|4.3.0 to Search Modifier All Codes
  • Remove code ofType
  • Add codes of-type , code-text , text-advanced , iterate , Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , BiologicallyDerivedProductDispense AuditEvent , CanonicalResource Basic , Citation Binary , ClinicalAssessment BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , ConditionDefinition CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDispense DeviceDefinition , DeviceUsage DeviceMetric , EncounterHistory DeviceRequest , FormularyItem DiagnosticReport , GenomicStudy DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , InventoryItem Invoice , InventoryReport Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MetadataResource MessageDefinition , MolecularDefinition MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Permission Parameters , PersonalRelationship Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , TestPlan Task , Transport TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition
SearchParameter.xpath
  • Deleted (XPath removed due to lack of use and maintenance)

Changes from R4 to R6

SearchParameter
SearchParameter.identifier
  • Added Element
SearchParameter.versionAlgorithm[x]
  • Added Element
SearchParameter.title
  • Added Element
SearchParameter.jurisdiction
SearchParameter.copyright
  • Added Element
SearchParameter.copyrightLabel
  • Added Element
SearchParameter.aliasCode
  • Added Element
SearchParameter.base
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to Version Independent Resource Types (All)
  • Remove codes ChargeItem , ChargeItemDefinition , ClinicalImpression , GraphDefinition , ImmunizationEvaluation , ImmunizationRecommendation , Linkage , MedicationKnowledge , MolecularSequence , SubstanceNucleicAcid , SubstancePolymer , SubstanceProtein , SubstanceReferenceInformation , SubstanceSourceMaterial , SupplyDelivery , SupplyRequest , TestReport , TestScript , VerificationResult
  • Add codes ActorDefinition , AdministrableProductDefinition , ArtifactAssessment , CanonicalResource , ClinicalUseDefinition , DeviceAlert , DeviceAssociation , ImagingSelection , Ingredient , InsuranceProduct , ManufacturedItemDefinition , MedicinalProductDefinition , MetadataResource , NutritionIntake , NutritionProduct , PackagedProductDefinition , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , Sequence , ServiceDefinition
SearchParameter.type
  • Add code resource
SearchParameter.processingMode
  • Renamed from xpathUsage to processingMode
  • Change value set from http://hl7.org/fhir/ValueSet/search-xpath-usage|4.0.0 to Search Processing Mode Type
  • Remove codes nearby , distance
SearchParameter.constraint
  • Added Element
SearchParameter.target
  • Change value set from http://hl7.org/fhir/ValueSet/resource-types|4.0.0 to Version Independent Resource Types (All)
  • Remove code codes ChargeItem , ChargeItemDefinition , ClinicalImpression Add codes , ActorDefinition GraphDefinition , AdministrableProductDefinition ImmunizationEvaluation , ArtifactAssessment ImmunizationRecommendation , BiologicallyDerivedProductDispense Linkage , CanonicalResource MedicationKnowledge , Citation MolecularSequence , ClinicalAssessment SubstanceNucleicAcid , ClinicalUseDefinition SubstancePolymer , ConditionDefinition SubstanceProtein , DeviceAlert SubstanceReferenceInformation , DeviceAssociation SubstanceSourceMaterial , DeviceDispense SupplyDelivery , DeviceUsage SupplyRequest , EncounterHistory TestReport , FormularyItem TestScript , GenomicStudy VerificationResult
  • Add codes ActorDefinition , ImagingSelection AdministrableProductDefinition , Ingredient ArtifactAssessment , InsuranceProduct CanonicalResource , InventoryItem ClinicalUseDefinition , InventoryReport DeviceAlert , ManufacturedItemDefinition DeviceAssociation , MedicinalProductDefinition ImagingSelection , MetadataResource Ingredient , MolecularDefinition InsuranceProduct , NutritionIntake ManufacturedItemDefinition , NutritionProduct MedicinalProductDefinition , PackagedProductDefinition MetadataResource , Permission NutritionIntake , PersonalRelationship NutritionProduct , PackagedProductDefinition , RegulatedAuthorization , RequestOrchestration , Requirements , SubscriptionStatus , SubscriptionTopic , SubstanceDefinition , TestPlan , Transport , BodySite , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DiagnosticOrder , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , MedicationOrder , MedicationUsage , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , Sequence , ServiceDefinition
SearchParameter.modifier
  • Change value set from http://hl7.org/fhir/ValueSet/search-modifier-code|4.0.0 to Search Modifier All Codes
  • Remove code ofType
  • Add codes of-type , code-text , text-advanced , iterate , Account , ActivityDefinition , ActorDefinition , AdministrableProductDefinition , AdverseEvent , AllergyIntolerance , Appointment , AppointmentResponse , ArtifactAssessment , AuditEvent , Basic , Binary , BiologicallyDerivedProduct , BodyStructure , Bundle , CapabilityStatement , CarePlan , CareTeam , Claim , ClaimResponse , ClinicalUseDefinition , CodeSystem , Communication , CommunicationRequest , CompartmentDefinition , Composition , ConceptMap , Condition , Consent , Contract , Coverage , CoverageEligibilityRequest , CoverageEligibilityResponse , DetectedIssue , Device , DeviceAlert , DeviceAssociation , DeviceDefinition , DeviceMetric , DeviceRequest , DiagnosticReport , DocumentReference , Encounter , Endpoint , EnrollmentRequest , EnrollmentResponse , EpisodeOfCare , EventDefinition , Evidence , EvidenceVariable , ExampleScenario , ExplanationOfBenefit , FamilyMemberHistory , Flag , Goal , Group , GuidanceResponse , HealthcareService , ImagingSelection , ImagingStudy , Immunization , ImplementationGuide , Ingredient , InsurancePlan , InsuranceProduct , Invoice , Library , List , Location , ManufacturedItemDefinition , Measure , MeasureReport , Medication , MedicationAdministration , MedicationDispense , MedicationRequest , MedicationStatement , MedicinalProductDefinition , MessageDefinition , MessageHeader , NamingSystem , NutritionIntake , NutritionOrder , NutritionProduct , Observation , ObservationDefinition , OperationDefinition , OperationOutcome , Organization , OrganizationAffiliation , PackagedProductDefinition , Parameters , Patient , PaymentNotice , PaymentReconciliation , Person , PlanDefinition , Practitioner , PractitionerRole , Procedure , Provenance , Questionnaire , QuestionnaireResponse , RegulatedAuthorization , RelatedPerson , RequestOrchestration , Requirements , ResearchStudy , ResearchSubject , RiskAssessment , Schedule , SearchParameter , ServiceRequest , Slot , Specimen , SpecimenDefinition , StructureDefinition , StructureMap , Subscription , SubscriptionStatus , SubscriptionTopic , Substance , SubstanceDefinition , Task , TerminologyCapabilities , ValueSet , VisionPrescription , BodySite , CatalogEntry , Conformance , DataElement , DeviceComponent , DeviceUseRequest , DeviceUseStatement , DiagnosticOrder , DocumentManifest , EffectEvidenceSynthesis , EligibilityRequest , EligibilityResponse , ExpansionProfile , ImagingManifest , ImagingObjectSelection , Media , MedicationOrder , MedicationUsage , MedicinalProduct , MedicinalProductAuthorization , MedicinalProductContraindication , MedicinalProductIndication , MedicinalProductIngredient , MedicinalProductInteraction , MedicinalProductManufactured , MedicinalProductPackaged , MedicinalProductPharmaceutical , MedicinalProductUndesirableEffect , Order , OrderResponse , ProcedureRequest , ProcessRequest , ProcessResponse , ReferralRequest , RequestGroup , ResearchDefinition , ResearchElementDefinition , RiskEvidenceSynthesis , Sequence , ServiceDefinition , SubstanceSpecification , ViewDefinition
SearchParameter.xpath
  • Deleted (XPath removed due to lack of use and maintenance)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .

 

Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
SearchParameter.versionAlgorithm[x] VersionAlgorithm Extensible

Indicates the mechanism used to compare versions to determine which is more current.

SearchParameter.status PublicationStatus Required

The lifecycle status of an artifact.

SearchParameter.jurisdiction JurisdictionValueSet icon Extensible

This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.

Note: The codes for countries and country subdivisions are taken from ISO 3166 icon while the codes for "supra-national" regions are from UN Standard country or area codes for statistical use (M49) icon .

SearchParameter.base VersionIndependentResourceTypesAll Required

Current and past FHIR resource types (deleted or renamed), including abstract types

  All Resource Types ui
SearchParameter.type SearchParamType Required

Data types allowed to be used for search parameters.

SearchParameter.processingMode SearchProcessingModeType Required

How a search parameter relates to the set of elements returned by evaluating its expression query.

SearchParameter.target VersionIndependentResourceTypesAll Required

Current and past FHIR resource types (deleted or renamed), including abstract types

  All Resource Types ui
SearchParameter.comparator SearchComparator Required

What Search Comparator Codes are supported in search.

SearchParameter.modifier SearchModifierCode SearchModifierAllCodes Required

A supported modifier for a search parameter.

UniqueKey Level Location Description Expression
img  cnl-0 Warning (base) Name should be usable as an identifier for the module by machine processing applications such as code generation name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
img  spd-1 Rule (base) If an expression is present, there SHALL be a processingMode expression.empty() or processingMode.exists()
img  cnl-1 Warning SearchParameter.url URL should not contain | or # - these characters make processing canonical references problematic exists() implies matches('^[^|# ]+$')
img  spd-2 Rule (base) Search parameters can only have chain names when the search parameter type is 'reference' chain.empty() or type = 'reference'
img  spd-3 Rule (base) Search parameters comparator can only be used on type 'number', 'date', 'quantity' or 'special'. comparator.empty() or (type in ('number' | 'date' | 'quantity' | 'special'))
img  spd-4 Rule (base) Search parameter codes SHALL NOT contain '.', '$', '|', or whitespace characters code.matches('^[^.\\$\\|\\s]+$')
img  spd-5 Rule (base) Search parameter aliases SHALL NOT contain '.', '$', '|', or whitespace characters aliasCode.empty() or aliasCode.all(matches('^[^.\\$\\|\\s]+$')).allTrue()

HL7-defined search parameters follow these naming conventions:

  • Use lowercase letters with hyphens for multi-word parameters (kebab-case)
  • Prefer shorter, more common terms when possible
  • Be consistent across resources when the same concept is searched (e.g., authored for authoring dates)
  • Avoid abbreviations unless widely understood
  • Use singular forms unless the concept is inherently plural
  • Use of a prefix underscore character ( _ ) compliant with the rules of the Style Guide
  • If the extension's context specifies multiple resources, they are represented with multiple elements in the SearchParameter.base array
  • An expression like Resource.descendents.extension('extension-url').value is possible, but this is a low performance option for a server to evaluate, and search parameter expressions are performance sensitive
  • An expression like Resource.descendents().extension('extension-url').value is possible, but this is a low performance option for a server to evaluate, and search parameter expressions are performance sensitive
  • While SearchParameter.expression allows for the full use of FHIRPath, including resolve() in a search parameter definition makes it difficult to support for transactional servers. For that reason, this specification does not define parameters that link across resource instance boundaries.
    This specification does use search parameters with resolve() to narrow types (e.g., Observation.subject.resolve() is Patient). We recommend that other specifications follow the same practice - chaining is the mechanism defined to search across resource boundaries.

Balloter feedback requested: We are seeking input on approaches to managing the balance between expressiveness and performance impact on servers from the use of various FHIRPath features in search parameter expressions.

The SearchParameter resource may be used to define searches on extensions. A simple definition defines the code, the base resource the extension can be found in, and a type, and an expression. Assume that the extension is http://example.org/fhir/StructureDefinition/extension-thumb-length which has a value that is a quantity, and that is used on patient, then an appropriate SearchParameter would be:

   "code" : "thumb-length",
   "base" : ["Patient"],
   "type" : "quantity",
   "expression" : "Patient.extension('http://example.org/fhir/StructureDefinition/extension-thumb-length').value"

Servers MAY attempt to process expressions that just select the extension without the .value , but this is not required and may be discouraged or deprecated in the future.

Extensions may have multiple types with different search behaviors, so the type can be specifically selected:

   "code" : "thumb-length-code",
   "base" : ["Patient"],
   "type" : "token",
   "expression" : "Patient.extension('http://example.org/fhir/StructureDefinition/extension-thumb-length').value.ofType(CodeableConcept)"

This example would select coded thumb lengths and index them only for the thumb-length-code search parameter. When an extension can have multiple types with incompatible search behavior, the search parameters have to do this. Note that is type casting the extension directly (e.g. Patient.extension('...').ofType(CodeableConcept) ) will lead to an empty index, since the extension is not a CodeableConcept itself.

When extensions can be used in multiple places, these places are enumerated in the expression:

Patient.extension('http://example.org/fhir/StructureDefinition/extension-thumb-length').value
 | Patient.contact.extension('http://example.org/fhir/StructureDefinition/extension-thumb-length').value
 | Practitioner.extension('http://example.org/fhir/StructureDefinition/extension-thumb-length').value

Notes: To support evolution toward consistent naming conventions while maintaining backward compatibility, SearchParameter resources MAY define one or more aliasCode values. These aliases represent suggested alternative codes that can be used to reference the search parameter in addition to the primary code value.

Usage Guidelines:

  • If Aliases should be used primarily for backward compatibility when standardizing parameter names
  • Servers that declare support for a SearchParameter SHOULD accept all defined aliases in addition to the extension's context specifies multiple resources, they primary code
  • New implementations SHOULD use the primary code rather than aliases
  • Aliases are represented displayed in the SearchParameter registry and resource search parameter tables

Example: A search parameter previously named authoredon might be updated to use authored as the primary code (for consistency with multiple elements other resources) while retaining authoredon as an alias for backward compatibility.

When one SearchParameter has a derivedFrom referencing another SearchParameter, the following rules SHOULD be followed. Note that these rules are asserted as SHOULD rather than SHALL only because they were introduced after the resource became normative. Systems that fail to follow these rules are likely to result in unsafe interoperability.

A derived SearchParameter:

  • SHOULD have the same SearchParameter.base experimental array as the original SearchParameter
  • An expression like SHOULD have the same Resource.descendents.extension('extension-url').value type is possible, but this is a low performance option as the original SearchParameter
  • SHOULD have the same processingMode as the original SearchParameter
  • SHOULD NOT have values for multipleOr or multipleAnd that contradict a server value stated in the original SearchParameter. I.e. If the base does not declare these, the derived SearchParameter can. However, if the base does declare them, the derived SearchParameter SHOULD have the same values.
  • SHOULD have a target that is equivalent to evaluate, or a subset of the original SearchParameter target
  • SHOULD have comparator and search parameter expressions modifier values that are performance sensitive the same as or a superset of those defined in the base.
  • SHOULD have the same number of components listed in the same order, where the definition must be the same or a derived SearchParameter, and the expression must be the same.
  • MAY add values for chain but SHOULD NOT remove or re-order values already listed in the base.
Request for ballot feedback: We would like the 'SHOULD' assertions above to become 'SHALL' assertions. We are invoking our usual implementer outreach process to find out whether anyone else objects, but please file tickets for any rules you do not believe can be enforced that way.

Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression 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 )
context token A use context assigned to the search parameter (SearchParameter.useContext.value.ofType(CodeableConcept)) 30 24 Resources
context-quantity quantity A quantity- or range-valued use context assigned to the search parameter (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) 30 24 Resources
context-type token A type of use context assigned to the search parameter SearchParameter.useContext.code 30 24 Resources
context-type-quantity composite A use context type and quantity- or range-based value assigned to the search parameter On SearchParameter.useContext:
  context-type: code
  context-quantity: value.ofType(Quantity) | value.ofType(Range)
30 24 Resources
context-type-value composite A use context type and value assigned to the search parameter On SearchParameter.useContext:
  context-type: code
  context: value.ofType(CodeableConcept)
30 24 Resources
date date The search parameter publication date SearchParameter.date 31 25 Resources
derived-from reference Original definition for the search parameter SearchParameter.derivedFrom
( SearchParameter )
description string The description of the search parameter SearchParameter.description 29 23 Resources
experimental token Whether the SearchParameter is experimental SearchParameter.experimental
identifier N token External identifier for the search parameter SearchParameter.identifier 35 28 Resources
jurisdiction token Intended jurisdiction for Jurisdiction of the authority that maintains the the search parameter SearchParameter.jurisdiction 27 21 Resources
name string Computationally friendly name of the search parameter SearchParameter.name 28 23 Resources
publisher string Name of the publisher of the search parameter SearchParameter.publisher 31 25 Resources
status token The current status of the search parameter SearchParameter.status 35 28 Resources
target token Types of resource (if a resource reference) SearchParameter.target
type token number | date | string | token | reference | composite | quantity | uri | special SearchParameter.type
url uri The uri that identifies the search parameter SearchParameter.url 35 29 Resources
version token The business version of the search parameter SearchParameter.version 32 26 Resources