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