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