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