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