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 Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0
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 * The EvidenceVariable resource describes an element that knowledge (Evidence) is about.
052 */
053@ResourceDef(name="EvidenceVariable", profile="http://hl7.org/fhir/StructureDefinition/EvidenceVariable")
054public class EvidenceVariable extends MetadataResource {
055
056    public enum CharacteristicCombination {
057        /**
058         * Combine characteristics with AND.
059         */
060        ALLOF, 
061        /**
062         * Combine characteristics with OR.
063         */
064        ANYOF, 
065        /**
066         * Meet at least the threshold number of characteristics for definition.
067         */
068        ATLEAST, 
069        /**
070         * Meet at most the threshold number of characteristics for definition.
071         */
072        ATMOST, 
073        /**
074         * Combine characteristics statistically. Use method to specify the statistical method.
075         */
076        STATISTICAL, 
077        /**
078         * Combine characteristics by addition of benefits and subtraction of harms.
079         */
080        NETEFFECT, 
081        /**
082         * Combine characteristics as a collection used as the dataset.
083         */
084        DATASET, 
085        /**
086         * added to help the parsers with the generic types
087         */
088        NULL;
089        public static CharacteristicCombination fromCode(String codeString) throws FHIRException {
090            if (codeString == null || "".equals(codeString))
091                return null;
092        if ("all-of".equals(codeString))
093          return ALLOF;
094        if ("any-of".equals(codeString))
095          return ANYOF;
096        if ("at-least".equals(codeString))
097          return ATLEAST;
098        if ("at-most".equals(codeString))
099          return ATMOST;
100        if ("statistical".equals(codeString))
101          return STATISTICAL;
102        if ("net-effect".equals(codeString))
103          return NETEFFECT;
104        if ("dataset".equals(codeString))
105          return DATASET;
106        if (Configuration.isAcceptInvalidEnums())
107          return null;
108        else
109          throw new FHIRException("Unknown CharacteristicCombination code '"+codeString+"'");
110        }
111        public String toCode() {
112          switch (this) {
113            case ALLOF: return "all-of";
114            case ANYOF: return "any-of";
115            case ATLEAST: return "at-least";
116            case ATMOST: return "at-most";
117            case STATISTICAL: return "statistical";
118            case NETEFFECT: return "net-effect";
119            case DATASET: return "dataset";
120            case NULL: return null;
121            default: return "?";
122          }
123        }
124        public String getSystem() {
125          switch (this) {
126            case ALLOF: return "http://hl7.org/fhir/characteristic-combination";
127            case ANYOF: return "http://hl7.org/fhir/characteristic-combination";
128            case ATLEAST: return "http://hl7.org/fhir/characteristic-combination";
129            case ATMOST: return "http://hl7.org/fhir/characteristic-combination";
130            case STATISTICAL: return "http://hl7.org/fhir/characteristic-combination";
131            case NETEFFECT: return "http://hl7.org/fhir/characteristic-combination";
132            case DATASET: return "http://hl7.org/fhir/characteristic-combination";
133            case NULL: return null;
134            default: return "?";
135          }
136        }
137        public String getDefinition() {
138          switch (this) {
139            case ALLOF: return "Combine characteristics with AND.";
140            case ANYOF: return "Combine characteristics with OR.";
141            case ATLEAST: return "Meet at least the threshold number of characteristics for definition.";
142            case ATMOST: return "Meet at most the threshold number of characteristics for definition.";
143            case STATISTICAL: return "Combine characteristics statistically. Use method to specify the statistical method.";
144            case NETEFFECT: return "Combine characteristics by addition of benefits and subtraction of harms.";
145            case DATASET: return "Combine characteristics as a collection used as the dataset.";
146            case NULL: return null;
147            default: return "?";
148          }
149        }
150        public String getDisplay() {
151          switch (this) {
152            case ALLOF: return "All of";
153            case ANYOF: return "Any of";
154            case ATLEAST: return "At least";
155            case ATMOST: return "At most";
156            case STATISTICAL: return "Statistical";
157            case NETEFFECT: return "Net effect";
158            case DATASET: return "Dataset";
159            case NULL: return null;
160            default: return "?";
161          }
162        }
163    }
164
165  public static class CharacteristicCombinationEnumFactory implements EnumFactory<CharacteristicCombination> {
166    public CharacteristicCombination fromCode(String codeString) throws IllegalArgumentException {
167      if (codeString == null || "".equals(codeString))
168            if (codeString == null || "".equals(codeString))
169                return null;
170        if ("all-of".equals(codeString))
171          return CharacteristicCombination.ALLOF;
172        if ("any-of".equals(codeString))
173          return CharacteristicCombination.ANYOF;
174        if ("at-least".equals(codeString))
175          return CharacteristicCombination.ATLEAST;
176        if ("at-most".equals(codeString))
177          return CharacteristicCombination.ATMOST;
178        if ("statistical".equals(codeString))
179          return CharacteristicCombination.STATISTICAL;
180        if ("net-effect".equals(codeString))
181          return CharacteristicCombination.NETEFFECT;
182        if ("dataset".equals(codeString))
183          return CharacteristicCombination.DATASET;
184        throw new IllegalArgumentException("Unknown CharacteristicCombination code '"+codeString+"'");
185        }
186        public Enumeration<CharacteristicCombination> fromType(PrimitiveType<?> code) throws FHIRException {
187          if (code == null)
188            return null;
189          if (code.isEmpty())
190            return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.NULL, code);
191          String codeString = ((PrimitiveType) code).asStringValue();
192          if (codeString == null || "".equals(codeString))
193            return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.NULL, code);
194        if ("all-of".equals(codeString))
195          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.ALLOF, code);
196        if ("any-of".equals(codeString))
197          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.ANYOF, code);
198        if ("at-least".equals(codeString))
199          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.ATLEAST, code);
200        if ("at-most".equals(codeString))
201          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.ATMOST, code);
202        if ("statistical".equals(codeString))
203          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.STATISTICAL, code);
204        if ("net-effect".equals(codeString))
205          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.NETEFFECT, code);
206        if ("dataset".equals(codeString))
207          return new Enumeration<CharacteristicCombination>(this, CharacteristicCombination.DATASET, code);
208        throw new FHIRException("Unknown CharacteristicCombination code '"+codeString+"'");
209        }
210    public String toCode(CharacteristicCombination code) {
211      if (code == CharacteristicCombination.ALLOF)
212        return "all-of";
213      if (code == CharacteristicCombination.ANYOF)
214        return "any-of";
215      if (code == CharacteristicCombination.ATLEAST)
216        return "at-least";
217      if (code == CharacteristicCombination.ATMOST)
218        return "at-most";
219      if (code == CharacteristicCombination.STATISTICAL)
220        return "statistical";
221      if (code == CharacteristicCombination.NETEFFECT)
222        return "net-effect";
223      if (code == CharacteristicCombination.DATASET)
224        return "dataset";
225      return "?";
226      }
227    public String toSystem(CharacteristicCombination code) {
228      return code.getSystem();
229      }
230    }
231
232    @Block()
233    public static class EvidenceVariableCharacteristicComponent extends BackboneElement implements IBaseBackboneElement {
234        /**
235         * Label used for when a characteristic refers to another characteristic.
236         */
237        @Child(name = "linkId", type = {IdType.class}, order=1, min=0, max=1, modifier=false, summary=false)
238        @Description(shortDefinition="Label for internal linking", formalDefinition="Label used for when a characteristic refers to another characteristic." )
239        protected IdType linkId;
240
241        /**
242         * A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.
243         */
244        @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false)
245        @Description(shortDefinition="Natural language description of the characteristic", formalDefinition="A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user." )
246        protected MarkdownType description;
247
248        /**
249         * A human-readable string to clarify or explain concepts about the characteristic.
250         */
251        @Child(name = "note", type = {Annotation.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
252        @Description(shortDefinition="Used for footnotes or explanatory notes", formalDefinition="A human-readable string to clarify or explain concepts about the characteristic." )
253        protected List<Annotation> note;
254
255        /**
256         * When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.
257         */
258        @Child(name = "exclude", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=false)
259        @Description(shortDefinition="Whether the characteristic is an inclusion criterion or exclusion criterion", formalDefinition="When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion." )
260        protected BooleanType exclude;
261
262        /**
263         * Defines the characteristic using a Reference.
264         */
265        @Child(name = "definitionReference", type = {EvidenceVariable.class, Group.class, Evidence.class}, order=5, min=0, max=1, modifier=false, summary=true)
266        @Description(shortDefinition="Defines the characteristic (without using type and value) by a Reference", formalDefinition="Defines the characteristic using a Reference." )
267        protected Reference definitionReference;
268
269        /**
270         * Defines the characteristic using Canonical.
271         */
272        @Child(name = "definitionCanonical", type = {CanonicalType.class}, order=6, min=0, max=1, modifier=false, summary=true)
273        @Description(shortDefinition="Defines the characteristic (without using type and value) by a Canonical", formalDefinition="Defines the characteristic using Canonical." )
274        protected CanonicalType definitionCanonical;
275
276        /**
277         * Defines the characteristic using CodeableConcept.
278         */
279        @Child(name = "definitionCodeableConcept", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true)
280        @Description(shortDefinition="Defines the characteristic (without using type and value) by a CodeableConcept", formalDefinition="Defines the characteristic using CodeableConcept." )
281        protected CodeableConcept definitionCodeableConcept;
282
283        /**
284         * Defines the characteristic using Expression.
285         */
286        @Child(name = "definitionExpression", type = {Expression.class}, order=8, min=0, max=1, modifier=false, summary=true)
287        @Description(shortDefinition="Defines the characteristic (without using type and value) by an expression", formalDefinition="Defines the characteristic using Expression." )
288        protected Expression definitionExpression;
289
290        /**
291         * Defines the characteristic using id.
292         */
293        @Child(name = "definitionId", type = {IdType.class}, order=9, min=0, max=1, modifier=false, summary=true)
294        @Description(shortDefinition="Defines the characteristic (without using type and value) by an id", formalDefinition="Defines the characteristic using id." )
295        protected IdType definitionId;
296
297        /**
298         * Defines the characteristic using both a type and value[x] elements.
299         */
300        @Child(name = "definitionByTypeAndValue", type = {}, order=10, min=0, max=1, modifier=false, summary=true)
301        @Description(shortDefinition="Defines the characteristic using type and value", formalDefinition="Defines the characteristic using both a type and value[x] elements." )
302        protected EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent definitionByTypeAndValue;
303
304        /**
305         * Defines the characteristic as a combination of two or more characteristics.
306         */
307        @Child(name = "definitionByCombination", type = {}, order=11, min=0, max=1, modifier=false, summary=false)
308        @Description(shortDefinition="Used to specify how two or more characteristics are combined", formalDefinition="Defines the characteristic as a combination of two or more characteristics." )
309        protected EvidenceVariableCharacteristicDefinitionByCombinationComponent definitionByCombination;
310
311        /**
312         * Number of occurrences meeting the characteristic.
313         */
314        @Child(name = "instances", type = {Quantity.class, Range.class}, order=12, min=0, max=1, modifier=false, summary=false)
315        @Description(shortDefinition="Number of occurrences meeting the characteristic", formalDefinition="Number of occurrences meeting the characteristic." )
316        protected DataType instances;
317
318        /**
319         * Length of time in which the characteristic is met.
320         */
321        @Child(name = "duration", type = {Quantity.class, Range.class}, order=13, min=0, max=1, modifier=false, summary=false)
322        @Description(shortDefinition="Length of time in which the characteristic is met", formalDefinition="Length of time in which the characteristic is met." )
323        protected DataType duration;
324
325        /**
326         * Timing in which the characteristic is determined.
327         */
328        @Child(name = "timeFromEvent", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
329        @Description(shortDefinition="Timing in which the characteristic is determined", formalDefinition="Timing in which the characteristic is determined." )
330        protected List<EvidenceVariableCharacteristicTimeFromEventComponent> timeFromEvent;
331
332        private static final long serialVersionUID = 1658283810L;
333
334    /**
335     * Constructor
336     */
337      public EvidenceVariableCharacteristicComponent() {
338        super();
339      }
340
341        /**
342         * @return {@link #linkId} (Label used for when a characteristic refers to another characteristic.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value
343         */
344        public IdType getLinkIdElement() { 
345          if (this.linkId == null)
346            if (Configuration.errorOnAutoCreate())
347              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.linkId");
348            else if (Configuration.doAutoCreate())
349              this.linkId = new IdType(); // bb
350          return this.linkId;
351        }
352
353        public boolean hasLinkIdElement() { 
354          return this.linkId != null && !this.linkId.isEmpty();
355        }
356
357        public boolean hasLinkId() { 
358          return this.linkId != null && !this.linkId.isEmpty();
359        }
360
361        /**
362         * @param value {@link #linkId} (Label used for when a characteristic refers to another characteristic.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value
363         */
364        public EvidenceVariableCharacteristicComponent setLinkIdElement(IdType value) { 
365          this.linkId = value;
366          return this;
367        }
368
369        /**
370         * @return Label used for when a characteristic refers to another characteristic.
371         */
372        public String getLinkId() { 
373          return this.linkId == null ? null : this.linkId.getValue();
374        }
375
376        /**
377         * @param value Label used for when a characteristic refers to another characteristic.
378         */
379        public EvidenceVariableCharacteristicComponent setLinkId(String value) { 
380          if (Utilities.noString(value))
381            this.linkId = null;
382          else {
383            if (this.linkId == null)
384              this.linkId = new IdType();
385            this.linkId.setValue(value);
386          }
387          return this;
388        }
389
390        /**
391         * @return {@link #description} (A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
392         */
393        public MarkdownType getDescriptionElement() { 
394          if (this.description == null)
395            if (Configuration.errorOnAutoCreate())
396              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.description");
397            else if (Configuration.doAutoCreate())
398              this.description = new MarkdownType(); // bb
399          return this.description;
400        }
401
402        public boolean hasDescriptionElement() { 
403          return this.description != null && !this.description.isEmpty();
404        }
405
406        public boolean hasDescription() { 
407          return this.description != null && !this.description.isEmpty();
408        }
409
410        /**
411         * @param value {@link #description} (A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
412         */
413        public EvidenceVariableCharacteristicComponent setDescriptionElement(MarkdownType value) { 
414          this.description = value;
415          return this;
416        }
417
418        /**
419         * @return A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.
420         */
421        public String getDescription() { 
422          return this.description == null ? null : this.description.getValue();
423        }
424
425        /**
426         * @param value A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.
427         */
428        public EvidenceVariableCharacteristicComponent setDescription(String value) { 
429          if (Utilities.noString(value))
430            this.description = null;
431          else {
432            if (this.description == null)
433              this.description = new MarkdownType();
434            this.description.setValue(value);
435          }
436          return this;
437        }
438
439        /**
440         * @return {@link #note} (A human-readable string to clarify or explain concepts about the characteristic.)
441         */
442        public List<Annotation> getNote() { 
443          if (this.note == null)
444            this.note = new ArrayList<Annotation>();
445          return this.note;
446        }
447
448        /**
449         * @return Returns a reference to <code>this</code> for easy method chaining
450         */
451        public EvidenceVariableCharacteristicComponent setNote(List<Annotation> theNote) { 
452          this.note = theNote;
453          return this;
454        }
455
456        public boolean hasNote() { 
457          if (this.note == null)
458            return false;
459          for (Annotation item : this.note)
460            if (!item.isEmpty())
461              return true;
462          return false;
463        }
464
465        public Annotation addNote() { //3
466          Annotation t = new Annotation();
467          if (this.note == null)
468            this.note = new ArrayList<Annotation>();
469          this.note.add(t);
470          return t;
471        }
472
473        public EvidenceVariableCharacteristicComponent addNote(Annotation t) { //3
474          if (t == null)
475            return this;
476          if (this.note == null)
477            this.note = new ArrayList<Annotation>();
478          this.note.add(t);
479          return this;
480        }
481
482        /**
483         * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3}
484         */
485        public Annotation getNoteFirstRep() { 
486          if (getNote().isEmpty()) {
487            addNote();
488          }
489          return getNote().get(0);
490        }
491
492        /**
493         * @return {@link #exclude} (When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value
494         */
495        public BooleanType getExcludeElement() { 
496          if (this.exclude == null)
497            if (Configuration.errorOnAutoCreate())
498              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.exclude");
499            else if (Configuration.doAutoCreate())
500              this.exclude = new BooleanType(); // bb
501          return this.exclude;
502        }
503
504        public boolean hasExcludeElement() { 
505          return this.exclude != null && !this.exclude.isEmpty();
506        }
507
508        public boolean hasExclude() { 
509          return this.exclude != null && !this.exclude.isEmpty();
510        }
511
512        /**
513         * @param value {@link #exclude} (When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value
514         */
515        public EvidenceVariableCharacteristicComponent setExcludeElement(BooleanType value) { 
516          this.exclude = value;
517          return this;
518        }
519
520        /**
521         * @return When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.
522         */
523        public boolean getExclude() { 
524          return this.exclude == null || this.exclude.isEmpty() ? false : this.exclude.getValue();
525        }
526
527        /**
528         * @param value When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.
529         */
530        public EvidenceVariableCharacteristicComponent setExclude(boolean value) { 
531            if (this.exclude == null)
532              this.exclude = new BooleanType();
533            this.exclude.setValue(value);
534          return this;
535        }
536
537        /**
538         * @return {@link #definitionReference} (Defines the characteristic using a Reference.)
539         */
540        public Reference getDefinitionReference() { 
541          if (this.definitionReference == null)
542            if (Configuration.errorOnAutoCreate())
543              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionReference");
544            else if (Configuration.doAutoCreate())
545              this.definitionReference = new Reference(); // cc
546          return this.definitionReference;
547        }
548
549        public boolean hasDefinitionReference() { 
550          return this.definitionReference != null && !this.definitionReference.isEmpty();
551        }
552
553        /**
554         * @param value {@link #definitionReference} (Defines the characteristic using a Reference.)
555         */
556        public EvidenceVariableCharacteristicComponent setDefinitionReference(Reference value) { 
557          this.definitionReference = value;
558          return this;
559        }
560
561        /**
562         * @return {@link #definitionCanonical} (Defines the characteristic using Canonical.). This is the underlying object with id, value and extensions. The accessor "getDefinitionCanonical" gives direct access to the value
563         */
564        public CanonicalType getDefinitionCanonicalElement() { 
565          if (this.definitionCanonical == null)
566            if (Configuration.errorOnAutoCreate())
567              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionCanonical");
568            else if (Configuration.doAutoCreate())
569              this.definitionCanonical = new CanonicalType(); // bb
570          return this.definitionCanonical;
571        }
572
573        public boolean hasDefinitionCanonicalElement() { 
574          return this.definitionCanonical != null && !this.definitionCanonical.isEmpty();
575        }
576
577        public boolean hasDefinitionCanonical() { 
578          return this.definitionCanonical != null && !this.definitionCanonical.isEmpty();
579        }
580
581        /**
582         * @param value {@link #definitionCanonical} (Defines the characteristic using Canonical.). This is the underlying object with id, value and extensions. The accessor "getDefinitionCanonical" gives direct access to the value
583         */
584        public EvidenceVariableCharacteristicComponent setDefinitionCanonicalElement(CanonicalType value) { 
585          this.definitionCanonical = value;
586          return this;
587        }
588
589        /**
590         * @return Defines the characteristic using Canonical.
591         */
592        public String getDefinitionCanonical() { 
593          return this.definitionCanonical == null ? null : this.definitionCanonical.getValue();
594        }
595
596        /**
597         * @param value Defines the characteristic using Canonical.
598         */
599        public EvidenceVariableCharacteristicComponent setDefinitionCanonical(String value) { 
600          if (Utilities.noString(value))
601            this.definitionCanonical = null;
602          else {
603            if (this.definitionCanonical == null)
604              this.definitionCanonical = new CanonicalType();
605            this.definitionCanonical.setValue(value);
606          }
607          return this;
608        }
609
610        /**
611         * @return {@link #definitionCodeableConcept} (Defines the characteristic using CodeableConcept.)
612         */
613        public CodeableConcept getDefinitionCodeableConcept() { 
614          if (this.definitionCodeableConcept == null)
615            if (Configuration.errorOnAutoCreate())
616              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionCodeableConcept");
617            else if (Configuration.doAutoCreate())
618              this.definitionCodeableConcept = new CodeableConcept(); // cc
619          return this.definitionCodeableConcept;
620        }
621
622        public boolean hasDefinitionCodeableConcept() { 
623          return this.definitionCodeableConcept != null && !this.definitionCodeableConcept.isEmpty();
624        }
625
626        /**
627         * @param value {@link #definitionCodeableConcept} (Defines the characteristic using CodeableConcept.)
628         */
629        public EvidenceVariableCharacteristicComponent setDefinitionCodeableConcept(CodeableConcept value) { 
630          this.definitionCodeableConcept = value;
631          return this;
632        }
633
634        /**
635         * @return {@link #definitionExpression} (Defines the characteristic using Expression.)
636         */
637        public Expression getDefinitionExpression() { 
638          if (this.definitionExpression == null)
639            if (Configuration.errorOnAutoCreate())
640              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionExpression");
641            else if (Configuration.doAutoCreate())
642              this.definitionExpression = new Expression(); // cc
643          return this.definitionExpression;
644        }
645
646        public boolean hasDefinitionExpression() { 
647          return this.definitionExpression != null && !this.definitionExpression.isEmpty();
648        }
649
650        /**
651         * @param value {@link #definitionExpression} (Defines the characteristic using Expression.)
652         */
653        public EvidenceVariableCharacteristicComponent setDefinitionExpression(Expression value) { 
654          this.definitionExpression = value;
655          return this;
656        }
657
658        /**
659         * @return {@link #definitionId} (Defines the characteristic using id.). This is the underlying object with id, value and extensions. The accessor "getDefinitionId" gives direct access to the value
660         */
661        public IdType getDefinitionIdElement() { 
662          if (this.definitionId == null)
663            if (Configuration.errorOnAutoCreate())
664              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionId");
665            else if (Configuration.doAutoCreate())
666              this.definitionId = new IdType(); // bb
667          return this.definitionId;
668        }
669
670        public boolean hasDefinitionIdElement() { 
671          return this.definitionId != null && !this.definitionId.isEmpty();
672        }
673
674        public boolean hasDefinitionId() { 
675          return this.definitionId != null && !this.definitionId.isEmpty();
676        }
677
678        /**
679         * @param value {@link #definitionId} (Defines the characteristic using id.). This is the underlying object with id, value and extensions. The accessor "getDefinitionId" gives direct access to the value
680         */
681        public EvidenceVariableCharacteristicComponent setDefinitionIdElement(IdType value) { 
682          this.definitionId = value;
683          return this;
684        }
685
686        /**
687         * @return Defines the characteristic using id.
688         */
689        public String getDefinitionId() { 
690          return this.definitionId == null ? null : this.definitionId.getValue();
691        }
692
693        /**
694         * @param value Defines the characteristic using id.
695         */
696        public EvidenceVariableCharacteristicComponent setDefinitionId(String value) { 
697          if (Utilities.noString(value))
698            this.definitionId = null;
699          else {
700            if (this.definitionId == null)
701              this.definitionId = new IdType();
702            this.definitionId.setValue(value);
703          }
704          return this;
705        }
706
707        /**
708         * @return {@link #definitionByTypeAndValue} (Defines the characteristic using both a type and value[x] elements.)
709         */
710        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent getDefinitionByTypeAndValue() { 
711          if (this.definitionByTypeAndValue == null)
712            if (Configuration.errorOnAutoCreate())
713              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionByTypeAndValue");
714            else if (Configuration.doAutoCreate())
715              this.definitionByTypeAndValue = new EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(); // cc
716          return this.definitionByTypeAndValue;
717        }
718
719        public boolean hasDefinitionByTypeAndValue() { 
720          return this.definitionByTypeAndValue != null && !this.definitionByTypeAndValue.isEmpty();
721        }
722
723        /**
724         * @param value {@link #definitionByTypeAndValue} (Defines the characteristic using both a type and value[x] elements.)
725         */
726        public EvidenceVariableCharacteristicComponent setDefinitionByTypeAndValue(EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent value) { 
727          this.definitionByTypeAndValue = value;
728          return this;
729        }
730
731        /**
732         * @return {@link #definitionByCombination} (Defines the characteristic as a combination of two or more characteristics.)
733         */
734        public EvidenceVariableCharacteristicDefinitionByCombinationComponent getDefinitionByCombination() { 
735          if (this.definitionByCombination == null)
736            if (Configuration.errorOnAutoCreate())
737              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.definitionByCombination");
738            else if (Configuration.doAutoCreate())
739              this.definitionByCombination = new EvidenceVariableCharacteristicDefinitionByCombinationComponent(); // cc
740          return this.definitionByCombination;
741        }
742
743        public boolean hasDefinitionByCombination() { 
744          return this.definitionByCombination != null && !this.definitionByCombination.isEmpty();
745        }
746
747        /**
748         * @param value {@link #definitionByCombination} (Defines the characteristic as a combination of two or more characteristics.)
749         */
750        public EvidenceVariableCharacteristicComponent setDefinitionByCombination(EvidenceVariableCharacteristicDefinitionByCombinationComponent value) { 
751          this.definitionByCombination = value;
752          return this;
753        }
754
755        /**
756         * @return {@link #instances} (Number of occurrences meeting the characteristic.)
757         */
758        public DataType getInstances() { 
759          return this.instances;
760        }
761
762        /**
763         * @return {@link #instances} (Number of occurrences meeting the characteristic.)
764         */
765        public Quantity getInstancesQuantity() throws FHIRException { 
766          if (this.instances == null)
767            this.instances = new Quantity();
768          if (!(this.instances instanceof Quantity))
769            throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.instances.getClass().getName()+" was encountered");
770          return (Quantity) this.instances;
771        }
772
773        public boolean hasInstancesQuantity() { 
774          return this != null && this.instances instanceof Quantity;
775        }
776
777        /**
778         * @return {@link #instances} (Number of occurrences meeting the characteristic.)
779         */
780        public Range getInstancesRange() throws FHIRException { 
781          if (this.instances == null)
782            this.instances = new Range();
783          if (!(this.instances instanceof Range))
784            throw new FHIRException("Type mismatch: the type Range was expected, but "+this.instances.getClass().getName()+" was encountered");
785          return (Range) this.instances;
786        }
787
788        public boolean hasInstancesRange() { 
789          return this != null && this.instances instanceof Range;
790        }
791
792        public boolean hasInstances() { 
793          return this.instances != null && !this.instances.isEmpty();
794        }
795
796        /**
797         * @param value {@link #instances} (Number of occurrences meeting the characteristic.)
798         */
799        public EvidenceVariableCharacteristicComponent setInstances(DataType value) { 
800          if (value != null && !(value instanceof Quantity || value instanceof Range))
801            throw new FHIRException("Not the right type for EvidenceVariable.characteristic.instances[x]: "+value.fhirType());
802          this.instances = value;
803          return this;
804        }
805
806        /**
807         * @return {@link #duration} (Length of time in which the characteristic is met.)
808         */
809        public DataType getDuration() { 
810          return this.duration;
811        }
812
813        /**
814         * @return {@link #duration} (Length of time in which the characteristic is met.)
815         */
816        public Quantity getDurationQuantity() throws FHIRException { 
817          if (this.duration == null)
818            this.duration = new Quantity();
819          if (!(this.duration instanceof Quantity))
820            throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.duration.getClass().getName()+" was encountered");
821          return (Quantity) this.duration;
822        }
823
824        public boolean hasDurationQuantity() { 
825          return this != null && this.duration instanceof Quantity;
826        }
827
828        /**
829         * @return {@link #duration} (Length of time in which the characteristic is met.)
830         */
831        public Range getDurationRange() throws FHIRException { 
832          if (this.duration == null)
833            this.duration = new Range();
834          if (!(this.duration instanceof Range))
835            throw new FHIRException("Type mismatch: the type Range was expected, but "+this.duration.getClass().getName()+" was encountered");
836          return (Range) this.duration;
837        }
838
839        public boolean hasDurationRange() { 
840          return this != null && this.duration instanceof Range;
841        }
842
843        public boolean hasDuration() { 
844          return this.duration != null && !this.duration.isEmpty();
845        }
846
847        /**
848         * @param value {@link #duration} (Length of time in which the characteristic is met.)
849         */
850        public EvidenceVariableCharacteristicComponent setDuration(DataType value) { 
851          if (value != null && !(value instanceof Quantity || value instanceof Range))
852            throw new FHIRException("Not the right type for EvidenceVariable.characteristic.duration[x]: "+value.fhirType());
853          this.duration = value;
854          return this;
855        }
856
857        /**
858         * @return {@link #timeFromEvent} (Timing in which the characteristic is determined.)
859         */
860        public List<EvidenceVariableCharacteristicTimeFromEventComponent> getTimeFromEvent() { 
861          if (this.timeFromEvent == null)
862            this.timeFromEvent = new ArrayList<EvidenceVariableCharacteristicTimeFromEventComponent>();
863          return this.timeFromEvent;
864        }
865
866        /**
867         * @return Returns a reference to <code>this</code> for easy method chaining
868         */
869        public EvidenceVariableCharacteristicComponent setTimeFromEvent(List<EvidenceVariableCharacteristicTimeFromEventComponent> theTimeFromEvent) { 
870          this.timeFromEvent = theTimeFromEvent;
871          return this;
872        }
873
874        public boolean hasTimeFromEvent() { 
875          if (this.timeFromEvent == null)
876            return false;
877          for (EvidenceVariableCharacteristicTimeFromEventComponent item : this.timeFromEvent)
878            if (!item.isEmpty())
879              return true;
880          return false;
881        }
882
883        public EvidenceVariableCharacteristicTimeFromEventComponent addTimeFromEvent() { //3
884          EvidenceVariableCharacteristicTimeFromEventComponent t = new EvidenceVariableCharacteristicTimeFromEventComponent();
885          if (this.timeFromEvent == null)
886            this.timeFromEvent = new ArrayList<EvidenceVariableCharacteristicTimeFromEventComponent>();
887          this.timeFromEvent.add(t);
888          return t;
889        }
890
891        public EvidenceVariableCharacteristicComponent addTimeFromEvent(EvidenceVariableCharacteristicTimeFromEventComponent t) { //3
892          if (t == null)
893            return this;
894          if (this.timeFromEvent == null)
895            this.timeFromEvent = new ArrayList<EvidenceVariableCharacteristicTimeFromEventComponent>();
896          this.timeFromEvent.add(t);
897          return this;
898        }
899
900        /**
901         * @return The first repetition of repeating field {@link #timeFromEvent}, creating it if it does not already exist {3}
902         */
903        public EvidenceVariableCharacteristicTimeFromEventComponent getTimeFromEventFirstRep() { 
904          if (getTimeFromEvent().isEmpty()) {
905            addTimeFromEvent();
906          }
907          return getTimeFromEvent().get(0);
908        }
909
910        protected void listChildren(List<Property> children) {
911          super.listChildren(children);
912          children.add(new Property("linkId", "id", "Label used for when a characteristic refers to another characteristic.", 0, 1, linkId));
913          children.add(new Property("description", "markdown", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description));
914          children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the characteristic.", 0, java.lang.Integer.MAX_VALUE, note));
915          children.add(new Property("exclude", "boolean", "When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.", 0, 1, exclude));
916          children.add(new Property("definitionReference", "Reference(EvidenceVariable|Group|Evidence)", "Defines the characteristic using a Reference.", 0, 1, definitionReference));
917          children.add(new Property("definitionCanonical", "canonical(EvidenceVariable|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical));
918          children.add(new Property("definitionCodeableConcept", "CodeableConcept", "Defines the characteristic using CodeableConcept.", 0, 1, definitionCodeableConcept));
919          children.add(new Property("definitionExpression", "Expression", "Defines the characteristic using Expression.", 0, 1, definitionExpression));
920          children.add(new Property("definitionId", "id", "Defines the characteristic using id.", 0, 1, definitionId));
921          children.add(new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type and value[x] elements.", 0, 1, definitionByTypeAndValue));
922          children.add(new Property("definitionByCombination", "", "Defines the characteristic as a combination of two or more characteristics.", 0, 1, definitionByCombination));
923          children.add(new Property("instances[x]", "Quantity|Range", "Number of occurrences meeting the characteristic.", 0, 1, instances));
924          children.add(new Property("duration[x]", "Quantity|Range", "Length of time in which the characteristic is met.", 0, 1, duration));
925          children.add(new Property("timeFromEvent", "", "Timing in which the characteristic is determined.", 0, java.lang.Integer.MAX_VALUE, timeFromEvent));
926        }
927
928        @Override
929        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
930          switch (_hash) {
931          case -1102667083: /*linkId*/  return new Property("linkId", "id", "Label used for when a characteristic refers to another characteristic.", 0, 1, linkId);
932          case -1724546052: /*description*/  return new Property("description", "markdown", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description);
933          case 3387378: /*note*/  return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the characteristic.", 0, java.lang.Integer.MAX_VALUE, note);
934          case -1321148966: /*exclude*/  return new Property("exclude", "boolean", "When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.", 0, 1, exclude);
935          case -820021448: /*definitionReference*/  return new Property("definitionReference", "Reference(EvidenceVariable|Group|Evidence)", "Defines the characteristic using a Reference.", 0, 1, definitionReference);
936          case 933485793: /*definitionCanonical*/  return new Property("definitionCanonical", "canonical(EvidenceVariable|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical);
937          case -1446002226: /*definitionCodeableConcept*/  return new Property("definitionCodeableConcept", "CodeableConcept", "Defines the characteristic using CodeableConcept.", 0, 1, definitionCodeableConcept);
938          case 1463703627: /*definitionExpression*/  return new Property("definitionExpression", "Expression", "Defines the characteristic using Expression.", 0, 1, definitionExpression);
939          case 101791182: /*definitionId*/  return new Property("definitionId", "id", "Defines the characteristic using id.", 0, 1, definitionId);
940          case -164357794: /*definitionByTypeAndValue*/  return new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type and value[x] elements.", 0, 1, definitionByTypeAndValue);
941          case -2043280539: /*definitionByCombination*/  return new Property("definitionByCombination", "", "Defines the characteristic as a combination of two or more characteristics.", 0, 1, definitionByCombination);
942          case -736760510: /*instances[x]*/  return new Property("instances[x]", "Quantity|Range", "Number of occurrences meeting the characteristic.", 0, 1, instances);
943          case 29097598: /*instances*/  return new Property("instances[x]", "Quantity|Range", "Number of occurrences meeting the characteristic.", 0, 1, instances);
944          case -1378916055: /*instancesQuantity*/  return new Property("instances[x]", "Quantity", "Number of occurrences meeting the characteristic.", 0, 1, instances);
945          case 633776479: /*instancesRange*/  return new Property("instances[x]", "Range", "Number of occurrences meeting the characteristic.", 0, 1, instances);
946          case -478069140: /*duration[x]*/  return new Property("duration[x]", "Quantity|Range", "Length of time in which the characteristic is met.", 0, 1, duration);
947          case -1992012396: /*duration*/  return new Property("duration[x]", "Quantity|Range", "Length of time in which the characteristic is met.", 0, 1, duration);
948          case 159007295: /*durationQuantity*/  return new Property("duration[x]", "Quantity", "Length of time in which the characteristic is met.", 0, 1, duration);
949          case 128079881: /*durationRange*/  return new Property("duration[x]", "Range", "Length of time in which the characteristic is met.", 0, 1, duration);
950          case 2087274691: /*timeFromEvent*/  return new Property("timeFromEvent", "", "Timing in which the characteristic is determined.", 0, java.lang.Integer.MAX_VALUE, timeFromEvent);
951          default: return super.getNamedProperty(_hash, _name, _checkValid);
952          }
953
954        }
955
956      @Override
957      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
958        switch (hash) {
959        case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : new Base[] {this.linkId}; // IdType
960        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
961        case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation
962        case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : new Base[] {this.exclude}; // BooleanType
963        case -820021448: /*definitionReference*/ return this.definitionReference == null ? new Base[0] : new Base[] {this.definitionReference}; // Reference
964        case 933485793: /*definitionCanonical*/ return this.definitionCanonical == null ? new Base[0] : new Base[] {this.definitionCanonical}; // CanonicalType
965        case -1446002226: /*definitionCodeableConcept*/ return this.definitionCodeableConcept == null ? new Base[0] : new Base[] {this.definitionCodeableConcept}; // CodeableConcept
966        case 1463703627: /*definitionExpression*/ return this.definitionExpression == null ? new Base[0] : new Base[] {this.definitionExpression}; // Expression
967        case 101791182: /*definitionId*/ return this.definitionId == null ? new Base[0] : new Base[] {this.definitionId}; // IdType
968        case -164357794: /*definitionByTypeAndValue*/ return this.definitionByTypeAndValue == null ? new Base[0] : new Base[] {this.definitionByTypeAndValue}; // EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent
969        case -2043280539: /*definitionByCombination*/ return this.definitionByCombination == null ? new Base[0] : new Base[] {this.definitionByCombination}; // EvidenceVariableCharacteristicDefinitionByCombinationComponent
970        case 29097598: /*instances*/ return this.instances == null ? new Base[0] : new Base[] {this.instances}; // DataType
971        case -1992012396: /*duration*/ return this.duration == null ? new Base[0] : new Base[] {this.duration}; // DataType
972        case 2087274691: /*timeFromEvent*/ return this.timeFromEvent == null ? new Base[0] : this.timeFromEvent.toArray(new Base[this.timeFromEvent.size()]); // EvidenceVariableCharacteristicTimeFromEventComponent
973        default: return super.getProperty(hash, name, checkValid);
974        }
975
976      }
977
978      @Override
979      public Base setProperty(int hash, String name, Base value) throws FHIRException {
980        switch (hash) {
981        case -1102667083: // linkId
982          this.linkId = TypeConvertor.castToId(value); // IdType
983          return value;
984        case -1724546052: // description
985          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
986          return value;
987        case 3387378: // note
988          this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation
989          return value;
990        case -1321148966: // exclude
991          this.exclude = TypeConvertor.castToBoolean(value); // BooleanType
992          return value;
993        case -820021448: // definitionReference
994          this.definitionReference = TypeConvertor.castToReference(value); // Reference
995          return value;
996        case 933485793: // definitionCanonical
997          this.definitionCanonical = TypeConvertor.castToCanonical(value); // CanonicalType
998          return value;
999        case -1446002226: // definitionCodeableConcept
1000          this.definitionCodeableConcept = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1001          return value;
1002        case 1463703627: // definitionExpression
1003          this.definitionExpression = TypeConvertor.castToExpression(value); // Expression
1004          return value;
1005        case 101791182: // definitionId
1006          this.definitionId = TypeConvertor.castToId(value); // IdType
1007          return value;
1008        case -164357794: // definitionByTypeAndValue
1009          this.definitionByTypeAndValue = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) value; // EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent
1010          return value;
1011        case -2043280539: // definitionByCombination
1012          this.definitionByCombination = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) value; // EvidenceVariableCharacteristicDefinitionByCombinationComponent
1013          return value;
1014        case 29097598: // instances
1015          this.instances = TypeConvertor.castToType(value); // DataType
1016          return value;
1017        case -1992012396: // duration
1018          this.duration = TypeConvertor.castToType(value); // DataType
1019          return value;
1020        case 2087274691: // timeFromEvent
1021          this.getTimeFromEvent().add((EvidenceVariableCharacteristicTimeFromEventComponent) value); // EvidenceVariableCharacteristicTimeFromEventComponent
1022          return value;
1023        default: return super.setProperty(hash, name, value);
1024        }
1025
1026      }
1027
1028      @Override
1029      public Base setProperty(String name, Base value) throws FHIRException {
1030        if (name.equals("linkId")) {
1031          this.linkId = TypeConvertor.castToId(value); // IdType
1032        } else if (name.equals("description")) {
1033          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
1034        } else if (name.equals("note")) {
1035          this.getNote().add(TypeConvertor.castToAnnotation(value));
1036        } else if (name.equals("exclude")) {
1037          this.exclude = TypeConvertor.castToBoolean(value); // BooleanType
1038        } else if (name.equals("definitionReference")) {
1039          this.definitionReference = TypeConvertor.castToReference(value); // Reference
1040        } else if (name.equals("definitionCanonical")) {
1041          this.definitionCanonical = TypeConvertor.castToCanonical(value); // CanonicalType
1042        } else if (name.equals("definitionCodeableConcept")) {
1043          this.definitionCodeableConcept = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1044        } else if (name.equals("definitionExpression")) {
1045          this.definitionExpression = TypeConvertor.castToExpression(value); // Expression
1046        } else if (name.equals("definitionId")) {
1047          this.definitionId = TypeConvertor.castToId(value); // IdType
1048        } else if (name.equals("definitionByTypeAndValue")) {
1049          this.definitionByTypeAndValue = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) value; // EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent
1050        } else if (name.equals("definitionByCombination")) {
1051          this.definitionByCombination = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) value; // EvidenceVariableCharacteristicDefinitionByCombinationComponent
1052        } else if (name.equals("instances[x]")) {
1053          this.instances = TypeConvertor.castToType(value); // DataType
1054        } else if (name.equals("duration[x]")) {
1055          this.duration = TypeConvertor.castToType(value); // DataType
1056        } else if (name.equals("timeFromEvent")) {
1057          this.getTimeFromEvent().add((EvidenceVariableCharacteristicTimeFromEventComponent) value);
1058        } else
1059          return super.setProperty(name, value);
1060        return value;
1061      }
1062
1063      @Override
1064      public Base makeProperty(int hash, String name) throws FHIRException {
1065        switch (hash) {
1066        case -1102667083:  return getLinkIdElement();
1067        case -1724546052:  return getDescriptionElement();
1068        case 3387378:  return addNote(); 
1069        case -1321148966:  return getExcludeElement();
1070        case -820021448:  return getDefinitionReference();
1071        case 933485793:  return getDefinitionCanonicalElement();
1072        case -1446002226:  return getDefinitionCodeableConcept();
1073        case 1463703627:  return getDefinitionExpression();
1074        case 101791182:  return getDefinitionIdElement();
1075        case -164357794:  return getDefinitionByTypeAndValue();
1076        case -2043280539:  return getDefinitionByCombination();
1077        case -736760510:  return getInstances();
1078        case 29097598:  return getInstances();
1079        case -478069140:  return getDuration();
1080        case -1992012396:  return getDuration();
1081        case 2087274691:  return addTimeFromEvent(); 
1082        default: return super.makeProperty(hash, name);
1083        }
1084
1085      }
1086
1087      @Override
1088      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
1089        switch (hash) {
1090        case -1102667083: /*linkId*/ return new String[] {"id"};
1091        case -1724546052: /*description*/ return new String[] {"markdown"};
1092        case 3387378: /*note*/ return new String[] {"Annotation"};
1093        case -1321148966: /*exclude*/ return new String[] {"boolean"};
1094        case -820021448: /*definitionReference*/ return new String[] {"Reference"};
1095        case 933485793: /*definitionCanonical*/ return new String[] {"canonical"};
1096        case -1446002226: /*definitionCodeableConcept*/ return new String[] {"CodeableConcept"};
1097        case 1463703627: /*definitionExpression*/ return new String[] {"Expression"};
1098        case 101791182: /*definitionId*/ return new String[] {"id"};
1099        case -164357794: /*definitionByTypeAndValue*/ return new String[] {};
1100        case -2043280539: /*definitionByCombination*/ return new String[] {};
1101        case 29097598: /*instances*/ return new String[] {"Quantity", "Range"};
1102        case -1992012396: /*duration*/ return new String[] {"Quantity", "Range"};
1103        case 2087274691: /*timeFromEvent*/ return new String[] {};
1104        default: return super.getTypesForProperty(hash, name);
1105        }
1106
1107      }
1108
1109      @Override
1110      public Base addChild(String name) throws FHIRException {
1111        if (name.equals("linkId")) {
1112          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.linkId");
1113        }
1114        else if (name.equals("description")) {
1115          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.description");
1116        }
1117        else if (name.equals("note")) {
1118          return addNote();
1119        }
1120        else if (name.equals("exclude")) {
1121          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.exclude");
1122        }
1123        else if (name.equals("definitionReference")) {
1124          this.definitionReference = new Reference();
1125          return this.definitionReference;
1126        }
1127        else if (name.equals("definitionCanonical")) {
1128          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.definitionCanonical");
1129        }
1130        else if (name.equals("definitionCodeableConcept")) {
1131          this.definitionCodeableConcept = new CodeableConcept();
1132          return this.definitionCodeableConcept;
1133        }
1134        else if (name.equals("definitionExpression")) {
1135          this.definitionExpression = new Expression();
1136          return this.definitionExpression;
1137        }
1138        else if (name.equals("definitionId")) {
1139          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.definitionId");
1140        }
1141        else if (name.equals("definitionByTypeAndValue")) {
1142          this.definitionByTypeAndValue = new EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent();
1143          return this.definitionByTypeAndValue;
1144        }
1145        else if (name.equals("definitionByCombination")) {
1146          this.definitionByCombination = new EvidenceVariableCharacteristicDefinitionByCombinationComponent();
1147          return this.definitionByCombination;
1148        }
1149        else if (name.equals("instancesQuantity")) {
1150          this.instances = new Quantity();
1151          return this.instances;
1152        }
1153        else if (name.equals("instancesRange")) {
1154          this.instances = new Range();
1155          return this.instances;
1156        }
1157        else if (name.equals("durationQuantity")) {
1158          this.duration = new Quantity();
1159          return this.duration;
1160        }
1161        else if (name.equals("durationRange")) {
1162          this.duration = new Range();
1163          return this.duration;
1164        }
1165        else if (name.equals("timeFromEvent")) {
1166          return addTimeFromEvent();
1167        }
1168        else
1169          return super.addChild(name);
1170      }
1171
1172      public EvidenceVariableCharacteristicComponent copy() {
1173        EvidenceVariableCharacteristicComponent dst = new EvidenceVariableCharacteristicComponent();
1174        copyValues(dst);
1175        return dst;
1176      }
1177
1178      public void copyValues(EvidenceVariableCharacteristicComponent dst) {
1179        super.copyValues(dst);
1180        dst.linkId = linkId == null ? null : linkId.copy();
1181        dst.description = description == null ? null : description.copy();
1182        if (note != null) {
1183          dst.note = new ArrayList<Annotation>();
1184          for (Annotation i : note)
1185            dst.note.add(i.copy());
1186        };
1187        dst.exclude = exclude == null ? null : exclude.copy();
1188        dst.definitionReference = definitionReference == null ? null : definitionReference.copy();
1189        dst.definitionCanonical = definitionCanonical == null ? null : definitionCanonical.copy();
1190        dst.definitionCodeableConcept = definitionCodeableConcept == null ? null : definitionCodeableConcept.copy();
1191        dst.definitionExpression = definitionExpression == null ? null : definitionExpression.copy();
1192        dst.definitionId = definitionId == null ? null : definitionId.copy();
1193        dst.definitionByTypeAndValue = definitionByTypeAndValue == null ? null : definitionByTypeAndValue.copy();
1194        dst.definitionByCombination = definitionByCombination == null ? null : definitionByCombination.copy();
1195        dst.instances = instances == null ? null : instances.copy();
1196        dst.duration = duration == null ? null : duration.copy();
1197        if (timeFromEvent != null) {
1198          dst.timeFromEvent = new ArrayList<EvidenceVariableCharacteristicTimeFromEventComponent>();
1199          for (EvidenceVariableCharacteristicTimeFromEventComponent i : timeFromEvent)
1200            dst.timeFromEvent.add(i.copy());
1201        };
1202      }
1203
1204      @Override
1205      public boolean equalsDeep(Base other_) {
1206        if (!super.equalsDeep(other_))
1207          return false;
1208        if (!(other_ instanceof EvidenceVariableCharacteristicComponent))
1209          return false;
1210        EvidenceVariableCharacteristicComponent o = (EvidenceVariableCharacteristicComponent) other_;
1211        return compareDeep(linkId, o.linkId, true) && compareDeep(description, o.description, true) && compareDeep(note, o.note, true)
1212           && compareDeep(exclude, o.exclude, true) && compareDeep(definitionReference, o.definitionReference, true)
1213           && compareDeep(definitionCanonical, o.definitionCanonical, true) && compareDeep(definitionCodeableConcept, o.definitionCodeableConcept, true)
1214           && compareDeep(definitionExpression, o.definitionExpression, true) && compareDeep(definitionId, o.definitionId, true)
1215           && compareDeep(definitionByTypeAndValue, o.definitionByTypeAndValue, true) && compareDeep(definitionByCombination, o.definitionByCombination, true)
1216           && compareDeep(instances, o.instances, true) && compareDeep(duration, o.duration, true) && compareDeep(timeFromEvent, o.timeFromEvent, true)
1217          ;
1218      }
1219
1220      @Override
1221      public boolean equalsShallow(Base other_) {
1222        if (!super.equalsShallow(other_))
1223          return false;
1224        if (!(other_ instanceof EvidenceVariableCharacteristicComponent))
1225          return false;
1226        EvidenceVariableCharacteristicComponent o = (EvidenceVariableCharacteristicComponent) other_;
1227        return compareValues(linkId, o.linkId, true) && compareValues(description, o.description, true) && compareValues(exclude, o.exclude, true)
1228           && compareValues(definitionCanonical, o.definitionCanonical, true) && compareValues(definitionId, o.definitionId, true)
1229          ;
1230      }
1231
1232      public boolean isEmpty() {
1233        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(linkId, description, note
1234          , exclude, definitionReference, definitionCanonical, definitionCodeableConcept, definitionExpression
1235          , definitionId, definitionByTypeAndValue, definitionByCombination, instances, duration
1236          , timeFromEvent);
1237      }
1238
1239  public String fhirType() {
1240    return "EvidenceVariable.characteristic";
1241
1242  }
1243
1244  }
1245
1246    @Block()
1247    public static class EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent extends BackboneElement implements IBaseBackboneElement {
1248        /**
1249         * Used to express the type of characteristic.
1250         */
1251        @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true)
1252        @Description(shortDefinition="Expresses the type of characteristic", formalDefinition="Used to express the type of characteristic." )
1253        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/usage-context-type")
1254        protected CodeableConcept type;
1255
1256        /**
1257         * Method for how the characteristic value was determined.
1258         */
1259        @Child(name = "method", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1260        @Description(shortDefinition="Method for how the characteristic value was determined", formalDefinition="Method for how the characteristic value was determined." )
1261        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-method")
1262        protected List<CodeableConcept> method;
1263
1264        /**
1265         * Device used for determining characteristic.
1266         */
1267        @Child(name = "device", type = {Device.class, DeviceMetric.class}, order=3, min=0, max=1, modifier=false, summary=false)
1268        @Description(shortDefinition="Device used for determining characteristic", formalDefinition="Device used for determining characteristic." )
1269        protected Reference device;
1270
1271        /**
1272         * Defines the characteristic when paired with characteristic.type.
1273         */
1274        @Child(name = "value", type = {CodeableConcept.class, BooleanType.class, Quantity.class, Range.class, Reference.class, IdType.class}, order=4, min=1, max=1, modifier=false, summary=true)
1275        @Description(shortDefinition="Defines the characteristic when coupled with characteristic.type", formalDefinition="Defines the characteristic when paired with characteristic.type." )
1276        protected DataType value;
1277
1278        /**
1279         * Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero.
1280         */
1281        @Child(name = "offset", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false)
1282        @Description(shortDefinition="Reference point for valueQuantity or valueRange", formalDefinition="Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero." )
1283        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/characteristic-offset")
1284        protected CodeableConcept offset;
1285
1286        private static final long serialVersionUID = -498341653L;
1287
1288    /**
1289     * Constructor
1290     */
1291      public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent() {
1292        super();
1293      }
1294
1295    /**
1296     * Constructor
1297     */
1298      public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(CodeableConcept type, DataType value) {
1299        super();
1300        this.setType(type);
1301        this.setValue(value);
1302      }
1303
1304        /**
1305         * @return {@link #type} (Used to express the type of characteristic.)
1306         */
1307        public CodeableConcept getType() { 
1308          if (this.type == null)
1309            if (Configuration.errorOnAutoCreate())
1310              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent.type");
1311            else if (Configuration.doAutoCreate())
1312              this.type = new CodeableConcept(); // cc
1313          return this.type;
1314        }
1315
1316        public boolean hasType() { 
1317          return this.type != null && !this.type.isEmpty();
1318        }
1319
1320        /**
1321         * @param value {@link #type} (Used to express the type of characteristic.)
1322         */
1323        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setType(CodeableConcept value) { 
1324          this.type = value;
1325          return this;
1326        }
1327
1328        /**
1329         * @return {@link #method} (Method for how the characteristic value was determined.)
1330         */
1331        public List<CodeableConcept> getMethod() { 
1332          if (this.method == null)
1333            this.method = new ArrayList<CodeableConcept>();
1334          return this.method;
1335        }
1336
1337        /**
1338         * @return Returns a reference to <code>this</code> for easy method chaining
1339         */
1340        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setMethod(List<CodeableConcept> theMethod) { 
1341          this.method = theMethod;
1342          return this;
1343        }
1344
1345        public boolean hasMethod() { 
1346          if (this.method == null)
1347            return false;
1348          for (CodeableConcept item : this.method)
1349            if (!item.isEmpty())
1350              return true;
1351          return false;
1352        }
1353
1354        public CodeableConcept addMethod() { //3
1355          CodeableConcept t = new CodeableConcept();
1356          if (this.method == null)
1357            this.method = new ArrayList<CodeableConcept>();
1358          this.method.add(t);
1359          return t;
1360        }
1361
1362        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent addMethod(CodeableConcept t) { //3
1363          if (t == null)
1364            return this;
1365          if (this.method == null)
1366            this.method = new ArrayList<CodeableConcept>();
1367          this.method.add(t);
1368          return this;
1369        }
1370
1371        /**
1372         * @return The first repetition of repeating field {@link #method}, creating it if it does not already exist {3}
1373         */
1374        public CodeableConcept getMethodFirstRep() { 
1375          if (getMethod().isEmpty()) {
1376            addMethod();
1377          }
1378          return getMethod().get(0);
1379        }
1380
1381        /**
1382         * @return {@link #device} (Device used for determining characteristic.)
1383         */
1384        public Reference getDevice() { 
1385          if (this.device == null)
1386            if (Configuration.errorOnAutoCreate())
1387              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent.device");
1388            else if (Configuration.doAutoCreate())
1389              this.device = new Reference(); // cc
1390          return this.device;
1391        }
1392
1393        public boolean hasDevice() { 
1394          return this.device != null && !this.device.isEmpty();
1395        }
1396
1397        /**
1398         * @param value {@link #device} (Device used for determining characteristic.)
1399         */
1400        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setDevice(Reference value) { 
1401          this.device = value;
1402          return this;
1403        }
1404
1405        /**
1406         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1407         */
1408        public DataType getValue() { 
1409          return this.value;
1410        }
1411
1412        /**
1413         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1414         */
1415        public CodeableConcept getValueCodeableConcept() throws FHIRException { 
1416          if (this.value == null)
1417            this.value = new CodeableConcept();
1418          if (!(this.value instanceof CodeableConcept))
1419            throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered");
1420          return (CodeableConcept) this.value;
1421        }
1422
1423        public boolean hasValueCodeableConcept() { 
1424          return this != null && this.value instanceof CodeableConcept;
1425        }
1426
1427        /**
1428         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1429         */
1430        public BooleanType getValueBooleanType() throws FHIRException { 
1431          if (this.value == null)
1432            this.value = new BooleanType();
1433          if (!(this.value instanceof BooleanType))
1434            throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered");
1435          return (BooleanType) this.value;
1436        }
1437
1438        public boolean hasValueBooleanType() { 
1439          return this != null && this.value instanceof BooleanType;
1440        }
1441
1442        /**
1443         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1444         */
1445        public Quantity getValueQuantity() throws FHIRException { 
1446          if (this.value == null)
1447            this.value = new Quantity();
1448          if (!(this.value instanceof Quantity))
1449            throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered");
1450          return (Quantity) this.value;
1451        }
1452
1453        public boolean hasValueQuantity() { 
1454          return this != null && this.value instanceof Quantity;
1455        }
1456
1457        /**
1458         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1459         */
1460        public Range getValueRange() throws FHIRException { 
1461          if (this.value == null)
1462            this.value = new Range();
1463          if (!(this.value instanceof Range))
1464            throw new FHIRException("Type mismatch: the type Range was expected, but "+this.value.getClass().getName()+" was encountered");
1465          return (Range) this.value;
1466        }
1467
1468        public boolean hasValueRange() { 
1469          return this != null && this.value instanceof Range;
1470        }
1471
1472        /**
1473         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1474         */
1475        public Reference getValueReference() throws FHIRException { 
1476          if (this.value == null)
1477            this.value = new Reference();
1478          if (!(this.value instanceof Reference))
1479            throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.value.getClass().getName()+" was encountered");
1480          return (Reference) this.value;
1481        }
1482
1483        public boolean hasValueReference() { 
1484          return this != null && this.value instanceof Reference;
1485        }
1486
1487        /**
1488         * @return {@link #value} (Defines the characteristic when paired with characteristic.type.)
1489         */
1490        public IdType getValueIdType() throws FHIRException { 
1491          if (this.value == null)
1492            this.value = new IdType();
1493          if (!(this.value instanceof IdType))
1494            throw new FHIRException("Type mismatch: the type IdType was expected, but "+this.value.getClass().getName()+" was encountered");
1495          return (IdType) this.value;
1496        }
1497
1498        public boolean hasValueIdType() { 
1499          return this != null && this.value instanceof IdType;
1500        }
1501
1502        public boolean hasValue() { 
1503          return this.value != null && !this.value.isEmpty();
1504        }
1505
1506        /**
1507         * @param value {@link #value} (Defines the characteristic when paired with characteristic.type.)
1508         */
1509        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setValue(DataType value) { 
1510          if (value != null && !(value instanceof CodeableConcept || value instanceof BooleanType || value instanceof Quantity || value instanceof Range || value instanceof Reference || value instanceof IdType))
1511            throw new FHIRException("Not the right type for EvidenceVariable.characteristic.definitionByTypeAndValue.value[x]: "+value.fhirType());
1512          this.value = value;
1513          return this;
1514        }
1515
1516        /**
1517         * @return {@link #offset} (Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero.)
1518         */
1519        public CodeableConcept getOffset() { 
1520          if (this.offset == null)
1521            if (Configuration.errorOnAutoCreate())
1522              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent.offset");
1523            else if (Configuration.doAutoCreate())
1524              this.offset = new CodeableConcept(); // cc
1525          return this.offset;
1526        }
1527
1528        public boolean hasOffset() { 
1529          return this.offset != null && !this.offset.isEmpty();
1530        }
1531
1532        /**
1533         * @param value {@link #offset} (Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero.)
1534         */
1535        public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setOffset(CodeableConcept value) { 
1536          this.offset = value;
1537          return this;
1538        }
1539
1540        protected void listChildren(List<Property> children) {
1541          super.listChildren(children);
1542          children.add(new Property("type", "CodeableConcept", "Used to express the type of characteristic.", 0, 1, type));
1543          children.add(new Property("method", "CodeableConcept", "Method for how the characteristic value was determined.", 0, java.lang.Integer.MAX_VALUE, method));
1544          children.add(new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device));
1545          children.add(new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value));
1546          children.add(new Property("offset", "CodeableConcept", "Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero.", 0, 1, offset));
1547        }
1548
1549        @Override
1550        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
1551          switch (_hash) {
1552          case 3575610: /*type*/  return new Property("type", "CodeableConcept", "Used to express the type of characteristic.", 0, 1, type);
1553          case -1077554975: /*method*/  return new Property("method", "CodeableConcept", "Method for how the characteristic value was determined.", 0, java.lang.Integer.MAX_VALUE, method);
1554          case -1335157162: /*device*/  return new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device);
1555          case -1410166417: /*value[x]*/  return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1556          case 111972721: /*value*/  return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1557          case 924902896: /*valueCodeableConcept*/  return new Property("value[x]", "CodeableConcept", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1558          case 733421943: /*valueBoolean*/  return new Property("value[x]", "boolean", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1559          case -2029823716: /*valueQuantity*/  return new Property("value[x]", "Quantity", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1560          case 2030761548: /*valueRange*/  return new Property("value[x]", "Range", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1561          case 1755241690: /*valueReference*/  return new Property("value[x]", "Reference", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1562          case 231604844: /*valueId*/  return new Property("value[x]", "id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value);
1563          case -1019779949: /*offset*/  return new Property("offset", "CodeableConcept", "Defines the reference point for comparison when valueQuantity or valueRange is not compared to zero.", 0, 1, offset);
1564          default: return super.getNamedProperty(_hash, _name, _checkValid);
1565          }
1566
1567        }
1568
1569      @Override
1570      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
1571        switch (hash) {
1572        case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept
1573        case -1077554975: /*method*/ return this.method == null ? new Base[0] : this.method.toArray(new Base[this.method.size()]); // CodeableConcept
1574        case -1335157162: /*device*/ return this.device == null ? new Base[0] : new Base[] {this.device}; // Reference
1575        case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType
1576        case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // CodeableConcept
1577        default: return super.getProperty(hash, name, checkValid);
1578        }
1579
1580      }
1581
1582      @Override
1583      public Base setProperty(int hash, String name, Base value) throws FHIRException {
1584        switch (hash) {
1585        case 3575610: // type
1586          this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1587          return value;
1588        case -1077554975: // method
1589          this.getMethod().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
1590          return value;
1591        case -1335157162: // device
1592          this.device = TypeConvertor.castToReference(value); // Reference
1593          return value;
1594        case 111972721: // value
1595          this.value = TypeConvertor.castToType(value); // DataType
1596          return value;
1597        case -1019779949: // offset
1598          this.offset = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1599          return value;
1600        default: return super.setProperty(hash, name, value);
1601        }
1602
1603      }
1604
1605      @Override
1606      public Base setProperty(String name, Base value) throws FHIRException {
1607        if (name.equals("type")) {
1608          this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1609        } else if (name.equals("method")) {
1610          this.getMethod().add(TypeConvertor.castToCodeableConcept(value));
1611        } else if (name.equals("device")) {
1612          this.device = TypeConvertor.castToReference(value); // Reference
1613        } else if (name.equals("value[x]")) {
1614          this.value = TypeConvertor.castToType(value); // DataType
1615        } else if (name.equals("offset")) {
1616          this.offset = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
1617        } else
1618          return super.setProperty(name, value);
1619        return value;
1620      }
1621
1622      @Override
1623      public Base makeProperty(int hash, String name) throws FHIRException {
1624        switch (hash) {
1625        case 3575610:  return getType();
1626        case -1077554975:  return addMethod(); 
1627        case -1335157162:  return getDevice();
1628        case -1410166417:  return getValue();
1629        case 111972721:  return getValue();
1630        case -1019779949:  return getOffset();
1631        default: return super.makeProperty(hash, name);
1632        }
1633
1634      }
1635
1636      @Override
1637      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
1638        switch (hash) {
1639        case 3575610: /*type*/ return new String[] {"CodeableConcept"};
1640        case -1077554975: /*method*/ return new String[] {"CodeableConcept"};
1641        case -1335157162: /*device*/ return new String[] {"Reference"};
1642        case 111972721: /*value*/ return new String[] {"CodeableConcept", "boolean", "Quantity", "Range", "Reference", "id"};
1643        case -1019779949: /*offset*/ return new String[] {"CodeableConcept"};
1644        default: return super.getTypesForProperty(hash, name);
1645        }
1646
1647      }
1648
1649      @Override
1650      public Base addChild(String name) throws FHIRException {
1651        if (name.equals("type")) {
1652          this.type = new CodeableConcept();
1653          return this.type;
1654        }
1655        else if (name.equals("method")) {
1656          return addMethod();
1657        }
1658        else if (name.equals("device")) {
1659          this.device = new Reference();
1660          return this.device;
1661        }
1662        else if (name.equals("valueCodeableConcept")) {
1663          this.value = new CodeableConcept();
1664          return this.value;
1665        }
1666        else if (name.equals("valueBoolean")) {
1667          this.value = new BooleanType();
1668          return this.value;
1669        }
1670        else if (name.equals("valueQuantity")) {
1671          this.value = new Quantity();
1672          return this.value;
1673        }
1674        else if (name.equals("valueRange")) {
1675          this.value = new Range();
1676          return this.value;
1677        }
1678        else if (name.equals("valueReference")) {
1679          this.value = new Reference();
1680          return this.value;
1681        }
1682        else if (name.equals("valueId")) {
1683          this.value = new IdType();
1684          return this.value;
1685        }
1686        else if (name.equals("offset")) {
1687          this.offset = new CodeableConcept();
1688          return this.offset;
1689        }
1690        else
1691          return super.addChild(name);
1692      }
1693
1694      public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent copy() {
1695        EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent dst = new EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent();
1696        copyValues(dst);
1697        return dst;
1698      }
1699
1700      public void copyValues(EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent dst) {
1701        super.copyValues(dst);
1702        dst.type = type == null ? null : type.copy();
1703        if (method != null) {
1704          dst.method = new ArrayList<CodeableConcept>();
1705          for (CodeableConcept i : method)
1706            dst.method.add(i.copy());
1707        };
1708        dst.device = device == null ? null : device.copy();
1709        dst.value = value == null ? null : value.copy();
1710        dst.offset = offset == null ? null : offset.copy();
1711      }
1712
1713      @Override
1714      public boolean equalsDeep(Base other_) {
1715        if (!super.equalsDeep(other_))
1716          return false;
1717        if (!(other_ instanceof EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent))
1718          return false;
1719        EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent o = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) other_;
1720        return compareDeep(type, o.type, true) && compareDeep(method, o.method, true) && compareDeep(device, o.device, true)
1721           && compareDeep(value, o.value, true) && compareDeep(offset, o.offset, true);
1722      }
1723
1724      @Override
1725      public boolean equalsShallow(Base other_) {
1726        if (!super.equalsShallow(other_))
1727          return false;
1728        if (!(other_ instanceof EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent))
1729          return false;
1730        EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent o = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) other_;
1731        return true;
1732      }
1733
1734      public boolean isEmpty() {
1735        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, method, device, value
1736          , offset);
1737      }
1738
1739  public String fhirType() {
1740    return "EvidenceVariable.characteristic.definitionByTypeAndValue";
1741
1742  }
1743
1744  }
1745
1746    @Block()
1747    public static class EvidenceVariableCharacteristicDefinitionByCombinationComponent extends BackboneElement implements IBaseBackboneElement {
1748        /**
1749         * Used to specify if two or more characteristics are combined with OR or AND.
1750         */
1751        @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false)
1752        @Description(shortDefinition="all-of | any-of | at-least | at-most | statistical | net-effect | dataset", formalDefinition="Used to specify if two or more characteristics are combined with OR or AND." )
1753        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/characteristic-combination")
1754        protected Enumeration<CharacteristicCombination> code;
1755
1756        /**
1757         * Provides the value of "n" when "at-least" or "at-most" codes are used.
1758         */
1759        @Child(name = "threshold", type = {PositiveIntType.class}, order=2, min=0, max=1, modifier=false, summary=false)
1760        @Description(shortDefinition="Provides the value of \"n\" when \"at-least\" or \"at-most\" codes are used", formalDefinition="Provides the value of \"n\" when \"at-least\" or \"at-most\" codes are used." )
1761        protected PositiveIntType threshold;
1762
1763        /**
1764         * A defining factor of the characteristic.
1765         */
1766        @Child(name = "characteristic", type = {EvidenceVariableCharacteristicComponent.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
1767        @Description(shortDefinition="A defining factor of the characteristic", formalDefinition="A defining factor of the characteristic." )
1768        protected List<EvidenceVariableCharacteristicComponent> characteristic;
1769
1770        private static final long serialVersionUID = -2053118515L;
1771
1772    /**
1773     * Constructor
1774     */
1775      public EvidenceVariableCharacteristicDefinitionByCombinationComponent() {
1776        super();
1777      }
1778
1779    /**
1780     * Constructor
1781     */
1782      public EvidenceVariableCharacteristicDefinitionByCombinationComponent(CharacteristicCombination code, EvidenceVariableCharacteristicComponent characteristic) {
1783        super();
1784        this.setCode(code);
1785        this.addCharacteristic(characteristic);
1786      }
1787
1788        /**
1789         * @return {@link #code} (Used to specify if two or more characteristics are combined with OR or AND.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1790         */
1791        public Enumeration<CharacteristicCombination> getCodeElement() { 
1792          if (this.code == null)
1793            if (Configuration.errorOnAutoCreate())
1794              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByCombinationComponent.code");
1795            else if (Configuration.doAutoCreate())
1796              this.code = new Enumeration<CharacteristicCombination>(new CharacteristicCombinationEnumFactory()); // bb
1797          return this.code;
1798        }
1799
1800        public boolean hasCodeElement() { 
1801          return this.code != null && !this.code.isEmpty();
1802        }
1803
1804        public boolean hasCode() { 
1805          return this.code != null && !this.code.isEmpty();
1806        }
1807
1808        /**
1809         * @param value {@link #code} (Used to specify if two or more characteristics are combined with OR or AND.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1810         */
1811        public EvidenceVariableCharacteristicDefinitionByCombinationComponent setCodeElement(Enumeration<CharacteristicCombination> value) { 
1812          this.code = value;
1813          return this;
1814        }
1815
1816        /**
1817         * @return Used to specify if two or more characteristics are combined with OR or AND.
1818         */
1819        public CharacteristicCombination getCode() { 
1820          return this.code == null ? null : this.code.getValue();
1821        }
1822
1823        /**
1824         * @param value Used to specify if two or more characteristics are combined with OR or AND.
1825         */
1826        public EvidenceVariableCharacteristicDefinitionByCombinationComponent setCode(CharacteristicCombination value) { 
1827            if (this.code == null)
1828              this.code = new Enumeration<CharacteristicCombination>(new CharacteristicCombinationEnumFactory());
1829            this.code.setValue(value);
1830          return this;
1831        }
1832
1833        /**
1834         * @return {@link #threshold} (Provides the value of "n" when "at-least" or "at-most" codes are used.). This is the underlying object with id, value and extensions. The accessor "getThreshold" gives direct access to the value
1835         */
1836        public PositiveIntType getThresholdElement() { 
1837          if (this.threshold == null)
1838            if (Configuration.errorOnAutoCreate())
1839              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByCombinationComponent.threshold");
1840            else if (Configuration.doAutoCreate())
1841              this.threshold = new PositiveIntType(); // bb
1842          return this.threshold;
1843        }
1844
1845        public boolean hasThresholdElement() { 
1846          return this.threshold != null && !this.threshold.isEmpty();
1847        }
1848
1849        public boolean hasThreshold() { 
1850          return this.threshold != null && !this.threshold.isEmpty();
1851        }
1852
1853        /**
1854         * @param value {@link #threshold} (Provides the value of "n" when "at-least" or "at-most" codes are used.). This is the underlying object with id, value and extensions. The accessor "getThreshold" gives direct access to the value
1855         */
1856        public EvidenceVariableCharacteristicDefinitionByCombinationComponent setThresholdElement(PositiveIntType value) { 
1857          this.threshold = value;
1858          return this;
1859        }
1860
1861        /**
1862         * @return Provides the value of "n" when "at-least" or "at-most" codes are used.
1863         */
1864        public int getThreshold() { 
1865          return this.threshold == null || this.threshold.isEmpty() ? 0 : this.threshold.getValue();
1866        }
1867
1868        /**
1869         * @param value Provides the value of "n" when "at-least" or "at-most" codes are used.
1870         */
1871        public EvidenceVariableCharacteristicDefinitionByCombinationComponent setThreshold(int value) { 
1872            if (this.threshold == null)
1873              this.threshold = new PositiveIntType();
1874            this.threshold.setValue(value);
1875          return this;
1876        }
1877
1878        /**
1879         * @return {@link #characteristic} (A defining factor of the characteristic.)
1880         */
1881        public List<EvidenceVariableCharacteristicComponent> getCharacteristic() { 
1882          if (this.characteristic == null)
1883            this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
1884          return this.characteristic;
1885        }
1886
1887        /**
1888         * @return Returns a reference to <code>this</code> for easy method chaining
1889         */
1890        public EvidenceVariableCharacteristicDefinitionByCombinationComponent setCharacteristic(List<EvidenceVariableCharacteristicComponent> theCharacteristic) { 
1891          this.characteristic = theCharacteristic;
1892          return this;
1893        }
1894
1895        public boolean hasCharacteristic() { 
1896          if (this.characteristic == null)
1897            return false;
1898          for (EvidenceVariableCharacteristicComponent item : this.characteristic)
1899            if (!item.isEmpty())
1900              return true;
1901          return false;
1902        }
1903
1904        public EvidenceVariableCharacteristicComponent addCharacteristic() { //3
1905          EvidenceVariableCharacteristicComponent t = new EvidenceVariableCharacteristicComponent();
1906          if (this.characteristic == null)
1907            this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
1908          this.characteristic.add(t);
1909          return t;
1910        }
1911
1912        public EvidenceVariableCharacteristicDefinitionByCombinationComponent addCharacteristic(EvidenceVariableCharacteristicComponent t) { //3
1913          if (t == null)
1914            return this;
1915          if (this.characteristic == null)
1916            this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
1917          this.characteristic.add(t);
1918          return this;
1919        }
1920
1921        /**
1922         * @return The first repetition of repeating field {@link #characteristic}, creating it if it does not already exist {3}
1923         */
1924        public EvidenceVariableCharacteristicComponent getCharacteristicFirstRep() { 
1925          if (getCharacteristic().isEmpty()) {
1926            addCharacteristic();
1927          }
1928          return getCharacteristic().get(0);
1929        }
1930
1931        protected void listChildren(List<Property> children) {
1932          super.listChildren(children);
1933          children.add(new Property("code", "code", "Used to specify if two or more characteristics are combined with OR or AND.", 0, 1, code));
1934          children.add(new Property("threshold", "positiveInt", "Provides the value of \"n\" when \"at-least\" or \"at-most\" codes are used.", 0, 1, threshold));
1935          children.add(new Property("characteristic", "@EvidenceVariable.characteristic", "A defining factor of the characteristic.", 0, java.lang.Integer.MAX_VALUE, characteristic));
1936        }
1937
1938        @Override
1939        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
1940          switch (_hash) {
1941          case 3059181: /*code*/  return new Property("code", "code", "Used to specify if two or more characteristics are combined with OR or AND.", 0, 1, code);
1942          case -1545477013: /*threshold*/  return new Property("threshold", "positiveInt", "Provides the value of \"n\" when \"at-least\" or \"at-most\" codes are used.", 0, 1, threshold);
1943          case 366313883: /*characteristic*/  return new Property("characteristic", "@EvidenceVariable.characteristic", "A defining factor of the characteristic.", 0, java.lang.Integer.MAX_VALUE, characteristic);
1944          default: return super.getNamedProperty(_hash, _name, _checkValid);
1945          }
1946
1947        }
1948
1949      @Override
1950      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
1951        switch (hash) {
1952        case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CharacteristicCombination>
1953        case -1545477013: /*threshold*/ return this.threshold == null ? new Base[0] : new Base[] {this.threshold}; // PositiveIntType
1954        case 366313883: /*characteristic*/ return this.characteristic == null ? new Base[0] : this.characteristic.toArray(new Base[this.characteristic.size()]); // EvidenceVariableCharacteristicComponent
1955        default: return super.getProperty(hash, name, checkValid);
1956        }
1957
1958      }
1959
1960      @Override
1961      public Base setProperty(int hash, String name, Base value) throws FHIRException {
1962        switch (hash) {
1963        case 3059181: // code
1964          value = new CharacteristicCombinationEnumFactory().fromType(TypeConvertor.castToCode(value));
1965          this.code = (Enumeration) value; // Enumeration<CharacteristicCombination>
1966          return value;
1967        case -1545477013: // threshold
1968          this.threshold = TypeConvertor.castToPositiveInt(value); // PositiveIntType
1969          return value;
1970        case 366313883: // characteristic
1971          this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value); // EvidenceVariableCharacteristicComponent
1972          return value;
1973        default: return super.setProperty(hash, name, value);
1974        }
1975
1976      }
1977
1978      @Override
1979      public Base setProperty(String name, Base value) throws FHIRException {
1980        if (name.equals("code")) {
1981          value = new CharacteristicCombinationEnumFactory().fromType(TypeConvertor.castToCode(value));
1982          this.code = (Enumeration) value; // Enumeration<CharacteristicCombination>
1983        } else if (name.equals("threshold")) {
1984          this.threshold = TypeConvertor.castToPositiveInt(value); // PositiveIntType
1985        } else if (name.equals("characteristic")) {
1986          this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value);
1987        } else
1988          return super.setProperty(name, value);
1989        return value;
1990      }
1991
1992      @Override
1993      public Base makeProperty(int hash, String name) throws FHIRException {
1994        switch (hash) {
1995        case 3059181:  return getCodeElement();
1996        case -1545477013:  return getThresholdElement();
1997        case 366313883:  return addCharacteristic(); 
1998        default: return super.makeProperty(hash, name);
1999        }
2000
2001      }
2002
2003      @Override
2004      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
2005        switch (hash) {
2006        case 3059181: /*code*/ return new String[] {"code"};
2007        case -1545477013: /*threshold*/ return new String[] {"positiveInt"};
2008        case 366313883: /*characteristic*/ return new String[] {"@EvidenceVariable.characteristic"};
2009        default: return super.getTypesForProperty(hash, name);
2010        }
2011
2012      }
2013
2014      @Override
2015      public Base addChild(String name) throws FHIRException {
2016        if (name.equals("code")) {
2017          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.definitionByCombination.code");
2018        }
2019        else if (name.equals("threshold")) {
2020          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.definitionByCombination.threshold");
2021        }
2022        else if (name.equals("characteristic")) {
2023          return addCharacteristic();
2024        }
2025        else
2026          return super.addChild(name);
2027      }
2028
2029      public EvidenceVariableCharacteristicDefinitionByCombinationComponent copy() {
2030        EvidenceVariableCharacteristicDefinitionByCombinationComponent dst = new EvidenceVariableCharacteristicDefinitionByCombinationComponent();
2031        copyValues(dst);
2032        return dst;
2033      }
2034
2035      public void copyValues(EvidenceVariableCharacteristicDefinitionByCombinationComponent dst) {
2036        super.copyValues(dst);
2037        dst.code = code == null ? null : code.copy();
2038        dst.threshold = threshold == null ? null : threshold.copy();
2039        if (characteristic != null) {
2040          dst.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
2041          for (EvidenceVariableCharacteristicComponent i : characteristic)
2042            dst.characteristic.add(i.copy());
2043        };
2044      }
2045
2046      @Override
2047      public boolean equalsDeep(Base other_) {
2048        if (!super.equalsDeep(other_))
2049          return false;
2050        if (!(other_ instanceof EvidenceVariableCharacteristicDefinitionByCombinationComponent))
2051          return false;
2052        EvidenceVariableCharacteristicDefinitionByCombinationComponent o = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) other_;
2053        return compareDeep(code, o.code, true) && compareDeep(threshold, o.threshold, true) && compareDeep(characteristic, o.characteristic, true)
2054          ;
2055      }
2056
2057      @Override
2058      public boolean equalsShallow(Base other_) {
2059        if (!super.equalsShallow(other_))
2060          return false;
2061        if (!(other_ instanceof EvidenceVariableCharacteristicDefinitionByCombinationComponent))
2062          return false;
2063        EvidenceVariableCharacteristicDefinitionByCombinationComponent o = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) other_;
2064        return compareValues(code, o.code, true) && compareValues(threshold, o.threshold, true);
2065      }
2066
2067      public boolean isEmpty() {
2068        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, threshold, characteristic
2069          );
2070      }
2071
2072  public String fhirType() {
2073    return "EvidenceVariable.characteristic.definitionByCombination";
2074
2075  }
2076
2077  }
2078
2079    @Block()
2080    public static class EvidenceVariableCharacteristicTimeFromEventComponent extends BackboneElement implements IBaseBackboneElement {
2081        /**
2082         * Human readable description.
2083         */
2084        @Child(name = "description", type = {MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false)
2085        @Description(shortDefinition="Human readable description", formalDefinition="Human readable description." )
2086        protected MarkdownType description;
2087
2088        /**
2089         * A human-readable string to clarify or explain concepts about the timeFromEvent.
2090         */
2091        @Child(name = "note", type = {Annotation.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2092        @Description(shortDefinition="Used for footnotes or explanatory notes", formalDefinition="A human-readable string to clarify or explain concepts about the timeFromEvent." )
2093        protected List<Annotation> note;
2094
2095        /**
2096         * The event used as a base point (reference point) in time.
2097         */
2098        @Child(name = "event", type = {CodeableConcept.class, Reference.class, DateTimeType.class, IdType.class}, order=3, min=0, max=1, modifier=false, summary=false)
2099        @Description(shortDefinition="The event used as a base point (reference point) in time", formalDefinition="The event used as a base point (reference point) in time." )
2100        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/evidence-variable-event")
2101        protected DataType event;
2102
2103        /**
2104         * Used to express the observation at a defined amount of time before or after the event.
2105         */
2106        @Child(name = "quantity", type = {Quantity.class}, order=4, min=0, max=1, modifier=false, summary=false)
2107        @Description(shortDefinition="Used to express the observation at a defined amount of time before or after the event", formalDefinition="Used to express the observation at a defined amount of time before or after the event." )
2108        protected Quantity quantity;
2109
2110        /**
2111         * Used to express the observation within a period before and/or after the event.
2112         */
2113        @Child(name = "range", type = {Range.class}, order=5, min=0, max=1, modifier=false, summary=false)
2114        @Description(shortDefinition="Used to express the observation within a period before and/or after the event", formalDefinition="Used to express the observation within a period before and/or after the event." )
2115        protected Range range;
2116
2117        private static final long serialVersionUID = -1593501640L;
2118
2119    /**
2120     * Constructor
2121     */
2122      public EvidenceVariableCharacteristicTimeFromEventComponent() {
2123        super();
2124      }
2125
2126        /**
2127         * @return {@link #description} (Human readable description.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
2128         */
2129        public MarkdownType getDescriptionElement() { 
2130          if (this.description == null)
2131            if (Configuration.errorOnAutoCreate())
2132              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicTimeFromEventComponent.description");
2133            else if (Configuration.doAutoCreate())
2134              this.description = new MarkdownType(); // bb
2135          return this.description;
2136        }
2137
2138        public boolean hasDescriptionElement() { 
2139          return this.description != null && !this.description.isEmpty();
2140        }
2141
2142        public boolean hasDescription() { 
2143          return this.description != null && !this.description.isEmpty();
2144        }
2145
2146        /**
2147         * @param value {@link #description} (Human readable description.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
2148         */
2149        public EvidenceVariableCharacteristicTimeFromEventComponent setDescriptionElement(MarkdownType value) { 
2150          this.description = value;
2151          return this;
2152        }
2153
2154        /**
2155         * @return Human readable description.
2156         */
2157        public String getDescription() { 
2158          return this.description == null ? null : this.description.getValue();
2159        }
2160
2161        /**
2162         * @param value Human readable description.
2163         */
2164        public EvidenceVariableCharacteristicTimeFromEventComponent setDescription(String value) { 
2165          if (Utilities.noString(value))
2166            this.description = null;
2167          else {
2168            if (this.description == null)
2169              this.description = new MarkdownType();
2170            this.description.setValue(value);
2171          }
2172          return this;
2173        }
2174
2175        /**
2176         * @return {@link #note} (A human-readable string to clarify or explain concepts about the timeFromEvent.)
2177         */
2178        public List<Annotation> getNote() { 
2179          if (this.note == null)
2180            this.note = new ArrayList<Annotation>();
2181          return this.note;
2182        }
2183
2184        /**
2185         * @return Returns a reference to <code>this</code> for easy method chaining
2186         */
2187        public EvidenceVariableCharacteristicTimeFromEventComponent setNote(List<Annotation> theNote) { 
2188          this.note = theNote;
2189          return this;
2190        }
2191
2192        public boolean hasNote() { 
2193          if (this.note == null)
2194            return false;
2195          for (Annotation item : this.note)
2196            if (!item.isEmpty())
2197              return true;
2198          return false;
2199        }
2200
2201        public Annotation addNote() { //3
2202          Annotation t = new Annotation();
2203          if (this.note == null)
2204            this.note = new ArrayList<Annotation>();
2205          this.note.add(t);
2206          return t;
2207        }
2208
2209        public EvidenceVariableCharacteristicTimeFromEventComponent addNote(Annotation t) { //3
2210          if (t == null)
2211            return this;
2212          if (this.note == null)
2213            this.note = new ArrayList<Annotation>();
2214          this.note.add(t);
2215          return this;
2216        }
2217
2218        /**
2219         * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3}
2220         */
2221        public Annotation getNoteFirstRep() { 
2222          if (getNote().isEmpty()) {
2223            addNote();
2224          }
2225          return getNote().get(0);
2226        }
2227
2228        /**
2229         * @return {@link #event} (The event used as a base point (reference point) in time.)
2230         */
2231        public DataType getEvent() { 
2232          return this.event;
2233        }
2234
2235        /**
2236         * @return {@link #event} (The event used as a base point (reference point) in time.)
2237         */
2238        public CodeableConcept getEventCodeableConcept() throws FHIRException { 
2239          if (this.event == null)
2240            this.event = new CodeableConcept();
2241          if (!(this.event instanceof CodeableConcept))
2242            throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.event.getClass().getName()+" was encountered");
2243          return (CodeableConcept) this.event;
2244        }
2245
2246        public boolean hasEventCodeableConcept() { 
2247          return this != null && this.event instanceof CodeableConcept;
2248        }
2249
2250        /**
2251         * @return {@link #event} (The event used as a base point (reference point) in time.)
2252         */
2253        public Reference getEventReference() throws FHIRException { 
2254          if (this.event == null)
2255            this.event = new Reference();
2256          if (!(this.event instanceof Reference))
2257            throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.event.getClass().getName()+" was encountered");
2258          return (Reference) this.event;
2259        }
2260
2261        public boolean hasEventReference() { 
2262          return this != null && this.event instanceof Reference;
2263        }
2264
2265        /**
2266         * @return {@link #event} (The event used as a base point (reference point) in time.)
2267         */
2268        public DateTimeType getEventDateTimeType() throws FHIRException { 
2269          if (this.event == null)
2270            this.event = new DateTimeType();
2271          if (!(this.event instanceof DateTimeType))
2272            throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.event.getClass().getName()+" was encountered");
2273          return (DateTimeType) this.event;
2274        }
2275
2276        public boolean hasEventDateTimeType() { 
2277          return this != null && this.event instanceof DateTimeType;
2278        }
2279
2280        /**
2281         * @return {@link #event} (The event used as a base point (reference point) in time.)
2282         */
2283        public IdType getEventIdType() throws FHIRException { 
2284          if (this.event == null)
2285            this.event = new IdType();
2286          if (!(this.event instanceof IdType))
2287            throw new FHIRException("Type mismatch: the type IdType was expected, but "+this.event.getClass().getName()+" was encountered");
2288          return (IdType) this.event;
2289        }
2290
2291        public boolean hasEventIdType() { 
2292          return this != null && this.event instanceof IdType;
2293        }
2294
2295        public boolean hasEvent() { 
2296          return this.event != null && !this.event.isEmpty();
2297        }
2298
2299        /**
2300         * @param value {@link #event} (The event used as a base point (reference point) in time.)
2301         */
2302        public EvidenceVariableCharacteristicTimeFromEventComponent setEvent(DataType value) { 
2303          if (value != null && !(value instanceof CodeableConcept || value instanceof Reference || value instanceof DateTimeType || value instanceof IdType))
2304            throw new FHIRException("Not the right type for EvidenceVariable.characteristic.timeFromEvent.event[x]: "+value.fhirType());
2305          this.event = value;
2306          return this;
2307        }
2308
2309        /**
2310         * @return {@link #quantity} (Used to express the observation at a defined amount of time before or after the event.)
2311         */
2312        public Quantity getQuantity() { 
2313          if (this.quantity == null)
2314            if (Configuration.errorOnAutoCreate())
2315              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicTimeFromEventComponent.quantity");
2316            else if (Configuration.doAutoCreate())
2317              this.quantity = new Quantity(); // cc
2318          return this.quantity;
2319        }
2320
2321        public boolean hasQuantity() { 
2322          return this.quantity != null && !this.quantity.isEmpty();
2323        }
2324
2325        /**
2326         * @param value {@link #quantity} (Used to express the observation at a defined amount of time before or after the event.)
2327         */
2328        public EvidenceVariableCharacteristicTimeFromEventComponent setQuantity(Quantity value) { 
2329          this.quantity = value;
2330          return this;
2331        }
2332
2333        /**
2334         * @return {@link #range} (Used to express the observation within a period before and/or after the event.)
2335         */
2336        public Range getRange() { 
2337          if (this.range == null)
2338            if (Configuration.errorOnAutoCreate())
2339              throw new Error("Attempt to auto-create EvidenceVariableCharacteristicTimeFromEventComponent.range");
2340            else if (Configuration.doAutoCreate())
2341              this.range = new Range(); // cc
2342          return this.range;
2343        }
2344
2345        public boolean hasRange() { 
2346          return this.range != null && !this.range.isEmpty();
2347        }
2348
2349        /**
2350         * @param value {@link #range} (Used to express the observation within a period before and/or after the event.)
2351         */
2352        public EvidenceVariableCharacteristicTimeFromEventComponent setRange(Range value) { 
2353          this.range = value;
2354          return this;
2355        }
2356
2357        protected void listChildren(List<Property> children) {
2358          super.listChildren(children);
2359          children.add(new Property("description", "markdown", "Human readable description.", 0, 1, description));
2360          children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the timeFromEvent.", 0, java.lang.Integer.MAX_VALUE, note));
2361          children.add(new Property("event[x]", "CodeableConcept|Reference|dateTime|id", "The event used as a base point (reference point) in time.", 0, 1, event));
2362          children.add(new Property("quantity", "Quantity", "Used to express the observation at a defined amount of time before or after the event.", 0, 1, quantity));
2363          children.add(new Property("range", "Range", "Used to express the observation within a period before and/or after the event.", 0, 1, range));
2364        }
2365
2366        @Override
2367        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
2368          switch (_hash) {
2369          case -1724546052: /*description*/  return new Property("description", "markdown", "Human readable description.", 0, 1, description);
2370          case 3387378: /*note*/  return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the timeFromEvent.", 0, java.lang.Integer.MAX_VALUE, note);
2371          case 278115238: /*event[x]*/  return new Property("event[x]", "CodeableConcept|Reference|dateTime|id", "The event used as a base point (reference point) in time.", 0, 1, event);
2372          case 96891546: /*event*/  return new Property("event[x]", "CodeableConcept|Reference|dateTime|id", "The event used as a base point (reference point) in time.", 0, 1, event);
2373          case 1464167847: /*eventCodeableConcept*/  return new Property("event[x]", "CodeableConcept", "The event used as a base point (reference point) in time.", 0, 1, event);
2374          case 30751185: /*eventReference*/  return new Property("event[x]", "Reference", "The event used as a base point (reference point) in time.", 0, 1, event);
2375          case -116077483: /*eventDateTime*/  return new Property("event[x]", "dateTime", "The event used as a base point (reference point) in time.", 0, 1, event);
2376          case -1376502443: /*eventId*/  return new Property("event[x]", "id", "The event used as a base point (reference point) in time.", 0, 1, event);
2377          case -1285004149: /*quantity*/  return new Property("quantity", "Quantity", "Used to express the observation at a defined amount of time before or after the event.", 0, 1, quantity);
2378          case 108280125: /*range*/  return new Property("range", "Range", "Used to express the observation within a period before and/or after the event.", 0, 1, range);
2379          default: return super.getNamedProperty(_hash, _name, _checkValid);
2380          }
2381
2382        }
2383
2384      @Override
2385      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
2386        switch (hash) {
2387        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
2388        case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation
2389        case 96891546: /*event*/ return this.event == null ? new Base[0] : new Base[] {this.event}; // DataType
2390        case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity
2391        case 108280125: /*range*/ return this.range == null ? new Base[0] : new Base[] {this.range}; // Range
2392        default: return super.getProperty(hash, name, checkValid);
2393        }
2394
2395      }
2396
2397      @Override
2398      public Base setProperty(int hash, String name, Base value) throws FHIRException {
2399        switch (hash) {
2400        case -1724546052: // description
2401          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2402          return value;
2403        case 3387378: // note
2404          this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation
2405          return value;
2406        case 96891546: // event
2407          this.event = TypeConvertor.castToType(value); // DataType
2408          return value;
2409        case -1285004149: // quantity
2410          this.quantity = TypeConvertor.castToQuantity(value); // Quantity
2411          return value;
2412        case 108280125: // range
2413          this.range = TypeConvertor.castToRange(value); // Range
2414          return value;
2415        default: return super.setProperty(hash, name, value);
2416        }
2417
2418      }
2419
2420      @Override
2421      public Base setProperty(String name, Base value) throws FHIRException {
2422        if (name.equals("description")) {
2423          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2424        } else if (name.equals("note")) {
2425          this.getNote().add(TypeConvertor.castToAnnotation(value));
2426        } else if (name.equals("event[x]")) {
2427          this.event = TypeConvertor.castToType(value); // DataType
2428        } else if (name.equals("quantity")) {
2429          this.quantity = TypeConvertor.castToQuantity(value); // Quantity
2430        } else if (name.equals("range")) {
2431          this.range = TypeConvertor.castToRange(value); // Range
2432        } else
2433          return super.setProperty(name, value);
2434        return value;
2435      }
2436
2437      @Override
2438      public Base makeProperty(int hash, String name) throws FHIRException {
2439        switch (hash) {
2440        case -1724546052:  return getDescriptionElement();
2441        case 3387378:  return addNote(); 
2442        case 278115238:  return getEvent();
2443        case 96891546:  return getEvent();
2444        case -1285004149:  return getQuantity();
2445        case 108280125:  return getRange();
2446        default: return super.makeProperty(hash, name);
2447        }
2448
2449      }
2450
2451      @Override
2452      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
2453        switch (hash) {
2454        case -1724546052: /*description*/ return new String[] {"markdown"};
2455        case 3387378: /*note*/ return new String[] {"Annotation"};
2456        case 96891546: /*event*/ return new String[] {"CodeableConcept", "Reference", "dateTime", "id"};
2457        case -1285004149: /*quantity*/ return new String[] {"Quantity"};
2458        case 108280125: /*range*/ return new String[] {"Range"};
2459        default: return super.getTypesForProperty(hash, name);
2460        }
2461
2462      }
2463
2464      @Override
2465      public Base addChild(String name) throws FHIRException {
2466        if (name.equals("description")) {
2467          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.characteristic.timeFromEvent.description");
2468        }
2469        else if (name.equals("note")) {
2470          return addNote();
2471        }
2472        else if (name.equals("eventCodeableConcept")) {
2473          this.event = new CodeableConcept();
2474          return this.event;
2475        }
2476        else if (name.equals("eventReference")) {
2477          this.event = new Reference();
2478          return this.event;
2479        }
2480        else if (name.equals("eventDateTime")) {
2481          this.event = new DateTimeType();
2482          return this.event;
2483        }
2484        else if (name.equals("eventId")) {
2485          this.event = new IdType();
2486          return this.event;
2487        }
2488        else if (name.equals("quantity")) {
2489          this.quantity = new Quantity();
2490          return this.quantity;
2491        }
2492        else if (name.equals("range")) {
2493          this.range = new Range();
2494          return this.range;
2495        }
2496        else
2497          return super.addChild(name);
2498      }
2499
2500      public EvidenceVariableCharacteristicTimeFromEventComponent copy() {
2501        EvidenceVariableCharacteristicTimeFromEventComponent dst = new EvidenceVariableCharacteristicTimeFromEventComponent();
2502        copyValues(dst);
2503        return dst;
2504      }
2505
2506      public void copyValues(EvidenceVariableCharacteristicTimeFromEventComponent dst) {
2507        super.copyValues(dst);
2508        dst.description = description == null ? null : description.copy();
2509        if (note != null) {
2510          dst.note = new ArrayList<Annotation>();
2511          for (Annotation i : note)
2512            dst.note.add(i.copy());
2513        };
2514        dst.event = event == null ? null : event.copy();
2515        dst.quantity = quantity == null ? null : quantity.copy();
2516        dst.range = range == null ? null : range.copy();
2517      }
2518
2519      @Override
2520      public boolean equalsDeep(Base other_) {
2521        if (!super.equalsDeep(other_))
2522          return false;
2523        if (!(other_ instanceof EvidenceVariableCharacteristicTimeFromEventComponent))
2524          return false;
2525        EvidenceVariableCharacteristicTimeFromEventComponent o = (EvidenceVariableCharacteristicTimeFromEventComponent) other_;
2526        return compareDeep(description, o.description, true) && compareDeep(note, o.note, true) && compareDeep(event, o.event, true)
2527           && compareDeep(quantity, o.quantity, true) && compareDeep(range, o.range, true);
2528      }
2529
2530      @Override
2531      public boolean equalsShallow(Base other_) {
2532        if (!super.equalsShallow(other_))
2533          return false;
2534        if (!(other_ instanceof EvidenceVariableCharacteristicTimeFromEventComponent))
2535          return false;
2536        EvidenceVariableCharacteristicTimeFromEventComponent o = (EvidenceVariableCharacteristicTimeFromEventComponent) other_;
2537        return compareValues(description, o.description, true);
2538      }
2539
2540      public boolean isEmpty() {
2541        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, note, event
2542          , quantity, range);
2543      }
2544
2545  public String fhirType() {
2546    return "EvidenceVariable.characteristic.timeFromEvent";
2547
2548  }
2549
2550  }
2551
2552    @Block()
2553    public static class EvidenceVariableCategoryComponent extends BackboneElement implements IBaseBackboneElement {
2554        /**
2555         * Description of the grouping.
2556         */
2557        @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false)
2558        @Description(shortDefinition="Description of the grouping", formalDefinition="Description of the grouping." )
2559        protected StringType name;
2560
2561        /**
2562         * Definition of the grouping.
2563         */
2564        @Child(name = "value", type = {CodeableConcept.class, Quantity.class, Range.class}, order=2, min=0, max=1, modifier=false, summary=false)
2565        @Description(shortDefinition="Definition of the grouping", formalDefinition="Definition of the grouping." )
2566        protected DataType value;
2567
2568        private static final long serialVersionUID = 1839679495L;
2569
2570    /**
2571     * Constructor
2572     */
2573      public EvidenceVariableCategoryComponent() {
2574        super();
2575      }
2576
2577        /**
2578         * @return {@link #name} (Description of the grouping.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
2579         */
2580        public StringType getNameElement() { 
2581          if (this.name == null)
2582            if (Configuration.errorOnAutoCreate())
2583              throw new Error("Attempt to auto-create EvidenceVariableCategoryComponent.name");
2584            else if (Configuration.doAutoCreate())
2585              this.name = new StringType(); // bb
2586          return this.name;
2587        }
2588
2589        public boolean hasNameElement() { 
2590          return this.name != null && !this.name.isEmpty();
2591        }
2592
2593        public boolean hasName() { 
2594          return this.name != null && !this.name.isEmpty();
2595        }
2596
2597        /**
2598         * @param value {@link #name} (Description of the grouping.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value
2599         */
2600        public EvidenceVariableCategoryComponent setNameElement(StringType value) { 
2601          this.name = value;
2602          return this;
2603        }
2604
2605        /**
2606         * @return Description of the grouping.
2607         */
2608        public String getName() { 
2609          return this.name == null ? null : this.name.getValue();
2610        }
2611
2612        /**
2613         * @param value Description of the grouping.
2614         */
2615        public EvidenceVariableCategoryComponent setName(String value) { 
2616          if (Utilities.noString(value))
2617            this.name = null;
2618          else {
2619            if (this.name == null)
2620              this.name = new StringType();
2621            this.name.setValue(value);
2622          }
2623          return this;
2624        }
2625
2626        /**
2627         * @return {@link #value} (Definition of the grouping.)
2628         */
2629        public DataType getValue() { 
2630          return this.value;
2631        }
2632
2633        /**
2634         * @return {@link #value} (Definition of the grouping.)
2635         */
2636        public CodeableConcept getValueCodeableConcept() throws FHIRException { 
2637          if (this.value == null)
2638            this.value = new CodeableConcept();
2639          if (!(this.value instanceof CodeableConcept))
2640            throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered");
2641          return (CodeableConcept) this.value;
2642        }
2643
2644        public boolean hasValueCodeableConcept() { 
2645          return this != null && this.value instanceof CodeableConcept;
2646        }
2647
2648        /**
2649         * @return {@link #value} (Definition of the grouping.)
2650         */
2651        public Quantity getValueQuantity() throws FHIRException { 
2652          if (this.value == null)
2653            this.value = new Quantity();
2654          if (!(this.value instanceof Quantity))
2655            throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered");
2656          return (Quantity) this.value;
2657        }
2658
2659        public boolean hasValueQuantity() { 
2660          return this != null && this.value instanceof Quantity;
2661        }
2662
2663        /**
2664         * @return {@link #value} (Definition of the grouping.)
2665         */
2666        public Range getValueRange() throws FHIRException { 
2667          if (this.value == null)
2668            this.value = new Range();
2669          if (!(this.value instanceof Range))
2670            throw new FHIRException("Type mismatch: the type Range was expected, but "+this.value.getClass().getName()+" was encountered");
2671          return (Range) this.value;
2672        }
2673
2674        public boolean hasValueRange() { 
2675          return this != null && this.value instanceof Range;
2676        }
2677
2678        public boolean hasValue() { 
2679          return this.value != null && !this.value.isEmpty();
2680        }
2681
2682        /**
2683         * @param value {@link #value} (Definition of the grouping.)
2684         */
2685        public EvidenceVariableCategoryComponent setValue(DataType value) { 
2686          if (value != null && !(value instanceof CodeableConcept || value instanceof Quantity || value instanceof Range))
2687            throw new FHIRException("Not the right type for EvidenceVariable.category.value[x]: "+value.fhirType());
2688          this.value = value;
2689          return this;
2690        }
2691
2692        protected void listChildren(List<Property> children) {
2693          super.listChildren(children);
2694          children.add(new Property("name", "string", "Description of the grouping.", 0, 1, name));
2695          children.add(new Property("value[x]", "CodeableConcept|Quantity|Range", "Definition of the grouping.", 0, 1, value));
2696        }
2697
2698        @Override
2699        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
2700          switch (_hash) {
2701          case 3373707: /*name*/  return new Property("name", "string", "Description of the grouping.", 0, 1, name);
2702          case -1410166417: /*value[x]*/  return new Property("value[x]", "CodeableConcept|Quantity|Range", "Definition of the grouping.", 0, 1, value);
2703          case 111972721: /*value*/  return new Property("value[x]", "CodeableConcept|Quantity|Range", "Definition of the grouping.", 0, 1, value);
2704          case 924902896: /*valueCodeableConcept*/  return new Property("value[x]", "CodeableConcept", "Definition of the grouping.", 0, 1, value);
2705          case -2029823716: /*valueQuantity*/  return new Property("value[x]", "Quantity", "Definition of the grouping.", 0, 1, value);
2706          case 2030761548: /*valueRange*/  return new Property("value[x]", "Range", "Definition of the grouping.", 0, 1, value);
2707          default: return super.getNamedProperty(_hash, _name, _checkValid);
2708          }
2709
2710        }
2711
2712      @Override
2713      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
2714        switch (hash) {
2715        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
2716        case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType
2717        default: return super.getProperty(hash, name, checkValid);
2718        }
2719
2720      }
2721
2722      @Override
2723      public Base setProperty(int hash, String name, Base value) throws FHIRException {
2724        switch (hash) {
2725        case 3373707: // name
2726          this.name = TypeConvertor.castToString(value); // StringType
2727          return value;
2728        case 111972721: // value
2729          this.value = TypeConvertor.castToType(value); // DataType
2730          return value;
2731        default: return super.setProperty(hash, name, value);
2732        }
2733
2734      }
2735
2736      @Override
2737      public Base setProperty(String name, Base value) throws FHIRException {
2738        if (name.equals("name")) {
2739          this.name = TypeConvertor.castToString(value); // StringType
2740        } else if (name.equals("value[x]")) {
2741          this.value = TypeConvertor.castToType(value); // DataType
2742        } else
2743          return super.setProperty(name, value);
2744        return value;
2745      }
2746
2747      @Override
2748      public Base makeProperty(int hash, String name) throws FHIRException {
2749        switch (hash) {
2750        case 3373707:  return getNameElement();
2751        case -1410166417:  return getValue();
2752        case 111972721:  return getValue();
2753        default: return super.makeProperty(hash, name);
2754        }
2755
2756      }
2757
2758      @Override
2759      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
2760        switch (hash) {
2761        case 3373707: /*name*/ return new String[] {"string"};
2762        case 111972721: /*value*/ return new String[] {"CodeableConcept", "Quantity", "Range"};
2763        default: return super.getTypesForProperty(hash, name);
2764        }
2765
2766      }
2767
2768      @Override
2769      public Base addChild(String name) throws FHIRException {
2770        if (name.equals("name")) {
2771          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.category.name");
2772        }
2773        else if (name.equals("valueCodeableConcept")) {
2774          this.value = new CodeableConcept();
2775          return this.value;
2776        }
2777        else if (name.equals("valueQuantity")) {
2778          this.value = new Quantity();
2779          return this.value;
2780        }
2781        else if (name.equals("valueRange")) {
2782          this.value = new Range();
2783          return this.value;
2784        }
2785        else
2786          return super.addChild(name);
2787      }
2788
2789      public EvidenceVariableCategoryComponent copy() {
2790        EvidenceVariableCategoryComponent dst = new EvidenceVariableCategoryComponent();
2791        copyValues(dst);
2792        return dst;
2793      }
2794
2795      public void copyValues(EvidenceVariableCategoryComponent dst) {
2796        super.copyValues(dst);
2797        dst.name = name == null ? null : name.copy();
2798        dst.value = value == null ? null : value.copy();
2799      }
2800
2801      @Override
2802      public boolean equalsDeep(Base other_) {
2803        if (!super.equalsDeep(other_))
2804          return false;
2805        if (!(other_ instanceof EvidenceVariableCategoryComponent))
2806          return false;
2807        EvidenceVariableCategoryComponent o = (EvidenceVariableCategoryComponent) other_;
2808        return compareDeep(name, o.name, true) && compareDeep(value, o.value, true);
2809      }
2810
2811      @Override
2812      public boolean equalsShallow(Base other_) {
2813        if (!super.equalsShallow(other_))
2814          return false;
2815        if (!(other_ instanceof EvidenceVariableCategoryComponent))
2816          return false;
2817        EvidenceVariableCategoryComponent o = (EvidenceVariableCategoryComponent) other_;
2818        return compareValues(name, o.name, true);
2819      }
2820
2821      public boolean isEmpty() {
2822        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, value);
2823      }
2824
2825  public String fhirType() {
2826    return "EvidenceVariable.category";
2827
2828  }
2829
2830  }
2831
2832    /**
2833     * An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.
2834     */
2835    @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true)
2836    @Description(shortDefinition="Canonical identifier for this evidence variable, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers." )
2837    protected UriType url;
2838
2839    /**
2840     * A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.
2841     */
2842    @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2843    @Description(shortDefinition="Additional identifier for the evidence variable", formalDefinition="A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance." )
2844    protected List<Identifier> identifier;
2845
2846    /**
2847     * The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
2848     */
2849    @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true)
2850    @Description(shortDefinition="Business version of the evidence variable", formalDefinition="The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts." )
2851    protected StringType version;
2852
2853    /**
2854     * Indicates the mechanism used to compare versions to determine which is more current.
2855     */
2856    @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true)
2857    @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
2858    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
2859    protected DataType versionAlgorithm;
2860
2861    /**
2862     * A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.
2863     */
2864    @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true)
2865    @Description(shortDefinition="Name for this evidence variable (computer friendly)", formalDefinition="A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation." )
2866    protected StringType name;
2867
2868    /**
2869     * A short, descriptive, user-friendly title for the evidence variable.
2870     */
2871    @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true)
2872    @Description(shortDefinition="Name for this evidence variable (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the evidence variable." )
2873    protected StringType title;
2874
2875    /**
2876     * The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
2877     */
2878    @Child(name = "shortTitle", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true)
2879    @Description(shortDefinition="Title for use in informal contexts", formalDefinition="The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary." )
2880    protected StringType shortTitle;
2881
2882    /**
2883     * The status of this evidence variable. Enables tracking the life-cycle of the content.
2884     */
2885    @Child(name = "status", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true)
2886    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this evidence variable. Enables tracking the life-cycle of the content." )
2887    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
2888    protected Enumeration<PublicationStatus> status;
2889
2890    /**
2891     * A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
2892     */
2893    @Child(name = "experimental", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=false)
2894    @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." )
2895    protected BooleanType experimental;
2896
2897    /**
2898     * The date  (and optionally time) when the evidence variable 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 evidence variable changes.
2899     */
2900    @Child(name = "date", type = {DateTimeType.class}, order=9, min=0, max=1, modifier=false, summary=true)
2901    @Description(shortDefinition="Date last changed", formalDefinition="The date  (and optionally time) when the evidence variable 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 evidence variable changes." )
2902    protected DateTimeType date;
2903
2904    /**
2905     * The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.
2906     */
2907    @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true)
2908    @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable." )
2909    protected StringType publisher;
2910
2911    /**
2912     * Contact details to assist a user in finding and communicating with the publisher.
2913     */
2914    @Child(name = "contact", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2915    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
2916    protected List<ContactDetail> contact;
2917
2918    /**
2919     * A free text natural language description of the evidence variable from a consumer's perspective.
2920     */
2921    @Child(name = "description", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=true)
2922    @Description(shortDefinition="Natural language description of the evidence variable", formalDefinition="A free text natural language description of the evidence variable from a consumer's perspective." )
2923    protected MarkdownType description;
2924
2925    /**
2926     * A human-readable string to clarify or explain concepts about the resource.
2927     */
2928    @Child(name = "note", type = {Annotation.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2929    @Description(shortDefinition="Used for footnotes or explanatory notes", formalDefinition="A human-readable string to clarify or explain concepts about the resource." )
2930    protected List<Annotation> note;
2931
2932    /**
2933     * 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 evidence variable instances.
2934     */
2935    @Child(name = "useContext", type = {UsageContext.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2936    @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 evidence variable instances." )
2937    protected List<UsageContext> useContext;
2938
2939    /**
2940     * Explanation of why this EvidenceVariable is needed and why it has been designed as it has.
2941     */
2942    @Child(name = "purpose", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false)
2943    @Description(shortDefinition="Why this EvidenceVariable is defined", formalDefinition="Explanation of why this EvidenceVariable is needed and why it has been designed as it has." )
2944    protected MarkdownType purpose;
2945
2946    /**
2947     * A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.
2948     */
2949    @Child(name = "copyright", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false)
2950    @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource." )
2951    protected MarkdownType copyright;
2952
2953    /**
2954     * 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').
2955     */
2956    @Child(name = "copyrightLabel", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false)
2957    @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="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')." )
2958    protected StringType copyrightLabel;
2959
2960    /**
2961     * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
2962
2963See guidance around (not) making local changes to elements [here](canonicalresource.html#localization).
2964     */
2965    @Child(name = "approvalDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false)
2966    @Description(shortDefinition="When the resource was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.\n\nSee guidance around (not) making local changes to elements [here](canonicalresource.html#localization)." )
2967    protected DateType approvalDate;
2968
2969    /**
2970     * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
2971     */
2972    @Child(name = "lastReviewDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false)
2973    @Description(shortDefinition="When the resource was last reviewed by the publisher", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." )
2974    protected DateType lastReviewDate;
2975
2976    /**
2977     * The period during which the resource content was or is planned to be in active use.
2978     */
2979    @Child(name = "effectivePeriod", type = {Period.class}, order=20, min=0, max=1, modifier=false, summary=false)
2980    @Description(shortDefinition="When the resource is expected to be used", formalDefinition="The period during which the resource content was or is planned to be in active use." )
2981    protected Period effectivePeriod;
2982
2983    /**
2984     * An individiual or organization primarily involved in the creation and maintenance of the content.
2985     */
2986    @Child(name = "author", type = {ContactDetail.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2987    @Description(shortDefinition="Who authored the content", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the content." )
2988    protected List<ContactDetail> author;
2989
2990    /**
2991     * An individual or organization primarily responsible for internal coherence of the content.
2992     */
2993    @Child(name = "editor", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2994    @Description(shortDefinition="Who edited the content", formalDefinition="An individual or organization primarily responsible for internal coherence of the content." )
2995    protected List<ContactDetail> editor;
2996
2997    /**
2998     * An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content.
2999     */
3000    @Child(name = "reviewer", type = {ContactDetail.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3001    @Description(shortDefinition="Who reviewed the content", formalDefinition="An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content." )
3002    protected List<ContactDetail> reviewer;
3003
3004    /**
3005     * An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting.
3006     */
3007    @Child(name = "endorser", type = {ContactDetail.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3008    @Description(shortDefinition="Who endorsed the content", formalDefinition="An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting." )
3009    protected List<ContactDetail> endorser;
3010
3011    /**
3012     * Related artifacts such as additional documentation, justification, or bibliographic references.
3013     */
3014    @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3015    @Description(shortDefinition="Additional documentation, citations, etc", formalDefinition="Related artifacts such as additional documentation, justification, or bibliographic references." )
3016    protected List<RelatedArtifact> relatedArtifact;
3017
3018    /**
3019     * True if the actual variable measured, false if a conceptual representation of the intended variable.
3020     */
3021    @Child(name = "actual", type = {BooleanType.class}, order=26, min=0, max=1, modifier=false, summary=false)
3022    @Description(shortDefinition="Actual or conceptual", formalDefinition="True if the actual variable measured, false if a conceptual representation of the intended variable." )
3023    protected BooleanType actual;
3024
3025    /**
3026     * A defining factor of the EvidenceVariable. Multiple characteristics are applied with "and" semantics.
3027     */
3028    @Child(name = "characteristic", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
3029    @Description(shortDefinition="A defining factor of the EvidenceVariable", formalDefinition="A defining factor of the EvidenceVariable. Multiple characteristics are applied with \"and\" semantics." )
3030    protected List<EvidenceVariableCharacteristicComponent> characteristic;
3031
3032    /**
3033     * The method of handling in statistical analysis.
3034     */
3035    @Child(name = "handling", type = {CodeType.class}, order=28, min=0, max=1, modifier=false, summary=false)
3036    @Description(shortDefinition="continuous | dichotomous | ordinal | polychotomous", formalDefinition="The method of handling in statistical analysis." )
3037    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/variable-handling")
3038    protected Enumeration<EvidenceVariableHandling> handling;
3039
3040    /**
3041     * A grouping for ordinal or polychotomous variables.
3042     */
3043    @Child(name = "category", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3044    @Description(shortDefinition="A grouping for ordinal or polychotomous variables", formalDefinition="A grouping for ordinal or polychotomous variables." )
3045    protected List<EvidenceVariableCategoryComponent> category;
3046
3047    private static final long serialVersionUID = -1626354085L;
3048
3049  /**
3050   * Constructor
3051   */
3052    public EvidenceVariable() {
3053      super();
3054    }
3055
3056  /**
3057   * Constructor
3058   */
3059    public EvidenceVariable(PublicationStatus status) {
3060      super();
3061      this.setStatus(status);
3062    }
3063
3064    /**
3065     * @return {@link #url} (An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
3066     */
3067    public UriType getUrlElement() { 
3068      if (this.url == null)
3069        if (Configuration.errorOnAutoCreate())
3070          throw new Error("Attempt to auto-create EvidenceVariable.url");
3071        else if (Configuration.doAutoCreate())
3072          this.url = new UriType(); // bb
3073      return this.url;
3074    }
3075
3076    public boolean hasUrlElement() { 
3077      return this.url != null && !this.url.isEmpty();
3078    }
3079
3080    public boolean hasUrl() { 
3081      return this.url != null && !this.url.isEmpty();
3082    }
3083
3084    /**
3085     * @param value {@link #url} (An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
3086     */
3087    public EvidenceVariable setUrlElement(UriType value) { 
3088      this.url = value;
3089      return this;
3090    }
3091
3092    /**
3093     * @return An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.
3094     */
3095    public String getUrl() { 
3096      return this.url == null ? null : this.url.getValue();
3097    }
3098
3099    /**
3100     * @param value An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.
3101     */
3102    public EvidenceVariable setUrl(String value) { 
3103      if (Utilities.noString(value))
3104        this.url = null;
3105      else {
3106        if (this.url == null)
3107          this.url = new UriType();
3108        this.url.setValue(value);
3109      }
3110      return this;
3111    }
3112
3113    /**
3114     * @return {@link #identifier} (A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.)
3115     */
3116    public List<Identifier> getIdentifier() { 
3117      if (this.identifier == null)
3118        this.identifier = new ArrayList<Identifier>();
3119      return this.identifier;
3120    }
3121
3122    /**
3123     * @return Returns a reference to <code>this</code> for easy method chaining
3124     */
3125    public EvidenceVariable setIdentifier(List<Identifier> theIdentifier) { 
3126      this.identifier = theIdentifier;
3127      return this;
3128    }
3129
3130    public boolean hasIdentifier() { 
3131      if (this.identifier == null)
3132        return false;
3133      for (Identifier item : this.identifier)
3134        if (!item.isEmpty())
3135          return true;
3136      return false;
3137    }
3138
3139    public Identifier addIdentifier() { //3
3140      Identifier t = new Identifier();
3141      if (this.identifier == null)
3142        this.identifier = new ArrayList<Identifier>();
3143      this.identifier.add(t);
3144      return t;
3145    }
3146
3147    public EvidenceVariable addIdentifier(Identifier t) { //3
3148      if (t == null)
3149        return this;
3150      if (this.identifier == null)
3151        this.identifier = new ArrayList<Identifier>();
3152      this.identifier.add(t);
3153      return this;
3154    }
3155
3156    /**
3157     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
3158     */
3159    public Identifier getIdentifierFirstRep() { 
3160      if (getIdentifier().isEmpty()) {
3161        addIdentifier();
3162      }
3163      return getIdentifier().get(0);
3164    }
3165
3166    /**
3167     * @return {@link #version} (The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
3168     */
3169    public StringType getVersionElement() { 
3170      if (this.version == null)
3171        if (Configuration.errorOnAutoCreate())
3172          throw new Error("Attempt to auto-create EvidenceVariable.version");
3173        else if (Configuration.doAutoCreate())
3174          this.version = new StringType(); // bb
3175      return this.version;
3176    }
3177
3178    public boolean hasVersionElement() { 
3179      return this.version != null && !this.version.isEmpty();
3180    }
3181
3182    public boolean hasVersion() { 
3183      return this.version != null && !this.version.isEmpty();
3184    }
3185
3186    /**
3187     * @param value {@link #version} (The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value
3188     */
3189    public EvidenceVariable setVersionElement(StringType value) { 
3190      this.version = value;
3191      return this;
3192    }
3193
3194    /**
3195     * @return The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
3196     */
3197    public String getVersion() { 
3198      return this.version == null ? null : this.version.getValue();
3199    }
3200
3201    /**
3202     * @param value The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.
3203     */
3204    public EvidenceVariable setVersion(String value) { 
3205      if (Utilities.noString(value))
3206        this.version = null;
3207      else {
3208        if (this.version == null)
3209          this.version = new StringType();
3210        this.version.setValue(value);
3211      }
3212      return this;
3213    }
3214
3215    /**
3216     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
3217     */
3218    public DataType getVersionAlgorithm() { 
3219      return this.versionAlgorithm;
3220    }
3221
3222    /**
3223     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
3224     */
3225    public StringType getVersionAlgorithmStringType() throws FHIRException { 
3226      if (this.versionAlgorithm == null)
3227        this.versionAlgorithm = new StringType();
3228      if (!(this.versionAlgorithm instanceof StringType))
3229        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
3230      return (StringType) this.versionAlgorithm;
3231    }
3232
3233    public boolean hasVersionAlgorithmStringType() { 
3234      return this != null && this.versionAlgorithm instanceof StringType;
3235    }
3236
3237    /**
3238     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
3239     */
3240    public Coding getVersionAlgorithmCoding() throws FHIRException { 
3241      if (this.versionAlgorithm == null)
3242        this.versionAlgorithm = new Coding();
3243      if (!(this.versionAlgorithm instanceof Coding))
3244        throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
3245      return (Coding) this.versionAlgorithm;
3246    }
3247
3248    public boolean hasVersionAlgorithmCoding() { 
3249      return this != null && this.versionAlgorithm instanceof Coding;
3250    }
3251
3252    public boolean hasVersionAlgorithm() { 
3253      return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
3254    }
3255
3256    /**
3257     * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
3258     */
3259    public EvidenceVariable setVersionAlgorithm(DataType value) { 
3260      if (value != null && !(value instanceof StringType || value instanceof Coding))
3261        throw new FHIRException("Not the right type for EvidenceVariable.versionAlgorithm[x]: "+value.fhirType());
3262      this.versionAlgorithm = value;
3263      return this;
3264    }
3265
3266    /**
3267     * @return {@link #name} (A natural language name identifying the evidence variable. 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
3268     */
3269    public StringType getNameElement() { 
3270      if (this.name == null)
3271        if (Configuration.errorOnAutoCreate())
3272          throw new Error("Attempt to auto-create EvidenceVariable.name");
3273        else if (Configuration.doAutoCreate())
3274          this.name = new StringType(); // bb
3275      return this.name;
3276    }
3277
3278    public boolean hasNameElement() { 
3279      return this.name != null && !this.name.isEmpty();
3280    }
3281
3282    public boolean hasName() { 
3283      return this.name != null && !this.name.isEmpty();
3284    }
3285
3286    /**
3287     * @param value {@link #name} (A natural language name identifying the evidence variable. 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
3288     */
3289    public EvidenceVariable setNameElement(StringType value) { 
3290      this.name = value;
3291      return this;
3292    }
3293
3294    /**
3295     * @return A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.
3296     */
3297    public String getName() { 
3298      return this.name == null ? null : this.name.getValue();
3299    }
3300
3301    /**
3302     * @param value A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.
3303     */
3304    public EvidenceVariable setName(String value) { 
3305      if (Utilities.noString(value))
3306        this.name = null;
3307      else {
3308        if (this.name == null)
3309          this.name = new StringType();
3310        this.name.setValue(value);
3311      }
3312      return this;
3313    }
3314
3315    /**
3316     * @return {@link #title} (A short, descriptive, user-friendly title for the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
3317     */
3318    public StringType getTitleElement() { 
3319      if (this.title == null)
3320        if (Configuration.errorOnAutoCreate())
3321          throw new Error("Attempt to auto-create EvidenceVariable.title");
3322        else if (Configuration.doAutoCreate())
3323          this.title = new StringType(); // bb
3324      return this.title;
3325    }
3326
3327    public boolean hasTitleElement() { 
3328      return this.title != null && !this.title.isEmpty();
3329    }
3330
3331    public boolean hasTitle() { 
3332      return this.title != null && !this.title.isEmpty();
3333    }
3334
3335    /**
3336     * @param value {@link #title} (A short, descriptive, user-friendly title for the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
3337     */
3338    public EvidenceVariable setTitleElement(StringType value) { 
3339      this.title = value;
3340      return this;
3341    }
3342
3343    /**
3344     * @return A short, descriptive, user-friendly title for the evidence variable.
3345     */
3346    public String getTitle() { 
3347      return this.title == null ? null : this.title.getValue();
3348    }
3349
3350    /**
3351     * @param value A short, descriptive, user-friendly title for the evidence variable.
3352     */
3353    public EvidenceVariable setTitle(String value) { 
3354      if (Utilities.noString(value))
3355        this.title = null;
3356      else {
3357        if (this.title == null)
3358          this.title = new StringType();
3359        this.title.setValue(value);
3360      }
3361      return this;
3362    }
3363
3364    /**
3365     * @return {@link #shortTitle} (The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.). This is the underlying object with id, value and extensions. The accessor "getShortTitle" gives direct access to the value
3366     */
3367    public StringType getShortTitleElement() { 
3368      if (this.shortTitle == null)
3369        if (Configuration.errorOnAutoCreate())
3370          throw new Error("Attempt to auto-create EvidenceVariable.shortTitle");
3371        else if (Configuration.doAutoCreate())
3372          this.shortTitle = new StringType(); // bb
3373      return this.shortTitle;
3374    }
3375
3376    public boolean hasShortTitleElement() { 
3377      return this.shortTitle != null && !this.shortTitle.isEmpty();
3378    }
3379
3380    public boolean hasShortTitle() { 
3381      return this.shortTitle != null && !this.shortTitle.isEmpty();
3382    }
3383
3384    /**
3385     * @param value {@link #shortTitle} (The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.). This is the underlying object with id, value and extensions. The accessor "getShortTitle" gives direct access to the value
3386     */
3387    public EvidenceVariable setShortTitleElement(StringType value) { 
3388      this.shortTitle = value;
3389      return this;
3390    }
3391
3392    /**
3393     * @return The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
3394     */
3395    public String getShortTitle() { 
3396      return this.shortTitle == null ? null : this.shortTitle.getValue();
3397    }
3398
3399    /**
3400     * @param value The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.
3401     */
3402    public EvidenceVariable setShortTitle(String value) { 
3403      if (Utilities.noString(value))
3404        this.shortTitle = null;
3405      else {
3406        if (this.shortTitle == null)
3407          this.shortTitle = new StringType();
3408        this.shortTitle.setValue(value);
3409      }
3410      return this;
3411    }
3412
3413    /**
3414     * @return {@link #status} (The status of this evidence variable. 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
3415     */
3416    public Enumeration<PublicationStatus> getStatusElement() { 
3417      if (this.status == null)
3418        if (Configuration.errorOnAutoCreate())
3419          throw new Error("Attempt to auto-create EvidenceVariable.status");
3420        else if (Configuration.doAutoCreate())
3421          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
3422      return this.status;
3423    }
3424
3425    public boolean hasStatusElement() { 
3426      return this.status != null && !this.status.isEmpty();
3427    }
3428
3429    public boolean hasStatus() { 
3430      return this.status != null && !this.status.isEmpty();
3431    }
3432
3433    /**
3434     * @param value {@link #status} (The status of this evidence variable. 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
3435     */
3436    public EvidenceVariable setStatusElement(Enumeration<PublicationStatus> value) { 
3437      this.status = value;
3438      return this;
3439    }
3440
3441    /**
3442     * @return The status of this evidence variable. Enables tracking the life-cycle of the content.
3443     */
3444    public PublicationStatus getStatus() { 
3445      return this.status == null ? null : this.status.getValue();
3446    }
3447
3448    /**
3449     * @param value The status of this evidence variable. Enables tracking the life-cycle of the content.
3450     */
3451    public EvidenceVariable setStatus(PublicationStatus value) { 
3452        if (this.status == null)
3453          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
3454        this.status.setValue(value);
3455      return this;
3456    }
3457
3458    /**
3459     * @return {@link #experimental} (A Boolean value to indicate that this resource 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
3460     */
3461    public BooleanType getExperimentalElement() { 
3462      if (this.experimental == null)
3463        if (Configuration.errorOnAutoCreate())
3464          throw new Error("Attempt to auto-create EvidenceVariable.experimental");
3465        else if (Configuration.doAutoCreate())
3466          this.experimental = new BooleanType(); // bb
3467      return this.experimental;
3468    }
3469
3470    public boolean hasExperimentalElement() { 
3471      return this.experimental != null && !this.experimental.isEmpty();
3472    }
3473
3474    public boolean hasExperimental() { 
3475      return this.experimental != null && !this.experimental.isEmpty();
3476    }
3477
3478    /**
3479     * @param value {@link #experimental} (A Boolean value to indicate that this resource 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
3480     */
3481    public EvidenceVariable setExperimentalElement(BooleanType value) { 
3482      this.experimental = value;
3483      return this;
3484    }
3485
3486    /**
3487     * @return A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
3488     */
3489    public boolean getExperimental() { 
3490      return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
3491    }
3492
3493    /**
3494     * @param value A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
3495     */
3496    public EvidenceVariable setExperimental(boolean value) { 
3497        if (this.experimental == null)
3498          this.experimental = new BooleanType();
3499        this.experimental.setValue(value);
3500      return this;
3501    }
3502
3503    /**
3504     * @return {@link #date} (The date  (and optionally time) when the evidence variable 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 evidence variable changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
3505     */
3506    public DateTimeType getDateElement() { 
3507      if (this.date == null)
3508        if (Configuration.errorOnAutoCreate())
3509          throw new Error("Attempt to auto-create EvidenceVariable.date");
3510        else if (Configuration.doAutoCreate())
3511          this.date = new DateTimeType(); // bb
3512      return this.date;
3513    }
3514
3515    public boolean hasDateElement() { 
3516      return this.date != null && !this.date.isEmpty();
3517    }
3518
3519    public boolean hasDate() { 
3520      return this.date != null && !this.date.isEmpty();
3521    }
3522
3523    /**
3524     * @param value {@link #date} (The date  (and optionally time) when the evidence variable 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 evidence variable changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
3525     */
3526    public EvidenceVariable setDateElement(DateTimeType value) { 
3527      this.date = value;
3528      return this;
3529    }
3530
3531    /**
3532     * @return The date  (and optionally time) when the evidence variable 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 evidence variable changes.
3533     */
3534    public Date getDate() { 
3535      return this.date == null ? null : this.date.getValue();
3536    }
3537
3538    /**
3539     * @param value The date  (and optionally time) when the evidence variable 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 evidence variable changes.
3540     */
3541    public EvidenceVariable setDate(Date value) { 
3542      if (value == null)
3543        this.date = null;
3544      else {
3545        if (this.date == null)
3546          this.date = new DateTimeType();
3547        this.date.setValue(value);
3548      }
3549      return this;
3550    }
3551
3552    /**
3553     * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
3554     */
3555    public StringType getPublisherElement() { 
3556      if (this.publisher == null)
3557        if (Configuration.errorOnAutoCreate())
3558          throw new Error("Attempt to auto-create EvidenceVariable.publisher");
3559        else if (Configuration.doAutoCreate())
3560          this.publisher = new StringType(); // bb
3561      return this.publisher;
3562    }
3563
3564    public boolean hasPublisherElement() { 
3565      return this.publisher != null && !this.publisher.isEmpty();
3566    }
3567
3568    public boolean hasPublisher() { 
3569      return this.publisher != null && !this.publisher.isEmpty();
3570    }
3571
3572    /**
3573     * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
3574     */
3575    public EvidenceVariable setPublisherElement(StringType value) { 
3576      this.publisher = value;
3577      return this;
3578    }
3579
3580    /**
3581     * @return The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.
3582     */
3583    public String getPublisher() { 
3584      return this.publisher == null ? null : this.publisher.getValue();
3585    }
3586
3587    /**
3588     * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.
3589     */
3590    public EvidenceVariable setPublisher(String value) { 
3591      if (Utilities.noString(value))
3592        this.publisher = null;
3593      else {
3594        if (this.publisher == null)
3595          this.publisher = new StringType();
3596        this.publisher.setValue(value);
3597      }
3598      return this;
3599    }
3600
3601    /**
3602     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
3603     */
3604    public List<ContactDetail> getContact() { 
3605      if (this.contact == null)
3606        this.contact = new ArrayList<ContactDetail>();
3607      return this.contact;
3608    }
3609
3610    /**
3611     * @return Returns a reference to <code>this</code> for easy method chaining
3612     */
3613    public EvidenceVariable setContact(List<ContactDetail> theContact) { 
3614      this.contact = theContact;
3615      return this;
3616    }
3617
3618    public boolean hasContact() { 
3619      if (this.contact == null)
3620        return false;
3621      for (ContactDetail item : this.contact)
3622        if (!item.isEmpty())
3623          return true;
3624      return false;
3625    }
3626
3627    public ContactDetail addContact() { //3
3628      ContactDetail t = new ContactDetail();
3629      if (this.contact == null)
3630        this.contact = new ArrayList<ContactDetail>();
3631      this.contact.add(t);
3632      return t;
3633    }
3634
3635    public EvidenceVariable addContact(ContactDetail t) { //3
3636      if (t == null)
3637        return this;
3638      if (this.contact == null)
3639        this.contact = new ArrayList<ContactDetail>();
3640      this.contact.add(t);
3641      return this;
3642    }
3643
3644    /**
3645     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
3646     */
3647    public ContactDetail getContactFirstRep() { 
3648      if (getContact().isEmpty()) {
3649        addContact();
3650      }
3651      return getContact().get(0);
3652    }
3653
3654    /**
3655     * @return {@link #description} (A free text natural language description of the evidence variable from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
3656     */
3657    public MarkdownType getDescriptionElement() { 
3658      if (this.description == null)
3659        if (Configuration.errorOnAutoCreate())
3660          throw new Error("Attempt to auto-create EvidenceVariable.description");
3661        else if (Configuration.doAutoCreate())
3662          this.description = new MarkdownType(); // bb
3663      return this.description;
3664    }
3665
3666    public boolean hasDescriptionElement() { 
3667      return this.description != null && !this.description.isEmpty();
3668    }
3669
3670    public boolean hasDescription() { 
3671      return this.description != null && !this.description.isEmpty();
3672    }
3673
3674    /**
3675     * @param value {@link #description} (A free text natural language description of the evidence variable from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
3676     */
3677    public EvidenceVariable setDescriptionElement(MarkdownType value) { 
3678      this.description = value;
3679      return this;
3680    }
3681
3682    /**
3683     * @return A free text natural language description of the evidence variable from a consumer's perspective.
3684     */
3685    public String getDescription() { 
3686      return this.description == null ? null : this.description.getValue();
3687    }
3688
3689    /**
3690     * @param value A free text natural language description of the evidence variable from a consumer's perspective.
3691     */
3692    public EvidenceVariable setDescription(String value) { 
3693      if (Utilities.noString(value))
3694        this.description = null;
3695      else {
3696        if (this.description == null)
3697          this.description = new MarkdownType();
3698        this.description.setValue(value);
3699      }
3700      return this;
3701    }
3702
3703    /**
3704     * @return {@link #note} (A human-readable string to clarify or explain concepts about the resource.)
3705     */
3706    public List<Annotation> getNote() { 
3707      if (this.note == null)
3708        this.note = new ArrayList<Annotation>();
3709      return this.note;
3710    }
3711
3712    /**
3713     * @return Returns a reference to <code>this</code> for easy method chaining
3714     */
3715    public EvidenceVariable setNote(List<Annotation> theNote) { 
3716      this.note = theNote;
3717      return this;
3718    }
3719
3720    public boolean hasNote() { 
3721      if (this.note == null)
3722        return false;
3723      for (Annotation item : this.note)
3724        if (!item.isEmpty())
3725          return true;
3726      return false;
3727    }
3728
3729    public Annotation addNote() { //3
3730      Annotation t = new Annotation();
3731      if (this.note == null)
3732        this.note = new ArrayList<Annotation>();
3733      this.note.add(t);
3734      return t;
3735    }
3736
3737    public EvidenceVariable addNote(Annotation t) { //3
3738      if (t == null)
3739        return this;
3740      if (this.note == null)
3741        this.note = new ArrayList<Annotation>();
3742      this.note.add(t);
3743      return this;
3744    }
3745
3746    /**
3747     * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3}
3748     */
3749    public Annotation getNoteFirstRep() { 
3750      if (getNote().isEmpty()) {
3751        addNote();
3752      }
3753      return getNote().get(0);
3754    }
3755
3756    /**
3757     * @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 evidence variable instances.)
3758     */
3759    public List<UsageContext> getUseContext() { 
3760      if (this.useContext == null)
3761        this.useContext = new ArrayList<UsageContext>();
3762      return this.useContext;
3763    }
3764
3765    /**
3766     * @return Returns a reference to <code>this</code> for easy method chaining
3767     */
3768    public EvidenceVariable setUseContext(List<UsageContext> theUseContext) { 
3769      this.useContext = theUseContext;
3770      return this;
3771    }
3772
3773    public boolean hasUseContext() { 
3774      if (this.useContext == null)
3775        return false;
3776      for (UsageContext item : this.useContext)
3777        if (!item.isEmpty())
3778          return true;
3779      return false;
3780    }
3781
3782    public UsageContext addUseContext() { //3
3783      UsageContext t = new UsageContext();
3784      if (this.useContext == null)
3785        this.useContext = new ArrayList<UsageContext>();
3786      this.useContext.add(t);
3787      return t;
3788    }
3789
3790    public EvidenceVariable addUseContext(UsageContext t) { //3
3791      if (t == null)
3792        return this;
3793      if (this.useContext == null)
3794        this.useContext = new ArrayList<UsageContext>();
3795      this.useContext.add(t);
3796      return this;
3797    }
3798
3799    /**
3800     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
3801     */
3802    public UsageContext getUseContextFirstRep() { 
3803      if (getUseContext().isEmpty()) {
3804        addUseContext();
3805      }
3806      return getUseContext().get(0);
3807    }
3808
3809    /**
3810     * @return {@link #purpose} (Explanation of why this EvidenceVariable 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
3811     */
3812    public MarkdownType getPurposeElement() { 
3813      if (this.purpose == null)
3814        if (Configuration.errorOnAutoCreate())
3815          throw new Error("Attempt to auto-create EvidenceVariable.purpose");
3816        else if (Configuration.doAutoCreate())
3817          this.purpose = new MarkdownType(); // bb
3818      return this.purpose;
3819    }
3820
3821    public boolean hasPurposeElement() { 
3822      return this.purpose != null && !this.purpose.isEmpty();
3823    }
3824
3825    public boolean hasPurpose() { 
3826      return this.purpose != null && !this.purpose.isEmpty();
3827    }
3828
3829    /**
3830     * @param value {@link #purpose} (Explanation of why this EvidenceVariable 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
3831     */
3832    public EvidenceVariable setPurposeElement(MarkdownType value) { 
3833      this.purpose = value;
3834      return this;
3835    }
3836
3837    /**
3838     * @return Explanation of why this EvidenceVariable is needed and why it has been designed as it has.
3839     */
3840    public String getPurpose() { 
3841      return this.purpose == null ? null : this.purpose.getValue();
3842    }
3843
3844    /**
3845     * @param value Explanation of why this EvidenceVariable is needed and why it has been designed as it has.
3846     */
3847    public EvidenceVariable setPurpose(String value) { 
3848      if (Utilities.noString(value))
3849        this.purpose = null;
3850      else {
3851        if (this.purpose == null)
3852          this.purpose = new MarkdownType();
3853        this.purpose.setValue(value);
3854      }
3855      return this;
3856    }
3857
3858    /**
3859     * @return {@link #copyright} (A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
3860     */
3861    public MarkdownType getCopyrightElement() { 
3862      if (this.copyright == null)
3863        if (Configuration.errorOnAutoCreate())
3864          throw new Error("Attempt to auto-create EvidenceVariable.copyright");
3865        else if (Configuration.doAutoCreate())
3866          this.copyright = new MarkdownType(); // bb
3867      return this.copyright;
3868    }
3869
3870    public boolean hasCopyrightElement() { 
3871      return this.copyright != null && !this.copyright.isEmpty();
3872    }
3873
3874    public boolean hasCopyright() { 
3875      return this.copyright != null && !this.copyright.isEmpty();
3876    }
3877
3878    /**
3879     * @param value {@link #copyright} (A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
3880     */
3881    public EvidenceVariable setCopyrightElement(MarkdownType value) { 
3882      this.copyright = value;
3883      return this;
3884    }
3885
3886    /**
3887     * @return A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.
3888     */
3889    public String getCopyright() { 
3890      return this.copyright == null ? null : this.copyright.getValue();
3891    }
3892
3893    /**
3894     * @param value A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.
3895     */
3896    public EvidenceVariable setCopyright(String value) { 
3897      if (Utilities.noString(value))
3898        this.copyright = null;
3899      else {
3900        if (this.copyright == null)
3901          this.copyright = new MarkdownType();
3902        this.copyright.setValue(value);
3903      }
3904      return this;
3905    }
3906
3907    /**
3908     * @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
3909     */
3910    public StringType getCopyrightLabelElement() { 
3911      if (this.copyrightLabel == null)
3912        if (Configuration.errorOnAutoCreate())
3913          throw new Error("Attempt to auto-create EvidenceVariable.copyrightLabel");
3914        else if (Configuration.doAutoCreate())
3915          this.copyrightLabel = new StringType(); // bb
3916      return this.copyrightLabel;
3917    }
3918
3919    public boolean hasCopyrightLabelElement() { 
3920      return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
3921    }
3922
3923    public boolean hasCopyrightLabel() { 
3924      return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
3925    }
3926
3927    /**
3928     * @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
3929     */
3930    public EvidenceVariable setCopyrightLabelElement(StringType value) { 
3931      this.copyrightLabel = value;
3932      return this;
3933    }
3934
3935    /**
3936     * @return 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').
3937     */
3938    public String getCopyrightLabel() { 
3939      return this.copyrightLabel == null ? null : this.copyrightLabel.getValue();
3940    }
3941
3942    /**
3943     * @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').
3944     */
3945    public EvidenceVariable setCopyrightLabel(String value) { 
3946      if (Utilities.noString(value))
3947        this.copyrightLabel = null;
3948      else {
3949        if (this.copyrightLabel == null)
3950          this.copyrightLabel = new StringType();
3951        this.copyrightLabel.setValue(value);
3952      }
3953      return this;
3954    }
3955
3956    /**
3957     * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
3958
3959See guidance around (not) making local changes to elements [here](canonicalresource.html#localization).). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value
3960     */
3961    public DateType getApprovalDateElement() { 
3962      if (this.approvalDate == null)
3963        if (Configuration.errorOnAutoCreate())
3964          throw new Error("Attempt to auto-create EvidenceVariable.approvalDate");
3965        else if (Configuration.doAutoCreate())
3966          this.approvalDate = new DateType(); // bb
3967      return this.approvalDate;
3968    }
3969
3970    public boolean hasApprovalDateElement() { 
3971      return this.approvalDate != null && !this.approvalDate.isEmpty();
3972    }
3973
3974    public boolean hasApprovalDate() { 
3975      return this.approvalDate != null && !this.approvalDate.isEmpty();
3976    }
3977
3978    /**
3979     * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
3980
3981See guidance around (not) making local changes to elements [here](canonicalresource.html#localization).). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value
3982     */
3983    public EvidenceVariable setApprovalDateElement(DateType value) { 
3984      this.approvalDate = value;
3985      return this;
3986    }
3987
3988    /**
3989     * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
3990
3991See guidance around (not) making local changes to elements [here](canonicalresource.html#localization).
3992     */
3993    public Date getApprovalDate() { 
3994      return this.approvalDate == null ? null : this.approvalDate.getValue();
3995    }
3996
3997    /**
3998     * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
3999
4000See guidance around (not) making local changes to elements [here](canonicalresource.html#localization).
4001     */
4002    public EvidenceVariable setApprovalDate(Date value) { 
4003      if (value == null)
4004        this.approvalDate = null;
4005      else {
4006        if (this.approvalDate == null)
4007          this.approvalDate = new DateType();
4008        this.approvalDate.setValue(value);
4009      }
4010      return this;
4011    }
4012
4013    /**
4014     * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value
4015     */
4016    public DateType getLastReviewDateElement() { 
4017      if (this.lastReviewDate == null)
4018        if (Configuration.errorOnAutoCreate())
4019          throw new Error("Attempt to auto-create EvidenceVariable.lastReviewDate");
4020        else if (Configuration.doAutoCreate())
4021          this.lastReviewDate = new DateType(); // bb
4022      return this.lastReviewDate;
4023    }
4024
4025    public boolean hasLastReviewDateElement() { 
4026      return this.lastReviewDate != null && !this.lastReviewDate.isEmpty();
4027    }
4028
4029    public boolean hasLastReviewDate() { 
4030      return this.lastReviewDate != null && !this.lastReviewDate.isEmpty();
4031    }
4032
4033    /**
4034     * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value
4035     */
4036    public EvidenceVariable setLastReviewDateElement(DateType value) { 
4037      this.lastReviewDate = value;
4038      return this;
4039    }
4040
4041    /**
4042     * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
4043     */
4044    public Date getLastReviewDate() { 
4045      return this.lastReviewDate == null ? null : this.lastReviewDate.getValue();
4046    }
4047
4048    /**
4049     * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
4050     */
4051    public EvidenceVariable setLastReviewDate(Date value) { 
4052      if (value == null)
4053        this.lastReviewDate = null;
4054      else {
4055        if (this.lastReviewDate == null)
4056          this.lastReviewDate = new DateType();
4057        this.lastReviewDate.setValue(value);
4058      }
4059      return this;
4060    }
4061
4062    /**
4063     * @return {@link #effectivePeriod} (The period during which the resource content was or is planned to be in active use.)
4064     */
4065    public Period getEffectivePeriod() { 
4066      if (this.effectivePeriod == null)
4067        if (Configuration.errorOnAutoCreate())
4068          throw new Error("Attempt to auto-create EvidenceVariable.effectivePeriod");
4069        else if (Configuration.doAutoCreate())
4070          this.effectivePeriod = new Period(); // cc
4071      return this.effectivePeriod;
4072    }
4073
4074    public boolean hasEffectivePeriod() { 
4075      return this.effectivePeriod != null && !this.effectivePeriod.isEmpty();
4076    }
4077
4078    /**
4079     * @param value {@link #effectivePeriod} (The period during which the resource content was or is planned to be in active use.)
4080     */
4081    public EvidenceVariable setEffectivePeriod(Period value) { 
4082      this.effectivePeriod = value;
4083      return this;
4084    }
4085
4086    /**
4087     * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the content.)
4088     */
4089    public List<ContactDetail> getAuthor() { 
4090      if (this.author == null)
4091        this.author = new ArrayList<ContactDetail>();
4092      return this.author;
4093    }
4094
4095    /**
4096     * @return Returns a reference to <code>this</code> for easy method chaining
4097     */
4098    public EvidenceVariable setAuthor(List<ContactDetail> theAuthor) { 
4099      this.author = theAuthor;
4100      return this;
4101    }
4102
4103    public boolean hasAuthor() { 
4104      if (this.author == null)
4105        return false;
4106      for (ContactDetail item : this.author)
4107        if (!item.isEmpty())
4108          return true;
4109      return false;
4110    }
4111
4112    public ContactDetail addAuthor() { //3
4113      ContactDetail t = new ContactDetail();
4114      if (this.author == null)
4115        this.author = new ArrayList<ContactDetail>();
4116      this.author.add(t);
4117      return t;
4118    }
4119
4120    public EvidenceVariable addAuthor(ContactDetail t) { //3
4121      if (t == null)
4122        return this;
4123      if (this.author == null)
4124        this.author = new ArrayList<ContactDetail>();
4125      this.author.add(t);
4126      return this;
4127    }
4128
4129    /**
4130     * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3}
4131     */
4132    public ContactDetail getAuthorFirstRep() { 
4133      if (getAuthor().isEmpty()) {
4134        addAuthor();
4135      }
4136      return getAuthor().get(0);
4137    }
4138
4139    /**
4140     * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the content.)
4141     */
4142    public List<ContactDetail> getEditor() { 
4143      if (this.editor == null)
4144        this.editor = new ArrayList<ContactDetail>();
4145      return this.editor;
4146    }
4147
4148    /**
4149     * @return Returns a reference to <code>this</code> for easy method chaining
4150     */
4151    public EvidenceVariable setEditor(List<ContactDetail> theEditor) { 
4152      this.editor = theEditor;
4153      return this;
4154    }
4155
4156    public boolean hasEditor() { 
4157      if (this.editor == null)
4158        return false;
4159      for (ContactDetail item : this.editor)
4160        if (!item.isEmpty())
4161          return true;
4162      return false;
4163    }
4164
4165    public ContactDetail addEditor() { //3
4166      ContactDetail t = new ContactDetail();
4167      if (this.editor == null)
4168        this.editor = new ArrayList<ContactDetail>();
4169      this.editor.add(t);
4170      return t;
4171    }
4172
4173    public EvidenceVariable addEditor(ContactDetail t) { //3
4174      if (t == null)
4175        return this;
4176      if (this.editor == null)
4177        this.editor = new ArrayList<ContactDetail>();
4178      this.editor.add(t);
4179      return this;
4180    }
4181
4182    /**
4183     * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3}
4184     */
4185    public ContactDetail getEditorFirstRep() { 
4186      if (getEditor().isEmpty()) {
4187        addEditor();
4188      }
4189      return getEditor().get(0);
4190    }
4191
4192    /**
4193     * @return {@link #reviewer} (An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content.)
4194     */
4195    public List<ContactDetail> getReviewer() { 
4196      if (this.reviewer == null)
4197        this.reviewer = new ArrayList<ContactDetail>();
4198      return this.reviewer;
4199    }
4200
4201    /**
4202     * @return Returns a reference to <code>this</code> for easy method chaining
4203     */
4204    public EvidenceVariable setReviewer(List<ContactDetail> theReviewer) { 
4205      this.reviewer = theReviewer;
4206      return this;
4207    }
4208
4209    public boolean hasReviewer() { 
4210      if (this.reviewer == null)
4211        return false;
4212      for (ContactDetail item : this.reviewer)
4213        if (!item.isEmpty())
4214          return true;
4215      return false;
4216    }
4217
4218    public ContactDetail addReviewer() { //3
4219      ContactDetail t = new ContactDetail();
4220      if (this.reviewer == null)
4221        this.reviewer = new ArrayList<ContactDetail>();
4222      this.reviewer.add(t);
4223      return t;
4224    }
4225
4226    public EvidenceVariable addReviewer(ContactDetail t) { //3
4227      if (t == null)
4228        return this;
4229      if (this.reviewer == null)
4230        this.reviewer = new ArrayList<ContactDetail>();
4231      this.reviewer.add(t);
4232      return this;
4233    }
4234
4235    /**
4236     * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3}
4237     */
4238    public ContactDetail getReviewerFirstRep() { 
4239      if (getReviewer().isEmpty()) {
4240        addReviewer();
4241      }
4242      return getReviewer().get(0);
4243    }
4244
4245    /**
4246     * @return {@link #endorser} (An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting.)
4247     */
4248    public List<ContactDetail> getEndorser() { 
4249      if (this.endorser == null)
4250        this.endorser = new ArrayList<ContactDetail>();
4251      return this.endorser;
4252    }
4253
4254    /**
4255     * @return Returns a reference to <code>this</code> for easy method chaining
4256     */
4257    public EvidenceVariable setEndorser(List<ContactDetail> theEndorser) { 
4258      this.endorser = theEndorser;
4259      return this;
4260    }
4261
4262    public boolean hasEndorser() { 
4263      if (this.endorser == null)
4264        return false;
4265      for (ContactDetail item : this.endorser)
4266        if (!item.isEmpty())
4267          return true;
4268      return false;
4269    }
4270
4271    public ContactDetail addEndorser() { //3
4272      ContactDetail t = new ContactDetail();
4273      if (this.endorser == null)
4274        this.endorser = new ArrayList<ContactDetail>();
4275      this.endorser.add(t);
4276      return t;
4277    }
4278
4279    public EvidenceVariable addEndorser(ContactDetail t) { //3
4280      if (t == null)
4281        return this;
4282      if (this.endorser == null)
4283        this.endorser = new ArrayList<ContactDetail>();
4284      this.endorser.add(t);
4285      return this;
4286    }
4287
4288    /**
4289     * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3}
4290     */
4291    public ContactDetail getEndorserFirstRep() { 
4292      if (getEndorser().isEmpty()) {
4293        addEndorser();
4294      }
4295      return getEndorser().get(0);
4296    }
4297
4298    /**
4299     * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, or bibliographic references.)
4300     */
4301    public List<RelatedArtifact> getRelatedArtifact() { 
4302      if (this.relatedArtifact == null)
4303        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4304      return this.relatedArtifact;
4305    }
4306
4307    /**
4308     * @return Returns a reference to <code>this</code> for easy method chaining
4309     */
4310    public EvidenceVariable setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 
4311      this.relatedArtifact = theRelatedArtifact;
4312      return this;
4313    }
4314
4315    public boolean hasRelatedArtifact() { 
4316      if (this.relatedArtifact == null)
4317        return false;
4318      for (RelatedArtifact item : this.relatedArtifact)
4319        if (!item.isEmpty())
4320          return true;
4321      return false;
4322    }
4323
4324    public RelatedArtifact addRelatedArtifact() { //3
4325      RelatedArtifact t = new RelatedArtifact();
4326      if (this.relatedArtifact == null)
4327        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4328      this.relatedArtifact.add(t);
4329      return t;
4330    }
4331
4332    public EvidenceVariable addRelatedArtifact(RelatedArtifact t) { //3
4333      if (t == null)
4334        return this;
4335      if (this.relatedArtifact == null)
4336        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4337      this.relatedArtifact.add(t);
4338      return this;
4339    }
4340
4341    /**
4342     * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3}
4343     */
4344    public RelatedArtifact getRelatedArtifactFirstRep() { 
4345      if (getRelatedArtifact().isEmpty()) {
4346        addRelatedArtifact();
4347      }
4348      return getRelatedArtifact().get(0);
4349    }
4350
4351    /**
4352     * @return {@link #actual} (True if the actual variable measured, false if a conceptual representation of the intended variable.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value
4353     */
4354    public BooleanType getActualElement() { 
4355      if (this.actual == null)
4356        if (Configuration.errorOnAutoCreate())
4357          throw new Error("Attempt to auto-create EvidenceVariable.actual");
4358        else if (Configuration.doAutoCreate())
4359          this.actual = new BooleanType(); // bb
4360      return this.actual;
4361    }
4362
4363    public boolean hasActualElement() { 
4364      return this.actual != null && !this.actual.isEmpty();
4365    }
4366
4367    public boolean hasActual() { 
4368      return this.actual != null && !this.actual.isEmpty();
4369    }
4370
4371    /**
4372     * @param value {@link #actual} (True if the actual variable measured, false if a conceptual representation of the intended variable.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value
4373     */
4374    public EvidenceVariable setActualElement(BooleanType value) { 
4375      this.actual = value;
4376      return this;
4377    }
4378
4379    /**
4380     * @return True if the actual variable measured, false if a conceptual representation of the intended variable.
4381     */
4382    public boolean getActual() { 
4383      return this.actual == null || this.actual.isEmpty() ? false : this.actual.getValue();
4384    }
4385
4386    /**
4387     * @param value True if the actual variable measured, false if a conceptual representation of the intended variable.
4388     */
4389    public EvidenceVariable setActual(boolean value) { 
4390        if (this.actual == null)
4391          this.actual = new BooleanType();
4392        this.actual.setValue(value);
4393      return this;
4394    }
4395
4396    /**
4397     * @return {@link #characteristic} (A defining factor of the EvidenceVariable. Multiple characteristics are applied with "and" semantics.)
4398     */
4399    public List<EvidenceVariableCharacteristicComponent> getCharacteristic() { 
4400      if (this.characteristic == null)
4401        this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
4402      return this.characteristic;
4403    }
4404
4405    /**
4406     * @return Returns a reference to <code>this</code> for easy method chaining
4407     */
4408    public EvidenceVariable setCharacteristic(List<EvidenceVariableCharacteristicComponent> theCharacteristic) { 
4409      this.characteristic = theCharacteristic;
4410      return this;
4411    }
4412
4413    public boolean hasCharacteristic() { 
4414      if (this.characteristic == null)
4415        return false;
4416      for (EvidenceVariableCharacteristicComponent item : this.characteristic)
4417        if (!item.isEmpty())
4418          return true;
4419      return false;
4420    }
4421
4422    public EvidenceVariableCharacteristicComponent addCharacteristic() { //3
4423      EvidenceVariableCharacteristicComponent t = new EvidenceVariableCharacteristicComponent();
4424      if (this.characteristic == null)
4425        this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
4426      this.characteristic.add(t);
4427      return t;
4428    }
4429
4430    public EvidenceVariable addCharacteristic(EvidenceVariableCharacteristicComponent t) { //3
4431      if (t == null)
4432        return this;
4433      if (this.characteristic == null)
4434        this.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
4435      this.characteristic.add(t);
4436      return this;
4437    }
4438
4439    /**
4440     * @return The first repetition of repeating field {@link #characteristic}, creating it if it does not already exist {3}
4441     */
4442    public EvidenceVariableCharacteristicComponent getCharacteristicFirstRep() { 
4443      if (getCharacteristic().isEmpty()) {
4444        addCharacteristic();
4445      }
4446      return getCharacteristic().get(0);
4447    }
4448
4449    /**
4450     * @return {@link #handling} (The method of handling in statistical analysis.). This is the underlying object with id, value and extensions. The accessor "getHandling" gives direct access to the value
4451     */
4452    public Enumeration<EvidenceVariableHandling> getHandlingElement() { 
4453      if (this.handling == null)
4454        if (Configuration.errorOnAutoCreate())
4455          throw new Error("Attempt to auto-create EvidenceVariable.handling");
4456        else if (Configuration.doAutoCreate())
4457          this.handling = new Enumeration<EvidenceVariableHandling>(new EvidenceVariableHandlingEnumFactory()); // bb
4458      return this.handling;
4459    }
4460
4461    public boolean hasHandlingElement() { 
4462      return this.handling != null && !this.handling.isEmpty();
4463    }
4464
4465    public boolean hasHandling() { 
4466      return this.handling != null && !this.handling.isEmpty();
4467    }
4468
4469    /**
4470     * @param value {@link #handling} (The method of handling in statistical analysis.). This is the underlying object with id, value and extensions. The accessor "getHandling" gives direct access to the value
4471     */
4472    public EvidenceVariable setHandlingElement(Enumeration<EvidenceVariableHandling> value) { 
4473      this.handling = value;
4474      return this;
4475    }
4476
4477    /**
4478     * @return The method of handling in statistical analysis.
4479     */
4480    public EvidenceVariableHandling getHandling() { 
4481      return this.handling == null ? null : this.handling.getValue();
4482    }
4483
4484    /**
4485     * @param value The method of handling in statistical analysis.
4486     */
4487    public EvidenceVariable setHandling(EvidenceVariableHandling value) { 
4488      if (value == null)
4489        this.handling = null;
4490      else {
4491        if (this.handling == null)
4492          this.handling = new Enumeration<EvidenceVariableHandling>(new EvidenceVariableHandlingEnumFactory());
4493        this.handling.setValue(value);
4494      }
4495      return this;
4496    }
4497
4498    /**
4499     * @return {@link #category} (A grouping for ordinal or polychotomous variables.)
4500     */
4501    public List<EvidenceVariableCategoryComponent> getCategory() { 
4502      if (this.category == null)
4503        this.category = new ArrayList<EvidenceVariableCategoryComponent>();
4504      return this.category;
4505    }
4506
4507    /**
4508     * @return Returns a reference to <code>this</code> for easy method chaining
4509     */
4510    public EvidenceVariable setCategory(List<EvidenceVariableCategoryComponent> theCategory) { 
4511      this.category = theCategory;
4512      return this;
4513    }
4514
4515    public boolean hasCategory() { 
4516      if (this.category == null)
4517        return false;
4518      for (EvidenceVariableCategoryComponent item : this.category)
4519        if (!item.isEmpty())
4520          return true;
4521      return false;
4522    }
4523
4524    public EvidenceVariableCategoryComponent addCategory() { //3
4525      EvidenceVariableCategoryComponent t = new EvidenceVariableCategoryComponent();
4526      if (this.category == null)
4527        this.category = new ArrayList<EvidenceVariableCategoryComponent>();
4528      this.category.add(t);
4529      return t;
4530    }
4531
4532    public EvidenceVariable addCategory(EvidenceVariableCategoryComponent t) { //3
4533      if (t == null)
4534        return this;
4535      if (this.category == null)
4536        this.category = new ArrayList<EvidenceVariableCategoryComponent>();
4537      this.category.add(t);
4538      return this;
4539    }
4540
4541    /**
4542     * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3}
4543     */
4544    public EvidenceVariableCategoryComponent getCategoryFirstRep() { 
4545      if (getCategory().isEmpty()) {
4546        addCategory();
4547      }
4548      return getCategory().get(0);
4549    }
4550
4551    /**
4552     * not supported on this implementation
4553     */
4554    @Override
4555    public int getJurisdictionMax() { 
4556      return 0;
4557    }
4558    /**
4559     * @return {@link #jurisdiction} (A legal or geographic region in which the evidence variable is intended to be used.)
4560     */
4561    public List<CodeableConcept> getJurisdiction() { 
4562      return new ArrayList<>();
4563    }
4564    /**
4565     * @return Returns a reference to <code>this</code> for easy method chaining
4566     */
4567    public EvidenceVariable setJurisdiction(List<CodeableConcept> theJurisdiction) { 
4568      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); 
4569    }
4570    public boolean hasJurisdiction() { 
4571      return false;
4572    }
4573
4574    public CodeableConcept addJurisdiction() { //3
4575      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); 
4576    }
4577    public EvidenceVariable addJurisdiction(CodeableConcept t) { //3
4578      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); 
4579    }
4580    /**
4581     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2}
4582     */
4583    public CodeableConcept getJurisdictionFirstRep() { 
4584      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); 
4585    }
4586    /**
4587     * not supported on this implementation
4588     */
4589    @Override
4590    public int getTopicMax() { 
4591      return 0;
4592    }
4593    /**
4594     * @return {@link #topic} (Descriptive topics related to the content of the evidence variable. Topics provide a high-level categorization as well as keywords for the evidence variable that can be useful for filtering and searching.)
4595     */
4596    public List<CodeableConcept> getTopic() { 
4597      return new ArrayList<>();
4598    }
4599    /**
4600     * @return Returns a reference to <code>this</code> for easy method chaining
4601     */
4602    public EvidenceVariable setTopic(List<CodeableConcept> theTopic) { 
4603      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); 
4604    }
4605    public boolean hasTopic() { 
4606      return false;
4607    }
4608
4609    public CodeableConcept addTopic() { //3
4610      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); 
4611    }
4612    public EvidenceVariable addTopic(CodeableConcept t) { //3
4613      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); 
4614    }
4615    /**
4616     * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2}
4617     */
4618    public CodeableConcept getTopicFirstRep() { 
4619      throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); 
4620    }
4621      protected void listChildren(List<Property> children) {
4622        super.listChildren(children);
4623        children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url));
4624        children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier));
4625        children.add(new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version));
4626        children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
4627        children.add(new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name));
4628        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the evidence variable.", 0, 1, title));
4629        children.add(new Property("shortTitle", "string", "The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.", 0, 1, shortTitle));
4630        children.add(new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status));
4631        children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental));
4632        children.add(new Property("date", "dateTime", "The date  (and optionally time) when the evidence variable 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 evidence variable changes.", 0, 1, date));
4633        children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.", 0, 1, publisher));
4634        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));
4635        children.add(new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description));
4636        children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note));
4637        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 evidence variable instances.", 0, java.lang.Integer.MAX_VALUE, useContext));
4638        children.add(new Property("purpose", "markdown", "Explanation of why this EvidenceVariable is needed and why it has been designed as it has.", 0, 1, purpose));
4639        children.add(new Property("copyright", "markdown", "A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.", 0, 1, copyright));
4640        children.add(new Property("copyrightLabel", "string", "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').", 0, 1, copyrightLabel));
4641        children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.\n\nSee guidance around (not) making local changes to elements [here](canonicalresource.html#localization).", 0, 1, approvalDate));
4642        children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate));
4643        children.add(new Property("effectivePeriod", "Period", "The period during which the resource content was or is planned to be in active use.", 0, 1, effectivePeriod));
4644        children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author));
4645        children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor));
4646        children.add(new Property("reviewer", "ContactDetail", "An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer));
4647        children.add(new Property("endorser", "ContactDetail", "An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser));
4648        children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact));
4649        children.add(new Property("actual", "boolean", "True if the actual variable measured, false if a conceptual representation of the intended variable.", 0, 1, actual));
4650        children.add(new Property("characteristic", "", "A defining factor of the EvidenceVariable. Multiple characteristics are applied with \"and\" semantics.", 0, java.lang.Integer.MAX_VALUE, characteristic));
4651        children.add(new Property("handling", "code", "The method of handling in statistical analysis.", 0, 1, handling));
4652        children.add(new Property("category", "", "A grouping for ordinal or polychotomous variables.", 0, java.lang.Integer.MAX_VALUE, category));
4653      }
4654
4655      @Override
4656      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
4657        switch (_hash) {
4658        case 116079: /*url*/  return new Property("url", "uri", "An absolute URI that is used to identify this evidence variable 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 evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url);
4659        case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier);
4660        case 351608024: /*version*/  return new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable 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. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version);
4661        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);
4662        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);
4663        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);
4664        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);
4665        case 3373707: /*name*/  return new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name);
4666        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the evidence variable.", 0, 1, title);
4667        case 1555503932: /*shortTitle*/  return new Property("shortTitle", "string", "The short title provides an alternate title for use in informal descriptive contexts where the full, formal title is not necessary.", 0, 1, shortTitle);
4668        case -892481550: /*status*/  return new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status);
4669        case -404562712: /*experimental*/  return new Property("experimental", "boolean", "A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental);
4670        case 3076014: /*date*/  return new Property("date", "dateTime", "The date  (and optionally time) when the evidence variable 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 evidence variable changes.", 0, 1, date);
4671        case 1447404028: /*publisher*/  return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.", 0, 1, publisher);
4672        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);
4673        case -1724546052: /*description*/  return new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description);
4674        case 3387378: /*note*/  return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note);
4675        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 evidence variable instances.", 0, java.lang.Integer.MAX_VALUE, useContext);
4676        case -220463842: /*purpose*/  return new Property("purpose", "markdown", "Explanation of why this EvidenceVariable is needed and why it has been designed as it has.", 0, 1, purpose);
4677        case 1522889671: /*copyright*/  return new Property("copyright", "markdown", "A copyright statement relating to the resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the resource.", 0, 1, copyright);
4678        case 765157229: /*copyrightLabel*/  return new Property("copyrightLabel", "string", "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').", 0, 1, copyrightLabel);
4679        case 223539345: /*approvalDate*/  return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.\n\nSee guidance around (not) making local changes to elements [here](canonicalresource.html#localization).", 0, 1, approvalDate);
4680        case -1687512484: /*lastReviewDate*/  return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate);
4681        case -403934648: /*effectivePeriod*/  return new Property("effectivePeriod", "Period", "The period during which the resource content was or is planned to be in active use.", 0, 1, effectivePeriod);
4682        case -1406328437: /*author*/  return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author);
4683        case -1307827859: /*editor*/  return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor);
4684        case -261190139: /*reviewer*/  return new Property("reviewer", "ContactDetail", "An individual or organization asserted by the publisher to be primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer);
4685        case 1740277666: /*endorser*/  return new Property("endorser", "ContactDetail", "An individual or organization asserted by the publisher to be responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser);
4686        case 666807069: /*relatedArtifact*/  return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact);
4687        case -1422939762: /*actual*/  return new Property("actual", "boolean", "True if the actual variable measured, false if a conceptual representation of the intended variable.", 0, 1, actual);
4688        case 366313883: /*characteristic*/  return new Property("characteristic", "", "A defining factor of the EvidenceVariable. Multiple characteristics are applied with \"and\" semantics.", 0, java.lang.Integer.MAX_VALUE, characteristic);
4689        case 2072805: /*handling*/  return new Property("handling", "code", "The method of handling in statistical analysis.", 0, 1, handling);
4690        case 50511102: /*category*/  return new Property("category", "", "A grouping for ordinal or polychotomous variables.", 0, java.lang.Integer.MAX_VALUE, category);
4691        default: return super.getNamedProperty(_hash, _name, _checkValid);
4692        }
4693
4694      }
4695
4696      @Override
4697      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
4698        switch (hash) {
4699        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
4700        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
4701        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
4702        case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
4703        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
4704        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
4705        case 1555503932: /*shortTitle*/ return this.shortTitle == null ? new Base[0] : new Base[] {this.shortTitle}; // StringType
4706        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
4707        case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
4708        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
4709        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
4710        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
4711        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
4712        case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation
4713        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
4714        case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
4715        case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType
4716        case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType
4717        case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType
4718        case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType
4719        case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period
4720        case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail
4721        case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail
4722        case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail
4723        case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail
4724        case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact
4725        case -1422939762: /*actual*/ return this.actual == null ? new Base[0] : new Base[] {this.actual}; // BooleanType
4726        case 366313883: /*characteristic*/ return this.characteristic == null ? new Base[0] : this.characteristic.toArray(new Base[this.characteristic.size()]); // EvidenceVariableCharacteristicComponent
4727        case 2072805: /*handling*/ return this.handling == null ? new Base[0] : new Base[] {this.handling}; // Enumeration<EvidenceVariableHandling>
4728        case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // EvidenceVariableCategoryComponent
4729        default: return super.getProperty(hash, name, checkValid);
4730        }
4731
4732      }
4733
4734      @Override
4735      public Base setProperty(int hash, String name, Base value) throws FHIRException {
4736        switch (hash) {
4737        case 116079: // url
4738          this.url = TypeConvertor.castToUri(value); // UriType
4739          return value;
4740        case -1618432855: // identifier
4741          this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
4742          return value;
4743        case 351608024: // version
4744          this.version = TypeConvertor.castToString(value); // StringType
4745          return value;
4746        case 1508158071: // versionAlgorithm
4747          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
4748          return value;
4749        case 3373707: // name
4750          this.name = TypeConvertor.castToString(value); // StringType
4751          return value;
4752        case 110371416: // title
4753          this.title = TypeConvertor.castToString(value); // StringType
4754          return value;
4755        case 1555503932: // shortTitle
4756          this.shortTitle = TypeConvertor.castToString(value); // StringType
4757          return value;
4758        case -892481550: // status
4759          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
4760          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
4761          return value;
4762        case -404562712: // experimental
4763          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
4764          return value;
4765        case 3076014: // date
4766          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
4767          return value;
4768        case 1447404028: // publisher
4769          this.publisher = TypeConvertor.castToString(value); // StringType
4770          return value;
4771        case 951526432: // contact
4772          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
4773          return value;
4774        case -1724546052: // description
4775          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
4776          return value;
4777        case 3387378: // note
4778          this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation
4779          return value;
4780        case -669707736: // useContext
4781          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
4782          return value;
4783        case -220463842: // purpose
4784          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
4785          return value;
4786        case 1522889671: // copyright
4787          this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
4788          return value;
4789        case 765157229: // copyrightLabel
4790          this.copyrightLabel = TypeConvertor.castToString(value); // StringType
4791          return value;
4792        case 223539345: // approvalDate
4793          this.approvalDate = TypeConvertor.castToDate(value); // DateType
4794          return value;
4795        case -1687512484: // lastReviewDate
4796          this.lastReviewDate = TypeConvertor.castToDate(value); // DateType
4797          return value;
4798        case -403934648: // effectivePeriod
4799          this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period
4800          return value;
4801        case -1406328437: // author
4802          this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
4803          return value;
4804        case -1307827859: // editor
4805          this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
4806          return value;
4807        case -261190139: // reviewer
4808          this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
4809          return value;
4810        case 1740277666: // endorser
4811          this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
4812          return value;
4813        case 666807069: // relatedArtifact
4814          this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact
4815          return value;
4816        case -1422939762: // actual
4817          this.actual = TypeConvertor.castToBoolean(value); // BooleanType
4818          return value;
4819        case 366313883: // characteristic
4820          this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value); // EvidenceVariableCharacteristicComponent
4821          return value;
4822        case 2072805: // handling
4823          value = new EvidenceVariableHandlingEnumFactory().fromType(TypeConvertor.castToCode(value));
4824          this.handling = (Enumeration) value; // Enumeration<EvidenceVariableHandling>
4825          return value;
4826        case 50511102: // category
4827          this.getCategory().add((EvidenceVariableCategoryComponent) value); // EvidenceVariableCategoryComponent
4828          return value;
4829        default: return super.setProperty(hash, name, value);
4830        }
4831
4832      }
4833
4834      @Override
4835      public Base setProperty(String name, Base value) throws FHIRException {
4836        if (name.equals("url")) {
4837          this.url = TypeConvertor.castToUri(value); // UriType
4838        } else if (name.equals("identifier")) {
4839          this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
4840        } else if (name.equals("version")) {
4841          this.version = TypeConvertor.castToString(value); // StringType
4842        } else if (name.equals("versionAlgorithm[x]")) {
4843          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
4844        } else if (name.equals("name")) {
4845          this.name = TypeConvertor.castToString(value); // StringType
4846        } else if (name.equals("title")) {
4847          this.title = TypeConvertor.castToString(value); // StringType
4848        } else if (name.equals("shortTitle")) {
4849          this.shortTitle = TypeConvertor.castToString(value); // StringType
4850        } else if (name.equals("status")) {
4851          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
4852          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
4853        } else if (name.equals("experimental")) {
4854          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
4855        } else if (name.equals("date")) {
4856          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
4857        } else if (name.equals("publisher")) {
4858          this.publisher = TypeConvertor.castToString(value); // StringType
4859        } else if (name.equals("contact")) {
4860          this.getContact().add(TypeConvertor.castToContactDetail(value));
4861        } else if (name.equals("description")) {
4862          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
4863        } else if (name.equals("note")) {
4864          this.getNote().add(TypeConvertor.castToAnnotation(value));
4865        } else if (name.equals("useContext")) {
4866          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
4867        } else if (name.equals("purpose")) {
4868          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
4869        } else if (name.equals("copyright")) {
4870          this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
4871        } else if (name.equals("copyrightLabel")) {
4872          this.copyrightLabel = TypeConvertor.castToString(value); // StringType
4873        } else if (name.equals("approvalDate")) {
4874          this.approvalDate = TypeConvertor.castToDate(value); // DateType
4875        } else if (name.equals("lastReviewDate")) {
4876          this.lastReviewDate = TypeConvertor.castToDate(value); // DateType
4877        } else if (name.equals("effectivePeriod")) {
4878          this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period
4879        } else if (name.equals("author")) {
4880          this.getAuthor().add(TypeConvertor.castToContactDetail(value));
4881        } else if (name.equals("editor")) {
4882          this.getEditor().add(TypeConvertor.castToContactDetail(value));
4883        } else if (name.equals("reviewer")) {
4884          this.getReviewer().add(TypeConvertor.castToContactDetail(value));
4885        } else if (name.equals("endorser")) {
4886          this.getEndorser().add(TypeConvertor.castToContactDetail(value));
4887        } else if (name.equals("relatedArtifact")) {
4888          this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value));
4889        } else if (name.equals("actual")) {
4890          this.actual = TypeConvertor.castToBoolean(value); // BooleanType
4891        } else if (name.equals("characteristic")) {
4892          this.getCharacteristic().add((EvidenceVariableCharacteristicComponent) value);
4893        } else if (name.equals("handling")) {
4894          value = new EvidenceVariableHandlingEnumFactory().fromType(TypeConvertor.castToCode(value));
4895          this.handling = (Enumeration) value; // Enumeration<EvidenceVariableHandling>
4896        } else if (name.equals("category")) {
4897          this.getCategory().add((EvidenceVariableCategoryComponent) value);
4898        } else
4899          return super.setProperty(name, value);
4900        return value;
4901      }
4902
4903      @Override
4904      public Base makeProperty(int hash, String name) throws FHIRException {
4905        switch (hash) {
4906        case 116079:  return getUrlElement();
4907        case -1618432855:  return addIdentifier(); 
4908        case 351608024:  return getVersionElement();
4909        case -115699031:  return getVersionAlgorithm();
4910        case 1508158071:  return getVersionAlgorithm();
4911        case 3373707:  return getNameElement();
4912        case 110371416:  return getTitleElement();
4913        case 1555503932:  return getShortTitleElement();
4914        case -892481550:  return getStatusElement();
4915        case -404562712:  return getExperimentalElement();
4916        case 3076014:  return getDateElement();
4917        case 1447404028:  return getPublisherElement();
4918        case 951526432:  return addContact(); 
4919        case -1724546052:  return getDescriptionElement();
4920        case 3387378:  return addNote(); 
4921        case -669707736:  return addUseContext(); 
4922        case -220463842:  return getPurposeElement();
4923        case 1522889671:  return getCopyrightElement();
4924        case 765157229:  return getCopyrightLabelElement();
4925        case 223539345:  return getApprovalDateElement();
4926        case -1687512484:  return getLastReviewDateElement();
4927        case -403934648:  return getEffectivePeriod();
4928        case -1406328437:  return addAuthor(); 
4929        case -1307827859:  return addEditor(); 
4930        case -261190139:  return addReviewer(); 
4931        case 1740277666:  return addEndorser(); 
4932        case 666807069:  return addRelatedArtifact(); 
4933        case -1422939762:  return getActualElement();
4934        case 366313883:  return addCharacteristic(); 
4935        case 2072805:  return getHandlingElement();
4936        case 50511102:  return addCategory(); 
4937        default: return super.makeProperty(hash, name);
4938        }
4939
4940      }
4941
4942      @Override
4943      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
4944        switch (hash) {
4945        case 116079: /*url*/ return new String[] {"uri"};
4946        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
4947        case 351608024: /*version*/ return new String[] {"string"};
4948        case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
4949        case 3373707: /*name*/ return new String[] {"string"};
4950        case 110371416: /*title*/ return new String[] {"string"};
4951        case 1555503932: /*shortTitle*/ return new String[] {"string"};
4952        case -892481550: /*status*/ return new String[] {"code"};
4953        case -404562712: /*experimental*/ return new String[] {"boolean"};
4954        case 3076014: /*date*/ return new String[] {"dateTime"};
4955        case 1447404028: /*publisher*/ return new String[] {"string"};
4956        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
4957        case -1724546052: /*description*/ return new String[] {"markdown"};
4958        case 3387378: /*note*/ return new String[] {"Annotation"};
4959        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
4960        case -220463842: /*purpose*/ return new String[] {"markdown"};
4961        case 1522889671: /*copyright*/ return new String[] {"markdown"};
4962        case 765157229: /*copyrightLabel*/ return new String[] {"string"};
4963        case 223539345: /*approvalDate*/ return new String[] {"date"};
4964        case -1687512484: /*lastReviewDate*/ return new String[] {"date"};
4965        case -403934648: /*effectivePeriod*/ return new String[] {"Period"};
4966        case -1406328437: /*author*/ return new String[] {"ContactDetail"};
4967        case -1307827859: /*editor*/ return new String[] {"ContactDetail"};
4968        case -261190139: /*reviewer*/ return new String[] {"ContactDetail"};
4969        case 1740277666: /*endorser*/ return new String[] {"ContactDetail"};
4970        case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"};
4971        case -1422939762: /*actual*/ return new String[] {"boolean"};
4972        case 366313883: /*characteristic*/ return new String[] {};
4973        case 2072805: /*handling*/ return new String[] {"code"};
4974        case 50511102: /*category*/ return new String[] {};
4975        default: return super.getTypesForProperty(hash, name);
4976        }
4977
4978      }
4979
4980      @Override
4981      public Base addChild(String name) throws FHIRException {
4982        if (name.equals("url")) {
4983          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.url");
4984        }
4985        else if (name.equals("identifier")) {
4986          return addIdentifier();
4987        }
4988        else if (name.equals("version")) {
4989          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.version");
4990        }
4991        else if (name.equals("versionAlgorithmString")) {
4992          this.versionAlgorithm = new StringType();
4993          return this.versionAlgorithm;
4994        }
4995        else if (name.equals("versionAlgorithmCoding")) {
4996          this.versionAlgorithm = new Coding();
4997          return this.versionAlgorithm;
4998        }
4999        else if (name.equals("name")) {
5000          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.name");
5001        }
5002        else if (name.equals("title")) {
5003          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.title");
5004        }
5005        else if (name.equals("shortTitle")) {
5006          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.shortTitle");
5007        }
5008        else if (name.equals("status")) {
5009          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.status");
5010        }
5011        else if (name.equals("experimental")) {
5012          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.experimental");
5013        }
5014        else if (name.equals("date")) {
5015          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.date");
5016        }
5017        else if (name.equals("publisher")) {
5018          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.publisher");
5019        }
5020        else if (name.equals("contact")) {
5021          return addContact();
5022        }
5023        else if (name.equals("description")) {
5024          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.description");
5025        }
5026        else if (name.equals("note")) {
5027          return addNote();
5028        }
5029        else if (name.equals("useContext")) {
5030          return addUseContext();
5031        }
5032        else if (name.equals("purpose")) {
5033          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.purpose");
5034        }
5035        else if (name.equals("copyright")) {
5036          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.copyright");
5037        }
5038        else if (name.equals("copyrightLabel")) {
5039          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.copyrightLabel");
5040        }
5041        else if (name.equals("approvalDate")) {
5042          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.approvalDate");
5043        }
5044        else if (name.equals("lastReviewDate")) {
5045          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.lastReviewDate");
5046        }
5047        else if (name.equals("effectivePeriod")) {
5048          this.effectivePeriod = new Period();
5049          return this.effectivePeriod;
5050        }
5051        else if (name.equals("author")) {
5052          return addAuthor();
5053        }
5054        else if (name.equals("editor")) {
5055          return addEditor();
5056        }
5057        else if (name.equals("reviewer")) {
5058          return addReviewer();
5059        }
5060        else if (name.equals("endorser")) {
5061          return addEndorser();
5062        }
5063        else if (name.equals("relatedArtifact")) {
5064          return addRelatedArtifact();
5065        }
5066        else if (name.equals("actual")) {
5067          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.actual");
5068        }
5069        else if (name.equals("characteristic")) {
5070          return addCharacteristic();
5071        }
5072        else if (name.equals("handling")) {
5073          throw new FHIRException("Cannot call addChild on a singleton property EvidenceVariable.handling");
5074        }
5075        else if (name.equals("category")) {
5076          return addCategory();
5077        }
5078        else
5079          return super.addChild(name);
5080      }
5081
5082  public String fhirType() {
5083    return "EvidenceVariable";
5084
5085  }
5086
5087      public EvidenceVariable copy() {
5088        EvidenceVariable dst = new EvidenceVariable();
5089        copyValues(dst);
5090        return dst;
5091      }
5092
5093      public void copyValues(EvidenceVariable dst) {
5094        super.copyValues(dst);
5095        dst.url = url == null ? null : url.copy();
5096        if (identifier != null) {
5097          dst.identifier = new ArrayList<Identifier>();
5098          for (Identifier i : identifier)
5099            dst.identifier.add(i.copy());
5100        };
5101        dst.version = version == null ? null : version.copy();
5102        dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
5103        dst.name = name == null ? null : name.copy();
5104        dst.title = title == null ? null : title.copy();
5105        dst.shortTitle = shortTitle == null ? null : shortTitle.copy();
5106        dst.status = status == null ? null : status.copy();
5107        dst.experimental = experimental == null ? null : experimental.copy();
5108        dst.date = date == null ? null : date.copy();
5109        dst.publisher = publisher == null ? null : publisher.copy();
5110        if (contact != null) {
5111          dst.contact = new ArrayList<ContactDetail>();
5112          for (ContactDetail i : contact)
5113            dst.contact.add(i.copy());
5114        };
5115        dst.description = description == null ? null : description.copy();
5116        if (note != null) {
5117          dst.note = new ArrayList<Annotation>();
5118          for (Annotation i : note)
5119            dst.note.add(i.copy());
5120        };
5121        if (useContext != null) {
5122          dst.useContext = new ArrayList<UsageContext>();
5123          for (UsageContext i : useContext)
5124            dst.useContext.add(i.copy());
5125        };
5126        dst.purpose = purpose == null ? null : purpose.copy();
5127        dst.copyright = copyright == null ? null : copyright.copy();
5128        dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy();
5129        dst.approvalDate = approvalDate == null ? null : approvalDate.copy();
5130        dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy();
5131        dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy();
5132        if (author != null) {
5133          dst.author = new ArrayList<ContactDetail>();
5134          for (ContactDetail i : author)
5135            dst.author.add(i.copy());
5136        };
5137        if (editor != null) {
5138          dst.editor = new ArrayList<ContactDetail>();
5139          for (ContactDetail i : editor)
5140            dst.editor.add(i.copy());
5141        };
5142        if (reviewer != null) {
5143          dst.reviewer = new ArrayList<ContactDetail>();
5144          for (ContactDetail i : reviewer)
5145            dst.reviewer.add(i.copy());
5146        };
5147        if (endorser != null) {
5148          dst.endorser = new ArrayList<ContactDetail>();
5149          for (ContactDetail i : endorser)
5150            dst.endorser.add(i.copy());
5151        };
5152        if (relatedArtifact != null) {
5153          dst.relatedArtifact = new ArrayList<RelatedArtifact>();
5154          for (RelatedArtifact i : relatedArtifact)
5155            dst.relatedArtifact.add(i.copy());
5156        };
5157        dst.actual = actual == null ? null : actual.copy();
5158        if (characteristic != null) {
5159          dst.characteristic = new ArrayList<EvidenceVariableCharacteristicComponent>();
5160          for (EvidenceVariableCharacteristicComponent i : characteristic)
5161            dst.characteristic.add(i.copy());
5162        };
5163        dst.handling = handling == null ? null : handling.copy();
5164        if (category != null) {
5165          dst.category = new ArrayList<EvidenceVariableCategoryComponent>();
5166          for (EvidenceVariableCategoryComponent i : category)
5167            dst.category.add(i.copy());
5168        };
5169      }
5170
5171      protected EvidenceVariable typedCopy() {
5172        return copy();
5173      }
5174
5175      @Override
5176      public boolean equalsDeep(Base other_) {
5177        if (!super.equalsDeep(other_))
5178          return false;
5179        if (!(other_ instanceof EvidenceVariable))
5180          return false;
5181        EvidenceVariable o = (EvidenceVariable) other_;
5182        return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true)
5183           && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
5184           && compareDeep(shortTitle, o.shortTitle, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true)
5185           && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true)
5186           && compareDeep(description, o.description, true) && compareDeep(note, o.note, true) && compareDeep(useContext, o.useContext, true)
5187           && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true)
5188           && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true)
5189           && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(author, o.author, true)
5190           && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true)
5191           && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(actual, o.actual, true)
5192           && compareDeep(characteristic, o.characteristic, true) && compareDeep(handling, o.handling, true)
5193           && compareDeep(category, o.category, true);
5194      }
5195
5196      @Override
5197      public boolean equalsShallow(Base other_) {
5198        if (!super.equalsShallow(other_))
5199          return false;
5200        if (!(other_ instanceof EvidenceVariable))
5201          return false;
5202        EvidenceVariable o = (EvidenceVariable) other_;
5203        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
5204           && compareValues(title, o.title, true) && compareValues(shortTitle, o.shortTitle, true) && compareValues(status, o.status, true)
5205           && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true)
5206           && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true)
5207           && compareValues(copyrightLabel, o.copyrightLabel, true) && compareValues(approvalDate, o.approvalDate, true)
5208           && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(actual, o.actual, true) && compareValues(handling, o.handling, true)
5209          ;
5210      }
5211
5212      public boolean isEmpty() {
5213        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version
5214          , versionAlgorithm, name, title, shortTitle, status, experimental, date, publisher
5215          , contact, description, note, useContext, purpose, copyright, copyrightLabel, approvalDate
5216          , lastReviewDate, effectivePeriod, author, editor, reviewer, endorser, relatedArtifact
5217          , actual, characteristic, handling, category);
5218      }
5219
5220  @Override
5221  public ResourceType getResourceType() {
5222    return ResourceType.EvidenceVariable;
5223   }
5224
5225 /**
5226   * Search parameter: <b>context-quantity</b>
5227   * <p>
5228   * Description: <b>Multiple Resources: 
5229
5230* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
5231* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
5232* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
5233* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
5234* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
5235* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
5236* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
5237* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
5238* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
5239* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
5240* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
5241* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
5242* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
5243* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
5244* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
5245* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
5246* [Library](library.html): A quantity- or range-valued use context assigned to the library
5247* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
5248* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
5249* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
5250* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
5251* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
5252* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
5253* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
5254* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
5255* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
5256* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
5257* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
5258* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
5259* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
5260</b><br>
5261   * Type: <b>quantity</b><br>
5262   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
5263   * </p>
5264   */
5265  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(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" )
5266  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
5267 /**
5268   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
5269   * <p>
5270   * Description: <b>Multiple Resources: 
5271
5272* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
5273* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
5274* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
5275* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
5276* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
5277* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
5278* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
5279* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
5280* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
5281* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
5282* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
5283* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
5284* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
5285* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
5286* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
5287* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
5288* [Library](library.html): A quantity- or range-valued use context assigned to the library
5289* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
5290* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
5291* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
5292* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
5293* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
5294* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
5295* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
5296* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
5297* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
5298* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
5299* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
5300* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
5301* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
5302</b><br>
5303   * Type: <b>quantity</b><br>
5304   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
5305   * </p>
5306   */
5307  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
5308
5309 /**
5310   * Search parameter: <b>context-type-quantity</b>
5311   * <p>
5312   * Description: <b>Multiple Resources: 
5313
5314* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
5315* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
5316* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
5317* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
5318* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
5319* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
5320* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
5321* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
5322* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
5323* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
5324* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
5325* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
5326* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
5327* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
5328* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
5329* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
5330* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
5331* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
5332* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
5333* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
5334* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
5335* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
5336* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
5337* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
5338* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
5339* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
5340* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
5341* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
5342* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
5343* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
5344</b><br>
5345   * Type: <b>composite</b><br>
5346   * 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>
5347   * </p>
5348   */
5349  @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"} )
5350  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
5351 /**
5352   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
5353   * <p>
5354   * Description: <b>Multiple Resources: 
5355
5356* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
5357* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
5358* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
5359* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
5360* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
5361* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
5362* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
5363* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
5364* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
5365* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
5366* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
5367* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
5368* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
5369* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
5370* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
5371* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
5372* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
5373* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
5374* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
5375* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
5376* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
5377* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
5378* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
5379* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
5380* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
5381* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
5382* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
5383* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
5384* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
5385* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
5386</b><br>
5387   * Type: <b>composite</b><br>
5388   * 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>
5389   * </p>
5390   */
5391  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);
5392
5393 /**
5394   * Search parameter: <b>context-type-value</b>
5395   * <p>
5396   * Description: <b>Multiple Resources: 
5397
5398* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
5399* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
5400* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
5401* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
5402* [Citation](citation.html): A use context type and value assigned to the citation
5403* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
5404* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
5405* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
5406* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
5407* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
5408* [Evidence](evidence.html): A use context type and value assigned to the evidence
5409* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
5410* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
5411* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
5412* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
5413* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
5414* [Library](library.html): A use context type and value assigned to the library
5415* [Measure](measure.html): A use context type and value assigned to the measure
5416* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
5417* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
5418* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
5419* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
5420* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
5421* [Requirements](requirements.html): A use context type and value assigned to the requirements
5422* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
5423* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
5424* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
5425* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
5426* [TestScript](testscript.html): A use context type and value assigned to the test script
5427* [ValueSet](valueset.html): A use context type and value assigned to the value set
5428</b><br>
5429   * Type: <b>composite</b><br>
5430   * 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>
5431   * </p>
5432   */
5433  @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"} )
5434  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
5435 /**
5436   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
5437   * <p>
5438   * Description: <b>Multiple Resources: 
5439
5440* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
5441* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
5442* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
5443* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
5444* [Citation](citation.html): A use context type and value assigned to the citation
5445* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
5446* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
5447* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
5448* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
5449* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
5450* [Evidence](evidence.html): A use context type and value assigned to the evidence
5451* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
5452* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
5453* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
5454* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
5455* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
5456* [Library](library.html): A use context type and value assigned to the library
5457* [Measure](measure.html): A use context type and value assigned to the measure
5458* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
5459* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
5460* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
5461* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
5462* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
5463* [Requirements](requirements.html): A use context type and value assigned to the requirements
5464* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
5465* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
5466* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
5467* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
5468* [TestScript](testscript.html): A use context type and value assigned to the test script
5469* [ValueSet](valueset.html): A use context type and value assigned to the value set
5470</b><br>
5471   * Type: <b>composite</b><br>
5472   * 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>
5473   * </p>
5474   */
5475  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);
5476
5477 /**
5478   * Search parameter: <b>context-type</b>
5479   * <p>
5480   * Description: <b>Multiple Resources: 
5481
5482* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
5483* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
5484* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
5485* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
5486* [Citation](citation.html): A type of use context assigned to the citation
5487* [CodeSystem](codesystem.html): A type of use context assigned to the code system
5488* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
5489* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
5490* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
5491* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
5492* [Evidence](evidence.html): A type of use context assigned to the evidence
5493* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
5494* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
5495* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
5496* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
5497* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
5498* [Library](library.html): A type of use context assigned to the library
5499* [Measure](measure.html): A type of use context assigned to the measure
5500* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
5501* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
5502* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
5503* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
5504* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
5505* [Requirements](requirements.html): A type of use context assigned to the requirements
5506* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
5507* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
5508* [StructureMap](structuremap.html): A type of use context assigned to the structure map
5509* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
5510* [TestScript](testscript.html): A type of use context assigned to the test script
5511* [ValueSet](valueset.html): A type of use context assigned to the value set
5512</b><br>
5513   * Type: <b>token</b><br>
5514   * 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>
5515   * </p>
5516   */
5517  @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" )
5518  public static final String SP_CONTEXT_TYPE = "context-type";
5519 /**
5520   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
5521   * <p>
5522   * Description: <b>Multiple Resources: 
5523
5524* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
5525* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
5526* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
5527* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
5528* [Citation](citation.html): A type of use context assigned to the citation
5529* [CodeSystem](codesystem.html): A type of use context assigned to the code system
5530* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
5531* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
5532* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
5533* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
5534* [Evidence](evidence.html): A type of use context assigned to the evidence
5535* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
5536* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
5537* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
5538* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
5539* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
5540* [Library](library.html): A type of use context assigned to the library
5541* [Measure](measure.html): A type of use context assigned to the measure
5542* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
5543* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
5544* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
5545* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
5546* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
5547* [Requirements](requirements.html): A type of use context assigned to the requirements
5548* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
5549* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
5550* [StructureMap](structuremap.html): A type of use context assigned to the structure map
5551* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
5552* [TestScript](testscript.html): A type of use context assigned to the test script
5553* [ValueSet](valueset.html): A type of use context assigned to the value set
5554</b><br>
5555   * Type: <b>token</b><br>
5556   * 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>
5557   * </p>
5558   */
5559  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
5560
5561 /**
5562   * Search parameter: <b>context</b>
5563   * <p>
5564   * Description: <b>Multiple Resources: 
5565
5566* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
5567* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
5568* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
5569* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
5570* [Citation](citation.html): A use context assigned to the citation
5571* [CodeSystem](codesystem.html): A use context assigned to the code system
5572* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
5573* [ConceptMap](conceptmap.html): A use context assigned to the concept map
5574* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
5575* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
5576* [Evidence](evidence.html): A use context assigned to the evidence
5577* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
5578* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
5579* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
5580* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
5581* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
5582* [Library](library.html): A use context assigned to the library
5583* [Measure](measure.html): A use context assigned to the measure
5584* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
5585* [NamingSystem](namingsystem.html): A use context assigned to the naming system
5586* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
5587* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
5588* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
5589* [Requirements](requirements.html): A use context assigned to the requirements
5590* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
5591* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
5592* [StructureMap](structuremap.html): A use context assigned to the structure map
5593* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
5594* [TestScript](testscript.html): A use context assigned to the test script
5595* [ValueSet](valueset.html): A use context assigned to the value set
5596</b><br>
5597   * Type: <b>token</b><br>
5598   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
5599   * </p>
5600   */
5601  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(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" )
5602  public static final String SP_CONTEXT = "context";
5603 /**
5604   * <b>Fluent Client</b> search parameter constant for <b>context</b>
5605   * <p>
5606   * Description: <b>Multiple Resources: 
5607
5608* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
5609* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
5610* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
5611* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
5612* [Citation](citation.html): A use context assigned to the citation
5613* [CodeSystem](codesystem.html): A use context assigned to the code system
5614* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
5615* [ConceptMap](conceptmap.html): A use context assigned to the concept map
5616* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
5617* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
5618* [Evidence](evidence.html): A use context assigned to the evidence
5619* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
5620* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
5621* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
5622* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
5623* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
5624* [Library](library.html): A use context assigned to the library
5625* [Measure](measure.html): A use context assigned to the measure
5626* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
5627* [NamingSystem](namingsystem.html): A use context assigned to the naming system
5628* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
5629* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
5630* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
5631* [Requirements](requirements.html): A use context assigned to the requirements
5632* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
5633* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
5634* [StructureMap](structuremap.html): A use context assigned to the structure map
5635* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
5636* [TestScript](testscript.html): A use context assigned to the test script
5637* [ValueSet](valueset.html): A use context assigned to the value set
5638</b><br>
5639   * Type: <b>token</b><br>
5640   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
5641   * </p>
5642   */
5643  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
5644
5645 /**
5646   * Search parameter: <b>date</b>
5647   * <p>
5648   * Description: <b>Multiple Resources: 
5649
5650* [ActivityDefinition](activitydefinition.html): The activity definition publication date
5651* [ActorDefinition](actordefinition.html): The Actor Definition publication date
5652* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
5653* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
5654* [Citation](citation.html): The citation publication date
5655* [CodeSystem](codesystem.html): The code system publication date
5656* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
5657* [ConceptMap](conceptmap.html): The concept map publication date
5658* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
5659* [EventDefinition](eventdefinition.html): The event definition publication date
5660* [Evidence](evidence.html): The evidence publication date
5661* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
5662* [ExampleScenario](examplescenario.html): The example scenario publication date
5663* [GraphDefinition](graphdefinition.html): The graph definition publication date
5664* [ImplementationGuide](implementationguide.html): The implementation guide publication date
5665* [Library](library.html): The library publication date
5666* [Measure](measure.html): The measure publication date
5667* [MessageDefinition](messagedefinition.html): The message definition publication date
5668* [NamingSystem](namingsystem.html): The naming system publication date
5669* [OperationDefinition](operationdefinition.html): The operation definition publication date
5670* [PlanDefinition](plandefinition.html): The plan definition publication date
5671* [Questionnaire](questionnaire.html): The questionnaire publication date
5672* [Requirements](requirements.html): The requirements publication date
5673* [SearchParameter](searchparameter.html): The search parameter publication date
5674* [StructureDefinition](structuredefinition.html): The structure definition publication date
5675* [StructureMap](structuremap.html): The structure map publication date
5676* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
5677* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
5678* [TestScript](testscript.html): The test script publication date
5679* [ValueSet](valueset.html): The value set publication date
5680</b><br>
5681   * Type: <b>date</b><br>
5682   * 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>
5683   * </p>
5684   */
5685  @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" )
5686  public static final String SP_DATE = "date";
5687 /**
5688   * <b>Fluent Client</b> search parameter constant for <b>date</b>
5689   * <p>
5690   * Description: <b>Multiple Resources: 
5691
5692* [ActivityDefinition](activitydefinition.html): The activity definition publication date
5693* [ActorDefinition](actordefinition.html): The Actor Definition publication date
5694* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
5695* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
5696* [Citation](citation.html): The citation publication date
5697* [CodeSystem](codesystem.html): The code system publication date
5698* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
5699* [ConceptMap](conceptmap.html): The concept map publication date
5700* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
5701* [EventDefinition](eventdefinition.html): The event definition publication date
5702* [Evidence](evidence.html): The evidence publication date
5703* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
5704* [ExampleScenario](examplescenario.html): The example scenario publication date
5705* [GraphDefinition](graphdefinition.html): The graph definition publication date
5706* [ImplementationGuide](implementationguide.html): The implementation guide publication date
5707* [Library](library.html): The library publication date
5708* [Measure](measure.html): The measure publication date
5709* [MessageDefinition](messagedefinition.html): The message definition publication date
5710* [NamingSystem](namingsystem.html): The naming system publication date
5711* [OperationDefinition](operationdefinition.html): The operation definition publication date
5712* [PlanDefinition](plandefinition.html): The plan definition publication date
5713* [Questionnaire](questionnaire.html): The questionnaire publication date
5714* [Requirements](requirements.html): The requirements publication date
5715* [SearchParameter](searchparameter.html): The search parameter publication date
5716* [StructureDefinition](structuredefinition.html): The structure definition publication date
5717* [StructureMap](structuremap.html): The structure map publication date
5718* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
5719* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
5720* [TestScript](testscript.html): The test script publication date
5721* [ValueSet](valueset.html): The value set publication date
5722</b><br>
5723   * Type: <b>date</b><br>
5724   * 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>
5725   * </p>
5726   */
5727  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
5728
5729 /**
5730   * Search parameter: <b>description</b>
5731   * <p>
5732   * Description: <b>Multiple Resources: 
5733
5734* [ActivityDefinition](activitydefinition.html): The description of the activity definition
5735* [ActorDefinition](actordefinition.html): The description of the Actor Definition
5736* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
5737* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
5738* [Citation](citation.html): The description of the citation
5739* [CodeSystem](codesystem.html): The description of the code system
5740* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
5741* [ConceptMap](conceptmap.html): The description of the concept map
5742* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
5743* [EventDefinition](eventdefinition.html): The description of the event definition
5744* [Evidence](evidence.html): The description of the evidence
5745* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
5746* [GraphDefinition](graphdefinition.html): The description of the graph definition
5747* [ImplementationGuide](implementationguide.html): The description of the implementation guide
5748* [Library](library.html): The description of the library
5749* [Measure](measure.html): The description of the measure
5750* [MessageDefinition](messagedefinition.html): The description of the message definition
5751* [NamingSystem](namingsystem.html): The description of the naming system
5752* [OperationDefinition](operationdefinition.html): The description of the operation definition
5753* [PlanDefinition](plandefinition.html): The description of the plan definition
5754* [Questionnaire](questionnaire.html): The description of the questionnaire
5755* [Requirements](requirements.html): The description of the requirements
5756* [SearchParameter](searchparameter.html): The description of the search parameter
5757* [StructureDefinition](structuredefinition.html): The description of the structure definition
5758* [StructureMap](structuremap.html): The description of the structure map
5759* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
5760* [TestScript](testscript.html): The description of the test script
5761* [ValueSet](valueset.html): The description of the value set
5762</b><br>
5763   * Type: <b>string</b><br>
5764   * 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>
5765   * </p>
5766   */
5767  @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" )
5768  public static final String SP_DESCRIPTION = "description";
5769 /**
5770   * <b>Fluent Client</b> search parameter constant for <b>description</b>
5771   * <p>
5772   * Description: <b>Multiple Resources: 
5773
5774* [ActivityDefinition](activitydefinition.html): The description of the activity definition
5775* [ActorDefinition](actordefinition.html): The description of the Actor Definition
5776* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
5777* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
5778* [Citation](citation.html): The description of the citation
5779* [CodeSystem](codesystem.html): The description of the code system
5780* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
5781* [ConceptMap](conceptmap.html): The description of the concept map
5782* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
5783* [EventDefinition](eventdefinition.html): The description of the event definition
5784* [Evidence](evidence.html): The description of the evidence
5785* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
5786* [GraphDefinition](graphdefinition.html): The description of the graph definition
5787* [ImplementationGuide](implementationguide.html): The description of the implementation guide
5788* [Library](library.html): The description of the library
5789* [Measure](measure.html): The description of the measure
5790* [MessageDefinition](messagedefinition.html): The description of the message definition
5791* [NamingSystem](namingsystem.html): The description of the naming system
5792* [OperationDefinition](operationdefinition.html): The description of the operation definition
5793* [PlanDefinition](plandefinition.html): The description of the plan definition
5794* [Questionnaire](questionnaire.html): The description of the questionnaire
5795* [Requirements](requirements.html): The description of the requirements
5796* [SearchParameter](searchparameter.html): The description of the search parameter
5797* [StructureDefinition](structuredefinition.html): The description of the structure definition
5798* [StructureMap](structuremap.html): The description of the structure map
5799* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
5800* [TestScript](testscript.html): The description of the test script
5801* [ValueSet](valueset.html): The description of the value set
5802</b><br>
5803   * Type: <b>string</b><br>
5804   * 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>
5805   * </p>
5806   */
5807  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
5808
5809 /**
5810   * Search parameter: <b>identifier</b>
5811   * <p>
5812   * Description: <b>Multiple Resources: 
5813
5814* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
5815* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
5816* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
5817* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
5818* [Citation](citation.html): External identifier for the citation
5819* [CodeSystem](codesystem.html): External identifier for the code system
5820* [ConceptMap](conceptmap.html): External identifier for the concept map
5821* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
5822* [EventDefinition](eventdefinition.html): External identifier for the event definition
5823* [Evidence](evidence.html): External identifier for the evidence
5824* [EvidenceReport](evidencereport.html): External identifier for the evidence report
5825* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
5826* [ExampleScenario](examplescenario.html): External identifier for the example scenario
5827* [GraphDefinition](graphdefinition.html): External identifier for the graph definition
5828* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
5829* [Library](library.html): External identifier for the library
5830* [Measure](measure.html): External identifier for the measure
5831* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
5832* [MessageDefinition](messagedefinition.html): External identifier for the message definition
5833* [NamingSystem](namingsystem.html): External identifier for the naming system
5834* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
5835* [OperationDefinition](operationdefinition.html): External identifier for the search parameter
5836* [PlanDefinition](plandefinition.html): External identifier for the plan definition
5837* [Questionnaire](questionnaire.html): External identifier for the questionnaire
5838* [Requirements](requirements.html): External identifier for the requirements
5839* [SearchParameter](searchparameter.html): External identifier for the search parameter
5840* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
5841* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
5842* [StructureMap](structuremap.html): External identifier for the structure map
5843* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
5844* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
5845* [TestPlan](testplan.html): An identifier for the test plan
5846* [TestScript](testscript.html): External identifier for the test script
5847* [ValueSet](valueset.html): External identifier for the value set
5848</b><br>
5849   * Type: <b>token</b><br>
5850   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
5851   * </p>
5852   */
5853  @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [GraphDefinition](graphdefinition.html): External identifier for the graph definition\r\n* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [OperationDefinition](operationdefinition.html): External identifier for the search parameter\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SearchParameter](searchparameter.html): External identifier for the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestPlan](testplan.html): An identifier for the test plan\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" )
5854  public static final String SP_IDENTIFIER = "identifier";
5855 /**
5856   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
5857   * <p>
5858   * Description: <b>Multiple Resources: 
5859
5860* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
5861* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
5862* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
5863* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
5864* [Citation](citation.html): External identifier for the citation
5865* [CodeSystem](codesystem.html): External identifier for the code system
5866* [ConceptMap](conceptmap.html): External identifier for the concept map
5867* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
5868* [EventDefinition](eventdefinition.html): External identifier for the event definition
5869* [Evidence](evidence.html): External identifier for the evidence
5870* [EvidenceReport](evidencereport.html): External identifier for the evidence report
5871* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
5872* [ExampleScenario](examplescenario.html): External identifier for the example scenario
5873* [GraphDefinition](graphdefinition.html): External identifier for the graph definition
5874* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
5875* [Library](library.html): External identifier for the library
5876* [Measure](measure.html): External identifier for the measure
5877* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
5878* [MessageDefinition](messagedefinition.html): External identifier for the message definition
5879* [NamingSystem](namingsystem.html): External identifier for the naming system
5880* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
5881* [OperationDefinition](operationdefinition.html): External identifier for the search parameter
5882* [PlanDefinition](plandefinition.html): External identifier for the plan definition
5883* [Questionnaire](questionnaire.html): External identifier for the questionnaire
5884* [Requirements](requirements.html): External identifier for the requirements
5885* [SearchParameter](searchparameter.html): External identifier for the search parameter
5886* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
5887* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
5888* [StructureMap](structuremap.html): External identifier for the structure map
5889* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
5890* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
5891* [TestPlan](testplan.html): An identifier for the test plan
5892* [TestScript](testscript.html): External identifier for the test script
5893* [ValueSet](valueset.html): External identifier for the value set
5894</b><br>
5895   * Type: <b>token</b><br>
5896   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
5897   * </p>
5898   */
5899  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
5900
5901 /**
5902   * Search parameter: <b>name</b>
5903   * <p>
5904   * Description: <b>Multiple Resources: 
5905
5906* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
5907* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
5908* [Citation](citation.html): Computationally friendly name of the citation
5909* [CodeSystem](codesystem.html): Computationally friendly name of the code system
5910* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
5911* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
5912* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
5913* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
5914* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
5915* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
5916* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
5917* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
5918* [Library](library.html): Computationally friendly name of the library
5919* [Measure](measure.html): Computationally friendly name of the measure
5920* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
5921* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
5922* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
5923* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
5924* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
5925* [Requirements](requirements.html): Computationally friendly name of the requirements
5926* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
5927* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
5928* [StructureMap](structuremap.html): Computationally friendly name of the structure map
5929* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
5930* [TestScript](testscript.html): Computationally friendly name of the test script
5931* [ValueSet](valueset.html): Computationally friendly name of the value set
5932</b><br>
5933   * Type: <b>string</b><br>
5934   * 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>
5935   * </p>
5936   */
5937  @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" )
5938  public static final String SP_NAME = "name";
5939 /**
5940   * <b>Fluent Client</b> search parameter constant for <b>name</b>
5941   * <p>
5942   * Description: <b>Multiple Resources: 
5943
5944* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
5945* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
5946* [Citation](citation.html): Computationally friendly name of the citation
5947* [CodeSystem](codesystem.html): Computationally friendly name of the code system
5948* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
5949* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
5950* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
5951* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
5952* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
5953* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
5954* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
5955* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
5956* [Library](library.html): Computationally friendly name of the library
5957* [Measure](measure.html): Computationally friendly name of the measure
5958* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
5959* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
5960* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
5961* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
5962* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
5963* [Requirements](requirements.html): Computationally friendly name of the requirements
5964* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
5965* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
5966* [StructureMap](structuremap.html): Computationally friendly name of the structure map
5967* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
5968* [TestScript](testscript.html): Computationally friendly name of the test script
5969* [ValueSet](valueset.html): Computationally friendly name of the value set
5970</b><br>
5971   * Type: <b>string</b><br>
5972   * 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>
5973   * </p>
5974   */
5975  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
5976
5977 /**
5978   * Search parameter: <b>publisher</b>
5979   * <p>
5980   * Description: <b>Multiple Resources: 
5981
5982* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
5983* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
5984* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
5985* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
5986* [Citation](citation.html): Name of the publisher of the citation
5987* [CodeSystem](codesystem.html): Name of the publisher of the code system
5988* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
5989* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
5990* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
5991* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
5992* [Evidence](evidence.html): Name of the publisher of the evidence
5993* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
5994* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
5995* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
5996* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
5997* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
5998* [Library](library.html): Name of the publisher of the library
5999* [Measure](measure.html): Name of the publisher of the measure
6000* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
6001* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
6002* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
6003* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
6004* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
6005* [Requirements](requirements.html): Name of the publisher of the requirements
6006* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
6007* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
6008* [StructureMap](structuremap.html): Name of the publisher of the structure map
6009* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
6010* [TestScript](testscript.html): Name of the publisher of the test script
6011* [ValueSet](valueset.html): Name of the publisher of the value set
6012</b><br>
6013   * Type: <b>string</b><br>
6014   * 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>
6015   * </p>
6016   */
6017  @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" )
6018  public static final String SP_PUBLISHER = "publisher";
6019 /**
6020   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
6021   * <p>
6022   * Description: <b>Multiple Resources: 
6023
6024* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
6025* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
6026* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
6027* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
6028* [Citation](citation.html): Name of the publisher of the citation
6029* [CodeSystem](codesystem.html): Name of the publisher of the code system
6030* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
6031* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
6032* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
6033* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
6034* [Evidence](evidence.html): Name of the publisher of the evidence
6035* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
6036* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
6037* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
6038* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
6039* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
6040* [Library](library.html): Name of the publisher of the library
6041* [Measure](measure.html): Name of the publisher of the measure
6042* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
6043* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
6044* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
6045* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
6046* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
6047* [Requirements](requirements.html): Name of the publisher of the requirements
6048* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
6049* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
6050* [StructureMap](structuremap.html): Name of the publisher of the structure map
6051* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
6052* [TestScript](testscript.html): Name of the publisher of the test script
6053* [ValueSet](valueset.html): Name of the publisher of the value set
6054</b><br>
6055   * Type: <b>string</b><br>
6056   * 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>
6057   * </p>
6058   */
6059  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
6060
6061 /**
6062   * Search parameter: <b>status</b>
6063   * <p>
6064   * Description: <b>Multiple Resources: 
6065
6066* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
6067* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
6068* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
6069* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
6070* [Citation](citation.html): The current status of the citation
6071* [CodeSystem](codesystem.html): The current status of the code system
6072* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
6073* [ConceptMap](conceptmap.html): The current status of the concept map
6074* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
6075* [EventDefinition](eventdefinition.html): The current status of the event definition
6076* [Evidence](evidence.html): The current status of the evidence
6077* [EvidenceReport](evidencereport.html): The current status of the evidence report
6078* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
6079* [ExampleScenario](examplescenario.html): The current status of the example scenario
6080* [GraphDefinition](graphdefinition.html): The current status of the graph definition
6081* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
6082* [Library](library.html): The current status of the library
6083* [Measure](measure.html): The current status of the measure
6084* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
6085* [MessageDefinition](messagedefinition.html): The current status of the message definition
6086* [NamingSystem](namingsystem.html): The current status of the naming system
6087* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
6088* [OperationDefinition](operationdefinition.html): The current status of the operation definition
6089* [PlanDefinition](plandefinition.html): The current status of the plan definition
6090* [Questionnaire](questionnaire.html): The current status of the questionnaire
6091* [Requirements](requirements.html): The current status of the requirements
6092* [SearchParameter](searchparameter.html): The current status of the search parameter
6093* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
6094* [StructureDefinition](structuredefinition.html): The current status of the structure definition
6095* [StructureMap](structuremap.html): The current status of the structure map
6096* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
6097* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
6098* [TestPlan](testplan.html): The current status of the test plan
6099* [TestScript](testscript.html): The current status of the test script
6100* [ValueSet](valueset.html): The current status of the value set
6101</b><br>
6102   * Type: <b>token</b><br>
6103   * 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 | TestPlan.status | TestScript.status | ValueSet.status</b><br>
6104   * </p>
6105   */
6106  @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 | TestPlan.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* [TestPlan](testplan.html): The current status of the test plan\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" )
6107  public static final String SP_STATUS = "status";
6108 /**
6109   * <b>Fluent Client</b> search parameter constant for <b>status</b>
6110   * <p>
6111   * Description: <b>Multiple Resources: 
6112
6113* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
6114* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
6115* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
6116* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
6117* [Citation](citation.html): The current status of the citation
6118* [CodeSystem](codesystem.html): The current status of the code system
6119* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
6120* [ConceptMap](conceptmap.html): The current status of the concept map
6121* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
6122* [EventDefinition](eventdefinition.html): The current status of the event definition
6123* [Evidence](evidence.html): The current status of the evidence
6124* [EvidenceReport](evidencereport.html): The current status of the evidence report
6125* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
6126* [ExampleScenario](examplescenario.html): The current status of the example scenario
6127* [GraphDefinition](graphdefinition.html): The current status of the graph definition
6128* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
6129* [Library](library.html): The current status of the library
6130* [Measure](measure.html): The current status of the measure
6131* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
6132* [MessageDefinition](messagedefinition.html): The current status of the message definition
6133* [NamingSystem](namingsystem.html): The current status of the naming system
6134* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
6135* [OperationDefinition](operationdefinition.html): The current status of the operation definition
6136* [PlanDefinition](plandefinition.html): The current status of the plan definition
6137* [Questionnaire](questionnaire.html): The current status of the questionnaire
6138* [Requirements](requirements.html): The current status of the requirements
6139* [SearchParameter](searchparameter.html): The current status of the search parameter
6140* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
6141* [StructureDefinition](structuredefinition.html): The current status of the structure definition
6142* [StructureMap](structuremap.html): The current status of the structure map
6143* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
6144* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
6145* [TestPlan](testplan.html): The current status of the test plan
6146* [TestScript](testscript.html): The current status of the test script
6147* [ValueSet](valueset.html): The current status of the value set
6148</b><br>
6149   * Type: <b>token</b><br>
6150   * 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 | TestPlan.status | TestScript.status | ValueSet.status</b><br>
6151   * </p>
6152   */
6153  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
6154
6155 /**
6156   * Search parameter: <b>title</b>
6157   * <p>
6158   * Description: <b>Multiple Resources: 
6159
6160* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
6161* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
6162* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
6163* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
6164* [Citation](citation.html): The human-friendly name of the citation
6165* [CodeSystem](codesystem.html): The human-friendly name of the code system
6166* [ConceptMap](conceptmap.html): The human-friendly name of the concept map
6167* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
6168* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
6169* [Evidence](evidence.html): The human-friendly name of the evidence
6170* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
6171* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
6172* [Library](library.html): The human-friendly name of the library
6173* [Measure](measure.html): The human-friendly name of the measure
6174* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
6175* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
6176* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
6177* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
6178* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
6179* [Requirements](requirements.html): The human-friendly name of the requirements
6180* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
6181* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
6182* [StructureMap](structuremap.html): The human-friendly name of the structure map
6183* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
6184* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
6185* [TestScript](testscript.html): The human-friendly name of the test script
6186* [ValueSet](valueset.html): The human-friendly name of the value set
6187</b><br>
6188   * Type: <b>string</b><br>
6189   * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br>
6190   * </p>
6191   */
6192  @SearchParamDefinition(name="title", path="ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition\r\n* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition\r\n* [Citation](citation.html): The human-friendly name of the citation\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition\r\n* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition\r\n* [Evidence](evidence.html): The human-friendly name of the evidence\r\n* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [Library](library.html): The human-friendly name of the library\r\n* [Measure](measure.html): The human-friendly name of the measure\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition\r\n* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire\r\n* [Requirements](requirements.html): The human-friendly name of the requirements\r\n* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [TestScript](testscript.html): The human-friendly name of the test script\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" )
6193  public static final String SP_TITLE = "title";
6194 /**
6195   * <b>Fluent Client</b> search parameter constant for <b>title</b>
6196   * <p>
6197   * Description: <b>Multiple Resources: 
6198
6199* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
6200* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
6201* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
6202* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
6203* [Citation](citation.html): The human-friendly name of the citation
6204* [CodeSystem](codesystem.html): The human-friendly name of the code system
6205* [ConceptMap](conceptmap.html): The human-friendly name of the concept map
6206* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
6207* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
6208* [Evidence](evidence.html): The human-friendly name of the evidence
6209* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
6210* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
6211* [Library](library.html): The human-friendly name of the library
6212* [Measure](measure.html): The human-friendly name of the measure
6213* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
6214* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
6215* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
6216* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
6217* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
6218* [Requirements](requirements.html): The human-friendly name of the requirements
6219* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
6220* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
6221* [StructureMap](structuremap.html): The human-friendly name of the structure map
6222* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
6223* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
6224* [TestScript](testscript.html): The human-friendly name of the test script
6225* [ValueSet](valueset.html): The human-friendly name of the value set
6226</b><br>
6227   * Type: <b>string</b><br>
6228   * Path: <b>ActivityDefinition.title | ActorDefinition.title | CapabilityStatement.title | ChargeItemDefinition.title | Citation.title | CodeSystem.title | ConceptMap.title | ConditionDefinition.title | EventDefinition.title | Evidence.title | EvidenceVariable.title | ImplementationGuide.title | Library.title | Measure.title | MessageDefinition.title | ObservationDefinition.title | OperationDefinition.title | PlanDefinition.title | Questionnaire.title | Requirements.title | SpecimenDefinition.title | StructureDefinition.title | StructureMap.title | SubscriptionTopic.title | TerminologyCapabilities.title | TestScript.title | ValueSet.title</b><br>
6229   * </p>
6230   */
6231  public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE);
6232
6233 /**
6234   * Search parameter: <b>url</b>
6235   * <p>
6236   * Description: <b>Multiple Resources: 
6237
6238* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
6239* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
6240* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
6241* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
6242* [Citation](citation.html): The uri that identifies the citation
6243* [CodeSystem](codesystem.html): The uri that identifies the code system
6244* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
6245* [ConceptMap](conceptmap.html): The URI that identifies the concept map
6246* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
6247* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
6248* [Evidence](evidence.html): The uri that identifies the evidence
6249* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
6250* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
6251* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
6252* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
6253* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
6254* [Library](library.html): The uri that identifies the library
6255* [Measure](measure.html): The uri that identifies the measure
6256* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
6257* [NamingSystem](namingsystem.html): The uri that identifies the naming system
6258* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
6259* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
6260* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
6261* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
6262* [Requirements](requirements.html): The uri that identifies the requirements
6263* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
6264* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
6265* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
6266* [StructureMap](structuremap.html): The uri that identifies the structure map
6267* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
6268* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
6269* [TestPlan](testplan.html): The uri that identifies the test plan
6270* [TestScript](testscript.html): The uri that identifies the test script
6271* [ValueSet](valueset.html): The uri that identifies the value set
6272</b><br>
6273   * Type: <b>uri</b><br>
6274   * 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 | TestPlan.url | TestScript.url | ValueSet.url</b><br>
6275   * </p>
6276   */
6277  @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 | TestPlan.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* [TestPlan](testplan.html): The uri that identifies the test plan\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" )
6278  public static final String SP_URL = "url";
6279 /**
6280   * <b>Fluent Client</b> search parameter constant for <b>url</b>
6281   * <p>
6282   * Description: <b>Multiple Resources: 
6283
6284* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
6285* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
6286* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
6287* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
6288* [Citation](citation.html): The uri that identifies the citation
6289* [CodeSystem](codesystem.html): The uri that identifies the code system
6290* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
6291* [ConceptMap](conceptmap.html): The URI that identifies the concept map
6292* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
6293* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
6294* [Evidence](evidence.html): The uri that identifies the evidence
6295* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
6296* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
6297* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
6298* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
6299* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
6300* [Library](library.html): The uri that identifies the library
6301* [Measure](measure.html): The uri that identifies the measure
6302* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
6303* [NamingSystem](namingsystem.html): The uri that identifies the naming system
6304* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
6305* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
6306* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
6307* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
6308* [Requirements](requirements.html): The uri that identifies the requirements
6309* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
6310* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
6311* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
6312* [StructureMap](structuremap.html): The uri that identifies the structure map
6313* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
6314* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
6315* [TestPlan](testplan.html): The uri that identifies the test plan
6316* [TestScript](testscript.html): The uri that identifies the test script
6317* [ValueSet](valueset.html): The uri that identifies the value set
6318</b><br>
6319   * Type: <b>uri</b><br>
6320   * 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 | TestPlan.url | TestScript.url | ValueSet.url</b><br>
6321   * </p>
6322   */
6323  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
6324
6325 /**
6326   * Search parameter: <b>version</b>
6327   * <p>
6328   * Description: <b>Multiple Resources: 
6329
6330* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
6331* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
6332* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
6333* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
6334* [Citation](citation.html): The business version of the citation
6335* [CodeSystem](codesystem.html): The business version of the code system
6336* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
6337* [ConceptMap](conceptmap.html): The business version of the concept map
6338* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
6339* [EventDefinition](eventdefinition.html): The business version of the event definition
6340* [Evidence](evidence.html): The business version of the evidence
6341* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
6342* [ExampleScenario](examplescenario.html): The business version of the example scenario
6343* [GraphDefinition](graphdefinition.html): The business version of the graph definition
6344* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
6345* [Library](library.html): The business version of the library
6346* [Measure](measure.html): The business version of the measure
6347* [MessageDefinition](messagedefinition.html): The business version of the message definition
6348* [NamingSystem](namingsystem.html): The business version of the naming system
6349* [OperationDefinition](operationdefinition.html): The business version of the operation definition
6350* [PlanDefinition](plandefinition.html): The business version of the plan definition
6351* [Questionnaire](questionnaire.html): The business version of the questionnaire
6352* [Requirements](requirements.html): The business version of the requirements
6353* [SearchParameter](searchparameter.html): The business version of the search parameter
6354* [StructureDefinition](structuredefinition.html): The business version of the structure definition
6355* [StructureMap](structuremap.html): The business version of the structure map
6356* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
6357* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
6358* [TestScript](testscript.html): The business version of the test script
6359* [ValueSet](valueset.html): The business version of the value set
6360</b><br>
6361   * Type: <b>token</b><br>
6362   * 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>
6363   * </p>
6364   */
6365  @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" )
6366  public static final String SP_VERSION = "version";
6367 /**
6368   * <b>Fluent Client</b> search parameter constant for <b>version</b>
6369   * <p>
6370   * Description: <b>Multiple Resources: 
6371
6372* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
6373* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
6374* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
6375* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
6376* [Citation](citation.html): The business version of the citation
6377* [CodeSystem](codesystem.html): The business version of the code system
6378* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
6379* [ConceptMap](conceptmap.html): The business version of the concept map
6380* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
6381* [EventDefinition](eventdefinition.html): The business version of the event definition
6382* [Evidence](evidence.html): The business version of the evidence
6383* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
6384* [ExampleScenario](examplescenario.html): The business version of the example scenario
6385* [GraphDefinition](graphdefinition.html): The business version of the graph definition
6386* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
6387* [Library](library.html): The business version of the library
6388* [Measure](measure.html): The business version of the measure
6389* [MessageDefinition](messagedefinition.html): The business version of the message definition
6390* [NamingSystem](namingsystem.html): The business version of the naming system
6391* [OperationDefinition](operationdefinition.html): The business version of the operation definition
6392* [PlanDefinition](plandefinition.html): The business version of the plan definition
6393* [Questionnaire](questionnaire.html): The business version of the questionnaire
6394* [Requirements](requirements.html): The business version of the requirements
6395* [SearchParameter](searchparameter.html): The business version of the search parameter
6396* [StructureDefinition](structuredefinition.html): The business version of the structure definition
6397* [StructureMap](structuremap.html): The business version of the structure map
6398* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
6399* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
6400* [TestScript](testscript.html): The business version of the test script
6401* [ValueSet](valueset.html): The business version of the value set
6402</b><br>
6403   * Type: <b>token</b><br>
6404   * 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>
6405   * </p>
6406   */
6407  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
6408
6409 /**
6410   * Search parameter: <b>composed-of</b>
6411   * <p>
6412   * Description: <b>Multiple Resources: 
6413
6414* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6415* [EventDefinition](eventdefinition.html): What resource is being referenced
6416* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6417* [Library](library.html): What resource is being referenced
6418* [Measure](measure.html): What resource is being referenced
6419* [PlanDefinition](plandefinition.html): What resource is being referenced
6420</b><br>
6421   * Type: <b>reference</b><br>
6422   * Path: <b>ActivityDefinition.relatedArtifact.where(type='composed-of').resource | EventDefinition.relatedArtifact.where(type='composed-of').resource | EvidenceVariable.relatedArtifact.where(type='composed-of').resource | Library.relatedArtifact.where(type='composed-of').resource | Measure.relatedArtifact.where(type='composed-of').resource | PlanDefinition.relatedArtifact.where(type='composed-of').resource</b><br>
6423   * </p>
6424   */
6425  @SearchParamDefinition(name="composed-of", path="ActivityDefinition.relatedArtifact.where(type='composed-of').resource | EventDefinition.relatedArtifact.where(type='composed-of').resource | EvidenceVariable.relatedArtifact.where(type='composed-of').resource | Library.relatedArtifact.where(type='composed-of').resource | Measure.relatedArtifact.where(type='composed-of').resource | PlanDefinition.relatedArtifact.where(type='composed-of').resource", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): What resource is being referenced\r\n* [EventDefinition](eventdefinition.html): What resource is being referenced\r\n* [EvidenceVariable](evidencevariable.html): What resource is being referenced\r\n* [Library](library.html): What resource is being referenced\r\n* [Measure](measure.html): What resource is being referenced\r\n* [PlanDefinition](plandefinition.html): What resource is being referenced\r\n", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
6426  public static final String SP_COMPOSED_OF = "composed-of";
6427 /**
6428   * <b>Fluent Client</b> search parameter constant for <b>composed-of</b>
6429   * <p>
6430   * Description: <b>Multiple Resources: 
6431
6432* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6433* [EventDefinition](eventdefinition.html): What resource is being referenced
6434* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6435* [Library](library.html): What resource is being referenced
6436* [Measure](measure.html): What resource is being referenced
6437* [PlanDefinition](plandefinition.html): What resource is being referenced
6438</b><br>
6439   * Type: <b>reference</b><br>
6440   * Path: <b>ActivityDefinition.relatedArtifact.where(type='composed-of').resource | EventDefinition.relatedArtifact.where(type='composed-of').resource | EvidenceVariable.relatedArtifact.where(type='composed-of').resource | Library.relatedArtifact.where(type='composed-of').resource | Measure.relatedArtifact.where(type='composed-of').resource | PlanDefinition.relatedArtifact.where(type='composed-of').resource</b><br>
6441   * </p>
6442   */
6443  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSED_OF);
6444
6445/**
6446   * Constant for fluent queries to be used to add include statements. Specifies
6447   * the path value of "<b>EvidenceVariable:composed-of</b>".
6448   */
6449  public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include("EvidenceVariable:composed-of").toLocked();
6450
6451 /**
6452   * Search parameter: <b>depends-on</b>
6453   * <p>
6454   * Description: <b>Multiple Resources: 
6455
6456* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6457* [EventDefinition](eventdefinition.html): What resource is being referenced
6458* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6459* [Library](library.html): What resource is being referenced
6460* [Measure](measure.html): What resource is being referenced
6461* [PlanDefinition](plandefinition.html): What resource is being referenced
6462</b><br>
6463   * Type: <b>reference</b><br>
6464   * Path: <b>ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library | EventDefinition.relatedArtifact.where(type='depends-on').resource | EvidenceVariable.relatedArtifact.where(type='depends-on').resource | Library.relatedArtifact.where(type='depends-on').resource | Measure.relatedArtifact.where(type='depends-on').resource | Measure.library | PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library</b><br>
6465   * </p>
6466   */
6467  @SearchParamDefinition(name="depends-on", path="ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library | EventDefinition.relatedArtifact.where(type='depends-on').resource | EvidenceVariable.relatedArtifact.where(type='depends-on').resource | Library.relatedArtifact.where(type='depends-on').resource | Measure.relatedArtifact.where(type='depends-on').resource | Measure.library | PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): What resource is being referenced\r\n* [EventDefinition](eventdefinition.html): What resource is being referenced\r\n* [EvidenceVariable](evidencevariable.html): What resource is being referenced\r\n* [Library](library.html): What resource is being referenced\r\n* [Measure](measure.html): What resource is being referenced\r\n* [PlanDefinition](plandefinition.html): What resource is being referenced\r\n", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
6468  public static final String SP_DEPENDS_ON = "depends-on";
6469 /**
6470   * <b>Fluent Client</b> search parameter constant for <b>depends-on</b>
6471   * <p>
6472   * Description: <b>Multiple Resources: 
6473
6474* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6475* [EventDefinition](eventdefinition.html): What resource is being referenced
6476* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6477* [Library](library.html): What resource is being referenced
6478* [Measure](measure.html): What resource is being referenced
6479* [PlanDefinition](plandefinition.html): What resource is being referenced
6480</b><br>
6481   * Type: <b>reference</b><br>
6482   * Path: <b>ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library | EventDefinition.relatedArtifact.where(type='depends-on').resource | EvidenceVariable.relatedArtifact.where(type='depends-on').resource | Library.relatedArtifact.where(type='depends-on').resource | Measure.relatedArtifact.where(type='depends-on').resource | Measure.library | PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library</b><br>
6483   * </p>
6484   */
6485  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON);
6486
6487/**
6488   * Constant for fluent queries to be used to add include statements. Specifies
6489   * the path value of "<b>EvidenceVariable:depends-on</b>".
6490   */
6491  public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("EvidenceVariable:depends-on").toLocked();
6492
6493 /**
6494   * Search parameter: <b>derived-from</b>
6495   * <p>
6496   * Description: <b>Multiple Resources: 
6497
6498* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6499* [CodeSystem](codesystem.html): A resource that the CodeSystem is derived from
6500* [ConceptMap](conceptmap.html): A resource that the ConceptMap is derived from
6501* [EventDefinition](eventdefinition.html): What resource is being referenced
6502* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6503* [Library](library.html): What resource is being referenced
6504* [Measure](measure.html): What resource is being referenced
6505* [NamingSystem](namingsystem.html): A resource that the NamingSystem is derived from
6506* [PlanDefinition](plandefinition.html): What resource is being referenced
6507* [ValueSet](valueset.html): A resource that the ValueSet is derived from
6508</b><br>
6509   * Type: <b>reference</b><br>
6510   * Path: <b>ActivityDefinition.relatedArtifact.where(type='derived-from').resource | CodeSystem.relatedArtifact.where(type='derived-from').resource | ConceptMap.relatedArtifact.where(type='derived-from').resource | EventDefinition.relatedArtifact.where(type='derived-from').resource | EvidenceVariable.relatedArtifact.where(type='derived-from').resource | Library.relatedArtifact.where(type='derived-from').resource | Measure.relatedArtifact.where(type='derived-from').resource | NamingSystem.relatedArtifact.where(type='derived-from').resource | PlanDefinition.relatedArtifact.where(type='derived-from').resource | ValueSet.relatedArtifact.where(type='derived-from').resource</b><br>
6511   * </p>
6512   */
6513  @SearchParamDefinition(name="derived-from", path="ActivityDefinition.relatedArtifact.where(type='derived-from').resource | CodeSystem.relatedArtifact.where(type='derived-from').resource | ConceptMap.relatedArtifact.where(type='derived-from').resource | EventDefinition.relatedArtifact.where(type='derived-from').resource | EvidenceVariable.relatedArtifact.where(type='derived-from').resource | Library.relatedArtifact.where(type='derived-from').resource | Measure.relatedArtifact.where(type='derived-from').resource | NamingSystem.relatedArtifact.where(type='derived-from').resource | PlanDefinition.relatedArtifact.where(type='derived-from').resource | ValueSet.relatedArtifact.where(type='derived-from').resource", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): What resource is being referenced\r\n* [CodeSystem](codesystem.html): A resource that the CodeSystem is derived from\r\n* [ConceptMap](conceptmap.html): A resource that the ConceptMap is derived from\r\n* [EventDefinition](eventdefinition.html): What resource is being referenced\r\n* [EvidenceVariable](evidencevariable.html): What resource is being referenced\r\n* [Library](library.html): What resource is being referenced\r\n* [Measure](measure.html): What resource is being referenced\r\n* [NamingSystem](namingsystem.html): A resource that the NamingSystem is derived from\r\n* [PlanDefinition](plandefinition.html): What resource is being referenced\r\n* [ValueSet](valueset.html): A resource that the ValueSet is derived from\r\n", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
6514  public static final String SP_DERIVED_FROM = "derived-from";
6515 /**
6516   * <b>Fluent Client</b> search parameter constant for <b>derived-from</b>
6517   * <p>
6518   * Description: <b>Multiple Resources: 
6519
6520* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6521* [CodeSystem](codesystem.html): A resource that the CodeSystem is derived from
6522* [ConceptMap](conceptmap.html): A resource that the ConceptMap is derived from
6523* [EventDefinition](eventdefinition.html): What resource is being referenced
6524* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6525* [Library](library.html): What resource is being referenced
6526* [Measure](measure.html): What resource is being referenced
6527* [NamingSystem](namingsystem.html): A resource that the NamingSystem is derived from
6528* [PlanDefinition](plandefinition.html): What resource is being referenced
6529* [ValueSet](valueset.html): A resource that the ValueSet is derived from
6530</b><br>
6531   * Type: <b>reference</b><br>
6532   * Path: <b>ActivityDefinition.relatedArtifact.where(type='derived-from').resource | CodeSystem.relatedArtifact.where(type='derived-from').resource | ConceptMap.relatedArtifact.where(type='derived-from').resource | EventDefinition.relatedArtifact.where(type='derived-from').resource | EvidenceVariable.relatedArtifact.where(type='derived-from').resource | Library.relatedArtifact.where(type='derived-from').resource | Measure.relatedArtifact.where(type='derived-from').resource | NamingSystem.relatedArtifact.where(type='derived-from').resource | PlanDefinition.relatedArtifact.where(type='derived-from').resource | ValueSet.relatedArtifact.where(type='derived-from').resource</b><br>
6533   * </p>
6534   */
6535  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM);
6536
6537/**
6538   * Constant for fluent queries to be used to add include statements. Specifies
6539   * the path value of "<b>EvidenceVariable:derived-from</b>".
6540   */
6541  public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("EvidenceVariable:derived-from").toLocked();
6542
6543 /**
6544   * Search parameter: <b>predecessor</b>
6545   * <p>
6546   * Description: <b>Multiple Resources: 
6547
6548* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6549* [CodeSystem](codesystem.html): The predecessor of the CodeSystem
6550* [ConceptMap](conceptmap.html): The predecessor of the ConceptMap
6551* [EventDefinition](eventdefinition.html): What resource is being referenced
6552* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6553* [Library](library.html): What resource is being referenced
6554* [Measure](measure.html): What resource is being referenced
6555* [NamingSystem](namingsystem.html): The predecessor of the NamingSystem
6556* [PlanDefinition](plandefinition.html): What resource is being referenced
6557* [ValueSet](valueset.html): The predecessor of the ValueSet
6558</b><br>
6559   * Type: <b>reference</b><br>
6560   * Path: <b>ActivityDefinition.relatedArtifact.where(type='predecessor').resource | CodeSystem.relatedArtifact.where(type='predecessor').resource | ConceptMap.relatedArtifact.where(type='predecessor').resource | EventDefinition.relatedArtifact.where(type='predecessor').resource | EvidenceVariable.relatedArtifact.where(type='predecessor').resource | Library.relatedArtifact.where(type='predecessor').resource | Measure.relatedArtifact.where(type='predecessor').resource | NamingSystem.relatedArtifact.where(type='predecessor').resource | PlanDefinition.relatedArtifact.where(type='predecessor').resource | ValueSet.relatedArtifact.where(type='predecessor').resource</b><br>
6561   * </p>
6562   */
6563  @SearchParamDefinition(name="predecessor", path="ActivityDefinition.relatedArtifact.where(type='predecessor').resource | CodeSystem.relatedArtifact.where(type='predecessor').resource | ConceptMap.relatedArtifact.where(type='predecessor').resource | EventDefinition.relatedArtifact.where(type='predecessor').resource | EvidenceVariable.relatedArtifact.where(type='predecessor').resource | Library.relatedArtifact.where(type='predecessor').resource | Measure.relatedArtifact.where(type='predecessor').resource | NamingSystem.relatedArtifact.where(type='predecessor').resource | PlanDefinition.relatedArtifact.where(type='predecessor').resource | ValueSet.relatedArtifact.where(type='predecessor').resource", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): What resource is being referenced\r\n* [CodeSystem](codesystem.html): The predecessor of the CodeSystem\r\n* [ConceptMap](conceptmap.html): The predecessor of the ConceptMap\r\n* [EventDefinition](eventdefinition.html): What resource is being referenced\r\n* [EvidenceVariable](evidencevariable.html): What resource is being referenced\r\n* [Library](library.html): What resource is being referenced\r\n* [Measure](measure.html): What resource is being referenced\r\n* [NamingSystem](namingsystem.html): The predecessor of the NamingSystem\r\n* [PlanDefinition](plandefinition.html): What resource is being referenced\r\n* [ValueSet](valueset.html): The predecessor of the ValueSet\r\n", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
6564  public static final String SP_PREDECESSOR = "predecessor";
6565 /**
6566   * <b>Fluent Client</b> search parameter constant for <b>predecessor</b>
6567   * <p>
6568   * Description: <b>Multiple Resources: 
6569
6570* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6571* [CodeSystem](codesystem.html): The predecessor of the CodeSystem
6572* [ConceptMap](conceptmap.html): The predecessor of the ConceptMap
6573* [EventDefinition](eventdefinition.html): What resource is being referenced
6574* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6575* [Library](library.html): What resource is being referenced
6576* [Measure](measure.html): What resource is being referenced
6577* [NamingSystem](namingsystem.html): The predecessor of the NamingSystem
6578* [PlanDefinition](plandefinition.html): What resource is being referenced
6579* [ValueSet](valueset.html): The predecessor of the ValueSet
6580</b><br>
6581   * Type: <b>reference</b><br>
6582   * Path: <b>ActivityDefinition.relatedArtifact.where(type='predecessor').resource | CodeSystem.relatedArtifact.where(type='predecessor').resource | ConceptMap.relatedArtifact.where(type='predecessor').resource | EventDefinition.relatedArtifact.where(type='predecessor').resource | EvidenceVariable.relatedArtifact.where(type='predecessor').resource | Library.relatedArtifact.where(type='predecessor').resource | Measure.relatedArtifact.where(type='predecessor').resource | NamingSystem.relatedArtifact.where(type='predecessor').resource | PlanDefinition.relatedArtifact.where(type='predecessor').resource | ValueSet.relatedArtifact.where(type='predecessor').resource</b><br>
6583   * </p>
6584   */
6585  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR);
6586
6587/**
6588   * Constant for fluent queries to be used to add include statements. Specifies
6589   * the path value of "<b>EvidenceVariable:predecessor</b>".
6590   */
6591  public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("EvidenceVariable:predecessor").toLocked();
6592
6593 /**
6594   * Search parameter: <b>successor</b>
6595   * <p>
6596   * Description: <b>Multiple Resources: 
6597
6598* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6599* [EventDefinition](eventdefinition.html): What resource is being referenced
6600* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6601* [Library](library.html): What resource is being referenced
6602* [Measure](measure.html): What resource is being referenced
6603* [PlanDefinition](plandefinition.html): What resource is being referenced
6604</b><br>
6605   * Type: <b>reference</b><br>
6606   * Path: <b>ActivityDefinition.relatedArtifact.where(type='successor').resource | EventDefinition.relatedArtifact.where(type='successor').resource | EvidenceVariable.relatedArtifact.where(type='successor').resource | Library.relatedArtifact.where(type='successor').resource | Measure.relatedArtifact.where(type='successor').resource | PlanDefinition.relatedArtifact.where(type='successor').resource</b><br>
6607   * </p>
6608   */
6609  @SearchParamDefinition(name="successor", path="ActivityDefinition.relatedArtifact.where(type='successor').resource | EventDefinition.relatedArtifact.where(type='successor').resource | EvidenceVariable.relatedArtifact.where(type='successor').resource | Library.relatedArtifact.where(type='successor').resource | Measure.relatedArtifact.where(type='successor').resource | PlanDefinition.relatedArtifact.where(type='successor').resource", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): What resource is being referenced\r\n* [EventDefinition](eventdefinition.html): What resource is being referenced\r\n* [EvidenceVariable](evidencevariable.html): What resource is being referenced\r\n* [Library](library.html): What resource is being referenced\r\n* [Measure](measure.html): What resource is being referenced\r\n* [PlanDefinition](plandefinition.html): What resource is being referenced\r\n", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } )
6610  public static final String SP_SUCCESSOR = "successor";
6611 /**
6612   * <b>Fluent Client</b> search parameter constant for <b>successor</b>
6613   * <p>
6614   * Description: <b>Multiple Resources: 
6615
6616* [ActivityDefinition](activitydefinition.html): What resource is being referenced
6617* [EventDefinition](eventdefinition.html): What resource is being referenced
6618* [EvidenceVariable](evidencevariable.html): What resource is being referenced
6619* [Library](library.html): What resource is being referenced
6620* [Measure](measure.html): What resource is being referenced
6621* [PlanDefinition](plandefinition.html): What resource is being referenced
6622</b><br>
6623   * Type: <b>reference</b><br>
6624   * Path: <b>ActivityDefinition.relatedArtifact.where(type='successor').resource | EventDefinition.relatedArtifact.where(type='successor').resource | EvidenceVariable.relatedArtifact.where(type='successor').resource | Library.relatedArtifact.where(type='successor').resource | Measure.relatedArtifact.where(type='successor').resource | PlanDefinition.relatedArtifact.where(type='successor').resource</b><br>
6625   * </p>
6626   */
6627  public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUCCESSOR);
6628
6629/**
6630   * Constant for fluent queries to be used to add include statements. Specifies
6631   * the path value of "<b>EvidenceVariable:successor</b>".
6632   */
6633  public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include("EvidenceVariable:successor").toLocked();
6634
6635 /**
6636   * Search parameter: <b>topic</b>
6637   * <p>
6638   * Description: <b>Multiple Resources: 
6639
6640* [ActivityDefinition](activitydefinition.html): Topics associated with the module
6641* [CodeSystem](codesystem.html): Topics associated with the CodeSystem
6642* [ConceptMap](conceptmap.html): Topics associated with the ConceptMap
6643* [EventDefinition](eventdefinition.html): Topics associated with the module
6644* [EvidenceVariable](evidencevariable.html): Topics associated with the EvidenceVariable
6645* [Library](library.html): Topics associated with the module
6646* [Measure](measure.html): Topics associated with the measure
6647* [NamingSystem](namingsystem.html): Topics associated with the NamingSystem
6648* [PlanDefinition](plandefinition.html): Topics associated with the module
6649* [ValueSet](valueset.html): Topics associated with the ValueSet
6650</b><br>
6651   * Type: <b>token</b><br>
6652   * Path: <b>ActivityDefinition.topic | CodeSystem.topic | ConceptMap.topic | EventDefinition.topic | Library.topic | Measure.topic | NamingSystem.topic | PlanDefinition.topic | ValueSet.topic</b><br>
6653   * </p>
6654   */
6655  @SearchParamDefinition(name="topic", path="ActivityDefinition.topic | CodeSystem.topic | ConceptMap.topic | EventDefinition.topic | Library.topic | Measure.topic | NamingSystem.topic | PlanDefinition.topic | ValueSet.topic", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): Topics associated with the module\r\n* [CodeSystem](codesystem.html): Topics associated with the CodeSystem\r\n* [ConceptMap](conceptmap.html): Topics associated with the ConceptMap\r\n* [EventDefinition](eventdefinition.html): Topics associated with the module\r\n* [EvidenceVariable](evidencevariable.html): Topics associated with the EvidenceVariable\r\n* [Library](library.html): Topics associated with the module\r\n* [Measure](measure.html): Topics associated with the measure\r\n* [NamingSystem](namingsystem.html): Topics associated with the NamingSystem\r\n* [PlanDefinition](plandefinition.html): Topics associated with the module\r\n* [ValueSet](valueset.html): Topics associated with the ValueSet\r\n", type="token" )
6656  public static final String SP_TOPIC = "topic";
6657 /**
6658   * <b>Fluent Client</b> search parameter constant for <b>topic</b>
6659   * <p>
6660   * Description: <b>Multiple Resources: 
6661
6662* [ActivityDefinition](activitydefinition.html): Topics associated with the module
6663* [CodeSystem](codesystem.html): Topics associated with the CodeSystem
6664* [ConceptMap](conceptmap.html): Topics associated with the ConceptMap
6665* [EventDefinition](eventdefinition.html): Topics associated with the module
6666* [EvidenceVariable](evidencevariable.html): Topics associated with the EvidenceVariable
6667* [Library](library.html): Topics associated with the module
6668* [Measure](measure.html): Topics associated with the measure
6669* [NamingSystem](namingsystem.html): Topics associated with the NamingSystem
6670* [PlanDefinition](plandefinition.html): Topics associated with the module
6671* [ValueSet](valueset.html): Topics associated with the ValueSet
6672</b><br>
6673   * Type: <b>token</b><br>
6674   * Path: <b>ActivityDefinition.topic | CodeSystem.topic | ConceptMap.topic | EventDefinition.topic | Library.topic | Measure.topic | NamingSystem.topic | PlanDefinition.topic | ValueSet.topic</b><br>
6675   * </p>
6676   */
6677  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC);
6678
6679
6680}
6681