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