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