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