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