001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007  
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010  
011   * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013   * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016   * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019  
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030  */
031
032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0
033
034import java.util.ArrayList;
035import java.util.Date;
036import java.util.List;
037import org.hl7.fhir.utilities.Utilities;
038import org.hl7.fhir.r5.model.Enumerations.*;
039import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
040import org.hl7.fhir.exceptions.FHIRException;
041import org.hl7.fhir.instance.model.api.ICompositeType;
042import ca.uhn.fhir.model.api.annotation.ResourceDef;
043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
044import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
045import ca.uhn.fhir.model.api.annotation.Child;
046import ca.uhn.fhir.model.api.annotation.ChildOrder;
047import ca.uhn.fhir.model.api.annotation.Description;
048import ca.uhn.fhir.model.api.annotation.Block;
049
050/**
051 * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.
052 */
053@ResourceDef(name="GraphDefinition", profile="http://hl7.org/fhir/StructureDefinition/GraphDefinition")
054public class GraphDefinition extends CanonicalResource {
055
056    public enum GraphCompartmentRule {
057        /**
058         * The compartment must be identical (the same literal reference).
059         */
060        IDENTICAL, 
061        /**
062         * The compartment must be the same - the record must be about the same patient, but the reference may be different.
063         */
064        MATCHING, 
065        /**
066         * The compartment must be different.
067         */
068        DIFFERENT, 
069        /**
070         * The compartment rule is defined in the accompanying FHIRPath expression.
071         */
072        CUSTOM, 
073        /**
074         * added to help the parsers with the generic types
075         */
076        NULL;
077        public static GraphCompartmentRule fromCode(String codeString) throws FHIRException {
078            if (codeString == null || "".equals(codeString))
079                return null;
080        if ("identical".equals(codeString))
081          return IDENTICAL;
082        if ("matching".equals(codeString))
083          return MATCHING;
084        if ("different".equals(codeString))
085          return DIFFERENT;
086        if ("custom".equals(codeString))
087          return CUSTOM;
088        if (Configuration.isAcceptInvalidEnums())
089          return null;
090        else
091          throw new FHIRException("Unknown GraphCompartmentRule code '"+codeString+"'");
092        }
093        public String toCode() {
094          switch (this) {
095            case IDENTICAL: return "identical";
096            case MATCHING: return "matching";
097            case DIFFERENT: return "different";
098            case CUSTOM: return "custom";
099            case NULL: return null;
100            default: return "?";
101          }
102        }
103        public String getSystem() {
104          switch (this) {
105            case IDENTICAL: return "http://hl7.org/fhir/graph-compartment-rule";
106            case MATCHING: return "http://hl7.org/fhir/graph-compartment-rule";
107            case DIFFERENT: return "http://hl7.org/fhir/graph-compartment-rule";
108            case CUSTOM: return "http://hl7.org/fhir/graph-compartment-rule";
109            case NULL: return null;
110            default: return "?";
111          }
112        }
113        public String getDefinition() {
114          switch (this) {
115            case IDENTICAL: return "The compartment must be identical (the same literal reference).";
116            case MATCHING: return "The compartment must be the same - the record must be about the same patient, but the reference may be different.";
117            case DIFFERENT: return "The compartment must be different.";
118            case CUSTOM: return "The compartment rule is defined in the accompanying FHIRPath expression.";
119            case NULL: return null;
120            default: return "?";
121          }
122        }
123        public String getDisplay() {
124          switch (this) {
125            case IDENTICAL: return "Identical";
126            case MATCHING: return "Matching";
127            case DIFFERENT: return "Different";
128            case CUSTOM: return "Custom";
129            case NULL: return null;
130            default: return "?";
131          }
132        }
133    }
134
135  public static class GraphCompartmentRuleEnumFactory implements EnumFactory<GraphCompartmentRule> {
136    public GraphCompartmentRule fromCode(String codeString) throws IllegalArgumentException {
137      if (codeString == null || "".equals(codeString))
138            if (codeString == null || "".equals(codeString))
139                return null;
140        if ("identical".equals(codeString))
141          return GraphCompartmentRule.IDENTICAL;
142        if ("matching".equals(codeString))
143          return GraphCompartmentRule.MATCHING;
144        if ("different".equals(codeString))
145          return GraphCompartmentRule.DIFFERENT;
146        if ("custom".equals(codeString))
147          return GraphCompartmentRule.CUSTOM;
148        throw new IllegalArgumentException("Unknown GraphCompartmentRule code '"+codeString+"'");
149        }
150        public Enumeration<GraphCompartmentRule> fromType(PrimitiveType<?> code) throws FHIRException {
151          if (code == null)
152            return null;
153          if (code.isEmpty())
154            return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.NULL, code);
155          String codeString = ((PrimitiveType) code).asStringValue();
156          if (codeString == null || "".equals(codeString))
157            return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.NULL, code);
158        if ("identical".equals(codeString))
159          return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.IDENTICAL, code);
160        if ("matching".equals(codeString))
161          return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.MATCHING, code);
162        if ("different".equals(codeString))
163          return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.DIFFERENT, code);
164        if ("custom".equals(codeString))
165          return new Enumeration<GraphCompartmentRule>(this, GraphCompartmentRule.CUSTOM, code);
166        throw new FHIRException("Unknown GraphCompartmentRule code '"+codeString+"'");
167        }
168    public String toCode(GraphCompartmentRule code) {
169      if (code == GraphCompartmentRule.IDENTICAL)
170        return "identical";
171      if (code == GraphCompartmentRule.MATCHING)
172        return "matching";
173      if (code == GraphCompartmentRule.DIFFERENT)
174        return "different";
175      if (code == GraphCompartmentRule.CUSTOM)
176        return "custom";
177      return "?";
178      }
179    public String toSystem(GraphCompartmentRule code) {
180      return code.getSystem();
181      }
182    }
183
184    public enum GraphCompartmentUse {
185        /**
186         * This compartment rule is a condition for whether the rule applies.
187         */
188        WHERE, 
189        /**
190         * This compartment rule is enforced on any relationships that meet the conditions.
191         */
192        REQUIRES, 
193        /**
194         * added to help the parsers with the generic types
195         */
196        NULL;
197        public static GraphCompartmentUse fromCode(String codeString) throws FHIRException {
198            if (codeString == null || "".equals(codeString))
199                return null;
200        if ("where".equals(codeString))
201          return WHERE;
202        if ("requires".equals(codeString))
203          return REQUIRES;
204        if (Configuration.isAcceptInvalidEnums())
205          return null;
206        else
207          throw new FHIRException("Unknown GraphCompartmentUse code '"+codeString+"'");
208        }
209        public String toCode() {
210          switch (this) {
211            case WHERE: return "where";
212            case REQUIRES: return "requires";
213            case NULL: return null;
214            default: return "?";
215          }
216        }
217        public String getSystem() {
218          switch (this) {
219            case WHERE: return "http://hl7.org/fhir/graph-compartment-use";
220            case REQUIRES: return "http://hl7.org/fhir/graph-compartment-use";
221            case NULL: return null;
222            default: return "?";
223          }
224        }
225        public String getDefinition() {
226          switch (this) {
227            case WHERE: return "This compartment rule is a condition for whether the rule applies.";
228            case REQUIRES: return "This compartment rule is enforced on any relationships that meet the conditions.";
229            case NULL: return null;
230            default: return "?";
231          }
232        }
233        public String getDisplay() {
234          switch (this) {
235            case WHERE: return "Where";
236            case REQUIRES: return "requires";
237            case NULL: return null;
238            default: return "?";
239          }
240        }
241    }
242
243  public static class GraphCompartmentUseEnumFactory implements EnumFactory<GraphCompartmentUse> {
244    public GraphCompartmentUse fromCode(String codeString) throws IllegalArgumentException {
245      if (codeString == null || "".equals(codeString))
246            if (codeString == null || "".equals(codeString))
247                return null;
248        if ("where".equals(codeString))
249          return GraphCompartmentUse.WHERE;
250        if ("requires".equals(codeString))
251          return GraphCompartmentUse.REQUIRES;
252        throw new IllegalArgumentException("Unknown GraphCompartmentUse code '"+codeString+"'");
253        }
254        public Enumeration<GraphCompartmentUse> fromType(PrimitiveType<?> code) throws FHIRException {
255          if (code == null)
256            return null;
257          if (code.isEmpty())
258            return new Enumeration<GraphCompartmentUse>(this, GraphCompartmentUse.NULL, code);
259          String codeString = ((PrimitiveType) code).asStringValue();
260          if (codeString == null || "".equals(codeString))
261            return new Enumeration<GraphCompartmentUse>(this, GraphCompartmentUse.NULL, code);
262        if ("where".equals(codeString))
263          return new Enumeration<GraphCompartmentUse>(this, GraphCompartmentUse.WHERE, code);
264        if ("requires".equals(codeString))
265          return new Enumeration<GraphCompartmentUse>(this, GraphCompartmentUse.REQUIRES, code);
266        throw new FHIRException("Unknown GraphCompartmentUse code '"+codeString+"'");
267        }
268    public String toCode(GraphCompartmentUse code) {
269      if (code == GraphCompartmentUse.WHERE)
270        return "where";
271      if (code == GraphCompartmentUse.REQUIRES)
272        return "requires";
273      return "?";
274      }
275    public String toSystem(GraphCompartmentUse code) {
276      return code.getSystem();
277      }
278    }
279
280    @Block()
281    public static class GraphDefinitionNodeComponent extends BackboneElement implements IBaseBackboneElement {
282        /**
283         * Internal ID of node - target for link references.
284         */
285        @Child(name = "nodeId", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false)
286        @Description(shortDefinition="Internal ID - target for link references", formalDefinition="Internal ID of node - target for link references." )
287        protected IdType nodeId;
288
289        /**
290         * Information about why this node is of interest in this graph definition.
291         */
292        @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false)
293        @Description(shortDefinition="Why this node is specified", formalDefinition="Information about why this node is of interest in this graph definition." )
294        protected StringType description;
295
296        /**
297         * Type of resource this link refers to.
298         */
299        @Child(name = "type", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false)
300        @Description(shortDefinition="Type of resource this link refers to", formalDefinition="Type of resource this link refers to." )
301        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-independent-all-resource-types")
302        protected Enumeration<VersionIndependentResourceTypesAll> type;
303
304        /**
305         * Profile for the target resource.
306         */
307        @Child(name = "profile", type = {CanonicalType.class}, order=4, min=0, max=1, modifier=false, summary=false)
308        @Description(shortDefinition="Profile for the target resource", formalDefinition="Profile for the target resource." )
309        protected CanonicalType profile;
310
311        private static final long serialVersionUID = -1497429325L;
312
313    /**
314     * Constructor
315     */
316      public GraphDefinitionNodeComponent() {
317        super();
318      }
319
320    /**
321     * Constructor
322     */
323      public GraphDefinitionNodeComponent(String nodeId, VersionIndependentResourceTypesAll type) {
324        super();
325        this.setNodeId(nodeId);
326        this.setType(type);
327      }
328
329        /**
330         * @return {@link #nodeId} (Internal ID of node - target for link references.). This is the underlying object with id, value and extensions. The accessor "getNodeId" gives direct access to the value
331         */
332        public IdType getNodeIdElement() { 
333          if (this.nodeId == null)
334            if (Configuration.errorOnAutoCreate())
335              throw new Error("Attempt to auto-create GraphDefinitionNodeComponent.nodeId");
336            else if (Configuration.doAutoCreate())
337              this.nodeId = new IdType(); // bb
338          return this.nodeId;
339        }
340
341        public boolean hasNodeIdElement() { 
342          return this.nodeId != null && !this.nodeId.isEmpty();
343        }
344
345        public boolean hasNodeId() { 
346          return this.nodeId != null && !this.nodeId.isEmpty();
347        }
348
349        /**
350         * @param value {@link #nodeId} (Internal ID of node - target for link references.). This is the underlying object with id, value and extensions. The accessor "getNodeId" gives direct access to the value
351         */
352        public GraphDefinitionNodeComponent setNodeIdElement(IdType value) { 
353          this.nodeId = value;
354          return this;
355        }
356
357        /**
358         * @return Internal ID of node - target for link references.
359         */
360        public String getNodeId() { 
361          return this.nodeId == null ? null : this.nodeId.getValue();
362        }
363
364        /**
365         * @param value Internal ID of node - target for link references.
366         */
367        public GraphDefinitionNodeComponent setNodeId(String value) { 
368            if (this.nodeId == null)
369              this.nodeId = new IdType();
370            this.nodeId.setValue(value);
371          return this;
372        }
373
374        /**
375         * @return {@link #description} (Information about why this node is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
376         */
377        public StringType getDescriptionElement() { 
378          if (this.description == null)
379            if (Configuration.errorOnAutoCreate())
380              throw new Error("Attempt to auto-create GraphDefinitionNodeComponent.description");
381            else if (Configuration.doAutoCreate())
382              this.description = new StringType(); // bb
383          return this.description;
384        }
385
386        public boolean hasDescriptionElement() { 
387          return this.description != null && !this.description.isEmpty();
388        }
389
390        public boolean hasDescription() { 
391          return this.description != null && !this.description.isEmpty();
392        }
393
394        /**
395         * @param value {@link #description} (Information about why this node is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
396         */
397        public GraphDefinitionNodeComponent setDescriptionElement(StringType value) { 
398          this.description = value;
399          return this;
400        }
401
402        /**
403         * @return Information about why this node is of interest in this graph definition.
404         */
405        public String getDescription() { 
406          return this.description == null ? null : this.description.getValue();
407        }
408
409        /**
410         * @param value Information about why this node is of interest in this graph definition.
411         */
412        public GraphDefinitionNodeComponent setDescription(String value) { 
413          if (Utilities.noString(value))
414            this.description = null;
415          else {
416            if (this.description == null)
417              this.description = new StringType();
418            this.description.setValue(value);
419          }
420          return this;
421        }
422
423        /**
424         * @return {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
425         */
426        public Enumeration<VersionIndependentResourceTypesAll> getTypeElement() { 
427          if (this.type == null)
428            if (Configuration.errorOnAutoCreate())
429              throw new Error("Attempt to auto-create GraphDefinitionNodeComponent.type");
430            else if (Configuration.doAutoCreate())
431              this.type = new Enumeration<VersionIndependentResourceTypesAll>(new VersionIndependentResourceTypesAllEnumFactory()); // bb
432          return this.type;
433        }
434
435        public boolean hasTypeElement() { 
436          return this.type != null && !this.type.isEmpty();
437        }
438
439        public boolean hasType() { 
440          return this.type != null && !this.type.isEmpty();
441        }
442
443        /**
444         * @param value {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
445         */
446        public GraphDefinitionNodeComponent setTypeElement(Enumeration<VersionIndependentResourceTypesAll> value) { 
447          this.type = value;
448          return this;
449        }
450
451        /**
452         * @return Type of resource this link refers to.
453         */
454        public VersionIndependentResourceTypesAll getType() { 
455          return this.type == null ? null : this.type.getValue();
456        }
457
458        /**
459         * @param value Type of resource this link refers to.
460         */
461        public GraphDefinitionNodeComponent setType(VersionIndependentResourceTypesAll value) { 
462            if (this.type == null)
463              this.type = new Enumeration<VersionIndependentResourceTypesAll>(new VersionIndependentResourceTypesAllEnumFactory());
464            this.type.setValue(value);
465          return this;
466        }
467
468        /**
469         * @return {@link #profile} (Profile for the target resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value
470         */
471        public CanonicalType getProfileElement() { 
472          if (this.profile == null)
473            if (Configuration.errorOnAutoCreate())
474              throw new Error("Attempt to auto-create GraphDefinitionNodeComponent.profile");
475            else if (Configuration.doAutoCreate())
476              this.profile = new CanonicalType(); // bb
477          return this.profile;
478        }
479
480        public boolean hasProfileElement() { 
481          return this.profile != null && !this.profile.isEmpty();
482        }
483
484        public boolean hasProfile() { 
485          return this.profile != null && !this.profile.isEmpty();
486        }
487
488        /**
489         * @param value {@link #profile} (Profile for the target resource.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value
490         */
491        public GraphDefinitionNodeComponent setProfileElement(CanonicalType value) { 
492          this.profile = value;
493          return this;
494        }
495
496        /**
497         * @return Profile for the target resource.
498         */
499        public String getProfile() { 
500          return this.profile == null ? null : this.profile.getValue();
501        }
502
503        /**
504         * @param value Profile for the target resource.
505         */
506        public GraphDefinitionNodeComponent setProfile(String value) { 
507          if (Utilities.noString(value))
508            this.profile = null;
509          else {
510            if (this.profile == null)
511              this.profile = new CanonicalType();
512            this.profile.setValue(value);
513          }
514          return this;
515        }
516
517        protected void listChildren(List<Property> children) {
518          super.listChildren(children);
519          children.add(new Property("nodeId", "id", "Internal ID of node - target for link references.", 0, 1, nodeId));
520          children.add(new Property("description", "string", "Information about why this node is of interest in this graph definition.", 0, 1, description));
521          children.add(new Property("type", "code", "Type of resource this link refers to.", 0, 1, type));
522          children.add(new Property("profile", "canonical(StructureDefinition)", "Profile for the target resource.", 0, 1, profile));
523        }
524
525        @Override
526        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
527          switch (_hash) {
528          case -1040171331: /*nodeId*/  return new Property("nodeId", "id", "Internal ID of node - target for link references.", 0, 1, nodeId);
529          case -1724546052: /*description*/  return new Property("description", "string", "Information about why this node is of interest in this graph definition.", 0, 1, description);
530          case 3575610: /*type*/  return new Property("type", "code", "Type of resource this link refers to.", 0, 1, type);
531          case -309425751: /*profile*/  return new Property("profile", "canonical(StructureDefinition)", "Profile for the target resource.", 0, 1, profile);
532          default: return super.getNamedProperty(_hash, _name, _checkValid);
533          }
534
535        }
536
537      @Override
538      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
539        switch (hash) {
540        case -1040171331: /*nodeId*/ return this.nodeId == null ? new Base[0] : new Base[] {this.nodeId}; // IdType
541        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType
542        case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<VersionIndependentResourceTypesAll>
543        case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType
544        default: return super.getProperty(hash, name, checkValid);
545        }
546
547      }
548
549      @Override
550      public Base setProperty(int hash, String name, Base value) throws FHIRException {
551        switch (hash) {
552        case -1040171331: // nodeId
553          this.nodeId = TypeConvertor.castToId(value); // IdType
554          return value;
555        case -1724546052: // description
556          this.description = TypeConvertor.castToString(value); // StringType
557          return value;
558        case 3575610: // type
559          value = new VersionIndependentResourceTypesAllEnumFactory().fromType(TypeConvertor.castToCode(value));
560          this.type = (Enumeration) value; // Enumeration<VersionIndependentResourceTypesAll>
561          return value;
562        case -309425751: // profile
563          this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
564          return value;
565        default: return super.setProperty(hash, name, value);
566        }
567
568      }
569
570      @Override
571      public Base setProperty(String name, Base value) throws FHIRException {
572        if (name.equals("nodeId")) {
573          this.nodeId = TypeConvertor.castToId(value); // IdType
574        } else if (name.equals("description")) {
575          this.description = TypeConvertor.castToString(value); // StringType
576        } else if (name.equals("type")) {
577          value = new VersionIndependentResourceTypesAllEnumFactory().fromType(TypeConvertor.castToCode(value));
578          this.type = (Enumeration) value; // Enumeration<VersionIndependentResourceTypesAll>
579        } else if (name.equals("profile")) {
580          this.profile = TypeConvertor.castToCanonical(value); // CanonicalType
581        } else
582          return super.setProperty(name, value);
583        return value;
584      }
585
586  @Override
587  public void removeChild(String name, Base value) throws FHIRException {
588        if (name.equals("nodeId")) {
589          this.nodeId = null;
590        } else if (name.equals("description")) {
591          this.description = null;
592        } else if (name.equals("type")) {
593          value = new VersionIndependentResourceTypesAllEnumFactory().fromType(TypeConvertor.castToCode(value));
594          this.type = (Enumeration) value; // Enumeration<VersionIndependentResourceTypesAll>
595        } else if (name.equals("profile")) {
596          this.profile = null;
597        } else
598          super.removeChild(name, value);
599        
600      }
601
602      @Override
603      public Base makeProperty(int hash, String name) throws FHIRException {
604        switch (hash) {
605        case -1040171331:  return getNodeIdElement();
606        case -1724546052:  return getDescriptionElement();
607        case 3575610:  return getTypeElement();
608        case -309425751:  return getProfileElement();
609        default: return super.makeProperty(hash, name);
610        }
611
612      }
613
614      @Override
615      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
616        switch (hash) {
617        case -1040171331: /*nodeId*/ return new String[] {"id"};
618        case -1724546052: /*description*/ return new String[] {"string"};
619        case 3575610: /*type*/ return new String[] {"code"};
620        case -309425751: /*profile*/ return new String[] {"canonical"};
621        default: return super.getTypesForProperty(hash, name);
622        }
623
624      }
625
626      @Override
627      public Base addChild(String name) throws FHIRException {
628        if (name.equals("nodeId")) {
629          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.node.nodeId");
630        }
631        else if (name.equals("description")) {
632          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.node.description");
633        }
634        else if (name.equals("type")) {
635          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.node.type");
636        }
637        else if (name.equals("profile")) {
638          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.node.profile");
639        }
640        else
641          return super.addChild(name);
642      }
643
644      public GraphDefinitionNodeComponent copy() {
645        GraphDefinitionNodeComponent dst = new GraphDefinitionNodeComponent();
646        copyValues(dst);
647        return dst;
648      }
649
650      public void copyValues(GraphDefinitionNodeComponent dst) {
651        super.copyValues(dst);
652        dst.nodeId = nodeId == null ? null : nodeId.copy();
653        dst.description = description == null ? null : description.copy();
654        dst.type = type == null ? null : type.copy();
655        dst.profile = profile == null ? null : profile.copy();
656      }
657
658      @Override
659      public boolean equalsDeep(Base other_) {
660        if (!super.equalsDeep(other_))
661          return false;
662        if (!(other_ instanceof GraphDefinitionNodeComponent))
663          return false;
664        GraphDefinitionNodeComponent o = (GraphDefinitionNodeComponent) other_;
665        return compareDeep(nodeId, o.nodeId, true) && compareDeep(description, o.description, true) && compareDeep(type, o.type, true)
666           && compareDeep(profile, o.profile, true);
667      }
668
669      @Override
670      public boolean equalsShallow(Base other_) {
671        if (!super.equalsShallow(other_))
672          return false;
673        if (!(other_ instanceof GraphDefinitionNodeComponent))
674          return false;
675        GraphDefinitionNodeComponent o = (GraphDefinitionNodeComponent) other_;
676        return compareValues(nodeId, o.nodeId, true) && compareValues(description, o.description, true) && compareValues(type, o.type, true)
677           && compareValues(profile, o.profile, true);
678      }
679
680      public boolean isEmpty() {
681        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(nodeId, description, type
682          , profile);
683      }
684
685  public String fhirType() {
686    return "GraphDefinition.node";
687
688  }
689
690  }
691
692    @Block()
693    public static class GraphDefinitionLinkComponent extends BackboneElement implements IBaseBackboneElement {
694        /**
695         * Information about why this link is of interest in this graph definition.
696         */
697        @Child(name = "description", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false)
698        @Description(shortDefinition="Why this link is specified", formalDefinition="Information about why this link is of interest in this graph definition." )
699        protected StringType description;
700
701        /**
702         * Minimum occurrences for this link.
703         */
704        @Child(name = "min", type = {IntegerType.class}, order=2, min=0, max=1, modifier=false, summary=false)
705        @Description(shortDefinition="Minimum occurrences for this link", formalDefinition="Minimum occurrences for this link." )
706        protected IntegerType min;
707
708        /**
709         * Maximum occurrences for this link.
710         */
711        @Child(name = "max", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false)
712        @Description(shortDefinition="Maximum occurrences for this link", formalDefinition="Maximum occurrences for this link." )
713        protected StringType max;
714
715        /**
716         * The source node for this link.
717         */
718        @Child(name = "sourceId", type = {IdType.class}, order=4, min=1, max=1, modifier=false, summary=false)
719        @Description(shortDefinition="Source Node for this link", formalDefinition="The source node for this link." )
720        protected IdType sourceId;
721
722        /**
723         * A FHIRPath expression that identifies one of FHIR References to other resources.
724         */
725        @Child(name = "path", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false)
726        @Description(shortDefinition="Path in the resource that contains the link", formalDefinition="A FHIRPath expression that identifies one of FHIR References to other resources." )
727        protected StringType path;
728
729        /**
730         * Which slice (if profiled).
731         */
732        @Child(name = "sliceName", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false)
733        @Description(shortDefinition="Which slice (if profiled)", formalDefinition="Which slice (if profiled)." )
734        protected StringType sliceName;
735
736        /**
737         * The target node for this link.
738         */
739        @Child(name = "targetId", type = {IdType.class}, order=7, min=1, max=1, modifier=false, summary=false)
740        @Description(shortDefinition="Target Node for this link", formalDefinition="The target node for this link." )
741        protected IdType targetId;
742
743        /**
744         * A set of parameters to look up.
745         */
746        @Child(name = "params", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false)
747        @Description(shortDefinition="Criteria for reverse lookup", formalDefinition="A set of parameters to look up." )
748        protected StringType params;
749
750        /**
751         * Compartment Consistency Rules.
752         */
753        @Child(name = "compartment", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
754        @Description(shortDefinition="Compartment Consistency Rules", formalDefinition="Compartment Consistency Rules." )
755        protected List<GraphDefinitionLinkCompartmentComponent> compartment;
756
757        private static final long serialVersionUID = -433118895L;
758
759    /**
760     * Constructor
761     */
762      public GraphDefinitionLinkComponent() {
763        super();
764      }
765
766    /**
767     * Constructor
768     */
769      public GraphDefinitionLinkComponent(String sourceId, String targetId) {
770        super();
771        this.setSourceId(sourceId);
772        this.setTargetId(targetId);
773      }
774
775        /**
776         * @return {@link #description} (Information about why this link is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
777         */
778        public StringType getDescriptionElement() { 
779          if (this.description == null)
780            if (Configuration.errorOnAutoCreate())
781              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.description");
782            else if (Configuration.doAutoCreate())
783              this.description = new StringType(); // bb
784          return this.description;
785        }
786
787        public boolean hasDescriptionElement() { 
788          return this.description != null && !this.description.isEmpty();
789        }
790
791        public boolean hasDescription() { 
792          return this.description != null && !this.description.isEmpty();
793        }
794
795        /**
796         * @param value {@link #description} (Information about why this link is of interest in this graph definition.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
797         */
798        public GraphDefinitionLinkComponent setDescriptionElement(StringType value) { 
799          this.description = value;
800          return this;
801        }
802
803        /**
804         * @return Information about why this link is of interest in this graph definition.
805         */
806        public String getDescription() { 
807          return this.description == null ? null : this.description.getValue();
808        }
809
810        /**
811         * @param value Information about why this link is of interest in this graph definition.
812         */
813        public GraphDefinitionLinkComponent setDescription(String value) { 
814          if (Utilities.noString(value))
815            this.description = null;
816          else {
817            if (this.description == null)
818              this.description = new StringType();
819            this.description.setValue(value);
820          }
821          return this;
822        }
823
824        /**
825         * @return {@link #min} (Minimum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value
826         */
827        public IntegerType getMinElement() { 
828          if (this.min == null)
829            if (Configuration.errorOnAutoCreate())
830              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.min");
831            else if (Configuration.doAutoCreate())
832              this.min = new IntegerType(); // bb
833          return this.min;
834        }
835
836        public boolean hasMinElement() { 
837          return this.min != null && !this.min.isEmpty();
838        }
839
840        public boolean hasMin() { 
841          return this.min != null && !this.min.isEmpty();
842        }
843
844        /**
845         * @param value {@link #min} (Minimum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value
846         */
847        public GraphDefinitionLinkComponent setMinElement(IntegerType value) { 
848          this.min = value;
849          return this;
850        }
851
852        /**
853         * @return Minimum occurrences for this link.
854         */
855        public int getMin() { 
856          return this.min == null || this.min.isEmpty() ? 0 : this.min.getValue();
857        }
858
859        /**
860         * @param value Minimum occurrences for this link.
861         */
862        public GraphDefinitionLinkComponent setMin(int value) { 
863            if (this.min == null)
864              this.min = new IntegerType();
865            this.min.setValue(value);
866          return this;
867        }
868
869        /**
870         * @return {@link #max} (Maximum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value
871         */
872        public StringType getMaxElement() { 
873          if (this.max == null)
874            if (Configuration.errorOnAutoCreate())
875              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.max");
876            else if (Configuration.doAutoCreate())
877              this.max = new StringType(); // bb
878          return this.max;
879        }
880
881        public boolean hasMaxElement() { 
882          return this.max != null && !this.max.isEmpty();
883        }
884
885        public boolean hasMax() { 
886          return this.max != null && !this.max.isEmpty();
887        }
888
889        /**
890         * @param value {@link #max} (Maximum occurrences for this link.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value
891         */
892        public GraphDefinitionLinkComponent setMaxElement(StringType value) { 
893          this.max = value;
894          return this;
895        }
896
897        /**
898         * @return Maximum occurrences for this link.
899         */
900        public String getMax() { 
901          return this.max == null ? null : this.max.getValue();
902        }
903
904        /**
905         * @param value Maximum occurrences for this link.
906         */
907        public GraphDefinitionLinkComponent setMax(String value) { 
908          if (Utilities.noString(value))
909            this.max = null;
910          else {
911            if (this.max == null)
912              this.max = new StringType();
913            this.max.setValue(value);
914          }
915          return this;
916        }
917
918        /**
919         * @return {@link #sourceId} (The source node for this link.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value
920         */
921        public IdType getSourceIdElement() { 
922          if (this.sourceId == null)
923            if (Configuration.errorOnAutoCreate())
924              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.sourceId");
925            else if (Configuration.doAutoCreate())
926              this.sourceId = new IdType(); // bb
927          return this.sourceId;
928        }
929
930        public boolean hasSourceIdElement() { 
931          return this.sourceId != null && !this.sourceId.isEmpty();
932        }
933
934        public boolean hasSourceId() { 
935          return this.sourceId != null && !this.sourceId.isEmpty();
936        }
937
938        /**
939         * @param value {@link #sourceId} (The source node for this link.). This is the underlying object with id, value and extensions. The accessor "getSourceId" gives direct access to the value
940         */
941        public GraphDefinitionLinkComponent setSourceIdElement(IdType value) { 
942          this.sourceId = value;
943          return this;
944        }
945
946        /**
947         * @return The source node for this link.
948         */
949        public String getSourceId() { 
950          return this.sourceId == null ? null : this.sourceId.getValue();
951        }
952
953        /**
954         * @param value The source node for this link.
955         */
956        public GraphDefinitionLinkComponent setSourceId(String value) { 
957            if (this.sourceId == null)
958              this.sourceId = new IdType();
959            this.sourceId.setValue(value);
960          return this;
961        }
962
963        /**
964         * @return {@link #path} (A FHIRPath expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value
965         */
966        public StringType getPathElement() { 
967          if (this.path == null)
968            if (Configuration.errorOnAutoCreate())
969              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.path");
970            else if (Configuration.doAutoCreate())
971              this.path = new StringType(); // bb
972          return this.path;
973        }
974
975        public boolean hasPathElement() { 
976          return this.path != null && !this.path.isEmpty();
977        }
978
979        public boolean hasPath() { 
980          return this.path != null && !this.path.isEmpty();
981        }
982
983        /**
984         * @param value {@link #path} (A FHIRPath expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value
985         */
986        public GraphDefinitionLinkComponent setPathElement(StringType value) { 
987          this.path = value;
988          return this;
989        }
990
991        /**
992         * @return A FHIRPath expression that identifies one of FHIR References to other resources.
993         */
994        public String getPath() { 
995          return this.path == null ? null : this.path.getValue();
996        }
997
998        /**
999         * @param value A FHIRPath expression that identifies one of FHIR References to other resources.
1000         */
1001        public GraphDefinitionLinkComponent setPath(String value) { 
1002          if (Utilities.noString(value))
1003            this.path = null;
1004          else {
1005            if (this.path == null)
1006              this.path = new StringType();
1007            this.path.setValue(value);
1008          }
1009          return this;
1010        }
1011
1012        /**
1013         * @return {@link #sliceName} (Which slice (if profiled).). This is the underlying object with id, value and extensions. The accessor "getSliceName" gives direct access to the value
1014         */
1015        public StringType getSliceNameElement() { 
1016          if (this.sliceName == null)
1017            if (Configuration.errorOnAutoCreate())
1018              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.sliceName");
1019            else if (Configuration.doAutoCreate())
1020              this.sliceName = new StringType(); // bb
1021          return this.sliceName;
1022        }
1023
1024        public boolean hasSliceNameElement() { 
1025          return this.sliceName != null && !this.sliceName.isEmpty();
1026        }
1027
1028        public boolean hasSliceName() { 
1029          return this.sliceName != null && !this.sliceName.isEmpty();
1030        }
1031
1032        /**
1033         * @param value {@link #sliceName} (Which slice (if profiled).). This is the underlying object with id, value and extensions. The accessor "getSliceName" gives direct access to the value
1034         */
1035        public GraphDefinitionLinkComponent setSliceNameElement(StringType value) { 
1036          this.sliceName = value;
1037          return this;
1038        }
1039
1040        /**
1041         * @return Which slice (if profiled).
1042         */
1043        public String getSliceName() { 
1044          return this.sliceName == null ? null : this.sliceName.getValue();
1045        }
1046
1047        /**
1048         * @param value Which slice (if profiled).
1049         */
1050        public GraphDefinitionLinkComponent setSliceName(String value) { 
1051          if (Utilities.noString(value))
1052            this.sliceName = null;
1053          else {
1054            if (this.sliceName == null)
1055              this.sliceName = new StringType();
1056            this.sliceName.setValue(value);
1057          }
1058          return this;
1059        }
1060
1061        /**
1062         * @return {@link #targetId} (The target node for this link.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value
1063         */
1064        public IdType getTargetIdElement() { 
1065          if (this.targetId == null)
1066            if (Configuration.errorOnAutoCreate())
1067              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.targetId");
1068            else if (Configuration.doAutoCreate())
1069              this.targetId = new IdType(); // bb
1070          return this.targetId;
1071        }
1072
1073        public boolean hasTargetIdElement() { 
1074          return this.targetId != null && !this.targetId.isEmpty();
1075        }
1076
1077        public boolean hasTargetId() { 
1078          return this.targetId != null && !this.targetId.isEmpty();
1079        }
1080
1081        /**
1082         * @param value {@link #targetId} (The target node for this link.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value
1083         */
1084        public GraphDefinitionLinkComponent setTargetIdElement(IdType value) { 
1085          this.targetId = value;
1086          return this;
1087        }
1088
1089        /**
1090         * @return The target node for this link.
1091         */
1092        public String getTargetId() { 
1093          return this.targetId == null ? null : this.targetId.getValue();
1094        }
1095
1096        /**
1097         * @param value The target node for this link.
1098         */
1099        public GraphDefinitionLinkComponent setTargetId(String value) { 
1100            if (this.targetId == null)
1101              this.targetId = new IdType();
1102            this.targetId.setValue(value);
1103          return this;
1104        }
1105
1106        /**
1107         * @return {@link #params} (A set of parameters to look up.). This is the underlying object with id, value and extensions. The accessor "getParams" gives direct access to the value
1108         */
1109        public StringType getParamsElement() { 
1110          if (this.params == null)
1111            if (Configuration.errorOnAutoCreate())
1112              throw new Error("Attempt to auto-create GraphDefinitionLinkComponent.params");
1113            else if (Configuration.doAutoCreate())
1114              this.params = new StringType(); // bb
1115          return this.params;
1116        }
1117
1118        public boolean hasParamsElement() { 
1119          return this.params != null && !this.params.isEmpty();
1120        }
1121
1122        public boolean hasParams() { 
1123          return this.params != null && !this.params.isEmpty();
1124        }
1125
1126        /**
1127         * @param value {@link #params} (A set of parameters to look up.). This is the underlying object with id, value and extensions. The accessor "getParams" gives direct access to the value
1128         */
1129        public GraphDefinitionLinkComponent setParamsElement(StringType value) { 
1130          this.params = value;
1131          return this;
1132        }
1133
1134        /**
1135         * @return A set of parameters to look up.
1136         */
1137        public String getParams() { 
1138          return this.params == null ? null : this.params.getValue();
1139        }
1140
1141        /**
1142         * @param value A set of parameters to look up.
1143         */
1144        public GraphDefinitionLinkComponent setParams(String value) { 
1145          if (Utilities.noString(value))
1146            this.params = null;
1147          else {
1148            if (this.params == null)
1149              this.params = new StringType();
1150            this.params.setValue(value);
1151          }
1152          return this;
1153        }
1154
1155        /**
1156         * @return {@link #compartment} (Compartment Consistency Rules.)
1157         */
1158        public List<GraphDefinitionLinkCompartmentComponent> getCompartment() { 
1159          if (this.compartment == null)
1160            this.compartment = new ArrayList<GraphDefinitionLinkCompartmentComponent>();
1161          return this.compartment;
1162        }
1163
1164        /**
1165         * @return Returns a reference to <code>this</code> for easy method chaining
1166         */
1167        public GraphDefinitionLinkComponent setCompartment(List<GraphDefinitionLinkCompartmentComponent> theCompartment) { 
1168          this.compartment = theCompartment;
1169          return this;
1170        }
1171
1172        public boolean hasCompartment() { 
1173          if (this.compartment == null)
1174            return false;
1175          for (GraphDefinitionLinkCompartmentComponent item : this.compartment)
1176            if (!item.isEmpty())
1177              return true;
1178          return false;
1179        }
1180
1181        public GraphDefinitionLinkCompartmentComponent addCompartment() { //3
1182          GraphDefinitionLinkCompartmentComponent t = new GraphDefinitionLinkCompartmentComponent();
1183          if (this.compartment == null)
1184            this.compartment = new ArrayList<GraphDefinitionLinkCompartmentComponent>();
1185          this.compartment.add(t);
1186          return t;
1187        }
1188
1189        public GraphDefinitionLinkComponent addCompartment(GraphDefinitionLinkCompartmentComponent t) { //3
1190          if (t == null)
1191            return this;
1192          if (this.compartment == null)
1193            this.compartment = new ArrayList<GraphDefinitionLinkCompartmentComponent>();
1194          this.compartment.add(t);
1195          return this;
1196        }
1197
1198        /**
1199         * @return The first repetition of repeating field {@link #compartment}, creating it if it does not already exist {3}
1200         */
1201        public GraphDefinitionLinkCompartmentComponent getCompartmentFirstRep() { 
1202          if (getCompartment().isEmpty()) {
1203            addCompartment();
1204          }
1205          return getCompartment().get(0);
1206        }
1207
1208        protected void listChildren(List<Property> children) {
1209          super.listChildren(children);
1210          children.add(new Property("description", "string", "Information about why this link is of interest in this graph definition.", 0, 1, description));
1211          children.add(new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min));
1212          children.add(new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max));
1213          children.add(new Property("sourceId", "id", "The source node for this link.", 0, 1, sourceId));
1214          children.add(new Property("path", "string", "A FHIRPath expression that identifies one of FHIR References to other resources.", 0, 1, path));
1215          children.add(new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName));
1216          children.add(new Property("targetId", "id", "The target node for this link.", 0, 1, targetId));
1217          children.add(new Property("params", "string", "A set of parameters to look up.", 0, 1, params));
1218          children.add(new Property("compartment", "", "Compartment Consistency Rules.", 0, java.lang.Integer.MAX_VALUE, compartment));
1219        }
1220
1221        @Override
1222        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
1223          switch (_hash) {
1224          case -1724546052: /*description*/  return new Property("description", "string", "Information about why this link is of interest in this graph definition.", 0, 1, description);
1225          case 108114: /*min*/  return new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min);
1226          case 107876: /*max*/  return new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max);
1227          case 1746327190: /*sourceId*/  return new Property("sourceId", "id", "The source node for this link.", 0, 1, sourceId);
1228          case 3433509: /*path*/  return new Property("path", "string", "A FHIRPath expression that identifies one of FHIR References to other resources.", 0, 1, path);
1229          case -825289923: /*sliceName*/  return new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName);
1230          case -441951604: /*targetId*/  return new Property("targetId", "id", "The target node for this link.", 0, 1, targetId);
1231          case -995427962: /*params*/  return new Property("params", "string", "A set of parameters to look up.", 0, 1, params);
1232          case -397756334: /*compartment*/  return new Property("compartment", "", "Compartment Consistency Rules.", 0, java.lang.Integer.MAX_VALUE, compartment);
1233          default: return super.getNamedProperty(_hash, _name, _checkValid);
1234          }
1235
1236        }
1237
1238      @Override
1239      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
1240        switch (hash) {
1241        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType
1242        case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // IntegerType
1243        case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType
1244        case 1746327190: /*sourceId*/ return this.sourceId == null ? new Base[0] : new Base[] {this.sourceId}; // IdType
1245        case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType
1246        case -825289923: /*sliceName*/ return this.sliceName == null ? new Base[0] : new Base[] {this.sliceName}; // StringType
1247        case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType
1248        case -995427962: /*params*/ return this.params == null ? new Base[0] : new Base[] {this.params}; // StringType
1249        case -397756334: /*compartment*/ return this.compartment == null ? new Base[0] : this.compartment.toArray(new Base[this.compartment.size()]); // GraphDefinitionLinkCompartmentComponent
1250        default: return super.getProperty(hash, name, checkValid);
1251        }
1252
1253      }
1254
1255      @Override
1256      public Base setProperty(int hash, String name, Base value) throws FHIRException {
1257        switch (hash) {
1258        case -1724546052: // description
1259          this.description = TypeConvertor.castToString(value); // StringType
1260          return value;
1261        case 108114: // min
1262          this.min = TypeConvertor.castToInteger(value); // IntegerType
1263          return value;
1264        case 107876: // max
1265          this.max = TypeConvertor.castToString(value); // StringType
1266          return value;
1267        case 1746327190: // sourceId
1268          this.sourceId = TypeConvertor.castToId(value); // IdType
1269          return value;
1270        case 3433509: // path
1271          this.path = TypeConvertor.castToString(value); // StringType
1272          return value;
1273        case -825289923: // sliceName
1274          this.sliceName = TypeConvertor.castToString(value); // StringType
1275          return value;
1276        case -441951604: // targetId
1277          this.targetId = TypeConvertor.castToId(value); // IdType
1278          return value;
1279        case -995427962: // params
1280          this.params = TypeConvertor.castToString(value); // StringType
1281          return value;
1282        case -397756334: // compartment
1283          this.getCompartment().add((GraphDefinitionLinkCompartmentComponent) value); // GraphDefinitionLinkCompartmentComponent
1284          return value;
1285        default: return super.setProperty(hash, name, value);
1286        }
1287
1288      }
1289
1290      @Override
1291      public Base setProperty(String name, Base value) throws FHIRException {
1292        if (name.equals("description")) {
1293          this.description = TypeConvertor.castToString(value); // StringType
1294        } else if (name.equals("min")) {
1295          this.min = TypeConvertor.castToInteger(value); // IntegerType
1296        } else if (name.equals("max")) {
1297          this.max = TypeConvertor.castToString(value); // StringType
1298        } else if (name.equals("sourceId")) {
1299          this.sourceId = TypeConvertor.castToId(value); // IdType
1300        } else if (name.equals("path")) {
1301          this.path = TypeConvertor.castToString(value); // StringType
1302        } else if (name.equals("sliceName")) {
1303          this.sliceName = TypeConvertor.castToString(value); // StringType
1304        } else if (name.equals("targetId")) {
1305          this.targetId = TypeConvertor.castToId(value); // IdType
1306        } else if (name.equals("params")) {
1307          this.params = TypeConvertor.castToString(value); // StringType
1308        } else if (name.equals("compartment")) {
1309          this.getCompartment().add((GraphDefinitionLinkCompartmentComponent) value);
1310        } else
1311          return super.setProperty(name, value);
1312        return value;
1313      }
1314
1315  @Override
1316  public void removeChild(String name, Base value) throws FHIRException {
1317        if (name.equals("description")) {
1318          this.description = null;
1319        } else if (name.equals("min")) {
1320          this.min = null;
1321        } else if (name.equals("max")) {
1322          this.max = null;
1323        } else if (name.equals("sourceId")) {
1324          this.sourceId = null;
1325        } else if (name.equals("path")) {
1326          this.path = null;
1327        } else if (name.equals("sliceName")) {
1328          this.sliceName = null;
1329        } else if (name.equals("targetId")) {
1330          this.targetId = null;
1331        } else if (name.equals("params")) {
1332          this.params = null;
1333        } else if (name.equals("compartment")) {
1334          this.getCompartment().remove((GraphDefinitionLinkCompartmentComponent) value);
1335        } else
1336          super.removeChild(name, value);
1337        
1338      }
1339
1340      @Override
1341      public Base makeProperty(int hash, String name) throws FHIRException {
1342        switch (hash) {
1343        case -1724546052:  return getDescriptionElement();
1344        case 108114:  return getMinElement();
1345        case 107876:  return getMaxElement();
1346        case 1746327190:  return getSourceIdElement();
1347        case 3433509:  return getPathElement();
1348        case -825289923:  return getSliceNameElement();
1349        case -441951604:  return getTargetIdElement();
1350        case -995427962:  return getParamsElement();
1351        case -397756334:  return addCompartment(); 
1352        default: return super.makeProperty(hash, name);
1353        }
1354
1355      }
1356
1357      @Override
1358      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
1359        switch (hash) {
1360        case -1724546052: /*description*/ return new String[] {"string"};
1361        case 108114: /*min*/ return new String[] {"integer"};
1362        case 107876: /*max*/ return new String[] {"string"};
1363        case 1746327190: /*sourceId*/ return new String[] {"id"};
1364        case 3433509: /*path*/ return new String[] {"string"};
1365        case -825289923: /*sliceName*/ return new String[] {"string"};
1366        case -441951604: /*targetId*/ return new String[] {"id"};
1367        case -995427962: /*params*/ return new String[] {"string"};
1368        case -397756334: /*compartment*/ return new String[] {};
1369        default: return super.getTypesForProperty(hash, name);
1370        }
1371
1372      }
1373
1374      @Override
1375      public Base addChild(String name) throws FHIRException {
1376        if (name.equals("description")) {
1377          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.description");
1378        }
1379        else if (name.equals("min")) {
1380          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.min");
1381        }
1382        else if (name.equals("max")) {
1383          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.max");
1384        }
1385        else if (name.equals("sourceId")) {
1386          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.sourceId");
1387        }
1388        else if (name.equals("path")) {
1389          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.path");
1390        }
1391        else if (name.equals("sliceName")) {
1392          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.sliceName");
1393        }
1394        else if (name.equals("targetId")) {
1395          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.targetId");
1396        }
1397        else if (name.equals("params")) {
1398          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.params");
1399        }
1400        else if (name.equals("compartment")) {
1401          return addCompartment();
1402        }
1403        else
1404          return super.addChild(name);
1405      }
1406
1407      public GraphDefinitionLinkComponent copy() {
1408        GraphDefinitionLinkComponent dst = new GraphDefinitionLinkComponent();
1409        copyValues(dst);
1410        return dst;
1411      }
1412
1413      public void copyValues(GraphDefinitionLinkComponent dst) {
1414        super.copyValues(dst);
1415        dst.description = description == null ? null : description.copy();
1416        dst.min = min == null ? null : min.copy();
1417        dst.max = max == null ? null : max.copy();
1418        dst.sourceId = sourceId == null ? null : sourceId.copy();
1419        dst.path = path == null ? null : path.copy();
1420        dst.sliceName = sliceName == null ? null : sliceName.copy();
1421        dst.targetId = targetId == null ? null : targetId.copy();
1422        dst.params = params == null ? null : params.copy();
1423        if (compartment != null) {
1424          dst.compartment = new ArrayList<GraphDefinitionLinkCompartmentComponent>();
1425          for (GraphDefinitionLinkCompartmentComponent i : compartment)
1426            dst.compartment.add(i.copy());
1427        };
1428      }
1429
1430      @Override
1431      public boolean equalsDeep(Base other_) {
1432        if (!super.equalsDeep(other_))
1433          return false;
1434        if (!(other_ instanceof GraphDefinitionLinkComponent))
1435          return false;
1436        GraphDefinitionLinkComponent o = (GraphDefinitionLinkComponent) other_;
1437        return compareDeep(description, o.description, true) && compareDeep(min, o.min, true) && compareDeep(max, o.max, true)
1438           && compareDeep(sourceId, o.sourceId, true) && compareDeep(path, o.path, true) && compareDeep(sliceName, o.sliceName, true)
1439           && compareDeep(targetId, o.targetId, true) && compareDeep(params, o.params, true) && compareDeep(compartment, o.compartment, true)
1440          ;
1441      }
1442
1443      @Override
1444      public boolean equalsShallow(Base other_) {
1445        if (!super.equalsShallow(other_))
1446          return false;
1447        if (!(other_ instanceof GraphDefinitionLinkComponent))
1448          return false;
1449        GraphDefinitionLinkComponent o = (GraphDefinitionLinkComponent) other_;
1450        return compareValues(description, o.description, true) && compareValues(min, o.min, true) && compareValues(max, o.max, true)
1451           && compareValues(sourceId, o.sourceId, true) && compareValues(path, o.path, true) && compareValues(sliceName, o.sliceName, true)
1452           && compareValues(targetId, o.targetId, true) && compareValues(params, o.params, true);
1453      }
1454
1455      public boolean isEmpty() {
1456        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, min, max, sourceId
1457          , path, sliceName, targetId, params, compartment);
1458      }
1459
1460  public String fhirType() {
1461    return "GraphDefinition.link";
1462
1463  }
1464
1465  }
1466
1467    @Block()
1468    public static class GraphDefinitionLinkCompartmentComponent extends BackboneElement implements IBaseBackboneElement {
1469        /**
1470         * Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.
1471         */
1472        @Child(name = "use", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false)
1473        @Description(shortDefinition="where | requires", formalDefinition="Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed." )
1474        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/graph-compartment-use")
1475        protected Enumeration<GraphCompartmentUse> use;
1476
1477        /**
1478         * identical | matching | different | no-rule | custom.
1479         */
1480        @Child(name = "rule", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false)
1481        @Description(shortDefinition="identical | matching | different | custom", formalDefinition="identical | matching | different | no-rule | custom." )
1482        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/graph-compartment-rule")
1483        protected Enumeration<GraphCompartmentRule> rule;
1484
1485        /**
1486         * Identifies the compartment.
1487         */
1488        @Child(name = "code", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false)
1489        @Description(shortDefinition="Patient | Encounter | RelatedPerson | Practitioner | Device | EpisodeOfCare", formalDefinition="Identifies the compartment." )
1490        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/compartment-type")
1491        protected Enumeration<CompartmentType> code;
1492
1493        /**
1494         * Custom rule, as a FHIRPath expression.
1495         */
1496        @Child(name = "expression", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false)
1497        @Description(shortDefinition="Custom rule, as a FHIRPath expression", formalDefinition="Custom rule, as a FHIRPath expression." )
1498        protected StringType expression;
1499
1500        /**
1501         * Documentation for FHIRPath expression.
1502         */
1503        @Child(name = "description", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false)
1504        @Description(shortDefinition="Documentation for FHIRPath expression", formalDefinition="Documentation for FHIRPath expression." )
1505        protected StringType description;
1506
1507        private static final long serialVersionUID = 2140045786L;
1508
1509    /**
1510     * Constructor
1511     */
1512      public GraphDefinitionLinkCompartmentComponent() {
1513        super();
1514      }
1515
1516    /**
1517     * Constructor
1518     */
1519      public GraphDefinitionLinkCompartmentComponent(GraphCompartmentUse use, GraphCompartmentRule rule, CompartmentType code) {
1520        super();
1521        this.setUse(use);
1522        this.setRule(rule);
1523        this.setCode(code);
1524      }
1525
1526        /**
1527         * @return {@link #use} (Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value
1528         */
1529        public Enumeration<GraphCompartmentUse> getUseElement() { 
1530          if (this.use == null)
1531            if (Configuration.errorOnAutoCreate())
1532              throw new Error("Attempt to auto-create GraphDefinitionLinkCompartmentComponent.use");
1533            else if (Configuration.doAutoCreate())
1534              this.use = new Enumeration<GraphCompartmentUse>(new GraphCompartmentUseEnumFactory()); // bb
1535          return this.use;
1536        }
1537
1538        public boolean hasUseElement() { 
1539          return this.use != null && !this.use.isEmpty();
1540        }
1541
1542        public boolean hasUse() { 
1543          return this.use != null && !this.use.isEmpty();
1544        }
1545
1546        /**
1547         * @param value {@link #use} (Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value
1548         */
1549        public GraphDefinitionLinkCompartmentComponent setUseElement(Enumeration<GraphCompartmentUse> value) { 
1550          this.use = value;
1551          return this;
1552        }
1553
1554        /**
1555         * @return Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.
1556         */
1557        public GraphCompartmentUse getUse() { 
1558          return this.use == null ? null : this.use.getValue();
1559        }
1560
1561        /**
1562         * @param value Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.
1563         */
1564        public GraphDefinitionLinkCompartmentComponent setUse(GraphCompartmentUse value) { 
1565            if (this.use == null)
1566              this.use = new Enumeration<GraphCompartmentUse>(new GraphCompartmentUseEnumFactory());
1567            this.use.setValue(value);
1568          return this;
1569        }
1570
1571        /**
1572         * @return {@link #rule} (identical | matching | different | no-rule | custom.). This is the underlying object with id, value and extensions. The accessor "getRule" gives direct access to the value
1573         */
1574        public Enumeration<GraphCompartmentRule> getRuleElement() { 
1575          if (this.rule == null)
1576            if (Configuration.errorOnAutoCreate())
1577              throw new Error("Attempt to auto-create GraphDefinitionLinkCompartmentComponent.rule");
1578            else if (Configuration.doAutoCreate())
1579              this.rule = new Enumeration<GraphCompartmentRule>(new GraphCompartmentRuleEnumFactory()); // bb
1580          return this.rule;
1581        }
1582
1583        public boolean hasRuleElement() { 
1584          return this.rule != null && !this.rule.isEmpty();
1585        }
1586
1587        public boolean hasRule() { 
1588          return this.rule != null && !this.rule.isEmpty();
1589        }
1590
1591        /**
1592         * @param value {@link #rule} (identical | matching | different | no-rule | custom.). This is the underlying object with id, value and extensions. The accessor "getRule" gives direct access to the value
1593         */
1594        public GraphDefinitionLinkCompartmentComponent setRuleElement(Enumeration<GraphCompartmentRule> value) { 
1595          this.rule = value;
1596          return this;
1597        }
1598
1599        /**
1600         * @return identical | matching | different | no-rule | custom.
1601         */
1602        public GraphCompartmentRule getRule() { 
1603          return this.rule == null ? null : this.rule.getValue();
1604        }
1605
1606        /**
1607         * @param value identical | matching | different | no-rule | custom.
1608         */
1609        public GraphDefinitionLinkCompartmentComponent setRule(GraphCompartmentRule value) { 
1610            if (this.rule == null)
1611              this.rule = new Enumeration<GraphCompartmentRule>(new GraphCompartmentRuleEnumFactory());
1612            this.rule.setValue(value);
1613          return this;
1614        }
1615
1616        /**
1617         * @return {@link #code} (Identifies the compartment.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1618         */
1619        public Enumeration<CompartmentType> getCodeElement() { 
1620          if (this.code == null)
1621            if (Configuration.errorOnAutoCreate())
1622              throw new Error("Attempt to auto-create GraphDefinitionLinkCompartmentComponent.code");
1623            else if (Configuration.doAutoCreate())
1624              this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory()); // bb
1625          return this.code;
1626        }
1627
1628        public boolean hasCodeElement() { 
1629          return this.code != null && !this.code.isEmpty();
1630        }
1631
1632        public boolean hasCode() { 
1633          return this.code != null && !this.code.isEmpty();
1634        }
1635
1636        /**
1637         * @param value {@link #code} (Identifies the compartment.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value
1638         */
1639        public GraphDefinitionLinkCompartmentComponent setCodeElement(Enumeration<CompartmentType> value) { 
1640          this.code = value;
1641          return this;
1642        }
1643
1644        /**
1645         * @return Identifies the compartment.
1646         */
1647        public CompartmentType getCode() { 
1648          return this.code == null ? null : this.code.getValue();
1649        }
1650
1651        /**
1652         * @param value Identifies the compartment.
1653         */
1654        public GraphDefinitionLinkCompartmentComponent setCode(CompartmentType value) { 
1655            if (this.code == null)
1656              this.code = new Enumeration<CompartmentType>(new CompartmentTypeEnumFactory());
1657            this.code.setValue(value);
1658          return this;
1659        }
1660
1661        /**
1662         * @return {@link #expression} (Custom rule, as a FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
1663         */
1664        public StringType getExpressionElement() { 
1665          if (this.expression == null)
1666            if (Configuration.errorOnAutoCreate())
1667              throw new Error("Attempt to auto-create GraphDefinitionLinkCompartmentComponent.expression");
1668            else if (Configuration.doAutoCreate())
1669              this.expression = new StringType(); // bb
1670          return this.expression;
1671        }
1672
1673        public boolean hasExpressionElement() { 
1674          return this.expression != null && !this.expression.isEmpty();
1675        }
1676
1677        public boolean hasExpression() { 
1678          return this.expression != null && !this.expression.isEmpty();
1679        }
1680
1681        /**
1682         * @param value {@link #expression} (Custom rule, as a FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value
1683         */
1684        public GraphDefinitionLinkCompartmentComponent setExpressionElement(StringType value) { 
1685          this.expression = value;
1686          return this;
1687        }
1688
1689        /**
1690         * @return Custom rule, as a FHIRPath expression.
1691         */
1692        public String getExpression() { 
1693          return this.expression == null ? null : this.expression.getValue();
1694        }
1695
1696        /**
1697         * @param value Custom rule, as a FHIRPath expression.
1698         */
1699        public GraphDefinitionLinkCompartmentComponent setExpression(String value) { 
1700          if (Utilities.noString(value))
1701            this.expression = null;
1702          else {
1703            if (this.expression == null)
1704              this.expression = new StringType();
1705            this.expression.setValue(value);
1706          }
1707          return this;
1708        }
1709
1710        /**
1711         * @return {@link #description} (Documentation for FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1712         */
1713        public StringType getDescriptionElement() { 
1714          if (this.description == null)
1715            if (Configuration.errorOnAutoCreate())
1716              throw new Error("Attempt to auto-create GraphDefinitionLinkCompartmentComponent.description");
1717            else if (Configuration.doAutoCreate())
1718              this.description = new StringType(); // bb
1719          return this.description;
1720        }
1721
1722        public boolean hasDescriptionElement() { 
1723          return this.description != null && !this.description.isEmpty();
1724        }
1725
1726        public boolean hasDescription() { 
1727          return this.description != null && !this.description.isEmpty();
1728        }
1729
1730        /**
1731         * @param value {@link #description} (Documentation for FHIRPath expression.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1732         */
1733        public GraphDefinitionLinkCompartmentComponent setDescriptionElement(StringType value) { 
1734          this.description = value;
1735          return this;
1736        }
1737
1738        /**
1739         * @return Documentation for FHIRPath expression.
1740         */
1741        public String getDescription() { 
1742          return this.description == null ? null : this.description.getValue();
1743        }
1744
1745        /**
1746         * @param value Documentation for FHIRPath expression.
1747         */
1748        public GraphDefinitionLinkCompartmentComponent setDescription(String value) { 
1749          if (Utilities.noString(value))
1750            this.description = null;
1751          else {
1752            if (this.description == null)
1753              this.description = new StringType();
1754            this.description.setValue(value);
1755          }
1756          return this;
1757        }
1758
1759        protected void listChildren(List<Property> children) {
1760          super.listChildren(children);
1761          children.add(new Property("use", "code", "Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.", 0, 1, use));
1762          children.add(new Property("rule", "code", "identical | matching | different | no-rule | custom.", 0, 1, rule));
1763          children.add(new Property("code", "code", "Identifies the compartment.", 0, 1, code));
1764          children.add(new Property("expression", "string", "Custom rule, as a FHIRPath expression.", 0, 1, expression));
1765          children.add(new Property("description", "string", "Documentation for FHIRPath expression.", 0, 1, description));
1766        }
1767
1768        @Override
1769        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
1770          switch (_hash) {
1771          case 116103: /*use*/  return new Property("use", "code", "Defines how the compartment rule is used - whether it it is used to test whether resources are subject to the rule, or whether it is a rule that must be followed.", 0, 1, use);
1772          case 3512060: /*rule*/  return new Property("rule", "code", "identical | matching | different | no-rule | custom.", 0, 1, rule);
1773          case 3059181: /*code*/  return new Property("code", "code", "Identifies the compartment.", 0, 1, code);
1774          case -1795452264: /*expression*/  return new Property("expression", "string", "Custom rule, as a FHIRPath expression.", 0, 1, expression);
1775          case -1724546052: /*description*/  return new Property("description", "string", "Documentation for FHIRPath expression.", 0, 1, description);
1776          default: return super.getNamedProperty(_hash, _name, _checkValid);
1777          }
1778
1779        }
1780
1781      @Override
1782      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
1783        switch (hash) {
1784        case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Enumeration<GraphCompartmentUse>
1785        case 3512060: /*rule*/ return this.rule == null ? new Base[0] : new Base[] {this.rule}; // Enumeration<GraphCompartmentRule>
1786        case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<CompartmentType>
1787        case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType
1788        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType
1789        default: return super.getProperty(hash, name, checkValid);
1790        }
1791
1792      }
1793
1794      @Override
1795      public Base setProperty(int hash, String name, Base value) throws FHIRException {
1796        switch (hash) {
1797        case 116103: // use
1798          value = new GraphCompartmentUseEnumFactory().fromType(TypeConvertor.castToCode(value));
1799          this.use = (Enumeration) value; // Enumeration<GraphCompartmentUse>
1800          return value;
1801        case 3512060: // rule
1802          value = new GraphCompartmentRuleEnumFactory().fromType(TypeConvertor.castToCode(value));
1803          this.rule = (Enumeration) value; // Enumeration<GraphCompartmentRule>
1804          return value;
1805        case 3059181: // code
1806          value = new CompartmentTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
1807          this.code = (Enumeration) value; // Enumeration<CompartmentType>
1808          return value;
1809        case -1795452264: // expression
1810          this.expression = TypeConvertor.castToString(value); // StringType
1811          return value;
1812        case -1724546052: // description
1813          this.description = TypeConvertor.castToString(value); // StringType
1814          return value;
1815        default: return super.setProperty(hash, name, value);
1816        }
1817
1818      }
1819
1820      @Override
1821      public Base setProperty(String name, Base value) throws FHIRException {
1822        if (name.equals("use")) {
1823          value = new GraphCompartmentUseEnumFactory().fromType(TypeConvertor.castToCode(value));
1824          this.use = (Enumeration) value; // Enumeration<GraphCompartmentUse>
1825        } else if (name.equals("rule")) {
1826          value = new GraphCompartmentRuleEnumFactory().fromType(TypeConvertor.castToCode(value));
1827          this.rule = (Enumeration) value; // Enumeration<GraphCompartmentRule>
1828        } else if (name.equals("code")) {
1829          value = new CompartmentTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
1830          this.code = (Enumeration) value; // Enumeration<CompartmentType>
1831        } else if (name.equals("expression")) {
1832          this.expression = TypeConvertor.castToString(value); // StringType
1833        } else if (name.equals("description")) {
1834          this.description = TypeConvertor.castToString(value); // StringType
1835        } else
1836          return super.setProperty(name, value);
1837        return value;
1838      }
1839
1840  @Override
1841  public void removeChild(String name, Base value) throws FHIRException {
1842        if (name.equals("use")) {
1843          value = new GraphCompartmentUseEnumFactory().fromType(TypeConvertor.castToCode(value));
1844          this.use = (Enumeration) value; // Enumeration<GraphCompartmentUse>
1845        } else if (name.equals("rule")) {
1846          value = new GraphCompartmentRuleEnumFactory().fromType(TypeConvertor.castToCode(value));
1847          this.rule = (Enumeration) value; // Enumeration<GraphCompartmentRule>
1848        } else if (name.equals("code")) {
1849          value = new CompartmentTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
1850          this.code = (Enumeration) value; // Enumeration<CompartmentType>
1851        } else if (name.equals("expression")) {
1852          this.expression = null;
1853        } else if (name.equals("description")) {
1854          this.description = null;
1855        } else
1856          super.removeChild(name, value);
1857        
1858      }
1859
1860      @Override
1861      public Base makeProperty(int hash, String name) throws FHIRException {
1862        switch (hash) {
1863        case 116103:  return getUseElement();
1864        case 3512060:  return getRuleElement();
1865        case 3059181:  return getCodeElement();
1866        case -1795452264:  return getExpressionElement();
1867        case -1724546052:  return getDescriptionElement();
1868        default: return super.makeProperty(hash, name);
1869        }
1870
1871      }
1872
1873      @Override
1874      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
1875        switch (hash) {
1876        case 116103: /*use*/ return new String[] {"code"};
1877        case 3512060: /*rule*/ return new String[] {"code"};
1878        case 3059181: /*code*/ return new String[] {"code"};
1879        case -1795452264: /*expression*/ return new String[] {"string"};
1880        case -1724546052: /*description*/ return new String[] {"string"};
1881        default: return super.getTypesForProperty(hash, name);
1882        }
1883
1884      }
1885
1886      @Override
1887      public Base addChild(String name) throws FHIRException {
1888        if (name.equals("use")) {
1889          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.compartment.use");
1890        }
1891        else if (name.equals("rule")) {
1892          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.compartment.rule");
1893        }
1894        else if (name.equals("code")) {
1895          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.compartment.code");
1896        }
1897        else if (name.equals("expression")) {
1898          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.compartment.expression");
1899        }
1900        else if (name.equals("description")) {
1901          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.link.compartment.description");
1902        }
1903        else
1904          return super.addChild(name);
1905      }
1906
1907      public GraphDefinitionLinkCompartmentComponent copy() {
1908        GraphDefinitionLinkCompartmentComponent dst = new GraphDefinitionLinkCompartmentComponent();
1909        copyValues(dst);
1910        return dst;
1911      }
1912
1913      public void copyValues(GraphDefinitionLinkCompartmentComponent dst) {
1914        super.copyValues(dst);
1915        dst.use = use == null ? null : use.copy();
1916        dst.rule = rule == null ? null : rule.copy();
1917        dst.code = code == null ? null : code.copy();
1918        dst.expression = expression == null ? null : expression.copy();
1919        dst.description = description == null ? null : description.copy();
1920      }
1921
1922      @Override
1923      public boolean equalsDeep(Base other_) {
1924        if (!super.equalsDeep(other_))
1925          return false;
1926        if (!(other_ instanceof GraphDefinitionLinkCompartmentComponent))
1927          return false;
1928        GraphDefinitionLinkCompartmentComponent o = (GraphDefinitionLinkCompartmentComponent) other_;
1929        return compareDeep(use, o.use, true) && compareDeep(rule, o.rule, true) && compareDeep(code, o.code, true)
1930           && compareDeep(expression, o.expression, true) && compareDeep(description, o.description, true)
1931          ;
1932      }
1933
1934      @Override
1935      public boolean equalsShallow(Base other_) {
1936        if (!super.equalsShallow(other_))
1937          return false;
1938        if (!(other_ instanceof GraphDefinitionLinkCompartmentComponent))
1939          return false;
1940        GraphDefinitionLinkCompartmentComponent o = (GraphDefinitionLinkCompartmentComponent) other_;
1941        return compareValues(use, o.use, true) && compareValues(rule, o.rule, true) && compareValues(code, o.code, true)
1942           && compareValues(expression, o.expression, true) && compareValues(description, o.description, true)
1943          ;
1944      }
1945
1946      public boolean isEmpty() {
1947        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(use, rule, code, expression
1948          , description);
1949      }
1950
1951  public String fhirType() {
1952    return "GraphDefinition.link.compartment";
1953
1954  }
1955
1956  }
1957
1958    /**
1959     * An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.
1960     */
1961    @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true)
1962    @Description(shortDefinition="Canonical identifier for this graph definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers." )
1963    protected UriType url;
1964
1965    /**
1966     * A formal identifier that is used to identify this GraphDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance.
1967     */
1968    @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1969    @Description(shortDefinition="Additional identifier for the GraphDefinition (business identifier)", formalDefinition="A formal identifier that is used to identify this GraphDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance." )
1970    protected List<Identifier> identifier;
1971
1972    /**
1973     * The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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.
1974     */
1975    @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true)
1976    @Description(shortDefinition="Business version of the graph definition", formalDefinition="The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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." )
1977    protected StringType version;
1978
1979    /**
1980     * Indicates the mechanism used to compare versions to determine which is more current.
1981     */
1982    @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true)
1983    @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
1984    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
1985    protected DataType versionAlgorithm;
1986
1987    /**
1988     * A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
1989     */
1990    @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true)
1991    @Description(shortDefinition="Name for this graph definition (computer friendly)", formalDefinition="A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." )
1992    protected StringType name;
1993
1994    /**
1995     * A short, descriptive, user-friendly title for the capability statement.
1996     */
1997    @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true)
1998    @Description(shortDefinition="Name for this graph definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement." )
1999    protected StringType title;
2000
2001    /**
2002     * The status of this graph definition. Enables tracking the life-cycle of the content.
2003     */
2004    @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true)
2005    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this graph definition. Enables tracking the life-cycle of the content." )
2006    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
2007    protected Enumeration<PublicationStatus> status;
2008
2009    /**
2010     * A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
2011     */
2012    @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true)
2013    @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." )
2014    protected BooleanType experimental;
2015
2016    /**
2017     * The date  (and optionally time) when the graph definition 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 graph definition changes.
2018     */
2019    @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true)
2020    @Description(shortDefinition="Date last changed", formalDefinition="The date  (and optionally time) when the graph definition 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 graph definition changes." )
2021    protected DateTimeType date;
2022
2023    /**
2024     * The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
2025     */
2026    @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true)
2027    @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 graph definition." )
2028    protected StringType publisher;
2029
2030    /**
2031     * Contact details to assist a user in finding and communicating with the publisher.
2032     */
2033    @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2034    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
2035    protected List<ContactDetail> contact;
2036
2037    /**
2038     * A free text natural language description of the graph definition from a consumer's perspective.
2039     */
2040    @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false)
2041    @Description(shortDefinition="Natural language description of the graph definition", formalDefinition="A free text natural language description of the graph definition from a consumer's perspective." )
2042    protected MarkdownType description;
2043
2044    /**
2045     * 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 graph definition instances.
2046     */
2047    @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2048    @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 graph definition instances." )
2049    protected List<UsageContext> useContext;
2050
2051    /**
2052     * A legal or geographic region in which the graph definition is intended to be used.
2053     */
2054    @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
2055    @Description(shortDefinition="Intended jurisdiction for graph definition (if applicable)", formalDefinition="A legal or geographic region in which the graph definition is intended to be used." )
2056    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
2057    protected List<CodeableConcept> jurisdiction;
2058
2059    /**
2060     * Explanation of why this graph definition is needed and why it has been designed as it has.
2061     */
2062    @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false)
2063    @Description(shortDefinition="Why this graph definition is defined", formalDefinition="Explanation of why this graph definition is needed and why it has been designed as it has." )
2064    protected MarkdownType purpose;
2065
2066    /**
2067     * A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.
2068     */
2069    @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false)
2070    @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition." )
2071    protected MarkdownType copyright;
2072
2073    /**
2074     * 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').
2075     */
2076    @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false)
2077    @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." )
2078    protected StringType copyrightLabel;
2079
2080    /**
2081     * The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.
2082     */
2083    @Child(name = "start", type = {IdType.class}, order=17, min=0, max=1, modifier=false, summary=false)
2084    @Description(shortDefinition="Starting Node", formalDefinition="The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes." )
2085    protected IdType start;
2086
2087    /**
2088     * Potential target for the link.
2089     */
2090    @Child(name = "node", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2091    @Description(shortDefinition="Potential target for the link", formalDefinition="Potential target for the link." )
2092    protected List<GraphDefinitionNodeComponent> node;
2093
2094    /**
2095     * Links this graph makes rules about.
2096     */
2097    @Child(name = "link", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2098    @Description(shortDefinition="Links this graph makes rules about", formalDefinition="Links this graph makes rules about." )
2099    protected List<GraphDefinitionLinkComponent> link;
2100
2101    private static final long serialVersionUID = 6161243L;
2102
2103  /**
2104   * Constructor
2105   */
2106    public GraphDefinition() {
2107      super();
2108    }
2109
2110  /**
2111   * Constructor
2112   */
2113    public GraphDefinition(String name, PublicationStatus status) {
2114      super();
2115      this.setName(name);
2116      this.setStatus(status);
2117    }
2118
2119    /**
2120     * @return {@link #url} (An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
2121     */
2122    public UriType getUrlElement() { 
2123      if (this.url == null)
2124        if (Configuration.errorOnAutoCreate())
2125          throw new Error("Attempt to auto-create GraphDefinition.url");
2126        else if (Configuration.doAutoCreate())
2127          this.url = new UriType(); // bb
2128      return this.url;
2129    }
2130
2131    public boolean hasUrlElement() { 
2132      return this.url != null && !this.url.isEmpty();
2133    }
2134
2135    public boolean hasUrl() { 
2136      return this.url != null && !this.url.isEmpty();
2137    }
2138
2139    /**
2140     * @param value {@link #url} (An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
2141     */
2142    public GraphDefinition setUrlElement(UriType value) { 
2143      this.url = value;
2144      return this;
2145    }
2146
2147    /**
2148     * @return An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.
2149     */
2150    public String getUrl() { 
2151      return this.url == null ? null : this.url.getValue();
2152    }
2153
2154    /**
2155     * @param value An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.
2156     */
2157    public GraphDefinition setUrl(String value) { 
2158      if (Utilities.noString(value))
2159        this.url = null;
2160      else {
2161        if (this.url == null)
2162          this.url = new UriType();
2163        this.url.setValue(value);
2164      }
2165      return this;
2166    }
2167
2168    /**
2169     * @return {@link #identifier} (A formal identifier that is used to identify this GraphDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance.)
2170     */
2171    public List<Identifier> getIdentifier() { 
2172      if (this.identifier == null)
2173        this.identifier = new ArrayList<Identifier>();
2174      return this.identifier;
2175    }
2176
2177    /**
2178     * @return Returns a reference to <code>this</code> for easy method chaining
2179     */
2180    public GraphDefinition setIdentifier(List<Identifier> theIdentifier) { 
2181      this.identifier = theIdentifier;
2182      return this;
2183    }
2184
2185    public boolean hasIdentifier() { 
2186      if (this.identifier == null)
2187        return false;
2188      for (Identifier item : this.identifier)
2189        if (!item.isEmpty())
2190          return true;
2191      return false;
2192    }
2193
2194    public Identifier addIdentifier() { //3
2195      Identifier t = new Identifier();
2196      if (this.identifier == null)
2197        this.identifier = new ArrayList<Identifier>();
2198      this.identifier.add(t);
2199      return t;
2200    }
2201
2202    public GraphDefinition addIdentifier(Identifier t) { //3
2203      if (t == null)
2204        return this;
2205      if (this.identifier == null)
2206        this.identifier = new ArrayList<Identifier>();
2207      this.identifier.add(t);
2208      return this;
2209    }
2210
2211    /**
2212     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3}
2213     */
2214    public Identifier getIdentifierFirstRep() { 
2215      if (getIdentifier().isEmpty()) {
2216        addIdentifier();
2217      }
2218      return getIdentifier().get(0);
2219    }
2220
2221    /**
2222     * @return {@link #version} (The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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
2223     */
2224    public StringType getVersionElement() { 
2225      if (this.version == null)
2226        if (Configuration.errorOnAutoCreate())
2227          throw new Error("Attempt to auto-create GraphDefinition.version");
2228        else if (Configuration.doAutoCreate())
2229          this.version = new StringType(); // bb
2230      return this.version;
2231    }
2232
2233    public boolean hasVersionElement() { 
2234      return this.version != null && !this.version.isEmpty();
2235    }
2236
2237    public boolean hasVersion() { 
2238      return this.version != null && !this.version.isEmpty();
2239    }
2240
2241    /**
2242     * @param value {@link #version} (The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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
2243     */
2244    public GraphDefinition setVersionElement(StringType value) { 
2245      this.version = value;
2246      return this;
2247    }
2248
2249    /**
2250     * @return The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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.
2251     */
2252    public String getVersion() { 
2253      return this.version == null ? null : this.version.getValue();
2254    }
2255
2256    /**
2257     * @param value The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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.
2258     */
2259    public GraphDefinition setVersion(String value) { 
2260      if (Utilities.noString(value))
2261        this.version = null;
2262      else {
2263        if (this.version == null)
2264          this.version = new StringType();
2265        this.version.setValue(value);
2266      }
2267      return this;
2268    }
2269
2270    /**
2271     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2272     */
2273    public DataType getVersionAlgorithm() { 
2274      return this.versionAlgorithm;
2275    }
2276
2277    /**
2278     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2279     */
2280    public StringType getVersionAlgorithmStringType() throws FHIRException { 
2281      if (this.versionAlgorithm == null)
2282        this.versionAlgorithm = new StringType();
2283      if (!(this.versionAlgorithm instanceof StringType))
2284        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
2285      return (StringType) this.versionAlgorithm;
2286    }
2287
2288    public boolean hasVersionAlgorithmStringType() { 
2289      return this != null && this.versionAlgorithm instanceof StringType;
2290    }
2291
2292    /**
2293     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2294     */
2295    public Coding getVersionAlgorithmCoding() throws FHIRException { 
2296      if (this.versionAlgorithm == null)
2297        this.versionAlgorithm = new Coding();
2298      if (!(this.versionAlgorithm instanceof Coding))
2299        throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
2300      return (Coding) this.versionAlgorithm;
2301    }
2302
2303    public boolean hasVersionAlgorithmCoding() { 
2304      return this != null && this.versionAlgorithm instanceof Coding;
2305    }
2306
2307    public boolean hasVersionAlgorithm() { 
2308      return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
2309    }
2310
2311    /**
2312     * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2313     */
2314    public GraphDefinition setVersionAlgorithm(DataType value) { 
2315      if (value != null && !(value instanceof StringType || value instanceof Coding))
2316        throw new FHIRException("Not the right type for GraphDefinition.versionAlgorithm[x]: "+value.fhirType());
2317      this.versionAlgorithm = value;
2318      return this;
2319    }
2320
2321    /**
2322     * @return {@link #name} (A natural language name identifying the graph definition. 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
2323     */
2324    public StringType getNameElement() { 
2325      if (this.name == null)
2326        if (Configuration.errorOnAutoCreate())
2327          throw new Error("Attempt to auto-create GraphDefinition.name");
2328        else if (Configuration.doAutoCreate())
2329          this.name = new StringType(); // bb
2330      return this.name;
2331    }
2332
2333    public boolean hasNameElement() { 
2334      return this.name != null && !this.name.isEmpty();
2335    }
2336
2337    public boolean hasName() { 
2338      return this.name != null && !this.name.isEmpty();
2339    }
2340
2341    /**
2342     * @param value {@link #name} (A natural language name identifying the graph definition. 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
2343     */
2344    public GraphDefinition setNameElement(StringType value) { 
2345      this.name = value;
2346      return this;
2347    }
2348
2349    /**
2350     * @return A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
2351     */
2352    public String getName() { 
2353      return this.name == null ? null : this.name.getValue();
2354    }
2355
2356    /**
2357     * @param value A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.
2358     */
2359    public GraphDefinition setName(String value) { 
2360        if (this.name == null)
2361          this.name = new StringType();
2362        this.name.setValue(value);
2363      return this;
2364    }
2365
2366    /**
2367     * @return {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
2368     */
2369    public StringType getTitleElement() { 
2370      if (this.title == null)
2371        if (Configuration.errorOnAutoCreate())
2372          throw new Error("Attempt to auto-create GraphDefinition.title");
2373        else if (Configuration.doAutoCreate())
2374          this.title = new StringType(); // bb
2375      return this.title;
2376    }
2377
2378    public boolean hasTitleElement() { 
2379      return this.title != null && !this.title.isEmpty();
2380    }
2381
2382    public boolean hasTitle() { 
2383      return this.title != null && !this.title.isEmpty();
2384    }
2385
2386    /**
2387     * @param value {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
2388     */
2389    public GraphDefinition setTitleElement(StringType value) { 
2390      this.title = value;
2391      return this;
2392    }
2393
2394    /**
2395     * @return A short, descriptive, user-friendly title for the capability statement.
2396     */
2397    public String getTitle() { 
2398      return this.title == null ? null : this.title.getValue();
2399    }
2400
2401    /**
2402     * @param value A short, descriptive, user-friendly title for the capability statement.
2403     */
2404    public GraphDefinition setTitle(String value) { 
2405      if (Utilities.noString(value))
2406        this.title = null;
2407      else {
2408        if (this.title == null)
2409          this.title = new StringType();
2410        this.title.setValue(value);
2411      }
2412      return this;
2413    }
2414
2415    /**
2416     * @return {@link #status} (The status of this graph definition. 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
2417     */
2418    public Enumeration<PublicationStatus> getStatusElement() { 
2419      if (this.status == null)
2420        if (Configuration.errorOnAutoCreate())
2421          throw new Error("Attempt to auto-create GraphDefinition.status");
2422        else if (Configuration.doAutoCreate())
2423          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
2424      return this.status;
2425    }
2426
2427    public boolean hasStatusElement() { 
2428      return this.status != null && !this.status.isEmpty();
2429    }
2430
2431    public boolean hasStatus() { 
2432      return this.status != null && !this.status.isEmpty();
2433    }
2434
2435    /**
2436     * @param value {@link #status} (The status of this graph definition. 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
2437     */
2438    public GraphDefinition setStatusElement(Enumeration<PublicationStatus> value) { 
2439      this.status = value;
2440      return this;
2441    }
2442
2443    /**
2444     * @return The status of this graph definition. Enables tracking the life-cycle of the content.
2445     */
2446    public PublicationStatus getStatus() { 
2447      return this.status == null ? null : this.status.getValue();
2448    }
2449
2450    /**
2451     * @param value The status of this graph definition. Enables tracking the life-cycle of the content.
2452     */
2453    public GraphDefinition setStatus(PublicationStatus value) { 
2454        if (this.status == null)
2455          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
2456        this.status.setValue(value);
2457      return this;
2458    }
2459
2460    /**
2461     * @return {@link #experimental} (A Boolean value to indicate that this graph definition 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
2462     */
2463    public BooleanType getExperimentalElement() { 
2464      if (this.experimental == null)
2465        if (Configuration.errorOnAutoCreate())
2466          throw new Error("Attempt to auto-create GraphDefinition.experimental");
2467        else if (Configuration.doAutoCreate())
2468          this.experimental = new BooleanType(); // bb
2469      return this.experimental;
2470    }
2471
2472    public boolean hasExperimentalElement() { 
2473      return this.experimental != null && !this.experimental.isEmpty();
2474    }
2475
2476    public boolean hasExperimental() { 
2477      return this.experimental != null && !this.experimental.isEmpty();
2478    }
2479
2480    /**
2481     * @param value {@link #experimental} (A Boolean value to indicate that this graph definition 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
2482     */
2483    public GraphDefinition setExperimentalElement(BooleanType value) { 
2484      this.experimental = value;
2485      return this;
2486    }
2487
2488    /**
2489     * @return A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
2490     */
2491    public boolean getExperimental() { 
2492      return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
2493    }
2494
2495    /**
2496     * @param value A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
2497     */
2498    public GraphDefinition setExperimental(boolean value) { 
2499        if (this.experimental == null)
2500          this.experimental = new BooleanType();
2501        this.experimental.setValue(value);
2502      return this;
2503    }
2504
2505    /**
2506     * @return {@link #date} (The date  (and optionally time) when the graph definition 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 graph definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
2507     */
2508    public DateTimeType getDateElement() { 
2509      if (this.date == null)
2510        if (Configuration.errorOnAutoCreate())
2511          throw new Error("Attempt to auto-create GraphDefinition.date");
2512        else if (Configuration.doAutoCreate())
2513          this.date = new DateTimeType(); // bb
2514      return this.date;
2515    }
2516
2517    public boolean hasDateElement() { 
2518      return this.date != null && !this.date.isEmpty();
2519    }
2520
2521    public boolean hasDate() { 
2522      return this.date != null && !this.date.isEmpty();
2523    }
2524
2525    /**
2526     * @param value {@link #date} (The date  (and optionally time) when the graph definition 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 graph definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
2527     */
2528    public GraphDefinition setDateElement(DateTimeType value) { 
2529      this.date = value;
2530      return this;
2531    }
2532
2533    /**
2534     * @return The date  (and optionally time) when the graph definition 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 graph definition changes.
2535     */
2536    public Date getDate() { 
2537      return this.date == null ? null : this.date.getValue();
2538    }
2539
2540    /**
2541     * @param value The date  (and optionally time) when the graph definition 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 graph definition changes.
2542     */
2543    public GraphDefinition setDate(Date value) { 
2544      if (value == null)
2545        this.date = null;
2546      else {
2547        if (this.date == null)
2548          this.date = new DateTimeType();
2549        this.date.setValue(value);
2550      }
2551      return this;
2552    }
2553
2554    /**
2555     * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
2556     */
2557    public StringType getPublisherElement() { 
2558      if (this.publisher == null)
2559        if (Configuration.errorOnAutoCreate())
2560          throw new Error("Attempt to auto-create GraphDefinition.publisher");
2561        else if (Configuration.doAutoCreate())
2562          this.publisher = new StringType(); // bb
2563      return this.publisher;
2564    }
2565
2566    public boolean hasPublisherElement() { 
2567      return this.publisher != null && !this.publisher.isEmpty();
2568    }
2569
2570    public boolean hasPublisher() { 
2571      return this.publisher != null && !this.publisher.isEmpty();
2572    }
2573
2574    /**
2575     * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
2576     */
2577    public GraphDefinition setPublisherElement(StringType value) { 
2578      this.publisher = value;
2579      return this;
2580    }
2581
2582    /**
2583     * @return The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
2584     */
2585    public String getPublisher() { 
2586      return this.publisher == null ? null : this.publisher.getValue();
2587    }
2588
2589    /**
2590     * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
2591     */
2592    public GraphDefinition setPublisher(String value) { 
2593      if (Utilities.noString(value))
2594        this.publisher = null;
2595      else {
2596        if (this.publisher == null)
2597          this.publisher = new StringType();
2598        this.publisher.setValue(value);
2599      }
2600      return this;
2601    }
2602
2603    /**
2604     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
2605     */
2606    public List<ContactDetail> getContact() { 
2607      if (this.contact == null)
2608        this.contact = new ArrayList<ContactDetail>();
2609      return this.contact;
2610    }
2611
2612    /**
2613     * @return Returns a reference to <code>this</code> for easy method chaining
2614     */
2615    public GraphDefinition setContact(List<ContactDetail> theContact) { 
2616      this.contact = theContact;
2617      return this;
2618    }
2619
2620    public boolean hasContact() { 
2621      if (this.contact == null)
2622        return false;
2623      for (ContactDetail item : this.contact)
2624        if (!item.isEmpty())
2625          return true;
2626      return false;
2627    }
2628
2629    public ContactDetail addContact() { //3
2630      ContactDetail t = new ContactDetail();
2631      if (this.contact == null)
2632        this.contact = new ArrayList<ContactDetail>();
2633      this.contact.add(t);
2634      return t;
2635    }
2636
2637    public GraphDefinition addContact(ContactDetail t) { //3
2638      if (t == null)
2639        return this;
2640      if (this.contact == null)
2641        this.contact = new ArrayList<ContactDetail>();
2642      this.contact.add(t);
2643      return this;
2644    }
2645
2646    /**
2647     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
2648     */
2649    public ContactDetail getContactFirstRep() { 
2650      if (getContact().isEmpty()) {
2651        addContact();
2652      }
2653      return getContact().get(0);
2654    }
2655
2656    /**
2657     * @return {@link #description} (A free text natural language description of the graph definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
2658     */
2659    public MarkdownType getDescriptionElement() { 
2660      if (this.description == null)
2661        if (Configuration.errorOnAutoCreate())
2662          throw new Error("Attempt to auto-create GraphDefinition.description");
2663        else if (Configuration.doAutoCreate())
2664          this.description = new MarkdownType(); // bb
2665      return this.description;
2666    }
2667
2668    public boolean hasDescriptionElement() { 
2669      return this.description != null && !this.description.isEmpty();
2670    }
2671
2672    public boolean hasDescription() { 
2673      return this.description != null && !this.description.isEmpty();
2674    }
2675
2676    /**
2677     * @param value {@link #description} (A free text natural language description of the graph definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
2678     */
2679    public GraphDefinition setDescriptionElement(MarkdownType value) { 
2680      this.description = value;
2681      return this;
2682    }
2683
2684    /**
2685     * @return A free text natural language description of the graph definition from a consumer's perspective.
2686     */
2687    public String getDescription() { 
2688      return this.description == null ? null : this.description.getValue();
2689    }
2690
2691    /**
2692     * @param value A free text natural language description of the graph definition from a consumer's perspective.
2693     */
2694    public GraphDefinition setDescription(String value) { 
2695      if (Utilities.noString(value))
2696        this.description = null;
2697      else {
2698        if (this.description == null)
2699          this.description = new MarkdownType();
2700        this.description.setValue(value);
2701      }
2702      return this;
2703    }
2704
2705    /**
2706     * @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 graph definition instances.)
2707     */
2708    public List<UsageContext> getUseContext() { 
2709      if (this.useContext == null)
2710        this.useContext = new ArrayList<UsageContext>();
2711      return this.useContext;
2712    }
2713
2714    /**
2715     * @return Returns a reference to <code>this</code> for easy method chaining
2716     */
2717    public GraphDefinition setUseContext(List<UsageContext> theUseContext) { 
2718      this.useContext = theUseContext;
2719      return this;
2720    }
2721
2722    public boolean hasUseContext() { 
2723      if (this.useContext == null)
2724        return false;
2725      for (UsageContext item : this.useContext)
2726        if (!item.isEmpty())
2727          return true;
2728      return false;
2729    }
2730
2731    public UsageContext addUseContext() { //3
2732      UsageContext t = new UsageContext();
2733      if (this.useContext == null)
2734        this.useContext = new ArrayList<UsageContext>();
2735      this.useContext.add(t);
2736      return t;
2737    }
2738
2739    public GraphDefinition addUseContext(UsageContext t) { //3
2740      if (t == null)
2741        return this;
2742      if (this.useContext == null)
2743        this.useContext = new ArrayList<UsageContext>();
2744      this.useContext.add(t);
2745      return this;
2746    }
2747
2748    /**
2749     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
2750     */
2751    public UsageContext getUseContextFirstRep() { 
2752      if (getUseContext().isEmpty()) {
2753        addUseContext();
2754      }
2755      return getUseContext().get(0);
2756    }
2757
2758    /**
2759     * @return {@link #jurisdiction} (A legal or geographic region in which the graph definition is intended to be used.)
2760     */
2761    public List<CodeableConcept> getJurisdiction() { 
2762      if (this.jurisdiction == null)
2763        this.jurisdiction = new ArrayList<CodeableConcept>();
2764      return this.jurisdiction;
2765    }
2766
2767    /**
2768     * @return Returns a reference to <code>this</code> for easy method chaining
2769     */
2770    public GraphDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 
2771      this.jurisdiction = theJurisdiction;
2772      return this;
2773    }
2774
2775    public boolean hasJurisdiction() { 
2776      if (this.jurisdiction == null)
2777        return false;
2778      for (CodeableConcept item : this.jurisdiction)
2779        if (!item.isEmpty())
2780          return true;
2781      return false;
2782    }
2783
2784    public CodeableConcept addJurisdiction() { //3
2785      CodeableConcept t = new CodeableConcept();
2786      if (this.jurisdiction == null)
2787        this.jurisdiction = new ArrayList<CodeableConcept>();
2788      this.jurisdiction.add(t);
2789      return t;
2790    }
2791
2792    public GraphDefinition addJurisdiction(CodeableConcept t) { //3
2793      if (t == null)
2794        return this;
2795      if (this.jurisdiction == null)
2796        this.jurisdiction = new ArrayList<CodeableConcept>();
2797      this.jurisdiction.add(t);
2798      return this;
2799    }
2800
2801    /**
2802     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
2803     */
2804    public CodeableConcept getJurisdictionFirstRep() { 
2805      if (getJurisdiction().isEmpty()) {
2806        addJurisdiction();
2807      }
2808      return getJurisdiction().get(0);
2809    }
2810
2811    /**
2812     * @return {@link #purpose} (Explanation of why this graph definition 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
2813     */
2814    public MarkdownType getPurposeElement() { 
2815      if (this.purpose == null)
2816        if (Configuration.errorOnAutoCreate())
2817          throw new Error("Attempt to auto-create GraphDefinition.purpose");
2818        else if (Configuration.doAutoCreate())
2819          this.purpose = new MarkdownType(); // bb
2820      return this.purpose;
2821    }
2822
2823    public boolean hasPurposeElement() { 
2824      return this.purpose != null && !this.purpose.isEmpty();
2825    }
2826
2827    public boolean hasPurpose() { 
2828      return this.purpose != null && !this.purpose.isEmpty();
2829    }
2830
2831    /**
2832     * @param value {@link #purpose} (Explanation of why this graph definition 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
2833     */
2834    public GraphDefinition setPurposeElement(MarkdownType value) { 
2835      this.purpose = value;
2836      return this;
2837    }
2838
2839    /**
2840     * @return Explanation of why this graph definition is needed and why it has been designed as it has.
2841     */
2842    public String getPurpose() { 
2843      return this.purpose == null ? null : this.purpose.getValue();
2844    }
2845
2846    /**
2847     * @param value Explanation of why this graph definition is needed and why it has been designed as it has.
2848     */
2849    public GraphDefinition setPurpose(String value) { 
2850      if (Utilities.noString(value))
2851        this.purpose = null;
2852      else {
2853        if (this.purpose == null)
2854          this.purpose = new MarkdownType();
2855        this.purpose.setValue(value);
2856      }
2857      return this;
2858    }
2859
2860    /**
2861     * @return {@link #copyright} (A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
2862     */
2863    public MarkdownType getCopyrightElement() { 
2864      if (this.copyright == null)
2865        if (Configuration.errorOnAutoCreate())
2866          throw new Error("Attempt to auto-create GraphDefinition.copyright");
2867        else if (Configuration.doAutoCreate())
2868          this.copyright = new MarkdownType(); // bb
2869      return this.copyright;
2870    }
2871
2872    public boolean hasCopyrightElement() { 
2873      return this.copyright != null && !this.copyright.isEmpty();
2874    }
2875
2876    public boolean hasCopyright() { 
2877      return this.copyright != null && !this.copyright.isEmpty();
2878    }
2879
2880    /**
2881     * @param value {@link #copyright} (A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
2882     */
2883    public GraphDefinition setCopyrightElement(MarkdownType value) { 
2884      this.copyright = value;
2885      return this;
2886    }
2887
2888    /**
2889     * @return A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.
2890     */
2891    public String getCopyright() { 
2892      return this.copyright == null ? null : this.copyright.getValue();
2893    }
2894
2895    /**
2896     * @param value A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.
2897     */
2898    public GraphDefinition setCopyright(String value) { 
2899      if (Utilities.noString(value))
2900        this.copyright = null;
2901      else {
2902        if (this.copyright == null)
2903          this.copyright = new MarkdownType();
2904        this.copyright.setValue(value);
2905      }
2906      return this;
2907    }
2908
2909    /**
2910     * @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
2911     */
2912    public StringType getCopyrightLabelElement() { 
2913      if (this.copyrightLabel == null)
2914        if (Configuration.errorOnAutoCreate())
2915          throw new Error("Attempt to auto-create GraphDefinition.copyrightLabel");
2916        else if (Configuration.doAutoCreate())
2917          this.copyrightLabel = new StringType(); // bb
2918      return this.copyrightLabel;
2919    }
2920
2921    public boolean hasCopyrightLabelElement() { 
2922      return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
2923    }
2924
2925    public boolean hasCopyrightLabel() { 
2926      return this.copyrightLabel != null && !this.copyrightLabel.isEmpty();
2927    }
2928
2929    /**
2930     * @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
2931     */
2932    public GraphDefinition setCopyrightLabelElement(StringType value) { 
2933      this.copyrightLabel = value;
2934      return this;
2935    }
2936
2937    /**
2938     * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').
2939     */
2940    public String getCopyrightLabel() { 
2941      return this.copyrightLabel == null ? null : this.copyrightLabel.getValue();
2942    }
2943
2944    /**
2945     * @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').
2946     */
2947    public GraphDefinition setCopyrightLabel(String value) { 
2948      if (Utilities.noString(value))
2949        this.copyrightLabel = null;
2950      else {
2951        if (this.copyrightLabel == null)
2952          this.copyrightLabel = new StringType();
2953        this.copyrightLabel.setValue(value);
2954      }
2955      return this;
2956    }
2957
2958    /**
2959     * @return {@link #start} (The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value
2960     */
2961    public IdType getStartElement() { 
2962      if (this.start == null)
2963        if (Configuration.errorOnAutoCreate())
2964          throw new Error("Attempt to auto-create GraphDefinition.start");
2965        else if (Configuration.doAutoCreate())
2966          this.start = new IdType(); // bb
2967      return this.start;
2968    }
2969
2970    public boolean hasStartElement() { 
2971      return this.start != null && !this.start.isEmpty();
2972    }
2973
2974    public boolean hasStart() { 
2975      return this.start != null && !this.start.isEmpty();
2976    }
2977
2978    /**
2979     * @param value {@link #start} (The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value
2980     */
2981    public GraphDefinition setStartElement(IdType value) { 
2982      this.start = value;
2983      return this;
2984    }
2985
2986    /**
2987     * @return The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.
2988     */
2989    public String getStart() { 
2990      return this.start == null ? null : this.start.getValue();
2991    }
2992
2993    /**
2994     * @param value The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.
2995     */
2996    public GraphDefinition setStart(String value) { 
2997      if (Utilities.noString(value))
2998        this.start = null;
2999      else {
3000        if (this.start == null)
3001          this.start = new IdType();
3002        this.start.setValue(value);
3003      }
3004      return this;
3005    }
3006
3007    /**
3008     * @return {@link #node} (Potential target for the link.)
3009     */
3010    public List<GraphDefinitionNodeComponent> getNode() { 
3011      if (this.node == null)
3012        this.node = new ArrayList<GraphDefinitionNodeComponent>();
3013      return this.node;
3014    }
3015
3016    /**
3017     * @return Returns a reference to <code>this</code> for easy method chaining
3018     */
3019    public GraphDefinition setNode(List<GraphDefinitionNodeComponent> theNode) { 
3020      this.node = theNode;
3021      return this;
3022    }
3023
3024    public boolean hasNode() { 
3025      if (this.node == null)
3026        return false;
3027      for (GraphDefinitionNodeComponent item : this.node)
3028        if (!item.isEmpty())
3029          return true;
3030      return false;
3031    }
3032
3033    public GraphDefinitionNodeComponent addNode() { //3
3034      GraphDefinitionNodeComponent t = new GraphDefinitionNodeComponent();
3035      if (this.node == null)
3036        this.node = new ArrayList<GraphDefinitionNodeComponent>();
3037      this.node.add(t);
3038      return t;
3039    }
3040
3041    public GraphDefinition addNode(GraphDefinitionNodeComponent t) { //3
3042      if (t == null)
3043        return this;
3044      if (this.node == null)
3045        this.node = new ArrayList<GraphDefinitionNodeComponent>();
3046      this.node.add(t);
3047      return this;
3048    }
3049
3050    /**
3051     * @return The first repetition of repeating field {@link #node}, creating it if it does not already exist {3}
3052     */
3053    public GraphDefinitionNodeComponent getNodeFirstRep() { 
3054      if (getNode().isEmpty()) {
3055        addNode();
3056      }
3057      return getNode().get(0);
3058    }
3059
3060    /**
3061     * @return {@link #link} (Links this graph makes rules about.)
3062     */
3063    public List<GraphDefinitionLinkComponent> getLink() { 
3064      if (this.link == null)
3065        this.link = new ArrayList<GraphDefinitionLinkComponent>();
3066      return this.link;
3067    }
3068
3069    /**
3070     * @return Returns a reference to <code>this</code> for easy method chaining
3071     */
3072    public GraphDefinition setLink(List<GraphDefinitionLinkComponent> theLink) { 
3073      this.link = theLink;
3074      return this;
3075    }
3076
3077    public boolean hasLink() { 
3078      if (this.link == null)
3079        return false;
3080      for (GraphDefinitionLinkComponent item : this.link)
3081        if (!item.isEmpty())
3082          return true;
3083      return false;
3084    }
3085
3086    public GraphDefinitionLinkComponent addLink() { //3
3087      GraphDefinitionLinkComponent t = new GraphDefinitionLinkComponent();
3088      if (this.link == null)
3089        this.link = new ArrayList<GraphDefinitionLinkComponent>();
3090      this.link.add(t);
3091      return t;
3092    }
3093
3094    public GraphDefinition addLink(GraphDefinitionLinkComponent t) { //3
3095      if (t == null)
3096        return this;
3097      if (this.link == null)
3098        this.link = new ArrayList<GraphDefinitionLinkComponent>();
3099      this.link.add(t);
3100      return this;
3101    }
3102
3103    /**
3104     * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3}
3105     */
3106    public GraphDefinitionLinkComponent getLinkFirstRep() { 
3107      if (getLink().isEmpty()) {
3108        addLink();
3109      }
3110      return getLink().get(0);
3111    }
3112
3113      protected void listChildren(List<Property> children) {
3114        super.listChildren(children);
3115        children.add(new Property("url", "uri", "An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url));
3116        children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this GraphDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier));
3117        children.add(new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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));
3118        children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
3119        children.add(new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name));
3120        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title));
3121        children.add(new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status));
3122        children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental));
3123        children.add(new Property("date", "dateTime", "The date  (and optionally time) when the graph definition 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 graph definition changes.", 0, 1, date));
3124        children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.", 0, 1, publisher));
3125        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));
3126        children.add(new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description));
3127        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 graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext));
3128        children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the graph definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction));
3129        children.add(new Property("purpose", "markdown", "Explanation of why this graph definition is needed and why it has been designed as it has.", 0, 1, purpose));
3130        children.add(new Property("copyright", "markdown", "A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.", 0, 1, copyright));
3131        children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel));
3132        children.add(new Property("start", "id", "The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.", 0, 1, start));
3133        children.add(new Property("node", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, node));
3134        children.add(new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link));
3135      }
3136
3137      @Override
3138      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
3139        switch (_hash) {
3140        case 116079: /*url*/  return new Property("url", "uri", "An absolute URI that is used to identify this graph definition 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 graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url);
3141        case -1618432855: /*identifier*/  return new Property("identifier", "Identifier", "A formal identifier that is used to identify this GraphDefinition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier);
3142        case 351608024: /*version*/  return new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition 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);
3143        case -115699031: /*versionAlgorithm[x]*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
3144        case 1508158071: /*versionAlgorithm*/  return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
3145        case 1836908904: /*versionAlgorithmString*/  return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
3146        case 1373807809: /*versionAlgorithmCoding*/  return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm);
3147        case 3373707: /*name*/  return new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name);
3148        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title);
3149        case -892481550: /*status*/  return new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status);
3150        case -404562712: /*experimental*/  return new Property("experimental", "boolean", "A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental);
3151        case 3076014: /*date*/  return new Property("date", "dateTime", "The date  (and optionally time) when the graph definition 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 graph definition changes.", 0, 1, date);
3152        case 1447404028: /*publisher*/  return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.", 0, 1, publisher);
3153        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);
3154        case -1724546052: /*description*/  return new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description);
3155        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 graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext);
3156        case -507075711: /*jurisdiction*/  return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the graph definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction);
3157        case -220463842: /*purpose*/  return new Property("purpose", "markdown", "Explanation of why this graph definition is needed and why it has been designed as it has.", 0, 1, purpose);
3158        case 1522889671: /*copyright*/  return new Property("copyright", "markdown", "A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.", 0, 1, copyright);
3159        case 765157229: /*copyrightLabel*/  return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel);
3160        case 109757538: /*start*/  return new Property("start", "id", "The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.", 0, 1, start);
3161        case 3386882: /*node*/  return new Property("node", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, node);
3162        case 3321850: /*link*/  return new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link);
3163        default: return super.getNamedProperty(_hash, _name, _checkValid);
3164        }
3165
3166      }
3167
3168      @Override
3169      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
3170        switch (hash) {
3171        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
3172        case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier
3173        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
3174        case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
3175        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
3176        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
3177        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
3178        case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
3179        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
3180        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
3181        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
3182        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
3183        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
3184        case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
3185        case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
3186        case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType
3187        case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType
3188        case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // IdType
3189        case 3386882: /*node*/ return this.node == null ? new Base[0] : this.node.toArray(new Base[this.node.size()]); // GraphDefinitionNodeComponent
3190        case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // GraphDefinitionLinkComponent
3191        default: return super.getProperty(hash, name, checkValid);
3192        }
3193
3194      }
3195
3196      @Override
3197      public Base setProperty(int hash, String name, Base value) throws FHIRException {
3198        switch (hash) {
3199        case 116079: // url
3200          this.url = TypeConvertor.castToUri(value); // UriType
3201          return value;
3202        case -1618432855: // identifier
3203          this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier
3204          return value;
3205        case 351608024: // version
3206          this.version = TypeConvertor.castToString(value); // StringType
3207          return value;
3208        case 1508158071: // versionAlgorithm
3209          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
3210          return value;
3211        case 3373707: // name
3212          this.name = TypeConvertor.castToString(value); // StringType
3213          return value;
3214        case 110371416: // title
3215          this.title = TypeConvertor.castToString(value); // StringType
3216          return value;
3217        case -892481550: // status
3218          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
3219          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
3220          return value;
3221        case -404562712: // experimental
3222          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
3223          return value;
3224        case 3076014: // date
3225          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
3226          return value;
3227        case 1447404028: // publisher
3228          this.publisher = TypeConvertor.castToString(value); // StringType
3229          return value;
3230        case 951526432: // contact
3231          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
3232          return value;
3233        case -1724546052: // description
3234          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
3235          return value;
3236        case -669707736: // useContext
3237          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
3238          return value;
3239        case -507075711: // jurisdiction
3240          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
3241          return value;
3242        case -220463842: // purpose
3243          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
3244          return value;
3245        case 1522889671: // copyright
3246          this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
3247          return value;
3248        case 765157229: // copyrightLabel
3249          this.copyrightLabel = TypeConvertor.castToString(value); // StringType
3250          return value;
3251        case 109757538: // start
3252          this.start = TypeConvertor.castToId(value); // IdType
3253          return value;
3254        case 3386882: // node
3255          this.getNode().add((GraphDefinitionNodeComponent) value); // GraphDefinitionNodeComponent
3256          return value;
3257        case 3321850: // link
3258          this.getLink().add((GraphDefinitionLinkComponent) value); // GraphDefinitionLinkComponent
3259          return value;
3260        default: return super.setProperty(hash, name, value);
3261        }
3262
3263      }
3264
3265      @Override
3266      public Base setProperty(String name, Base value) throws FHIRException {
3267        if (name.equals("url")) {
3268          this.url = TypeConvertor.castToUri(value); // UriType
3269        } else if (name.equals("identifier")) {
3270          this.getIdentifier().add(TypeConvertor.castToIdentifier(value));
3271        } else if (name.equals("version")) {
3272          this.version = TypeConvertor.castToString(value); // StringType
3273        } else if (name.equals("versionAlgorithm[x]")) {
3274          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
3275        } else if (name.equals("name")) {
3276          this.name = TypeConvertor.castToString(value); // StringType
3277        } else if (name.equals("title")) {
3278          this.title = TypeConvertor.castToString(value); // StringType
3279        } else if (name.equals("status")) {
3280          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
3281          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
3282        } else if (name.equals("experimental")) {
3283          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
3284        } else if (name.equals("date")) {
3285          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
3286        } else if (name.equals("publisher")) {
3287          this.publisher = TypeConvertor.castToString(value); // StringType
3288        } else if (name.equals("contact")) {
3289          this.getContact().add(TypeConvertor.castToContactDetail(value));
3290        } else if (name.equals("description")) {
3291          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
3292        } else if (name.equals("useContext")) {
3293          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
3294        } else if (name.equals("jurisdiction")) {
3295          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
3296        } else if (name.equals("purpose")) {
3297          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
3298        } else if (name.equals("copyright")) {
3299          this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType
3300        } else if (name.equals("copyrightLabel")) {
3301          this.copyrightLabel = TypeConvertor.castToString(value); // StringType
3302        } else if (name.equals("start")) {
3303          this.start = TypeConvertor.castToId(value); // IdType
3304        } else if (name.equals("node")) {
3305          this.getNode().add((GraphDefinitionNodeComponent) value);
3306        } else if (name.equals("link")) {
3307          this.getLink().add((GraphDefinitionLinkComponent) value);
3308        } else
3309          return super.setProperty(name, value);
3310        return value;
3311      }
3312
3313  @Override
3314  public void removeChild(String name, Base value) throws FHIRException {
3315        if (name.equals("url")) {
3316          this.url = null;
3317        } else if (name.equals("identifier")) {
3318          this.getIdentifier().remove(value);
3319        } else if (name.equals("version")) {
3320          this.version = null;
3321        } else if (name.equals("versionAlgorithm[x]")) {
3322          this.versionAlgorithm = null;
3323        } else if (name.equals("name")) {
3324          this.name = null;
3325        } else if (name.equals("title")) {
3326          this.title = null;
3327        } else if (name.equals("status")) {
3328          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
3329          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
3330        } else if (name.equals("experimental")) {
3331          this.experimental = null;
3332        } else if (name.equals("date")) {
3333          this.date = null;
3334        } else if (name.equals("publisher")) {
3335          this.publisher = null;
3336        } else if (name.equals("contact")) {
3337          this.getContact().remove(value);
3338        } else if (name.equals("description")) {
3339          this.description = null;
3340        } else if (name.equals("useContext")) {
3341          this.getUseContext().remove(value);
3342        } else if (name.equals("jurisdiction")) {
3343          this.getJurisdiction().remove(value);
3344        } else if (name.equals("purpose")) {
3345          this.purpose = null;
3346        } else if (name.equals("copyright")) {
3347          this.copyright = null;
3348        } else if (name.equals("copyrightLabel")) {
3349          this.copyrightLabel = null;
3350        } else if (name.equals("start")) {
3351          this.start = null;
3352        } else if (name.equals("node")) {
3353          this.getNode().remove((GraphDefinitionNodeComponent) value);
3354        } else if (name.equals("link")) {
3355          this.getLink().remove((GraphDefinitionLinkComponent) value);
3356        } else
3357          super.removeChild(name, value);
3358        
3359      }
3360
3361      @Override
3362      public Base makeProperty(int hash, String name) throws FHIRException {
3363        switch (hash) {
3364        case 116079:  return getUrlElement();
3365        case -1618432855:  return addIdentifier(); 
3366        case 351608024:  return getVersionElement();
3367        case -115699031:  return getVersionAlgorithm();
3368        case 1508158071:  return getVersionAlgorithm();
3369        case 3373707:  return getNameElement();
3370        case 110371416:  return getTitleElement();
3371        case -892481550:  return getStatusElement();
3372        case -404562712:  return getExperimentalElement();
3373        case 3076014:  return getDateElement();
3374        case 1447404028:  return getPublisherElement();
3375        case 951526432:  return addContact(); 
3376        case -1724546052:  return getDescriptionElement();
3377        case -669707736:  return addUseContext(); 
3378        case -507075711:  return addJurisdiction(); 
3379        case -220463842:  return getPurposeElement();
3380        case 1522889671:  return getCopyrightElement();
3381        case 765157229:  return getCopyrightLabelElement();
3382        case 109757538:  return getStartElement();
3383        case 3386882:  return addNode(); 
3384        case 3321850:  return addLink(); 
3385        default: return super.makeProperty(hash, name);
3386        }
3387
3388      }
3389
3390      @Override
3391      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
3392        switch (hash) {
3393        case 116079: /*url*/ return new String[] {"uri"};
3394        case -1618432855: /*identifier*/ return new String[] {"Identifier"};
3395        case 351608024: /*version*/ return new String[] {"string"};
3396        case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
3397        case 3373707: /*name*/ return new String[] {"string"};
3398        case 110371416: /*title*/ return new String[] {"string"};
3399        case -892481550: /*status*/ return new String[] {"code"};
3400        case -404562712: /*experimental*/ return new String[] {"boolean"};
3401        case 3076014: /*date*/ return new String[] {"dateTime"};
3402        case 1447404028: /*publisher*/ return new String[] {"string"};
3403        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
3404        case -1724546052: /*description*/ return new String[] {"markdown"};
3405        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
3406        case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
3407        case -220463842: /*purpose*/ return new String[] {"markdown"};
3408        case 1522889671: /*copyright*/ return new String[] {"markdown"};
3409        case 765157229: /*copyrightLabel*/ return new String[] {"string"};
3410        case 109757538: /*start*/ return new String[] {"id"};
3411        case 3386882: /*node*/ return new String[] {};
3412        case 3321850: /*link*/ return new String[] {};
3413        default: return super.getTypesForProperty(hash, name);
3414        }
3415
3416      }
3417
3418      @Override
3419      public Base addChild(String name) throws FHIRException {
3420        if (name.equals("url")) {
3421          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.url");
3422        }
3423        else if (name.equals("identifier")) {
3424          return addIdentifier();
3425        }
3426        else if (name.equals("version")) {
3427          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.version");
3428        }
3429        else if (name.equals("versionAlgorithmString")) {
3430          this.versionAlgorithm = new StringType();
3431          return this.versionAlgorithm;
3432        }
3433        else if (name.equals("versionAlgorithmCoding")) {
3434          this.versionAlgorithm = new Coding();
3435          return this.versionAlgorithm;
3436        }
3437        else if (name.equals("name")) {
3438          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.name");
3439        }
3440        else if (name.equals("title")) {
3441          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.title");
3442        }
3443        else if (name.equals("status")) {
3444          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.status");
3445        }
3446        else if (name.equals("experimental")) {
3447          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.experimental");
3448        }
3449        else if (name.equals("date")) {
3450          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.date");
3451        }
3452        else if (name.equals("publisher")) {
3453          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.publisher");
3454        }
3455        else if (name.equals("contact")) {
3456          return addContact();
3457        }
3458        else if (name.equals("description")) {
3459          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.description");
3460        }
3461        else if (name.equals("useContext")) {
3462          return addUseContext();
3463        }
3464        else if (name.equals("jurisdiction")) {
3465          return addJurisdiction();
3466        }
3467        else if (name.equals("purpose")) {
3468          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.purpose");
3469        }
3470        else if (name.equals("copyright")) {
3471          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.copyright");
3472        }
3473        else if (name.equals("copyrightLabel")) {
3474          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.copyrightLabel");
3475        }
3476        else if (name.equals("start")) {
3477          throw new FHIRException("Cannot call addChild on a singleton property GraphDefinition.start");
3478        }
3479        else if (name.equals("node")) {
3480          return addNode();
3481        }
3482        else if (name.equals("link")) {
3483          return addLink();
3484        }
3485        else
3486          return super.addChild(name);
3487      }
3488
3489  public String fhirType() {
3490    return "GraphDefinition";
3491
3492  }
3493
3494      public GraphDefinition copy() {
3495        GraphDefinition dst = new GraphDefinition();
3496        copyValues(dst);
3497        return dst;
3498      }
3499
3500      public void copyValues(GraphDefinition dst) {
3501        super.copyValues(dst);
3502        dst.url = url == null ? null : url.copy();
3503        if (identifier != null) {
3504          dst.identifier = new ArrayList<Identifier>();
3505          for (Identifier i : identifier)
3506            dst.identifier.add(i.copy());
3507        };
3508        dst.version = version == null ? null : version.copy();
3509        dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
3510        dst.name = name == null ? null : name.copy();
3511        dst.title = title == null ? null : title.copy();
3512        dst.status = status == null ? null : status.copy();
3513        dst.experimental = experimental == null ? null : experimental.copy();
3514        dst.date = date == null ? null : date.copy();
3515        dst.publisher = publisher == null ? null : publisher.copy();
3516        if (contact != null) {
3517          dst.contact = new ArrayList<ContactDetail>();
3518          for (ContactDetail i : contact)
3519            dst.contact.add(i.copy());
3520        };
3521        dst.description = description == null ? null : description.copy();
3522        if (useContext != null) {
3523          dst.useContext = new ArrayList<UsageContext>();
3524          for (UsageContext i : useContext)
3525            dst.useContext.add(i.copy());
3526        };
3527        if (jurisdiction != null) {
3528          dst.jurisdiction = new ArrayList<CodeableConcept>();
3529          for (CodeableConcept i : jurisdiction)
3530            dst.jurisdiction.add(i.copy());
3531        };
3532        dst.purpose = purpose == null ? null : purpose.copy();
3533        dst.copyright = copyright == null ? null : copyright.copy();
3534        dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy();
3535        dst.start = start == null ? null : start.copy();
3536        if (node != null) {
3537          dst.node = new ArrayList<GraphDefinitionNodeComponent>();
3538          for (GraphDefinitionNodeComponent i : node)
3539            dst.node.add(i.copy());
3540        };
3541        if (link != null) {
3542          dst.link = new ArrayList<GraphDefinitionLinkComponent>();
3543          for (GraphDefinitionLinkComponent i : link)
3544            dst.link.add(i.copy());
3545        };
3546      }
3547
3548      protected GraphDefinition typedCopy() {
3549        return copy();
3550      }
3551
3552      @Override
3553      public boolean equalsDeep(Base other_) {
3554        if (!super.equalsDeep(other_))
3555          return false;
3556        if (!(other_ instanceof GraphDefinition))
3557          return false;
3558        GraphDefinition o = (GraphDefinition) other_;
3559        return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true)
3560           && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true)
3561           && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true)
3562           && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true)
3563           && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true)
3564           && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true)
3565           && compareDeep(start, o.start, true) && compareDeep(node, o.node, true) && compareDeep(link, o.link, true)
3566          ;
3567      }
3568
3569      @Override
3570      public boolean equalsShallow(Base other_) {
3571        if (!super.equalsShallow(other_))
3572          return false;
3573        if (!(other_ instanceof GraphDefinition))
3574          return false;
3575        GraphDefinition o = (GraphDefinition) other_;
3576        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
3577           && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true)
3578           && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true)
3579           && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true)
3580           && compareValues(start, o.start, true);
3581      }
3582
3583      public boolean isEmpty() {
3584        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version
3585          , versionAlgorithm, name, title, status, experimental, date, publisher, contact
3586          , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, start
3587          , node, link);
3588      }
3589
3590  @Override
3591  public ResourceType getResourceType() {
3592    return ResourceType.GraphDefinition;
3593   }
3594
3595 /**
3596   * Search parameter: <b>context-quantity</b>
3597   * <p>
3598   * Description: <b>Multiple Resources: 
3599
3600* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3601* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3602* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3603* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3604* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3605* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3606* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3607* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3608* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3609* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3610* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3611* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3612* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3613* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3614* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3615* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3616* [Library](library.html): A quantity- or range-valued use context assigned to the library
3617* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3618* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3619* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3620* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3621* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3622* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3623* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3624* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3625* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3626* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3627* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3628* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3629* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3630</b><br>
3631   * Type: <b>quantity</b><br>
3632   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
3633   * </p>
3634   */
3635  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
3636  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
3637 /**
3638   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
3639   * <p>
3640   * Description: <b>Multiple Resources: 
3641
3642* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3643* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3644* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3645* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3646* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3647* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3648* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3649* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3650* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3651* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3652* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3653* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3654* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3655* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3656* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3657* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3658* [Library](library.html): A quantity- or range-valued use context assigned to the library
3659* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3660* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3661* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3662* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3663* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3664* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3665* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3666* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3667* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3668* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3669* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3670* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3671* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3672</b><br>
3673   * Type: <b>quantity</b><br>
3674   * Path: <b>(ActivityDefinition.useContext.value.ofType(Quantity)) | (ActivityDefinition.useContext.value.ofType(Range)) | (ActorDefinition.useContext.value.ofType(Quantity)) | (ActorDefinition.useContext.value.ofType(Range)) | (CapabilityStatement.useContext.value.ofType(Quantity)) | (CapabilityStatement.useContext.value.ofType(Range)) | (ChargeItemDefinition.useContext.value.ofType(Quantity)) | (ChargeItemDefinition.useContext.value.ofType(Range)) | (Citation.useContext.value.ofType(Quantity)) | (Citation.useContext.value.ofType(Range)) | (CodeSystem.useContext.value.ofType(Quantity)) | (CodeSystem.useContext.value.ofType(Range)) | (CompartmentDefinition.useContext.value.ofType(Quantity)) | (CompartmentDefinition.useContext.value.ofType(Range)) | (ConceptMap.useContext.value.ofType(Quantity)) | (ConceptMap.useContext.value.ofType(Range)) | (ConditionDefinition.useContext.value.ofType(Quantity)) | (ConditionDefinition.useContext.value.ofType(Range)) | (EventDefinition.useContext.value.ofType(Quantity)) | (EventDefinition.useContext.value.ofType(Range)) | (Evidence.useContext.value.ofType(Quantity)) | (Evidence.useContext.value.ofType(Range)) | (EvidenceReport.useContext.value.ofType(Quantity)) | (EvidenceReport.useContext.value.ofType(Range)) | (EvidenceVariable.useContext.value.ofType(Quantity)) | (EvidenceVariable.useContext.value.ofType(Range)) | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | (GraphDefinition.useContext.value.ofType(Quantity)) | (GraphDefinition.useContext.value.ofType(Range)) | (ImplementationGuide.useContext.value.ofType(Quantity)) | (ImplementationGuide.useContext.value.ofType(Range)) | (Library.useContext.value.ofType(Quantity)) | (Library.useContext.value.ofType(Range)) | (Measure.useContext.value.ofType(Quantity)) | (Measure.useContext.value.ofType(Range)) | (MessageDefinition.useContext.value.ofType(Quantity)) | (MessageDefinition.useContext.value.ofType(Range)) | (NamingSystem.useContext.value.ofType(Quantity)) | (NamingSystem.useContext.value.ofType(Range)) | (OperationDefinition.useContext.value.ofType(Quantity)) | (OperationDefinition.useContext.value.ofType(Range)) | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) | (Questionnaire.useContext.value.ofType(Quantity)) | (Questionnaire.useContext.value.ofType(Range)) | (Requirements.useContext.value.ofType(Quantity)) | (Requirements.useContext.value.ofType(Range)) | (SearchParameter.useContext.value.ofType(Quantity)) | (SearchParameter.useContext.value.ofType(Range)) | (StructureDefinition.useContext.value.ofType(Quantity)) | (StructureDefinition.useContext.value.ofType(Range)) | (StructureMap.useContext.value.ofType(Quantity)) | (StructureMap.useContext.value.ofType(Range)) | (TerminologyCapabilities.useContext.value.ofType(Quantity)) | (TerminologyCapabilities.useContext.value.ofType(Range)) | (TestScript.useContext.value.ofType(Quantity)) | (TestScript.useContext.value.ofType(Range)) | (ValueSet.useContext.value.ofType(Quantity)) | (ValueSet.useContext.value.ofType(Range))</b><br>
3675   * </p>
3676   */
3677  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
3678
3679 /**
3680   * Search parameter: <b>context-type-quantity</b>
3681   * <p>
3682   * Description: <b>Multiple Resources: 
3683
3684* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3685* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3686* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3687* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3688* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3689* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3690* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3691* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3692* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3693* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3694* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3695* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3696* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3697* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3698* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3699* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3700* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3701* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3702* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3703* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3704* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3705* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3706* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3707* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3708* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3709* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3710* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3711* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3712* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3713* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3714</b><br>
3715   * Type: <b>composite</b><br>
3716   * 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>
3717   * </p>
3718   */
3719  @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"} )
3720  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
3721 /**
3722   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
3723   * <p>
3724   * Description: <b>Multiple Resources: 
3725
3726* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3727* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3728* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3729* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3730* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3731* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3732* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3733* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3734* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3735* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3736* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3737* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3738* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3739* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3740* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3741* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3742* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3743* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3744* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3745* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3746* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3747* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3748* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3749* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3750* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3751* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3752* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3753* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3754* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3755* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3756</b><br>
3757   * Type: <b>composite</b><br>
3758   * 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>
3759   * </p>
3760   */
3761  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);
3762
3763 /**
3764   * Search parameter: <b>context-type-value</b>
3765   * <p>
3766   * Description: <b>Multiple Resources: 
3767
3768* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3769* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3770* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3771* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3772* [Citation](citation.html): A use context type and value assigned to the citation
3773* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3774* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3775* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3776* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3777* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3778* [Evidence](evidence.html): A use context type and value assigned to the evidence
3779* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3780* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3781* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3782* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3783* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3784* [Library](library.html): A use context type and value assigned to the library
3785* [Measure](measure.html): A use context type and value assigned to the measure
3786* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3787* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3788* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3789* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3790* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3791* [Requirements](requirements.html): A use context type and value assigned to the requirements
3792* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3793* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3794* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3795* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3796* [TestScript](testscript.html): A use context type and value assigned to the test script
3797* [ValueSet](valueset.html): A use context type and value assigned to the value set
3798</b><br>
3799   * Type: <b>composite</b><br>
3800   * 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>
3801   * </p>
3802   */
3803  @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"} )
3804  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
3805 /**
3806   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
3807   * <p>
3808   * Description: <b>Multiple Resources: 
3809
3810* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3811* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3812* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3813* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3814* [Citation](citation.html): A use context type and value assigned to the citation
3815* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3816* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3817* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3818* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3819* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3820* [Evidence](evidence.html): A use context type and value assigned to the evidence
3821* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3822* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3823* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3824* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3825* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3826* [Library](library.html): A use context type and value assigned to the library
3827* [Measure](measure.html): A use context type and value assigned to the measure
3828* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3829* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3830* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3831* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3832* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3833* [Requirements](requirements.html): A use context type and value assigned to the requirements
3834* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3835* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3836* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3837* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3838* [TestScript](testscript.html): A use context type and value assigned to the test script
3839* [ValueSet](valueset.html): A use context type and value assigned to the value set
3840</b><br>
3841   * Type: <b>composite</b><br>
3842   * 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>
3843   * </p>
3844   */
3845  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);
3846
3847 /**
3848   * Search parameter: <b>context-type</b>
3849   * <p>
3850   * Description: <b>Multiple Resources: 
3851
3852* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3853* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3854* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3855* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3856* [Citation](citation.html): A type of use context assigned to the citation
3857* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3858* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3859* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3860* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3861* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3862* [Evidence](evidence.html): A type of use context assigned to the evidence
3863* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3864* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3865* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3866* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3867* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3868* [Library](library.html): A type of use context assigned to the library
3869* [Measure](measure.html): A type of use context assigned to the measure
3870* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3871* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3872* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3873* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3874* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3875* [Requirements](requirements.html): A type of use context assigned to the requirements
3876* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3877* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3878* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3879* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3880* [TestScript](testscript.html): A type of use context assigned to the test script
3881* [ValueSet](valueset.html): A type of use context assigned to the value set
3882</b><br>
3883   * Type: <b>token</b><br>
3884   * 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>
3885   * </p>
3886   */
3887  @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" )
3888  public static final String SP_CONTEXT_TYPE = "context-type";
3889 /**
3890   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
3891   * <p>
3892   * Description: <b>Multiple Resources: 
3893
3894* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3895* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3896* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3897* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3898* [Citation](citation.html): A type of use context assigned to the citation
3899* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3900* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3901* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3902* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3903* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3904* [Evidence](evidence.html): A type of use context assigned to the evidence
3905* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3906* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3907* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3908* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3909* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3910* [Library](library.html): A type of use context assigned to the library
3911* [Measure](measure.html): A type of use context assigned to the measure
3912* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3913* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3914* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3915* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3916* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3917* [Requirements](requirements.html): A type of use context assigned to the requirements
3918* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3919* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3920* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3921* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3922* [TestScript](testscript.html): A type of use context assigned to the test script
3923* [ValueSet](valueset.html): A type of use context assigned to the value set
3924</b><br>
3925   * Type: <b>token</b><br>
3926   * 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>
3927   * </p>
3928   */
3929  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
3930
3931 /**
3932   * Search parameter: <b>context</b>
3933   * <p>
3934   * Description: <b>Multiple Resources: 
3935
3936* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3937* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3938* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3939* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3940* [Citation](citation.html): A use context assigned to the citation
3941* [CodeSystem](codesystem.html): A use context assigned to the code system
3942* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3943* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3944* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3945* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3946* [Evidence](evidence.html): A use context assigned to the evidence
3947* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3948* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3949* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3950* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3951* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3952* [Library](library.html): A use context assigned to the library
3953* [Measure](measure.html): A use context assigned to the measure
3954* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3955* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3956* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3957* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
3958* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
3959* [Requirements](requirements.html): A use context assigned to the requirements
3960* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
3961* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
3962* [StructureMap](structuremap.html): A use context assigned to the structure map
3963* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
3964* [TestScript](testscript.html): A use context assigned to the test script
3965* [ValueSet](valueset.html): A use context assigned to the value set
3966</b><br>
3967   * Type: <b>token</b><br>
3968   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
3969   * </p>
3970   */
3971  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
3972  public static final String SP_CONTEXT = "context";
3973 /**
3974   * <b>Fluent Client</b> search parameter constant for <b>context</b>
3975   * <p>
3976   * Description: <b>Multiple Resources: 
3977
3978* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3979* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3980* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3981* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3982* [Citation](citation.html): A use context assigned to the citation
3983* [CodeSystem](codesystem.html): A use context assigned to the code system
3984* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3985* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3986* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3987* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3988* [Evidence](evidence.html): A use context assigned to the evidence
3989* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3990* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3991* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3992* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3993* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3994* [Library](library.html): A use context assigned to the library
3995* [Measure](measure.html): A use context assigned to the measure
3996* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3997* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3998* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3999* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
4000* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
4001* [Requirements](requirements.html): A use context assigned to the requirements
4002* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
4003* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
4004* [StructureMap](structuremap.html): A use context assigned to the structure map
4005* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
4006* [TestScript](testscript.html): A use context assigned to the test script
4007* [ValueSet](valueset.html): A use context assigned to the value set
4008</b><br>
4009   * Type: <b>token</b><br>
4010   * Path: <b>(ActivityDefinition.useContext.value.ofType(CodeableConcept)) | (ActorDefinition.useContext.value.ofType(CodeableConcept)) | (CapabilityStatement.useContext.value.ofType(CodeableConcept)) | (ChargeItemDefinition.useContext.value.ofType(CodeableConcept)) | (Citation.useContext.value.ofType(CodeableConcept)) | (CodeSystem.useContext.value.ofType(CodeableConcept)) | (CompartmentDefinition.useContext.value.ofType(CodeableConcept)) | (ConceptMap.useContext.value.ofType(CodeableConcept)) | (ConditionDefinition.useContext.value.ofType(CodeableConcept)) | (EventDefinition.useContext.value.ofType(CodeableConcept)) | (Evidence.useContext.value.ofType(CodeableConcept)) | (EvidenceReport.useContext.value.ofType(CodeableConcept)) | (EvidenceVariable.useContext.value.ofType(CodeableConcept)) | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | (GraphDefinition.useContext.value.ofType(CodeableConcept)) | (ImplementationGuide.useContext.value.ofType(CodeableConcept)) | (Library.useContext.value.ofType(CodeableConcept)) | (Measure.useContext.value.ofType(CodeableConcept)) | (MessageDefinition.useContext.value.ofType(CodeableConcept)) | (NamingSystem.useContext.value.ofType(CodeableConcept)) | (OperationDefinition.useContext.value.ofType(CodeableConcept)) | (PlanDefinition.useContext.value.ofType(CodeableConcept)) | (Questionnaire.useContext.value.ofType(CodeableConcept)) | (Requirements.useContext.value.ofType(CodeableConcept)) | (SearchParameter.useContext.value.ofType(CodeableConcept)) | (StructureDefinition.useContext.value.ofType(CodeableConcept)) | (StructureMap.useContext.value.ofType(CodeableConcept)) | (TerminologyCapabilities.useContext.value.ofType(CodeableConcept)) | (TestScript.useContext.value.ofType(CodeableConcept)) | (ValueSet.useContext.value.ofType(CodeableConcept))</b><br>
4011   * </p>
4012   */
4013  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
4014
4015 /**
4016   * Search parameter: <b>date</b>
4017   * <p>
4018   * Description: <b>Multiple Resources: 
4019
4020* [ActivityDefinition](activitydefinition.html): The activity definition publication date
4021* [ActorDefinition](actordefinition.html): The Actor Definition publication date
4022* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
4023* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
4024* [Citation](citation.html): The citation publication date
4025* [CodeSystem](codesystem.html): The code system publication date
4026* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
4027* [ConceptMap](conceptmap.html): The concept map publication date
4028* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
4029* [EventDefinition](eventdefinition.html): The event definition publication date
4030* [Evidence](evidence.html): The evidence publication date
4031* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
4032* [ExampleScenario](examplescenario.html): The example scenario publication date
4033* [GraphDefinition](graphdefinition.html): The graph definition publication date
4034* [ImplementationGuide](implementationguide.html): The implementation guide publication date
4035* [Library](library.html): The library publication date
4036* [Measure](measure.html): The measure publication date
4037* [MessageDefinition](messagedefinition.html): The message definition publication date
4038* [NamingSystem](namingsystem.html): The naming system publication date
4039* [OperationDefinition](operationdefinition.html): The operation definition publication date
4040* [PlanDefinition](plandefinition.html): The plan definition publication date
4041* [Questionnaire](questionnaire.html): The questionnaire publication date
4042* [Requirements](requirements.html): The requirements publication date
4043* [SearchParameter](searchparameter.html): The search parameter publication date
4044* [StructureDefinition](structuredefinition.html): The structure definition publication date
4045* [StructureMap](structuremap.html): The structure map publication date
4046* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
4047* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
4048* [TestScript](testscript.html): The test script publication date
4049* [ValueSet](valueset.html): The value set publication date
4050</b><br>
4051   * Type: <b>date</b><br>
4052   * 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>
4053   * </p>
4054   */
4055  @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" )
4056  public static final String SP_DATE = "date";
4057 /**
4058   * <b>Fluent Client</b> search parameter constant for <b>date</b>
4059   * <p>
4060   * Description: <b>Multiple Resources: 
4061
4062* [ActivityDefinition](activitydefinition.html): The activity definition publication date
4063* [ActorDefinition](actordefinition.html): The Actor Definition publication date
4064* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
4065* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
4066* [Citation](citation.html): The citation publication date
4067* [CodeSystem](codesystem.html): The code system publication date
4068* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
4069* [ConceptMap](conceptmap.html): The concept map publication date
4070* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
4071* [EventDefinition](eventdefinition.html): The event definition publication date
4072* [Evidence](evidence.html): The evidence publication date
4073* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
4074* [ExampleScenario](examplescenario.html): The example scenario publication date
4075* [GraphDefinition](graphdefinition.html): The graph definition publication date
4076* [ImplementationGuide](implementationguide.html): The implementation guide publication date
4077* [Library](library.html): The library publication date
4078* [Measure](measure.html): The measure publication date
4079* [MessageDefinition](messagedefinition.html): The message definition publication date
4080* [NamingSystem](namingsystem.html): The naming system publication date
4081* [OperationDefinition](operationdefinition.html): The operation definition publication date
4082* [PlanDefinition](plandefinition.html): The plan definition publication date
4083* [Questionnaire](questionnaire.html): The questionnaire publication date
4084* [Requirements](requirements.html): The requirements publication date
4085* [SearchParameter](searchparameter.html): The search parameter publication date
4086* [StructureDefinition](structuredefinition.html): The structure definition publication date
4087* [StructureMap](structuremap.html): The structure map publication date
4088* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
4089* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
4090* [TestScript](testscript.html): The test script publication date
4091* [ValueSet](valueset.html): The value set publication date
4092</b><br>
4093   * Type: <b>date</b><br>
4094   * 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>
4095   * </p>
4096   */
4097  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
4098
4099 /**
4100   * Search parameter: <b>description</b>
4101   * <p>
4102   * Description: <b>Multiple Resources: 
4103
4104* [ActivityDefinition](activitydefinition.html): The description of the activity definition
4105* [ActorDefinition](actordefinition.html): The description of the Actor Definition
4106* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
4107* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
4108* [Citation](citation.html): The description of the citation
4109* [CodeSystem](codesystem.html): The description of the code system
4110* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
4111* [ConceptMap](conceptmap.html): The description of the concept map
4112* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
4113* [EventDefinition](eventdefinition.html): The description of the event definition
4114* [Evidence](evidence.html): The description of the evidence
4115* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
4116* [GraphDefinition](graphdefinition.html): The description of the graph definition
4117* [ImplementationGuide](implementationguide.html): The description of the implementation guide
4118* [Library](library.html): The description of the library
4119* [Measure](measure.html): The description of the measure
4120* [MessageDefinition](messagedefinition.html): The description of the message definition
4121* [NamingSystem](namingsystem.html): The description of the naming system
4122* [OperationDefinition](operationdefinition.html): The description of the operation definition
4123* [PlanDefinition](plandefinition.html): The description of the plan definition
4124* [Questionnaire](questionnaire.html): The description of the questionnaire
4125* [Requirements](requirements.html): The description of the requirements
4126* [SearchParameter](searchparameter.html): The description of the search parameter
4127* [StructureDefinition](structuredefinition.html): The description of the structure definition
4128* [StructureMap](structuremap.html): The description of the structure map
4129* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
4130* [TestScript](testscript.html): The description of the test script
4131* [ValueSet](valueset.html): The description of the value set
4132</b><br>
4133   * Type: <b>string</b><br>
4134   * 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>
4135   * </p>
4136   */
4137  @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" )
4138  public static final String SP_DESCRIPTION = "description";
4139 /**
4140   * <b>Fluent Client</b> search parameter constant for <b>description</b>
4141   * <p>
4142   * Description: <b>Multiple Resources: 
4143
4144* [ActivityDefinition](activitydefinition.html): The description of the activity definition
4145* [ActorDefinition](actordefinition.html): The description of the Actor Definition
4146* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
4147* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
4148* [Citation](citation.html): The description of the citation
4149* [CodeSystem](codesystem.html): The description of the code system
4150* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
4151* [ConceptMap](conceptmap.html): The description of the concept map
4152* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
4153* [EventDefinition](eventdefinition.html): The description of the event definition
4154* [Evidence](evidence.html): The description of the evidence
4155* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
4156* [GraphDefinition](graphdefinition.html): The description of the graph definition
4157* [ImplementationGuide](implementationguide.html): The description of the implementation guide
4158* [Library](library.html): The description of the library
4159* [Measure](measure.html): The description of the measure
4160* [MessageDefinition](messagedefinition.html): The description of the message definition
4161* [NamingSystem](namingsystem.html): The description of the naming system
4162* [OperationDefinition](operationdefinition.html): The description of the operation definition
4163* [PlanDefinition](plandefinition.html): The description of the plan definition
4164* [Questionnaire](questionnaire.html): The description of the questionnaire
4165* [Requirements](requirements.html): The description of the requirements
4166* [SearchParameter](searchparameter.html): The description of the search parameter
4167* [StructureDefinition](structuredefinition.html): The description of the structure definition
4168* [StructureMap](structuremap.html): The description of the structure map
4169* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
4170* [TestScript](testscript.html): The description of the test script
4171* [ValueSet](valueset.html): The description of the value set
4172</b><br>
4173   * Type: <b>string</b><br>
4174   * 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>
4175   * </p>
4176   */
4177  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
4178
4179 /**
4180   * Search parameter: <b>identifier</b>
4181   * <p>
4182   * Description: <b>Multiple Resources: 
4183
4184* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
4185* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
4186* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
4187* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
4188* [Citation](citation.html): External identifier for the citation
4189* [CodeSystem](codesystem.html): External identifier for the code system
4190* [ConceptMap](conceptmap.html): External identifier for the concept map
4191* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
4192* [EventDefinition](eventdefinition.html): External identifier for the event definition
4193* [Evidence](evidence.html): External identifier for the evidence
4194* [EvidenceReport](evidencereport.html): External identifier for the evidence report
4195* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
4196* [ExampleScenario](examplescenario.html): External identifier for the example scenario
4197* [GraphDefinition](graphdefinition.html): External identifier for the graph definition
4198* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
4199* [Library](library.html): External identifier for the library
4200* [Measure](measure.html): External identifier for the measure
4201* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
4202* [MessageDefinition](messagedefinition.html): External identifier for the message definition
4203* [NamingSystem](namingsystem.html): External identifier for the naming system
4204* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
4205* [OperationDefinition](operationdefinition.html): External identifier for the search parameter
4206* [PlanDefinition](plandefinition.html): External identifier for the plan definition
4207* [Questionnaire](questionnaire.html): External identifier for the questionnaire
4208* [Requirements](requirements.html): External identifier for the requirements
4209* [SearchParameter](searchparameter.html): External identifier for the search parameter
4210* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
4211* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
4212* [StructureMap](structuremap.html): External identifier for the structure map
4213* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
4214* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
4215* [TestPlan](testplan.html): An identifier for the test plan
4216* [TestScript](testscript.html): External identifier for the test script
4217* [ValueSet](valueset.html): External identifier for the value set
4218</b><br>
4219   * Type: <b>token</b><br>
4220   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
4221   * </p>
4222   */
4223  @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition\r\n* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition\r\n* [Citation](citation.html): External identifier for the citation\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition\r\n* [EventDefinition](eventdefinition.html): External identifier for the event definition\r\n* [Evidence](evidence.html): External identifier for the evidence\r\n* [EvidenceReport](evidencereport.html): External identifier for the evidence report\r\n* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable\r\n* [ExampleScenario](examplescenario.html): External identifier for the example scenario\r\n* [GraphDefinition](graphdefinition.html): External identifier for the graph definition\r\n* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide\r\n* [Library](library.html): External identifier for the library\r\n* [Measure](measure.html): External identifier for the measure\r\n* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition\r\n* [OperationDefinition](operationdefinition.html): External identifier for the search parameter\r\n* [PlanDefinition](plandefinition.html): External identifier for the plan definition\r\n* [Questionnaire](questionnaire.html): External identifier for the questionnaire\r\n* [Requirements](requirements.html): External identifier for the requirements\r\n* [SearchParameter](searchparameter.html): External identifier for the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [TestPlan](testplan.html): An identifier for the test plan\r\n* [TestScript](testscript.html): External identifier for the test script\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" )
4224  public static final String SP_IDENTIFIER = "identifier";
4225 /**
4226   * <b>Fluent Client</b> search parameter constant for <b>identifier</b>
4227   * <p>
4228   * Description: <b>Multiple Resources: 
4229
4230* [ActivityDefinition](activitydefinition.html): External identifier for the activity definition
4231* [ActorDefinition](actordefinition.html): External identifier for the Actor Definition
4232* [CapabilityStatement](capabilitystatement.html): External identifier for the capability statement
4233* [ChargeItemDefinition](chargeitemdefinition.html): External identifier for the charge item definition
4234* [Citation](citation.html): External identifier for the citation
4235* [CodeSystem](codesystem.html): External identifier for the code system
4236* [ConceptMap](conceptmap.html): External identifier for the concept map
4237* [ConditionDefinition](conditiondefinition.html): External identifier for the condition definition
4238* [EventDefinition](eventdefinition.html): External identifier for the event definition
4239* [Evidence](evidence.html): External identifier for the evidence
4240* [EvidenceReport](evidencereport.html): External identifier for the evidence report
4241* [EvidenceVariable](evidencevariable.html): External identifier for the evidence variable
4242* [ExampleScenario](examplescenario.html): External identifier for the example scenario
4243* [GraphDefinition](graphdefinition.html): External identifier for the graph definition
4244* [ImplementationGuide](implementationguide.html): External identifier for the implementation guide
4245* [Library](library.html): External identifier for the library
4246* [Measure](measure.html): External identifier for the measure
4247* [MedicationKnowledge](medicationknowledge.html): Business identifier for this medication
4248* [MessageDefinition](messagedefinition.html): External identifier for the message definition
4249* [NamingSystem](namingsystem.html): External identifier for the naming system
4250* [ObservationDefinition](observationdefinition.html): The unique identifier associated with the specimen definition
4251* [OperationDefinition](operationdefinition.html): External identifier for the search parameter
4252* [PlanDefinition](plandefinition.html): External identifier for the plan definition
4253* [Questionnaire](questionnaire.html): External identifier for the questionnaire
4254* [Requirements](requirements.html): External identifier for the requirements
4255* [SearchParameter](searchparameter.html): External identifier for the search parameter
4256* [SpecimenDefinition](specimendefinition.html): The unique identifier associated with the SpecimenDefinition
4257* [StructureDefinition](structuredefinition.html): External identifier for the structure definition
4258* [StructureMap](structuremap.html): External identifier for the structure map
4259* [SubscriptionTopic](subscriptiontopic.html): Business Identifier for SubscriptionTopic
4260* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities
4261* [TestPlan](testplan.html): An identifier for the test plan
4262* [TestScript](testscript.html): External identifier for the test script
4263* [ValueSet](valueset.html): External identifier for the value set
4264</b><br>
4265   * Type: <b>token</b><br>
4266   * Path: <b>ActivityDefinition.identifier | ActorDefinition.identifier | CapabilityStatement.identifier | ChargeItemDefinition.identifier | Citation.identifier | CodeSystem.identifier | ConceptMap.identifier | ConditionDefinition.identifier | EventDefinition.identifier | Evidence.identifier | EvidenceReport.identifier | EvidenceVariable.identifier | ExampleScenario.identifier | GraphDefinition.identifier | ImplementationGuide.identifier | Library.identifier | Measure.identifier | MedicationKnowledge.identifier | MessageDefinition.identifier | NamingSystem.identifier | ObservationDefinition.identifier | OperationDefinition.identifier | PlanDefinition.identifier | Questionnaire.identifier | Requirements.identifier | SearchParameter.identifier | SpecimenDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | SubscriptionTopic.identifier | TerminologyCapabilities.identifier | TestPlan.identifier | TestScript.identifier | ValueSet.identifier</b><br>
4267   * </p>
4268   */
4269  public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER);
4270
4271 /**
4272   * Search parameter: <b>jurisdiction</b>
4273   * <p>
4274   * Description: <b>Multiple Resources: 
4275
4276* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
4277* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
4278* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
4279* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
4280* [Citation](citation.html): Intended jurisdiction for the citation
4281* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
4282* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
4283* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
4284* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
4285* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
4286* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
4287* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
4288* [Library](library.html): Intended jurisdiction for the library
4289* [Measure](measure.html): Intended jurisdiction for the measure
4290* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
4291* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
4292* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
4293* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
4294* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
4295* [Requirements](requirements.html): Intended jurisdiction for the requirements
4296* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
4297* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
4298* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
4299* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
4300* [TestScript](testscript.html): Intended jurisdiction for the test script
4301* [ValueSet](valueset.html): Intended jurisdiction for the value set
4302</b><br>
4303   * Type: <b>token</b><br>
4304   * 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>
4305   * </p>
4306   */
4307  @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" )
4308  public static final String SP_JURISDICTION = "jurisdiction";
4309 /**
4310   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
4311   * <p>
4312   * Description: <b>Multiple Resources: 
4313
4314* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
4315* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
4316* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
4317* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
4318* [Citation](citation.html): Intended jurisdiction for the citation
4319* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
4320* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
4321* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
4322* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
4323* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
4324* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
4325* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
4326* [Library](library.html): Intended jurisdiction for the library
4327* [Measure](measure.html): Intended jurisdiction for the measure
4328* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
4329* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
4330* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
4331* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
4332* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
4333* [Requirements](requirements.html): Intended jurisdiction for the requirements
4334* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
4335* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
4336* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
4337* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
4338* [TestScript](testscript.html): Intended jurisdiction for the test script
4339* [ValueSet](valueset.html): Intended jurisdiction for the value set
4340</b><br>
4341   * Type: <b>token</b><br>
4342   * 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>
4343   * </p>
4344   */
4345  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
4346
4347 /**
4348   * Search parameter: <b>name</b>
4349   * <p>
4350   * Description: <b>Multiple Resources: 
4351
4352* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
4353* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
4354* [Citation](citation.html): Computationally friendly name of the citation
4355* [CodeSystem](codesystem.html): Computationally friendly name of the code system
4356* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
4357* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
4358* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
4359* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
4360* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
4361* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
4362* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
4363* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
4364* [Library](library.html): Computationally friendly name of the library
4365* [Measure](measure.html): Computationally friendly name of the measure
4366* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
4367* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
4368* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
4369* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
4370* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
4371* [Requirements](requirements.html): Computationally friendly name of the requirements
4372* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
4373* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
4374* [StructureMap](structuremap.html): Computationally friendly name of the structure map
4375* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
4376* [TestScript](testscript.html): Computationally friendly name of the test script
4377* [ValueSet](valueset.html): Computationally friendly name of the value set
4378</b><br>
4379   * Type: <b>string</b><br>
4380   * 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>
4381   * </p>
4382   */
4383  @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" )
4384  public static final String SP_NAME = "name";
4385 /**
4386   * <b>Fluent Client</b> search parameter constant for <b>name</b>
4387   * <p>
4388   * Description: <b>Multiple Resources: 
4389
4390* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
4391* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
4392* [Citation](citation.html): Computationally friendly name of the citation
4393* [CodeSystem](codesystem.html): Computationally friendly name of the code system
4394* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
4395* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
4396* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
4397* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
4398* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
4399* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
4400* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
4401* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
4402* [Library](library.html): Computationally friendly name of the library
4403* [Measure](measure.html): Computationally friendly name of the measure
4404* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
4405* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
4406* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
4407* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
4408* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
4409* [Requirements](requirements.html): Computationally friendly name of the requirements
4410* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
4411* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
4412* [StructureMap](structuremap.html): Computationally friendly name of the structure map
4413* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
4414* [TestScript](testscript.html): Computationally friendly name of the test script
4415* [ValueSet](valueset.html): Computationally friendly name of the value set
4416</b><br>
4417   * Type: <b>string</b><br>
4418   * 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>
4419   * </p>
4420   */
4421  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
4422
4423 /**
4424   * Search parameter: <b>publisher</b>
4425   * <p>
4426   * Description: <b>Multiple Resources: 
4427
4428* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
4429* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4430* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4431* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4432* [Citation](citation.html): Name of the publisher of the citation
4433* [CodeSystem](codesystem.html): Name of the publisher of the code system
4434* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4435* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4436* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4437* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4438* [Evidence](evidence.html): Name of the publisher of the evidence
4439* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4440* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4441* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4442* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4443* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4444* [Library](library.html): Name of the publisher of the library
4445* [Measure](measure.html): Name of the publisher of the measure
4446* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4447* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4448* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4449* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4450* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4451* [Requirements](requirements.html): Name of the publisher of the requirements
4452* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4453* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4454* [StructureMap](structuremap.html): Name of the publisher of the structure map
4455* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4456* [TestScript](testscript.html): Name of the publisher of the test script
4457* [ValueSet](valueset.html): Name of the publisher of the value set
4458</b><br>
4459   * Type: <b>string</b><br>
4460   * 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>
4461   * </p>
4462   */
4463  @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" )
4464  public static final String SP_PUBLISHER = "publisher";
4465 /**
4466   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
4467   * <p>
4468   * Description: <b>Multiple Resources: 
4469
4470* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
4471* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4472* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4473* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4474* [Citation](citation.html): Name of the publisher of the citation
4475* [CodeSystem](codesystem.html): Name of the publisher of the code system
4476* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4477* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4478* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4479* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4480* [Evidence](evidence.html): Name of the publisher of the evidence
4481* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4482* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4483* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4484* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4485* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4486* [Library](library.html): Name of the publisher of the library
4487* [Measure](measure.html): Name of the publisher of the measure
4488* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4489* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4490* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4491* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4492* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4493* [Requirements](requirements.html): Name of the publisher of the requirements
4494* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4495* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4496* [StructureMap](structuremap.html): Name of the publisher of the structure map
4497* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4498* [TestScript](testscript.html): Name of the publisher of the test script
4499* [ValueSet](valueset.html): Name of the publisher of the value set
4500</b><br>
4501   * Type: <b>string</b><br>
4502   * 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>
4503   * </p>
4504   */
4505  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
4506
4507 /**
4508   * Search parameter: <b>status</b>
4509   * <p>
4510   * Description: <b>Multiple Resources: 
4511
4512* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4513* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4514* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4515* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4516* [Citation](citation.html): The current status of the citation
4517* [CodeSystem](codesystem.html): The current status of the code system
4518* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4519* [ConceptMap](conceptmap.html): The current status of the concept map
4520* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4521* [EventDefinition](eventdefinition.html): The current status of the event definition
4522* [Evidence](evidence.html): The current status of the evidence
4523* [EvidenceReport](evidencereport.html): The current status of the evidence report
4524* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4525* [ExampleScenario](examplescenario.html): The current status of the example scenario
4526* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4527* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4528* [Library](library.html): The current status of the library
4529* [Measure](measure.html): The current status of the measure
4530* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4531* [MessageDefinition](messagedefinition.html): The current status of the message definition
4532* [NamingSystem](namingsystem.html): The current status of the naming system
4533* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4534* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4535* [PlanDefinition](plandefinition.html): The current status of the plan definition
4536* [Questionnaire](questionnaire.html): The current status of the questionnaire
4537* [Requirements](requirements.html): The current status of the requirements
4538* [SearchParameter](searchparameter.html): The current status of the search parameter
4539* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4540* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4541* [StructureMap](structuremap.html): The current status of the structure map
4542* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4543* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4544* [TestPlan](testplan.html): The current status of the test plan
4545* [TestScript](testscript.html): The current status of the test script
4546* [ValueSet](valueset.html): The current status of the value set
4547</b><br>
4548   * Type: <b>token</b><br>
4549   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br>
4550   * </p>
4551   */
4552  @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestPlan](testplan.html): The current status of the test plan\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
4553  public static final String SP_STATUS = "status";
4554 /**
4555   * <b>Fluent Client</b> search parameter constant for <b>status</b>
4556   * <p>
4557   * Description: <b>Multiple Resources: 
4558
4559* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4560* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4561* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4562* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4563* [Citation](citation.html): The current status of the citation
4564* [CodeSystem](codesystem.html): The current status of the code system
4565* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4566* [ConceptMap](conceptmap.html): The current status of the concept map
4567* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4568* [EventDefinition](eventdefinition.html): The current status of the event definition
4569* [Evidence](evidence.html): The current status of the evidence
4570* [EvidenceReport](evidencereport.html): The current status of the evidence report
4571* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4572* [ExampleScenario](examplescenario.html): The current status of the example scenario
4573* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4574* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4575* [Library](library.html): The current status of the library
4576* [Measure](measure.html): The current status of the measure
4577* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4578* [MessageDefinition](messagedefinition.html): The current status of the message definition
4579* [NamingSystem](namingsystem.html): The current status of the naming system
4580* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4581* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4582* [PlanDefinition](plandefinition.html): The current status of the plan definition
4583* [Questionnaire](questionnaire.html): The current status of the questionnaire
4584* [Requirements](requirements.html): The current status of the requirements
4585* [SearchParameter](searchparameter.html): The current status of the search parameter
4586* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4587* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4588* [StructureMap](structuremap.html): The current status of the structure map
4589* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4590* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4591* [TestPlan](testplan.html): The current status of the test plan
4592* [TestScript](testscript.html): The current status of the test script
4593* [ValueSet](valueset.html): The current status of the value set
4594</b><br>
4595   * Type: <b>token</b><br>
4596   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestPlan.status | TestScript.status | ValueSet.status</b><br>
4597   * </p>
4598   */
4599  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
4600
4601 /**
4602   * Search parameter: <b>url</b>
4603   * <p>
4604   * Description: <b>Multiple Resources: 
4605
4606* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4607* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4608* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4609* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4610* [Citation](citation.html): The uri that identifies the citation
4611* [CodeSystem](codesystem.html): The uri that identifies the code system
4612* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4613* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4614* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4615* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4616* [Evidence](evidence.html): The uri that identifies the evidence
4617* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4618* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4619* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4620* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4621* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4622* [Library](library.html): The uri that identifies the library
4623* [Measure](measure.html): The uri that identifies the measure
4624* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4625* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4626* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4627* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4628* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4629* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4630* [Requirements](requirements.html): The uri that identifies the requirements
4631* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4632* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4633* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4634* [StructureMap](structuremap.html): The uri that identifies the structure map
4635* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4636* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4637* [TestPlan](testplan.html): The uri that identifies the test plan
4638* [TestScript](testscript.html): The uri that identifies the test script
4639* [ValueSet](valueset.html): The uri that identifies the value set
4640</b><br>
4641   * Type: <b>uri</b><br>
4642   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br>
4643   * </p>
4644   */
4645  @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestPlan](testplan.html): The uri that identifies the test plan\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
4646  public static final String SP_URL = "url";
4647 /**
4648   * <b>Fluent Client</b> search parameter constant for <b>url</b>
4649   * <p>
4650   * Description: <b>Multiple Resources: 
4651
4652* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4653* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4654* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4655* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4656* [Citation](citation.html): The uri that identifies the citation
4657* [CodeSystem](codesystem.html): The uri that identifies the code system
4658* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4659* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4660* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4661* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4662* [Evidence](evidence.html): The uri that identifies the evidence
4663* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4664* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4665* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4666* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4667* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4668* [Library](library.html): The uri that identifies the library
4669* [Measure](measure.html): The uri that identifies the measure
4670* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4671* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4672* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4673* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4674* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4675* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4676* [Requirements](requirements.html): The uri that identifies the requirements
4677* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4678* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4679* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4680* [StructureMap](structuremap.html): The uri that identifies the structure map
4681* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4682* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4683* [TestPlan](testplan.html): The uri that identifies the test plan
4684* [TestScript](testscript.html): The uri that identifies the test script
4685* [ValueSet](valueset.html): The uri that identifies the value set
4686</b><br>
4687   * Type: <b>uri</b><br>
4688   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestPlan.url | TestScript.url | ValueSet.url</b><br>
4689   * </p>
4690   */
4691  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
4692
4693 /**
4694   * Search parameter: <b>version</b>
4695   * <p>
4696   * Description: <b>Multiple Resources: 
4697
4698* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4699* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4700* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4701* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4702* [Citation](citation.html): The business version of the citation
4703* [CodeSystem](codesystem.html): The business version of the code system
4704* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4705* [ConceptMap](conceptmap.html): The business version of the concept map
4706* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4707* [EventDefinition](eventdefinition.html): The business version of the event definition
4708* [Evidence](evidence.html): The business version of the evidence
4709* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4710* [ExampleScenario](examplescenario.html): The business version of the example scenario
4711* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4712* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4713* [Library](library.html): The business version of the library
4714* [Measure](measure.html): The business version of the measure
4715* [MessageDefinition](messagedefinition.html): The business version of the message definition
4716* [NamingSystem](namingsystem.html): The business version of the naming system
4717* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4718* [PlanDefinition](plandefinition.html): The business version of the plan definition
4719* [Questionnaire](questionnaire.html): The business version of the questionnaire
4720* [Requirements](requirements.html): The business version of the requirements
4721* [SearchParameter](searchparameter.html): The business version of the search parameter
4722* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4723* [StructureMap](structuremap.html): The business version of the structure map
4724* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4725* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4726* [TestScript](testscript.html): The business version of the test script
4727* [ValueSet](valueset.html): The business version of the value set
4728</b><br>
4729   * Type: <b>token</b><br>
4730   * 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>
4731   * </p>
4732   */
4733  @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" )
4734  public static final String SP_VERSION = "version";
4735 /**
4736   * <b>Fluent Client</b> search parameter constant for <b>version</b>
4737   * <p>
4738   * Description: <b>Multiple Resources: 
4739
4740* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4741* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4742* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4743* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4744* [Citation](citation.html): The business version of the citation
4745* [CodeSystem](codesystem.html): The business version of the code system
4746* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4747* [ConceptMap](conceptmap.html): The business version of the concept map
4748* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4749* [EventDefinition](eventdefinition.html): The business version of the event definition
4750* [Evidence](evidence.html): The business version of the evidence
4751* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4752* [ExampleScenario](examplescenario.html): The business version of the example scenario
4753* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4754* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4755* [Library](library.html): The business version of the library
4756* [Measure](measure.html): The business version of the measure
4757* [MessageDefinition](messagedefinition.html): The business version of the message definition
4758* [NamingSystem](namingsystem.html): The business version of the naming system
4759* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4760* [PlanDefinition](plandefinition.html): The business version of the plan definition
4761* [Questionnaire](questionnaire.html): The business version of the questionnaire
4762* [Requirements](requirements.html): The business version of the requirements
4763* [SearchParameter](searchparameter.html): The business version of the search parameter
4764* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4765* [StructureMap](structuremap.html): The business version of the structure map
4766* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4767* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4768* [TestScript](testscript.html): The business version of the test script
4769* [ValueSet](valueset.html): The business version of the value set
4770</b><br>
4771   * Type: <b>token</b><br>
4772   * 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>
4773   * </p>
4774   */
4775  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
4776
4777 /**
4778   * Search parameter: <b>start</b>
4779   * <p>
4780   * Description: <b>Type of resource at which the graph starts</b><br>
4781   * Type: <b>token</b><br>
4782   * Path: <b>GraphDefinition.start</b><br>
4783   * </p>
4784   */
4785  @SearchParamDefinition(name="start", path="GraphDefinition.start", description="Type of resource at which the graph starts", type="token" )
4786  public static final String SP_START = "start";
4787 /**
4788   * <b>Fluent Client</b> search parameter constant for <b>start</b>
4789   * <p>
4790   * Description: <b>Type of resource at which the graph starts</b><br>
4791   * Type: <b>token</b><br>
4792   * Path: <b>GraphDefinition.start</b><br>
4793   * </p>
4794   */
4795  public static final ca.uhn.fhir.rest.gclient.TokenClientParam START = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_START);
4796
4797// Manual code (from Configuration.txt):
4798  public boolean supportsCopyright() {
4799    return true;
4800  }
4801  
4802// end addition
4803
4804}
4805