001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007  
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010  
011   * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013   * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016   * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019  
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030  */
031
032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent
033
034import java.util.ArrayList;
035import java.util.Date;
036import java.util.List;
037import 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://hl7.org/fhir/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 (value == null)
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 primitive type 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 = {StringType.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 StringType 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 = 479247832L;
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 StringType 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 StringType(); // 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(StringType 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 StringType();
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", "string", "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", "string", "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}; // StringType
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.castToString(value); // StringType
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.castToString(value); // StringType
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[] {"string"};
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 primitive type 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 primitive type Evidence.statistic.numberOfEvents");
1160        }
1161        else if (name.equals("numberAffected")) {
1162          throw new FHIRException("Cannot call addChild on a primitive type 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 = {StringType.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 StringType 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 = -1870635979L;
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 StringType 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 StringType(); // 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(StringType 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 StringType();
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", "string", "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", "string", "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}; // StringType
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.castToString(value); // StringType
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.castToString(value); // StringType
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[] {"string"};
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 primitive type 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 primitive type Evidence.statistic.sampleSize.numberOfStudies");
1642        }
1643        else if (name.equals("numberOfParticipants")) {
1644          throw new FHIRException("Cannot call addChild on a primitive type Evidence.statistic.sampleSize.numberOfParticipants");
1645        }
1646        else if (name.equals("knownDataCount")) {
1647          throw new FHIRException("Cannot call addChild on a primitive type 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 = {StringType.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 StringType 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 = -1654630186L;
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 StringType 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 StringType(); // 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(StringType 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 StringType();
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", "string", "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", "string", "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}; // StringType
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.castToString(value); // StringType
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.castToString(value); // StringType
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[] {"string"};
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 primitive type 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 primitive type 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 primitive type 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 = {StringType.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 StringType 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 = 432882532L;
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 StringType 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 StringType(); // 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(StringType 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 StringType();
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", "string", "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", "string", "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}; // StringType
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.castToString(value); // StringType
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.castToString(value); // StringType
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[] {"string"};
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 primitive type 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 primitive type 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     * 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.
3639     */
3640    @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
3641    @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." )
3642    protected StringType name;
3643
3644    /**
3645     * A short, descriptive, user-friendly title for the summary.
3646     */
3647    @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true)
3648    @Description(shortDefinition="Name for this summary (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the summary." )
3649    protected StringType title;
3650
3651    /**
3652     * Citation Resource or display of suggested citation for this evidence.
3653     */
3654    @Child(name = "citeAs", type = {Citation.class, MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false)
3655    @Description(shortDefinition="Citation for this evidence", formalDefinition="Citation Resource or display of suggested citation for this evidence." )
3656    protected DataType citeAs;
3657
3658    /**
3659     * The status of this summary. Enables tracking the life-cycle of the content.
3660     */
3661    @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true)
3662    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this summary. Enables tracking the life-cycle of the content." )
3663    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
3664    protected Enumeration<PublicationStatus> status;
3665
3666    /**
3667     * 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.
3668     */
3669    @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false)
3670    @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." )
3671    protected BooleanType experimental;
3672
3673    /**
3674     * 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.
3675     */
3676    @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true)
3677    @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." )
3678    protected DateTimeType date;
3679
3680    /**
3681     * 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.
3682     */
3683    @Child(name = "useContext", type = {UsageContext.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
3684    @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." )
3685    protected List<UsageContext> useContext;
3686
3687    /**
3688     * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
3689     */
3690    @Child(name = "approvalDate", type = {DateType.class}, order=10, min=0, max=1, modifier=false, summary=false)
3691    @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." )
3692    protected DateType approvalDate;
3693
3694    /**
3695     * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
3696     */
3697    @Child(name = "lastReviewDate", type = {DateType.class}, order=11, min=0, max=1, modifier=false, summary=false)
3698    @Description(shortDefinition="When the summary was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." )
3699    protected DateType lastReviewDate;
3700
3701    /**
3702     * The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.
3703     */
3704    @Child(name = "publisher", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=true)
3705    @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." )
3706    protected StringType publisher;
3707
3708    /**
3709     * Contact details to assist a user in finding and communicating with the publisher.
3710     */
3711    @Child(name = "contact", type = {ContactDetail.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
3712    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
3713    protected List<ContactDetail> contact;
3714
3715    /**
3716     * An individiual, organization, or device primarily involved in the creation and maintenance of the content.
3717     */
3718    @Child(name = "author", type = {ContactDetail.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
3719    @Description(shortDefinition="Who authored the content", formalDefinition="An individiual, organization, or device primarily involved in the creation and maintenance of the content." )
3720    protected List<ContactDetail> author;
3721
3722    /**
3723     * An individiual, organization, or device primarily responsible for internal coherence of the content.
3724     */
3725    @Child(name = "editor", type = {ContactDetail.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3726    @Description(shortDefinition="Who edited the content", formalDefinition="An individiual, organization, or device primarily responsible for internal coherence of the content." )
3727    protected List<ContactDetail> editor;
3728
3729    /**
3730     * An individiual, organization, or device primarily responsible for review of some aspect of the content.
3731     */
3732    @Child(name = "reviewer", type = {ContactDetail.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3733    @Description(shortDefinition="Who reviewed the content", formalDefinition="An individiual, organization, or device primarily responsible for review of some aspect of the content." )
3734    protected List<ContactDetail> reviewer;
3735
3736    /**
3737     * An individiual, organization, or device responsible for officially endorsing the content for use in some setting.
3738     */
3739    @Child(name = "endorser", type = {ContactDetail.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
3740    @Description(shortDefinition="Who endorsed the content", formalDefinition="An individiual, organization, or device responsible for officially endorsing the content for use in some setting." )
3741    protected List<ContactDetail> endorser;
3742
3743    /**
3744     * Link or citation to artifact associated with the summary.
3745     */
3746    @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3747    @Description(shortDefinition="Link or citation to artifact associated with the summary", formalDefinition="Link or citation to artifact associated with the summary." )
3748    protected List<RelatedArtifact> relatedArtifact;
3749
3750    /**
3751     * A free text natural language description of the evidence from a consumer's perspective.
3752     */
3753    @Child(name = "description", type = {MarkdownType.class}, order=19, min=0, max=1, modifier=false, summary=false)
3754    @Description(shortDefinition="Description of the particular summary", formalDefinition="A free text natural language description of the evidence from a consumer's perspective." )
3755    protected MarkdownType description;
3756
3757    /**
3758     * Declarative description of the Evidence.
3759     */
3760    @Child(name = "assertion", type = {MarkdownType.class}, order=20, min=0, max=1, modifier=false, summary=false)
3761    @Description(shortDefinition="Declarative description of the Evidence", formalDefinition="Declarative description of the Evidence." )
3762    protected MarkdownType assertion;
3763
3764    /**
3765     * Footnotes and/or explanatory notes.
3766     */
3767    @Child(name = "note", type = {Annotation.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3768    @Description(shortDefinition="Footnotes and/or explanatory notes", formalDefinition="Footnotes and/or explanatory notes." )
3769    protected List<Annotation> note;
3770
3771    /**
3772     * Evidence variable such as population, exposure, or outcome.
3773     */
3774    @Child(name = "variableDefinition", type = {}, order=22, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3775    @Description(shortDefinition="Evidence variable such as population, exposure, or outcome", formalDefinition="Evidence variable such as population, exposure, or outcome." )
3776    protected List<EvidenceVariableDefinitionComponent> variableDefinition;
3777
3778    /**
3779     * The method to combine studies.
3780     */
3781    @Child(name = "synthesisType", type = {CodeableConcept.class}, order=23, min=0, max=1, modifier=false, summary=false)
3782    @Description(shortDefinition="The method to combine studies", formalDefinition="The method to combine studies." )
3783    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/synthesis-type")
3784    protected CodeableConcept synthesisType;
3785
3786    /**
3787     * The design of the study that produced this evidence. The design is described with any number of study design characteristics.
3788     */
3789    @Child(name = "studyDesign", type = {CodeableConcept.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3790    @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." )
3791    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/study-design")
3792    protected List<CodeableConcept> studyDesign;
3793
3794    /**
3795     * Values and parameters for a single statistic.
3796     */
3797    @Child(name = "statistic", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3798    @Description(shortDefinition="Values and parameters for a single statistic", formalDefinition="Values and parameters for a single statistic." )
3799    protected List<EvidenceStatisticComponent> statistic;
3800
3801    /**
3802     * Assessment of certainty, confidence in the estimates, or quality of the evidence.
3803     */
3804    @Child(name = "certainty", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
3805    @Description(shortDefinition="Certainty or quality of the evidence", formalDefinition="Assessment of certainty, confidence in the estimates, or quality of the evidence." )
3806    protected List<EvidenceCertaintyComponent> certainty;
3807
3808    private static final long serialVersionUID = 168184840L;
3809
3810  /**
3811   * Constructor
3812   */
3813    public Evidence() {
3814      super();
3815    }
3816
3817  /**
3818   * Constructor
3819   */
3820    public Evidence(PublicationStatus status, EvidenceVariableDefinitionComponent variableDefinition) {
3821      super();
3822      this.setStatus(status);
3823      this.addVariableDefinition(variableDefinition);
3824    }
3825
3826    /**
3827     * @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
3828     */
3829    public UriType getUrlElement() { 
3830      if (this.url == null)
3831        if (Configuration.errorOnAutoCreate())
3832          throw new Error("Attempt to auto-create Evidence.url");
3833        else if (Configuration.doAutoCreate())
3834          this.url = new UriType(); // bb
3835      return this.url;
3836    }
3837
3838    public boolean hasUrlElement() { 
3839      return this.url != null && !this.url.isEmpty();
3840    }
3841
3842    public boolean hasUrl() { 
3843      return this.url != null && !this.url.isEmpty();
3844    }
3845
3846    /**
3847     * @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
3848     */
3849    public Evidence setUrlElement(UriType value) { 
3850      this.url = value;
3851      return this;
3852    }
3853
3854    /**
3855     * @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.
3856     */
3857    public String getUrl() { 
3858      return this.url == null ? null : this.url.getValue();
3859    }
3860
3861    /**
3862     * @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.
3863     */
3864    public Evidence setUrl(String value) { 
3865      if (Utilities.noString(value))
3866        this.url = null;
3867      else {
3868        if (this.url == null)
3869          this.url = new UriType();
3870        this.url.setValue(value);
3871      }
3872      return this;
3873    }
3874
3875    /**
3876     * @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.)
3877     */
3878    public List<Identifier> getIdentifier() { 
3879      if (this.identifier == null)
3880        this.identifier = new ArrayList<Identifier>();
3881      return this.identifier;
3882    }
3883
3884    /**
3885     * @return Returns a reference to <code>this</code> for easy method chaining
3886     */
3887    public Evidence setIdentifier(List<Identifier> theIdentifier) { 
3888      this.identifier = theIdentifier;
3889      return this;
3890    }
3891
3892    public boolean hasIdentifier() { 
3893      if (this.identifier == null)
3894        return false;
3895      for (Identifier item : this.identifier)
3896        if (!item.isEmpty())
3897          return true;
3898      return false;
3899    }
3900
3901    public Identifier addIdentifier() { //3
3902      Identifier t = new Identifier();
3903      if (this.identifier == null)
3904        this.identifier = new ArrayList<Identifier>();
3905      this.identifier.add(t);
3906      return t;
3907    }
3908
3909    public Evidence addIdentifier(Identifier t) { //3
3910      if (t == null)
3911        return this;
3912      if (this.identifier == null)
3913        this.identifier = new ArrayList<Identifier>();
3914      this.identifier.add(t);
3915      return this;
3916    }
3917
3918    /**
3919     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
3920     */
3921    public Identifier getIdentifierFirstRep() { 
3922      if (getIdentifier().isEmpty()) {
3923        addIdentifier();
3924      }
3925      return getIdentifier().get(0);
3926    }
3927
3928    /**
3929     * @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
3930     */
3931    public StringType getVersionElement() { 
3932      if (this.version == null)
3933        if (Configuration.errorOnAutoCreate())
3934          throw new Error("Attempt to auto-create Evidence.version");
3935        else if (Configuration.doAutoCreate())
3936          this.version = new StringType(); // bb
3937      return this.version;
3938    }
3939
3940    public boolean hasVersionElement() { 
3941      return this.version != null && !this.version.isEmpty();
3942    }
3943
3944    public boolean hasVersion() { 
3945      return this.version != null && !this.version.isEmpty();
3946    }
3947
3948    /**
3949     * @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
3950     */
3951    public Evidence setVersionElement(StringType value) { 
3952      this.version = value;
3953      return this;
3954    }
3955
3956    /**
3957     * @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.
3958     */
3959    public String getVersion() { 
3960      return this.version == null ? null : this.version.getValue();
3961    }
3962
3963    /**
3964     * @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.
3965     */
3966    public Evidence setVersion(String value) { 
3967      if (Utilities.noString(value))
3968        this.version = null;
3969      else {
3970        if (this.version == null)
3971          this.version = new StringType();
3972        this.version.setValue(value);
3973      }
3974      return this;
3975    }
3976
3977    /**
3978     * @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
3979     */
3980    public StringType getNameElement() { 
3981      if (this.name == null)
3982        if (Configuration.errorOnAutoCreate())
3983          throw new Error("Attempt to auto-create Evidence.name");
3984        else if (Configuration.doAutoCreate())
3985          this.name = new StringType(); // bb
3986      return this.name;
3987    }
3988
3989    public boolean hasNameElement() { 
3990      return this.name != null && !this.name.isEmpty();
3991    }
3992
3993    public boolean hasName() { 
3994      return this.name != null && !this.name.isEmpty();
3995    }
3996
3997    /**
3998     * @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
3999     */
4000    public Evidence setNameElement(StringType value) { 
4001      this.name = value;
4002      return this;
4003    }
4004
4005    /**
4006     * @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.
4007     */
4008    public String getName() { 
4009      return this.name == null ? null : this.name.getValue();
4010    }
4011
4012    /**
4013     * @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.
4014     */
4015    public Evidence setName(String value) { 
4016      if (Utilities.noString(value))
4017        this.name = null;
4018      else {
4019        if (this.name == null)
4020          this.name = new StringType();
4021        this.name.setValue(value);
4022      }
4023      return this;
4024    }
4025
4026    /**
4027     * @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
4028     */
4029    public StringType getTitleElement() { 
4030      if (this.title == null)
4031        if (Configuration.errorOnAutoCreate())
4032          throw new Error("Attempt to auto-create Evidence.title");
4033        else if (Configuration.doAutoCreate())
4034          this.title = new StringType(); // bb
4035      return this.title;
4036    }
4037
4038    public boolean hasTitleElement() { 
4039      return this.title != null && !this.title.isEmpty();
4040    }
4041
4042    public boolean hasTitle() { 
4043      return this.title != null && !this.title.isEmpty();
4044    }
4045
4046    /**
4047     * @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
4048     */
4049    public Evidence setTitleElement(StringType value) { 
4050      this.title = value;
4051      return this;
4052    }
4053
4054    /**
4055     * @return A short, descriptive, user-friendly title for the summary.
4056     */
4057    public String getTitle() { 
4058      return this.title == null ? null : this.title.getValue();
4059    }
4060
4061    /**
4062     * @param value A short, descriptive, user-friendly title for the summary.
4063     */
4064    public Evidence setTitle(String value) { 
4065      if (Utilities.noString(value))
4066        this.title = null;
4067      else {
4068        if (this.title == null)
4069          this.title = new StringType();
4070        this.title.setValue(value);
4071      }
4072      return this;
4073    }
4074
4075    /**
4076     * @return {@link #citeAs} (Citation Resource or display of suggested citation for this evidence.)
4077     */
4078    public DataType getCiteAs() { 
4079      return this.citeAs;
4080    }
4081
4082    /**
4083     * @return {@link #citeAs} (Citation Resource or display of suggested citation for this evidence.)
4084     */
4085    public Reference getCiteAsReference() throws FHIRException { 
4086      if (this.citeAs == null)
4087        this.citeAs = new Reference();
4088      if (!(this.citeAs instanceof Reference))
4089        throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.citeAs.getClass().getName()+" was encountered");
4090      return (Reference) this.citeAs;
4091    }
4092
4093    public boolean hasCiteAsReference() { 
4094      return this != null && this.citeAs instanceof Reference;
4095    }
4096
4097    /**
4098     * @return {@link #citeAs} (Citation Resource or display of suggested citation for this evidence.)
4099     */
4100    public MarkdownType getCiteAsMarkdownType() throws FHIRException { 
4101      if (this.citeAs == null)
4102        this.citeAs = new MarkdownType();
4103      if (!(this.citeAs instanceof MarkdownType))
4104        throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.citeAs.getClass().getName()+" was encountered");
4105      return (MarkdownType) this.citeAs;
4106    }
4107
4108    public boolean hasCiteAsMarkdownType() { 
4109      return this != null && this.citeAs instanceof MarkdownType;
4110    }
4111
4112    public boolean hasCiteAs() { 
4113      return this.citeAs != null && !this.citeAs.isEmpty();
4114    }
4115
4116    /**
4117     * @param value {@link #citeAs} (Citation Resource or display of suggested citation for this evidence.)
4118     */
4119    public Evidence setCiteAs(DataType value) { 
4120      if (value != null && !(value instanceof Reference || value instanceof MarkdownType))
4121        throw new Error("Not the right type for Evidence.citeAs[x]: "+value.fhirType());
4122      this.citeAs = value;
4123      return this;
4124    }
4125
4126    /**
4127     * @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
4128     */
4129    public Enumeration<PublicationStatus> getStatusElement() { 
4130      if (this.status == null)
4131        if (Configuration.errorOnAutoCreate())
4132          throw new Error("Attempt to auto-create Evidence.status");
4133        else if (Configuration.doAutoCreate())
4134          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
4135      return this.status;
4136    }
4137
4138    public boolean hasStatusElement() { 
4139      return this.status != null && !this.status.isEmpty();
4140    }
4141
4142    public boolean hasStatus() { 
4143      return this.status != null && !this.status.isEmpty();
4144    }
4145
4146    /**
4147     * @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
4148     */
4149    public Evidence setStatusElement(Enumeration<PublicationStatus> value) { 
4150      this.status = value;
4151      return this;
4152    }
4153
4154    /**
4155     * @return The status of this summary. Enables tracking the life-cycle of the content.
4156     */
4157    public PublicationStatus getStatus() { 
4158      return this.status == null ? null : this.status.getValue();
4159    }
4160
4161    /**
4162     * @param value The status of this summary. Enables tracking the life-cycle of the content.
4163     */
4164    public Evidence setStatus(PublicationStatus value) { 
4165        if (this.status == null)
4166          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
4167        this.status.setValue(value);
4168      return this;
4169    }
4170
4171    /**
4172     * @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
4173     */
4174    public BooleanType getExperimentalElement() { 
4175      if (this.experimental == null)
4176        if (Configuration.errorOnAutoCreate())
4177          throw new Error("Attempt to auto-create Evidence.experimental");
4178        else if (Configuration.doAutoCreate())
4179          this.experimental = new BooleanType(); // bb
4180      return this.experimental;
4181    }
4182
4183    public boolean hasExperimentalElement() { 
4184      return this.experimental != null && !this.experimental.isEmpty();
4185    }
4186
4187    public boolean hasExperimental() { 
4188      return this.experimental != null && !this.experimental.isEmpty();
4189    }
4190
4191    /**
4192     * @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
4193     */
4194    public Evidence setExperimentalElement(BooleanType value) { 
4195      this.experimental = value;
4196      return this;
4197    }
4198
4199    /**
4200     * @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.
4201     */
4202    public boolean getExperimental() { 
4203      return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
4204    }
4205
4206    /**
4207     * @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.
4208     */
4209    public Evidence setExperimental(boolean value) { 
4210        if (this.experimental == null)
4211          this.experimental = new BooleanType();
4212        this.experimental.setValue(value);
4213      return this;
4214    }
4215
4216    /**
4217     * @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
4218     */
4219    public DateTimeType getDateElement() { 
4220      if (this.date == null)
4221        if (Configuration.errorOnAutoCreate())
4222          throw new Error("Attempt to auto-create Evidence.date");
4223        else if (Configuration.doAutoCreate())
4224          this.date = new DateTimeType(); // bb
4225      return this.date;
4226    }
4227
4228    public boolean hasDateElement() { 
4229      return this.date != null && !this.date.isEmpty();
4230    }
4231
4232    public boolean hasDate() { 
4233      return this.date != null && !this.date.isEmpty();
4234    }
4235
4236    /**
4237     * @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
4238     */
4239    public Evidence setDateElement(DateTimeType value) { 
4240      this.date = value;
4241      return this;
4242    }
4243
4244    /**
4245     * @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.
4246     */
4247    public Date getDate() { 
4248      return this.date == null ? null : this.date.getValue();
4249    }
4250
4251    /**
4252     * @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.
4253     */
4254    public Evidence setDate(Date value) { 
4255      if (value == null)
4256        this.date = null;
4257      else {
4258        if (this.date == null)
4259          this.date = new DateTimeType();
4260        this.date.setValue(value);
4261      }
4262      return this;
4263    }
4264
4265    /**
4266     * @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.)
4267     */
4268    public List<UsageContext> getUseContext() { 
4269      if (this.useContext == null)
4270        this.useContext = new ArrayList<UsageContext>();
4271      return this.useContext;
4272    }
4273
4274    /**
4275     * @return Returns a reference to <code>this</code> for easy method chaining
4276     */
4277    public Evidence setUseContext(List<UsageContext> theUseContext) { 
4278      this.useContext = theUseContext;
4279      return this;
4280    }
4281
4282    public boolean hasUseContext() { 
4283      if (this.useContext == null)
4284        return false;
4285      for (UsageContext item : this.useContext)
4286        if (!item.isEmpty())
4287          return true;
4288      return false;
4289    }
4290
4291    public UsageContext addUseContext() { //3
4292      UsageContext t = new UsageContext();
4293      if (this.useContext == null)
4294        this.useContext = new ArrayList<UsageContext>();
4295      this.useContext.add(t);
4296      return t;
4297    }
4298
4299    public Evidence addUseContext(UsageContext t) { //3
4300      if (t == null)
4301        return this;
4302      if (this.useContext == null)
4303        this.useContext = new ArrayList<UsageContext>();
4304      this.useContext.add(t);
4305      return this;
4306    }
4307
4308    /**
4309     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
4310     */
4311    public UsageContext getUseContextFirstRep() { 
4312      if (getUseContext().isEmpty()) {
4313        addUseContext();
4314      }
4315      return getUseContext().get(0);
4316    }
4317
4318    /**
4319     * @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
4320     */
4321    public DateType getApprovalDateElement() { 
4322      if (this.approvalDate == null)
4323        if (Configuration.errorOnAutoCreate())
4324          throw new Error("Attempt to auto-create Evidence.approvalDate");
4325        else if (Configuration.doAutoCreate())
4326          this.approvalDate = new DateType(); // bb
4327      return this.approvalDate;
4328    }
4329
4330    public boolean hasApprovalDateElement() { 
4331      return this.approvalDate != null && !this.approvalDate.isEmpty();
4332    }
4333
4334    public boolean hasApprovalDate() { 
4335      return this.approvalDate != null && !this.approvalDate.isEmpty();
4336    }
4337
4338    /**
4339     * @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
4340     */
4341    public Evidence setApprovalDateElement(DateType value) { 
4342      this.approvalDate = value;
4343      return this;
4344    }
4345
4346    /**
4347     * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
4348     */
4349    public Date getApprovalDate() { 
4350      return this.approvalDate == null ? null : this.approvalDate.getValue();
4351    }
4352
4353    /**
4354     * @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.
4355     */
4356    public Evidence setApprovalDate(Date value) { 
4357      if (value == null)
4358        this.approvalDate = null;
4359      else {
4360        if (this.approvalDate == null)
4361          this.approvalDate = new DateType();
4362        this.approvalDate.setValue(value);
4363      }
4364      return this;
4365    }
4366
4367    /**
4368     * @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
4369     */
4370    public DateType getLastReviewDateElement() { 
4371      if (this.lastReviewDate == null)
4372        if (Configuration.errorOnAutoCreate())
4373          throw new Error("Attempt to auto-create Evidence.lastReviewDate");
4374        else if (Configuration.doAutoCreate())
4375          this.lastReviewDate = new DateType(); // bb
4376      return this.lastReviewDate;
4377    }
4378
4379    public boolean hasLastReviewDateElement() { 
4380      return this.lastReviewDate != null && !this.lastReviewDate.isEmpty();
4381    }
4382
4383    public boolean hasLastReviewDate() { 
4384      return this.lastReviewDate != null && !this.lastReviewDate.isEmpty();
4385    }
4386
4387    /**
4388     * @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
4389     */
4390    public Evidence setLastReviewDateElement(DateType value) { 
4391      this.lastReviewDate = value;
4392      return this;
4393    }
4394
4395    /**
4396     * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
4397     */
4398    public Date getLastReviewDate() { 
4399      return this.lastReviewDate == null ? null : this.lastReviewDate.getValue();
4400    }
4401
4402    /**
4403     * @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.
4404     */
4405    public Evidence setLastReviewDate(Date value) { 
4406      if (value == null)
4407        this.lastReviewDate = null;
4408      else {
4409        if (this.lastReviewDate == null)
4410          this.lastReviewDate = new DateType();
4411        this.lastReviewDate.setValue(value);
4412      }
4413      return this;
4414    }
4415
4416    /**
4417     * @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
4418     */
4419    public StringType getPublisherElement() { 
4420      if (this.publisher == null)
4421        if (Configuration.errorOnAutoCreate())
4422          throw new Error("Attempt to auto-create Evidence.publisher");
4423        else if (Configuration.doAutoCreate())
4424          this.publisher = new StringType(); // bb
4425      return this.publisher;
4426    }
4427
4428    public boolean hasPublisherElement() { 
4429      return this.publisher != null && !this.publisher.isEmpty();
4430    }
4431
4432    public boolean hasPublisher() { 
4433      return this.publisher != null && !this.publisher.isEmpty();
4434    }
4435
4436    /**
4437     * @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
4438     */
4439    public Evidence setPublisherElement(StringType value) { 
4440      this.publisher = value;
4441      return this;
4442    }
4443
4444    /**
4445     * @return The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.
4446     */
4447    public String getPublisher() { 
4448      return this.publisher == null ? null : this.publisher.getValue();
4449    }
4450
4451    /**
4452     * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.
4453     */
4454    public Evidence setPublisher(String value) { 
4455      if (Utilities.noString(value))
4456        this.publisher = null;
4457      else {
4458        if (this.publisher == null)
4459          this.publisher = new StringType();
4460        this.publisher.setValue(value);
4461      }
4462      return this;
4463    }
4464
4465    /**
4466     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
4467     */
4468    public List<ContactDetail> getContact() { 
4469      if (this.contact == null)
4470        this.contact = new ArrayList<ContactDetail>();
4471      return this.contact;
4472    }
4473
4474    /**
4475     * @return Returns a reference to <code>this</code> for easy method chaining
4476     */
4477    public Evidence setContact(List<ContactDetail> theContact) { 
4478      this.contact = theContact;
4479      return this;
4480    }
4481
4482    public boolean hasContact() { 
4483      if (this.contact == null)
4484        return false;
4485      for (ContactDetail item : this.contact)
4486        if (!item.isEmpty())
4487          return true;
4488      return false;
4489    }
4490
4491    public ContactDetail addContact() { //3
4492      ContactDetail t = new ContactDetail();
4493      if (this.contact == null)
4494        this.contact = new ArrayList<ContactDetail>();
4495      this.contact.add(t);
4496      return t;
4497    }
4498
4499    public Evidence addContact(ContactDetail t) { //3
4500      if (t == null)
4501        return this;
4502      if (this.contact == null)
4503        this.contact = new ArrayList<ContactDetail>();
4504      this.contact.add(t);
4505      return this;
4506    }
4507
4508    /**
4509     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
4510     */
4511    public ContactDetail getContactFirstRep() { 
4512      if (getContact().isEmpty()) {
4513        addContact();
4514      }
4515      return getContact().get(0);
4516    }
4517
4518    /**
4519     * @return {@link #author} (An individiual, organization, or device primarily involved in the creation and maintenance of the content.)
4520     */
4521    public List<ContactDetail> getAuthor() { 
4522      if (this.author == null)
4523        this.author = new ArrayList<ContactDetail>();
4524      return this.author;
4525    }
4526
4527    /**
4528     * @return Returns a reference to <code>this</code> for easy method chaining
4529     */
4530    public Evidence setAuthor(List<ContactDetail> theAuthor) { 
4531      this.author = theAuthor;
4532      return this;
4533    }
4534
4535    public boolean hasAuthor() { 
4536      if (this.author == null)
4537        return false;
4538      for (ContactDetail item : this.author)
4539        if (!item.isEmpty())
4540          return true;
4541      return false;
4542    }
4543
4544    public ContactDetail addAuthor() { //3
4545      ContactDetail t = new ContactDetail();
4546      if (this.author == null)
4547        this.author = new ArrayList<ContactDetail>();
4548      this.author.add(t);
4549      return t;
4550    }
4551
4552    public Evidence addAuthor(ContactDetail t) { //3
4553      if (t == null)
4554        return this;
4555      if (this.author == null)
4556        this.author = new ArrayList<ContactDetail>();
4557      this.author.add(t);
4558      return this;
4559    }
4560
4561    /**
4562     * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3}
4563     */
4564    public ContactDetail getAuthorFirstRep() { 
4565      if (getAuthor().isEmpty()) {
4566        addAuthor();
4567      }
4568      return getAuthor().get(0);
4569    }
4570
4571    /**
4572     * @return {@link #editor} (An individiual, organization, or device primarily responsible for internal coherence of the content.)
4573     */
4574    public List<ContactDetail> getEditor() { 
4575      if (this.editor == null)
4576        this.editor = new ArrayList<ContactDetail>();
4577      return this.editor;
4578    }
4579
4580    /**
4581     * @return Returns a reference to <code>this</code> for easy method chaining
4582     */
4583    public Evidence setEditor(List<ContactDetail> theEditor) { 
4584      this.editor = theEditor;
4585      return this;
4586    }
4587
4588    public boolean hasEditor() { 
4589      if (this.editor == null)
4590        return false;
4591      for (ContactDetail item : this.editor)
4592        if (!item.isEmpty())
4593          return true;
4594      return false;
4595    }
4596
4597    public ContactDetail addEditor() { //3
4598      ContactDetail t = new ContactDetail();
4599      if (this.editor == null)
4600        this.editor = new ArrayList<ContactDetail>();
4601      this.editor.add(t);
4602      return t;
4603    }
4604
4605    public Evidence addEditor(ContactDetail t) { //3
4606      if (t == null)
4607        return this;
4608      if (this.editor == null)
4609        this.editor = new ArrayList<ContactDetail>();
4610      this.editor.add(t);
4611      return this;
4612    }
4613
4614    /**
4615     * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3}
4616     */
4617    public ContactDetail getEditorFirstRep() { 
4618      if (getEditor().isEmpty()) {
4619        addEditor();
4620      }
4621      return getEditor().get(0);
4622    }
4623
4624    /**
4625     * @return {@link #reviewer} (An individiual, organization, or device primarily responsible for review of some aspect of the content.)
4626     */
4627    public List<ContactDetail> getReviewer() { 
4628      if (this.reviewer == null)
4629        this.reviewer = new ArrayList<ContactDetail>();
4630      return this.reviewer;
4631    }
4632
4633    /**
4634     * @return Returns a reference to <code>this</code> for easy method chaining
4635     */
4636    public Evidence setReviewer(List<ContactDetail> theReviewer) { 
4637      this.reviewer = theReviewer;
4638      return this;
4639    }
4640
4641    public boolean hasReviewer() { 
4642      if (this.reviewer == null)
4643        return false;
4644      for (ContactDetail item : this.reviewer)
4645        if (!item.isEmpty())
4646          return true;
4647      return false;
4648    }
4649
4650    public ContactDetail addReviewer() { //3
4651      ContactDetail t = new ContactDetail();
4652      if (this.reviewer == null)
4653        this.reviewer = new ArrayList<ContactDetail>();
4654      this.reviewer.add(t);
4655      return t;
4656    }
4657
4658    public Evidence addReviewer(ContactDetail t) { //3
4659      if (t == null)
4660        return this;
4661      if (this.reviewer == null)
4662        this.reviewer = new ArrayList<ContactDetail>();
4663      this.reviewer.add(t);
4664      return this;
4665    }
4666
4667    /**
4668     * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3}
4669     */
4670    public ContactDetail getReviewerFirstRep() { 
4671      if (getReviewer().isEmpty()) {
4672        addReviewer();
4673      }
4674      return getReviewer().get(0);
4675    }
4676
4677    /**
4678     * @return {@link #endorser} (An individiual, organization, or device responsible for officially endorsing the content for use in some setting.)
4679     */
4680    public List<ContactDetail> getEndorser() { 
4681      if (this.endorser == null)
4682        this.endorser = new ArrayList<ContactDetail>();
4683      return this.endorser;
4684    }
4685
4686    /**
4687     * @return Returns a reference to <code>this</code> for easy method chaining
4688     */
4689    public Evidence setEndorser(List<ContactDetail> theEndorser) { 
4690      this.endorser = theEndorser;
4691      return this;
4692    }
4693
4694    public boolean hasEndorser() { 
4695      if (this.endorser == null)
4696        return false;
4697      for (ContactDetail item : this.endorser)
4698        if (!item.isEmpty())
4699          return true;
4700      return false;
4701    }
4702
4703    public ContactDetail addEndorser() { //3
4704      ContactDetail t = new ContactDetail();
4705      if (this.endorser == null)
4706        this.endorser = new ArrayList<ContactDetail>();
4707      this.endorser.add(t);
4708      return t;
4709    }
4710
4711    public Evidence addEndorser(ContactDetail t) { //3
4712      if (t == null)
4713        return this;
4714      if (this.endorser == null)
4715        this.endorser = new ArrayList<ContactDetail>();
4716      this.endorser.add(t);
4717      return this;
4718    }
4719
4720    /**
4721     * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3}
4722     */
4723    public ContactDetail getEndorserFirstRep() { 
4724      if (getEndorser().isEmpty()) {
4725        addEndorser();
4726      }
4727      return getEndorser().get(0);
4728    }
4729
4730    /**
4731     * @return {@link #relatedArtifact} (Link or citation to artifact associated with the summary.)
4732     */
4733    public List<RelatedArtifact> getRelatedArtifact() { 
4734      if (this.relatedArtifact == null)
4735        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4736      return this.relatedArtifact;
4737    }
4738
4739    /**
4740     * @return Returns a reference to <code>this</code> for easy method chaining
4741     */
4742    public Evidence setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 
4743      this.relatedArtifact = theRelatedArtifact;
4744      return this;
4745    }
4746
4747    public boolean hasRelatedArtifact() { 
4748      if (this.relatedArtifact == null)
4749        return false;
4750      for (RelatedArtifact item : this.relatedArtifact)
4751        if (!item.isEmpty())
4752          return true;
4753      return false;
4754    }
4755
4756    public RelatedArtifact addRelatedArtifact() { //3
4757      RelatedArtifact t = new RelatedArtifact();
4758      if (this.relatedArtifact == null)
4759        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4760      this.relatedArtifact.add(t);
4761      return t;
4762    }
4763
4764    public Evidence addRelatedArtifact(RelatedArtifact t) { //3
4765      if (t == null)
4766        return this;
4767      if (this.relatedArtifact == null)
4768        this.relatedArtifact = new ArrayList<RelatedArtifact>();
4769      this.relatedArtifact.add(t);
4770      return this;
4771    }
4772
4773    /**
4774     * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3}
4775     */
4776    public RelatedArtifact getRelatedArtifactFirstRep() { 
4777      if (getRelatedArtifact().isEmpty()) {
4778        addRelatedArtifact();
4779      }
4780      return getRelatedArtifact().get(0);
4781    }
4782
4783    /**
4784     * @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
4785     */
4786    public MarkdownType getDescriptionElement() { 
4787      if (this.description == null)
4788        if (Configuration.errorOnAutoCreate())
4789          throw new Error("Attempt to auto-create Evidence.description");
4790        else if (Configuration.doAutoCreate())
4791          this.description = new MarkdownType(); // bb
4792      return this.description;
4793    }
4794
4795    public boolean hasDescriptionElement() { 
4796      return this.description != null && !this.description.isEmpty();
4797    }
4798
4799    public boolean hasDescription() { 
4800      return this.description != null && !this.description.isEmpty();
4801    }
4802
4803    /**
4804     * @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
4805     */
4806    public Evidence setDescriptionElement(MarkdownType value) { 
4807      this.description = value;
4808      return this;
4809    }
4810
4811    /**
4812     * @return A free text natural language description of the evidence from a consumer's perspective.
4813     */
4814    public String getDescription() { 
4815      return this.description == null ? null : this.description.getValue();
4816    }
4817
4818    /**
4819     * @param value A free text natural language description of the evidence from a consumer's perspective.
4820     */
4821    public Evidence setDescription(String value) { 
4822      if (value == null)
4823        this.description = null;
4824      else {
4825        if (this.description == null)
4826          this.description = new MarkdownType();
4827        this.description.setValue(value);
4828      }
4829      return this;
4830    }
4831
4832    /**
4833     * @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
4834     */
4835    public MarkdownType getAssertionElement() { 
4836      if (this.assertion == null)
4837        if (Configuration.errorOnAutoCreate())
4838          throw new Error("Attempt to auto-create Evidence.assertion");
4839        else if (Configuration.doAutoCreate())
4840          this.assertion = new MarkdownType(); // bb
4841      return this.assertion;
4842    }
4843
4844    public boolean hasAssertionElement() { 
4845      return this.assertion != null && !this.assertion.isEmpty();
4846    }
4847
4848    public boolean hasAssertion() { 
4849      return this.assertion != null && !this.assertion.isEmpty();
4850    }
4851
4852    /**
4853     * @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
4854     */
4855    public Evidence setAssertionElement(MarkdownType value) { 
4856      this.assertion = value;
4857      return this;
4858    }
4859
4860    /**
4861     * @return Declarative description of the Evidence.
4862     */
4863    public String getAssertion() { 
4864      return this.assertion == null ? null : this.assertion.getValue();
4865    }
4866
4867    /**
4868     * @param value Declarative description of the Evidence.
4869     */
4870    public Evidence setAssertion(String value) { 
4871      if (value == null)
4872        this.assertion = null;
4873      else {
4874        if (this.assertion == null)
4875          this.assertion = new MarkdownType();
4876        this.assertion.setValue(value);
4877      }
4878      return this;
4879    }
4880
4881    /**
4882     * @return {@link #note} (Footnotes and/or explanatory notes.)
4883     */
4884    public List<Annotation> getNote() { 
4885      if (this.note == null)
4886        this.note = new ArrayList<Annotation>();
4887      return this.note;
4888    }
4889
4890    /**
4891     * @return Returns a reference to <code>this</code> for easy method chaining
4892     */
4893    public Evidence setNote(List<Annotation> theNote) { 
4894      this.note = theNote;
4895      return this;
4896    }
4897
4898    public boolean hasNote() { 
4899      if (this.note == null)
4900        return false;
4901      for (Annotation item : this.note)
4902        if (!item.isEmpty())
4903          return true;
4904      return false;
4905    }
4906
4907    public Annotation addNote() { //3
4908      Annotation t = new Annotation();
4909      if (this.note == null)
4910        this.note = new ArrayList<Annotation>();
4911      this.note.add(t);
4912      return t;
4913    }
4914
4915    public Evidence addNote(Annotation t) { //3
4916      if (t == null)
4917        return this;
4918      if (this.note == null)
4919        this.note = new ArrayList<Annotation>();
4920      this.note.add(t);
4921      return this;
4922    }
4923
4924    /**
4925     * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3}
4926     */
4927    public Annotation getNoteFirstRep() { 
4928      if (getNote().isEmpty()) {
4929        addNote();
4930      }
4931      return getNote().get(0);
4932    }
4933
4934    /**
4935     * @return {@link #variableDefinition} (Evidence variable such as population, exposure, or outcome.)
4936     */
4937    public List<EvidenceVariableDefinitionComponent> getVariableDefinition() { 
4938      if (this.variableDefinition == null)
4939        this.variableDefinition = new ArrayList<EvidenceVariableDefinitionComponent>();
4940      return this.variableDefinition;
4941    }
4942
4943    /**
4944     * @return Returns a reference to <code>this</code> for easy method chaining
4945     */
4946    public Evidence setVariableDefinition(List<EvidenceVariableDefinitionComponent> theVariableDefinition) { 
4947      this.variableDefinition = theVariableDefinition;
4948      return this;
4949    }
4950
4951    public boolean hasVariableDefinition() { 
4952      if (this.variableDefinition == null)
4953        return false;
4954      for (EvidenceVariableDefinitionComponent item : this.variableDefinition)
4955        if (!item.isEmpty())
4956          return true;
4957      return false;
4958    }
4959
4960    public EvidenceVariableDefinitionComponent addVariableDefinition() { //3
4961      EvidenceVariableDefinitionComponent t = new EvidenceVariableDefinitionComponent();
4962      if (this.variableDefinition == null)
4963        this.variableDefinition = new ArrayList<EvidenceVariableDefinitionComponent>();
4964      this.variableDefinition.add(t);
4965      return t;
4966    }
4967
4968    public Evidence addVariableDefinition(EvidenceVariableDefinitionComponent t) { //3
4969      if (t == null)
4970        return this;
4971      if (this.variableDefinition == null)
4972        this.variableDefinition = new ArrayList<EvidenceVariableDefinitionComponent>();
4973      this.variableDefinition.add(t);
4974      return this;
4975    }
4976
4977    /**
4978     * @return The first repetition of repeating field {@link #variableDefinition}, creating it if it does not already exist {3}
4979     */
4980    public EvidenceVariableDefinitionComponent getVariableDefinitionFirstRep() { 
4981      if (getVariableDefinition().isEmpty()) {
4982        addVariableDefinition();
4983      }
4984      return getVariableDefinition().get(0);
4985    }
4986
4987    /**
4988     * @return {@link #synthesisType} (The method to combine studies.)
4989     */
4990    public CodeableConcept getSynthesisType() { 
4991      if (this.synthesisType == null)
4992        if (Configuration.errorOnAutoCreate())
4993          throw new Error("Attempt to auto-create Evidence.synthesisType");
4994        else if (Configuration.doAutoCreate())
4995          this.synthesisType = new CodeableConcept(); // cc
4996      return this.synthesisType;
4997    }
4998
4999    public boolean hasSynthesisType() { 
5000      return this.synthesisType != null && !this.synthesisType.isEmpty();
5001    }
5002
5003    /**
5004     * @param value {@link #synthesisType} (The method to combine studies.)
5005     */
5006    public Evidence setSynthesisType(CodeableConcept value) { 
5007      this.synthesisType = value;
5008      return this;
5009    }
5010
5011    /**
5012     * @return {@link #studyDesign} (The design of the study that produced this evidence. The design is described with any number of study design characteristics.)
5013     */
5014    public List<CodeableConcept> getStudyDesign() { 
5015      if (this.studyDesign == null)
5016        this.studyDesign = new ArrayList<CodeableConcept>();
5017      return this.studyDesign;
5018    }
5019
5020    /**
5021     * @return Returns a reference to <code>this</code> for easy method chaining
5022     */
5023    public Evidence setStudyDesign(List<CodeableConcept> theStudyDesign) { 
5024      this.studyDesign = theStudyDesign;
5025      return this;
5026    }
5027
5028    public boolean hasStudyDesign() { 
5029      if (this.studyDesign == null)
5030        return false;
5031      for (CodeableConcept item : this.studyDesign)
5032        if (!item.isEmpty())
5033          return true;
5034      return false;
5035    }
5036
5037    public CodeableConcept addStudyDesign() { //3
5038      CodeableConcept t = new CodeableConcept();
5039      if (this.studyDesign == null)
5040        this.studyDesign = new ArrayList<CodeableConcept>();
5041      this.studyDesign.add(t);
5042      return t;
5043    }
5044
5045    public Evidence addStudyDesign(CodeableConcept t) { //3
5046      if (t == null)
5047        return this;
5048      if (this.studyDesign == null)
5049        this.studyDesign = new ArrayList<CodeableConcept>();
5050      this.studyDesign.add(t);
5051      return this;
5052    }
5053
5054    /**
5055     * @return The first repetition of repeating field {@link #studyDesign}, creating it if it does not already exist {3}
5056     */
5057    public CodeableConcept getStudyDesignFirstRep() { 
5058      if (getStudyDesign().isEmpty()) {
5059        addStudyDesign();
5060      }
5061      return getStudyDesign().get(0);
5062    }
5063
5064    /**
5065     * @return {@link #statistic} (Values and parameters for a single statistic.)
5066     */
5067    public List<EvidenceStatisticComponent> getStatistic() { 
5068      if (this.statistic == null)
5069        this.statistic = new ArrayList<EvidenceStatisticComponent>();
5070      return this.statistic;
5071    }
5072
5073    /**
5074     * @return Returns a reference to <code>this</code> for easy method chaining
5075     */
5076    public Evidence setStatistic(List<EvidenceStatisticComponent> theStatistic) { 
5077      this.statistic = theStatistic;
5078      return this;
5079    }
5080
5081    public boolean hasStatistic() { 
5082      if (this.statistic == null)
5083        return false;
5084      for (EvidenceStatisticComponent item : this.statistic)
5085        if (!item.isEmpty())
5086          return true;
5087      return false;
5088    }
5089
5090    public EvidenceStatisticComponent addStatistic() { //3
5091      EvidenceStatisticComponent t = new EvidenceStatisticComponent();
5092      if (this.statistic == null)
5093        this.statistic = new ArrayList<EvidenceStatisticComponent>();
5094      this.statistic.add(t);
5095      return t;
5096    }
5097
5098    public Evidence addStatistic(EvidenceStatisticComponent t) { //3
5099      if (t == null)
5100        return this;
5101      if (this.statistic == null)
5102        this.statistic = new ArrayList<EvidenceStatisticComponent>();
5103      this.statistic.add(t);
5104      return this;
5105    }
5106
5107    /**
5108     * @return The first repetition of repeating field {@link #statistic}, creating it if it does not already exist {3}
5109     */
5110    public EvidenceStatisticComponent getStatisticFirstRep() { 
5111      if (getStatistic().isEmpty()) {
5112        addStatistic();
5113      }
5114      return getStatistic().get(0);
5115    }
5116
5117    /**
5118     * @return {@link #certainty} (Assessment of certainty, confidence in the estimates, or quality of the evidence.)
5119     */
5120    public List<EvidenceCertaintyComponent> getCertainty() { 
5121      if (this.certainty == null)
5122        this.certainty = new ArrayList<EvidenceCertaintyComponent>();
5123      return this.certainty;
5124    }
5125
5126    /**
5127     * @return Returns a reference to <code>this</code> for easy method chaining
5128     */
5129    public Evidence setCertainty(List<EvidenceCertaintyComponent> theCertainty) { 
5130      this.certainty = theCertainty;
5131      return this;
5132    }
5133
5134    public boolean hasCertainty() { 
5135      if (this.certainty == null)
5136        return false;
5137      for (EvidenceCertaintyComponent item : this.certainty)
5138        if (!item.isEmpty())
5139          return true;
5140      return false;
5141    }
5142
5143    public EvidenceCertaintyComponent addCertainty() { //3
5144      EvidenceCertaintyComponent t = new EvidenceCertaintyComponent();
5145      if (this.certainty == null)
5146        this.certainty = new ArrayList<EvidenceCertaintyComponent>();
5147      this.certainty.add(t);
5148      return t;
5149    }
5150
5151    public Evidence addCertainty(EvidenceCertaintyComponent t) { //3
5152      if (t == null)
5153        return this;
5154      if (this.certainty == null)
5155        this.certainty = new ArrayList<EvidenceCertaintyComponent>();
5156      this.certainty.add(t);
5157      return this;
5158    }
5159
5160    /**
5161     * @return The first repetition of repeating field {@link #certainty}, creating it if it does not already exist {3}
5162     */
5163    public EvidenceCertaintyComponent getCertaintyFirstRep() { 
5164      if (getCertainty().isEmpty()) {
5165        addCertainty();
5166      }
5167      return getCertainty().get(0);
5168    }
5169
5170    /**
5171     * not supported on this implementation
5172     */
5173    @Override
5174    public int getVersionAlgorithmMax() { 
5175      return 0;
5176    }
5177    /**
5178     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
5179     */
5180    public DataType getVersionAlgorithm() { 
5181      throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); 
5182    }
5183    /**
5184     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
5185     */
5186    public StringType getVersionAlgorithmStringType() { 
5187      throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); 
5188    }
5189    public boolean hasVersionAlgorithmStringType() { 
5190      return false;////K 
5191    }
5192    /**
5193     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
5194     */
5195    public Coding getVersionAlgorithmCoding() { 
5196      throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); 
5197    }
5198    public boolean hasVersionAlgorithmCoding() { 
5199      return false;////K 
5200    }
5201    public boolean hasVersionAlgorithm() { 
5202      return false;
5203    }
5204    /**
5205     * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
5206     */
5207    public Evidence setVersionAlgorithm(DataType value) { 
5208      throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); 
5209    }
5210
5211    /**
5212     * not supported on this implementation
5213     */
5214    @Override
5215    public int getJurisdictionMax() { 
5216      return 0;
5217    }
5218    /**
5219     * @return {@link #jurisdiction} (A legal or geographic region in which the evidence is intended to be used.)
5220     */
5221    public List<CodeableConcept> getJurisdiction() { 
5222      return new ArrayList<>();
5223    }
5224    /**
5225     * @return Returns a reference to <code>this</code> for easy method chaining
5226     */
5227    public Evidence setJurisdiction(List<CodeableConcept> theJurisdiction) { 
5228      throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); 
5229    }
5230    public boolean hasJurisdiction() { 
5231      return false;
5232    }
5233
5234    public CodeableConcept addJurisdiction() { //3
5235      throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); 
5236    }
5237    public Evidence addJurisdiction(CodeableConcept t) { //3
5238      throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); 
5239    }
5240    /**
5241     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2}
5242     */
5243    public CodeableConcept getJurisdictionFirstRep() { 
5244      throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); 
5245    }
5246    /**
5247     * not supported on this implementation
5248     */
5249    @Override
5250    public int getPurposeMax() { 
5251      return 0;
5252    }
5253    /**
5254     * @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
5255     */
5256    public MarkdownType getPurposeElement() { 
5257      throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\"");
5258    }
5259
5260    public boolean hasPurposeElement() { 
5261      return false;
5262    }
5263    public boolean hasPurpose() {
5264      return false;
5265    }
5266
5267    /**
5268     * @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
5269     */
5270    public Evidence setPurposeElement(MarkdownType value) { 
5271      throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); 
5272    }
5273    public String getPurpose() { 
5274      throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); 
5275    }
5276    /**
5277     * @param value Explanation of why this evidence is needed and why it has been designed as it has.
5278     */
5279    public Evidence setPurpose(String value) { 
5280      throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); 
5281    }
5282    /**
5283     * not supported on this implementation
5284     */
5285    @Override
5286    public int getCopyrightMax() { 
5287      return 0;
5288    }
5289    /**
5290     * @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
5291     */
5292    public MarkdownType getCopyrightElement() { 
5293      throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\"");
5294    }
5295
5296    public boolean hasCopyrightElement() { 
5297      return false;
5298    }
5299    public boolean hasCopyright() {
5300      return false;
5301    }
5302
5303    /**
5304     * @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
5305     */
5306    public Evidence setCopyrightElement(MarkdownType value) { 
5307      throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); 
5308    }
5309    public String getCopyright() { 
5310      throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); 
5311    }
5312    /**
5313     * @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.
5314     */
5315    public Evidence setCopyright(String value) { 
5316      throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); 
5317    }
5318    /**
5319     * not supported on this implementation
5320     */
5321    @Override
5322    public int getCopyrightLabelMax() { 
5323      return 0;
5324    }
5325    /**
5326     * @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
5327     */
5328    public StringType getCopyrightLabelElement() { 
5329      throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\"");
5330    }
5331
5332    public boolean hasCopyrightLabelElement() { 
5333      return false;
5334    }
5335    public boolean hasCopyrightLabel() {
5336      return false;
5337    }
5338
5339    /**
5340     * @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
5341     */
5342    public Evidence setCopyrightLabelElement(StringType value) { 
5343      throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); 
5344    }
5345    public String getCopyrightLabel() { 
5346      throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); 
5347    }
5348    /**
5349     * @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').
5350     */
5351    public Evidence setCopyrightLabel(String value) { 
5352      throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); 
5353    }
5354    /**
5355     * not supported on this implementation
5356     */
5357    @Override
5358    public int getEffectivePeriodMax() { 
5359      return 0;
5360    }
5361    /**
5362     * @return {@link #effectivePeriod} (The period during which the evidence content was or is planned to be in active use.)
5363     */
5364    public Period getEffectivePeriod() { 
5365      throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); 
5366    }
5367    public boolean hasEffectivePeriod() { 
5368      return false;
5369    }
5370    /**
5371     * @param value {@link #effectivePeriod} (The period during which the evidence content was or is planned to be in active use.)
5372     */
5373    public Evidence setEffectivePeriod(Period value) { 
5374      throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); 
5375    }
5376
5377    /**
5378     * not supported on this implementation
5379     */
5380    @Override
5381    public int getTopicMax() { 
5382      return 0;
5383    }
5384    /**
5385     * @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.)
5386     */
5387    public List<CodeableConcept> getTopic() { 
5388      return new ArrayList<>();
5389    }
5390    /**
5391     * @return Returns a reference to <code>this</code> for easy method chaining
5392     */
5393    public Evidence setTopic(List<CodeableConcept> theTopic) { 
5394      throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); 
5395    }
5396    public boolean hasTopic() { 
5397      return false;
5398    }
5399
5400    public CodeableConcept addTopic() { //3
5401      throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); 
5402    }
5403    public Evidence addTopic(CodeableConcept t) { //3
5404      throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); 
5405    }
5406    /**
5407     * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2}
5408     */
5409    public CodeableConcept getTopicFirstRep() { 
5410      throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); 
5411    }
5412      protected void listChildren(List<Property> children) {
5413        super.listChildren(children);
5414        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));
5415        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));
5416        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));
5417        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));
5418        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the summary.", 0, 1, title));
5419        children.add(new Property("citeAs[x]", "Reference(Citation)|markdown", "Citation Resource or display of suggested citation for this evidence.", 0, 1, citeAs));
5420        children.add(new Property("status", "code", "The status of this summary. Enables tracking the life-cycle of the content.", 0, 1, status));
5421        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));
5422        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));
5423        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));
5424        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));
5425        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));
5426        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));
5427        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));
5428        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));
5429        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));
5430        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));
5431        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));
5432        children.add(new Property("relatedArtifact", "RelatedArtifact", "Link or citation to artifact associated with the summary.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact));
5433        children.add(new Property("description", "markdown", "A free text natural language description of the evidence from a consumer's perspective.", 0, 1, description));
5434        children.add(new Property("assertion", "markdown", "Declarative description of the Evidence.", 0, 1, assertion));
5435        children.add(new Property("note", "Annotation", "Footnotes and/or explanatory notes.", 0, java.lang.Integer.MAX_VALUE, note));
5436        children.add(new Property("variableDefinition", "", "Evidence variable such as population, exposure, or outcome.", 0, java.lang.Integer.MAX_VALUE, variableDefinition));
5437        children.add(new Property("synthesisType", "CodeableConcept", "The method to combine studies.", 0, 1, synthesisType));
5438        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));
5439        children.add(new Property("statistic", "", "Values and parameters for a single statistic.", 0, java.lang.Integer.MAX_VALUE, statistic));
5440        children.add(new Property("certainty", "", "Assessment of certainty, confidence in the estimates, or quality of the evidence.", 0, java.lang.Integer.MAX_VALUE, certainty));
5441      }
5442
5443      @Override
5444      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
5445        switch (_hash) {
5446        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);
5447        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);
5448        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);
5449        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);
5450        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the summary.", 0, 1, title);
5451        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);
5452        case -1360156695: /*citeAs*/  return new Property("citeAs[x]", "Reference(Citation)|markdown", "Citation Resource or display of suggested citation for this evidence.", 0, 1, citeAs);
5453        case 1269009762: /*citeAsReference*/  return new Property("citeAs[x]", "Reference(Citation)", "Citation Resource or display of suggested citation for this evidence.", 0, 1, citeAs);
5454        case 456265720: /*citeAsMarkdown*/  return new Property("citeAs[x]", "markdown", "Citation Resource or display of suggested citation for this evidence.", 0, 1, citeAs);
5455        case -892481550: /*status*/  return new Property("status", "code", "The status of this summary. Enables tracking the life-cycle of the content.", 0, 1, status);
5456        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);
5457        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);
5458        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);
5459        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);
5460        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);
5461        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);
5462        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);
5463        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);
5464        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);
5465        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);
5466        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);
5467        case 666807069: /*relatedArtifact*/  return new Property("relatedArtifact", "RelatedArtifact", "Link or citation to artifact associated with the summary.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact);
5468        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);
5469        case 1314395906: /*assertion*/  return new Property("assertion", "markdown", "Declarative description of the Evidence.", 0, 1, assertion);
5470        case 3387378: /*note*/  return new Property("note", "Annotation", "Footnotes and/or explanatory notes.", 0, java.lang.Integer.MAX_VALUE, note);
5471        case -1807222545: /*variableDefinition*/  return new Property("variableDefinition", "", "Evidence variable such as population, exposure, or outcome.", 0, java.lang.Integer.MAX_VALUE, variableDefinition);
5472        case 672726254: /*synthesisType*/  return new Property("synthesisType", "CodeableConcept", "The method to combine studies.", 0, 1, synthesisType);
5473        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);
5474        case -2081261232: /*statistic*/  return new Property("statistic", "", "Values and parameters for a single statistic.", 0, java.lang.Integer.MAX_VALUE, statistic);
5475        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);
5476        default: return super.getNamedProperty(_hash, _name, _checkValid);
5477        }
5478
5479      }
5480
5481      @Override
5482      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
5483        switch (hash) {
5484        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
5485        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
5486        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
5487        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
5488        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
5489        case -1360156695: /*citeAs*/ return this.citeAs == null ? new Base[0] : new Base[] {this.citeAs}; // DataType
5490        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
5491        case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
5492        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
5493        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
5494        case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType
5495        case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType
5496        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
5497        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
5498        case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail
5499        case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail
5500        case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail
5501        case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail
5502        case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact
5503        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
5504        case 1314395906: /*assertion*/ return this.assertion == null ? new Base[0] : new Base[] {this.assertion}; // MarkdownType
5505        case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation
5506        case -1807222545: /*variableDefinition*/ return this.variableDefinition == null ? new Base[0] : this.variableDefinition.toArray(new Base[this.variableDefinition.size()]); // EvidenceVariableDefinitionComponent
5507        case 672726254: /*synthesisType*/ return this.synthesisType == null ? new Base[0] : new Base[] {this.synthesisType}; // CodeableConcept
5508        case 1709211879: /*studyDesign*/ return this.studyDesign == null ? new Base[0] : this.studyDesign.toArray(new Base[this.studyDesign.size()]); // CodeableConcept
5509        case -2081261232: /*statistic*/ return this.statistic == null ? new Base[0] : this.statistic.toArray(new Base[this.statistic.size()]); // EvidenceStatisticComponent
5510        case -1404142937: /*certainty*/ return this.certainty == null ? new Base[0] : this.certainty.toArray(new Base[this.certainty.size()]); // EvidenceCertaintyComponent
5511        default: return super.getProperty(hash, name, checkValid);
5512        }
5513
5514      }
5515
5516      @Override
5517      public Base setProperty(int hash, String name, Base value) throws FHIRException {
5518        switch (hash) {
5519        case 116079: // url
5520          this.url = TypeConvertor.castToUri(value); // UriType
5521          return value;
5522        case -1618432855: // identifier
5523          this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
5524          return value;
5525        case 351608024: // version
5526          this.version = TypeConvertor.castToString(value); // StringType
5527          return value;
5528        case 3373707: // name
5529          this.name = TypeConvertor.castToString(value); // StringType
5530          return value;
5531        case 110371416: // title
5532          this.title = TypeConvertor.castToString(value); // StringType
5533          return value;
5534        case -1360156695: // citeAs
5535          this.citeAs = TypeConvertor.castToType(value); // DataType
5536          return value;
5537        case -892481550: // status
5538          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
5539          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
5540          return value;
5541        case -404562712: // experimental
5542          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
5543          return value;
5544        case 3076014: // date
5545          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
5546          return value;
5547        case -669707736: // useContext
5548          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
5549          return value;
5550        case 223539345: // approvalDate
5551          this.approvalDate = TypeConvertor.castToDate(value); // DateType
5552          return value;
5553        case -1687512484: // lastReviewDate
5554          this.lastReviewDate = TypeConvertor.castToDate(value); // DateType
5555          return value;
5556        case 1447404028: // publisher
5557          this.publisher = TypeConvertor.castToString(value); // StringType
5558          return value;
5559        case 951526432: // contact
5560          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
5561          return value;
5562        case -1406328437: // author
5563          this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
5564          return value;
5565        case -1307827859: // editor
5566          this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
5567          return value;
5568        case -261190139: // reviewer
5569          this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
5570          return value;
5571        case 1740277666: // endorser
5572          this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
5573          return value;
5574        case 666807069: // relatedArtifact
5575          this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact
5576          return value;
5577        case -1724546052: // description
5578          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
5579          return value;
5580        case 1314395906: // assertion
5581          this.assertion = TypeConvertor.castToMarkdown(value); // MarkdownType
5582          return value;
5583        case 3387378: // note
5584          this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation
5585          return value;
5586        case -1807222545: // variableDefinition
5587          this.getVariableDefinition().add((EvidenceVariableDefinitionComponent) value); // EvidenceVariableDefinitionComponent
5588          return value;
5589        case 672726254: // synthesisType
5590          this.synthesisType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
5591          return value;
5592        case 1709211879: // studyDesign
5593          this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
5594          return value;
5595        case -2081261232: // statistic
5596          this.getStatistic().add((EvidenceStatisticComponent) value); // EvidenceStatisticComponent
5597          return value;
5598        case -1404142937: // certainty
5599          this.getCertainty().add((EvidenceCertaintyComponent) value); // EvidenceCertaintyComponent
5600          return value;
5601        default: return super.setProperty(hash, name, value);
5602        }
5603
5604      }
5605
5606      @Override
5607      public Base setProperty(String name, Base value) throws FHIRException {
5608        if (name.equals("url")) {
5609          this.url = TypeConvertor.castToUri(value); // UriType
5610        } else if (name.equals("identifier")) {
5611          this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
5612        } else if (name.equals("version")) {
5613          this.version = TypeConvertor.castToString(value); // StringType
5614        } else if (name.equals("name")) {
5615          this.name = TypeConvertor.castToString(value); // StringType
5616        } else if (name.equals("title")) {
5617          this.title = TypeConvertor.castToString(value); // StringType
5618        } else if (name.equals("citeAs[x]")) {
5619          this.citeAs = TypeConvertor.castToType(value); // DataType
5620        } else if (name.equals("status")) {
5621          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
5622          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
5623        } else if (name.equals("experimental")) {
5624          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
5625        } else if (name.equals("date")) {
5626          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
5627        } else if (name.equals("useContext")) {
5628          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
5629        } else if (name.equals("approvalDate")) {
5630          this.approvalDate = TypeConvertor.castToDate(value); // DateType
5631        } else if (name.equals("lastReviewDate")) {
5632          this.lastReviewDate = TypeConvertor.castToDate(value); // DateType
5633        } else if (name.equals("publisher")) {
5634          this.publisher = TypeConvertor.castToString(value); // StringType
5635        } else if (name.equals("contact")) {
5636          this.getContact().add(TypeConvertor.castToContactDetail(value));
5637        } else if (name.equals("author")) {
5638          this.getAuthor().add(TypeConvertor.castToContactDetail(value));
5639        } else if (name.equals("editor")) {
5640          this.getEditor().add(TypeConvertor.castToContactDetail(value));
5641        } else if (name.equals("reviewer")) {
5642          this.getReviewer().add(TypeConvertor.castToContactDetail(value));
5643        } else if (name.equals("endorser")) {
5644          this.getEndorser().add(TypeConvertor.castToContactDetail(value));
5645        } else if (name.equals("relatedArtifact")) {
5646          this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value));
5647        } else if (name.equals("description")) {
5648          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
5649        } else if (name.equals("assertion")) {
5650          this.assertion = TypeConvertor.castToMarkdown(value); // MarkdownType
5651        } else if (name.equals("note")) {
5652          this.getNote().add(TypeConvertor.castToAnnotation(value));
5653        } else if (name.equals("variableDefinition")) {
5654          this.getVariableDefinition().add((EvidenceVariableDefinitionComponent) value);
5655        } else if (name.equals("synthesisType")) {
5656          this.synthesisType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
5657        } else if (name.equals("studyDesign")) {
5658          this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value));
5659        } else if (name.equals("statistic")) {
5660          this.getStatistic().add((EvidenceStatisticComponent) value);
5661        } else if (name.equals("certainty")) {
5662          this.getCertainty().add((EvidenceCertaintyComponent) value);
5663        } else
5664          return super.setProperty(name, value);
5665        return value;
5666      }
5667
5668      @Override
5669      public Base makeProperty(int hash, String name) throws FHIRException {
5670        switch (hash) {
5671        case 116079:  return getUrlElement();
5672        case -1618432855:  return addIdentifier(); 
5673        case 351608024:  return getVersionElement();
5674        case 3373707:  return getNameElement();
5675        case 110371416:  return getTitleElement();
5676        case -1706539017:  return getCiteAs();
5677        case -1360156695:  return getCiteAs();
5678        case -892481550:  return getStatusElement();
5679        case -404562712:  return getExperimentalElement();
5680        case 3076014:  return getDateElement();
5681        case -669707736:  return addUseContext(); 
5682        case 223539345:  return getApprovalDateElement();
5683        case -1687512484:  return getLastReviewDateElement();
5684        case 1447404028:  return getPublisherElement();
5685        case 951526432:  return addContact(); 
5686        case -1406328437:  return addAuthor(); 
5687        case -1307827859:  return addEditor(); 
5688        case -261190139:  return addReviewer(); 
5689        case 1740277666:  return addEndorser(); 
5690        case 666807069:  return addRelatedArtifact(); 
5691        case -1724546052:  return getDescriptionElement();
5692        case 1314395906:  return getAssertionElement();
5693        case 3387378:  return addNote(); 
5694        case -1807222545:  return addVariableDefinition(); 
5695        case 672726254:  return getSynthesisType();
5696        case 1709211879:  return addStudyDesign(); 
5697        case -2081261232:  return addStatistic(); 
5698        case -1404142937:  return addCertainty(); 
5699        default: return super.makeProperty(hash, name);
5700        }
5701
5702      }
5703
5704      @Override
5705      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
5706        switch (hash) {
5707        case 116079: /*url*/ return new String[] {"uri"};
5708        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
5709        case 351608024: /*version*/ return new String[] {"string"};
5710        case 3373707: /*name*/ return new String[] {"string"};
5711        case 110371416: /*title*/ return new String[] {"string"};
5712        case -1360156695: /*citeAs*/ return new String[] {"Reference", "markdown"};
5713        case -892481550: /*status*/ return new String[] {"code"};
5714        case -404562712: /*experimental*/ return new String[] {"boolean"};
5715        case 3076014: /*date*/ return new String[] {"dateTime"};
5716        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
5717        case 223539345: /*approvalDate*/ return new String[] {"date"};
5718        case -1687512484: /*lastReviewDate*/ return new String[] {"date"};
5719        case 1447404028: /*publisher*/ return new String[] {"string"};
5720        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
5721        case -1406328437: /*author*/ return new String[] {"ContactDetail"};
5722        case -1307827859: /*editor*/ return new String[] {"ContactDetail"};
5723        case -261190139: /*reviewer*/ return new String[] {"ContactDetail"};
5724        case 1740277666: /*endorser*/ return new String[] {"ContactDetail"};
5725        case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"};
5726        case -1724546052: /*description*/ return new String[] {"markdown"};
5727        case 1314395906: /*assertion*/ return new String[] {"markdown"};
5728        case 3387378: /*note*/ return new String[] {"Annotation"};
5729        case -1807222545: /*variableDefinition*/ return new String[] {};
5730        case 672726254: /*synthesisType*/ return new String[] {"CodeableConcept"};
5731        case 1709211879: /*studyDesign*/ return new String[] {"CodeableConcept"};
5732        case -2081261232: /*statistic*/ return new String[] {};
5733        case -1404142937: /*certainty*/ return new String[] {};
5734        default: return super.getTypesForProperty(hash, name);
5735        }
5736
5737      }
5738
5739      @Override
5740      public Base addChild(String name) throws FHIRException {
5741        if (name.equals("url")) {
5742          throw new FHIRException("Cannot call addChild on a primitive type Evidence.url");
5743        }
5744        else if (name.equals("identifier")) {
5745          return addIdentifier();
5746        }
5747        else if (name.equals("version")) {
5748          throw new FHIRException("Cannot call addChild on a primitive type Evidence.version");
5749        }
5750        else if (name.equals("name")) {
5751          throw new FHIRException("Cannot call addChild on a primitive type Evidence.name");
5752        }
5753        else if (name.equals("title")) {
5754          throw new FHIRException("Cannot call addChild on a primitive type Evidence.title");
5755        }
5756        else if (name.equals("citeAsReference")) {
5757          this.citeAs = new Reference();
5758          return this.citeAs;
5759        }
5760        else if (name.equals("citeAsMarkdown")) {
5761          this.citeAs = new MarkdownType();
5762          return this.citeAs;
5763        }
5764        else if (name.equals("status")) {
5765          throw new FHIRException("Cannot call addChild on a primitive type Evidence.status");
5766        }
5767        else if (name.equals("experimental")) {
5768          throw new FHIRException("Cannot call addChild on a primitive type Evidence.experimental");
5769        }
5770        else if (name.equals("date")) {
5771          throw new FHIRException("Cannot call addChild on a primitive type Evidence.date");
5772        }
5773        else if (name.equals("useContext")) {
5774          return addUseContext();
5775        }
5776        else if (name.equals("approvalDate")) {
5777          throw new FHIRException("Cannot call addChild on a primitive type Evidence.approvalDate");
5778        }
5779        else if (name.equals("lastReviewDate")) {
5780          throw new FHIRException("Cannot call addChild on a primitive type Evidence.lastReviewDate");
5781        }
5782        else if (name.equals("publisher")) {
5783          throw new FHIRException("Cannot call addChild on a primitive type Evidence.publisher");
5784        }
5785        else if (name.equals("contact")) {
5786          return addContact();
5787        }
5788        else if (name.equals("author")) {
5789          return addAuthor();
5790        }
5791        else if (name.equals("editor")) {
5792          return addEditor();
5793        }
5794        else if (name.equals("reviewer")) {
5795          return addReviewer();
5796        }
5797        else if (name.equals("endorser")) {
5798          return addEndorser();
5799        }
5800        else if (name.equals("relatedArtifact")) {
5801          return addRelatedArtifact();
5802        }
5803        else if (name.equals("description")) {
5804          throw new FHIRException("Cannot call addChild on a primitive type Evidence.description");
5805        }
5806        else if (name.equals("assertion")) {
5807          throw new FHIRException("Cannot call addChild on a primitive type Evidence.assertion");
5808        }
5809        else if (name.equals("note")) {
5810          return addNote();
5811        }
5812        else if (name.equals("variableDefinition")) {
5813          return addVariableDefinition();
5814        }
5815        else if (name.equals("synthesisType")) {
5816          this.synthesisType = new CodeableConcept();
5817          return this.synthesisType;
5818        }
5819        else if (name.equals("studyDesign")) {
5820          return addStudyDesign();
5821        }
5822        else if (name.equals("statistic")) {
5823          return addStatistic();
5824        }
5825        else if (name.equals("certainty")) {
5826          return addCertainty();
5827        }
5828        else
5829          return super.addChild(name);
5830      }
5831
5832  public String fhirType() {
5833    return "Evidence";
5834
5835  }
5836
5837      public Evidence copy() {
5838        Evidence dst = new Evidence();
5839        copyValues(dst);
5840        return dst;
5841      }
5842
5843      public void copyValues(Evidence dst) {
5844        super.copyValues(dst);
5845        dst.url = url == null ? null : url.copy();
5846        if (identifier != null) {
5847          dst.identifier = new ArrayList<Identifier>();
5848          for (Identifier i : identifier)
5849            dst.identifier.add(i.copy());
5850        };
5851        dst.version = version == null ? null : version.copy();
5852        dst.name = name == null ? null : name.copy();
5853        dst.title = title == null ? null : title.copy();
5854        dst.citeAs = citeAs == null ? null : citeAs.copy();
5855        dst.status = status == null ? null : status.copy();
5856        dst.experimental = experimental == null ? null : experimental.copy();
5857        dst.date = date == null ? null : date.copy();
5858        if (useContext != null) {
5859          dst.useContext = new ArrayList<UsageContext>();
5860          for (UsageContext i : useContext)
5861            dst.useContext.add(i.copy());
5862        };
5863        dst.approvalDate = approvalDate == null ? null : approvalDate.copy();
5864        dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy();
5865        dst.publisher = publisher == null ? null : publisher.copy();
5866        if (contact != null) {
5867          dst.contact = new ArrayList<ContactDetail>();
5868          for (ContactDetail i : contact)
5869            dst.contact.add(i.copy());
5870        };
5871        if (author != null) {
5872          dst.author = new ArrayList<ContactDetail>();
5873          for (ContactDetail i : author)
5874            dst.author.add(i.copy());
5875        };
5876        if (editor != null) {
5877          dst.editor = new ArrayList<ContactDetail>();
5878          for (ContactDetail i : editor)
5879            dst.editor.add(i.copy());
5880        };
5881        if (reviewer != null) {
5882          dst.reviewer = new ArrayList<ContactDetail>();
5883          for (ContactDetail i : reviewer)
5884            dst.reviewer.add(i.copy());
5885        };
5886        if (endorser != null) {
5887          dst.endorser = new ArrayList<ContactDetail>();
5888          for (ContactDetail i : endorser)
5889            dst.endorser.add(i.copy());
5890        };
5891        if (relatedArtifact != null) {
5892          dst.relatedArtifact = new ArrayList<RelatedArtifact>();
5893          for (RelatedArtifact i : relatedArtifact)
5894            dst.relatedArtifact.add(i.copy());
5895        };
5896        dst.description = description == null ? null : description.copy();
5897        dst.assertion = assertion == null ? null : assertion.copy();
5898        if (note != null) {
5899          dst.note = new ArrayList<Annotation>();
5900          for (Annotation i : note)
5901            dst.note.add(i.copy());
5902        };
5903        if (variableDefinition != null) {
5904          dst.variableDefinition = new ArrayList<EvidenceVariableDefinitionComponent>();
5905          for (EvidenceVariableDefinitionComponent i : variableDefinition)
5906            dst.variableDefinition.add(i.copy());
5907        };
5908        dst.synthesisType = synthesisType == null ? null : synthesisType.copy();
5909        if (studyDesign != null) {
5910          dst.studyDesign = new ArrayList<CodeableConcept>();
5911          for (CodeableConcept i : studyDesign)
5912            dst.studyDesign.add(i.copy());
5913        };
5914        if (statistic != null) {
5915          dst.statistic = new ArrayList<EvidenceStatisticComponent>();
5916          for (EvidenceStatisticComponent i : statistic)
5917            dst.statistic.add(i.copy());
5918        };
5919        if (certainty != null) {
5920          dst.certainty = new ArrayList<EvidenceCertaintyComponent>();
5921          for (EvidenceCertaintyComponent i : certainty)
5922            dst.certainty.add(i.copy());
5923        };
5924      }
5925
5926      protected Evidence typedCopy() {
5927        return copy();
5928      }
5929
5930      @Override
5931      public boolean equalsDeep(Base other_) {
5932        if (!super.equalsDeep(other_))
5933          return false;
5934        if (!(other_ instanceof Evidence))
5935          return false;
5936        Evidence o = (Evidence) other_;
5937        return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true)
5938           && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(citeAs, o.citeAs, true)
5939           && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true)
5940           && compareDeep(useContext, o.useContext, true) && compareDeep(approvalDate, o.approvalDate, true)
5941           && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(publisher, o.publisher, true)
5942           && compareDeep(contact, o.contact, true) && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true)
5943           && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true)
5944           && compareDeep(description, o.description, true) && compareDeep(assertion, o.assertion, true) && compareDeep(note, o.note, true)
5945           && compareDeep(variableDefinition, o.variableDefinition, true) && compareDeep(synthesisType, o.synthesisType, true)
5946           && compareDeep(studyDesign, o.studyDesign, true) && compareDeep(statistic, o.statistic, true) && compareDeep(certainty, o.certainty, true)
5947          ;
5948      }
5949
5950      @Override
5951      public boolean equalsShallow(Base other_) {
5952        if (!super.equalsShallow(other_))
5953          return false;
5954        if (!(other_ instanceof Evidence))
5955          return false;
5956        Evidence o = (Evidence) other_;
5957        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
5958           && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true)
5959           && compareValues(date, o.date, true) && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true)
5960           && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(assertion, o.assertion, true)
5961          ;
5962      }
5963
5964      public boolean isEmpty() {
5965        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version
5966          , name, title, citeAs, status, experimental, date, useContext, approvalDate
5967          , lastReviewDate, publisher, contact, author, editor, reviewer, endorser, relatedArtifact
5968          , description, assertion, note, variableDefinition, synthesisType, studyDesign, statistic
5969          , certainty);
5970      }
5971
5972  @Override
5973  public ResourceType getResourceType() {
5974    return ResourceType.Evidence;
5975   }
5976
5977 /**
5978   * Search parameter: <b>context-quantity</b>
5979   * <p>
5980   * Description: <b>Multiple Resources: 
5981
5982* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
5983* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
5984* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
5985* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
5986* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
5987* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
5988* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
5989* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
5990* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
5991* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
5992* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
5993* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
5994* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
5995* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
5996* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
5997* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
5998* [Library](library.html): A quantity- or range-valued use context assigned to the library
5999* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
6000* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
6001* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
6002* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
6003* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
6004* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
6005* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
6006* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
6007* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
6008* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
6009* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
6010* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
6011* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
6012</b><br>
6013   * Type: <b>quantity</b><br>
6014   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
6015   * </p>
6016   */
6017  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
6018  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
6019 /**
6020   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
6021   * <p>
6022   * Description: <b>Multiple Resources: 
6023
6024* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
6025* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
6026* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
6027* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
6028* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
6029* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
6030* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
6031* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
6032* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
6033* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
6034* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
6035* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
6036* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
6037* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
6038* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
6039* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
6040* [Library](library.html): A quantity- or range-valued use context assigned to the library
6041* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
6042* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
6043* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
6044* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
6045* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
6046* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
6047* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
6048* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
6049* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
6050* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
6051* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
6052* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
6053* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
6054</b><br>
6055   * Type: <b>quantity</b><br>
6056   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
6057   * </p>
6058   */
6059  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
6060
6061 /**
6062   * Search parameter: <b>context-type-quantity</b>
6063   * <p>
6064   * Description: <b>Multiple Resources: 
6065
6066* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
6067* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
6068* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
6069* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
6070* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
6071* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
6072* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
6073* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
6074* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
6075* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
6076* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
6077* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
6078* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
6079* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
6080* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
6081* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
6082* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
6083* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
6084* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
6085* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
6086* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
6087* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
6088* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
6089* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
6090* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
6091* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
6092* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
6093* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
6094* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
6095* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
6096</b><br>
6097   * Type: <b>composite</b><br>
6098   * 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>
6099   * </p>
6100   */
6101  @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"} )
6102  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
6103 /**
6104   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
6105   * <p>
6106   * Description: <b>Multiple Resources: 
6107
6108* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
6109* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
6110* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
6111* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
6112* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
6113* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
6114* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
6115* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
6116* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
6117* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
6118* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
6119* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
6120* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
6121* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
6122* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
6123* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
6124* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
6125* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
6126* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
6127* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
6128* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
6129* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
6130* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
6131* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
6132* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
6133* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
6134* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
6135* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
6136* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
6137* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
6138</b><br>
6139   * Type: <b>composite</b><br>
6140   * 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>
6141   * </p>
6142   */
6143  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);
6144
6145 /**
6146   * Search parameter: <b>context-type-value</b>
6147   * <p>
6148   * Description: <b>Multiple Resources: 
6149
6150* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
6151* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
6152* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
6153* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
6154* [Citation](citation.html): A use context type and value assigned to the citation
6155* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
6156* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
6157* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
6158* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
6159* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
6160* [Evidence](evidence.html): A use context type and value assigned to the evidence
6161* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
6162* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
6163* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
6164* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
6165* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
6166* [Library](library.html): A use context type and value assigned to the library
6167* [Measure](measure.html): A use context type and value assigned to the measure
6168* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
6169* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
6170* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
6171* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
6172* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
6173* [Requirements](requirements.html): A use context type and value assigned to the requirements
6174* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
6175* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
6176* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
6177* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
6178* [TestScript](testscript.html): A use context type and value assigned to the test script
6179* [ValueSet](valueset.html): A use context type and value assigned to the value set
6180</b><br>
6181   * Type: <b>composite</b><br>
6182   * 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>
6183   * </p>
6184   */
6185  @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"} )
6186  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
6187 /**
6188   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
6189   * <p>
6190   * Description: <b>Multiple Resources: 
6191
6192* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
6193* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
6194* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
6195* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
6196* [Citation](citation.html): A use context type and value assigned to the citation
6197* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
6198* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
6199* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
6200* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
6201* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
6202* [Evidence](evidence.html): A use context type and value assigned to the evidence
6203* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
6204* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
6205* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
6206* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
6207* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
6208* [Library](library.html): A use context type and value assigned to the library
6209* [Measure](measure.html): A use context type and value assigned to the measure
6210* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
6211* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
6212* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
6213* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
6214* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
6215* [Requirements](requirements.html): A use context type and value assigned to the requirements
6216* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
6217* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
6218* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
6219* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
6220* [TestScript](testscript.html): A use context type and value assigned to the test script
6221* [ValueSet](valueset.html): A use context type and value assigned to the value set
6222</b><br>
6223   * Type: <b>composite</b><br>
6224   * 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>
6225   * </p>
6226   */
6227  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);
6228
6229 /**
6230   * Search parameter: <b>context-type</b>
6231   * <p>
6232   * Description: <b>Multiple Resources: 
6233
6234* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
6235* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
6236* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
6237* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
6238* [Citation](citation.html): A type of use context assigned to the citation
6239* [CodeSystem](codesystem.html): A type of use context assigned to the code system
6240* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
6241* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
6242* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
6243* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
6244* [Evidence](evidence.html): A type of use context assigned to the evidence
6245* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
6246* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
6247* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
6248* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
6249* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
6250* [Library](library.html): A type of use context assigned to the library
6251* [Measure](measure.html): A type of use context assigned to the measure
6252* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
6253* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
6254* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
6255* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
6256* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
6257* [Requirements](requirements.html): A type of use context assigned to the requirements
6258* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
6259* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
6260* [StructureMap](structuremap.html): A type of use context assigned to the structure map
6261* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
6262* [TestScript](testscript.html): A type of use context assigned to the test script
6263* [ValueSet](valueset.html): A type of use context assigned to the value set
6264</b><br>
6265   * Type: <b>token</b><br>
6266   * 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>
6267   * </p>
6268   */
6269  @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" )
6270  public static final String SP_CONTEXT_TYPE = "context-type";
6271 /**
6272   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
6273   * <p>
6274   * Description: <b>Multiple Resources: 
6275
6276* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
6277* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
6278* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
6279* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
6280* [Citation](citation.html): A type of use context assigned to the citation
6281* [CodeSystem](codesystem.html): A type of use context assigned to the code system
6282* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
6283* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
6284* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
6285* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
6286* [Evidence](evidence.html): A type of use context assigned to the evidence
6287* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
6288* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
6289* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
6290* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
6291* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
6292* [Library](library.html): A type of use context assigned to the library
6293* [Measure](measure.html): A type of use context assigned to the measure
6294* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
6295* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
6296* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
6297* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
6298* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
6299* [Requirements](requirements.html): A type of use context assigned to the requirements
6300* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
6301* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
6302* [StructureMap](structuremap.html): A type of use context assigned to the structure map
6303* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
6304* [TestScript](testscript.html): A type of use context assigned to the test script
6305* [ValueSet](valueset.html): A type of use context assigned to the value set
6306</b><br>
6307   * Type: <b>token</b><br>
6308   * 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>
6309   * </p>
6310   */
6311  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
6312
6313 /**
6314   * Search parameter: <b>context</b>
6315   * <p>
6316   * Description: <b>Multiple Resources: 
6317
6318* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
6319* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
6320* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
6321* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
6322* [Citation](citation.html): A use context assigned to the citation
6323* [CodeSystem](codesystem.html): A use context assigned to the code system
6324* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
6325* [ConceptMap](conceptmap.html): A use context assigned to the concept map
6326* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
6327* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
6328* [Evidence](evidence.html): A use context assigned to the evidence
6329* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
6330* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
6331* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
6332* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
6333* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
6334* [Library](library.html): A use context assigned to the library
6335* [Measure](measure.html): A use context assigned to the measure
6336* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
6337* [NamingSystem](namingsystem.html): A use context assigned to the naming system
6338* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
6339* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
6340* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
6341* [Requirements](requirements.html): A use context assigned to the requirements
6342* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
6343* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
6344* [StructureMap](structuremap.html): A use context assigned to the structure map
6345* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
6346* [TestScript](testscript.html): A use context assigned to the test script
6347* [ValueSet](valueset.html): A use context assigned to the value set
6348</b><br>
6349   * Type: <b>token</b><br>
6350   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
6351   * </p>
6352   */
6353  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
6354  public static final String SP_CONTEXT = "context";
6355 /**
6356   * <b>Fluent Client</b> search parameter constant for <b>context</b>
6357   * <p>
6358   * Description: <b>Multiple Resources: 
6359
6360* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
6361* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
6362* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
6363* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
6364* [Citation](citation.html): A use context assigned to the citation
6365* [CodeSystem](codesystem.html): A use context assigned to the code system
6366* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
6367* [ConceptMap](conceptmap.html): A use context assigned to the concept map
6368* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
6369* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
6370* [Evidence](evidence.html): A use context assigned to the evidence
6371* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
6372* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
6373* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
6374* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
6375* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
6376* [Library](library.html): A use context assigned to the library
6377* [Measure](measure.html): A use context assigned to the measure
6378* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
6379* [NamingSystem](namingsystem.html): A use context assigned to the naming system
6380* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
6381* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
6382* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
6383* [Requirements](requirements.html): A use context assigned to the requirements
6384* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
6385* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
6386* [StructureMap](structuremap.html): A use context assigned to the structure map
6387* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
6388* [TestScript](testscript.html): A use context assigned to the test script
6389* [ValueSet](valueset.html): A use context assigned to the value set
6390</b><br>
6391   * Type: <b>token</b><br>
6392   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
6393   * </p>
6394   */
6395  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
6396
6397 /**
6398   * Search parameter: <b>date</b>
6399   * <p>
6400   * Description: <b>Multiple Resources: 
6401
6402* [ActivityDefinition](activitydefinition.html): The activity definition publication date
6403* [ActorDefinition](actordefinition.html): The Actor Definition publication date
6404* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
6405* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
6406* [Citation](citation.html): The citation publication date
6407* [CodeSystem](codesystem.html): The code system publication date
6408* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
6409* [ConceptMap](conceptmap.html): The concept map publication date
6410* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
6411* [EventDefinition](eventdefinition.html): The event definition publication date
6412* [Evidence](evidence.html): The evidence publication date
6413* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
6414* [ExampleScenario](examplescenario.html): The example scenario publication date
6415* [GraphDefinition](graphdefinition.html): The graph definition publication date
6416* [ImplementationGuide](implementationguide.html): The implementation guide publication date
6417* [Library](library.html): The library publication date
6418* [Measure](measure.html): The measure publication date
6419* [MessageDefinition](messagedefinition.html): The message definition publication date
6420* [NamingSystem](namingsystem.html): The naming system publication date
6421* [OperationDefinition](operationdefinition.html): The operation definition publication date
6422* [PlanDefinition](plandefinition.html): The plan definition publication date
6423* [Questionnaire](questionnaire.html): The questionnaire publication date
6424* [Requirements](requirements.html): The requirements publication date
6425* [SearchParameter](searchparameter.html): The search parameter publication date
6426* [StructureDefinition](structuredefinition.html): The structure definition publication date
6427* [StructureMap](structuremap.html): The structure map publication date
6428* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
6429* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
6430* [TestScript](testscript.html): The test script publication date
6431* [ValueSet](valueset.html): The value set publication date
6432</b><br>
6433   * Type: <b>date</b><br>
6434   * 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>
6435   * </p>
6436   */
6437  @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" )
6438  public static final String SP_DATE = "date";
6439 /**
6440   * <b>Fluent Client</b> search parameter constant for <b>date</b>
6441   * <p>
6442   * Description: <b>Multiple Resources: 
6443
6444* [ActivityDefinition](activitydefinition.html): The activity definition publication date
6445* [ActorDefinition](actordefinition.html): The Actor Definition publication date
6446* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
6447* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
6448* [Citation](citation.html): The citation publication date
6449* [CodeSystem](codesystem.html): The code system publication date
6450* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
6451* [ConceptMap](conceptmap.html): The concept map publication date
6452* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
6453* [EventDefinition](eventdefinition.html): The event definition publication date
6454* [Evidence](evidence.html): The evidence publication date
6455* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
6456* [ExampleScenario](examplescenario.html): The example scenario publication date
6457* [GraphDefinition](graphdefinition.html): The graph definition publication date
6458* [ImplementationGuide](implementationguide.html): The implementation guide publication date
6459* [Library](library.html): The library publication date
6460* [Measure](measure.html): The measure publication date
6461* [MessageDefinition](messagedefinition.html): The message definition publication date
6462* [NamingSystem](namingsystem.html): The naming system publication date
6463* [OperationDefinition](operationdefinition.html): The operation definition publication date
6464* [PlanDefinition](plandefinition.html): The plan definition publication date
6465* [Questionnaire](questionnaire.html): The questionnaire publication date
6466* [Requirements](requirements.html): The requirements publication date
6467* [SearchParameter](searchparameter.html): The search parameter publication date
6468* [StructureDefinition](structuredefinition.html): The structure definition publication date
6469* [StructureMap](structuremap.html): The structure map publication date
6470* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
6471* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
6472* [TestScript](testscript.html): The test script publication date
6473* [ValueSet](valueset.html): The value set publication date
6474</b><br>
6475   * Type: <b>date</b><br>
6476   * 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>
6477   * </p>
6478   */
6479  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
6480
6481 /**
6482   * Search parameter: <b>description</b>
6483   * <p>
6484   * Description: <b>Multiple Resources: 
6485
6486* [ActivityDefinition](activitydefinition.html): The description of the activity definition
6487* [ActorDefinition](actordefinition.html): The description of the Actor Definition
6488* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
6489* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
6490* [Citation](citation.html): The description of the citation
6491* [CodeSystem](codesystem.html): The description of the code system
6492* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
6493* [ConceptMap](conceptmap.html): The description of the concept map
6494* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
6495* [EventDefinition](eventdefinition.html): The description of the event definition
6496* [Evidence](evidence.html): The description of the evidence
6497* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
6498* [GraphDefinition](graphdefinition.html): The description of the graph definition
6499* [ImplementationGuide](implementationguide.html): The description of the implementation guide
6500* [Library](library.html): The description of the library
6501* [Measure](measure.html): The description of the measure
6502* [MessageDefinition](messagedefinition.html): The description of the message definition
6503* [NamingSystem](namingsystem.html): The description of the naming system
6504* [OperationDefinition](operationdefinition.html): The description of the operation definition
6505* [PlanDefinition](plandefinition.html): The description of the plan definition
6506* [Questionnaire](questionnaire.html): The description of the questionnaire
6507* [Requirements](requirements.html): The description of the requirements
6508* [SearchParameter](searchparameter.html): The description of the search parameter
6509* [StructureDefinition](structuredefinition.html): The description of the structure definition
6510* [StructureMap](structuremap.html): The description of the structure map
6511* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
6512* [TestScript](testscript.html): The description of the test script
6513* [ValueSet](valueset.html): The description of the value set
6514</b><br>
6515   * Type: <b>string</b><br>
6516   * 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>
6517   * </p>
6518   */
6519  @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" )
6520  public static final String SP_DESCRIPTION = "description";
6521 /**
6522   * <b>Fluent Client</b> search parameter constant for <b>description</b>
6523   * <p>
6524   * Description: <b>Multiple Resources: 
6525
6526* [ActivityDefinition](activitydefinition.html): The description of the activity definition
6527* [ActorDefinition](actordefinition.html): The description of the Actor Definition
6528* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
6529* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
6530* [Citation](citation.html): The description of the citation
6531* [CodeSystem](codesystem.html): The description of the code system
6532* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
6533* [ConceptMap](conceptmap.html): The description of the concept map
6534* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
6535* [EventDefinition](eventdefinition.html): The description of the event definition
6536* [Evidence](evidence.html): The description of the evidence
6537* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
6538* [GraphDefinition](graphdefinition.html): The description of the graph definition
6539* [ImplementationGuide](implementationguide.html): The description of the implementation guide
6540* [Library](library.html): The description of the library
6541* [Measure](measure.html): The description of the measure
6542* [MessageDefinition](messagedefinition.html): The description of the message definition
6543* [NamingSystem](namingsystem.html): The description of the naming system
6544* [OperationDefinition](operationdefinition.html): The description of the operation definition
6545* [PlanDefinition](plandefinition.html): The description of the plan definition
6546* [Questionnaire](questionnaire.html): The description of the questionnaire
6547* [Requirements](requirements.html): The description of the requirements
6548* [SearchParameter](searchparameter.html): The description of the search parameter
6549* [StructureDefinition](structuredefinition.html): The description of the structure definition
6550* [StructureMap](structuremap.html): The description of the structure map
6551* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
6552* [TestScript](testscript.html): The description of the test script
6553* [ValueSet](valueset.html): The description of the value set
6554</b><br>
6555   * Type: <b>string</b><br>
6556   * 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>
6557   * </p>
6558   */
6559  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
6560
6561 /**
6562   * Search parameter: <b>identifier</b>
6563   * <p>
6564   * Description: <b>Multiple Resources: 
6565
6566* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
6567* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
6568* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
6569* [Citation](citation.html): External identifier for the citation
6570* [CodeSystem](codesystem.html): External identifier for the code system
6571* [ConceptMap](conceptmap.html): External identifier for the concept map
6572* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
6573* [EventDefinition](eventdefinition.html): External identifier for the event definition
6574* [Evidence](evidence.html): External identifier for the evidence
6575* [EvidenceReport](evidencereport.html): External identifier for the evidence report
6576* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
6577* [ExampleScenario](examplescenario.html): External identifier for the example scenario
6578* [Library](library.html): External identifier for the library
6579* [Measure](measure.html): External identifier for the measure
6580* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
6581* [MessageDefinition](messagedefinition.html): External identifier for the message definition
6582* [NamingSystem](namingsystem.html): External identifier for the naming system
6583* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
6584* [PlanDefinition](plandefinition.html): External identifier for the plan definition
6585* [Questionnaire](questionnaire.html): External identifier for the questionnaire
6586* [Requirements](requirements.html): External identifier for the requirements
6587* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
6588* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
6589* [StructureMap](structuremap.html): External identifier for the structure map
6590* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
6591* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
6592* [TestScript](testscript.html): External identifier for the test script
6593* [ValueSet](valueset.html): External identifier for the value set
6594</b><br>
6595   * Type: <b>token</b><br>
6596   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestScript.identifier | ValueSet.identifier</b><br>
6597   * </p>
6598   */
6599  @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" )
6600  public static final String SP_IDENTIFIER = "identifier";
6601 /**
6602   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
6603   * <p>
6604   * Description: <b>Multiple Resources: 
6605
6606* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
6607* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
6608* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
6609* [Citation](citation.html): External identifier for the citation
6610* [CodeSystem](codesystem.html): External identifier for the code system
6611* [ConceptMap](conceptmap.html): External identifier for the concept map
6612* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
6613* [EventDefinition](eventdefinition.html): External identifier for the event definition
6614* [Evidence](evidence.html): External identifier for the evidence
6615* [EvidenceReport](evidencereport.html): External identifier for the evidence report
6616* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
6617* [ExampleScenario](examplescenario.html): External identifier for the example scenario
6618* [Library](library.html): External identifier for the library
6619* [Measure](measure.html): External identifier for the measure
6620* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
6621* [MessageDefinition](messagedefinition.html): External identifier for the message definition
6622* [NamingSystem](namingsystem.html): External identifier for the naming system
6623* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
6624* [PlanDefinition](plandefinition.html): External identifier for the plan definition
6625* [Questionnaire](questionnaire.html): External identifier for the questionnaire
6626* [Requirements](requirements.html): External identifier for the requirements
6627* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
6628* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
6629* [StructureMap](structuremap.html): External identifier for the structure map
6630* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
6631* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
6632* [TestScript](testscript.html): External identifier for the test script
6633* [ValueSet](valueset.html): External identifier for the value set
6634</b><br>
6635   * Type: <b>token</b><br>
6636   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestScript.identifier | ValueSet.identifier</b><br>
6637   * </p>
6638   */
6639  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
6640
6641 /**
6642   * Search parameter: <b>publisher</b>
6643   * <p>
6644   * Description: <b>Multiple Resources: 
6645
6646* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
6647* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
6648* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
6649* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
6650* [Citation](citation.html): Name of the publisher of the citation
6651* [CodeSystem](codesystem.html): Name of the publisher of the code system
6652* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
6653* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
6654* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
6655* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
6656* [Evidence](evidence.html): Name of the publisher of the evidence
6657* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
6658* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
6659* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
6660* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
6661* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
6662* [Library](library.html): Name of the publisher of the library
6663* [Measure](measure.html): Name of the publisher of the measure
6664* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
6665* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
6666* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
6667* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
6668* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
6669* [Requirements](requirements.html): Name of the publisher of the requirements
6670* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
6671* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
6672* [StructureMap](structuremap.html): Name of the publisher of the structure map
6673* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
6674* [TestScript](testscript.html): Name of the publisher of the test script
6675* [ValueSet](valueset.html): Name of the publisher of the value set
6676</b><br>
6677   * Type: <b>string</b><br>
6678   * 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>
6679   * </p>
6680   */
6681  @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" )
6682  public static final String SP_PUBLISHER = "publisher";
6683 /**
6684   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
6685   * <p>
6686   * Description: <b>Multiple Resources: 
6687
6688* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
6689* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
6690* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
6691* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
6692* [Citation](citation.html): Name of the publisher of the citation
6693* [CodeSystem](codesystem.html): Name of the publisher of the code system
6694* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
6695* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
6696* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
6697* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
6698* [Evidence](evidence.html): Name of the publisher of the evidence
6699* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
6700* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
6701* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
6702* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
6703* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
6704* [Library](library.html): Name of the publisher of the library
6705* [Measure](measure.html): Name of the publisher of the measure
6706* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
6707* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
6708* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
6709* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
6710* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
6711* [Requirements](requirements.html): Name of the publisher of the requirements
6712* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
6713* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
6714* [StructureMap](structuremap.html): Name of the publisher of the structure map
6715* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
6716* [TestScript](testscript.html): Name of the publisher of the test script
6717* [ValueSet](valueset.html): Name of the publisher of the value set
6718</b><br>
6719   * Type: <b>string</b><br>
6720   * 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>
6721   * </p>
6722   */
6723  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
6724
6725 /**
6726   * Search parameter: <b>status</b>
6727   * <p>
6728   * Description: <b>Multiple Resources: 
6729
6730* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
6731* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
6732* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
6733* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
6734* [Citation](citation.html): The current status of the citation
6735* [CodeSystem](codesystem.html): The current status of the code system
6736* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
6737* [ConceptMap](conceptmap.html): The current status of the concept map
6738* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
6739* [EventDefinition](eventdefinition.html): The current status of the event definition
6740* [Evidence](evidence.html): The current status of the evidence
6741* [EvidenceReport](evidencereport.html): The current status of the evidence report
6742* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
6743* [ExampleScenario](examplescenario.html): The current status of the example scenario
6744* [GraphDefinition](graphdefinition.html): The current status of the graph definition
6745* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
6746* [Library](library.html): The current status of the library
6747* [Measure](measure.html): The current status of the measure
6748* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
6749* [MessageDefinition](messagedefinition.html): The current status of the message definition
6750* [NamingSystem](namingsystem.html): The current status of the naming system
6751* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
6752* [OperationDefinition](operationdefinition.html): The current status of the operation definition
6753* [PlanDefinition](plandefinition.html): The current status of the plan definition
6754* [Questionnaire](questionnaire.html): The current status of the questionnaire
6755* [Requirements](requirements.html): The current status of the requirements
6756* [SearchParameter](searchparameter.html): The current status of the search parameter
6757* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
6758* [StructureDefinition](structuredefinition.html): The current status of the structure definition
6759* [StructureMap](structuremap.html): The current status of the structure map
6760* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
6761* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
6762* [TestScript](testscript.html): The current status of the test script
6763* [ValueSet](valueset.html): The current status of the value set
6764</b><br>
6765   * Type: <b>token</b><br>
6766   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
6767   * </p>
6768   */
6769  @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
6770  public static final String SP_STATUS = "status";
6771 /**
6772   * <b>Fluent Client</b> search parameter constant for <b>status</b>
6773   * <p>
6774   * Description: <b>Multiple Resources: 
6775
6776* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
6777* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
6778* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
6779* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
6780* [Citation](citation.html): The current status of the citation
6781* [CodeSystem](codesystem.html): The current status of the code system
6782* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
6783* [ConceptMap](conceptmap.html): The current status of the concept map
6784* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
6785* [EventDefinition](eventdefinition.html): The current status of the event definition
6786* [Evidence](evidence.html): The current status of the evidence
6787* [EvidenceReport](evidencereport.html): The current status of the evidence report
6788* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
6789* [ExampleScenario](examplescenario.html): The current status of the example scenario
6790* [GraphDefinition](graphdefinition.html): The current status of the graph definition
6791* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
6792* [Library](library.html): The current status of the library
6793* [Measure](measure.html): The current status of the measure
6794* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
6795* [MessageDefinition](messagedefinition.html): The current status of the message definition
6796* [NamingSystem](namingsystem.html): The current status of the naming system
6797* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
6798* [OperationDefinition](operationdefinition.html): The current status of the operation definition
6799* [PlanDefinition](plandefinition.html): The current status of the plan definition
6800* [Questionnaire](questionnaire.html): The current status of the questionnaire
6801* [Requirements](requirements.html): The current status of the requirements
6802* [SearchParameter](searchparameter.html): The current status of the search parameter
6803* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
6804* [StructureDefinition](structuredefinition.html): The current status of the structure definition
6805* [StructureMap](structuremap.html): The current status of the structure map
6806* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
6807* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
6808* [TestScript](testscript.html): The current status of the test script
6809* [ValueSet](valueset.html): The current status of the value set
6810</b><br>
6811   * Type: <b>token</b><br>
6812   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
6813   * </p>
6814   */
6815  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
6816
6817 /**
6818   * Search parameter: <b>title</b>
6819   * <p>
6820   * Description: <b>Multiple Resources: 
6821
6822* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
6823* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
6824* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
6825* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
6826* [Citation](citation.html): The human-friendly name of the citation
6827* [CodeSystem](codesystem.html): The human-friendly name of the code system
6828* [ConceptMap](conceptmap.html): The human-friendly name of the concept map
6829* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
6830* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
6831* [Evidence](evidence.html): The human-friendly name of the evidence
6832* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
6833* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
6834* [Library](library.html): The human-friendly name of the library
6835* [Measure](measure.html): The human-friendly name of the measure
6836* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
6837* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
6838* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
6839* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
6840* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
6841* [Requirements](requirements.html): The human-friendly name of the requirements
6842* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
6843* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
6844* [StructureMap](structuremap.html): The human-friendly name of the structure map
6845* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
6846* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
6847* [TestScript](testscript.html): The human-friendly name of the test script
6848* [ValueSet](valueset.html): The human-friendly name of the value set
6849</b><br>
6850   * Type: <b>string</b><br>
6851   * 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>
6852   * </p>
6853   */
6854  @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" )
6855  public static final String SP_TITLE = "title";
6856 /**
6857   * <b>Fluent Client</b> search parameter constant for <b>title</b>
6858   * <p>
6859   * Description: <b>Multiple Resources: 
6860
6861* [ActivityDefinition](activitydefinition.html): The human-friendly name of the activity definition
6862* [ActorDefinition](actordefinition.html): The human-friendly name of the Actor Definition
6863* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement
6864* [ChargeItemDefinition](chargeitemdefinition.html): The human-friendly name of the charge item definition
6865* [Citation](citation.html): The human-friendly name of the citation
6866* [CodeSystem](codesystem.html): The human-friendly name of the code system
6867* [ConceptMap](conceptmap.html): The human-friendly name of the concept map
6868* [ConditionDefinition](conditiondefinition.html): The human-friendly name of the condition definition
6869* [EventDefinition](eventdefinition.html): The human-friendly name of the event definition
6870* [Evidence](evidence.html): The human-friendly name of the evidence
6871* [EvidenceVariable](evidencevariable.html): The human-friendly name of the evidence variable
6872* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide
6873* [Library](library.html): The human-friendly name of the library
6874* [Measure](measure.html): The human-friendly name of the measure
6875* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition
6876* [ObservationDefinition](observationdefinition.html): Human-friendly name of the ObservationDefinition
6877* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition
6878* [PlanDefinition](plandefinition.html): The human-friendly name of the plan definition
6879* [Questionnaire](questionnaire.html): The human-friendly name of the questionnaire
6880* [Requirements](requirements.html): The human-friendly name of the requirements
6881* [SpecimenDefinition](specimendefinition.html): Human-friendly name of the SpecimenDefinition
6882* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition
6883* [StructureMap](structuremap.html): The human-friendly name of the structure map
6884* [SubscriptionTopic](subscriptiontopic.html): Name for this SubscriptionTopic (Human friendly)
6885* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities
6886* [TestScript](testscript.html): The human-friendly name of the test script
6887* [ValueSet](valueset.html): The human-friendly name of the value set
6888</b><br>
6889   * Type: <b>string</b><br>
6890   * 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>
6891   * </p>
6892   */
6893  public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE);
6894
6895 /**
6896   * Search parameter: <b>url</b>
6897   * <p>
6898   * Description: <b>Multiple Resources: 
6899
6900* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
6901* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
6902* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
6903* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
6904* [Citation](citation.html): The uri that identifies the citation
6905* [CodeSystem](codesystem.html): The uri that identifies the code system
6906* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
6907* [ConceptMap](conceptmap.html): The URI that identifies the concept map
6908* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
6909* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
6910* [Evidence](evidence.html): The uri that identifies the evidence
6911* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
6912* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
6913* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
6914* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
6915* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
6916* [Library](library.html): The uri that identifies the library
6917* [Measure](measure.html): The uri that identifies the measure
6918* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
6919* [NamingSystem](namingsystem.html): The uri that identifies the naming system
6920* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
6921* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
6922* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
6923* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
6924* [Requirements](requirements.html): The uri that identifies the requirements
6925* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
6926* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
6927* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
6928* [StructureMap](structuremap.html): The uri that identifies the structure map
6929* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
6930* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
6931* [TestScript](testscript.html): The uri that identifies the test script
6932* [ValueSet](valueset.html): The uri that identifies the value set
6933</b><br>
6934   * Type: <b>uri</b><br>
6935   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
6936   * </p>
6937   */
6938  @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
6939  public static final String SP_URL = "url";
6940 /**
6941   * <b>Fluent Client</b> search parameter constant for <b>url</b>
6942   * <p>
6943   * Description: <b>Multiple Resources: 
6944
6945* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
6946* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
6947* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
6948* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
6949* [Citation](citation.html): The uri that identifies the citation
6950* [CodeSystem](codesystem.html): The uri that identifies the code system
6951* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
6952* [ConceptMap](conceptmap.html): The URI that identifies the concept map
6953* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
6954* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
6955* [Evidence](evidence.html): The uri that identifies the evidence
6956* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
6957* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
6958* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
6959* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
6960* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
6961* [Library](library.html): The uri that identifies the library
6962* [Measure](measure.html): The uri that identifies the measure
6963* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
6964* [NamingSystem](namingsystem.html): The uri that identifies the naming system
6965* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
6966* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
6967* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
6968* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
6969* [Requirements](requirements.html): The uri that identifies the requirements
6970* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
6971* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
6972* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
6973* [StructureMap](structuremap.html): The uri that identifies the structure map
6974* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
6975* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
6976* [TestScript](testscript.html): The uri that identifies the test script
6977* [ValueSet](valueset.html): The uri that identifies the value set
6978</b><br>
6979   * Type: <b>uri</b><br>
6980   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
6981   * </p>
6982   */
6983  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
6984
6985 /**
6986   * Search parameter: <b>version</b>
6987   * <p>
6988   * Description: <b>Multiple Resources: 
6989
6990* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
6991* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
6992* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
6993* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
6994* [Citation](citation.html): The business version of the citation
6995* [CodeSystem](codesystem.html): The business version of the code system
6996* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
6997* [ConceptMap](conceptmap.html): The business version of the concept map
6998* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
6999* [EventDefinition](eventdefinition.html): The business version of the event definition
7000* [Evidence](evidence.html): The business version of the evidence
7001* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
7002* [ExampleScenario](examplescenario.html): The business version of the example scenario
7003* [GraphDefinition](graphdefinition.html): The business version of the graph definition
7004* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
7005* [Library](library.html): The business version of the library
7006* [Measure](measure.html): The business version of the measure
7007* [MessageDefinition](messagedefinition.html): The business version of the message definition
7008* [NamingSystem](namingsystem.html): The business version of the naming system
7009* [OperationDefinition](operationdefinition.html): The business version of the operation definition
7010* [PlanDefinition](plandefinition.html): The business version of the plan definition
7011* [Questionnaire](questionnaire.html): The business version of the questionnaire
7012* [Requirements](requirements.html): The business version of the requirements
7013* [SearchParameter](searchparameter.html): The business version of the search parameter
7014* [StructureDefinition](structuredefinition.html): The business version of the structure definition
7015* [StructureMap](structuremap.html): The business version of the structure map
7016* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
7017* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
7018* [TestScript](testscript.html): The business version of the test script
7019* [ValueSet](valueset.html): The business version of the value set
7020</b><br>
7021   * Type: <b>token</b><br>
7022   * 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>
7023   * </p>
7024   */
7025  @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" )
7026  public static final String SP_VERSION = "version";
7027 /**
7028   * <b>Fluent Client</b> search parameter constant for <b>version</b>
7029   * <p>
7030   * Description: <b>Multiple Resources: 
7031
7032* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
7033* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
7034* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
7035* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
7036* [Citation](citation.html): The business version of the citation
7037* [CodeSystem](codesystem.html): The business version of the code system
7038* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
7039* [ConceptMap](conceptmap.html): The business version of the concept map
7040* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
7041* [EventDefinition](eventdefinition.html): The business version of the event definition
7042* [Evidence](evidence.html): The business version of the evidence
7043* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
7044* [ExampleScenario](examplescenario.html): The business version of the example scenario
7045* [GraphDefinition](graphdefinition.html): The business version of the graph definition
7046* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
7047* [Library](library.html): The business version of the library
7048* [Measure](measure.html): The business version of the measure
7049* [MessageDefinition](messagedefinition.html): The business version of the message definition
7050* [NamingSystem](namingsystem.html): The business version of the naming system
7051* [OperationDefinition](operationdefinition.html): The business version of the operation definition
7052* [PlanDefinition](plandefinition.html): The business version of the plan definition
7053* [Questionnaire](questionnaire.html): The business version of the questionnaire
7054* [Requirements](requirements.html): The business version of the requirements
7055* [SearchParameter](searchparameter.html): The business version of the search parameter
7056* [StructureDefinition](structuredefinition.html): The business version of the structure definition
7057* [StructureMap](structuremap.html): The business version of the structure map
7058* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
7059* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
7060* [TestScript](testscript.html): The business version of the test script
7061* [ValueSet](valueset.html): The business version of the value set
7062</b><br>
7063   * Type: <b>token</b><br>
7064   * 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>
7065   * </p>
7066   */
7067  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
7068
7069
7070}
7071