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