001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007  
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010  
011   * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013   * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016   * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019  
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030  */
031
032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent
033
034import java.util.ArrayList;
035import java.util.Date;
036import java.util.List;
037import org.hl7.fhir.utilities.Utilities;
038import org.hl7.fhir.r5.model.Enumerations.*;
039import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
040import org.hl7.fhir.exceptions.FHIRException;
041import org.hl7.fhir.instance.model.api.ICompositeType;
042import ca.uhn.fhir.model.api.annotation.ResourceDef;
043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
044import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
045import ca.uhn.fhir.model.api.annotation.Child;
046import ca.uhn.fhir.model.api.annotation.ChildOrder;
047import ca.uhn.fhir.model.api.annotation.Description;
048import ca.uhn.fhir.model.api.annotation.Block;
049
050/**
051 * A search parameter that defines a named search item that can be used to search/filter on a resource.
052 */
053@ResourceDef(name="SearchParameter", profile="http://hl7.org/fhir/StructureDefinition/SearchParameter")
054public class SearchParameter extends CanonicalResource {
055
056    public enum SearchComparator {
057        /**
058         * the value for the parameter in the resource is equal to the provided value.
059         */
060        EQ, 
061        /**
062         * the value for the parameter in the resource is not equal to the provided value.
063         */
064        NE, 
065        /**
066         * the value for the parameter in the resource is greater than the provided value.
067         */
068        GT, 
069        /**
070         * the value for the parameter in the resource is less than the provided value.
071         */
072        LT, 
073        /**
074         * the value for the parameter in the resource is greater or equal to the provided value.
075         */
076        GE, 
077        /**
078         * the value for the parameter in the resource is less or equal to the provided value.
079         */
080        LE, 
081        /**
082         * the value for the parameter in the resource starts after the provided value.
083         */
084        SA, 
085        /**
086         * the value for the parameter in the resource ends before the provided value.
087         */
088        EB, 
089        /**
090         * the value for the parameter in the resource is approximately the same to the provided value.
091         */
092        AP, 
093        /**
094         * added to help the parsers with the generic types
095         */
096        NULL;
097        public static SearchComparator fromCode(String codeString) throws FHIRException {
098            if (codeString == null || "".equals(codeString))
099                return null;
100        if ("eq".equals(codeString))
101          return EQ;
102        if ("ne".equals(codeString))
103          return NE;
104        if ("gt".equals(codeString))
105          return GT;
106        if ("lt".equals(codeString))
107          return LT;
108        if ("ge".equals(codeString))
109          return GE;
110        if ("le".equals(codeString))
111          return LE;
112        if ("sa".equals(codeString))
113          return SA;
114        if ("eb".equals(codeString))
115          return EB;
116        if ("ap".equals(codeString))
117          return AP;
118        if (Configuration.isAcceptInvalidEnums())
119          return null;
120        else
121          throw new FHIRException("Unknown SearchComparator code '"+codeString+"'");
122        }
123        public String toCode() {
124          switch (this) {
125            case EQ: return "eq";
126            case NE: return "ne";
127            case GT: return "gt";
128            case LT: return "lt";
129            case GE: return "ge";
130            case LE: return "le";
131            case SA: return "sa";
132            case EB: return "eb";
133            case AP: return "ap";
134            case NULL: return null;
135            default: return "?";
136          }
137        }
138        public String getSystem() {
139          switch (this) {
140            case EQ: return "http://hl7.org/fhir/search-comparator";
141            case NE: return "http://hl7.org/fhir/search-comparator";
142            case GT: return "http://hl7.org/fhir/search-comparator";
143            case LT: return "http://hl7.org/fhir/search-comparator";
144            case GE: return "http://hl7.org/fhir/search-comparator";
145            case LE: return "http://hl7.org/fhir/search-comparator";
146            case SA: return "http://hl7.org/fhir/search-comparator";
147            case EB: return "http://hl7.org/fhir/search-comparator";
148            case AP: return "http://hl7.org/fhir/search-comparator";
149            case NULL: return null;
150            default: return "?";
151          }
152        }
153        public String getDefinition() {
154          switch (this) {
155            case EQ: return "the value for the parameter in the resource is equal to the provided value.";
156            case NE: return "the value for the parameter in the resource is not equal to the provided value.";
157            case GT: return "the value for the parameter in the resource is greater than the provided value.";
158            case LT: return "the value for the parameter in the resource is less than the provided value.";
159            case GE: return "the value for the parameter in the resource is greater or equal to the provided value.";
160            case LE: return "the value for the parameter in the resource is less or equal to the provided value.";
161            case SA: return "the value for the parameter in the resource starts after the provided value.";
162            case EB: return "the value for the parameter in the resource ends before the provided value.";
163            case AP: return "the value for the parameter in the resource is approximately the same to the provided value.";
164            case NULL: return null;
165            default: return "?";
166          }
167        }
168        public String getDisplay() {
169          switch (this) {
170            case EQ: return "Equals";
171            case NE: return "Not Equals";
172            case GT: return "Greater Than";
173            case LT: return "Less Than";
174            case GE: return "Greater or Equals";
175            case LE: return "Less of Equal";
176            case SA: return "Starts After";
177            case EB: return "Ends Before";
178            case AP: return "Approximately";
179            case NULL: return null;
180            default: return "?";
181          }
182        }
183    }
184
185  public static class SearchComparatorEnumFactory implements EnumFactory<SearchComparator> {
186    public SearchComparator fromCode(String codeString) throws IllegalArgumentException {
187      if (codeString == null || "".equals(codeString))
188            if (codeString == null || "".equals(codeString))
189                return null;
190        if ("eq".equals(codeString))
191          return SearchComparator.EQ;
192        if ("ne".equals(codeString))
193          return SearchComparator.NE;
194        if ("gt".equals(codeString))
195          return SearchComparator.GT;
196        if ("lt".equals(codeString))
197          return SearchComparator.LT;
198        if ("ge".equals(codeString))
199          return SearchComparator.GE;
200        if ("le".equals(codeString))
201          return SearchComparator.LE;
202        if ("sa".equals(codeString))
203          return SearchComparator.SA;
204        if ("eb".equals(codeString))
205          return SearchComparator.EB;
206        if ("ap".equals(codeString))
207          return SearchComparator.AP;
208        throw new IllegalArgumentException("Unknown SearchComparator code '"+codeString+"'");
209        }
210        public Enumeration<SearchComparator> fromType(PrimitiveType<?> code) throws FHIRException {
211          if (code == null)
212            return null;
213          if (code.isEmpty())
214            return new Enumeration<SearchComparator>(this, SearchComparator.NULL, code);
215          String codeString = ((PrimitiveType) code).asStringValue();
216          if (codeString == null || "".equals(codeString))
217            return new Enumeration<SearchComparator>(this, SearchComparator.NULL, code);
218        if ("eq".equals(codeString))
219          return new Enumeration<SearchComparator>(this, SearchComparator.EQ, code);
220        if ("ne".equals(codeString))
221          return new Enumeration<SearchComparator>(this, SearchComparator.NE, code);
222        if ("gt".equals(codeString))
223          return new Enumeration<SearchComparator>(this, SearchComparator.GT, code);
224        if ("lt".equals(codeString))
225          return new Enumeration<SearchComparator>(this, SearchComparator.LT, code);
226        if ("ge".equals(codeString))
227          return new Enumeration<SearchComparator>(this, SearchComparator.GE, code);
228        if ("le".equals(codeString))
229          return new Enumeration<SearchComparator>(this, SearchComparator.LE, code);
230        if ("sa".equals(codeString))
231          return new Enumeration<SearchComparator>(this, SearchComparator.SA, code);
232        if ("eb".equals(codeString))
233          return new Enumeration<SearchComparator>(this, SearchComparator.EB, code);
234        if ("ap".equals(codeString))
235          return new Enumeration<SearchComparator>(this, SearchComparator.AP, code);
236        throw new FHIRException("Unknown SearchComparator code '"+codeString+"'");
237        }
238    public String toCode(SearchComparator code) {
239      if (code == SearchComparator.EQ)
240        return "eq";
241      if (code == SearchComparator.NE)
242        return "ne";
243      if (code == SearchComparator.GT)
244        return "gt";
245      if (code == SearchComparator.LT)
246        return "lt";
247      if (code == SearchComparator.GE)
248        return "ge";
249      if (code == SearchComparator.LE)
250        return "le";
251      if (code == SearchComparator.SA)
252        return "sa";
253      if (code == SearchComparator.EB)
254        return "eb";
255      if (code == SearchComparator.AP)
256        return "ap";
257      return "?";
258      }
259    public String toSystem(SearchComparator code) {
260      return code.getSystem();
261      }
262    }
263
264    public enum SearchModifierCode {
265        /**
266         * The search parameter returns resources that have a value or not.
267         */
268        MISSING, 
269        /**
270         * The search parameter returns resources that have a value that exactly matches the supplied parameter (the whole string, including casing and accents).
271         */
272        EXACT, 
273        /**
274         * The search parameter returns resources that include the supplied parameter value anywhere within the field being searched.
275         */
276        CONTAINS, 
277        /**
278         * The search parameter returns resources that do not contain a match.
279         */
280        NOT, 
281        /**
282         * The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display.
283         */
284        TEXT, 
285        /**
286         * The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is in the specified value set.
287         */
288        IN, 
289        /**
290         * The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is not in the specified value set.
291         */
292        NOTIN, 
293        /**
294         * The search parameter tests whether the value in a resource is subsumed by the specified value (is-a, or hierarchical relationships).
295         */
296        BELOW, 
297        /**
298         * The search parameter tests whether the value in a resource subsumes the specified value (is-a, or hierarchical relationships).
299         */
300        ABOVE, 
301        /**
302         * The search parameter only applies to the Resource Type specified as a modifier (e.g. the modifier is not actually :type, but :Patient etc.).
303         */
304        TYPE, 
305        /**
306         * The search parameter applies to the identifier on the resource, not the reference.
307         */
308        IDENTIFIER, 
309        /**
310         * The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present.
311         */
312        OFTYPE, 
313        /**
314         * Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value.
315         */
316        CODETEXT, 
317        /**
318         * Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text.
319         */
320        TEXTADVANCED, 
321        /**
322         * The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource.
323         */
324        ITERATE, 
325        /**
326         * added to help the parsers with the generic types
327         */
328        NULL;
329        public static SearchModifierCode fromCode(String codeString) throws FHIRException {
330            if (codeString == null || "".equals(codeString))
331                return null;
332        if ("missing".equals(codeString))
333          return MISSING;
334        if ("exact".equals(codeString))
335          return EXACT;
336        if ("contains".equals(codeString))
337          return CONTAINS;
338        if ("not".equals(codeString))
339          return NOT;
340        if ("text".equals(codeString))
341          return TEXT;
342        if ("in".equals(codeString))
343          return IN;
344        if ("not-in".equals(codeString))
345          return NOTIN;
346        if ("below".equals(codeString))
347          return BELOW;
348        if ("above".equals(codeString))
349          return ABOVE;
350        if ("type".equals(codeString))
351          return TYPE;
352        if ("identifier".equals(codeString))
353          return IDENTIFIER;
354        if ("of-type".equals(codeString))
355          return OFTYPE;
356        if ("code-text".equals(codeString))
357          return CODETEXT;
358        if ("text-advanced".equals(codeString))
359          return TEXTADVANCED;
360        if ("iterate".equals(codeString))
361          return ITERATE;
362        if (Configuration.isAcceptInvalidEnums())
363          return null;
364        else
365          throw new FHIRException("Unknown SearchModifierCode code '"+codeString+"'");
366        }
367        public String toCode() {
368          switch (this) {
369            case MISSING: return "missing";
370            case EXACT: return "exact";
371            case CONTAINS: return "contains";
372            case NOT: return "not";
373            case TEXT: return "text";
374            case IN: return "in";
375            case NOTIN: return "not-in";
376            case BELOW: return "below";
377            case ABOVE: return "above";
378            case TYPE: return "type";
379            case IDENTIFIER: return "identifier";
380            case OFTYPE: return "of-type";
381            case CODETEXT: return "code-text";
382            case TEXTADVANCED: return "text-advanced";
383            case ITERATE: return "iterate";
384            case NULL: return null;
385            default: return "?";
386          }
387        }
388        public String getSystem() {
389          switch (this) {
390            case MISSING: return "http://hl7.org/fhir/search-modifier-code";
391            case EXACT: return "http://hl7.org/fhir/search-modifier-code";
392            case CONTAINS: return "http://hl7.org/fhir/search-modifier-code";
393            case NOT: return "http://hl7.org/fhir/search-modifier-code";
394            case TEXT: return "http://hl7.org/fhir/search-modifier-code";
395            case IN: return "http://hl7.org/fhir/search-modifier-code";
396            case NOTIN: return "http://hl7.org/fhir/search-modifier-code";
397            case BELOW: return "http://hl7.org/fhir/search-modifier-code";
398            case ABOVE: return "http://hl7.org/fhir/search-modifier-code";
399            case TYPE: return "http://hl7.org/fhir/search-modifier-code";
400            case IDENTIFIER: return "http://hl7.org/fhir/search-modifier-code";
401            case OFTYPE: return "http://hl7.org/fhir/search-modifier-code";
402            case CODETEXT: return "http://hl7.org/fhir/search-modifier-code";
403            case TEXTADVANCED: return "http://hl7.org/fhir/search-modifier-code";
404            case ITERATE: return "http://hl7.org/fhir/search-modifier-code";
405            case NULL: return null;
406            default: return "?";
407          }
408        }
409        public String getDefinition() {
410          switch (this) {
411            case MISSING: return "The search parameter returns resources that have a value or not.";
412            case EXACT: return "The search parameter returns resources that have a value that exactly matches the supplied parameter (the whole string, including casing and accents).";
413            case CONTAINS: return "The search parameter returns resources that include the supplied parameter value anywhere within the field being searched.";
414            case NOT: return "The search parameter returns resources that do not contain a match.";
415            case TEXT: return "The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display.";
416            case IN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is in the specified value set.";
417            case NOTIN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is not in the specified value set.";
418            case BELOW: return "The search parameter tests whether the value in a resource is subsumed by the specified value (is-a, or hierarchical relationships).";
419            case ABOVE: return "The search parameter tests whether the value in a resource subsumes the specified value (is-a, or hierarchical relationships).";
420            case TYPE: return "The search parameter only applies to the Resource Type specified as a modifier (e.g. the modifier is not actually :type, but :Patient etc.).";
421            case IDENTIFIER: return "The search parameter applies to the identifier on the resource, not the reference.";
422            case OFTYPE: return "The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present.";
423            case CODETEXT: return "Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value.";
424            case TEXTADVANCED: return "Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text.";
425            case ITERATE: return "The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource.";
426            case NULL: return null;
427            default: return "?";
428          }
429        }
430        public String getDisplay() {
431          switch (this) {
432            case MISSING: return "Missing";
433            case EXACT: return "Exact";
434            case CONTAINS: return "Contains";
435            case NOT: return "Not";
436            case TEXT: return "Text";
437            case IN: return "In";
438            case NOTIN: return "Not In";
439            case BELOW: return "Below";
440            case ABOVE: return "Above";
441            case TYPE: return "Type";
442            case IDENTIFIER: return "Identifier";
443            case OFTYPE: return "Of Type";
444            case CODETEXT: return "Code Text";
445            case TEXTADVANCED: return "Text Advanced";
446            case ITERATE: return "Iterate";
447            case NULL: return null;
448            default: return "?";
449          }
450        }
451    }
452
453  public static class SearchModifierCodeEnumFactory implements EnumFactory<SearchModifierCode> {
454    public SearchModifierCode fromCode(String codeString) throws IllegalArgumentException {
455      if (codeString == null || "".equals(codeString))
456            if (codeString == null || "".equals(codeString))
457                return null;
458        if ("missing".equals(codeString))
459          return SearchModifierCode.MISSING;
460        if ("exact".equals(codeString))
461          return SearchModifierCode.EXACT;
462        if ("contains".equals(codeString))
463          return SearchModifierCode.CONTAINS;
464        if ("not".equals(codeString))
465          return SearchModifierCode.NOT;
466        if ("text".equals(codeString))
467          return SearchModifierCode.TEXT;
468        if ("in".equals(codeString))
469          return SearchModifierCode.IN;
470        if ("not-in".equals(codeString))
471          return SearchModifierCode.NOTIN;
472        if ("below".equals(codeString))
473          return SearchModifierCode.BELOW;
474        if ("above".equals(codeString))
475          return SearchModifierCode.ABOVE;
476        if ("type".equals(codeString))
477          return SearchModifierCode.TYPE;
478        if ("identifier".equals(codeString))
479          return SearchModifierCode.IDENTIFIER;
480        if ("of-type".equals(codeString))
481          return SearchModifierCode.OFTYPE;
482        if ("code-text".equals(codeString))
483          return SearchModifierCode.CODETEXT;
484        if ("text-advanced".equals(codeString))
485          return SearchModifierCode.TEXTADVANCED;
486        if ("iterate".equals(codeString))
487          return SearchModifierCode.ITERATE;
488        throw new IllegalArgumentException("Unknown SearchModifierCode code '"+codeString+"'");
489        }
490        public Enumeration<SearchModifierCode> fromType(PrimitiveType<?> code) throws FHIRException {
491          if (code == null)
492            return null;
493          if (code.isEmpty())
494            return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NULL, code);
495          String codeString = ((PrimitiveType) code).asStringValue();
496          if (codeString == null || "".equals(codeString))
497            return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NULL, code);
498        if ("missing".equals(codeString))
499          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.MISSING, code);
500        if ("exact".equals(codeString))
501          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.EXACT, code);
502        if ("contains".equals(codeString))
503          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.CONTAINS, code);
504        if ("not".equals(codeString))
505          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NOT, code);
506        if ("text".equals(codeString))
507          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TEXT, code);
508        if ("in".equals(codeString))
509          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.IN, code);
510        if ("not-in".equals(codeString))
511          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.NOTIN, code);
512        if ("below".equals(codeString))
513          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.BELOW, code);
514        if ("above".equals(codeString))
515          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.ABOVE, code);
516        if ("type".equals(codeString))
517          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TYPE, code);
518        if ("identifier".equals(codeString))
519          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.IDENTIFIER, code);
520        if ("of-type".equals(codeString))
521          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.OFTYPE, code);
522        if ("code-text".equals(codeString))
523          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.CODETEXT, code);
524        if ("text-advanced".equals(codeString))
525          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.TEXTADVANCED, code);
526        if ("iterate".equals(codeString))
527          return new Enumeration<SearchModifierCode>(this, SearchModifierCode.ITERATE, code);
528        throw new FHIRException("Unknown SearchModifierCode code '"+codeString+"'");
529        }
530    public String toCode(SearchModifierCode code) {
531      if (code == SearchModifierCode.MISSING)
532        return "missing";
533      if (code == SearchModifierCode.EXACT)
534        return "exact";
535      if (code == SearchModifierCode.CONTAINS)
536        return "contains";
537      if (code == SearchModifierCode.NOT)
538        return "not";
539      if (code == SearchModifierCode.TEXT)
540        return "text";
541      if (code == SearchModifierCode.IN)
542        return "in";
543      if (code == SearchModifierCode.NOTIN)
544        return "not-in";
545      if (code == SearchModifierCode.BELOW)
546        return "below";
547      if (code == SearchModifierCode.ABOVE)
548        return "above";
549      if (code == SearchModifierCode.TYPE)
550        return "type";
551      if (code == SearchModifierCode.IDENTIFIER)
552        return "identifier";
553      if (code == SearchModifierCode.OFTYPE)
554        return "of-type";
555      if (code == SearchModifierCode.CODETEXT)
556        return "code-text";
557      if (code == SearchModifierCode.TEXTADVANCED)
558        return "text-advanced";
559      if (code == SearchModifierCode.ITERATE)
560        return "iterate";
561      return "?";
562      }
563    public String toSystem(SearchModifierCode code) {
564      return code.getSystem();
565      }
566    }
567
568    public enum SearchProcessingModeType {
569        /**
570         * The search parameter is derived directly from the selected nodes based on the type definitions.
571         */
572        NORMAL, 
573        /**
574         * The search parameter is derived by a phonetic transform from the selected nodes.
575         */
576        PHONETIC, 
577        /**
578         * The interpretation of the xpath statement is unknown (and can't be automated).
579         */
580        OTHER, 
581        /**
582         * added to help the parsers with the generic types
583         */
584        NULL;
585        public static SearchProcessingModeType fromCode(String codeString) throws FHIRException {
586            if (codeString == null || "".equals(codeString))
587                return null;
588        if ("normal".equals(codeString))
589          return NORMAL;
590        if ("phonetic".equals(codeString))
591          return PHONETIC;
592        if ("other".equals(codeString))
593          return OTHER;
594        if (Configuration.isAcceptInvalidEnums())
595          return null;
596        else
597          throw new FHIRException("Unknown SearchProcessingModeType code '"+codeString+"'");
598        }
599        public String toCode() {
600          switch (this) {
601            case NORMAL: return "normal";
602            case PHONETIC: return "phonetic";
603            case OTHER: return "other";
604            case NULL: return null;
605            default: return "?";
606          }
607        }
608        public String getSystem() {
609          switch (this) {
610            case NORMAL: return "http://hl7.org/fhir/search-processingmode";
611            case PHONETIC: return "http://hl7.org/fhir/search-processingmode";
612            case OTHER: return "http://hl7.org/fhir/search-processingmode";
613            case NULL: return null;
614            default: return "?";
615          }
616        }
617        public String getDefinition() {
618          switch (this) {
619            case NORMAL: return "The search parameter is derived directly from the selected nodes based on the type definitions.";
620            case PHONETIC: return "The search parameter is derived by a phonetic transform from the selected nodes.";
621            case OTHER: return "The interpretation of the xpath statement is unknown (and can't be automated).";
622            case NULL: return null;
623            default: return "?";
624          }
625        }
626        public String getDisplay() {
627          switch (this) {
628            case NORMAL: return "Normal";
629            case PHONETIC: return "Phonetic";
630            case OTHER: return "Other";
631            case NULL: return null;
632            default: return "?";
633          }
634        }
635    }
636
637  public static class SearchProcessingModeTypeEnumFactory implements EnumFactory<SearchProcessingModeType> {
638    public SearchProcessingModeType fromCode(String codeString) throws IllegalArgumentException {
639      if (codeString == null || "".equals(codeString))
640            if (codeString == null || "".equals(codeString))
641                return null;
642        if ("normal".equals(codeString))
643          return SearchProcessingModeType.NORMAL;
644        if ("phonetic".equals(codeString))
645          return SearchProcessingModeType.PHONETIC;
646        if ("other".equals(codeString))
647          return SearchProcessingModeType.OTHER;
648        throw new IllegalArgumentException("Unknown SearchProcessingModeType code '"+codeString+"'");
649        }
650        public Enumeration<SearchProcessingModeType> fromType(PrimitiveType<?> code) throws FHIRException {
651          if (code == null)
652            return null;
653          if (code.isEmpty())
654            return new Enumeration<SearchProcessingModeType>(this, SearchProcessingModeType.NULL, code);
655          String codeString = ((PrimitiveType) code).asStringValue();
656          if (codeString == null || "".equals(codeString))
657            return new Enumeration<SearchProcessingModeType>(this, SearchProcessingModeType.NULL, code);
658        if ("normal".equals(codeString))
659          return new Enumeration<SearchProcessingModeType>(this, SearchProcessingModeType.NORMAL, code);
660        if ("phonetic".equals(codeString))
661          return new Enumeration<SearchProcessingModeType>(this, SearchProcessingModeType.PHONETIC, code);
662        if ("other".equals(codeString))
663          return new Enumeration<SearchProcessingModeType>(this, SearchProcessingModeType.OTHER, code);
664        throw new FHIRException("Unknown SearchProcessingModeType code '"+codeString+"'");
665        }
666    public String toCode(SearchProcessingModeType code) {
667      if (code == SearchProcessingModeType.NORMAL)
668        return "normal";
669      if (code == SearchProcessingModeType.PHONETIC)
670        return "phonetic";
671      if (code == SearchProcessingModeType.OTHER)
672        return "other";
673      return "?";
674      }
675    public String toSystem(SearchProcessingModeType code) {
676      return code.getSystem();
677      }
678    }
679
680    @Block()
681    public static class SearchParameterComponentComponent extends BackboneElement implements IBaseBackboneElement {
682        /**
683         * The definition of the search parameter that describes this part.
684         */
685        @Child(name = "definition", type = {CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=false)
686        @Description(shortDefinition="Defines how the part works", formalDefinition="The definition of the search parameter that describes this part." )
687        protected CanonicalType definition;
688
689        /**
690         * A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.
691         */
692        @Child(name = "expression", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false)
693        @Description(shortDefinition="Subexpression relative to main expression", formalDefinition="A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression." )
694        protected StringType expression;
695
696        private static final long serialVersionUID = -1469435618L;
697
698    /**
699     * Constructor
700     */
701      public SearchParameterComponentComponent() {
702        super();
703      }
704
705    /**
706     * Constructor
707     */
708      public SearchParameterComponentComponent(String definition, String expression) {
709        super();
710        this.setDefinition(definition);
711        this.setExpression(expression);
712      }
713
714        /**
715         * @return {@link #definition} (The definition of the search parameter that describes this part.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value
716         */
717        public CanonicalType getDefinitionElement() { 
718          if (this.definition == null)
719            if (Configuration.errorOnAutoCreate())
720              throw new Error("Attempt to auto-create SearchParameterComponentComponent.definition");
721            else if (Configuration.doAutoCreate())
722              this.definition = new CanonicalType(); // bb
723          return this.definition;
724        }
725
726        public boolean hasDefinitionElement() { 
727          return this.definition != null && !this.definition.isEmpty();
728        }
729
730        public boolean hasDefinition() { 
731          return this.definition != null && !this.definition.isEmpty();
732        }
733
734        /**
735         * @param value {@link #definition} (The definition of the search parameter that describes this part.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value
736         */
737        public SearchParameterComponentComponent setDefinitionElement(CanonicalType value) { 
738          this.definition = value;
739          return this;
740        }
741
742        /**
743         * @return The definition of the search parameter that describes this part.
744         */
745        public String getDefinition() { 
746          return this.definition == null ? null : this.definition.getValue();
747        }
748
749        /**
750         * @param value The definition of the search parameter that describes this part.
751         */
752        public SearchParameterComponentComponent setDefinition(String value) { 
753            if (this.definition == null)
754              this.definition = new CanonicalType();
755            this.definition.setValue(value);
756          return this;
757        }
758
759        /**
760         * @return {@link #expression} (A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
761         */
762        public StringType getExpressionElement() { 
763          if (this.expression == null)
764            if (Configuration.errorOnAutoCreate())
765              throw new Error("Attempt to auto-create SearchParameterComponentComponent.expression");
766            else if (Configuration.doAutoCreate())
767              this.expression = new StringType(); // bb
768          return this.expression;
769        }
770
771        public boolean hasExpressionElement() { 
772          return this.expression != null && !this.expression.isEmpty();
773        }
774
775        public boolean hasExpression() { 
776          return this.expression != null && !this.expression.isEmpty();
777        }
778
779        /**
780         * @param value {@link #expression} (A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
781         */
782        public SearchParameterComponentComponent setExpressionElement(StringType value) { 
783          this.expression = value;
784          return this;
785        }
786
787        /**
788         * @return A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.
789         */
790        public String getExpression() { 
791          return this.expression == null ? null : this.expression.getValue();
792        }
793
794        /**
795         * @param value A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.
796         */
797        public SearchParameterComponentComponent setExpression(String value) { 
798            if (this.expression == null)
799              this.expression = new StringType();
800            this.expression.setValue(value);
801          return this;
802        }
803
804        protected void listChildren(List<Property> children) {
805          super.listChildren(children);
806          children.add(new Property("definition", "canonical(SearchParameter)", "The definition of the search parameter that describes this part.", 0, 1, definition));
807          children.add(new Property("expression", "string", "A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.", 0, 1, expression));
808        }
809
810        @Override
811        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
812          switch (_hash) {
813          case -1014418093: /*definition*/  return new Property("definition", "canonical(SearchParameter)", "The definition of the search parameter that describes this part.", 0, 1, definition);
814          case -1795452264: /*expression*/  return new Property("expression", "string", "A sub-expression that defines how to extract values for this component from the output of the main SearchParameter.expression.", 0, 1, expression);
815          default: return super.getNamedProperty(_hash, _name, _checkValid);
816          }
817
818        }
819
820      @Override
821      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
822        switch (hash) {
823        case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // CanonicalType
824        case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType
825        default: return super.getProperty(hash, name, checkValid);
826        }
827
828      }
829
830      @Override
831      public Base setProperty(int hash, String name, Base value) throws FHIRException {
832        switch (hash) {
833        case -1014418093: // definition
834          this.definition = TypeConvertor.castToCanonical(value); // CanonicalType
835          return value;
836        case -1795452264: // expression
837          this.expression = TypeConvertor.castToString(value); // StringType
838          return value;
839        default: return super.setProperty(hash, name, value);
840        }
841
842      }
843
844      @Override
845      public Base setProperty(String name, Base value) throws FHIRException {
846        if (name.equals("definition")) {
847          this.definition = TypeConvertor.castToCanonical(value); // CanonicalType
848        } else if (name.equals("expression")) {
849          this.expression = TypeConvertor.castToString(value); // StringType
850        } else
851          return super.setProperty(name, value);
852        return value;
853      }
854
855      @Override
856      public Base makeProperty(int hash, String name) throws FHIRException {
857        switch (hash) {
858        case -1014418093:  return getDefinitionElement();
859        case -1795452264:  return getExpressionElement();
860        default: return super.makeProperty(hash, name);
861        }
862
863      }
864
865      @Override
866      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
867        switch (hash) {
868        case -1014418093: /*definition*/ return new String[] {"canonical"};
869        case -1795452264: /*expression*/ return new String[] {"string"};
870        default: return super.getTypesForProperty(hash, name);
871        }
872
873      }
874
875      @Override
876      public Base addChild(String name) throws FHIRException {
877        if (name.equals("definition")) {
878          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.component.definition");
879        }
880        else if (name.equals("expression")) {
881          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.component.expression");
882        }
883        else
884          return super.addChild(name);
885      }
886
887      public SearchParameterComponentComponent copy() {
888        SearchParameterComponentComponent dst = new SearchParameterComponentComponent();
889        copyValues(dst);
890        return dst;
891      }
892
893      public void copyValues(SearchParameterComponentComponent dst) {
894        super.copyValues(dst);
895        dst.definition = definition == null ? null : definition.copy();
896        dst.expression = expression == null ? null : expression.copy();
897      }
898
899      @Override
900      public boolean equalsDeep(Base other_) {
901        if (!super.equalsDeep(other_))
902          return false;
903        if (!(other_ instanceof SearchParameterComponentComponent))
904          return false;
905        SearchParameterComponentComponent o = (SearchParameterComponentComponent) other_;
906        return compareDeep(definition, o.definition, true) && compareDeep(expression, o.expression, true)
907          ;
908      }
909
910      @Override
911      public boolean equalsShallow(Base other_) {
912        if (!super.equalsShallow(other_))
913          return false;
914        if (!(other_ instanceof SearchParameterComponentComponent))
915          return false;
916        SearchParameterComponentComponent o = (SearchParameterComponentComponent) other_;
917        return compareValues(definition, o.definition, true) && compareValues(expression, o.expression, true)
918          ;
919      }
920
921      public boolean isEmpty() {
922        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(definition, expression);
923      }
924
925  public String fhirType() {
926    return "SearchParameter.component";
927
928  }
929
930  }
931
932    /**
933     * 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.
934     */
935    @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true)
936    @Description(shortDefinition="Canonical identifier for this search parameter, represented as a URI (globally unique)", formalDefinition="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." )
937    protected UriType url;
938
939    /**
940     * 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.
941     */
942    @Child(name = "version", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true)
943    @Description(shortDefinition="Business version of the search parameter", formalDefinition="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." )
944    protected StringType version;
945
946    /**
947     * Indicates the mechanism used to compare versions to determine which is more current.
948     */
949    @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true)
950    @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
951    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
952    protected DataType versionAlgorithm;
953
954    /**
955     * 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.
956     */
957    @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true)
958    @Description(shortDefinition="Name for this search parameter (computer friendly)", formalDefinition="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." )
959    protected StringType name;
960
961    /**
962     * A short, descriptive, user-friendly title for the search parameter.
963     */
964    @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true)
965    @Description(shortDefinition="Name for this search parameter (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the search parameter." )
966    protected StringType title;
967
968    /**
969     * 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.
970     */
971    @Child(name = "derivedFrom", type = {CanonicalType.class}, order=5, min=0, max=1, modifier=false, summary=false)
972    @Description(shortDefinition="Original definition for the search parameter", formalDefinition="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." )
973    protected CanonicalType derivedFrom;
974
975    /**
976     * The status of this search parameter. Enables tracking the life-cycle of the content.
977     */
978    @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true)
979    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this search parameter. Enables tracking the life-cycle of the content." )
980    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
981    protected Enumeration<PublicationStatus> status;
982
983    /**
984     * A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
985     */
986    @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true)
987    @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." )
988    protected BooleanType experimental;
989
990    /**
991     * 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.
992     */
993    @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true)
994    @Description(shortDefinition="Date last changed", formalDefinition="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." )
995    protected DateTimeType date;
996
997    /**
998     * The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.
999     */
1000    @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true)
1001    @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter." )
1002    protected StringType publisher;
1003
1004    /**
1005     * Contact details to assist a user in finding and communicating with the publisher.
1006     */
1007    @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1008    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
1009    protected List<ContactDetail> contact;
1010
1011    /**
1012     * And how it used.
1013     */
1014    @Child(name = "description", type = {MarkdownType.class}, order=11, min=1, max=1, modifier=false, summary=true)
1015    @Description(shortDefinition="Natural language description of the search parameter", formalDefinition="And how it used." )
1016    protected MarkdownType description;
1017
1018    /**
1019     * 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.
1020     */
1021    @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1022    @Description(shortDefinition="The context that the content is intended to support", formalDefinition="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." )
1023    protected List<UsageContext> useContext;
1024
1025    /**
1026     * A legal or geographic region in which the search parameter is intended to be used.
1027     */
1028    @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1029    @Description(shortDefinition="Intended jurisdiction for search parameter (if applicable)", formalDefinition="A legal or geographic region in which the search parameter is intended to be used." )
1030    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
1031    protected List<CodeableConcept> jurisdiction;
1032
1033    /**
1034     * Explanation of why this search parameter is needed and why it has been designed as it has.
1035     */
1036    @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false)
1037    @Description(shortDefinition="Why this search parameter is defined", formalDefinition="Explanation of why this search parameter is needed and why it has been designed as it has." )
1038    protected MarkdownType purpose;
1039
1040    /**
1041     * 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.
1042     */
1043    @Child(name = "code", type = {CodeType.class}, order=15, min=1, max=1, modifier=false, summary=true)
1044    @Description(shortDefinition="Recommended name for parameter in search url", formalDefinition="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." )
1045    protected CodeType code;
1046
1047    /**
1048     * The base resource type(s) that this search parameter can be used against.
1049     */
1050    @Child(name = "base", type = {CodeType.class}, order=16, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1051    @Description(shortDefinition="The resource type(s) this search parameter applies to", formalDefinition="The base resource type(s) that this search parameter can be used against." )
1052    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-resource-types")
1053    protected List<CodeType> base;
1054
1055    /**
1056     * The type of value that a search parameter may contain, and how the content is interpreted.
1057     */
1058    @Child(name = "type", type = {CodeType.class}, order=17, min=1, max=1, modifier=false, summary=true)
1059    @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri | special", formalDefinition="The type of value that a search parameter may contain, and how the content is interpreted." )
1060    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-param-type")
1061    protected Enumeration<SearchParamType> type;
1062
1063    /**
1064     * A FHIRPath expression that returns a set of elements for the search parameter.
1065     */
1066    @Child(name = "expression", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false)
1067    @Description(shortDefinition="FHIRPath expression that extracts the values", formalDefinition="A FHIRPath expression that returns a set of elements for the search parameter." )
1068    protected StringType expression;
1069
1070    /**
1071     * How the search parameter relates to the set of elements returned by evaluating the expression query.
1072     */
1073    @Child(name = "processingMode", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false)
1074    @Description(shortDefinition="normal | phonetic | other", formalDefinition="How the search parameter relates to the set of elements returned by evaluating the expression query." )
1075    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-processingmode")
1076    protected Enumeration<SearchProcessingModeType> processingMode;
1077
1078    /**
1079     * FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.
1080     */
1081    @Child(name = "constraint", type = {StringType.class}, order=20, min=0, max=1, modifier=false, summary=false)
1082    @Description(shortDefinition="FHIRPath expression that constraints the usage of this SearchParamete", formalDefinition="FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable." )
1083    protected StringType constraint;
1084
1085    /**
1086     * Types of resource (if a resource is referenced).
1087     */
1088    @Child(name = "target", type = {CodeType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1089    @Description(shortDefinition="Types of resource (if a resource reference)", formalDefinition="Types of resource (if a resource is referenced)." )
1090    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types")
1091    protected List<CodeType> target;
1092
1093    /**
1094     * 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.
1095     */
1096    @Child(name = "multipleOr", type = {BooleanType.class}, order=22, min=0, max=1, modifier=false, summary=false)
1097    @Description(shortDefinition="Allow multiple values per parameter (or)", formalDefinition="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." )
1098    protected BooleanType multipleOr;
1099
1100    /**
1101     * Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.
1102     */
1103    @Child(name = "multipleAnd", type = {BooleanType.class}, order=23, min=0, max=1, modifier=false, summary=false)
1104    @Description(shortDefinition="Allow multiple parameters (and)", formalDefinition="Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match." )
1105    protected BooleanType multipleAnd;
1106
1107    /**
1108     * Comparators supported for the search parameter.
1109     */
1110    @Child(name = "comparator", type = {CodeType.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1111    @Description(shortDefinition="eq | ne | gt | lt | ge | le | sa | eb | ap", formalDefinition="Comparators supported for the search parameter." )
1112    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-comparator")
1113    protected List<Enumeration<SearchComparator>> comparator;
1114
1115    /**
1116     * A modifier supported for the search parameter.
1117     */
1118    @Child(name = "modifier", type = {CodeType.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1119    @Description(shortDefinition="missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate", formalDefinition="A modifier supported for the search parameter." )
1120    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-modifier-code")
1121    protected List<Enumeration<SearchModifierCode>> modifier;
1122
1123    /**
1124     * 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.
1125     */
1126    @Child(name = "chain", type = {StringType.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1127    @Description(shortDefinition="Chained names supported", formalDefinition="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." )
1128    protected List<StringType> chain;
1129
1130    /**
1131     * Used to define the parts of a composite search parameter.
1132     */
1133    @Child(name = "component", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1134    @Description(shortDefinition="For Composite resources to define the parts", formalDefinition="Used to define the parts of a composite search parameter." )
1135    protected List<SearchParameterComponentComponent> component;
1136
1137    private static final long serialVersionUID = 1875846540L;
1138
1139  /**
1140   * Constructor
1141   */
1142    public SearchParameter() {
1143      super();
1144    }
1145
1146  /**
1147   * Constructor
1148   */
1149    public SearchParameter(String url, String name, PublicationStatus status, String description, String code, String base, SearchParamType type) {
1150      super();
1151      this.setUrl(url);
1152      this.setName(name);
1153      this.setStatus(status);
1154      this.setDescription(description);
1155      this.setCode(code);
1156      this.addBase(base);
1157      this.setType(type);
1158    }
1159
1160    /**
1161     * @return {@link #url} (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.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
1162     */
1163    public UriType getUrlElement() { 
1164      if (this.url == null)
1165        if (Configuration.errorOnAutoCreate())
1166          throw new Error("Attempt to auto-create SearchParameter.url");
1167        else if (Configuration.doAutoCreate())
1168          this.url = new UriType(); // bb
1169      return this.url;
1170    }
1171
1172    public boolean hasUrlElement() { 
1173      return this.url != null && !this.url.isEmpty();
1174    }
1175
1176    public boolean hasUrl() { 
1177      return this.url != null && !this.url.isEmpty();
1178    }
1179
1180    /**
1181     * @param value {@link #url} (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.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
1182     */
1183    public SearchParameter setUrlElement(UriType value) { 
1184      this.url = value;
1185      return this;
1186    }
1187
1188    /**
1189     * @return 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.
1190     */
1191    public String getUrl() { 
1192      return this.url == null ? null : this.url.getValue();
1193    }
1194
1195    /**
1196     * @param value 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.
1197     */
1198    public SearchParameter setUrl(String value) { 
1199        if (this.url == null)
1200          this.url = new UriType();
1201        this.url.setValue(value);
1202      return this;
1203    }
1204
1205    /**
1206     * @return {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
1207     */
1208    public StringType getVersionElement() { 
1209      if (this.version == null)
1210        if (Configuration.errorOnAutoCreate())
1211          throw new Error("Attempt to auto-create SearchParameter.version");
1212        else if (Configuration.doAutoCreate())
1213          this.version = new StringType(); // bb
1214      return this.version;
1215    }
1216
1217    public boolean hasVersionElement() { 
1218      return this.version != null && !this.version.isEmpty();
1219    }
1220
1221    public boolean hasVersion() { 
1222      return this.version != null && !this.version.isEmpty();
1223    }
1224
1225    /**
1226     * @param value {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
1227     */
1228    public SearchParameter setVersionElement(StringType value) { 
1229      this.version = value;
1230      return this;
1231    }
1232
1233    /**
1234     * @return 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.
1235     */
1236    public String getVersion() { 
1237      return this.version == null ? null : this.version.getValue();
1238    }
1239
1240    /**
1241     * @param value 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.
1242     */
1243    public SearchParameter setVersion(String value) { 
1244      if (Utilities.noString(value))
1245        this.version = null;
1246      else {
1247        if (this.version == null)
1248          this.version = new StringType();
1249        this.version.setValue(value);
1250      }
1251      return this;
1252    }
1253
1254    /**
1255     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
1256     */
1257    public DataType getVersionAlgorithm() { 
1258      return this.versionAlgorithm;
1259    }
1260
1261    /**
1262     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
1263     */
1264    public StringType getVersionAlgorithmStringType() throws FHIRException { 
1265      if (this.versionAlgorithm == null)
1266        this.versionAlgorithm = new StringType();
1267      if (!(this.versionAlgorithm instanceof StringType))
1268        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
1269      return (StringType) this.versionAlgorithm;
1270    }
1271
1272    public boolean hasVersionAlgorithmStringType() { 
1273      return this != null && this.versionAlgorithm instanceof StringType;
1274    }
1275
1276    /**
1277     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
1278     */
1279    public Coding getVersionAlgorithmCoding() throws FHIRException { 
1280      if (this.versionAlgorithm == null)
1281        this.versionAlgorithm = new Coding();
1282      if (!(this.versionAlgorithm instanceof Coding))
1283        throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
1284      return (Coding) this.versionAlgorithm;
1285    }
1286
1287    public boolean hasVersionAlgorithmCoding() { 
1288      return this != null && this.versionAlgorithm instanceof Coding;
1289    }
1290
1291    public boolean hasVersionAlgorithm() { 
1292      return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
1293    }
1294
1295    /**
1296     * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
1297     */
1298    public SearchParameter setVersionAlgorithm(DataType value) { 
1299      if (value != null && !(value instanceof StringType || value instanceof Coding))
1300        throw new Error("Not the right type for SearchParameter.versionAlgorithm[x]: "+value.fhirType());
1301      this.versionAlgorithm = value;
1302      return this;
1303    }
1304
1305    /**
1306     * @return {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
1307     */
1308    public StringType getNameElement() { 
1309      if (this.name == null)
1310        if (Configuration.errorOnAutoCreate())
1311          throw new Error("Attempt to auto-create SearchParameter.name");
1312        else if (Configuration.doAutoCreate())
1313          this.name = new StringType(); // bb
1314      return this.name;
1315    }
1316
1317    public boolean hasNameElement() { 
1318      return this.name != null && !this.name.isEmpty();
1319    }
1320
1321    public boolean hasName() { 
1322      return this.name != null && !this.name.isEmpty();
1323    }
1324
1325    /**
1326     * @param value {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
1327     */
1328    public SearchParameter setNameElement(StringType value) { 
1329      this.name = value;
1330      return this;
1331    }
1332
1333    /**
1334     * @return 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.
1335     */
1336    public String getName() { 
1337      return this.name == null ? null : this.name.getValue();
1338    }
1339
1340    /**
1341     * @param value 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.
1342     */
1343    public SearchParameter setName(String value) { 
1344        if (this.name == null)
1345          this.name = new StringType();
1346        this.name.setValue(value);
1347      return this;
1348    }
1349
1350    /**
1351     * @return {@link #title} (A short, descriptive, user-friendly title for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
1352     */
1353    public StringType getTitleElement() { 
1354      if (this.title == null)
1355        if (Configuration.errorOnAutoCreate())
1356          throw new Error("Attempt to auto-create SearchParameter.title");
1357        else if (Configuration.doAutoCreate())
1358          this.title = new StringType(); // bb
1359      return this.title;
1360    }
1361
1362    public boolean hasTitleElement() { 
1363      return this.title != null && !this.title.isEmpty();
1364    }
1365
1366    public boolean hasTitle() { 
1367      return this.title != null && !this.title.isEmpty();
1368    }
1369
1370    /**
1371     * @param value {@link #title} (A short, descriptive, user-friendly title for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
1372     */
1373    public SearchParameter setTitleElement(StringType value) { 
1374      this.title = value;
1375      return this;
1376    }
1377
1378    /**
1379     * @return A short, descriptive, user-friendly title for the search parameter.
1380     */
1381    public String getTitle() { 
1382      return this.title == null ? null : this.title.getValue();
1383    }
1384
1385    /**
1386     * @param value A short, descriptive, user-friendly title for the search parameter.
1387     */
1388    public SearchParameter setTitle(String value) { 
1389      if (Utilities.noString(value))
1390        this.title = null;
1391      else {
1392        if (this.title == null)
1393          this.title = new StringType();
1394        this.title.setValue(value);
1395      }
1396      return this;
1397    }
1398
1399    /**
1400     * @return {@link #derivedFrom} (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.). This is the underlying object with id, value and extensions. The accessor "getDerivedFrom" gives direct access to the value
1401     */
1402    public CanonicalType getDerivedFromElement() { 
1403      if (this.derivedFrom == null)
1404        if (Configuration.errorOnAutoCreate())
1405          throw new Error("Attempt to auto-create SearchParameter.derivedFrom");
1406        else if (Configuration.doAutoCreate())
1407          this.derivedFrom = new CanonicalType(); // bb
1408      return this.derivedFrom;
1409    }
1410
1411    public boolean hasDerivedFromElement() { 
1412      return this.derivedFrom != null && !this.derivedFrom.isEmpty();
1413    }
1414
1415    public boolean hasDerivedFrom() { 
1416      return this.derivedFrom != null && !this.derivedFrom.isEmpty();
1417    }
1418
1419    /**
1420     * @param value {@link #derivedFrom} (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.). This is the underlying object with id, value and extensions. The accessor "getDerivedFrom" gives direct access to the value
1421     */
1422    public SearchParameter setDerivedFromElement(CanonicalType value) { 
1423      this.derivedFrom = value;
1424      return this;
1425    }
1426
1427    /**
1428     * @return 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.
1429     */
1430    public String getDerivedFrom() { 
1431      return this.derivedFrom == null ? null : this.derivedFrom.getValue();
1432    }
1433
1434    /**
1435     * @param value 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.
1436     */
1437    public SearchParameter setDerivedFrom(String value) { 
1438      if (Utilities.noString(value))
1439        this.derivedFrom = null;
1440      else {
1441        if (this.derivedFrom == null)
1442          this.derivedFrom = new CanonicalType();
1443        this.derivedFrom.setValue(value);
1444      }
1445      return this;
1446    }
1447
1448    /**
1449     * @return {@link #status} (The status of this search parameter. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
1450     */
1451    public Enumeration<PublicationStatus> getStatusElement() { 
1452      if (this.status == null)
1453        if (Configuration.errorOnAutoCreate())
1454          throw new Error("Attempt to auto-create SearchParameter.status");
1455        else if (Configuration.doAutoCreate())
1456          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
1457      return this.status;
1458    }
1459
1460    public boolean hasStatusElement() { 
1461      return this.status != null && !this.status.isEmpty();
1462    }
1463
1464    public boolean hasStatus() { 
1465      return this.status != null && !this.status.isEmpty();
1466    }
1467
1468    /**
1469     * @param value {@link #status} (The status of this search parameter. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value
1470     */
1471    public SearchParameter setStatusElement(Enumeration<PublicationStatus> value) { 
1472      this.status = value;
1473      return this;
1474    }
1475
1476    /**
1477     * @return The status of this search parameter. Enables tracking the life-cycle of the content.
1478     */
1479    public PublicationStatus getStatus() { 
1480      return this.status == null ? null : this.status.getValue();
1481    }
1482
1483    /**
1484     * @param value The status of this search parameter. Enables tracking the life-cycle of the content.
1485     */
1486    public SearchParameter setStatus(PublicationStatus value) { 
1487        if (this.status == null)
1488          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
1489        this.status.setValue(value);
1490      return this;
1491    }
1492
1493    /**
1494     * @return {@link #experimental} (A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value
1495     */
1496    public BooleanType getExperimentalElement() { 
1497      if (this.experimental == null)
1498        if (Configuration.errorOnAutoCreate())
1499          throw new Error("Attempt to auto-create SearchParameter.experimental");
1500        else if (Configuration.doAutoCreate())
1501          this.experimental = new BooleanType(); // bb
1502      return this.experimental;
1503    }
1504
1505    public boolean hasExperimentalElement() { 
1506      return this.experimental != null && !this.experimental.isEmpty();
1507    }
1508
1509    public boolean hasExperimental() { 
1510      return this.experimental != null && !this.experimental.isEmpty();
1511    }
1512
1513    /**
1514     * @param value {@link #experimental} (A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value
1515     */
1516    public SearchParameter setExperimentalElement(BooleanType value) { 
1517      this.experimental = value;
1518      return this;
1519    }
1520
1521    /**
1522     * @return A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
1523     */
1524    public boolean getExperimental() { 
1525      return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
1526    }
1527
1528    /**
1529     * @param value A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
1530     */
1531    public SearchParameter setExperimental(boolean value) { 
1532        if (this.experimental == null)
1533          this.experimental = new BooleanType();
1534        this.experimental.setValue(value);
1535      return this;
1536    }
1537
1538    /**
1539     * @return {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
1540     */
1541    public DateTimeType getDateElement() { 
1542      if (this.date == null)
1543        if (Configuration.errorOnAutoCreate())
1544          throw new Error("Attempt to auto-create SearchParameter.date");
1545        else if (Configuration.doAutoCreate())
1546          this.date = new DateTimeType(); // bb
1547      return this.date;
1548    }
1549
1550    public boolean hasDateElement() { 
1551      return this.date != null && !this.date.isEmpty();
1552    }
1553
1554    public boolean hasDate() { 
1555      return this.date != null && !this.date.isEmpty();
1556    }
1557
1558    /**
1559     * @param value {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
1560     */
1561    public SearchParameter setDateElement(DateTimeType value) { 
1562      this.date = value;
1563      return this;
1564    }
1565
1566    /**
1567     * @return 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.
1568     */
1569    public Date getDate() { 
1570      return this.date == null ? null : this.date.getValue();
1571    }
1572
1573    /**
1574     * @param value 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.
1575     */
1576    public SearchParameter setDate(Date value) { 
1577      if (value == null)
1578        this.date = null;
1579      else {
1580        if (this.date == null)
1581          this.date = new DateTimeType();
1582        this.date.setValue(value);
1583      }
1584      return this;
1585    }
1586
1587    /**
1588     * @return {@link #publisher} (The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
1589     */
1590    public StringType getPublisherElement() { 
1591      if (this.publisher == null)
1592        if (Configuration.errorOnAutoCreate())
1593          throw new Error("Attempt to auto-create SearchParameter.publisher");
1594        else if (Configuration.doAutoCreate())
1595          this.publisher = new StringType(); // bb
1596      return this.publisher;
1597    }
1598
1599    public boolean hasPublisherElement() { 
1600      return this.publisher != null && !this.publisher.isEmpty();
1601    }
1602
1603    public boolean hasPublisher() { 
1604      return this.publisher != null && !this.publisher.isEmpty();
1605    }
1606
1607    /**
1608     * @param value {@link #publisher} (The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
1609     */
1610    public SearchParameter setPublisherElement(StringType value) { 
1611      this.publisher = value;
1612      return this;
1613    }
1614
1615    /**
1616     * @return The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.
1617     */
1618    public String getPublisher() { 
1619      return this.publisher == null ? null : this.publisher.getValue();
1620    }
1621
1622    /**
1623     * @param value The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.
1624     */
1625    public SearchParameter setPublisher(String value) { 
1626      if (Utilities.noString(value))
1627        this.publisher = null;
1628      else {
1629        if (this.publisher == null)
1630          this.publisher = new StringType();
1631        this.publisher.setValue(value);
1632      }
1633      return this;
1634    }
1635
1636    /**
1637     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
1638     */
1639    public List<ContactDetail> getContact() { 
1640      if (this.contact == null)
1641        this.contact = new ArrayList<ContactDetail>();
1642      return this.contact;
1643    }
1644
1645    /**
1646     * @return Returns a reference to <code>this</code> for easy method chaining
1647     */
1648    public SearchParameter setContact(List<ContactDetail> theContact) { 
1649      this.contact = theContact;
1650      return this;
1651    }
1652
1653    public boolean hasContact() { 
1654      if (this.contact == null)
1655        return false;
1656      for (ContactDetail item : this.contact)
1657        if (!item.isEmpty())
1658          return true;
1659      return false;
1660    }
1661
1662    public ContactDetail addContact() { //3
1663      ContactDetail t = new ContactDetail();
1664      if (this.contact == null)
1665        this.contact = new ArrayList<ContactDetail>();
1666      this.contact.add(t);
1667      return t;
1668    }
1669
1670    public SearchParameter addContact(ContactDetail t) { //3
1671      if (t == null)
1672        return this;
1673      if (this.contact == null)
1674        this.contact = new ArrayList<ContactDetail>();
1675      this.contact.add(t);
1676      return this;
1677    }
1678
1679    /**
1680     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
1681     */
1682    public ContactDetail getContactFirstRep() { 
1683      if (getContact().isEmpty()) {
1684        addContact();
1685      }
1686      return getContact().get(0);
1687    }
1688
1689    /**
1690     * @return {@link #description} (And how it used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1691     */
1692    public MarkdownType getDescriptionElement() { 
1693      if (this.description == null)
1694        if (Configuration.errorOnAutoCreate())
1695          throw new Error("Attempt to auto-create SearchParameter.description");
1696        else if (Configuration.doAutoCreate())
1697          this.description = new MarkdownType(); // bb
1698      return this.description;
1699    }
1700
1701    public boolean hasDescriptionElement() { 
1702      return this.description != null && !this.description.isEmpty();
1703    }
1704
1705    public boolean hasDescription() { 
1706      return this.description != null && !this.description.isEmpty();
1707    }
1708
1709    /**
1710     * @param value {@link #description} (And how it used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1711     */
1712    public SearchParameter setDescriptionElement(MarkdownType value) { 
1713      this.description = value;
1714      return this;
1715    }
1716
1717    /**
1718     * @return And how it used.
1719     */
1720    public String getDescription() { 
1721      return this.description == null ? null : this.description.getValue();
1722    }
1723
1724    /**
1725     * @param value And how it used.
1726     */
1727    public SearchParameter setDescription(String value) { 
1728        if (this.description == null)
1729          this.description = new MarkdownType();
1730        this.description.setValue(value);
1731      return this;
1732    }
1733
1734    /**
1735     * @return {@link #useContext} (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.)
1736     */
1737    public List<UsageContext> getUseContext() { 
1738      if (this.useContext == null)
1739        this.useContext = new ArrayList<UsageContext>();
1740      return this.useContext;
1741    }
1742
1743    /**
1744     * @return Returns a reference to <code>this</code> for easy method chaining
1745     */
1746    public SearchParameter setUseContext(List<UsageContext> theUseContext) { 
1747      this.useContext = theUseContext;
1748      return this;
1749    }
1750
1751    public boolean hasUseContext() { 
1752      if (this.useContext == null)
1753        return false;
1754      for (UsageContext item : this.useContext)
1755        if (!item.isEmpty())
1756          return true;
1757      return false;
1758    }
1759
1760    public UsageContext addUseContext() { //3
1761      UsageContext t = new UsageContext();
1762      if (this.useContext == null)
1763        this.useContext = new ArrayList<UsageContext>();
1764      this.useContext.add(t);
1765      return t;
1766    }
1767
1768    public SearchParameter addUseContext(UsageContext t) { //3
1769      if (t == null)
1770        return this;
1771      if (this.useContext == null)
1772        this.useContext = new ArrayList<UsageContext>();
1773      this.useContext.add(t);
1774      return this;
1775    }
1776
1777    /**
1778     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
1779     */
1780    public UsageContext getUseContextFirstRep() { 
1781      if (getUseContext().isEmpty()) {
1782        addUseContext();
1783      }
1784      return getUseContext().get(0);
1785    }
1786
1787    /**
1788     * @return {@link #jurisdiction} (A legal or geographic region in which the search parameter is intended to be used.)
1789     */
1790    public List<CodeableConcept> getJurisdiction() { 
1791      if (this.jurisdiction == null)
1792        this.jurisdiction = new ArrayList<CodeableConcept>();
1793      return this.jurisdiction;
1794    }
1795
1796    /**
1797     * @return Returns a reference to <code>this</code> for easy method chaining
1798     */
1799    public SearchParameter setJurisdiction(List<CodeableConcept> theJurisdiction) { 
1800      this.jurisdiction = theJurisdiction;
1801      return this;
1802    }
1803
1804    public boolean hasJurisdiction() { 
1805      if (this.jurisdiction == null)
1806        return false;
1807      for (CodeableConcept item : this.jurisdiction)
1808        if (!item.isEmpty())
1809          return true;
1810      return false;
1811    }
1812
1813    public CodeableConcept addJurisdiction() { //3
1814      CodeableConcept t = new CodeableConcept();
1815      if (this.jurisdiction == null)
1816        this.jurisdiction = new ArrayList<CodeableConcept>();
1817      this.jurisdiction.add(t);
1818      return t;
1819    }
1820
1821    public SearchParameter addJurisdiction(CodeableConcept t) { //3
1822      if (t == null)
1823        return this;
1824      if (this.jurisdiction == null)
1825        this.jurisdiction = new ArrayList<CodeableConcept>();
1826      this.jurisdiction.add(t);
1827      return this;
1828    }
1829
1830    /**
1831     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
1832     */
1833    public CodeableConcept getJurisdictionFirstRep() { 
1834      if (getJurisdiction().isEmpty()) {
1835        addJurisdiction();
1836      }
1837      return getJurisdiction().get(0);
1838    }
1839
1840    /**
1841     * @return {@link #purpose} (Explanation of why this search parameter is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value
1842     */
1843    public MarkdownType getPurposeElement() { 
1844      if (this.purpose == null)
1845        if (Configuration.errorOnAutoCreate())
1846          throw new Error("Attempt to auto-create SearchParameter.purpose");
1847        else if (Configuration.doAutoCreate())
1848          this.purpose = new MarkdownType(); // bb
1849      return this.purpose;
1850    }
1851
1852    public boolean hasPurposeElement() { 
1853      return this.purpose != null && !this.purpose.isEmpty();
1854    }
1855
1856    public boolean hasPurpose() { 
1857      return this.purpose != null && !this.purpose.isEmpty();
1858    }
1859
1860    /**
1861     * @param value {@link #purpose} (Explanation of why this search parameter is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value
1862     */
1863    public SearchParameter setPurposeElement(MarkdownType value) { 
1864      this.purpose = value;
1865      return this;
1866    }
1867
1868    /**
1869     * @return Explanation of why this search parameter is needed and why it has been designed as it has.
1870     */
1871    public String getPurpose() { 
1872      return this.purpose == null ? null : this.purpose.getValue();
1873    }
1874
1875    /**
1876     * @param value Explanation of why this search parameter is needed and why it has been designed as it has.
1877     */
1878    public SearchParameter setPurpose(String value) { 
1879      if (value == null)
1880        this.purpose = null;
1881      else {
1882        if (this.purpose == null)
1883          this.purpose = new MarkdownType();
1884        this.purpose.setValue(value);
1885      }
1886      return this;
1887    }
1888
1889    /**
1890     * @return {@link #code} (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.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1891     */
1892    public CodeType getCodeElement() { 
1893      if (this.code == null)
1894        if (Configuration.errorOnAutoCreate())
1895          throw new Error("Attempt to auto-create SearchParameter.code");
1896        else if (Configuration.doAutoCreate())
1897          this.code = new CodeType(); // bb
1898      return this.code;
1899    }
1900
1901    public boolean hasCodeElement() { 
1902      return this.code != null && !this.code.isEmpty();
1903    }
1904
1905    public boolean hasCode() { 
1906      return this.code != null && !this.code.isEmpty();
1907    }
1908
1909    /**
1910     * @param value {@link #code} (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.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1911     */
1912    public SearchParameter setCodeElement(CodeType value) { 
1913      this.code = value;
1914      return this;
1915    }
1916
1917    /**
1918     * @return 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.
1919     */
1920    public String getCode() { 
1921      return this.code == null ? null : this.code.getValue();
1922    }
1923
1924    /**
1925     * @param value 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.
1926     */
1927    public SearchParameter setCode(String value) { 
1928        if (this.code == null)
1929          this.code = new CodeType();
1930        this.code.setValue(value);
1931      return this;
1932    }
1933
1934    /**
1935     * @return {@link #base} (The base resource type(s) that this search parameter can be used against.)
1936     */
1937    public List<CodeType> getBase() { 
1938      if (this.base == null)
1939        this.base = new ArrayList<CodeType>();
1940      return this.base;
1941    }
1942
1943    /**
1944     * @return Returns a reference to <code>this</code> for easy method chaining
1945     */
1946    public SearchParameter setBase(List<CodeType> theBase) { 
1947      this.base = theBase;
1948      return this;
1949    }
1950
1951    public boolean hasBase() { 
1952      if (this.base == null)
1953        return false;
1954      for (CodeType item : this.base)
1955        if (!item.isEmpty())
1956          return true;
1957      return false;
1958    }
1959
1960    /**
1961     * @return {@link #base} (The base resource type(s) that this search parameter can be used against.)
1962     */
1963    public CodeType addBaseElement() {//2 
1964      CodeType t = new CodeType();
1965      if (this.base == null)
1966        this.base = new ArrayList<CodeType>();
1967      this.base.add(t);
1968      return t;
1969    }
1970
1971    /**
1972     * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.)
1973     */
1974    public SearchParameter addBase(String code) { //1
1975      CodeType t = new CodeType();
1976      t.setValue(code);
1977      if (this.base == null)
1978        this.base = new ArrayList<CodeType>();
1979      this.base.add(t);
1980      return this;
1981    }
1982
1983    /**
1984     * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.)
1985     */
1986    public boolean hasBase(String code) { 
1987      if (this.base == null)
1988        return false;
1989      for (CodeType v : this.base)
1990        if (v.getValue().equals(code)) // code
1991          return true;
1992      return false;
1993    }
1994
1995    /**
1996     * @return {@link #type} (The type of value that a search parameter may contain, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
1997     */
1998    public Enumeration<SearchParamType> getTypeElement() { 
1999      if (this.type == null)
2000        if (Configuration.errorOnAutoCreate())
2001          throw new Error("Attempt to auto-create SearchParameter.type");
2002        else if (Configuration.doAutoCreate())
2003          this.type = new Enumeration<SearchParamType>(new SearchParamTypeEnumFactory()); // bb
2004      return this.type;
2005    }
2006
2007    public boolean hasTypeElement() { 
2008      return this.type != null && !this.type.isEmpty();
2009    }
2010
2011    public boolean hasType() { 
2012      return this.type != null && !this.type.isEmpty();
2013    }
2014
2015    /**
2016     * @param value {@link #type} (The type of value that a search parameter may contain, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
2017     */
2018    public SearchParameter setTypeElement(Enumeration<SearchParamType> value) { 
2019      this.type = value;
2020      return this;
2021    }
2022
2023    /**
2024     * @return The type of value that a search parameter may contain, and how the content is interpreted.
2025     */
2026    public SearchParamType getType() { 
2027      return this.type == null ? null : this.type.getValue();
2028    }
2029
2030    /**
2031     * @param value The type of value that a search parameter may contain, and how the content is interpreted.
2032     */
2033    public SearchParameter setType(SearchParamType value) { 
2034        if (this.type == null)
2035          this.type = new Enumeration<SearchParamType>(new SearchParamTypeEnumFactory());
2036        this.type.setValue(value);
2037      return this;
2038    }
2039
2040    /**
2041     * @return {@link #expression} (A FHIRPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
2042     */
2043    public StringType getExpressionElement() { 
2044      if (this.expression == null)
2045        if (Configuration.errorOnAutoCreate())
2046          throw new Error("Attempt to auto-create SearchParameter.expression");
2047        else if (Configuration.doAutoCreate())
2048          this.expression = new StringType(); // bb
2049      return this.expression;
2050    }
2051
2052    public boolean hasExpressionElement() { 
2053      return this.expression != null && !this.expression.isEmpty();
2054    }
2055
2056    public boolean hasExpression() { 
2057      return this.expression != null && !this.expression.isEmpty();
2058    }
2059
2060    /**
2061     * @param value {@link #expression} (A FHIRPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
2062     */
2063    public SearchParameter setExpressionElement(StringType value) { 
2064      this.expression = value;
2065      return this;
2066    }
2067
2068    /**
2069     * @return A FHIRPath expression that returns a set of elements for the search parameter.
2070     */
2071    public String getExpression() { 
2072      return this.expression == null ? null : this.expression.getValue();
2073    }
2074
2075    /**
2076     * @param value A FHIRPath expression that returns a set of elements for the search parameter.
2077     */
2078    public SearchParameter setExpression(String value) { 
2079      if (Utilities.noString(value))
2080        this.expression = null;
2081      else {
2082        if (this.expression == null)
2083          this.expression = new StringType();
2084        this.expression.setValue(value);
2085      }
2086      return this;
2087    }
2088
2089    /**
2090     * @return {@link #processingMode} (How the search parameter relates to the set of elements returned by evaluating the expression query.). This is the underlying object with id, value and extensions. The accessor "getProcessingMode" gives direct access to the value
2091     */
2092    public Enumeration<SearchProcessingModeType> getProcessingModeElement() { 
2093      if (this.processingMode == null)
2094        if (Configuration.errorOnAutoCreate())
2095          throw new Error("Attempt to auto-create SearchParameter.processingMode");
2096        else if (Configuration.doAutoCreate())
2097          this.processingMode = new Enumeration<SearchProcessingModeType>(new SearchProcessingModeTypeEnumFactory()); // bb
2098      return this.processingMode;
2099    }
2100
2101    public boolean hasProcessingModeElement() { 
2102      return this.processingMode != null && !this.processingMode.isEmpty();
2103    }
2104
2105    public boolean hasProcessingMode() { 
2106      return this.processingMode != null && !this.processingMode.isEmpty();
2107    }
2108
2109    /**
2110     * @param value {@link #processingMode} (How the search parameter relates to the set of elements returned by evaluating the expression query.). This is the underlying object with id, value and extensions. The accessor "getProcessingMode" gives direct access to the value
2111     */
2112    public SearchParameter setProcessingModeElement(Enumeration<SearchProcessingModeType> value) { 
2113      this.processingMode = value;
2114      return this;
2115    }
2116
2117    /**
2118     * @return How the search parameter relates to the set of elements returned by evaluating the expression query.
2119     */
2120    public SearchProcessingModeType getProcessingMode() { 
2121      return this.processingMode == null ? null : this.processingMode.getValue();
2122    }
2123
2124    /**
2125     * @param value How the search parameter relates to the set of elements returned by evaluating the expression query.
2126     */
2127    public SearchParameter setProcessingMode(SearchProcessingModeType value) { 
2128      if (value == null)
2129        this.processingMode = null;
2130      else {
2131        if (this.processingMode == null)
2132          this.processingMode = new Enumeration<SearchProcessingModeType>(new SearchProcessingModeTypeEnumFactory());
2133        this.processingMode.setValue(value);
2134      }
2135      return this;
2136    }
2137
2138    /**
2139     * @return {@link #constraint} (FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.). This is the underlying object with id, value and extensions. The accessor "getConstraint" gives direct access to the value
2140     */
2141    public StringType getConstraintElement() { 
2142      if (this.constraint == null)
2143        if (Configuration.errorOnAutoCreate())
2144          throw new Error("Attempt to auto-create SearchParameter.constraint");
2145        else if (Configuration.doAutoCreate())
2146          this.constraint = new StringType(); // bb
2147      return this.constraint;
2148    }
2149
2150    public boolean hasConstraintElement() { 
2151      return this.constraint != null && !this.constraint.isEmpty();
2152    }
2153
2154    public boolean hasConstraint() { 
2155      return this.constraint != null && !this.constraint.isEmpty();
2156    }
2157
2158    /**
2159     * @param value {@link #constraint} (FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.). This is the underlying object with id, value and extensions. The accessor "getConstraint" gives direct access to the value
2160     */
2161    public SearchParameter setConstraintElement(StringType value) { 
2162      this.constraint = value;
2163      return this;
2164    }
2165
2166    /**
2167     * @return FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.
2168     */
2169    public String getConstraint() { 
2170      return this.constraint == null ? null : this.constraint.getValue();
2171    }
2172
2173    /**
2174     * @param value FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.
2175     */
2176    public SearchParameter setConstraint(String value) { 
2177      if (Utilities.noString(value))
2178        this.constraint = null;
2179      else {
2180        if (this.constraint == null)
2181          this.constraint = new StringType();
2182        this.constraint.setValue(value);
2183      }
2184      return this;
2185    }
2186
2187    /**
2188     * @return {@link #target} (Types of resource (if a resource is referenced).)
2189     */
2190    public List<CodeType> getTarget() { 
2191      if (this.target == null)
2192        this.target = new ArrayList<CodeType>();
2193      return this.target;
2194    }
2195
2196    /**
2197     * @return Returns a reference to <code>this</code> for easy method chaining
2198     */
2199    public SearchParameter setTarget(List<CodeType> theTarget) { 
2200      this.target = theTarget;
2201      return this;
2202    }
2203
2204    public boolean hasTarget() { 
2205      if (this.target == null)
2206        return false;
2207      for (CodeType item : this.target)
2208        if (!item.isEmpty())
2209          return true;
2210      return false;
2211    }
2212
2213    /**
2214     * @return {@link #target} (Types of resource (if a resource is referenced).)
2215     */
2216    public CodeType addTargetElement() {//2 
2217      CodeType t = new CodeType();
2218      if (this.target == null)
2219        this.target = new ArrayList<CodeType>();
2220      this.target.add(t);
2221      return t;
2222    }
2223
2224    /**
2225     * @param value {@link #target} (Types of resource (if a resource is referenced).)
2226     */
2227    public SearchParameter addTarget(String value) { //1
2228      CodeType t = new CodeType();
2229      t.setValue(value);
2230      if (this.target == null)
2231        this.target = new ArrayList<CodeType>();
2232      this.target.add(t);
2233      return this;
2234    }
2235
2236    /**
2237     * @param value {@link #target} (Types of resource (if a resource is referenced).)
2238     */
2239    public boolean hasTarget(String value) { 
2240      if (this.target == null)
2241        return false;
2242      for (CodeType v : this.target)
2243        if (v.getValue().equals(value)) // code
2244          return true;
2245      return false;
2246    }
2247
2248    /**
2249     * @return {@link #multipleOr} (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.). This is the underlying object with id, value and extensions. The accessor "getMultipleOr" gives direct access to the value
2250     */
2251    public BooleanType getMultipleOrElement() { 
2252      if (this.multipleOr == null)
2253        if (Configuration.errorOnAutoCreate())
2254          throw new Error("Attempt to auto-create SearchParameter.multipleOr");
2255        else if (Configuration.doAutoCreate())
2256          this.multipleOr = new BooleanType(); // bb
2257      return this.multipleOr;
2258    }
2259
2260    public boolean hasMultipleOrElement() { 
2261      return this.multipleOr != null && !this.multipleOr.isEmpty();
2262    }
2263
2264    public boolean hasMultipleOr() { 
2265      return this.multipleOr != null && !this.multipleOr.isEmpty();
2266    }
2267
2268    /**
2269     * @param value {@link #multipleOr} (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.). This is the underlying object with id, value and extensions. The accessor "getMultipleOr" gives direct access to the value
2270     */
2271    public SearchParameter setMultipleOrElement(BooleanType value) { 
2272      this.multipleOr = value;
2273      return this;
2274    }
2275
2276    /**
2277     * @return 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.
2278     */
2279    public boolean getMultipleOr() { 
2280      return this.multipleOr == null || this.multipleOr.isEmpty() ? false : this.multipleOr.getValue();
2281    }
2282
2283    /**
2284     * @param value 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.
2285     */
2286    public SearchParameter setMultipleOr(boolean value) { 
2287        if (this.multipleOr == null)
2288          this.multipleOr = new BooleanType();
2289        this.multipleOr.setValue(value);
2290      return this;
2291    }
2292
2293    /**
2294     * @return {@link #multipleAnd} (Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.). This is the underlying object with id, value and extensions. The accessor "getMultipleAnd" gives direct access to the value
2295     */
2296    public BooleanType getMultipleAndElement() { 
2297      if (this.multipleAnd == null)
2298        if (Configuration.errorOnAutoCreate())
2299          throw new Error("Attempt to auto-create SearchParameter.multipleAnd");
2300        else if (Configuration.doAutoCreate())
2301          this.multipleAnd = new BooleanType(); // bb
2302      return this.multipleAnd;
2303    }
2304
2305    public boolean hasMultipleAndElement() { 
2306      return this.multipleAnd != null && !this.multipleAnd.isEmpty();
2307    }
2308
2309    public boolean hasMultipleAnd() { 
2310      return this.multipleAnd != null && !this.multipleAnd.isEmpty();
2311    }
2312
2313    /**
2314     * @param value {@link #multipleAnd} (Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.). This is the underlying object with id, value and extensions. The accessor "getMultipleAnd" gives direct access to the value
2315     */
2316    public SearchParameter setMultipleAndElement(BooleanType value) { 
2317      this.multipleAnd = value;
2318      return this;
2319    }
2320
2321    /**
2322     * @return Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.
2323     */
2324    public boolean getMultipleAnd() { 
2325      return this.multipleAnd == null || this.multipleAnd.isEmpty() ? false : this.multipleAnd.getValue();
2326    }
2327
2328    /**
2329     * @param value Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.
2330     */
2331    public SearchParameter setMultipleAnd(boolean value) { 
2332        if (this.multipleAnd == null)
2333          this.multipleAnd = new BooleanType();
2334        this.multipleAnd.setValue(value);
2335      return this;
2336    }
2337
2338    /**
2339     * @return {@link #comparator} (Comparators supported for the search parameter.)
2340     */
2341    public List<Enumeration<SearchComparator>> getComparator() { 
2342      if (this.comparator == null)
2343        this.comparator = new ArrayList<Enumeration<SearchComparator>>();
2344      return this.comparator;
2345    }
2346
2347    /**
2348     * @return Returns a reference to <code>this</code> for easy method chaining
2349     */
2350    public SearchParameter setComparator(List<Enumeration<SearchComparator>> theComparator) { 
2351      this.comparator = theComparator;
2352      return this;
2353    }
2354
2355    public boolean hasComparator() { 
2356      if (this.comparator == null)
2357        return false;
2358      for (Enumeration<SearchComparator> item : this.comparator)
2359        if (!item.isEmpty())
2360          return true;
2361      return false;
2362    }
2363
2364    /**
2365     * @return {@link #comparator} (Comparators supported for the search parameter.)
2366     */
2367    public Enumeration<SearchComparator> addComparatorElement() {//2 
2368      Enumeration<SearchComparator> t = new Enumeration<SearchComparator>(new SearchComparatorEnumFactory());
2369      if (this.comparator == null)
2370        this.comparator = new ArrayList<Enumeration<SearchComparator>>();
2371      this.comparator.add(t);
2372      return t;
2373    }
2374
2375    /**
2376     * @param value {@link #comparator} (Comparators supported for the search parameter.)
2377     */
2378    public SearchParameter addComparator(SearchComparator value) { //1
2379      Enumeration<SearchComparator> t = new Enumeration<SearchComparator>(new SearchComparatorEnumFactory());
2380      t.setValue(value);
2381      if (this.comparator == null)
2382        this.comparator = new ArrayList<Enumeration<SearchComparator>>();
2383      this.comparator.add(t);
2384      return this;
2385    }
2386
2387    /**
2388     * @param value {@link #comparator} (Comparators supported for the search parameter.)
2389     */
2390    public boolean hasComparator(SearchComparator value) { 
2391      if (this.comparator == null)
2392        return false;
2393      for (Enumeration<SearchComparator> v : this.comparator)
2394        if (v.getValue().equals(value)) // code
2395          return true;
2396      return false;
2397    }
2398
2399    /**
2400     * @return {@link #modifier} (A modifier supported for the search parameter.)
2401     */
2402    public List<Enumeration<SearchModifierCode>> getModifier() { 
2403      if (this.modifier == null)
2404        this.modifier = new ArrayList<Enumeration<SearchModifierCode>>();
2405      return this.modifier;
2406    }
2407
2408    /**
2409     * @return Returns a reference to <code>this</code> for easy method chaining
2410     */
2411    public SearchParameter setModifier(List<Enumeration<SearchModifierCode>> theModifier) { 
2412      this.modifier = theModifier;
2413      return this;
2414    }
2415
2416    public boolean hasModifier() { 
2417      if (this.modifier == null)
2418        return false;
2419      for (Enumeration<SearchModifierCode> item : this.modifier)
2420        if (!item.isEmpty())
2421          return true;
2422      return false;
2423    }
2424
2425    /**
2426     * @return {@link #modifier} (A modifier supported for the search parameter.)
2427     */
2428    public Enumeration<SearchModifierCode> addModifierElement() {//2 
2429      Enumeration<SearchModifierCode> t = new Enumeration<SearchModifierCode>(new SearchModifierCodeEnumFactory());
2430      if (this.modifier == null)
2431        this.modifier = new ArrayList<Enumeration<SearchModifierCode>>();
2432      this.modifier.add(t);
2433      return t;
2434    }
2435
2436    /**
2437     * @param value {@link #modifier} (A modifier supported for the search parameter.)
2438     */
2439    public SearchParameter addModifier(SearchModifierCode value) { //1
2440      Enumeration<SearchModifierCode> t = new Enumeration<SearchModifierCode>(new SearchModifierCodeEnumFactory());
2441      t.setValue(value);
2442      if (this.modifier == null)
2443        this.modifier = new ArrayList<Enumeration<SearchModifierCode>>();
2444      this.modifier.add(t);
2445      return this;
2446    }
2447
2448    /**
2449     * @param value {@link #modifier} (A modifier supported for the search parameter.)
2450     */
2451    public boolean hasModifier(SearchModifierCode value) { 
2452      if (this.modifier == null)
2453        return false;
2454      for (Enumeration<SearchModifierCode> v : this.modifier)
2455        if (v.getValue().equals(value)) // code
2456          return true;
2457      return false;
2458    }
2459
2460    /**
2461     * @return {@link #chain} (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.)
2462     */
2463    public List<StringType> getChain() { 
2464      if (this.chain == null)
2465        this.chain = new ArrayList<StringType>();
2466      return this.chain;
2467    }
2468
2469    /**
2470     * @return Returns a reference to <code>this</code> for easy method chaining
2471     */
2472    public SearchParameter setChain(List<StringType> theChain) { 
2473      this.chain = theChain;
2474      return this;
2475    }
2476
2477    public boolean hasChain() { 
2478      if (this.chain == null)
2479        return false;
2480      for (StringType item : this.chain)
2481        if (!item.isEmpty())
2482          return true;
2483      return false;
2484    }
2485
2486    /**
2487     * @return {@link #chain} (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.)
2488     */
2489    public StringType addChainElement() {//2 
2490      StringType t = new StringType();
2491      if (this.chain == null)
2492        this.chain = new ArrayList<StringType>();
2493      this.chain.add(t);
2494      return t;
2495    }
2496
2497    /**
2498     * @param value {@link #chain} (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.)
2499     */
2500    public SearchParameter addChain(String value) { //1
2501      StringType t = new StringType();
2502      t.setValue(value);
2503      if (this.chain == null)
2504        this.chain = new ArrayList<StringType>();
2505      this.chain.add(t);
2506      return this;
2507    }
2508
2509    /**
2510     * @param value {@link #chain} (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.)
2511     */
2512    public boolean hasChain(String value) { 
2513      if (this.chain == null)
2514        return false;
2515      for (StringType v : this.chain)
2516        if (v.getValue().equals(value)) // string
2517          return true;
2518      return false;
2519    }
2520
2521    /**
2522     * @return {@link #component} (Used to define the parts of a composite search parameter.)
2523     */
2524    public List<SearchParameterComponentComponent> getComponent() { 
2525      if (this.component == null)
2526        this.component = new ArrayList<SearchParameterComponentComponent>();
2527      return this.component;
2528    }
2529
2530    /**
2531     * @return Returns a reference to <code>this</code> for easy method chaining
2532     */
2533    public SearchParameter setComponent(List<SearchParameterComponentComponent> theComponent) { 
2534      this.component = theComponent;
2535      return this;
2536    }
2537
2538    public boolean hasComponent() { 
2539      if (this.component == null)
2540        return false;
2541      for (SearchParameterComponentComponent item : this.component)
2542        if (!item.isEmpty())
2543          return true;
2544      return false;
2545    }
2546
2547    public SearchParameterComponentComponent addComponent() { //3
2548      SearchParameterComponentComponent t = new SearchParameterComponentComponent();
2549      if (this.component == null)
2550        this.component = new ArrayList<SearchParameterComponentComponent>();
2551      this.component.add(t);
2552      return t;
2553    }
2554
2555    public SearchParameter addComponent(SearchParameterComponentComponent t) { //3
2556      if (t == null)
2557        return this;
2558      if (this.component == null)
2559        this.component = new ArrayList<SearchParameterComponentComponent>();
2560      this.component.add(t);
2561      return this;
2562    }
2563
2564    /**
2565     * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3}
2566     */
2567    public SearchParameterComponentComponent getComponentFirstRep() { 
2568      if (getComponent().isEmpty()) {
2569        addComponent();
2570      }
2571      return getComponent().get(0);
2572    }
2573
2574    /**
2575     * not supported on this implementation
2576     */
2577    @Override
2578    public int getIdentifierMax() { 
2579      return 0;
2580    }
2581    /**
2582     * @return {@link #identifier} (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.)
2583     */
2584    public List<Identifier> getIdentifier() { 
2585      return new ArrayList<>();
2586    }
2587    /**
2588     * @return Returns a reference to <code>this</code> for easy method chaining
2589     */
2590    public SearchParameter setIdentifier(List<Identifier> theIdentifier) { 
2591      throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); 
2592    }
2593    public boolean hasIdentifier() { 
2594      return false;
2595    }
2596
2597    public Identifier addIdentifier() { //3
2598      throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); 
2599    }
2600    public SearchParameter addIdentifier(Identifier t) { //3
2601      throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); 
2602    }
2603    /**
2604     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2}
2605     */
2606    public Identifier getIdentifierFirstRep() { 
2607      throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); 
2608    }
2609    /**
2610     * not supported on this implementation
2611     */
2612    @Override
2613    public int getCopyrightMax() { 
2614      return 0;
2615    }
2616    /**
2617     * @return {@link #copyright} (A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
2618     */
2619    public MarkdownType getCopyrightElement() { 
2620      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\"");
2621    }
2622
2623    public boolean hasCopyrightElement() { 
2624      return false;
2625    }
2626    public boolean hasCopyright() {
2627      return false;
2628    }
2629
2630    /**
2631     * @param value {@link #copyright} (A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
2632     */
2633    public SearchParameter setCopyrightElement(MarkdownType value) { 
2634      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); 
2635    }
2636    public String getCopyright() { 
2637      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); 
2638    }
2639    /**
2640     * @param value A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the search parameter.
2641     */
2642    public SearchParameter setCopyright(String value) { 
2643      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); 
2644    }
2645    /**
2646     * not supported on this implementation
2647     */
2648    @Override
2649    public int getCopyrightLabelMax() { 
2650      return 0;
2651    }
2652    /**
2653     * @return {@link #copyrightLabel} (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. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value
2654     */
2655    public StringType getCopyrightLabelElement() { 
2656      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\"");
2657    }
2658
2659    public boolean hasCopyrightLabelElement() { 
2660      return false;
2661    }
2662    public boolean hasCopyrightLabel() {
2663      return false;
2664    }
2665
2666    /**
2667     * @param value {@link #copyrightLabel} (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. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value
2668     */
2669    public SearchParameter setCopyrightLabelElement(StringType value) { 
2670      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); 
2671    }
2672    public String getCopyrightLabel() { 
2673      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); 
2674    }
2675    /**
2676     * @param value 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. (e.g. 'All rights reserved', 'Some rights reserved').
2677     */
2678    public SearchParameter setCopyrightLabel(String value) { 
2679      throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); 
2680    }
2681      protected void listChildren(List<Property> children) {
2682        super.listChildren(children);
2683        children.add(new Property("url", "uri", "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.", 0, 1, url));
2684        children.add(new Property("version", "string", "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.", 0, 1, version));
2685        children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
2686        children.add(new Property("name", "string", "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.", 0, 1, name));
2687        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the search parameter.", 0, 1, title));
2688        children.add(new Property("derivedFrom", "canonical(SearchParameter)", "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.", 0, 1, derivedFrom));
2689        children.add(new Property("status", "code", "The status of this search parameter. Enables tracking the life-cycle of the content.", 0, 1, status));
2690        children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental));
2691        children.add(new Property("date", "dateTime", "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.", 0, 1, date));
2692        children.add(new Property("publisher", "string", "The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.", 0, 1, publisher));
2693        children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact));
2694        children.add(new Property("description", "markdown", "And how it used.", 0, 1, description));
2695        children.add(new Property("useContext", "UsageContext", "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.", 0, java.lang.Integer.MAX_VALUE, useContext));
2696        children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the search parameter is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction));
2697        children.add(new Property("purpose", "markdown", "Explanation of why this search parameter is needed and why it has been designed as it has.", 0, 1, purpose));
2698        children.add(new Property("code", "code", "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.", 0, 1, code));
2699        children.add(new Property("base", "code", "The base resource type(s) that this search parameter can be used against.", 0, java.lang.Integer.MAX_VALUE, base));
2700        children.add(new Property("type", "code", "The type of value that a search parameter may contain, and how the content is interpreted.", 0, 1, type));
2701        children.add(new Property("expression", "string", "A FHIRPath expression that returns a set of elements for the search parameter.", 0, 1, expression));
2702        children.add(new Property("processingMode", "code", "How the search parameter relates to the set of elements returned by evaluating the expression query.", 0, 1, processingMode));
2703        children.add(new Property("constraint", "string", "FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.", 0, 1, constraint));
2704        children.add(new Property("target", "code", "Types of resource (if a resource is referenced).", 0, java.lang.Integer.MAX_VALUE, target));
2705        children.add(new Property("multipleOr", "boolean", "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.", 0, 1, multipleOr));
2706        children.add(new Property("multipleAnd", "boolean", "Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.", 0, 1, multipleAnd));
2707        children.add(new Property("comparator", "code", "Comparators supported for the search parameter.", 0, java.lang.Integer.MAX_VALUE, comparator));
2708        children.add(new Property("modifier", "code", "A modifier supported for the search parameter.", 0, java.lang.Integer.MAX_VALUE, modifier));
2709        children.add(new Property("chain", "string", "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.", 0, java.lang.Integer.MAX_VALUE, chain));
2710        children.add(new Property("component", "", "Used to define the parts of a composite search parameter.", 0, java.lang.Integer.MAX_VALUE, component));
2711      }
2712
2713      @Override
2714      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
2715        switch (_hash) {
2716        case 116079: /*url*/  return new Property("url", "uri", "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.", 0, 1, url);
2717        case 351608024: /*version*/  return new Property("version", "string", "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.", 0, 1, version);
2718        case -115699031: /*versionAlgorithm[x]*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
2719        case 1508158071: /*versionAlgorithm*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
2720        case 1836908904: /*versionAlgorithmString*/  return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
2721        case 1373807809: /*versionAlgorithmCoding*/  return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
2722        case 3373707: /*name*/  return new Property("name", "string", "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.", 0, 1, name);
2723        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the search parameter.", 0, 1, title);
2724        case 1077922663: /*derivedFrom*/  return new Property("derivedFrom", "canonical(SearchParameter)", "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.", 0, 1, derivedFrom);
2725        case -892481550: /*status*/  return new Property("status", "code", "The status of this search parameter. Enables tracking the life-cycle of the content.", 0, 1, status);
2726        case -404562712: /*experimental*/  return new Property("experimental", "boolean", "A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental);
2727        case 3076014: /*date*/  return new Property("date", "dateTime", "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.", 0, 1, date);
2728        case 1447404028: /*publisher*/  return new Property("publisher", "string", "The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.", 0, 1, publisher);
2729        case 951526432: /*contact*/  return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact);
2730        case -1724546052: /*description*/  return new Property("description", "markdown", "And how it used.", 0, 1, description);
2731        case -669707736: /*useContext*/  return new Property("useContext", "UsageContext", "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.", 0, java.lang.Integer.MAX_VALUE, useContext);
2732        case -507075711: /*jurisdiction*/  return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the search parameter is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction);
2733        case -220463842: /*purpose*/  return new Property("purpose", "markdown", "Explanation of why this search parameter is needed and why it has been designed as it has.", 0, 1, purpose);
2734        case 3059181: /*code*/  return new Property("code", "code", "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.", 0, 1, code);
2735        case 3016401: /*base*/  return new Property("base", "code", "The base resource type(s) that this search parameter can be used against.", 0, java.lang.Integer.MAX_VALUE, base);
2736        case 3575610: /*type*/  return new Property("type", "code", "The type of value that a search parameter may contain, and how the content is interpreted.", 0, 1, type);
2737        case -1795452264: /*expression*/  return new Property("expression", "string", "A FHIRPath expression that returns a set of elements for the search parameter.", 0, 1, expression);
2738        case 195763030: /*processingMode*/  return new Property("processingMode", "code", "How the search parameter relates to the set of elements returned by evaluating the expression query.", 0, 1, processingMode);
2739        case -190376483: /*constraint*/  return new Property("constraint", "string", "FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.", 0, 1, constraint);
2740        case -880905839: /*target*/  return new Property("target", "code", "Types of resource (if a resource is referenced).", 0, java.lang.Integer.MAX_VALUE, target);
2741        case 1265069075: /*multipleOr*/  return new Property("multipleOr", "boolean", "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.", 0, 1, multipleOr);
2742        case 562422183: /*multipleAnd*/  return new Property("multipleAnd", "boolean", "Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.", 0, 1, multipleAnd);
2743        case -844673834: /*comparator*/  return new Property("comparator", "code", "Comparators supported for the search parameter.", 0, java.lang.Integer.MAX_VALUE, comparator);
2744        case -615513385: /*modifier*/  return new Property("modifier", "code", "A modifier supported for the search parameter.", 0, java.lang.Integer.MAX_VALUE, modifier);
2745        case 94623425: /*chain*/  return new Property("chain", "string", "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.", 0, java.lang.Integer.MAX_VALUE, chain);
2746        case -1399907075: /*component*/  return new Property("component", "", "Used to define the parts of a composite search parameter.", 0, java.lang.Integer.MAX_VALUE, component);
2747        default: return super.getNamedProperty(_hash, _name, _checkValid);
2748        }
2749
2750      }
2751
2752      @Override
2753      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
2754        switch (hash) {
2755        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
2756        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
2757        case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
2758        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
2759        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
2760        case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : new Base[] {this.derivedFrom}; // CanonicalType
2761        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
2762        case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
2763        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
2764        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
2765        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
2766        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
2767        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
2768        case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
2769        case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
2770        case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType
2771        case 3016401: /*base*/ return this.base == null ? new Base[0] : this.base.toArray(new Base[this.base.size()]); // Enumeration<AllResourceTypes>
2772        case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<SearchParamType>
2773        case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType
2774        case 195763030: /*processingMode*/ return this.processingMode == null ? new Base[0] : new Base[] {this.processingMode}; // Enumeration<SearchProcessingModeType>
2775        case -190376483: /*constraint*/ return this.constraint == null ? new Base[0] : new Base[] {this.constraint}; // StringType
2776        case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // CodeType
2777        case 1265069075: /*multipleOr*/ return this.multipleOr == null ? new Base[0] : new Base[] {this.multipleOr}; // BooleanType
2778        case 562422183: /*multipleAnd*/ return this.multipleAnd == null ? new Base[0] : new Base[] {this.multipleAnd}; // BooleanType
2779        case -844673834: /*comparator*/ return this.comparator == null ? new Base[0] : this.comparator.toArray(new Base[this.comparator.size()]); // Enumeration<SearchComparator>
2780        case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // Enumeration<SearchModifierCode>
2781        case 94623425: /*chain*/ return this.chain == null ? new Base[0] : this.chain.toArray(new Base[this.chain.size()]); // StringType
2782        case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // SearchParameterComponentComponent
2783        default: return super.getProperty(hash, name, checkValid);
2784        }
2785
2786      }
2787
2788      @Override
2789      public Base setProperty(int hash, String name, Base value) throws FHIRException {
2790        switch (hash) {
2791        case 116079: // url
2792          this.url = TypeConvertor.castToUri(value); // UriType
2793          return value;
2794        case 351608024: // version
2795          this.version = TypeConvertor.castToString(value); // StringType
2796          return value;
2797        case 1508158071: // versionAlgorithm
2798          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
2799          return value;
2800        case 3373707: // name
2801          this.name = TypeConvertor.castToString(value); // StringType
2802          return value;
2803        case 110371416: // title
2804          this.title = TypeConvertor.castToString(value); // StringType
2805          return value;
2806        case 1077922663: // derivedFrom
2807          this.derivedFrom = TypeConvertor.castToCanonical(value); // CanonicalType
2808          return value;
2809        case -892481550: // status
2810          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
2811          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
2812          return value;
2813        case -404562712: // experimental
2814          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
2815          return value;
2816        case 3076014: // date
2817          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
2818          return value;
2819        case 1447404028: // publisher
2820          this.publisher = TypeConvertor.castToString(value); // StringType
2821          return value;
2822        case 951526432: // contact
2823          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
2824          return value;
2825        case -1724546052: // description
2826          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2827          return value;
2828        case -669707736: // useContext
2829          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
2830          return value;
2831        case -507075711: // jurisdiction
2832          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
2833          return value;
2834        case -220463842: // purpose
2835          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
2836          return value;
2837        case 3059181: // code
2838          this.code = TypeConvertor.castToCode(value); // CodeType
2839          return value;
2840        case 3016401: // base
2841          value = TypeConvertor.castToCode(value);
2842          this.getBase().add((CodeType) value); // Enumeration<AllResourceTypes>
2843          return value;
2844        case 3575610: // type
2845          value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2846          this.type = (Enumeration) value; // Enumeration<SearchParamType>
2847          return value;
2848        case -1795452264: // expression
2849          this.expression = TypeConvertor.castToString(value); // StringType
2850          return value;
2851        case 195763030: // processingMode
2852          value = new SearchProcessingModeTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2853          this.processingMode = (Enumeration) value; // Enumeration<SearchProcessingModeType>
2854          return value;
2855        case -190376483: // constraint
2856          this.constraint = TypeConvertor.castToString(value); // StringType
2857          return value;
2858        case -880905839: // target
2859          this.getTarget().add(TypeConvertor.castToCode(value)); // CodeType
2860          return value;
2861        case 1265069075: // multipleOr
2862          this.multipleOr = TypeConvertor.castToBoolean(value); // BooleanType
2863          return value;
2864        case 562422183: // multipleAnd
2865          this.multipleAnd = TypeConvertor.castToBoolean(value); // BooleanType
2866          return value;
2867        case -844673834: // comparator
2868          value = new SearchComparatorEnumFactory().fromType(TypeConvertor.castToCode(value));
2869          this.getComparator().add((Enumeration) value); // Enumeration<SearchComparator>
2870          return value;
2871        case -615513385: // modifier
2872          value = new SearchModifierCodeEnumFactory().fromType(TypeConvertor.castToCode(value));
2873          this.getModifier().add((Enumeration) value); // Enumeration<SearchModifierCode>
2874          return value;
2875        case 94623425: // chain
2876          this.getChain().add(TypeConvertor.castToString(value)); // StringType
2877          return value;
2878        case -1399907075: // component
2879          this.getComponent().add((SearchParameterComponentComponent) value); // SearchParameterComponentComponent
2880          return value;
2881        default: return super.setProperty(hash, name, value);
2882        }
2883
2884      }
2885
2886      @Override
2887      public Base setProperty(String name, Base value) throws FHIRException {
2888        if (name.equals("url")) {
2889          this.url = TypeConvertor.castToUri(value); // UriType
2890        } else if (name.equals("version")) {
2891          this.version = TypeConvertor.castToString(value); // StringType
2892        } else if (name.equals("versionAlgorithm[x]")) {
2893          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
2894        } else if (name.equals("name")) {
2895          this.name = TypeConvertor.castToString(value); // StringType
2896        } else if (name.equals("title")) {
2897          this.title = TypeConvertor.castToString(value); // StringType
2898        } else if (name.equals("derivedFrom")) {
2899          this.derivedFrom = TypeConvertor.castToCanonical(value); // CanonicalType
2900        } else if (name.equals("status")) {
2901          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
2902          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
2903        } else if (name.equals("experimental")) {
2904          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
2905        } else if (name.equals("date")) {
2906          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
2907        } else if (name.equals("publisher")) {
2908          this.publisher = TypeConvertor.castToString(value); // StringType
2909        } else if (name.equals("contact")) {
2910          this.getContact().add(TypeConvertor.castToContactDetail(value));
2911        } else if (name.equals("description")) {
2912          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2913        } else if (name.equals("useContext")) {
2914          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
2915        } else if (name.equals("jurisdiction")) {
2916          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
2917        } else if (name.equals("purpose")) {
2918          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
2919        } else if (name.equals("code")) {
2920          this.code = TypeConvertor.castToCode(value); // CodeType
2921        } else if (name.equals("base")) {
2922          value = TypeConvertor.castToCode(value);
2923          this.getBase().add((CodeType) value);
2924        } else if (name.equals("type")) {
2925          value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2926          this.type = (Enumeration) value; // Enumeration<SearchParamType>
2927        } else if (name.equals("expression")) {
2928          this.expression = TypeConvertor.castToString(value); // StringType
2929        } else if (name.equals("processingMode")) {
2930          value = new SearchProcessingModeTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2931          this.processingMode = (Enumeration) value; // Enumeration<SearchProcessingModeType>
2932        } else if (name.equals("constraint")) {
2933          this.constraint = TypeConvertor.castToString(value); // StringType
2934        } else if (name.equals("target")) {
2935          this.getTarget().add(TypeConvertor.castToCode(value));
2936        } else if (name.equals("multipleOr")) {
2937          this.multipleOr = TypeConvertor.castToBoolean(value); // BooleanType
2938        } else if (name.equals("multipleAnd")) {
2939          this.multipleAnd = TypeConvertor.castToBoolean(value); // BooleanType
2940        } else if (name.equals("comparator")) {
2941          value = new SearchComparatorEnumFactory().fromType(TypeConvertor.castToCode(value));
2942          this.getComparator().add((Enumeration) value);
2943        } else if (name.equals("modifier")) {
2944          value = new SearchModifierCodeEnumFactory().fromType(TypeConvertor.castToCode(value));
2945          this.getModifier().add((Enumeration) value);
2946        } else if (name.equals("chain")) {
2947          this.getChain().add(TypeConvertor.castToString(value));
2948        } else if (name.equals("component")) {
2949          this.getComponent().add((SearchParameterComponentComponent) value);
2950        } else
2951          return super.setProperty(name, value);
2952        return value;
2953      }
2954
2955      @Override
2956      public Base makeProperty(int hash, String name) throws FHIRException {
2957        switch (hash) {
2958        case 116079:  return getUrlElement();
2959        case 351608024:  return getVersionElement();
2960        case -115699031:  return getVersionAlgorithm();
2961        case 1508158071:  return getVersionAlgorithm();
2962        case 3373707:  return getNameElement();
2963        case 110371416:  return getTitleElement();
2964        case 1077922663:  return getDerivedFromElement();
2965        case -892481550:  return getStatusElement();
2966        case -404562712:  return getExperimentalElement();
2967        case 3076014:  return getDateElement();
2968        case 1447404028:  return getPublisherElement();
2969        case 951526432:  return addContact(); 
2970        case -1724546052:  return getDescriptionElement();
2971        case -669707736:  return addUseContext(); 
2972        case -507075711:  return addJurisdiction(); 
2973        case -220463842:  return getPurposeElement();
2974        case 3059181:  return getCodeElement();
2975        case 3016401:  return addBaseElement();
2976        case 3575610:  return getTypeElement();
2977        case -1795452264:  return getExpressionElement();
2978        case 195763030:  return getProcessingModeElement();
2979        case -190376483:  return getConstraintElement();
2980        case -880905839:  return addTargetElement();
2981        case 1265069075:  return getMultipleOrElement();
2982        case 562422183:  return getMultipleAndElement();
2983        case -844673834:  return addComparatorElement();
2984        case -615513385:  return addModifierElement();
2985        case 94623425:  return addChainElement();
2986        case -1399907075:  return addComponent(); 
2987        default: return super.makeProperty(hash, name);
2988        }
2989
2990      }
2991
2992      @Override
2993      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
2994        switch (hash) {
2995        case 116079: /*url*/ return new String[] {"uri"};
2996        case 351608024: /*version*/ return new String[] {"string"};
2997        case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
2998        case 3373707: /*name*/ return new String[] {"string"};
2999        case 110371416: /*title*/ return new String[] {"string"};
3000        case 1077922663: /*derivedFrom*/ return new String[] {"canonical"};
3001        case -892481550: /*status*/ return new String[] {"code"};
3002        case -404562712: /*experimental*/ return new String[] {"boolean"};
3003        case 3076014: /*date*/ return new String[] {"dateTime"};
3004        case 1447404028: /*publisher*/ return new String[] {"string"};
3005        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
3006        case -1724546052: /*description*/ return new String[] {"markdown"};
3007        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
3008        case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
3009        case -220463842: /*purpose*/ return new String[] {"markdown"};
3010        case 3059181: /*code*/ return new String[] {"code"};
3011        case 3016401: /*base*/ return new String[] {"code"};
3012        case 3575610: /*type*/ return new String[] {"code"};
3013        case -1795452264: /*expression*/ return new String[] {"string"};
3014        case 195763030: /*processingMode*/ return new String[] {"code"};
3015        case -190376483: /*constraint*/ return new String[] {"string"};
3016        case -880905839: /*target*/ return new String[] {"code"};
3017        case 1265069075: /*multipleOr*/ return new String[] {"boolean"};
3018        case 562422183: /*multipleAnd*/ return new String[] {"boolean"};
3019        case -844673834: /*comparator*/ return new String[] {"code"};
3020        case -615513385: /*modifier*/ return new String[] {"code"};
3021        case 94623425: /*chain*/ return new String[] {"string"};
3022        case -1399907075: /*component*/ return new String[] {};
3023        default: return super.getTypesForProperty(hash, name);
3024        }
3025
3026      }
3027
3028      @Override
3029      public Base addChild(String name) throws FHIRException {
3030        if (name.equals("url")) {
3031          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.url");
3032        }
3033        else if (name.equals("version")) {
3034          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.version");
3035        }
3036        else if (name.equals("versionAlgorithmString")) {
3037          this.versionAlgorithm = new StringType();
3038          return this.versionAlgorithm;
3039        }
3040        else if (name.equals("versionAlgorithmCoding")) {
3041          this.versionAlgorithm = new Coding();
3042          return this.versionAlgorithm;
3043        }
3044        else if (name.equals("name")) {
3045          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.name");
3046        }
3047        else if (name.equals("title")) {
3048          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.title");
3049        }
3050        else if (name.equals("derivedFrom")) {
3051          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.derivedFrom");
3052        }
3053        else if (name.equals("status")) {
3054          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.status");
3055        }
3056        else if (name.equals("experimental")) {
3057          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.experimental");
3058        }
3059        else if (name.equals("date")) {
3060          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.date");
3061        }
3062        else if (name.equals("publisher")) {
3063          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.publisher");
3064        }
3065        else if (name.equals("contact")) {
3066          return addContact();
3067        }
3068        else if (name.equals("description")) {
3069          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.description");
3070        }
3071        else if (name.equals("useContext")) {
3072          return addUseContext();
3073        }
3074        else if (name.equals("jurisdiction")) {
3075          return addJurisdiction();
3076        }
3077        else if (name.equals("purpose")) {
3078          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.purpose");
3079        }
3080        else if (name.equals("code")) {
3081          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.code");
3082        }
3083        else if (name.equals("base")) {
3084          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.base");
3085        }
3086        else if (name.equals("type")) {
3087          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.type");
3088        }
3089        else if (name.equals("expression")) {
3090          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.expression");
3091        }
3092        else if (name.equals("processingMode")) {
3093          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.processingMode");
3094        }
3095        else if (name.equals("constraint")) {
3096          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.constraint");
3097        }
3098        else if (name.equals("target")) {
3099          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.target");
3100        }
3101        else if (name.equals("multipleOr")) {
3102          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.multipleOr");
3103        }
3104        else if (name.equals("multipleAnd")) {
3105          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.multipleAnd");
3106        }
3107        else if (name.equals("comparator")) {
3108          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.comparator");
3109        }
3110        else if (name.equals("modifier")) {
3111          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.modifier");
3112        }
3113        else if (name.equals("chain")) {
3114          throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.chain");
3115        }
3116        else if (name.equals("component")) {
3117          return addComponent();
3118        }
3119        else
3120          return super.addChild(name);
3121      }
3122
3123  public String fhirType() {
3124    return "SearchParameter";
3125
3126  }
3127
3128      public SearchParameter copy() {
3129        SearchParameter dst = new SearchParameter();
3130        copyValues(dst);
3131        return dst;
3132      }
3133
3134      public void copyValues(SearchParameter dst) {
3135        super.copyValues(dst);
3136        dst.url = url == null ? null : url.copy();
3137        dst.version = version == null ? null : version.copy();
3138        dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
3139        dst.name = name == null ? null : name.copy();
3140        dst.title = title == null ? null : title.copy();
3141        dst.derivedFrom = derivedFrom == null ? null : derivedFrom.copy();
3142        dst.status = status == null ? null : status.copy();
3143        dst.experimental = experimental == null ? null : experimental.copy();
3144        dst.date = date == null ? null : date.copy();
3145        dst.publisher = publisher == null ? null : publisher.copy();
3146        if (contact != null) {
3147          dst.contact = new ArrayList<ContactDetail>();
3148          for (ContactDetail i : contact)
3149            dst.contact.add(i.copy());
3150        };
3151        dst.description = description == null ? null : description.copy();
3152        if (useContext != null) {
3153          dst.useContext = new ArrayList<UsageContext>();
3154          for (UsageContext i : useContext)
3155            dst.useContext.add(i.copy());
3156        };
3157        if (jurisdiction != null) {
3158          dst.jurisdiction = new ArrayList<CodeableConcept>();
3159          for (CodeableConcept i : jurisdiction)
3160            dst.jurisdiction.add(i.copy());
3161        };
3162        dst.purpose = purpose == null ? null : purpose.copy();
3163        dst.code = code == null ? null : code.copy();
3164        if (base != null) {
3165          dst.base = new ArrayList<CodeType>();
3166          for (CodeType i : base)
3167            dst.base.add(i.copy());
3168        };
3169        dst.type = type == null ? null : type.copy();
3170        dst.expression = expression == null ? null : expression.copy();
3171        dst.processingMode = processingMode == null ? null : processingMode.copy();
3172        dst.constraint = constraint == null ? null : constraint.copy();
3173        if (target != null) {
3174          dst.target = new ArrayList<CodeType>();
3175          for (CodeType i : target)
3176            dst.target.add(i.copy());
3177        };
3178        dst.multipleOr = multipleOr == null ? null : multipleOr.copy();
3179        dst.multipleAnd = multipleAnd == null ? null : multipleAnd.copy();
3180        if (comparator != null) {
3181          dst.comparator = new ArrayList<Enumeration<SearchComparator>>();
3182          for (Enumeration<SearchComparator> i : comparator)
3183            dst.comparator.add(i.copy());
3184        };
3185        if (modifier != null) {
3186          dst.modifier = new ArrayList<Enumeration<SearchModifierCode>>();
3187          for (Enumeration<SearchModifierCode> i : modifier)
3188            dst.modifier.add(i.copy());
3189        };
3190        if (chain != null) {
3191          dst.chain = new ArrayList<StringType>();
3192          for (StringType i : chain)
3193            dst.chain.add(i.copy());
3194        };
3195        if (component != null) {
3196          dst.component = new ArrayList<SearchParameterComponentComponent>();
3197          for (SearchParameterComponentComponent i : component)
3198            dst.component.add(i.copy());
3199        };
3200      }
3201
3202      protected SearchParameter typedCopy() {
3203        return copy();
3204      }
3205
3206      @Override
3207      public boolean equalsDeep(Base other_) {
3208        if (!super.equalsDeep(other_))
3209          return false;
3210        if (!(other_ instanceof SearchParameter))
3211          return false;
3212        SearchParameter o = (SearchParameter) other_;
3213        return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true)
3214           && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(derivedFrom, o.derivedFrom, true)
3215           && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true)
3216           && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true)
3217           && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true)
3218           && compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(base, o.base, true)
3219           && compareDeep(type, o.type, true) && compareDeep(expression, o.expression, true) && compareDeep(processingMode, o.processingMode, true)
3220           && compareDeep(constraint, o.constraint, true) && compareDeep(target, o.target, true) && compareDeep(multipleOr, o.multipleOr, true)
3221           && compareDeep(multipleAnd, o.multipleAnd, true) && compareDeep(comparator, o.comparator, true)
3222           && compareDeep(modifier, o.modifier, true) && compareDeep(chain, o.chain, true) && compareDeep(component, o.component, true)
3223          ;
3224      }
3225
3226      @Override
3227      public boolean equalsShallow(Base other_) {
3228        if (!super.equalsShallow(other_))
3229          return false;
3230        if (!(other_ instanceof SearchParameter))
3231          return false;
3232        SearchParameter o = (SearchParameter) other_;
3233        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
3234           && compareValues(title, o.title, true) && compareValues(derivedFrom, o.derivedFrom, true) && compareValues(status, o.status, true)
3235           && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true)
3236           && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true)
3237           && compareValues(base, o.base, true) && compareValues(type, o.type, true) && compareValues(expression, o.expression, true)
3238           && compareValues(processingMode, o.processingMode, true) && compareValues(constraint, o.constraint, true)
3239           && compareValues(target, o.target, true) && compareValues(multipleOr, o.multipleOr, true) && compareValues(multipleAnd, o.multipleAnd, true)
3240           && compareValues(comparator, o.comparator, true) && compareValues(modifier, o.modifier, true) && compareValues(chain, o.chain, true)
3241          ;
3242      }
3243
3244      public boolean isEmpty() {
3245        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm
3246          , name, title, derivedFrom, status, experimental, date, publisher, contact, description
3247          , useContext, jurisdiction, purpose, code, base, type, expression, processingMode
3248          , constraint, target, multipleOr, multipleAnd, comparator, modifier, chain, component
3249          );
3250      }
3251
3252  @Override
3253  public ResourceType getResourceType() {
3254    return ResourceType.SearchParameter;
3255   }
3256
3257 /**
3258   * Search parameter: <b>context-quantity</b>
3259   * <p>
3260   * Description: <b>Multiple Resources: 
3261
3262* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3263* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3264* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3265* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3266* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3267* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3268* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3269* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3270* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3271* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3272* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3273* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3274* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3275* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3276* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3277* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3278* [Library](library.html): A quantity- or range-valued use context assigned to the library
3279* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3280* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3281* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3282* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3283* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3284* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3285* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3286* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3287* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3288* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3289* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3290* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3291* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3292</b><br>
3293   * Type: <b>quantity</b><br>
3294   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
3295   * </p>
3296   */
3297  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
3298  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
3299 /**
3300   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
3301   * <p>
3302   * Description: <b>Multiple Resources: 
3303
3304* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3305* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3306* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3307* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3308* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3309* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3310* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3311* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3312* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3313* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3314* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3315* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3316* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3317* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3318* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3319* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3320* [Library](library.html): A quantity- or range-valued use context assigned to the library
3321* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3322* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3323* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3324* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3325* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3326* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3327* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3328* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3329* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3330* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3331* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3332* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3333* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3334</b><br>
3335   * Type: <b>quantity</b><br>
3336   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
3337   * </p>
3338   */
3339  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
3340
3341 /**
3342   * Search parameter: <b>context-type-quantity</b>
3343   * <p>
3344   * Description: <b>Multiple Resources: 
3345
3346* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3347* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3348* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3349* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3350* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3351* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3352* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3353* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3354* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3355* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3356* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3357* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3358* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3359* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3360* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3361* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3362* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3363* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3364* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3365* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3366* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3367* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3368* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3369* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3370* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3371* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3372* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3373* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3374* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3375* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3376</b><br>
3377   * Type: <b>composite</b><br>
3378   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
3379   * </p>
3380   */
3381  @SearchParamDefinition(name="context-type-quantity", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [Library](library.html): A use context type and quantity- or range-based value assigned to the library\r\n* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} )
3382  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
3383 /**
3384   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
3385   * <p>
3386   * Description: <b>Multiple Resources: 
3387
3388* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3389* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3390* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3391* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3392* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3393* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3394* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3395* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3396* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3397* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3398* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3399* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3400* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3401* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3402* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3403* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3404* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3405* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3406* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3407* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3408* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3409* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3410* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3411* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3412* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3413* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3414* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3415* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3416* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3417* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3418</b><br>
3419   * Type: <b>composite</b><br>
3420   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
3421   * </p>
3422   */
3423  public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY);
3424
3425 /**
3426   * Search parameter: <b>context-type-value</b>
3427   * <p>
3428   * Description: <b>Multiple Resources: 
3429
3430* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3431* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3432* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3433* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3434* [Citation](citation.html): A use context type and value assigned to the citation
3435* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3436* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3437* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3438* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3439* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3440* [Evidence](evidence.html): A use context type and value assigned to the evidence
3441* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3442* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3443* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3444* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3445* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3446* [Library](library.html): A use context type and value assigned to the library
3447* [Measure](measure.html): A use context type and value assigned to the measure
3448* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3449* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3450* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3451* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3452* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3453* [Requirements](requirements.html): A use context type and value assigned to the requirements
3454* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3455* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3456* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3457* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3458* [TestScript](testscript.html): A use context type and value assigned to the test script
3459* [ValueSet](valueset.html): A use context type and value assigned to the value set
3460</b><br>
3461   * Type: <b>composite</b><br>
3462   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
3463   * </p>
3464   */
3465  @SearchParamDefinition(name="context-type-value", path="ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition\r\n* [Citation](citation.html): A use context type and value assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition\r\n* [Evidence](evidence.html): A use context type and value assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [Library](library.html): A use context type and value assigned to the library\r\n* [Measure](measure.html): A use context type and value assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context type and value assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context type and value assigned to the test script\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} )
3466  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
3467 /**
3468   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
3469   * <p>
3470   * Description: <b>Multiple Resources: 
3471
3472* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3473* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3474* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3475* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3476* [Citation](citation.html): A use context type and value assigned to the citation
3477* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3478* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3479* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3480* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3481* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3482* [Evidence](evidence.html): A use context type and value assigned to the evidence
3483* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3484* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3485* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3486* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3487* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3488* [Library](library.html): A use context type and value assigned to the library
3489* [Measure](measure.html): A use context type and value assigned to the measure
3490* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3491* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3492* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3493* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3494* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3495* [Requirements](requirements.html): A use context type and value assigned to the requirements
3496* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3497* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3498* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3499* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3500* [TestScript](testscript.html): A use context type and value assigned to the test script
3501* [ValueSet](valueset.html): A use context type and value assigned to the value set
3502</b><br>
3503   * Type: <b>composite</b><br>
3504   * Path: <b>ActivityDefinition.useContext | ActorDefinition.useContext | CapabilityStatement.useContext | ChargeItemDefinition.useContext | Citation.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | ConditionDefinition.useContext | EventDefinition.useContext | Evidence.useContext | EvidenceReport.useContext | EvidenceVariable.useContext | ExampleScenario.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | Library.useContext | Measure.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | PlanDefinition.useContext | Questionnaire.useContext | Requirements.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | TestScript.useContext | ValueSet.useContext</b><br>
3505   * </p>
3506   */
3507  public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE);
3508
3509 /**
3510   * Search parameter: <b>context-type</b>
3511   * <p>
3512   * Description: <b>Multiple Resources: 
3513
3514* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3515* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3516* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3517* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3518* [Citation](citation.html): A type of use context assigned to the citation
3519* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3520* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3521* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3522* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3523* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3524* [Evidence](evidence.html): A type of use context assigned to the evidence
3525* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3526* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3527* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3528* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3529* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3530* [Library](library.html): A type of use context assigned to the library
3531* [Measure](measure.html): A type of use context assigned to the measure
3532* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3533* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3534* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3535* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3536* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3537* [Requirements](requirements.html): A type of use context assigned to the requirements
3538* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3539* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3540* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3541* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3542* [TestScript](testscript.html): A type of use context assigned to the test script
3543* [ValueSet](valueset.html): A type of use context assigned to the value set
3544</b><br>
3545   * Type: <b>token</b><br>
3546   * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br>
3547   * </p>
3548   */
3549  @SearchParamDefinition(name="context-type", path="ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition\r\n* [Citation](citation.html): A type of use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition\r\n* [Evidence](evidence.html): A type of use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [Library](library.html): A type of use context assigned to the library\r\n* [Measure](measure.html): A type of use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A type of use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A type of use context assigned to the test script\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" )
3550  public static final String SP_CONTEXT_TYPE = "context-type";
3551 /**
3552   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
3553   * <p>
3554   * Description: <b>Multiple Resources: 
3555
3556* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3557* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3558* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3559* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3560* [Citation](citation.html): A type of use context assigned to the citation
3561* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3562* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3563* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3564* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3565* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3566* [Evidence](evidence.html): A type of use context assigned to the evidence
3567* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3568* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3569* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3570* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3571* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3572* [Library](library.html): A type of use context assigned to the library
3573* [Measure](measure.html): A type of use context assigned to the measure
3574* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3575* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3576* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3577* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3578* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3579* [Requirements](requirements.html): A type of use context assigned to the requirements
3580* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3581* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3582* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3583* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3584* [TestScript](testscript.html): A type of use context assigned to the test script
3585* [ValueSet](valueset.html): A type of use context assigned to the value set
3586</b><br>
3587   * Type: <b>token</b><br>
3588   * Path: <b>ActivityDefinition.useContext.code | ActorDefinition.useContext.code | CapabilityStatement.useContext.code | ChargeItemDefinition.useContext.code | Citation.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | ConditionDefinition.useContext.code | EventDefinition.useContext.code | Evidence.useContext.code | EvidenceReport.useContext.code | EvidenceVariable.useContext.code | ExampleScenario.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | Library.useContext.code | Measure.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | PlanDefinition.useContext.code | Questionnaire.useContext.code | Requirements.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | TestScript.useContext.code | ValueSet.useContext.code</b><br>
3589   * </p>
3590   */
3591  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
3592
3593 /**
3594   * Search parameter: <b>context</b>
3595   * <p>
3596   * Description: <b>Multiple Resources: 
3597
3598* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3599* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3600* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3601* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3602* [Citation](citation.html): A use context assigned to the citation
3603* [CodeSystem](codesystem.html): A use context assigned to the code system
3604* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3605* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3606* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3607* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3608* [Evidence](evidence.html): A use context assigned to the evidence
3609* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3610* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3611* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3612* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3613* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3614* [Library](library.html): A use context assigned to the library
3615* [Measure](measure.html): A use context assigned to the measure
3616* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3617* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3618* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3619* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
3620* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
3621* [Requirements](requirements.html): A use context assigned to the requirements
3622* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
3623* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
3624* [StructureMap](structuremap.html): A use context assigned to the structure map
3625* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
3626* [TestScript](testscript.html): A use context assigned to the test script
3627* [ValueSet](valueset.html): A use context assigned to the value set
3628</b><br>
3629   * Type: <b>token</b><br>
3630   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
3631   * </p>
3632   */
3633  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
3634  public static final String SP_CONTEXT = "context";
3635 /**
3636   * <b>Fluent Client</b> search parameter constant for <b>context</b>
3637   * <p>
3638   * Description: <b>Multiple Resources: 
3639
3640* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3641* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3642* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3643* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3644* [Citation](citation.html): A use context assigned to the citation
3645* [CodeSystem](codesystem.html): A use context assigned to the code system
3646* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3647* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3648* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3649* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3650* [Evidence](evidence.html): A use context assigned to the evidence
3651* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3652* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3653* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3654* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3655* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3656* [Library](library.html): A use context assigned to the library
3657* [Measure](measure.html): A use context assigned to the measure
3658* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3659* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3660* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3661* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
3662* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
3663* [Requirements](requirements.html): A use context assigned to the requirements
3664* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
3665* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
3666* [StructureMap](structuremap.html): A use context assigned to the structure map
3667* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
3668* [TestScript](testscript.html): A use context assigned to the test script
3669* [ValueSet](valueset.html): A use context assigned to the value set
3670</b><br>
3671   * Type: <b>token</b><br>
3672   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
3673   * </p>
3674   */
3675  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
3676
3677 /**
3678   * Search parameter: <b>date</b>
3679   * <p>
3680   * Description: <b>Multiple Resources: 
3681
3682* [ActivityDefinition](activitydefinition.html): The activity definition publication date
3683* [ActorDefinition](actordefinition.html): The Actor Definition publication date
3684* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
3685* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
3686* [Citation](citation.html): The citation publication date
3687* [CodeSystem](codesystem.html): The code system publication date
3688* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
3689* [ConceptMap](conceptmap.html): The concept map publication date
3690* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
3691* [EventDefinition](eventdefinition.html): The event definition publication date
3692* [Evidence](evidence.html): The evidence publication date
3693* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
3694* [ExampleScenario](examplescenario.html): The example scenario publication date
3695* [GraphDefinition](graphdefinition.html): The graph definition publication date
3696* [ImplementationGuide](implementationguide.html): The implementation guide publication date
3697* [Library](library.html): The library publication date
3698* [Measure](measure.html): The measure publication date
3699* [MessageDefinition](messagedefinition.html): The message definition publication date
3700* [NamingSystem](namingsystem.html): The naming system publication date
3701* [OperationDefinition](operationdefinition.html): The operation definition publication date
3702* [PlanDefinition](plandefinition.html): The plan definition publication date
3703* [Questionnaire](questionnaire.html): The questionnaire publication date
3704* [Requirements](requirements.html): The requirements publication date
3705* [SearchParameter](searchparameter.html): The search parameter publication date
3706* [StructureDefinition](structuredefinition.html): The structure definition publication date
3707* [StructureMap](structuremap.html): The structure map publication date
3708* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
3709* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
3710* [TestScript](testscript.html): The test script publication date
3711* [ValueSet](valueset.html): The value set publication date
3712</b><br>
3713   * Type: <b>date</b><br>
3714   * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br>
3715   * </p>
3716   */
3717  @SearchParamDefinition(name="date", path="ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The activity definition publication date\r\n* [ActorDefinition](actordefinition.html): The Actor Definition publication date\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date\r\n* [Citation](citation.html): The citation publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [ConditionDefinition](conditiondefinition.html): The condition definition publication date\r\n* [EventDefinition](eventdefinition.html): The event definition publication date\r\n* [Evidence](evidence.html): The evidence publication date\r\n* [EvidenceVariable](evidencevariable.html): The evidence variable publication date\r\n* [ExampleScenario](examplescenario.html): The example scenario publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [Library](library.html): The library publication date\r\n* [Measure](measure.html): The measure publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [PlanDefinition](plandefinition.html): The plan definition publication date\r\n* [Questionnaire](questionnaire.html): The questionnaire publication date\r\n* [Requirements](requirements.html): The requirements publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [SubscriptionTopic](subscriptiontopic.html): Date status first applied\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [TestScript](testscript.html): The test script publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" )
3718  public static final String SP_DATE = "date";
3719 /**
3720   * <b>Fluent Client</b> search parameter constant for <b>date</b>
3721   * <p>
3722   * Description: <b>Multiple Resources: 
3723
3724* [ActivityDefinition](activitydefinition.html): The activity definition publication date
3725* [ActorDefinition](actordefinition.html): The Actor Definition publication date
3726* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
3727* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
3728* [Citation](citation.html): The citation publication date
3729* [CodeSystem](codesystem.html): The code system publication date
3730* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
3731* [ConceptMap](conceptmap.html): The concept map publication date
3732* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
3733* [EventDefinition](eventdefinition.html): The event definition publication date
3734* [Evidence](evidence.html): The evidence publication date
3735* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
3736* [ExampleScenario](examplescenario.html): The example scenario publication date
3737* [GraphDefinition](graphdefinition.html): The graph definition publication date
3738* [ImplementationGuide](implementationguide.html): The implementation guide publication date
3739* [Library](library.html): The library publication date
3740* [Measure](measure.html): The measure publication date
3741* [MessageDefinition](messagedefinition.html): The message definition publication date
3742* [NamingSystem](namingsystem.html): The naming system publication date
3743* [OperationDefinition](operationdefinition.html): The operation definition publication date
3744* [PlanDefinition](plandefinition.html): The plan definition publication date
3745* [Questionnaire](questionnaire.html): The questionnaire publication date
3746* [Requirements](requirements.html): The requirements publication date
3747* [SearchParameter](searchparameter.html): The search parameter publication date
3748* [StructureDefinition](structuredefinition.html): The structure definition publication date
3749* [StructureMap](structuremap.html): The structure map publication date
3750* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
3751* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
3752* [TestScript](testscript.html): The test script publication date
3753* [ValueSet](valueset.html): The value set publication date
3754</b><br>
3755   * Type: <b>date</b><br>
3756   * Path: <b>ActivityDefinition.date | ActorDefinition.date | CapabilityStatement.date | ChargeItemDefinition.date | Citation.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | ConditionDefinition.date | EventDefinition.date | Evidence.date | EvidenceVariable.date | ExampleScenario.date | GraphDefinition.date | ImplementationGuide.date | Library.date | Measure.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | PlanDefinition.date | Questionnaire.date | Requirements.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | SubscriptionTopic.date | TerminologyCapabilities.date | TestScript.date | ValueSet.date</b><br>
3757   * </p>
3758   */
3759  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
3760
3761 /**
3762   * Search parameter: <b>description</b>
3763   * <p>
3764   * Description: <b>Multiple Resources: 
3765
3766* [ActivityDefinition](activitydefinition.html): The description of the activity definition
3767* [ActorDefinition](actordefinition.html): The description of the Actor Definition
3768* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
3769* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
3770* [Citation](citation.html): The description of the citation
3771* [CodeSystem](codesystem.html): The description of the code system
3772* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3773* [ConceptMap](conceptmap.html): The description of the concept map
3774* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
3775* [EventDefinition](eventdefinition.html): The description of the event definition
3776* [Evidence](evidence.html): The description of the evidence
3777* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
3778* [GraphDefinition](graphdefinition.html): The description of the graph definition
3779* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3780* [Library](library.html): The description of the library
3781* [Measure](measure.html): The description of the measure
3782* [MessageDefinition](messagedefinition.html): The description of the message definition
3783* [NamingSystem](namingsystem.html): The description of the naming system
3784* [OperationDefinition](operationdefinition.html): The description of the operation definition
3785* [PlanDefinition](plandefinition.html): The description of the plan definition
3786* [Questionnaire](questionnaire.html): The description of the questionnaire
3787* [Requirements](requirements.html): The description of the requirements
3788* [SearchParameter](searchparameter.html): The description of the search parameter
3789* [StructureDefinition](structuredefinition.html): The description of the structure definition
3790* [StructureMap](structuremap.html): The description of the structure map
3791* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3792* [TestScript](testscript.html): The description of the test script
3793* [ValueSet](valueset.html): The description of the value set
3794</b><br>
3795   * Type: <b>string</b><br>
3796   * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br>
3797   * </p>
3798   */
3799  @SearchParamDefinition(name="description", path="ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The description of the activity definition\r\n* [ActorDefinition](actordefinition.html): The description of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition\r\n* [Citation](citation.html): The description of the citation\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The description of the condition definition\r\n* [EventDefinition](eventdefinition.html): The description of the event definition\r\n* [Evidence](evidence.html): The description of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The description of the evidence variable\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [Library](library.html): The description of the library\r\n* [Measure](measure.html): The description of the measure\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [PlanDefinition](plandefinition.html): The description of the plan definition\r\n* [Questionnaire](questionnaire.html): The description of the questionnaire\r\n* [Requirements](requirements.html): The description of the requirements\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [TestScript](testscript.html): The description of the test script\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" )
3800  public static final String SP_DESCRIPTION = "description";
3801 /**
3802   * <b>Fluent Client</b> search parameter constant for <b>description</b>
3803   * <p>
3804   * Description: <b>Multiple Resources: 
3805
3806* [ActivityDefinition](activitydefinition.html): The description of the activity definition
3807* [ActorDefinition](actordefinition.html): The description of the Actor Definition
3808* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
3809* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
3810* [Citation](citation.html): The description of the citation
3811* [CodeSystem](codesystem.html): The description of the code system
3812* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3813* [ConceptMap](conceptmap.html): The description of the concept map
3814* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
3815* [EventDefinition](eventdefinition.html): The description of the event definition
3816* [Evidence](evidence.html): The description of the evidence
3817* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
3818* [GraphDefinition](graphdefinition.html): The description of the graph definition
3819* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3820* [Library](library.html): The description of the library
3821* [Measure](measure.html): The description of the measure
3822* [MessageDefinition](messagedefinition.html): The description of the message definition
3823* [NamingSystem](namingsystem.html): The description of the naming system
3824* [OperationDefinition](operationdefinition.html): The description of the operation definition
3825* [PlanDefinition](plandefinition.html): The description of the plan definition
3826* [Questionnaire](questionnaire.html): The description of the questionnaire
3827* [Requirements](requirements.html): The description of the requirements
3828* [SearchParameter](searchparameter.html): The description of the search parameter
3829* [StructureDefinition](structuredefinition.html): The description of the structure definition
3830* [StructureMap](structuremap.html): The description of the structure map
3831* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3832* [TestScript](testscript.html): The description of the test script
3833* [ValueSet](valueset.html): The description of the value set
3834</b><br>
3835   * Type: <b>string</b><br>
3836   * Path: <b>ActivityDefinition.description | ActorDefinition.description | CapabilityStatement.description | ChargeItemDefinition.description | Citation.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | ConditionDefinition.description | EventDefinition.description | Evidence.description | EvidenceVariable.description | GraphDefinition.description | ImplementationGuide.description | Library.description | Measure.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | PlanDefinition.description | Questionnaire.description | Requirements.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | TestScript.description | ValueSet.description</b><br>
3837   * </p>
3838   */
3839  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
3840
3841 /**
3842   * Search parameter: <b>jurisdiction</b>
3843   * <p>
3844   * Description: <b>Multiple Resources: 
3845
3846* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
3847* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
3848* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
3849* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
3850* [Citation](citation.html): Intended jurisdiction for the citation
3851* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
3852* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
3853* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
3854* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
3855* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
3856* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
3857* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
3858* [Library](library.html): Intended jurisdiction for the library
3859* [Measure](measure.html): Intended jurisdiction for the measure
3860* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
3861* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
3862* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
3863* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
3864* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
3865* [Requirements](requirements.html): Intended jurisdiction for the requirements
3866* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
3867* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
3868* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
3869* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
3870* [TestScript](testscript.html): Intended jurisdiction for the test script
3871* [ValueSet](valueset.html): Intended jurisdiction for the value set
3872</b><br>
3873   * Type: <b>token</b><br>
3874   * Path: <b>ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction</b><br>
3875   * </p>
3876   */
3877  @SearchParamDefinition(name="jurisdiction", path="ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition\r\n* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition\r\n* [Citation](citation.html): Intended jurisdiction for the citation\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition\r\n* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition\r\n* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [Library](library.html): Intended jurisdiction for the library\r\n* [Measure](measure.html): Intended jurisdiction for the measure\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition\r\n* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire\r\n* [Requirements](requirements.html): Intended jurisdiction for the requirements\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [TestScript](testscript.html): Intended jurisdiction for the test script\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" )
3878  public static final String SP_JURISDICTION = "jurisdiction";
3879 /**
3880   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
3881   * <p>
3882   * Description: <b>Multiple Resources: 
3883
3884* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
3885* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
3886* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
3887* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
3888* [Citation](citation.html): Intended jurisdiction for the citation
3889* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
3890* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
3891* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
3892* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
3893* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
3894* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
3895* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
3896* [Library](library.html): Intended jurisdiction for the library
3897* [Measure](measure.html): Intended jurisdiction for the measure
3898* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
3899* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
3900* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
3901* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
3902* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
3903* [Requirements](requirements.html): Intended jurisdiction for the requirements
3904* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
3905* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
3906* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
3907* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
3908* [TestScript](testscript.html): Intended jurisdiction for the test script
3909* [ValueSet](valueset.html): Intended jurisdiction for the value set
3910</b><br>
3911   * Type: <b>token</b><br>
3912   * Path: <b>ActivityDefinition.jurisdiction | ActorDefinition.jurisdiction | CapabilityStatement.jurisdiction | ChargeItemDefinition.jurisdiction | Citation.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | ConditionDefinition.jurisdiction | EventDefinition.jurisdiction | ExampleScenario.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | Library.jurisdiction | Measure.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | PlanDefinition.jurisdiction | Questionnaire.jurisdiction | Requirements.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | TestScript.jurisdiction | ValueSet.jurisdiction</b><br>
3913   * </p>
3914   */
3915  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
3916
3917 /**
3918   * Search parameter: <b>name</b>
3919   * <p>
3920   * Description: <b>Multiple Resources: 
3921
3922* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
3923* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
3924* [Citation](citation.html): Computationally friendly name of the citation
3925* [CodeSystem](codesystem.html): Computationally friendly name of the code system
3926* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
3927* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
3928* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
3929* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
3930* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
3931* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
3932* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
3933* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
3934* [Library](library.html): Computationally friendly name of the library
3935* [Measure](measure.html): Computationally friendly name of the measure
3936* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
3937* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
3938* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
3939* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
3940* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
3941* [Requirements](requirements.html): Computationally friendly name of the requirements
3942* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
3943* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
3944* [StructureMap](structuremap.html): Computationally friendly name of the structure map
3945* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
3946* [TestScript](testscript.html): Computationally friendly name of the test script
3947* [ValueSet](valueset.html): Computationally friendly name of the value set
3948</b><br>
3949   * Type: <b>string</b><br>
3950   * Path: <b>ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name</b><br>
3951   * </p>
3952   */
3953  @SearchParamDefinition(name="name", path="ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [Citation](citation.html): Computationally friendly name of the citation\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition\r\n* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable\r\n* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [Library](library.html): Computationally friendly name of the library\r\n* [Measure](measure.html): Computationally friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire\r\n* [Requirements](requirements.html): Computationally friendly name of the requirements\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): Computationally friendly name of the test script\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" )
3954  public static final String SP_NAME = "name";
3955 /**
3956   * <b>Fluent Client</b> search parameter constant for <b>name</b>
3957   * <p>
3958   * Description: <b>Multiple Resources: 
3959
3960* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
3961* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
3962* [Citation](citation.html): Computationally friendly name of the citation
3963* [CodeSystem](codesystem.html): Computationally friendly name of the code system
3964* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
3965* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
3966* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
3967* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
3968* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
3969* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
3970* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
3971* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
3972* [Library](library.html): Computationally friendly name of the library
3973* [Measure](measure.html): Computationally friendly name of the measure
3974* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
3975* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
3976* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
3977* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
3978* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
3979* [Requirements](requirements.html): Computationally friendly name of the requirements
3980* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
3981* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
3982* [StructureMap](structuremap.html): Computationally friendly name of the structure map
3983* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
3984* [TestScript](testscript.html): Computationally friendly name of the test script
3985* [ValueSet](valueset.html): Computationally friendly name of the value set
3986</b><br>
3987   * Type: <b>string</b><br>
3988   * Path: <b>ActivityDefinition.name | CapabilityStatement.name | Citation.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | ConditionDefinition.name | EventDefinition.name | EvidenceVariable.name | ExampleScenario.name | GraphDefinition.name | ImplementationGuide.name | Library.name | Measure.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | PlanDefinition.name | Questionnaire.name | Requirements.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | TestScript.name | ValueSet.name</b><br>
3989   * </p>
3990   */
3991  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
3992
3993 /**
3994   * Search parameter: <b>publisher</b>
3995   * <p>
3996   * Description: <b>Multiple Resources: 
3997
3998* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
3999* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4000* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4001* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4002* [Citation](citation.html): Name of the publisher of the citation
4003* [CodeSystem](codesystem.html): Name of the publisher of the code system
4004* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4005* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4006* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4007* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4008* [Evidence](evidence.html): Name of the publisher of the evidence
4009* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4010* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4011* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4012* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4013* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4014* [Library](library.html): Name of the publisher of the library
4015* [Measure](measure.html): Name of the publisher of the measure
4016* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4017* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4018* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4019* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4020* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4021* [Requirements](requirements.html): Name of the publisher of the requirements
4022* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4023* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4024* [StructureMap](structuremap.html): Name of the publisher of the structure map
4025* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4026* [TestScript](testscript.html): Name of the publisher of the test script
4027* [ValueSet](valueset.html): Name of the publisher of the value set
4028</b><br>
4029   * Type: <b>string</b><br>
4030   * Path: <b>ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher</b><br>
4031   * </p>
4032   */
4033  @SearchParamDefinition(name="publisher", path="ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition\r\n* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition\r\n* [Citation](citation.html): Name of the publisher of the citation\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition\r\n* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition\r\n* [Evidence](evidence.html): Name of the publisher of the evidence\r\n* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable\r\n* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [Library](library.html): Name of the publisher of the library\r\n* [Measure](measure.html): Name of the publisher of the measure\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition\r\n* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire\r\n* [Requirements](requirements.html): Name of the publisher of the requirements\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [TestScript](testscript.html): Name of the publisher of the test script\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" )
4034  public static final String SP_PUBLISHER = "publisher";
4035 /**
4036   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
4037   * <p>
4038   * Description: <b>Multiple Resources: 
4039
4040* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
4041* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4042* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4043* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4044* [Citation](citation.html): Name of the publisher of the citation
4045* [CodeSystem](codesystem.html): Name of the publisher of the code system
4046* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4047* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4048* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4049* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4050* [Evidence](evidence.html): Name of the publisher of the evidence
4051* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4052* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4053* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4054* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4055* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4056* [Library](library.html): Name of the publisher of the library
4057* [Measure](measure.html): Name of the publisher of the measure
4058* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4059* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4060* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4061* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4062* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4063* [Requirements](requirements.html): Name of the publisher of the requirements
4064* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4065* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4066* [StructureMap](structuremap.html): Name of the publisher of the structure map
4067* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4068* [TestScript](testscript.html): Name of the publisher of the test script
4069* [ValueSet](valueset.html): Name of the publisher of the value set
4070</b><br>
4071   * Type: <b>string</b><br>
4072   * Path: <b>ActivityDefinition.publisher | ActorDefinition.publisher | CapabilityStatement.publisher | ChargeItemDefinition.publisher | Citation.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | ConditionDefinition.publisher | EventDefinition.publisher | Evidence.publisher | EvidenceReport.publisher | EvidenceVariable.publisher | ExampleScenario.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | Library.publisher | Measure.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | PlanDefinition.publisher | Questionnaire.publisher | Requirements.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | TestScript.publisher | ValueSet.publisher</b><br>
4073   * </p>
4074   */
4075  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
4076
4077 /**
4078   * Search parameter: <b>status</b>
4079   * <p>
4080   * Description: <b>Multiple Resources: 
4081
4082* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4083* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4084* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4085* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4086* [Citation](citation.html): The current status of the citation
4087* [CodeSystem](codesystem.html): The current status of the code system
4088* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4089* [ConceptMap](conceptmap.html): The current status of the concept map
4090* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4091* [EventDefinition](eventdefinition.html): The current status of the event definition
4092* [Evidence](evidence.html): The current status of the evidence
4093* [EvidenceReport](evidencereport.html): The current status of the evidence report
4094* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4095* [ExampleScenario](examplescenario.html): The current status of the example scenario
4096* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4097* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4098* [Library](library.html): The current status of the library
4099* [Measure](measure.html): The current status of the measure
4100* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4101* [MessageDefinition](messagedefinition.html): The current status of the message definition
4102* [NamingSystem](namingsystem.html): The current status of the naming system
4103* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4104* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4105* [PlanDefinition](plandefinition.html): The current status of the plan definition
4106* [Questionnaire](questionnaire.html): The current status of the questionnaire
4107* [Requirements](requirements.html): The current status of the requirements
4108* [SearchParameter](searchparameter.html): The current status of the search parameter
4109* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4110* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4111* [StructureMap](structuremap.html): The current status of the structure map
4112* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4113* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4114* [TestScript](testscript.html): The current status of the test script
4115* [ValueSet](valueset.html): The current status of the value set
4116</b><br>
4117   * Type: <b>token</b><br>
4118   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
4119   * </p>
4120   */
4121  @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
4122  public static final String SP_STATUS = "status";
4123 /**
4124   * <b>Fluent Client</b> search parameter constant for <b>status</b>
4125   * <p>
4126   * Description: <b>Multiple Resources: 
4127
4128* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4129* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4130* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4131* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4132* [Citation](citation.html): The current status of the citation
4133* [CodeSystem](codesystem.html): The current status of the code system
4134* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4135* [ConceptMap](conceptmap.html): The current status of the concept map
4136* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4137* [EventDefinition](eventdefinition.html): The current status of the event definition
4138* [Evidence](evidence.html): The current status of the evidence
4139* [EvidenceReport](evidencereport.html): The current status of the evidence report
4140* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4141* [ExampleScenario](examplescenario.html): The current status of the example scenario
4142* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4143* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4144* [Library](library.html): The current status of the library
4145* [Measure](measure.html): The current status of the measure
4146* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4147* [MessageDefinition](messagedefinition.html): The current status of the message definition
4148* [NamingSystem](namingsystem.html): The current status of the naming system
4149* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4150* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4151* [PlanDefinition](plandefinition.html): The current status of the plan definition
4152* [Questionnaire](questionnaire.html): The current status of the questionnaire
4153* [Requirements](requirements.html): The current status of the requirements
4154* [SearchParameter](searchparameter.html): The current status of the search parameter
4155* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4156* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4157* [StructureMap](structuremap.html): The current status of the structure map
4158* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4159* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4160* [TestScript](testscript.html): The current status of the test script
4161* [ValueSet](valueset.html): The current status of the value set
4162</b><br>
4163   * Type: <b>token</b><br>
4164   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
4165   * </p>
4166   */
4167  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
4168
4169 /**
4170   * Search parameter: <b>url</b>
4171   * <p>
4172   * Description: <b>Multiple Resources: 
4173
4174* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4175* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4176* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4177* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4178* [Citation](citation.html): The uri that identifies the citation
4179* [CodeSystem](codesystem.html): The uri that identifies the code system
4180* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4181* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4182* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4183* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4184* [Evidence](evidence.html): The uri that identifies the evidence
4185* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4186* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4187* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4188* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4189* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4190* [Library](library.html): The uri that identifies the library
4191* [Measure](measure.html): The uri that identifies the measure
4192* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4193* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4194* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4195* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4196* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4197* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4198* [Requirements](requirements.html): The uri that identifies the requirements
4199* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4200* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4201* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4202* [StructureMap](structuremap.html): The uri that identifies the structure map
4203* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4204* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4205* [TestScript](testscript.html): The uri that identifies the test script
4206* [ValueSet](valueset.html): The uri that identifies the value set
4207</b><br>
4208   * Type: <b>uri</b><br>
4209   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
4210   * </p>
4211   */
4212  @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
4213  public static final String SP_URL = "url";
4214 /**
4215   * <b>Fluent Client</b> search parameter constant for <b>url</b>
4216   * <p>
4217   * Description: <b>Multiple Resources: 
4218
4219* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4220* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4221* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4222* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4223* [Citation](citation.html): The uri that identifies the citation
4224* [CodeSystem](codesystem.html): The uri that identifies the code system
4225* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4226* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4227* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4228* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4229* [Evidence](evidence.html): The uri that identifies the evidence
4230* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4231* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4232* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4233* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4234* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4235* [Library](library.html): The uri that identifies the library
4236* [Measure](measure.html): The uri that identifies the measure
4237* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4238* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4239* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4240* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4241* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4242* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4243* [Requirements](requirements.html): The uri that identifies the requirements
4244* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4245* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4246* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4247* [StructureMap](structuremap.html): The uri that identifies the structure map
4248* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4249* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4250* [TestScript](testscript.html): The uri that identifies the test script
4251* [ValueSet](valueset.html): The uri that identifies the value set
4252</b><br>
4253   * Type: <b>uri</b><br>
4254   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
4255   * </p>
4256   */
4257  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
4258
4259 /**
4260   * Search parameter: <b>version</b>
4261   * <p>
4262   * Description: <b>Multiple Resources: 
4263
4264* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4265* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4266* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4267* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4268* [Citation](citation.html): The business version of the citation
4269* [CodeSystem](codesystem.html): The business version of the code system
4270* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4271* [ConceptMap](conceptmap.html): The business version of the concept map
4272* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4273* [EventDefinition](eventdefinition.html): The business version of the event definition
4274* [Evidence](evidence.html): The business version of the evidence
4275* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4276* [ExampleScenario](examplescenario.html): The business version of the example scenario
4277* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4278* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4279* [Library](library.html): The business version of the library
4280* [Measure](measure.html): The business version of the measure
4281* [MessageDefinition](messagedefinition.html): The business version of the message definition
4282* [NamingSystem](namingsystem.html): The business version of the naming system
4283* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4284* [PlanDefinition](plandefinition.html): The business version of the plan definition
4285* [Questionnaire](questionnaire.html): The business version of the questionnaire
4286* [Requirements](requirements.html): The business version of the requirements
4287* [SearchParameter](searchparameter.html): The business version of the search parameter
4288* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4289* [StructureMap](structuremap.html): The business version of the structure map
4290* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4291* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4292* [TestScript](testscript.html): The business version of the test script
4293* [ValueSet](valueset.html): The business version of the value set
4294</b><br>
4295   * Type: <b>token</b><br>
4296   * Path: <b>ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version</b><br>
4297   * </p>
4298   */
4299  @SearchParamDefinition(name="version", path="ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The business version of the activity definition\r\n* [ActorDefinition](actordefinition.html): The business version of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition\r\n* [Citation](citation.html): The business version of the citation\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition\r\n* [EventDefinition](eventdefinition.html): The business version of the event definition\r\n* [Evidence](evidence.html): The business version of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The business version of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [Library](library.html): The business version of the library\r\n* [Measure](measure.html): The business version of the measure\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [NamingSystem](namingsystem.html): The business version of the naming system\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [PlanDefinition](plandefinition.html): The business version of the plan definition\r\n* [Questionnaire](questionnaire.html): The business version of the questionnaire\r\n* [Requirements](requirements.html): The business version of the requirements\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [TestScript](testscript.html): The business version of the test script\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" )
4300  public static final String SP_VERSION = "version";
4301 /**
4302   * <b>Fluent Client</b> search parameter constant for <b>version</b>
4303   * <p>
4304   * Description: <b>Multiple Resources: 
4305
4306* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4307* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4308* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4309* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4310* [Citation](citation.html): The business version of the citation
4311* [CodeSystem](codesystem.html): The business version of the code system
4312* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4313* [ConceptMap](conceptmap.html): The business version of the concept map
4314* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4315* [EventDefinition](eventdefinition.html): The business version of the event definition
4316* [Evidence](evidence.html): The business version of the evidence
4317* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4318* [ExampleScenario](examplescenario.html): The business version of the example scenario
4319* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4320* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4321* [Library](library.html): The business version of the library
4322* [Measure](measure.html): The business version of the measure
4323* [MessageDefinition](messagedefinition.html): The business version of the message definition
4324* [NamingSystem](namingsystem.html): The business version of the naming system
4325* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4326* [PlanDefinition](plandefinition.html): The business version of the plan definition
4327* [Questionnaire](questionnaire.html): The business version of the questionnaire
4328* [Requirements](requirements.html): The business version of the requirements
4329* [SearchParameter](searchparameter.html): The business version of the search parameter
4330* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4331* [StructureMap](structuremap.html): The business version of the structure map
4332* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4333* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4334* [TestScript](testscript.html): The business version of the test script
4335* [ValueSet](valueset.html): The business version of the value set
4336</b><br>
4337   * Type: <b>token</b><br>
4338   * Path: <b>ActivityDefinition.version | ActorDefinition.version | CapabilityStatement.version | ChargeItemDefinition.version | Citation.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | ConditionDefinition.version | EventDefinition.version | Evidence.version | EvidenceVariable.version | ExampleScenario.version | GraphDefinition.version | ImplementationGuide.version | Library.version | Measure.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | PlanDefinition.version | Questionnaire.version | Requirements.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | SubscriptionTopic.version | TerminologyCapabilities.version | TestScript.version | ValueSet.version</b><br>
4339   * </p>
4340   */
4341  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
4342
4343 /**
4344   * Search parameter: <b>base</b>
4345   * <p>
4346   * Description: <b>The resource type(s) this search parameter applies to</b><br>
4347   * Type: <b>token</b><br>
4348   * Path: <b>SearchParameter.base</b><br>
4349   * </p>
4350   */
4351  @SearchParamDefinition(name="base", path="SearchParameter.base", description="The resource type(s) this search parameter applies to", type="token" )
4352  public static final String SP_BASE = "base";
4353 /**
4354   * <b>Fluent Client</b> search parameter constant for <b>base</b>
4355   * <p>
4356   * Description: <b>The resource type(s) this search parameter applies to</b><br>
4357   * Type: <b>token</b><br>
4358   * Path: <b>SearchParameter.base</b><br>
4359   * </p>
4360   */
4361  public static final ca.uhn.fhir.rest.gclient.TokenClientParam BASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BASE);
4362
4363 /**
4364   * Search parameter: <b>code</b>
4365   * <p>
4366   * Description: <b>Code used in URL</b><br>
4367   * Type: <b>token</b><br>
4368   * Path: <b>SearchParameter.code</b><br>
4369   * </p>
4370   */
4371  @SearchParamDefinition(name="code", path="SearchParameter.code", description="Code used in URL", type="token" )
4372  public static final String SP_CODE = "code";
4373 /**
4374   * <b>Fluent Client</b> search parameter constant for <b>code</b>
4375   * <p>
4376   * Description: <b>Code used in URL</b><br>
4377   * Type: <b>token</b><br>
4378   * Path: <b>SearchParameter.code</b><br>
4379   * </p>
4380   */
4381  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE);
4382
4383 /**
4384   * Search parameter: <b>component</b>
4385   * <p>
4386   * Description: <b>Defines how the part works</b><br>
4387   * Type: <b>reference</b><br>
4388   * Path: <b>SearchParameter.component.definition</b><br>
4389   * </p>
4390   */
4391  @SearchParamDefinition(name="component", path="SearchParameter.component.definition", description="Defines how the part works", type="reference", target={SearchParameter.class } )
4392  public static final String SP_COMPONENT = "component";
4393 /**
4394   * <b>Fluent Client</b> search parameter constant for <b>component</b>
4395   * <p>
4396   * Description: <b>Defines how the part works</b><br>
4397   * Type: <b>reference</b><br>
4398   * Path: <b>SearchParameter.component.definition</b><br>
4399   * </p>
4400   */
4401  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPONENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPONENT);
4402
4403/**
4404   * Constant for fluent queries to be used to add include statements. Specifies
4405   * the path value of "<b>SearchParameter:component</b>".
4406   */
4407  public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPONENT = new ca.uhn.fhir.model.api.Include("SearchParameter:component").toLocked();
4408
4409 /**
4410   * Search parameter: <b>derived-from</b>
4411   * <p>
4412   * Description: <b>Original definition for the search parameter</b><br>
4413   * Type: <b>reference</b><br>
4414   * Path: <b>SearchParameter.derivedFrom</b><br>
4415   * </p>
4416   */
4417  @SearchParamDefinition(name="derived-from", path="SearchParameter.derivedFrom", description="Original definition for the search parameter", type="reference", target={SearchParameter.class } )
4418  public static final String SP_DERIVED_FROM = "derived-from";
4419 /**
4420   * <b>Fluent Client</b> search parameter constant for <b>derived-from</b>
4421   * <p>
4422   * Description: <b>Original definition for the search parameter</b><br>
4423   * Type: <b>reference</b><br>
4424   * Path: <b>SearchParameter.derivedFrom</b><br>
4425   * </p>
4426   */
4427  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM);
4428
4429/**
4430   * Constant for fluent queries to be used to add include statements. Specifies
4431   * the path value of "<b>SearchParameter:derived-from</b>".
4432   */
4433  public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("SearchParameter:derived-from").toLocked();
4434
4435 /**
4436   * Search parameter: <b>target</b>
4437   * <p>
4438   * Description: <b>Types of resource (if a resource reference)</b><br>
4439   * Type: <b>token</b><br>
4440   * Path: <b>SearchParameter.target</b><br>
4441   * </p>
4442   */
4443  @SearchParamDefinition(name="target", path="SearchParameter.target", description="Types of resource (if a resource reference)", type="token" )
4444  public static final String SP_TARGET = "target";
4445 /**
4446   * <b>Fluent Client</b> search parameter constant for <b>target</b>
4447   * <p>
4448   * Description: <b>Types of resource (if a resource reference)</b><br>
4449   * Type: <b>token</b><br>
4450   * Path: <b>SearchParameter.target</b><br>
4451   * </p>
4452   */
4453  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET);
4454
4455 /**
4456   * Search parameter: <b>type</b>
4457   * <p>
4458   * Description: <b>number | date | string | token | reference | composite | quantity | uri | special</b><br>
4459   * Type: <b>token</b><br>
4460   * Path: <b>SearchParameter.type</b><br>
4461   * </p>
4462   */
4463  @SearchParamDefinition(name="type", path="SearchParameter.type", description="number | date | string | token | reference | composite | quantity | uri | special", type="token" )
4464  public static final String SP_TYPE = "type";
4465 /**
4466   * <b>Fluent Client</b> search parameter constant for <b>type</b>
4467   * <p>
4468   * Description: <b>number | date | string | token | reference | composite | quantity | uri | special</b><br>
4469   * Type: <b>token</b><br>
4470   * Path: <b>SearchParameter.type</b><br>
4471   * </p>
4472   */
4473  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE);
4474
4475// Manual code (from Configuration.txt):
4476  public boolean supportsCopyright() {
4477    return false;
4478  }
4479  
4480// end addition
4481
4482}