001package org.hl7.fhir.r5.model;
002
003
004/*
005  Copyright (c) 2011+, HL7, Inc.
006  All rights reserved.
007  
008  Redistribution and use in source and binary forms, with or without modification, \
009  are permitted provided that the following conditions are met:
010  
011   * Redistributions of source code must retain the above copyright notice, this \
012     list of conditions and the following disclaimer.
013   * Redistributions in binary form must reproduce the above copyright notice, \
014     this list of conditions and the following disclaimer in the documentation \
015     and/or other materials provided with the distribution.
016   * Neither the name of HL7 nor the names of its contributors may be used to 
017     endorse or promote products derived from this software without specific 
018     prior written permission.
019  
020  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \
021  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \
022  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \
023  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \
024  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \
025  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \
026  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \
027  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \
028  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \
029  POSSIBILITY OF SUCH DAMAGE.
030  */
031
032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent
033
034import java.util.ArrayList;
035import java.util.Date;
036import java.util.List;
037import org.hl7.fhir.utilities.Utilities;
038import org.hl7.fhir.r5.model.Enumerations.*;
039import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
040import org.hl7.fhir.exceptions.FHIRException;
041import org.hl7.fhir.instance.model.api.ICompositeType;
042import ca.uhn.fhir.model.api.annotation.ResourceDef;
043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition;
044import org.hl7.fhir.instance.model.api.IBaseBackboneElement;
045import ca.uhn.fhir.model.api.annotation.Child;
046import ca.uhn.fhir.model.api.annotation.ChildOrder;
047import ca.uhn.fhir.model.api.annotation.Description;
048import ca.uhn.fhir.model.api.annotation.Block;
049
050/**
051 * A 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/all-resource-types")
302        protected Enumeration<AllResourceTypes> 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 = 938227649L;
312
313    /**
314     * Constructor
315     */
316      public GraphDefinitionNodeComponent() {
317        super();
318      }
319
320    /**
321     * Constructor
322     */
323      public GraphDefinitionNodeComponent(String nodeId, AllResourceTypes 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<AllResourceTypes> 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<AllResourceTypes>(new AllResourceTypesEnumFactory()); // 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<AllResourceTypes> value) { 
447          this.type = value;
448          return this;
449        }
450
451        /**
452         * @return Type of resource this link refers to.
453         */
454        public AllResourceTypes 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(AllResourceTypes value) { 
462            if (this.type == null)
463              this.type = new Enumeration<AllResourceTypes>(new AllResourceTypesEnumFactory());
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<AllResourceTypes>
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 AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value));
560          this.type = (Enumeration) value; // Enumeration<AllResourceTypes>
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 AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value));
578          this.type = (Enumeration) value; // Enumeration<AllResourceTypes>
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 primitive type GraphDefinition.node.nodeId");
614        }
615        else if (name.equals("description")) {
616          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.node.description");
617        }
618        else if (name.equals("type")) {
619          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.node.type");
620        }
621        else if (name.equals("profile")) {
622          throw new FHIRException("Cannot call addChild on a primitive type 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 primitive type GraphDefinition.link.description");
1337        }
1338        else if (name.equals("min")) {
1339          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.min");
1340        }
1341        else if (name.equals("max")) {
1342          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.max");
1343        }
1344        else if (name.equals("sourceId")) {
1345          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.sourceId");
1346        }
1347        else if (name.equals("path")) {
1348          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.path");
1349        }
1350        else if (name.equals("sliceName")) {
1351          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.sliceName");
1352        }
1353        else if (name.equals("targetId")) {
1354          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.targetId");
1355        }
1356        else if (name.equals("params")) {
1357          throw new FHIRException("Cannot call addChild on a primitive type 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", 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 primitive type GraphDefinition.link.compartment.use");
1829        }
1830        else if (name.equals("rule")) {
1831          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.compartment.rule");
1832        }
1833        else if (name.equals("code")) {
1834          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.compartment.code");
1835        }
1836        else if (name.equals("expression")) {
1837          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.link.compartment.expression");
1838        }
1839        else if (name.equals("description")) {
1840          throw new FHIRException("Cannot call addChild on a primitive type 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     * 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.
1906     */
1907    @Child(name = "version", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true)
1908    @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." )
1909    protected StringType version;
1910
1911    /**
1912     * Indicates the mechanism used to compare versions to determine which is more current.
1913     */
1914    @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true)
1915    @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." )
1916    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm")
1917    protected DataType versionAlgorithm;
1918
1919    /**
1920     * 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.
1921     */
1922    @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true)
1923    @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." )
1924    protected StringType name;
1925
1926    /**
1927     * A short, descriptive, user-friendly title for the capability statement.
1928     */
1929    @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true)
1930    @Description(shortDefinition="Name for this graph definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement." )
1931    protected StringType title;
1932
1933    /**
1934     * The status of this graph definition. Enables tracking the life-cycle of the content.
1935     */
1936    @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true)
1937    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this graph definition. Enables tracking the life-cycle of the content." )
1938    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
1939    protected Enumeration<PublicationStatus> status;
1940
1941    /**
1942     * 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.
1943     */
1944    @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true)
1945    @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." )
1946    protected BooleanType experimental;
1947
1948    /**
1949     * 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.
1950     */
1951    @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true)
1952    @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." )
1953    protected DateTimeType date;
1954
1955    /**
1956     * The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
1957     */
1958    @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true)
1959    @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." )
1960    protected StringType publisher;
1961
1962    /**
1963     * Contact details to assist a user in finding and communicating with the publisher.
1964     */
1965    @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1966    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
1967    protected List<ContactDetail> contact;
1968
1969    /**
1970     * A free text natural language description of the graph definition from a consumer's perspective.
1971     */
1972    @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false)
1973    @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." )
1974    protected MarkdownType description;
1975
1976    /**
1977     * 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.
1978     */
1979    @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1980    @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." )
1981    protected List<UsageContext> useContext;
1982
1983    /**
1984     * A legal or geographic region in which the graph definition is intended to be used.
1985     */
1986    @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
1987    @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." )
1988    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
1989    protected List<CodeableConcept> jurisdiction;
1990
1991    /**
1992     * Explanation of why this graph definition is needed and why it has been designed as it has.
1993     */
1994    @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false)
1995    @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." )
1996    protected MarkdownType purpose;
1997
1998    /**
1999     * The Node at which instances of this graph start. If there is no nominated start, the graph can start at any of the nodes.
2000     */
2001    @Child(name = "start", type = {IdType.class}, order=14, min=0, max=1, modifier=false, summary=false)
2002    @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." )
2003    protected IdType start;
2004
2005    /**
2006     * Potential target for the link.
2007     */
2008    @Child(name = "node", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2009    @Description(shortDefinition="Potential target for the link", formalDefinition="Potential target for the link." )
2010    protected List<GraphDefinitionNodeComponent> node;
2011
2012    /**
2013     * Links this graph makes rules about.
2014     */
2015    @Child(name = "link", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false)
2016    @Description(shortDefinition="Links this graph makes rules about", formalDefinition="Links this graph makes rules about." )
2017    protected List<GraphDefinitionLinkComponent> link;
2018
2019    private static final long serialVersionUID = 806947141L;
2020
2021  /**
2022   * Constructor
2023   */
2024    public GraphDefinition() {
2025      super();
2026    }
2027
2028  /**
2029   * Constructor
2030   */
2031    public GraphDefinition(String name, PublicationStatus status) {
2032      super();
2033      this.setName(name);
2034      this.setStatus(status);
2035    }
2036
2037    /**
2038     * @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
2039     */
2040    public UriType getUrlElement() { 
2041      if (this.url == null)
2042        if (Configuration.errorOnAutoCreate())
2043          throw new Error("Attempt to auto-create GraphDefinition.url");
2044        else if (Configuration.doAutoCreate())
2045          this.url = new UriType(); // bb
2046      return this.url;
2047    }
2048
2049    public boolean hasUrlElement() { 
2050      return this.url != null && !this.url.isEmpty();
2051    }
2052
2053    public boolean hasUrl() { 
2054      return this.url != null && !this.url.isEmpty();
2055    }
2056
2057    /**
2058     * @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
2059     */
2060    public GraphDefinition setUrlElement(UriType value) { 
2061      this.url = value;
2062      return this;
2063    }
2064
2065    /**
2066     * @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.
2067     */
2068    public String getUrl() { 
2069      return this.url == null ? null : this.url.getValue();
2070    }
2071
2072    /**
2073     * @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.
2074     */
2075    public GraphDefinition setUrl(String value) { 
2076      if (Utilities.noString(value))
2077        this.url = null;
2078      else {
2079        if (this.url == null)
2080          this.url = new UriType();
2081        this.url.setValue(value);
2082      }
2083      return this;
2084    }
2085
2086    /**
2087     * @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
2088     */
2089    public StringType getVersionElement() { 
2090      if (this.version == null)
2091        if (Configuration.errorOnAutoCreate())
2092          throw new Error("Attempt to auto-create GraphDefinition.version");
2093        else if (Configuration.doAutoCreate())
2094          this.version = new StringType(); // bb
2095      return this.version;
2096    }
2097
2098    public boolean hasVersionElement() { 
2099      return this.version != null && !this.version.isEmpty();
2100    }
2101
2102    public boolean hasVersion() { 
2103      return this.version != null && !this.version.isEmpty();
2104    }
2105
2106    /**
2107     * @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
2108     */
2109    public GraphDefinition setVersionElement(StringType value) { 
2110      this.version = value;
2111      return this;
2112    }
2113
2114    /**
2115     * @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.
2116     */
2117    public String getVersion() { 
2118      return this.version == null ? null : this.version.getValue();
2119    }
2120
2121    /**
2122     * @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.
2123     */
2124    public GraphDefinition setVersion(String value) { 
2125      if (Utilities.noString(value))
2126        this.version = null;
2127      else {
2128        if (this.version == null)
2129          this.version = new StringType();
2130        this.version.setValue(value);
2131      }
2132      return this;
2133    }
2134
2135    /**
2136     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2137     */
2138    public DataType getVersionAlgorithm() { 
2139      return this.versionAlgorithm;
2140    }
2141
2142    /**
2143     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2144     */
2145    public StringType getVersionAlgorithmStringType() throws FHIRException { 
2146      if (this.versionAlgorithm == null)
2147        this.versionAlgorithm = new StringType();
2148      if (!(this.versionAlgorithm instanceof StringType))
2149        throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
2150      return (StringType) this.versionAlgorithm;
2151    }
2152
2153    public boolean hasVersionAlgorithmStringType() { 
2154      return this != null && this.versionAlgorithm instanceof StringType;
2155    }
2156
2157    /**
2158     * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2159     */
2160    public Coding getVersionAlgorithmCoding() throws FHIRException { 
2161      if (this.versionAlgorithm == null)
2162        this.versionAlgorithm = new Coding();
2163      if (!(this.versionAlgorithm instanceof Coding))
2164        throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered");
2165      return (Coding) this.versionAlgorithm;
2166    }
2167
2168    public boolean hasVersionAlgorithmCoding() { 
2169      return this != null && this.versionAlgorithm instanceof Coding;
2170    }
2171
2172    public boolean hasVersionAlgorithm() { 
2173      return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty();
2174    }
2175
2176    /**
2177     * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.)
2178     */
2179    public GraphDefinition setVersionAlgorithm(DataType value) { 
2180      if (value != null && !(value instanceof StringType || value instanceof Coding))
2181        throw new Error("Not the right type for GraphDefinition.versionAlgorithm[x]: "+value.fhirType());
2182      this.versionAlgorithm = value;
2183      return this;
2184    }
2185
2186    /**
2187     * @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
2188     */
2189    public StringType getNameElement() { 
2190      if (this.name == null)
2191        if (Configuration.errorOnAutoCreate())
2192          throw new Error("Attempt to auto-create GraphDefinition.name");
2193        else if (Configuration.doAutoCreate())
2194          this.name = new StringType(); // bb
2195      return this.name;
2196    }
2197
2198    public boolean hasNameElement() { 
2199      return this.name != null && !this.name.isEmpty();
2200    }
2201
2202    public boolean hasName() { 
2203      return this.name != null && !this.name.isEmpty();
2204    }
2205
2206    /**
2207     * @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
2208     */
2209    public GraphDefinition setNameElement(StringType value) { 
2210      this.name = value;
2211      return this;
2212    }
2213
2214    /**
2215     * @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.
2216     */
2217    public String getName() { 
2218      return this.name == null ? null : this.name.getValue();
2219    }
2220
2221    /**
2222     * @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.
2223     */
2224    public GraphDefinition setName(String value) { 
2225        if (this.name == null)
2226          this.name = new StringType();
2227        this.name.setValue(value);
2228      return this;
2229    }
2230
2231    /**
2232     * @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
2233     */
2234    public StringType getTitleElement() { 
2235      if (this.title == null)
2236        if (Configuration.errorOnAutoCreate())
2237          throw new Error("Attempt to auto-create GraphDefinition.title");
2238        else if (Configuration.doAutoCreate())
2239          this.title = new StringType(); // bb
2240      return this.title;
2241    }
2242
2243    public boolean hasTitleElement() { 
2244      return this.title != null && !this.title.isEmpty();
2245    }
2246
2247    public boolean hasTitle() { 
2248      return this.title != null && !this.title.isEmpty();
2249    }
2250
2251    /**
2252     * @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
2253     */
2254    public GraphDefinition setTitleElement(StringType value) { 
2255      this.title = value;
2256      return this;
2257    }
2258
2259    /**
2260     * @return A short, descriptive, user-friendly title for the capability statement.
2261     */
2262    public String getTitle() { 
2263      return this.title == null ? null : this.title.getValue();
2264    }
2265
2266    /**
2267     * @param value A short, descriptive, user-friendly title for the capability statement.
2268     */
2269    public GraphDefinition setTitle(String value) { 
2270      if (Utilities.noString(value))
2271        this.title = null;
2272      else {
2273        if (this.title == null)
2274          this.title = new StringType();
2275        this.title.setValue(value);
2276      }
2277      return this;
2278    }
2279
2280    /**
2281     * @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
2282     */
2283    public Enumeration<PublicationStatus> getStatusElement() { 
2284      if (this.status == null)
2285        if (Configuration.errorOnAutoCreate())
2286          throw new Error("Attempt to auto-create GraphDefinition.status");
2287        else if (Configuration.doAutoCreate())
2288          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
2289      return this.status;
2290    }
2291
2292    public boolean hasStatusElement() { 
2293      return this.status != null && !this.status.isEmpty();
2294    }
2295
2296    public boolean hasStatus() { 
2297      return this.status != null && !this.status.isEmpty();
2298    }
2299
2300    /**
2301     * @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
2302     */
2303    public GraphDefinition setStatusElement(Enumeration<PublicationStatus> value) { 
2304      this.status = value;
2305      return this;
2306    }
2307
2308    /**
2309     * @return The status of this graph definition. Enables tracking the life-cycle of the content.
2310     */
2311    public PublicationStatus getStatus() { 
2312      return this.status == null ? null : this.status.getValue();
2313    }
2314
2315    /**
2316     * @param value The status of this graph definition. Enables tracking the life-cycle of the content.
2317     */
2318    public GraphDefinition setStatus(PublicationStatus value) { 
2319        if (this.status == null)
2320          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
2321        this.status.setValue(value);
2322      return this;
2323    }
2324
2325    /**
2326     * @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
2327     */
2328    public BooleanType getExperimentalElement() { 
2329      if (this.experimental == null)
2330        if (Configuration.errorOnAutoCreate())
2331          throw new Error("Attempt to auto-create GraphDefinition.experimental");
2332        else if (Configuration.doAutoCreate())
2333          this.experimental = new BooleanType(); // bb
2334      return this.experimental;
2335    }
2336
2337    public boolean hasExperimentalElement() { 
2338      return this.experimental != null && !this.experimental.isEmpty();
2339    }
2340
2341    public boolean hasExperimental() { 
2342      return this.experimental != null && !this.experimental.isEmpty();
2343    }
2344
2345    /**
2346     * @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
2347     */
2348    public GraphDefinition setExperimentalElement(BooleanType value) { 
2349      this.experimental = value;
2350      return this;
2351    }
2352
2353    /**
2354     * @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.
2355     */
2356    public boolean getExperimental() { 
2357      return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue();
2358    }
2359
2360    /**
2361     * @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.
2362     */
2363    public GraphDefinition setExperimental(boolean value) { 
2364        if (this.experimental == null)
2365          this.experimental = new BooleanType();
2366        this.experimental.setValue(value);
2367      return this;
2368    }
2369
2370    /**
2371     * @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
2372     */
2373    public DateTimeType getDateElement() { 
2374      if (this.date == null)
2375        if (Configuration.errorOnAutoCreate())
2376          throw new Error("Attempt to auto-create GraphDefinition.date");
2377        else if (Configuration.doAutoCreate())
2378          this.date = new DateTimeType(); // bb
2379      return this.date;
2380    }
2381
2382    public boolean hasDateElement() { 
2383      return this.date != null && !this.date.isEmpty();
2384    }
2385
2386    public boolean hasDate() { 
2387      return this.date != null && !this.date.isEmpty();
2388    }
2389
2390    /**
2391     * @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
2392     */
2393    public GraphDefinition setDateElement(DateTimeType value) { 
2394      this.date = value;
2395      return this;
2396    }
2397
2398    /**
2399     * @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.
2400     */
2401    public Date getDate() { 
2402      return this.date == null ? null : this.date.getValue();
2403    }
2404
2405    /**
2406     * @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.
2407     */
2408    public GraphDefinition setDate(Date value) { 
2409      if (value == null)
2410        this.date = null;
2411      else {
2412        if (this.date == null)
2413          this.date = new DateTimeType();
2414        this.date.setValue(value);
2415      }
2416      return this;
2417    }
2418
2419    /**
2420     * @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
2421     */
2422    public StringType getPublisherElement() { 
2423      if (this.publisher == null)
2424        if (Configuration.errorOnAutoCreate())
2425          throw new Error("Attempt to auto-create GraphDefinition.publisher");
2426        else if (Configuration.doAutoCreate())
2427          this.publisher = new StringType(); // bb
2428      return this.publisher;
2429    }
2430
2431    public boolean hasPublisherElement() { 
2432      return this.publisher != null && !this.publisher.isEmpty();
2433    }
2434
2435    public boolean hasPublisher() { 
2436      return this.publisher != null && !this.publisher.isEmpty();
2437    }
2438
2439    /**
2440     * @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
2441     */
2442    public GraphDefinition setPublisherElement(StringType value) { 
2443      this.publisher = value;
2444      return this;
2445    }
2446
2447    /**
2448     * @return The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
2449     */
2450    public String getPublisher() { 
2451      return this.publisher == null ? null : this.publisher.getValue();
2452    }
2453
2454    /**
2455     * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.
2456     */
2457    public GraphDefinition setPublisher(String value) { 
2458      if (Utilities.noString(value))
2459        this.publisher = null;
2460      else {
2461        if (this.publisher == null)
2462          this.publisher = new StringType();
2463        this.publisher.setValue(value);
2464      }
2465      return this;
2466    }
2467
2468    /**
2469     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
2470     */
2471    public List<ContactDetail> getContact() { 
2472      if (this.contact == null)
2473        this.contact = new ArrayList<ContactDetail>();
2474      return this.contact;
2475    }
2476
2477    /**
2478     * @return Returns a reference to <code>this</code> for easy method chaining
2479     */
2480    public GraphDefinition setContact(List<ContactDetail> theContact) { 
2481      this.contact = theContact;
2482      return this;
2483    }
2484
2485    public boolean hasContact() { 
2486      if (this.contact == null)
2487        return false;
2488      for (ContactDetail item : this.contact)
2489        if (!item.isEmpty())
2490          return true;
2491      return false;
2492    }
2493
2494    public ContactDetail addContact() { //3
2495      ContactDetail t = new ContactDetail();
2496      if (this.contact == null)
2497        this.contact = new ArrayList<ContactDetail>();
2498      this.contact.add(t);
2499      return t;
2500    }
2501
2502    public GraphDefinition addContact(ContactDetail t) { //3
2503      if (t == null)
2504        return this;
2505      if (this.contact == null)
2506        this.contact = new ArrayList<ContactDetail>();
2507      this.contact.add(t);
2508      return this;
2509    }
2510
2511    /**
2512     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
2513     */
2514    public ContactDetail getContactFirstRep() { 
2515      if (getContact().isEmpty()) {
2516        addContact();
2517      }
2518      return getContact().get(0);
2519    }
2520
2521    /**
2522     * @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
2523     */
2524    public MarkdownType getDescriptionElement() { 
2525      if (this.description == null)
2526        if (Configuration.errorOnAutoCreate())
2527          throw new Error("Attempt to auto-create GraphDefinition.description");
2528        else if (Configuration.doAutoCreate())
2529          this.description = new MarkdownType(); // bb
2530      return this.description;
2531    }
2532
2533    public boolean hasDescriptionElement() { 
2534      return this.description != null && !this.description.isEmpty();
2535    }
2536
2537    public boolean hasDescription() { 
2538      return this.description != null && !this.description.isEmpty();
2539    }
2540
2541    /**
2542     * @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
2543     */
2544    public GraphDefinition setDescriptionElement(MarkdownType value) { 
2545      this.description = value;
2546      return this;
2547    }
2548
2549    /**
2550     * @return A free text natural language description of the graph definition from a consumer's perspective.
2551     */
2552    public String getDescription() { 
2553      return this.description == null ? null : this.description.getValue();
2554    }
2555
2556    /**
2557     * @param value A free text natural language description of the graph definition from a consumer's perspective.
2558     */
2559    public GraphDefinition setDescription(String value) { 
2560      if (value == null)
2561        this.description = null;
2562      else {
2563        if (this.description == null)
2564          this.description = new MarkdownType();
2565        this.description.setValue(value);
2566      }
2567      return this;
2568    }
2569
2570    /**
2571     * @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.)
2572     */
2573    public List<UsageContext> getUseContext() { 
2574      if (this.useContext == null)
2575        this.useContext = new ArrayList<UsageContext>();
2576      return this.useContext;
2577    }
2578
2579    /**
2580     * @return Returns a reference to <code>this</code> for easy method chaining
2581     */
2582    public GraphDefinition setUseContext(List<UsageContext> theUseContext) { 
2583      this.useContext = theUseContext;
2584      return this;
2585    }
2586
2587    public boolean hasUseContext() { 
2588      if (this.useContext == null)
2589        return false;
2590      for (UsageContext item : this.useContext)
2591        if (!item.isEmpty())
2592          return true;
2593      return false;
2594    }
2595
2596    public UsageContext addUseContext() { //3
2597      UsageContext t = new UsageContext();
2598      if (this.useContext == null)
2599        this.useContext = new ArrayList<UsageContext>();
2600      this.useContext.add(t);
2601      return t;
2602    }
2603
2604    public GraphDefinition addUseContext(UsageContext t) { //3
2605      if (t == null)
2606        return this;
2607      if (this.useContext == null)
2608        this.useContext = new ArrayList<UsageContext>();
2609      this.useContext.add(t);
2610      return this;
2611    }
2612
2613    /**
2614     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
2615     */
2616    public UsageContext getUseContextFirstRep() { 
2617      if (getUseContext().isEmpty()) {
2618        addUseContext();
2619      }
2620      return getUseContext().get(0);
2621    }
2622
2623    /**
2624     * @return {@link #jurisdiction} (A legal or geographic region in which the graph definition is intended to be used.)
2625     */
2626    public List<CodeableConcept> getJurisdiction() { 
2627      if (this.jurisdiction == null)
2628        this.jurisdiction = new ArrayList<CodeableConcept>();
2629      return this.jurisdiction;
2630    }
2631
2632    /**
2633     * @return Returns a reference to <code>this</code> for easy method chaining
2634     */
2635    public GraphDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 
2636      this.jurisdiction = theJurisdiction;
2637      return this;
2638    }
2639
2640    public boolean hasJurisdiction() { 
2641      if (this.jurisdiction == null)
2642        return false;
2643      for (CodeableConcept item : this.jurisdiction)
2644        if (!item.isEmpty())
2645          return true;
2646      return false;
2647    }
2648
2649    public CodeableConcept addJurisdiction() { //3
2650      CodeableConcept t = new CodeableConcept();
2651      if (this.jurisdiction == null)
2652        this.jurisdiction = new ArrayList<CodeableConcept>();
2653      this.jurisdiction.add(t);
2654      return t;
2655    }
2656
2657    public GraphDefinition addJurisdiction(CodeableConcept t) { //3
2658      if (t == null)
2659        return this;
2660      if (this.jurisdiction == null)
2661        this.jurisdiction = new ArrayList<CodeableConcept>();
2662      this.jurisdiction.add(t);
2663      return this;
2664    }
2665
2666    /**
2667     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
2668     */
2669    public CodeableConcept getJurisdictionFirstRep() { 
2670      if (getJurisdiction().isEmpty()) {
2671        addJurisdiction();
2672      }
2673      return getJurisdiction().get(0);
2674    }
2675
2676    /**
2677     * @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
2678     */
2679    public MarkdownType getPurposeElement() { 
2680      if (this.purpose == null)
2681        if (Configuration.errorOnAutoCreate())
2682          throw new Error("Attempt to auto-create GraphDefinition.purpose");
2683        else if (Configuration.doAutoCreate())
2684          this.purpose = new MarkdownType(); // bb
2685      return this.purpose;
2686    }
2687
2688    public boolean hasPurposeElement() { 
2689      return this.purpose != null && !this.purpose.isEmpty();
2690    }
2691
2692    public boolean hasPurpose() { 
2693      return this.purpose != null && !this.purpose.isEmpty();
2694    }
2695
2696    /**
2697     * @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
2698     */
2699    public GraphDefinition setPurposeElement(MarkdownType value) { 
2700      this.purpose = value;
2701      return this;
2702    }
2703
2704    /**
2705     * @return Explanation of why this graph definition is needed and why it has been designed as it has.
2706     */
2707    public String getPurpose() { 
2708      return this.purpose == null ? null : this.purpose.getValue();
2709    }
2710
2711    /**
2712     * @param value Explanation of why this graph definition is needed and why it has been designed as it has.
2713     */
2714    public GraphDefinition setPurpose(String value) { 
2715      if (value == null)
2716        this.purpose = null;
2717      else {
2718        if (this.purpose == null)
2719          this.purpose = new MarkdownType();
2720        this.purpose.setValue(value);
2721      }
2722      return this;
2723    }
2724
2725    /**
2726     * @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
2727     */
2728    public IdType getStartElement() { 
2729      if (this.start == null)
2730        if (Configuration.errorOnAutoCreate())
2731          throw new Error("Attempt to auto-create GraphDefinition.start");
2732        else if (Configuration.doAutoCreate())
2733          this.start = new IdType(); // bb
2734      return this.start;
2735    }
2736
2737    public boolean hasStartElement() { 
2738      return this.start != null && !this.start.isEmpty();
2739    }
2740
2741    public boolean hasStart() { 
2742      return this.start != null && !this.start.isEmpty();
2743    }
2744
2745    /**
2746     * @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
2747     */
2748    public GraphDefinition setStartElement(IdType value) { 
2749      this.start = value;
2750      return this;
2751    }
2752
2753    /**
2754     * @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.
2755     */
2756    public String getStart() { 
2757      return this.start == null ? null : this.start.getValue();
2758    }
2759
2760    /**
2761     * @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.
2762     */
2763    public GraphDefinition setStart(String value) { 
2764      if (Utilities.noString(value))
2765        this.start = null;
2766      else {
2767        if (this.start == null)
2768          this.start = new IdType();
2769        this.start.setValue(value);
2770      }
2771      return this;
2772    }
2773
2774    /**
2775     * @return {@link #node} (Potential target for the link.)
2776     */
2777    public List<GraphDefinitionNodeComponent> getNode() { 
2778      if (this.node == null)
2779        this.node = new ArrayList<GraphDefinitionNodeComponent>();
2780      return this.node;
2781    }
2782
2783    /**
2784     * @return Returns a reference to <code>this</code> for easy method chaining
2785     */
2786    public GraphDefinition setNode(List<GraphDefinitionNodeComponent> theNode) { 
2787      this.node = theNode;
2788      return this;
2789    }
2790
2791    public boolean hasNode() { 
2792      if (this.node == null)
2793        return false;
2794      for (GraphDefinitionNodeComponent item : this.node)
2795        if (!item.isEmpty())
2796          return true;
2797      return false;
2798    }
2799
2800    public GraphDefinitionNodeComponent addNode() { //3
2801      GraphDefinitionNodeComponent t = new GraphDefinitionNodeComponent();
2802      if (this.node == null)
2803        this.node = new ArrayList<GraphDefinitionNodeComponent>();
2804      this.node.add(t);
2805      return t;
2806    }
2807
2808    public GraphDefinition addNode(GraphDefinitionNodeComponent t) { //3
2809      if (t == null)
2810        return this;
2811      if (this.node == null)
2812        this.node = new ArrayList<GraphDefinitionNodeComponent>();
2813      this.node.add(t);
2814      return this;
2815    }
2816
2817    /**
2818     * @return The first repetition of repeating field {@link #node}, creating it if it does not already exist {3}
2819     */
2820    public GraphDefinitionNodeComponent getNodeFirstRep() { 
2821      if (getNode().isEmpty()) {
2822        addNode();
2823      }
2824      return getNode().get(0);
2825    }
2826
2827    /**
2828     * @return {@link #link} (Links this graph makes rules about.)
2829     */
2830    public List<GraphDefinitionLinkComponent> getLink() { 
2831      if (this.link == null)
2832        this.link = new ArrayList<GraphDefinitionLinkComponent>();
2833      return this.link;
2834    }
2835
2836    /**
2837     * @return Returns a reference to <code>this</code> for easy method chaining
2838     */
2839    public GraphDefinition setLink(List<GraphDefinitionLinkComponent> theLink) { 
2840      this.link = theLink;
2841      return this;
2842    }
2843
2844    public boolean hasLink() { 
2845      if (this.link == null)
2846        return false;
2847      for (GraphDefinitionLinkComponent item : this.link)
2848        if (!item.isEmpty())
2849          return true;
2850      return false;
2851    }
2852
2853    public GraphDefinitionLinkComponent addLink() { //3
2854      GraphDefinitionLinkComponent t = new GraphDefinitionLinkComponent();
2855      if (this.link == null)
2856        this.link = new ArrayList<GraphDefinitionLinkComponent>();
2857      this.link.add(t);
2858      return t;
2859    }
2860
2861    public GraphDefinition addLink(GraphDefinitionLinkComponent t) { //3
2862      if (t == null)
2863        return this;
2864      if (this.link == null)
2865        this.link = new ArrayList<GraphDefinitionLinkComponent>();
2866      this.link.add(t);
2867      return this;
2868    }
2869
2870    /**
2871     * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3}
2872     */
2873    public GraphDefinitionLinkComponent getLinkFirstRep() { 
2874      if (getLink().isEmpty()) {
2875        addLink();
2876      }
2877      return getLink().get(0);
2878    }
2879
2880    /**
2881     * not supported on this implementation
2882     */
2883    @Override
2884    public int getIdentifierMax() { 
2885      return 0;
2886    }
2887    /**
2888     * @return {@link #identifier} (A formal identifier that is used to identify this graph definition when it is represented in other formats, or referenced in a specification, model, design or an instance.)
2889     */
2890    public List<Identifier> getIdentifier() { 
2891      return new ArrayList<>();
2892    }
2893    /**
2894     * @return Returns a reference to <code>this</code> for easy method chaining
2895     */
2896    public GraphDefinition setIdentifier(List<Identifier> theIdentifier) { 
2897      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); 
2898    }
2899    public boolean hasIdentifier() { 
2900      return false;
2901    }
2902
2903    public Identifier addIdentifier() { //3
2904      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); 
2905    }
2906    public GraphDefinition addIdentifier(Identifier t) { //3
2907      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); 
2908    }
2909    /**
2910     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2}
2911     */
2912    public Identifier getIdentifierFirstRep() { 
2913      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); 
2914    }
2915    /**
2916     * not supported on this implementation
2917     */
2918    @Override
2919    public int getCopyrightMax() { 
2920      return 0;
2921    }
2922    /**
2923     * @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
2924     */
2925    public MarkdownType getCopyrightElement() { 
2926      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\"");
2927    }
2928
2929    public boolean hasCopyrightElement() { 
2930      return false;
2931    }
2932    public boolean hasCopyright() {
2933      return false;
2934    }
2935
2936    /**
2937     * @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
2938     */
2939    public GraphDefinition setCopyrightElement(MarkdownType value) { 
2940      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); 
2941    }
2942    public String getCopyright() { 
2943      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); 
2944    }
2945    /**
2946     * @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.
2947     */
2948    public GraphDefinition setCopyright(String value) { 
2949      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); 
2950    }
2951    /**
2952     * not supported on this implementation
2953     */
2954    @Override
2955    public int getCopyrightLabelMax() { 
2956      return 0;
2957    }
2958    /**
2959     * @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
2960     */
2961    public StringType getCopyrightLabelElement() { 
2962      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\"");
2963    }
2964
2965    public boolean hasCopyrightLabelElement() { 
2966      return false;
2967    }
2968    public boolean hasCopyrightLabel() {
2969      return false;
2970    }
2971
2972    /**
2973     * @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
2974     */
2975    public GraphDefinition setCopyrightLabelElement(StringType value) { 
2976      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); 
2977    }
2978    public String getCopyrightLabel() { 
2979      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); 
2980    }
2981    /**
2982     * @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').
2983     */
2984    public GraphDefinition setCopyrightLabel(String value) { 
2985      throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); 
2986    }
2987      protected void listChildren(List<Property> children) {
2988        super.listChildren(children);
2989        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));
2990        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));
2991        children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm));
2992        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));
2993        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title));
2994        children.add(new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status));
2995        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));
2996        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));
2997        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));
2998        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));
2999        children.add(new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description));
3000        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));
3001        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));
3002        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));
3003        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));
3004        children.add(new Property("node", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, node));
3005        children.add(new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link));
3006      }
3007
3008      @Override
3009      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
3010        switch (_hash) {
3011        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);
3012        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);
3013        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);
3014        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);
3015        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);
3016        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);
3017        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);
3018        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title);
3019        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);
3020        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);
3021        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);
3022        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);
3023        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);
3024        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);
3025        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);
3026        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);
3027        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);
3028        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);
3029        case 3386882: /*node*/  return new Property("node", "", "Potential target for the link.", 0, java.lang.Integer.MAX_VALUE, node);
3030        case 3321850: /*link*/  return new Property("link", "", "Links this graph makes rules about.", 0, java.lang.Integer.MAX_VALUE, link);
3031        default: return super.getNamedProperty(_hash, _name, _checkValid);
3032        }
3033
3034      }
3035
3036      @Override
3037      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
3038        switch (hash) {
3039        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
3040        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
3041        case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType
3042        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
3043        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
3044        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
3045        case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType
3046        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
3047        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
3048        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
3049        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
3050        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
3051        case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
3052        case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType
3053        case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // IdType
3054        case 3386882: /*node*/ return this.node == null ? new Base[0] : this.node.toArray(new Base[this.node.size()]); // GraphDefinitionNodeComponent
3055        case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // GraphDefinitionLinkComponent
3056        default: return super.getProperty(hash, name, checkValid);
3057        }
3058
3059      }
3060
3061      @Override
3062      public Base setProperty(int hash, String name, Base value) throws FHIRException {
3063        switch (hash) {
3064        case 116079: // url
3065          this.url = TypeConvertor.castToUri(value); // UriType
3066          return value;
3067        case 351608024: // version
3068          this.version = TypeConvertor.castToString(value); // StringType
3069          return value;
3070        case 1508158071: // versionAlgorithm
3071          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
3072          return value;
3073        case 3373707: // name
3074          this.name = TypeConvertor.castToString(value); // StringType
3075          return value;
3076        case 110371416: // title
3077          this.title = TypeConvertor.castToString(value); // StringType
3078          return value;
3079        case -892481550: // status
3080          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
3081          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
3082          return value;
3083        case -404562712: // experimental
3084          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
3085          return value;
3086        case 3076014: // date
3087          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
3088          return value;
3089        case 1447404028: // publisher
3090          this.publisher = TypeConvertor.castToString(value); // StringType
3091          return value;
3092        case 951526432: // contact
3093          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
3094          return value;
3095        case -1724546052: // description
3096          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
3097          return value;
3098        case -669707736: // useContext
3099          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
3100          return value;
3101        case -507075711: // jurisdiction
3102          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
3103          return value;
3104        case -220463842: // purpose
3105          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
3106          return value;
3107        case 109757538: // start
3108          this.start = TypeConvertor.castToId(value); // IdType
3109          return value;
3110        case 3386882: // node
3111          this.getNode().add((GraphDefinitionNodeComponent) value); // GraphDefinitionNodeComponent
3112          return value;
3113        case 3321850: // link
3114          this.getLink().add((GraphDefinitionLinkComponent) value); // GraphDefinitionLinkComponent
3115          return value;
3116        default: return super.setProperty(hash, name, value);
3117        }
3118
3119      }
3120
3121      @Override
3122      public Base setProperty(String name, Base value) throws FHIRException {
3123        if (name.equals("url")) {
3124          this.url = TypeConvertor.castToUri(value); // UriType
3125        } else if (name.equals("version")) {
3126          this.version = TypeConvertor.castToString(value); // StringType
3127        } else if (name.equals("versionAlgorithm[x]")) {
3128          this.versionAlgorithm = TypeConvertor.castToType(value); // DataType
3129        } else if (name.equals("name")) {
3130          this.name = TypeConvertor.castToString(value); // StringType
3131        } else if (name.equals("title")) {
3132          this.title = TypeConvertor.castToString(value); // StringType
3133        } else if (name.equals("status")) {
3134          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
3135          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
3136        } else if (name.equals("experimental")) {
3137          this.experimental = TypeConvertor.castToBoolean(value); // BooleanType
3138        } else if (name.equals("date")) {
3139          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
3140        } else if (name.equals("publisher")) {
3141          this.publisher = TypeConvertor.castToString(value); // StringType
3142        } else if (name.equals("contact")) {
3143          this.getContact().add(TypeConvertor.castToContactDetail(value));
3144        } else if (name.equals("description")) {
3145          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
3146        } else if (name.equals("useContext")) {
3147          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
3148        } else if (name.equals("jurisdiction")) {
3149          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
3150        } else if (name.equals("purpose")) {
3151          this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType
3152        } else if (name.equals("start")) {
3153          this.start = TypeConvertor.castToId(value); // IdType
3154        } else if (name.equals("node")) {
3155          this.getNode().add((GraphDefinitionNodeComponent) value);
3156        } else if (name.equals("link")) {
3157          this.getLink().add((GraphDefinitionLinkComponent) value);
3158        } else
3159          return super.setProperty(name, value);
3160        return value;
3161      }
3162
3163      @Override
3164      public Base makeProperty(int hash, String name) throws FHIRException {
3165        switch (hash) {
3166        case 116079:  return getUrlElement();
3167        case 351608024:  return getVersionElement();
3168        case -115699031:  return getVersionAlgorithm();
3169        case 1508158071:  return getVersionAlgorithm();
3170        case 3373707:  return getNameElement();
3171        case 110371416:  return getTitleElement();
3172        case -892481550:  return getStatusElement();
3173        case -404562712:  return getExperimentalElement();
3174        case 3076014:  return getDateElement();
3175        case 1447404028:  return getPublisherElement();
3176        case 951526432:  return addContact(); 
3177        case -1724546052:  return getDescriptionElement();
3178        case -669707736:  return addUseContext(); 
3179        case -507075711:  return addJurisdiction(); 
3180        case -220463842:  return getPurposeElement();
3181        case 109757538:  return getStartElement();
3182        case 3386882:  return addNode(); 
3183        case 3321850:  return addLink(); 
3184        default: return super.makeProperty(hash, name);
3185        }
3186
3187      }
3188
3189      @Override
3190      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
3191        switch (hash) {
3192        case 116079: /*url*/ return new String[] {"uri"};
3193        case 351608024: /*version*/ return new String[] {"string"};
3194        case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"};
3195        case 3373707: /*name*/ return new String[] {"string"};
3196        case 110371416: /*title*/ return new String[] {"string"};
3197        case -892481550: /*status*/ return new String[] {"code"};
3198        case -404562712: /*experimental*/ return new String[] {"boolean"};
3199        case 3076014: /*date*/ return new String[] {"dateTime"};
3200        case 1447404028: /*publisher*/ return new String[] {"string"};
3201        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
3202        case -1724546052: /*description*/ return new String[] {"markdown"};
3203        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
3204        case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
3205        case -220463842: /*purpose*/ return new String[] {"markdown"};
3206        case 109757538: /*start*/ return new String[] {"id"};
3207        case 3386882: /*node*/ return new String[] {};
3208        case 3321850: /*link*/ return new String[] {};
3209        default: return super.getTypesForProperty(hash, name);
3210        }
3211
3212      }
3213
3214      @Override
3215      public Base addChild(String name) throws FHIRException {
3216        if (name.equals("url")) {
3217          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.url");
3218        }
3219        else if (name.equals("version")) {
3220          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.version");
3221        }
3222        else if (name.equals("versionAlgorithmString")) {
3223          this.versionAlgorithm = new StringType();
3224          return this.versionAlgorithm;
3225        }
3226        else if (name.equals("versionAlgorithmCoding")) {
3227          this.versionAlgorithm = new Coding();
3228          return this.versionAlgorithm;
3229        }
3230        else if (name.equals("name")) {
3231          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.name");
3232        }
3233        else if (name.equals("title")) {
3234          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.title");
3235        }
3236        else if (name.equals("status")) {
3237          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.status");
3238        }
3239        else if (name.equals("experimental")) {
3240          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.experimental");
3241        }
3242        else if (name.equals("date")) {
3243          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.date");
3244        }
3245        else if (name.equals("publisher")) {
3246          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.publisher");
3247        }
3248        else if (name.equals("contact")) {
3249          return addContact();
3250        }
3251        else if (name.equals("description")) {
3252          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.description");
3253        }
3254        else if (name.equals("useContext")) {
3255          return addUseContext();
3256        }
3257        else if (name.equals("jurisdiction")) {
3258          return addJurisdiction();
3259        }
3260        else if (name.equals("purpose")) {
3261          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.purpose");
3262        }
3263        else if (name.equals("start")) {
3264          throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.start");
3265        }
3266        else if (name.equals("node")) {
3267          return addNode();
3268        }
3269        else if (name.equals("link")) {
3270          return addLink();
3271        }
3272        else
3273          return super.addChild(name);
3274      }
3275
3276  public String fhirType() {
3277    return "GraphDefinition";
3278
3279  }
3280
3281      public GraphDefinition copy() {
3282        GraphDefinition dst = new GraphDefinition();
3283        copyValues(dst);
3284        return dst;
3285      }
3286
3287      public void copyValues(GraphDefinition dst) {
3288        super.copyValues(dst);
3289        dst.url = url == null ? null : url.copy();
3290        dst.version = version == null ? null : version.copy();
3291        dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy();
3292        dst.name = name == null ? null : name.copy();
3293        dst.title = title == null ? null : title.copy();
3294        dst.status = status == null ? null : status.copy();
3295        dst.experimental = experimental == null ? null : experimental.copy();
3296        dst.date = date == null ? null : date.copy();
3297        dst.publisher = publisher == null ? null : publisher.copy();
3298        if (contact != null) {
3299          dst.contact = new ArrayList<ContactDetail>();
3300          for (ContactDetail i : contact)
3301            dst.contact.add(i.copy());
3302        };
3303        dst.description = description == null ? null : description.copy();
3304        if (useContext != null) {
3305          dst.useContext = new ArrayList<UsageContext>();
3306          for (UsageContext i : useContext)
3307            dst.useContext.add(i.copy());
3308        };
3309        if (jurisdiction != null) {
3310          dst.jurisdiction = new ArrayList<CodeableConcept>();
3311          for (CodeableConcept i : jurisdiction)
3312            dst.jurisdiction.add(i.copy());
3313        };
3314        dst.purpose = purpose == null ? null : purpose.copy();
3315        dst.start = start == null ? null : start.copy();
3316        if (node != null) {
3317          dst.node = new ArrayList<GraphDefinitionNodeComponent>();
3318          for (GraphDefinitionNodeComponent i : node)
3319            dst.node.add(i.copy());
3320        };
3321        if (link != null) {
3322          dst.link = new ArrayList<GraphDefinitionLinkComponent>();
3323          for (GraphDefinitionLinkComponent i : link)
3324            dst.link.add(i.copy());
3325        };
3326      }
3327
3328      protected GraphDefinition typedCopy() {
3329        return copy();
3330      }
3331
3332      @Override
3333      public boolean equalsDeep(Base other_) {
3334        if (!super.equalsDeep(other_))
3335          return false;
3336        if (!(other_ instanceof GraphDefinition))
3337          return false;
3338        GraphDefinition o = (GraphDefinition) other_;
3339        return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true)
3340           && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true)
3341           && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true)
3342           && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true)
3343           && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(start, o.start, true)
3344           && compareDeep(node, o.node, true) && compareDeep(link, o.link, true);
3345      }
3346
3347      @Override
3348      public boolean equalsShallow(Base other_) {
3349        if (!super.equalsShallow(other_))
3350          return false;
3351        if (!(other_ instanceof GraphDefinition))
3352          return false;
3353        GraphDefinition o = (GraphDefinition) other_;
3354        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
3355           && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true)
3356           && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true)
3357           && compareValues(purpose, o.purpose, true) && compareValues(start, o.start, true);
3358      }
3359
3360      public boolean isEmpty() {
3361        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm
3362          , name, title, status, experimental, date, publisher, contact, description, useContext
3363          , jurisdiction, purpose, start, node, link);
3364      }
3365
3366  @Override
3367  public ResourceType getResourceType() {
3368    return ResourceType.GraphDefinition;
3369   }
3370
3371 /**
3372   * Search parameter: <b>context-quantity</b>
3373   * <p>
3374   * Description: <b>Multiple Resources: 
3375
3376* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3377* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3378* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3379* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3380* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3381* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3382* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3383* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3384* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3385* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3386* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3387* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3388* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3389* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3390* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3391* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3392* [Library](library.html): A quantity- or range-valued use context assigned to the library
3393* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3394* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3395* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3396* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3397* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3398* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3399* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3400* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3401* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3402* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3403* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3404* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3405* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3406</b><br>
3407   * Type: <b>quantity</b><br>
3408   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
3409   * </p>
3410   */
3411  @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition\r\n* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition\r\n* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [Library](library.html): A quantity- or range-valued use context assigned to the library\r\n* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
3412  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
3413 /**
3414   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
3415   * <p>
3416   * Description: <b>Multiple Resources: 
3417
3418* [ActivityDefinition](activitydefinition.html): A quantity- or range-valued use context assigned to the activity definition
3419* [ActorDefinition](actordefinition.html): A quantity- or range-valued use context assigned to the Actor Definition
3420* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
3421* [ChargeItemDefinition](chargeitemdefinition.html): A quantity- or range-valued use context assigned to the charge item definition
3422* [Citation](citation.html): A quantity- or range-valued use context assigned to the citation
3423* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
3424* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
3425* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
3426* [ConditionDefinition](conditiondefinition.html): A quantity- or range-valued use context assigned to the condition definition
3427* [EventDefinition](eventdefinition.html): A quantity- or range-valued use context assigned to the event definition
3428* [Evidence](evidence.html): A quantity- or range-valued use context assigned to the evidence
3429* [EvidenceReport](evidencereport.html): A quantity- or range-valued use context assigned to the evidence report
3430* [EvidenceVariable](evidencevariable.html): A quantity- or range-valued use context assigned to the evidence variable
3431* [ExampleScenario](examplescenario.html): A quantity- or range-valued use context assigned to the example scenario
3432* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
3433* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
3434* [Library](library.html): A quantity- or range-valued use context assigned to the library
3435* [Measure](measure.html): A quantity- or range-valued use context assigned to the measure
3436* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
3437* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
3438* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
3439* [PlanDefinition](plandefinition.html): A quantity- or range-valued use context assigned to the plan definition
3440* [Questionnaire](questionnaire.html): A quantity- or range-valued use context assigned to the questionnaire
3441* [Requirements](requirements.html): A quantity- or range-valued use context assigned to the requirements
3442* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
3443* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
3444* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
3445* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
3446* [TestScript](testscript.html): A quantity- or range-valued use context assigned to the test script
3447* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
3448</b><br>
3449   * Type: <b>quantity</b><br>
3450   * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range) | (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range) | (CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (ChargeItemDefinition.useContext.value as Quantity) | (ChargeItemDefinition.useContext.value as Range) | (Citation.useContext.value as Quantity) | (Citation.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (ConditionDefinition.useContext.value as Quantity) | (ConditionDefinition.useContext.value as Range) | (EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range) | (Evidence.useContext.value as Quantity) | (Evidence.useContext.value as Range) | (EvidenceReport.useContext.value as Quantity) | (EvidenceReport.useContext.value as Range) | (EvidenceVariable.useContext.value as Quantity) | (EvidenceVariable.useContext.value as Range) | (ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (Library.useContext.value as Quantity) | (Library.useContext.value as Range) | (Measure.useContext.value as Quantity) | (Measure.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as Range) | (Questionnaire.useContext.value as Quantity) | (Questionnaire.useContext.value as Range) | (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (TestScript.useContext.value as Quantity) | (TestScript.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
3451   * </p>
3452   */
3453  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
3454
3455 /**
3456   * Search parameter: <b>context-type-quantity</b>
3457   * <p>
3458   * Description: <b>Multiple Resources: 
3459
3460* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3461* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3462* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3463* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3464* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3465* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3466* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3467* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3468* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3469* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3470* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3471* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3472* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3473* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3474* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3475* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3476* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3477* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3478* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3479* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3480* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3481* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3482* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3483* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3484* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3485* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3486* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3487* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3488* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3489* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3490</b><br>
3491   * Type: <b>composite</b><br>
3492   * 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>
3493   * </p>
3494   */
3495  @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"} )
3496  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
3497 /**
3498   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
3499   * <p>
3500   * Description: <b>Multiple Resources: 
3501
3502* [ActivityDefinition](activitydefinition.html): A use context type and quantity- or range-based value assigned to the activity definition
3503* [ActorDefinition](actordefinition.html): A use context type and quantity- or range-based value assigned to the Actor Definition
3504* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
3505* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and quantity- or range-based value assigned to the charge item definition
3506* [Citation](citation.html): A use context type and quantity- or range-based value assigned to the citation
3507* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
3508* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
3509* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
3510* [ConditionDefinition](conditiondefinition.html): A use context type and quantity- or range-based value assigned to the condition definition
3511* [EventDefinition](eventdefinition.html): A use context type and quantity- or range-based value assigned to the event definition
3512* [Evidence](evidence.html): A use context type and quantity- or range-based value assigned to the evidence
3513* [EvidenceReport](evidencereport.html): A use context type and quantity- or range-based value assigned to the evidence report
3514* [EvidenceVariable](evidencevariable.html): A use context type and quantity- or range-based value assigned to the evidence variable
3515* [ExampleScenario](examplescenario.html): A use context type and quantity- or range-based value assigned to the example scenario
3516* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
3517* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
3518* [Library](library.html): A use context type and quantity- or range-based value assigned to the library
3519* [Measure](measure.html): A use context type and quantity- or range-based value assigned to the measure
3520* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
3521* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
3522* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
3523* [PlanDefinition](plandefinition.html): A use context type and quantity- or range-based value assigned to the plan definition
3524* [Questionnaire](questionnaire.html): A use context type and quantity- or range-based value assigned to the questionnaire
3525* [Requirements](requirements.html): A use context type and quantity- or range-based value assigned to the requirements
3526* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
3527* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
3528* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
3529* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
3530* [TestScript](testscript.html): A use context type and quantity- or range-based value assigned to the test script
3531* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
3532</b><br>
3533   * Type: <b>composite</b><br>
3534   * 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>
3535   * </p>
3536   */
3537  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);
3538
3539 /**
3540   * Search parameter: <b>context-type-value</b>
3541   * <p>
3542   * Description: <b>Multiple Resources: 
3543
3544* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3545* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3546* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3547* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3548* [Citation](citation.html): A use context type and value assigned to the citation
3549* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3550* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3551* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3552* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3553* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3554* [Evidence](evidence.html): A use context type and value assigned to the evidence
3555* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3556* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3557* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3558* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3559* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3560* [Library](library.html): A use context type and value assigned to the library
3561* [Measure](measure.html): A use context type and value assigned to the measure
3562* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3563* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3564* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3565* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3566* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3567* [Requirements](requirements.html): A use context type and value assigned to the requirements
3568* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3569* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3570* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3571* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3572* [TestScript](testscript.html): A use context type and value assigned to the test script
3573* [ValueSet](valueset.html): A use context type and value assigned to the value set
3574</b><br>
3575   * Type: <b>composite</b><br>
3576   * 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>
3577   * </p>
3578   */
3579  @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"} )
3580  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
3581 /**
3582   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
3583   * <p>
3584   * Description: <b>Multiple Resources: 
3585
3586* [ActivityDefinition](activitydefinition.html): A use context type and value assigned to the activity definition
3587* [ActorDefinition](actordefinition.html): A use context type and value assigned to the Actor Definition
3588* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
3589* [ChargeItemDefinition](chargeitemdefinition.html): A use context type and value assigned to the charge item definition
3590* [Citation](citation.html): A use context type and value assigned to the citation
3591* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
3592* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
3593* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
3594* [ConditionDefinition](conditiondefinition.html): A use context type and value assigned to the condition definition
3595* [EventDefinition](eventdefinition.html): A use context type and value assigned to the event definition
3596* [Evidence](evidence.html): A use context type and value assigned to the evidence
3597* [EvidenceReport](evidencereport.html): A use context type and value assigned to the evidence report
3598* [EvidenceVariable](evidencevariable.html): A use context type and value assigned to the evidence variable
3599* [ExampleScenario](examplescenario.html): A use context type and value assigned to the example scenario
3600* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
3601* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
3602* [Library](library.html): A use context type and value assigned to the library
3603* [Measure](measure.html): A use context type and value assigned to the measure
3604* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
3605* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
3606* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
3607* [PlanDefinition](plandefinition.html): A use context type and value assigned to the plan definition
3608* [Questionnaire](questionnaire.html): A use context type and value assigned to the questionnaire
3609* [Requirements](requirements.html): A use context type and value assigned to the requirements
3610* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
3611* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
3612* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
3613* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
3614* [TestScript](testscript.html): A use context type and value assigned to the test script
3615* [ValueSet](valueset.html): A use context type and value assigned to the value set
3616</b><br>
3617   * Type: <b>composite</b><br>
3618   * 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>
3619   * </p>
3620   */
3621  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);
3622
3623 /**
3624   * Search parameter: <b>context-type</b>
3625   * <p>
3626   * Description: <b>Multiple Resources: 
3627
3628* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3629* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3630* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3631* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3632* [Citation](citation.html): A type of use context assigned to the citation
3633* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3634* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3635* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3636* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3637* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3638* [Evidence](evidence.html): A type of use context assigned to the evidence
3639* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3640* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3641* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3642* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3643* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3644* [Library](library.html): A type of use context assigned to the library
3645* [Measure](measure.html): A type of use context assigned to the measure
3646* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3647* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3648* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3649* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3650* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3651* [Requirements](requirements.html): A type of use context assigned to the requirements
3652* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3653* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3654* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3655* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3656* [TestScript](testscript.html): A type of use context assigned to the test script
3657* [ValueSet](valueset.html): A type of use context assigned to the value set
3658</b><br>
3659   * Type: <b>token</b><br>
3660   * 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>
3661   * </p>
3662   */
3663  @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" )
3664  public static final String SP_CONTEXT_TYPE = "context-type";
3665 /**
3666   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
3667   * <p>
3668   * Description: <b>Multiple Resources: 
3669
3670* [ActivityDefinition](activitydefinition.html): A type of use context assigned to the activity definition
3671* [ActorDefinition](actordefinition.html): A type of use context assigned to the Actor Definition
3672* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
3673* [ChargeItemDefinition](chargeitemdefinition.html): A type of use context assigned to the charge item definition
3674* [Citation](citation.html): A type of use context assigned to the citation
3675* [CodeSystem](codesystem.html): A type of use context assigned to the code system
3676* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
3677* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
3678* [ConditionDefinition](conditiondefinition.html): A type of use context assigned to the condition definition
3679* [EventDefinition](eventdefinition.html): A type of use context assigned to the event definition
3680* [Evidence](evidence.html): A type of use context assigned to the evidence
3681* [EvidenceReport](evidencereport.html): A type of use context assigned to the evidence report
3682* [EvidenceVariable](evidencevariable.html): A type of use context assigned to the evidence variable
3683* [ExampleScenario](examplescenario.html): A type of use context assigned to the example scenario
3684* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
3685* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
3686* [Library](library.html): A type of use context assigned to the library
3687* [Measure](measure.html): A type of use context assigned to the measure
3688* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
3689* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
3690* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
3691* [PlanDefinition](plandefinition.html): A type of use context assigned to the plan definition
3692* [Questionnaire](questionnaire.html): A type of use context assigned to the questionnaire
3693* [Requirements](requirements.html): A type of use context assigned to the requirements
3694* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
3695* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
3696* [StructureMap](structuremap.html): A type of use context assigned to the structure map
3697* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
3698* [TestScript](testscript.html): A type of use context assigned to the test script
3699* [ValueSet](valueset.html): A type of use context assigned to the value set
3700</b><br>
3701   * Type: <b>token</b><br>
3702   * 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>
3703   * </p>
3704   */
3705  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
3706
3707 /**
3708   * Search parameter: <b>context</b>
3709   * <p>
3710   * Description: <b>Multiple Resources: 
3711
3712* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3713* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3714* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3715* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3716* [Citation](citation.html): A use context assigned to the citation
3717* [CodeSystem](codesystem.html): A use context assigned to the code system
3718* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3719* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3720* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3721* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3722* [Evidence](evidence.html): A use context assigned to the evidence
3723* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3724* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3725* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3726* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3727* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3728* [Library](library.html): A use context assigned to the library
3729* [Measure](measure.html): A use context assigned to the measure
3730* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3731* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3732* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3733* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
3734* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
3735* [Requirements](requirements.html): A use context assigned to the requirements
3736* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
3737* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
3738* [StructureMap](structuremap.html): A use context assigned to the structure map
3739* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
3740* [TestScript](testscript.html): A use context assigned to the test script
3741* [ValueSet](valueset.html): A use context assigned to the value set
3742</b><br>
3743   * Type: <b>token</b><br>
3744   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
3745   * </p>
3746   */
3747  @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition\r\n* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition\r\n* [Citation](citation.html): A use context assigned to the citation\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition\r\n* [EventDefinition](eventdefinition.html): A use context assigned to the event definition\r\n* [Evidence](evidence.html): A use context assigned to the evidence\r\n* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report\r\n* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable\r\n* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [Library](library.html): A use context assigned to the library\r\n* [Measure](measure.html): A use context assigned to the measure\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition\r\n* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire\r\n* [Requirements](requirements.html): A use context assigned to the requirements\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [TestScript](testscript.html): A use context assigned to the test script\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
3748  public static final String SP_CONTEXT = "context";
3749 /**
3750   * <b>Fluent Client</b> search parameter constant for <b>context</b>
3751   * <p>
3752   * Description: <b>Multiple Resources: 
3753
3754* [ActivityDefinition](activitydefinition.html): A use context assigned to the activity definition
3755* [ActorDefinition](actordefinition.html): A use context assigned to the Actor Definition
3756* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
3757* [ChargeItemDefinition](chargeitemdefinition.html): A use context assigned to the charge item definition
3758* [Citation](citation.html): A use context assigned to the citation
3759* [CodeSystem](codesystem.html): A use context assigned to the code system
3760* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
3761* [ConceptMap](conceptmap.html): A use context assigned to the concept map
3762* [ConditionDefinition](conditiondefinition.html): A use context assigned to the condition definition
3763* [EventDefinition](eventdefinition.html): A use context assigned to the event definition
3764* [Evidence](evidence.html): A use context assigned to the evidence
3765* [EvidenceReport](evidencereport.html): A use context assigned to the evidence report
3766* [EvidenceVariable](evidencevariable.html): A use context assigned to the evidence variable
3767* [ExampleScenario](examplescenario.html): A use context assigned to the example scenario
3768* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
3769* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
3770* [Library](library.html): A use context assigned to the library
3771* [Measure](measure.html): A use context assigned to the measure
3772* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
3773* [NamingSystem](namingsystem.html): A use context assigned to the naming system
3774* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
3775* [PlanDefinition](plandefinition.html): A use context assigned to the plan definition
3776* [Questionnaire](questionnaire.html): A use context assigned to the questionnaire
3777* [Requirements](requirements.html): A use context assigned to the requirements
3778* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
3779* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
3780* [StructureMap](structuremap.html): A use context assigned to the structure map
3781* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
3782* [TestScript](testscript.html): A use context assigned to the test script
3783* [ValueSet](valueset.html): A use context assigned to the value set
3784</b><br>
3785   * Type: <b>token</b><br>
3786   * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept) | (ActorDefinition.useContext.value as CodeableConcept) | (CapabilityStatement.useContext.value as CodeableConcept) | (ChargeItemDefinition.useContext.value as CodeableConcept) | (Citation.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (ConditionDefinition.useContext.value as CodeableConcept) | (EventDefinition.useContext.value as CodeableConcept) | (Evidence.useContext.value as CodeableConcept) | (EvidenceReport.useContext.value as CodeableConcept) | (EvidenceVariable.useContext.value as CodeableConcept) | (ExampleScenario.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (Library.useContext.value as CodeableConcept) | (Measure.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (PlanDefinition.useContext.value as CodeableConcept) | (Questionnaire.useContext.value as CodeableConcept) | (Requirements.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (TestScript.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
3787   * </p>
3788   */
3789  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
3790
3791 /**
3792   * Search parameter: <b>date</b>
3793   * <p>
3794   * Description: <b>Multiple Resources: 
3795
3796* [ActivityDefinition](activitydefinition.html): The activity definition publication date
3797* [ActorDefinition](actordefinition.html): The Actor Definition publication date
3798* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
3799* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
3800* [Citation](citation.html): The citation publication date
3801* [CodeSystem](codesystem.html): The code system publication date
3802* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
3803* [ConceptMap](conceptmap.html): The concept map publication date
3804* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
3805* [EventDefinition](eventdefinition.html): The event definition publication date
3806* [Evidence](evidence.html): The evidence publication date
3807* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
3808* [ExampleScenario](examplescenario.html): The example scenario publication date
3809* [GraphDefinition](graphdefinition.html): The graph definition publication date
3810* [ImplementationGuide](implementationguide.html): The implementation guide publication date
3811* [Library](library.html): The library publication date
3812* [Measure](measure.html): The measure publication date
3813* [MessageDefinition](messagedefinition.html): The message definition publication date
3814* [NamingSystem](namingsystem.html): The naming system publication date
3815* [OperationDefinition](operationdefinition.html): The operation definition publication date
3816* [PlanDefinition](plandefinition.html): The plan definition publication date
3817* [Questionnaire](questionnaire.html): The questionnaire publication date
3818* [Requirements](requirements.html): The requirements publication date
3819* [SearchParameter](searchparameter.html): The search parameter publication date
3820* [StructureDefinition](structuredefinition.html): The structure definition publication date
3821* [StructureMap](structuremap.html): The structure map publication date
3822* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
3823* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
3824* [TestScript](testscript.html): The test script publication date
3825* [ValueSet](valueset.html): The value set publication date
3826</b><br>
3827   * Type: <b>date</b><br>
3828   * 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>
3829   * </p>
3830   */
3831  @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" )
3832  public static final String SP_DATE = "date";
3833 /**
3834   * <b>Fluent Client</b> search parameter constant for <b>date</b>
3835   * <p>
3836   * Description: <b>Multiple Resources: 
3837
3838* [ActivityDefinition](activitydefinition.html): The activity definition publication date
3839* [ActorDefinition](actordefinition.html): The Actor Definition publication date
3840* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
3841* [ChargeItemDefinition](chargeitemdefinition.html): The charge item definition publication date
3842* [Citation](citation.html): The citation publication date
3843* [CodeSystem](codesystem.html): The code system publication date
3844* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
3845* [ConceptMap](conceptmap.html): The concept map publication date
3846* [ConditionDefinition](conditiondefinition.html): The condition definition publication date
3847* [EventDefinition](eventdefinition.html): The event definition publication date
3848* [Evidence](evidence.html): The evidence publication date
3849* [EvidenceVariable](evidencevariable.html): The evidence variable publication date
3850* [ExampleScenario](examplescenario.html): The example scenario publication date
3851* [GraphDefinition](graphdefinition.html): The graph definition publication date
3852* [ImplementationGuide](implementationguide.html): The implementation guide publication date
3853* [Library](library.html): The library publication date
3854* [Measure](measure.html): The measure publication date
3855* [MessageDefinition](messagedefinition.html): The message definition publication date
3856* [NamingSystem](namingsystem.html): The naming system publication date
3857* [OperationDefinition](operationdefinition.html): The operation definition publication date
3858* [PlanDefinition](plandefinition.html): The plan definition publication date
3859* [Questionnaire](questionnaire.html): The questionnaire publication date
3860* [Requirements](requirements.html): The requirements publication date
3861* [SearchParameter](searchparameter.html): The search parameter publication date
3862* [StructureDefinition](structuredefinition.html): The structure definition publication date
3863* [StructureMap](structuremap.html): The structure map publication date
3864* [SubscriptionTopic](subscriptiontopic.html): Date status first applied
3865* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
3866* [TestScript](testscript.html): The test script publication date
3867* [ValueSet](valueset.html): The value set publication date
3868</b><br>
3869   * Type: <b>date</b><br>
3870   * 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>
3871   * </p>
3872   */
3873  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
3874
3875 /**
3876   * Search parameter: <b>description</b>
3877   * <p>
3878   * Description: <b>Multiple Resources: 
3879
3880* [ActivityDefinition](activitydefinition.html): The description of the activity definition
3881* [ActorDefinition](actordefinition.html): The description of the Actor Definition
3882* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
3883* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
3884* [Citation](citation.html): The description of the citation
3885* [CodeSystem](codesystem.html): The description of the code system
3886* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3887* [ConceptMap](conceptmap.html): The description of the concept map
3888* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
3889* [EventDefinition](eventdefinition.html): The description of the event definition
3890* [Evidence](evidence.html): The description of the evidence
3891* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
3892* [GraphDefinition](graphdefinition.html): The description of the graph definition
3893* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3894* [Library](library.html): The description of the library
3895* [Measure](measure.html): The description of the measure
3896* [MessageDefinition](messagedefinition.html): The description of the message definition
3897* [NamingSystem](namingsystem.html): The description of the naming system
3898* [OperationDefinition](operationdefinition.html): The description of the operation definition
3899* [PlanDefinition](plandefinition.html): The description of the plan definition
3900* [Questionnaire](questionnaire.html): The description of the questionnaire
3901* [Requirements](requirements.html): The description of the requirements
3902* [SearchParameter](searchparameter.html): The description of the search parameter
3903* [StructureDefinition](structuredefinition.html): The description of the structure definition
3904* [StructureMap](structuremap.html): The description of the structure map
3905* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3906* [TestScript](testscript.html): The description of the test script
3907* [ValueSet](valueset.html): The description of the value set
3908</b><br>
3909   * Type: <b>string</b><br>
3910   * 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>
3911   * </p>
3912   */
3913  @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" )
3914  public static final String SP_DESCRIPTION = "description";
3915 /**
3916   * <b>Fluent Client</b> search parameter constant for <b>description</b>
3917   * <p>
3918   * Description: <b>Multiple Resources: 
3919
3920* [ActivityDefinition](activitydefinition.html): The description of the activity definition
3921* [ActorDefinition](actordefinition.html): The description of the Actor Definition
3922* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
3923* [ChargeItemDefinition](chargeitemdefinition.html): The description of the charge item definition
3924* [Citation](citation.html): The description of the citation
3925* [CodeSystem](codesystem.html): The description of the code system
3926* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3927* [ConceptMap](conceptmap.html): The description of the concept map
3928* [ConditionDefinition](conditiondefinition.html): The description of the condition definition
3929* [EventDefinition](eventdefinition.html): The description of the event definition
3930* [Evidence](evidence.html): The description of the evidence
3931* [EvidenceVariable](evidencevariable.html): The description of the evidence variable
3932* [GraphDefinition](graphdefinition.html): The description of the graph definition
3933* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3934* [Library](library.html): The description of the library
3935* [Measure](measure.html): The description of the measure
3936* [MessageDefinition](messagedefinition.html): The description of the message definition
3937* [NamingSystem](namingsystem.html): The description of the naming system
3938* [OperationDefinition](operationdefinition.html): The description of the operation definition
3939* [PlanDefinition](plandefinition.html): The description of the plan definition
3940* [Questionnaire](questionnaire.html): The description of the questionnaire
3941* [Requirements](requirements.html): The description of the requirements
3942* [SearchParameter](searchparameter.html): The description of the search parameter
3943* [StructureDefinition](structuredefinition.html): The description of the structure definition
3944* [StructureMap](structuremap.html): The description of the structure map
3945* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3946* [TestScript](testscript.html): The description of the test script
3947* [ValueSet](valueset.html): The description of the value set
3948</b><br>
3949   * Type: <b>string</b><br>
3950   * 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>
3951   * </p>
3952   */
3953  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
3954
3955 /**
3956   * Search parameter: <b>jurisdiction</b>
3957   * <p>
3958   * Description: <b>Multiple Resources: 
3959
3960* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
3961* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
3962* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
3963* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
3964* [Citation](citation.html): Intended jurisdiction for the citation
3965* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
3966* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
3967* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
3968* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
3969* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
3970* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
3971* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
3972* [Library](library.html): Intended jurisdiction for the library
3973* [Measure](measure.html): Intended jurisdiction for the measure
3974* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
3975* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
3976* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
3977* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
3978* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
3979* [Requirements](requirements.html): Intended jurisdiction for the requirements
3980* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
3981* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
3982* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
3983* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
3984* [TestScript](testscript.html): Intended jurisdiction for the test script
3985* [ValueSet](valueset.html): Intended jurisdiction for the value set
3986</b><br>
3987   * Type: <b>token</b><br>
3988   * 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>
3989   * </p>
3990   */
3991  @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" )
3992  public static final String SP_JURISDICTION = "jurisdiction";
3993 /**
3994   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
3995   * <p>
3996   * Description: <b>Multiple Resources: 
3997
3998* [ActivityDefinition](activitydefinition.html): Intended jurisdiction for the activity definition
3999* [ActorDefinition](actordefinition.html): Intended jurisdiction for the Actor Definition
4000* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
4001* [ChargeItemDefinition](chargeitemdefinition.html): Intended jurisdiction for the charge item definition
4002* [Citation](citation.html): Intended jurisdiction for the citation
4003* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
4004* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
4005* [ConditionDefinition](conditiondefinition.html): Intended jurisdiction for the condition definition
4006* [EventDefinition](eventdefinition.html): Intended jurisdiction for the event definition
4007* [ExampleScenario](examplescenario.html): Intended jurisdiction for the example scenario
4008* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
4009* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
4010* [Library](library.html): Intended jurisdiction for the library
4011* [Measure](measure.html): Intended jurisdiction for the measure
4012* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
4013* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
4014* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
4015* [PlanDefinition](plandefinition.html): Intended jurisdiction for the plan definition
4016* [Questionnaire](questionnaire.html): Intended jurisdiction for the questionnaire
4017* [Requirements](requirements.html): Intended jurisdiction for the requirements
4018* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
4019* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
4020* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
4021* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
4022* [TestScript](testscript.html): Intended jurisdiction for the test script
4023* [ValueSet](valueset.html): Intended jurisdiction for the value set
4024</b><br>
4025   * Type: <b>token</b><br>
4026   * 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>
4027   * </p>
4028   */
4029  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
4030
4031 /**
4032   * Search parameter: <b>name</b>
4033   * <p>
4034   * Description: <b>Multiple Resources: 
4035
4036* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
4037* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
4038* [Citation](citation.html): Computationally friendly name of the citation
4039* [CodeSystem](codesystem.html): Computationally friendly name of the code system
4040* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
4041* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
4042* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
4043* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
4044* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
4045* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
4046* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
4047* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
4048* [Library](library.html): Computationally friendly name of the library
4049* [Measure](measure.html): Computationally friendly name of the measure
4050* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
4051* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
4052* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
4053* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
4054* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
4055* [Requirements](requirements.html): Computationally friendly name of the requirements
4056* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
4057* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
4058* [StructureMap](structuremap.html): Computationally friendly name of the structure map
4059* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
4060* [TestScript](testscript.html): Computationally friendly name of the test script
4061* [ValueSet](valueset.html): Computationally friendly name of the value set
4062</b><br>
4063   * Type: <b>string</b><br>
4064   * 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>
4065   * </p>
4066   */
4067  @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" )
4068  public static final String SP_NAME = "name";
4069 /**
4070   * <b>Fluent Client</b> search parameter constant for <b>name</b>
4071   * <p>
4072   * Description: <b>Multiple Resources: 
4073
4074* [ActivityDefinition](activitydefinition.html): Computationally friendly name of the activity definition
4075* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
4076* [Citation](citation.html): Computationally friendly name of the citation
4077* [CodeSystem](codesystem.html): Computationally friendly name of the code system
4078* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
4079* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
4080* [ConditionDefinition](conditiondefinition.html): Computationally friendly name of the condition definition
4081* [EventDefinition](eventdefinition.html): Computationally friendly name of the event definition
4082* [EvidenceVariable](evidencevariable.html): Computationally friendly name of the evidence variable
4083* [ExampleScenario](examplescenario.html): Computationally friendly name of the example scenario
4084* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
4085* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
4086* [Library](library.html): Computationally friendly name of the library
4087* [Measure](measure.html): Computationally friendly name of the measure
4088* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
4089* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
4090* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
4091* [PlanDefinition](plandefinition.html): Computationally friendly name of the plan definition
4092* [Questionnaire](questionnaire.html): Computationally friendly name of the questionnaire
4093* [Requirements](requirements.html): Computationally friendly name of the requirements
4094* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
4095* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
4096* [StructureMap](structuremap.html): Computationally friendly name of the structure map
4097* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
4098* [TestScript](testscript.html): Computationally friendly name of the test script
4099* [ValueSet](valueset.html): Computationally friendly name of the value set
4100</b><br>
4101   * Type: <b>string</b><br>
4102   * 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>
4103   * </p>
4104   */
4105  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
4106
4107 /**
4108   * Search parameter: <b>publisher</b>
4109   * <p>
4110   * Description: <b>Multiple Resources: 
4111
4112* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
4113* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4114* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4115* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4116* [Citation](citation.html): Name of the publisher of the citation
4117* [CodeSystem](codesystem.html): Name of the publisher of the code system
4118* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4119* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4120* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4121* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4122* [Evidence](evidence.html): Name of the publisher of the evidence
4123* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4124* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4125* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4126* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4127* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4128* [Library](library.html): Name of the publisher of the library
4129* [Measure](measure.html): Name of the publisher of the measure
4130* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4131* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4132* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4133* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4134* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4135* [Requirements](requirements.html): Name of the publisher of the requirements
4136* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4137* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4138* [StructureMap](structuremap.html): Name of the publisher of the structure map
4139* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4140* [TestScript](testscript.html): Name of the publisher of the test script
4141* [ValueSet](valueset.html): Name of the publisher of the value set
4142</b><br>
4143   * Type: <b>string</b><br>
4144   * 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>
4145   * </p>
4146   */
4147  @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" )
4148  public static final String SP_PUBLISHER = "publisher";
4149 /**
4150   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
4151   * <p>
4152   * Description: <b>Multiple Resources: 
4153
4154* [ActivityDefinition](activitydefinition.html): Name of the publisher of the activity definition
4155* [ActorDefinition](actordefinition.html): Name of the publisher of the Actor Definition
4156* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
4157* [ChargeItemDefinition](chargeitemdefinition.html): Name of the publisher of the charge item definition
4158* [Citation](citation.html): Name of the publisher of the citation
4159* [CodeSystem](codesystem.html): Name of the publisher of the code system
4160* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
4161* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
4162* [ConditionDefinition](conditiondefinition.html): Name of the publisher of the condition definition
4163* [EventDefinition](eventdefinition.html): Name of the publisher of the event definition
4164* [Evidence](evidence.html): Name of the publisher of the evidence
4165* [EvidenceReport](evidencereport.html): Name of the publisher of the evidence report
4166* [EvidenceVariable](evidencevariable.html): Name of the publisher of the evidence variable
4167* [ExampleScenario](examplescenario.html): Name of the publisher of the example scenario
4168* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
4169* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
4170* [Library](library.html): Name of the publisher of the library
4171* [Measure](measure.html): Name of the publisher of the measure
4172* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
4173* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
4174* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
4175* [PlanDefinition](plandefinition.html): Name of the publisher of the plan definition
4176* [Questionnaire](questionnaire.html): Name of the publisher of the questionnaire
4177* [Requirements](requirements.html): Name of the publisher of the requirements
4178* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
4179* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
4180* [StructureMap](structuremap.html): Name of the publisher of the structure map
4181* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
4182* [TestScript](testscript.html): Name of the publisher of the test script
4183* [ValueSet](valueset.html): Name of the publisher of the value set
4184</b><br>
4185   * Type: <b>string</b><br>
4186   * 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>
4187   * </p>
4188   */
4189  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
4190
4191 /**
4192   * Search parameter: <b>status</b>
4193   * <p>
4194   * Description: <b>Multiple Resources: 
4195
4196* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4197* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4198* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4199* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4200* [Citation](citation.html): The current status of the citation
4201* [CodeSystem](codesystem.html): The current status of the code system
4202* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4203* [ConceptMap](conceptmap.html): The current status of the concept map
4204* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4205* [EventDefinition](eventdefinition.html): The current status of the event definition
4206* [Evidence](evidence.html): The current status of the evidence
4207* [EvidenceReport](evidencereport.html): The current status of the evidence report
4208* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4209* [ExampleScenario](examplescenario.html): The current status of the example scenario
4210* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4211* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4212* [Library](library.html): The current status of the library
4213* [Measure](measure.html): The current status of the measure
4214* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4215* [MessageDefinition](messagedefinition.html): The current status of the message definition
4216* [NamingSystem](namingsystem.html): The current status of the naming system
4217* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4218* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4219* [PlanDefinition](plandefinition.html): The current status of the plan definition
4220* [Questionnaire](questionnaire.html): The current status of the questionnaire
4221* [Requirements](requirements.html): The current status of the requirements
4222* [SearchParameter](searchparameter.html): The current status of the search parameter
4223* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4224* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4225* [StructureMap](structuremap.html): The current status of the structure map
4226* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4227* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4228* [TestScript](testscript.html): The current status of the test script
4229* [ValueSet](valueset.html): The current status of the value set
4230</b><br>
4231   * Type: <b>token</b><br>
4232   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
4233   * </p>
4234   */
4235  @SearchParamDefinition(name="status", path="ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The current status of the activity definition\r\n* [ActorDefinition](actordefinition.html): The current status of the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition\r\n* [Citation](citation.html): The current status of the citation\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition\r\n* [EventDefinition](eventdefinition.html): The current status of the event definition\r\n* [Evidence](evidence.html): The current status of the evidence\r\n* [EvidenceReport](evidencereport.html): The current status of the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable\r\n* [ExampleScenario](examplescenario.html): The current status of the example scenario\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [Library](library.html): The current status of the library\r\n* [Measure](measure.html): The current status of the measure\r\n* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [PlanDefinition](plandefinition.html): The current status of the plan definition\r\n* [Questionnaire](questionnaire.html): The current status of the questionnaire\r\n* [Requirements](requirements.html): The current status of the requirements\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [TestScript](testscript.html): The current status of the test script\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
4236  public static final String SP_STATUS = "status";
4237 /**
4238   * <b>Fluent Client</b> search parameter constant for <b>status</b>
4239   * <p>
4240   * Description: <b>Multiple Resources: 
4241
4242* [ActivityDefinition](activitydefinition.html): The current status of the activity definition
4243* [ActorDefinition](actordefinition.html): The current status of the Actor Definition
4244* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
4245* [ChargeItemDefinition](chargeitemdefinition.html): The current status of the charge item definition
4246* [Citation](citation.html): The current status of the citation
4247* [CodeSystem](codesystem.html): The current status of the code system
4248* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
4249* [ConceptMap](conceptmap.html): The current status of the concept map
4250* [ConditionDefinition](conditiondefinition.html): The current status of the condition definition
4251* [EventDefinition](eventdefinition.html): The current status of the event definition
4252* [Evidence](evidence.html): The current status of the evidence
4253* [EvidenceReport](evidencereport.html): The current status of the evidence report
4254* [EvidenceVariable](evidencevariable.html): The current status of the evidence variable
4255* [ExampleScenario](examplescenario.html): The current status of the example scenario
4256* [GraphDefinition](graphdefinition.html): The current status of the graph definition
4257* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
4258* [Library](library.html): The current status of the library
4259* [Measure](measure.html): The current status of the measure
4260* [MedicationKnowledge](medicationknowledge.html): active | inactive | entered-in-error
4261* [MessageDefinition](messagedefinition.html): The current status of the message definition
4262* [NamingSystem](namingsystem.html): The current status of the naming system
4263* [ObservationDefinition](observationdefinition.html): Publication status of the ObservationDefinition: draft, active, retired, unknown
4264* [OperationDefinition](operationdefinition.html): The current status of the operation definition
4265* [PlanDefinition](plandefinition.html): The current status of the plan definition
4266* [Questionnaire](questionnaire.html): The current status of the questionnaire
4267* [Requirements](requirements.html): The current status of the requirements
4268* [SearchParameter](searchparameter.html): The current status of the search parameter
4269* [SpecimenDefinition](specimendefinition.html): Publication status of the SpecimenDefinition: draft, active, retired, unknown
4270* [StructureDefinition](structuredefinition.html): The current status of the structure definition
4271* [StructureMap](structuremap.html): The current status of the structure map
4272* [SubscriptionTopic](subscriptiontopic.html): draft | active | retired | unknown
4273* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
4274* [TestScript](testscript.html): The current status of the test script
4275* [ValueSet](valueset.html): The current status of the value set
4276</b><br>
4277   * Type: <b>token</b><br>
4278   * Path: <b>ActivityDefinition.status | ActorDefinition.status | CapabilityStatement.status | ChargeItemDefinition.status | Citation.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | ConditionDefinition.status | EventDefinition.status | Evidence.status | EvidenceReport.status | EvidenceVariable.status | ExampleScenario.status | GraphDefinition.status | ImplementationGuide.status | Library.status | Measure.status | MedicationKnowledge.status | MessageDefinition.status | NamingSystem.status | ObservationDefinition.status | OperationDefinition.status | PlanDefinition.status | Questionnaire.status | Requirements.status | SearchParameter.status | SpecimenDefinition.status | StructureDefinition.status | StructureMap.status | SubscriptionTopic.status | TerminologyCapabilities.status | TestScript.status | ValueSet.status</b><br>
4279   * </p>
4280   */
4281  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
4282
4283 /**
4284   * Search parameter: <b>url</b>
4285   * <p>
4286   * Description: <b>Multiple Resources: 
4287
4288* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4289* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4290* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4291* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4292* [Citation](citation.html): The uri that identifies the citation
4293* [CodeSystem](codesystem.html): The uri that identifies the code system
4294* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4295* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4296* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4297* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4298* [Evidence](evidence.html): The uri that identifies the evidence
4299* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4300* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4301* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4302* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4303* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4304* [Library](library.html): The uri that identifies the library
4305* [Measure](measure.html): The uri that identifies the measure
4306* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4307* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4308* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4309* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4310* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4311* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4312* [Requirements](requirements.html): The uri that identifies the requirements
4313* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4314* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4315* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4316* [StructureMap](structuremap.html): The uri that identifies the structure map
4317* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4318* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4319* [TestScript](testscript.html): The uri that identifies the test script
4320* [ValueSet](valueset.html): The uri that identifies the value set
4321</b><br>
4322   * Type: <b>uri</b><br>
4323   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
4324   * </p>
4325   */
4326  @SearchParamDefinition(name="url", path="ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition\r\n* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition\r\n* [Citation](citation.html): The uri that identifies the citation\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition\r\n* [EventDefinition](eventdefinition.html): The uri that identifies the event definition\r\n* [Evidence](evidence.html): The uri that identifies the evidence\r\n* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report\r\n* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable\r\n* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [Library](library.html): The uri that identifies the library\r\n* [Measure](measure.html): The uri that identifies the measure\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition\r\n* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire\r\n* [Requirements](requirements.html): The uri that identifies the requirements\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [TestScript](testscript.html): The uri that identifies the test script\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
4327  public static final String SP_URL = "url";
4328 /**
4329   * <b>Fluent Client</b> search parameter constant for <b>url</b>
4330   * <p>
4331   * Description: <b>Multiple Resources: 
4332
4333* [ActivityDefinition](activitydefinition.html): The uri that identifies the activity definition
4334* [ActorDefinition](actordefinition.html): The uri that identifies the Actor Definition
4335* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
4336* [ChargeItemDefinition](chargeitemdefinition.html): The uri that identifies the charge item definition
4337* [Citation](citation.html): The uri that identifies the citation
4338* [CodeSystem](codesystem.html): The uri that identifies the code system
4339* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
4340* [ConceptMap](conceptmap.html): The URI that identifies the concept map
4341* [ConditionDefinition](conditiondefinition.html): The uri that identifies the condition definition
4342* [EventDefinition](eventdefinition.html): The uri that identifies the event definition
4343* [Evidence](evidence.html): The uri that identifies the evidence
4344* [EvidenceReport](evidencereport.html): The uri that identifies the evidence report
4345* [EvidenceVariable](evidencevariable.html): The uri that identifies the evidence variable
4346* [ExampleScenario](examplescenario.html): The uri that identifies the example scenario
4347* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
4348* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
4349* [Library](library.html): The uri that identifies the library
4350* [Measure](measure.html): The uri that identifies the measure
4351* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
4352* [NamingSystem](namingsystem.html): The uri that identifies the naming system
4353* [ObservationDefinition](observationdefinition.html): The uri that identifies the observation definition
4354* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
4355* [PlanDefinition](plandefinition.html): The uri that identifies the plan definition
4356* [Questionnaire](questionnaire.html): The uri that identifies the questionnaire
4357* [Requirements](requirements.html): The uri that identifies the requirements
4358* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
4359* [SpecimenDefinition](specimendefinition.html): The uri that identifies the specimen definition
4360* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
4361* [StructureMap](structuremap.html): The uri that identifies the structure map
4362* [SubscriptionTopic](subscriptiontopic.html): Logical canonical URL to reference this SubscriptionTopic (globally unique)
4363* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
4364* [TestScript](testscript.html): The uri that identifies the test script
4365* [ValueSet](valueset.html): The uri that identifies the value set
4366</b><br>
4367   * Type: <b>uri</b><br>
4368   * Path: <b>ActivityDefinition.url | ActorDefinition.url | CapabilityStatement.url | ChargeItemDefinition.url | Citation.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | ConditionDefinition.url | EventDefinition.url | Evidence.url | EvidenceReport.url | EvidenceVariable.url | ExampleScenario.url | GraphDefinition.url | ImplementationGuide.url | Library.url | Measure.url | MessageDefinition.url | NamingSystem.url | ObservationDefinition.url | OperationDefinition.url | PlanDefinition.url | Questionnaire.url | Requirements.url | SearchParameter.url | SpecimenDefinition.url | StructureDefinition.url | StructureMap.url | SubscriptionTopic.url | TerminologyCapabilities.url | TestScript.url | ValueSet.url</b><br>
4369   * </p>
4370   */
4371  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
4372
4373 /**
4374   * Search parameter: <b>version</b>
4375   * <p>
4376   * Description: <b>Multiple Resources: 
4377
4378* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4379* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4380* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4381* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4382* [Citation](citation.html): The business version of the citation
4383* [CodeSystem](codesystem.html): The business version of the code system
4384* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4385* [ConceptMap](conceptmap.html): The business version of the concept map
4386* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4387* [EventDefinition](eventdefinition.html): The business version of the event definition
4388* [Evidence](evidence.html): The business version of the evidence
4389* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4390* [ExampleScenario](examplescenario.html): The business version of the example scenario
4391* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4392* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4393* [Library](library.html): The business version of the library
4394* [Measure](measure.html): The business version of the measure
4395* [MessageDefinition](messagedefinition.html): The business version of the message definition
4396* [NamingSystem](namingsystem.html): The business version of the naming system
4397* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4398* [PlanDefinition](plandefinition.html): The business version of the plan definition
4399* [Questionnaire](questionnaire.html): The business version of the questionnaire
4400* [Requirements](requirements.html): The business version of the requirements
4401* [SearchParameter](searchparameter.html): The business version of the search parameter
4402* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4403* [StructureMap](structuremap.html): The business version of the structure map
4404* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4405* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4406* [TestScript](testscript.html): The business version of the test script
4407* [ValueSet](valueset.html): The business version of the value set
4408</b><br>
4409   * Type: <b>token</b><br>
4410   * 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>
4411   * </p>
4412   */
4413  @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" )
4414  public static final String SP_VERSION = "version";
4415 /**
4416   * <b>Fluent Client</b> search parameter constant for <b>version</b>
4417   * <p>
4418   * Description: <b>Multiple Resources: 
4419
4420* [ActivityDefinition](activitydefinition.html): The business version of the activity definition
4421* [ActorDefinition](actordefinition.html): The business version of the Actor Definition
4422* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
4423* [ChargeItemDefinition](chargeitemdefinition.html): The business version of the charge item definition
4424* [Citation](citation.html): The business version of the citation
4425* [CodeSystem](codesystem.html): The business version of the code system
4426* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
4427* [ConceptMap](conceptmap.html): The business version of the concept map
4428* [ConditionDefinition](conditiondefinition.html): The business version of the condition definition
4429* [EventDefinition](eventdefinition.html): The business version of the event definition
4430* [Evidence](evidence.html): The business version of the evidence
4431* [EvidenceVariable](evidencevariable.html): The business version of the evidence variable
4432* [ExampleScenario](examplescenario.html): The business version of the example scenario
4433* [GraphDefinition](graphdefinition.html): The business version of the graph definition
4434* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
4435* [Library](library.html): The business version of the library
4436* [Measure](measure.html): The business version of the measure
4437* [MessageDefinition](messagedefinition.html): The business version of the message definition
4438* [NamingSystem](namingsystem.html): The business version of the naming system
4439* [OperationDefinition](operationdefinition.html): The business version of the operation definition
4440* [PlanDefinition](plandefinition.html): The business version of the plan definition
4441* [Questionnaire](questionnaire.html): The business version of the questionnaire
4442* [Requirements](requirements.html): The business version of the requirements
4443* [SearchParameter](searchparameter.html): The business version of the search parameter
4444* [StructureDefinition](structuredefinition.html): The business version of the structure definition
4445* [StructureMap](structuremap.html): The business version of the structure map
4446* [SubscriptionTopic](subscriptiontopic.html): Business version of the SubscriptionTopic
4447* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
4448* [TestScript](testscript.html): The business version of the test script
4449* [ValueSet](valueset.html): The business version of the value set
4450</b><br>
4451   * Type: <b>token</b><br>
4452   * 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>
4453   * </p>
4454   */
4455  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
4456
4457 /**
4458   * Search parameter: <b>start</b>
4459   * <p>
4460   * Description: <b>Type of resource at which the graph starts</b><br>
4461   * Type: <b>token</b><br>
4462   * Path: <b>GraphDefinition.start</b><br>
4463   * </p>
4464   */
4465  @SearchParamDefinition(name="start", path="GraphDefinition.start", description="Type of resource at which the graph starts", type="token" )
4466  public static final String SP_START = "start";
4467 /**
4468   * <b>Fluent Client</b> search parameter constant for <b>start</b>
4469   * <p>
4470   * Description: <b>Type of resource at which the graph starts</b><br>
4471   * Type: <b>token</b><br>
4472   * Path: <b>GraphDefinition.start</b><br>
4473   * </p>
4474   */
4475  public static final ca.uhn.fhir.rest.gclient.TokenClientParam START = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_START);
4476
4477// Manual code (from Configuration.txt):
4478  public boolean supportsCopyright() {
4479    return false;
4480  }
4481  
4482// end addition
4483
4484}