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