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 Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2
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 curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a "System" used within the Identifier and Coding data types.
052 */
053@ResourceDef(name="NamingSystem", profile="http://hl7.org/fhir/StructureDefinition/NamingSystem")
054public class NamingSystem extends MetadataResource {
055
056    public enum NamingSystemIdentifierType {
057        /**
058         * An ISO object identifier; e.g. 1.2.3.4.5.
059         */
060        OID, 
061        /**
062         * A universally unique identifier of the form a5afddf4-e880-459b-876e-e4591b0acc11.
063         */
064        UUID, 
065        /**
066         * A uniform resource identifier (ideally a URL - uniform resource locator); e.g. http://unitsofmeasure.org.
067         */
068        URI, 
069        /**
070         * A short string published by HL7 for use in the V2 family of standsrds to idenfify a code system in the V12 coded data types CWE, CNE, and CF. The code values are also published by HL7 at http://www.hl7.org/Special/committees/vocab/table_0396/index.cfm
071         */
072        V2CSMNEMONIC, 
073        /**
074         * Some other type of unique identifier; e.g. HL7-assigned reserved string such as LN for LOINC.
075         */
076        OTHER, 
077        /**
078         * added to help the parsers with the generic types
079         */
080        NULL;
081        public static NamingSystemIdentifierType fromCode(String codeString) throws FHIRException {
082            if (codeString == null || "".equals(codeString))
083                return null;
084        if ("oid".equals(codeString))
085          return OID;
086        if ("uuid".equals(codeString))
087          return UUID;
088        if ("uri".equals(codeString))
089          return URI;
090        if ("v2csmnemonic".equals(codeString))
091          return V2CSMNEMONIC;
092        if ("other".equals(codeString))
093          return OTHER;
094        if (Configuration.isAcceptInvalidEnums())
095          return null;
096        else
097          throw new FHIRException("Unknown NamingSystemIdentifierType code '"+codeString+"'");
098        }
099        public String toCode() {
100          switch (this) {
101            case OID: return "oid";
102            case UUID: return "uuid";
103            case URI: return "uri";
104            case V2CSMNEMONIC: return "v2csmnemonic";
105            case OTHER: return "other";
106            case NULL: return null;
107            default: return "?";
108          }
109        }
110        public String getSystem() {
111          switch (this) {
112            case OID: return "http://hl7.org/fhir/namingsystem-identifier-type";
113            case UUID: return "http://hl7.org/fhir/namingsystem-identifier-type";
114            case URI: return "http://hl7.org/fhir/namingsystem-identifier-type";
115            case V2CSMNEMONIC: return "http://hl7.org/fhir/namingsystem-identifier-type";
116            case OTHER: return "http://hl7.org/fhir/namingsystem-identifier-type";
117            case NULL: return null;
118            default: return "?";
119          }
120        }
121        public String getDefinition() {
122          switch (this) {
123            case OID: return "An ISO object identifier; e.g. 1.2.3.4.5.";
124            case UUID: return "A universally unique identifier of the form a5afddf4-e880-459b-876e-e4591b0acc11.";
125            case URI: return "A uniform resource identifier (ideally a URL - uniform resource locator); e.g. http://unitsofmeasure.org.";
126            case V2CSMNEMONIC: return "A short string published by HL7 for use in the V2 family of standsrds to idenfify a code system in the V12 coded data types CWE, CNE, and CF. The code values are also published by HL7 at http://www.hl7.org/Special/committees/vocab/table_0396/index.cfm";
127            case OTHER: return "Some other type of unique identifier; e.g. HL7-assigned reserved string such as LN for LOINC.";
128            case NULL: return null;
129            default: return "?";
130          }
131        }
132        public String getDisplay() {
133          switch (this) {
134            case OID: return "OID";
135            case UUID: return "UUID";
136            case URI: return "URI";
137            case V2CSMNEMONIC: return "V2CSMNemonic";
138            case OTHER: return "Other";
139            case NULL: return null;
140            default: return "?";
141          }
142        }
143    }
144
145  public static class NamingSystemIdentifierTypeEnumFactory implements EnumFactory<NamingSystemIdentifierType> {
146    public NamingSystemIdentifierType fromCode(String codeString) throws IllegalArgumentException {
147      if (codeString == null || "".equals(codeString))
148            if (codeString == null || "".equals(codeString))
149                return null;
150        if ("oid".equals(codeString))
151          return NamingSystemIdentifierType.OID;
152        if ("uuid".equals(codeString))
153          return NamingSystemIdentifierType.UUID;
154        if ("uri".equals(codeString))
155          return NamingSystemIdentifierType.URI;
156        if ("v2csmnemonic".equals(codeString))
157          return NamingSystemIdentifierType.V2CSMNEMONIC;
158        if ("other".equals(codeString))
159          return NamingSystemIdentifierType.OTHER;
160        throw new IllegalArgumentException("Unknown NamingSystemIdentifierType code '"+codeString+"'");
161        }
162        public Enumeration<NamingSystemIdentifierType> fromType(Base code) throws FHIRException {
163          if (code == null)
164            return null;
165          if (code.isEmpty())
166            return new Enumeration<NamingSystemIdentifierType>(this);
167          String codeString = ((PrimitiveType) code).asStringValue();
168          if (codeString == null || "".equals(codeString))
169            return null;
170        if ("oid".equals(codeString))
171          return new Enumeration<NamingSystemIdentifierType>(this, NamingSystemIdentifierType.OID);
172        if ("uuid".equals(codeString))
173          return new Enumeration<NamingSystemIdentifierType>(this, NamingSystemIdentifierType.UUID);
174        if ("uri".equals(codeString))
175          return new Enumeration<NamingSystemIdentifierType>(this, NamingSystemIdentifierType.URI);
176        if ("v2csmnemonic".equals(codeString))
177          return new Enumeration<NamingSystemIdentifierType>(this, NamingSystemIdentifierType.V2CSMNEMONIC);
178        if ("other".equals(codeString))
179          return new Enumeration<NamingSystemIdentifierType>(this, NamingSystemIdentifierType.OTHER);
180        throw new FHIRException("Unknown NamingSystemIdentifierType code '"+codeString+"'");
181        }
182    public String toCode(NamingSystemIdentifierType code) {
183      if (code == NamingSystemIdentifierType.OID)
184        return "oid";
185      if (code == NamingSystemIdentifierType.UUID)
186        return "uuid";
187      if (code == NamingSystemIdentifierType.URI)
188        return "uri";
189      if (code == NamingSystemIdentifierType.V2CSMNEMONIC)
190        return "v2csmnemonic";
191      if (code == NamingSystemIdentifierType.OTHER)
192        return "other";
193      return "?";
194      }
195    public String toSystem(NamingSystemIdentifierType code) {
196      return code.getSystem();
197      }
198    }
199
200    public enum NamingSystemType {
201        /**
202         * The naming system is used to define concepts and symbols to represent those concepts; e.g. UCUM, LOINC, NDC code, local lab codes, etc.
203         */
204        CODESYSTEM, 
205        /**
206         * The naming system is used to manage identifiers (e.g. license numbers, order numbers, etc.).
207         */
208        IDENTIFIER, 
209        /**
210         * The naming system is used as the root for other identifiers and naming systems.
211         */
212        ROOT, 
213        /**
214         * added to help the parsers with the generic types
215         */
216        NULL;
217        public static NamingSystemType fromCode(String codeString) throws FHIRException {
218            if (codeString == null || "".equals(codeString))
219                return null;
220        if ("codesystem".equals(codeString))
221          return CODESYSTEM;
222        if ("identifier".equals(codeString))
223          return IDENTIFIER;
224        if ("root".equals(codeString))
225          return ROOT;
226        if (Configuration.isAcceptInvalidEnums())
227          return null;
228        else
229          throw new FHIRException("Unknown NamingSystemType code '"+codeString+"'");
230        }
231        public String toCode() {
232          switch (this) {
233            case CODESYSTEM: return "codesystem";
234            case IDENTIFIER: return "identifier";
235            case ROOT: return "root";
236            case NULL: return null;
237            default: return "?";
238          }
239        }
240        public String getSystem() {
241          switch (this) {
242            case CODESYSTEM: return "http://hl7.org/fhir/namingsystem-type";
243            case IDENTIFIER: return "http://hl7.org/fhir/namingsystem-type";
244            case ROOT: return "http://hl7.org/fhir/namingsystem-type";
245            case NULL: return null;
246            default: return "?";
247          }
248        }
249        public String getDefinition() {
250          switch (this) {
251            case CODESYSTEM: return "The naming system is used to define concepts and symbols to represent those concepts; e.g. UCUM, LOINC, NDC code, local lab codes, etc.";
252            case IDENTIFIER: return "The naming system is used to manage identifiers (e.g. license numbers, order numbers, etc.).";
253            case ROOT: return "The naming system is used as the root for other identifiers and naming systems.";
254            case NULL: return null;
255            default: return "?";
256          }
257        }
258        public String getDisplay() {
259          switch (this) {
260            case CODESYSTEM: return "Code System";
261            case IDENTIFIER: return "Identifier";
262            case ROOT: return "Root";
263            case NULL: return null;
264            default: return "?";
265          }
266        }
267    }
268
269  public static class NamingSystemTypeEnumFactory implements EnumFactory<NamingSystemType> {
270    public NamingSystemType fromCode(String codeString) throws IllegalArgumentException {
271      if (codeString == null || "".equals(codeString))
272            if (codeString == null || "".equals(codeString))
273                return null;
274        if ("codesystem".equals(codeString))
275          return NamingSystemType.CODESYSTEM;
276        if ("identifier".equals(codeString))
277          return NamingSystemType.IDENTIFIER;
278        if ("root".equals(codeString))
279          return NamingSystemType.ROOT;
280        throw new IllegalArgumentException("Unknown NamingSystemType code '"+codeString+"'");
281        }
282        public Enumeration<NamingSystemType> fromType(Base code) throws FHIRException {
283          if (code == null)
284            return null;
285          if (code.isEmpty())
286            return new Enumeration<NamingSystemType>(this);
287          String codeString = ((PrimitiveType) code).asStringValue();
288          if (codeString == null || "".equals(codeString))
289            return null;
290        if ("codesystem".equals(codeString))
291          return new Enumeration<NamingSystemType>(this, NamingSystemType.CODESYSTEM);
292        if ("identifier".equals(codeString))
293          return new Enumeration<NamingSystemType>(this, NamingSystemType.IDENTIFIER);
294        if ("root".equals(codeString))
295          return new Enumeration<NamingSystemType>(this, NamingSystemType.ROOT);
296        throw new FHIRException("Unknown NamingSystemType code '"+codeString+"'");
297        }
298    public String toCode(NamingSystemType code) {
299      if (code == NamingSystemType.CODESYSTEM)
300        return "codesystem";
301      if (code == NamingSystemType.IDENTIFIER)
302        return "identifier";
303      if (code == NamingSystemType.ROOT)
304        return "root";
305      return "?";
306      }
307    public String toSystem(NamingSystemType code) {
308      return code.getSystem();
309      }
310    }
311
312    @Block()
313    public static class NamingSystemUniqueIdComponent extends BackboneElement implements IBaseBackboneElement {
314        /**
315         * Identifies the unique identifier scheme used for this particular identifier.
316         */
317        @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true)
318        @Description(shortDefinition="oid | uuid | uri | v2csmnemonic | other", formalDefinition="Identifies the unique identifier scheme used for this particular identifier." )
319        @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/namingsystem-identifier-type")
320        protected Enumeration<NamingSystemIdentifierType> type;
321
322        /**
323         * The string that should be sent over the wire to identify the code system or identifier system.
324         */
325        @Child(name = "value", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true)
326        @Description(shortDefinition="The unique identifier", formalDefinition="The string that should be sent over the wire to identify the code system or identifier system." )
327        protected StringType value;
328
329        /**
330         * Indicates whether this identifier is the "preferred" identifier of this type.
331         */
332        @Child(name = "preferred", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false)
333        @Description(shortDefinition="Is this the id that should be used for this type", formalDefinition="Indicates whether this identifier is the \"preferred\" identifier of this type." )
334        protected BooleanType preferred;
335
336        /**
337         * Notes about the past or intended usage of this identifier.
338         */
339        @Child(name = "comment", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false)
340        @Description(shortDefinition="Notes about identifier usage", formalDefinition="Notes about the past or intended usage of this identifier." )
341        protected StringType comment;
342
343        /**
344         * Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.
345         */
346        @Child(name = "period", type = {Period.class}, order=5, min=0, max=1, modifier=false, summary=false)
347        @Description(shortDefinition="When is identifier valid?", formalDefinition="Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic." )
348        protected Period period;
349
350        /**
351         * Indicates whether this identifier ie endorsed by the official owner of the associated naming system.
352         */
353        @Child(name = "authoritative", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false)
354        @Description(shortDefinition="Whether the identifier is authoritative", formalDefinition="Indicates whether this identifier ie endorsed by the official owner of the associated naming system." )
355        protected BooleanType authoritative;
356
357        private static final long serialVersionUID = -166953751L;
358
359    /**
360     * Constructor
361     */
362      public NamingSystemUniqueIdComponent() {
363        super();
364      }
365
366    /**
367     * Constructor
368     */
369      public NamingSystemUniqueIdComponent(NamingSystemIdentifierType type, String value) {
370        super();
371        this.setType(type);
372        this.setValue(value);
373      }
374
375        /**
376         * @return {@link #type} (Identifies the unique identifier scheme used for this particular identifier.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
377         */
378        public Enumeration<NamingSystemIdentifierType> getTypeElement() { 
379          if (this.type == null)
380            if (Configuration.errorOnAutoCreate())
381              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.type");
382            else if (Configuration.doAutoCreate())
383              this.type = new Enumeration<NamingSystemIdentifierType>(new NamingSystemIdentifierTypeEnumFactory()); // bb
384          return this.type;
385        }
386
387        public boolean hasTypeElement() { 
388          return this.type != null && !this.type.isEmpty();
389        }
390
391        public boolean hasType() { 
392          return this.type != null && !this.type.isEmpty();
393        }
394
395        /**
396         * @param value {@link #type} (Identifies the unique identifier scheme used for this particular identifier.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value
397         */
398        public NamingSystemUniqueIdComponent setTypeElement(Enumeration<NamingSystemIdentifierType> value) { 
399          this.type = value;
400          return this;
401        }
402
403        /**
404         * @return Identifies the unique identifier scheme used for this particular identifier.
405         */
406        public NamingSystemIdentifierType getType() { 
407          return this.type == null ? null : this.type.getValue();
408        }
409
410        /**
411         * @param value Identifies the unique identifier scheme used for this particular identifier.
412         */
413        public NamingSystemUniqueIdComponent setType(NamingSystemIdentifierType value) { 
414            if (this.type == null)
415              this.type = new Enumeration<NamingSystemIdentifierType>(new NamingSystemIdentifierTypeEnumFactory());
416            this.type.setValue(value);
417          return this;
418        }
419
420        /**
421         * @return {@link #value} (The string that should be sent over the wire to identify the code system or identifier system.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value
422         */
423        public StringType getValueElement() { 
424          if (this.value == null)
425            if (Configuration.errorOnAutoCreate())
426              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.value");
427            else if (Configuration.doAutoCreate())
428              this.value = new StringType(); // bb
429          return this.value;
430        }
431
432        public boolean hasValueElement() { 
433          return this.value != null && !this.value.isEmpty();
434        }
435
436        public boolean hasValue() { 
437          return this.value != null && !this.value.isEmpty();
438        }
439
440        /**
441         * @param value {@link #value} (The string that should be sent over the wire to identify the code system or identifier system.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value
442         */
443        public NamingSystemUniqueIdComponent setValueElement(StringType value) { 
444          this.value = value;
445          return this;
446        }
447
448        /**
449         * @return The string that should be sent over the wire to identify the code system or identifier system.
450         */
451        public String getValue() { 
452          return this.value == null ? null : this.value.getValue();
453        }
454
455        /**
456         * @param value The string that should be sent over the wire to identify the code system or identifier system.
457         */
458        public NamingSystemUniqueIdComponent setValue(String value) { 
459            if (this.value == null)
460              this.value = new StringType();
461            this.value.setValue(value);
462          return this;
463        }
464
465        /**
466         * @return {@link #preferred} (Indicates whether this identifier is the "preferred" identifier of this type.). This is the underlying object with id, value and extensions. The accessor "getPreferred" gives direct access to the value
467         */
468        public BooleanType getPreferredElement() { 
469          if (this.preferred == null)
470            if (Configuration.errorOnAutoCreate())
471              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.preferred");
472            else if (Configuration.doAutoCreate())
473              this.preferred = new BooleanType(); // bb
474          return this.preferred;
475        }
476
477        public boolean hasPreferredElement() { 
478          return this.preferred != null && !this.preferred.isEmpty();
479        }
480
481        public boolean hasPreferred() { 
482          return this.preferred != null && !this.preferred.isEmpty();
483        }
484
485        /**
486         * @param value {@link #preferred} (Indicates whether this identifier is the "preferred" identifier of this type.). This is the underlying object with id, value and extensions. The accessor "getPreferred" gives direct access to the value
487         */
488        public NamingSystemUniqueIdComponent setPreferredElement(BooleanType value) { 
489          this.preferred = value;
490          return this;
491        }
492
493        /**
494         * @return Indicates whether this identifier is the "preferred" identifier of this type.
495         */
496        public boolean getPreferred() { 
497          return this.preferred == null || this.preferred.isEmpty() ? false : this.preferred.getValue();
498        }
499
500        /**
501         * @param value Indicates whether this identifier is the "preferred" identifier of this type.
502         */
503        public NamingSystemUniqueIdComponent setPreferred(boolean value) { 
504            if (this.preferred == null)
505              this.preferred = new BooleanType();
506            this.preferred.setValue(value);
507          return this;
508        }
509
510        /**
511         * @return {@link #comment} (Notes about the past or intended usage of this identifier.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value
512         */
513        public StringType getCommentElement() { 
514          if (this.comment == null)
515            if (Configuration.errorOnAutoCreate())
516              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.comment");
517            else if (Configuration.doAutoCreate())
518              this.comment = new StringType(); // bb
519          return this.comment;
520        }
521
522        public boolean hasCommentElement() { 
523          return this.comment != null && !this.comment.isEmpty();
524        }
525
526        public boolean hasComment() { 
527          return this.comment != null && !this.comment.isEmpty();
528        }
529
530        /**
531         * @param value {@link #comment} (Notes about the past or intended usage of this identifier.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value
532         */
533        public NamingSystemUniqueIdComponent setCommentElement(StringType value) { 
534          this.comment = value;
535          return this;
536        }
537
538        /**
539         * @return Notes about the past or intended usage of this identifier.
540         */
541        public String getComment() { 
542          return this.comment == null ? null : this.comment.getValue();
543        }
544
545        /**
546         * @param value Notes about the past or intended usage of this identifier.
547         */
548        public NamingSystemUniqueIdComponent setComment(String value) { 
549          if (Utilities.noString(value))
550            this.comment = null;
551          else {
552            if (this.comment == null)
553              this.comment = new StringType();
554            this.comment.setValue(value);
555          }
556          return this;
557        }
558
559        /**
560         * @return {@link #period} (Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.)
561         */
562        public Period getPeriod() { 
563          if (this.period == null)
564            if (Configuration.errorOnAutoCreate())
565              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.period");
566            else if (Configuration.doAutoCreate())
567              this.period = new Period(); // cc
568          return this.period;
569        }
570
571        public boolean hasPeriod() { 
572          return this.period != null && !this.period.isEmpty();
573        }
574
575        /**
576         * @param value {@link #period} (Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.)
577         */
578        public NamingSystemUniqueIdComponent setPeriod(Period value) { 
579          this.period = value;
580          return this;
581        }
582
583        /**
584         * @return {@link #authoritative} (Indicates whether this identifier ie endorsed by the official owner of the associated naming system.). This is the underlying object with id, value and extensions. The accessor "getAuthoritative" gives direct access to the value
585         */
586        public BooleanType getAuthoritativeElement() { 
587          if (this.authoritative == null)
588            if (Configuration.errorOnAutoCreate())
589              throw new Error("Attempt to auto-create NamingSystemUniqueIdComponent.authoritative");
590            else if (Configuration.doAutoCreate())
591              this.authoritative = new BooleanType(); // bb
592          return this.authoritative;
593        }
594
595        public boolean hasAuthoritativeElement() { 
596          return this.authoritative != null && !this.authoritative.isEmpty();
597        }
598
599        public boolean hasAuthoritative() { 
600          return this.authoritative != null && !this.authoritative.isEmpty();
601        }
602
603        /**
604         * @param value {@link #authoritative} (Indicates whether this identifier ie endorsed by the official owner of the associated naming system.). This is the underlying object with id, value and extensions. The accessor "getAuthoritative" gives direct access to the value
605         */
606        public NamingSystemUniqueIdComponent setAuthoritativeElement(BooleanType value) { 
607          this.authoritative = value;
608          return this;
609        }
610
611        /**
612         * @return Indicates whether this identifier ie endorsed by the official owner of the associated naming system.
613         */
614        public boolean getAuthoritative() { 
615          return this.authoritative == null || this.authoritative.isEmpty() ? false : this.authoritative.getValue();
616        }
617
618        /**
619         * @param value Indicates whether this identifier ie endorsed by the official owner of the associated naming system.
620         */
621        public NamingSystemUniqueIdComponent setAuthoritative(boolean value) { 
622            if (this.authoritative == null)
623              this.authoritative = new BooleanType();
624            this.authoritative.setValue(value);
625          return this;
626        }
627
628        protected void listChildren(List<Property> children) {
629          super.listChildren(children);
630          children.add(new Property("type", "code", "Identifies the unique identifier scheme used for this particular identifier.", 0, 1, type));
631          children.add(new Property("value", "string", "The string that should be sent over the wire to identify the code system or identifier system.", 0, 1, value));
632          children.add(new Property("preferred", "boolean", "Indicates whether this identifier is the \"preferred\" identifier of this type.", 0, 1, preferred));
633          children.add(new Property("comment", "string", "Notes about the past or intended usage of this identifier.", 0, 1, comment));
634          children.add(new Property("period", "Period", "Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.", 0, 1, period));
635          children.add(new Property("authoritative", "boolean", "Indicates whether this identifier ie endorsed by the official owner of the associated naming system.", 0, 1, authoritative));
636        }
637
638        @Override
639        public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
640          switch (_hash) {
641          case 3575610: /*type*/  return new Property("type", "code", "Identifies the unique identifier scheme used for this particular identifier.", 0, 1, type);
642          case 111972721: /*value*/  return new Property("value", "string", "The string that should be sent over the wire to identify the code system or identifier system.", 0, 1, value);
643          case -1294005119: /*preferred*/  return new Property("preferred", "boolean", "Indicates whether this identifier is the \"preferred\" identifier of this type.", 0, 1, preferred);
644          case 950398559: /*comment*/  return new Property("comment", "string", "Notes about the past or intended usage of this identifier.", 0, 1, comment);
645          case -991726143: /*period*/  return new Property("period", "Period", "Identifies the period of time over which this identifier is considered appropriate to refer to the naming system.  Outside of this window, the identifier might be non-deterministic.", 0, 1, period);
646          case -1557344881: /*authoritative*/  return new Property("authoritative", "boolean", "Indicates whether this identifier ie endorsed by the official owner of the associated naming system.", 0, 1, authoritative);
647          default: return super.getNamedProperty(_hash, _name, _checkValid);
648          }
649
650        }
651
652      @Override
653      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
654        switch (hash) {
655        case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<NamingSystemIdentifierType>
656        case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType
657        case -1294005119: /*preferred*/ return this.preferred == null ? new Base[0] : new Base[] {this.preferred}; // BooleanType
658        case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType
659        case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period
660        case -1557344881: /*authoritative*/ return this.authoritative == null ? new Base[0] : new Base[] {this.authoritative}; // BooleanType
661        default: return super.getProperty(hash, name, checkValid);
662        }
663
664      }
665
666      @Override
667      public Base setProperty(int hash, String name, Base value) throws FHIRException {
668        switch (hash) {
669        case 3575610: // type
670          value = new NamingSystemIdentifierTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
671          this.type = (Enumeration) value; // Enumeration<NamingSystemIdentifierType>
672          return value;
673        case 111972721: // value
674          this.value = TypeConvertor.castToString(value); // StringType
675          return value;
676        case -1294005119: // preferred
677          this.preferred = TypeConvertor.castToBoolean(value); // BooleanType
678          return value;
679        case 950398559: // comment
680          this.comment = TypeConvertor.castToString(value); // StringType
681          return value;
682        case -991726143: // period
683          this.period = TypeConvertor.castToPeriod(value); // Period
684          return value;
685        case -1557344881: // authoritative
686          this.authoritative = TypeConvertor.castToBoolean(value); // BooleanType
687          return value;
688        default: return super.setProperty(hash, name, value);
689        }
690
691      }
692
693      @Override
694      public Base setProperty(String name, Base value) throws FHIRException {
695        if (name.equals("type")) {
696          value = new NamingSystemIdentifierTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
697          this.type = (Enumeration) value; // Enumeration<NamingSystemIdentifierType>
698        } else if (name.equals("value")) {
699          this.value = TypeConvertor.castToString(value); // StringType
700        } else if (name.equals("preferred")) {
701          this.preferred = TypeConvertor.castToBoolean(value); // BooleanType
702        } else if (name.equals("comment")) {
703          this.comment = TypeConvertor.castToString(value); // StringType
704        } else if (name.equals("period")) {
705          this.period = TypeConvertor.castToPeriod(value); // Period
706        } else if (name.equals("authoritative")) {
707          this.authoritative = TypeConvertor.castToBoolean(value); // BooleanType
708        } else
709          return super.setProperty(name, value);
710        return value;
711      }
712
713      @Override
714      public Base makeProperty(int hash, String name) throws FHIRException {
715        switch (hash) {
716        case 3575610:  return getTypeElement();
717        case 111972721:  return getValueElement();
718        case -1294005119:  return getPreferredElement();
719        case 950398559:  return getCommentElement();
720        case -991726143:  return getPeriod();
721        case -1557344881:  return getAuthoritativeElement();
722        default: return super.makeProperty(hash, name);
723        }
724
725      }
726
727      @Override
728      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
729        switch (hash) {
730        case 3575610: /*type*/ return new String[] {"code"};
731        case 111972721: /*value*/ return new String[] {"string"};
732        case -1294005119: /*preferred*/ return new String[] {"boolean"};
733        case 950398559: /*comment*/ return new String[] {"string"};
734        case -991726143: /*period*/ return new String[] {"Period"};
735        case -1557344881: /*authoritative*/ return new String[] {"boolean"};
736        default: return super.getTypesForProperty(hash, name);
737        }
738
739      }
740
741      @Override
742      public Base addChild(String name) throws FHIRException {
743        if (name.equals("type")) {
744          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.uniqueId.type");
745        }
746        else if (name.equals("value")) {
747          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.uniqueId.value");
748        }
749        else if (name.equals("preferred")) {
750          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.uniqueId.preferred");
751        }
752        else if (name.equals("comment")) {
753          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.uniqueId.comment");
754        }
755        else if (name.equals("period")) {
756          this.period = new Period();
757          return this.period;
758        }
759        else if (name.equals("authoritative")) {
760          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.uniqueId.authoritative");
761        }
762        else
763          return super.addChild(name);
764      }
765
766      public NamingSystemUniqueIdComponent copy() {
767        NamingSystemUniqueIdComponent dst = new NamingSystemUniqueIdComponent();
768        copyValues(dst);
769        return dst;
770      }
771
772      public void copyValues(NamingSystemUniqueIdComponent dst) {
773        super.copyValues(dst);
774        dst.type = type == null ? null : type.copy();
775        dst.value = value == null ? null : value.copy();
776        dst.preferred = preferred == null ? null : preferred.copy();
777        dst.comment = comment == null ? null : comment.copy();
778        dst.period = period == null ? null : period.copy();
779        dst.authoritative = authoritative == null ? null : authoritative.copy();
780      }
781
782      @Override
783      public boolean equalsDeep(Base other_) {
784        if (!super.equalsDeep(other_))
785          return false;
786        if (!(other_ instanceof NamingSystemUniqueIdComponent))
787          return false;
788        NamingSystemUniqueIdComponent o = (NamingSystemUniqueIdComponent) other_;
789        return compareDeep(type, o.type, true) && compareDeep(value, o.value, true) && compareDeep(preferred, o.preferred, true)
790           && compareDeep(comment, o.comment, true) && compareDeep(period, o.period, true) && compareDeep(authoritative, o.authoritative, true)
791          ;
792      }
793
794      @Override
795      public boolean equalsShallow(Base other_) {
796        if (!super.equalsShallow(other_))
797          return false;
798        if (!(other_ instanceof NamingSystemUniqueIdComponent))
799          return false;
800        NamingSystemUniqueIdComponent o = (NamingSystemUniqueIdComponent) other_;
801        return compareValues(type, o.type, true) && compareValues(value, o.value, true) && compareValues(preferred, o.preferred, true)
802           && compareValues(comment, o.comment, true) && compareValues(authoritative, o.authoritative, true);
803      }
804
805      public boolean isEmpty() {
806        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, value, preferred, comment
807          , period, authoritative);
808      }
809
810  public String fhirType() {
811    return "NamingSystem.uniqueId";
812
813  }
814
815  }
816
817    /**
818     * An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.
819     */
820    @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true)
821    @Description(shortDefinition="Canonical identifier for this naming system, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers." )
822    protected UriType url;
823
824    /**
825     * The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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.
826     */
827    @Child(name = "version", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true)
828    @Description(shortDefinition="Business version of the naming system", formalDefinition="The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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." )
829    protected StringType version;
830
831    /**
832     * A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.
833     */
834    @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true)
835    @Description(shortDefinition="Name for this naming system (computer friendly)", formalDefinition="A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation." )
836    protected StringType name;
837
838    /**
839     * A short, descriptive, user-friendly title for the naming system.
840     */
841    @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true)
842    @Description(shortDefinition="Title for this naming system (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the naming system." )
843    protected StringType title;
844
845    /**
846     * The status of this naming system. Enables tracking the life-cycle of the content.
847     */
848    @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true)
849    @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this naming system. Enables tracking the life-cycle of the content." )
850    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status")
851    protected Enumeration<PublicationStatus> status;
852
853    /**
854     * Indicates the purpose for the naming system - what kinds of things does it make unique?
855     */
856    @Child(name = "kind", type = {CodeType.class}, order=5, min=1, max=1, modifier=false, summary=true)
857    @Description(shortDefinition="codesystem | identifier | root", formalDefinition="Indicates the purpose for the naming system - what kinds of things does it make unique?" )
858    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/namingsystem-type")
859    protected Enumeration<NamingSystemType> kind;
860
861    /**
862     * The date  (and optionally time) when the naming system was published. 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 naming system changes.
863     */
864    @Child(name = "date", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true)
865    @Description(shortDefinition="Date last changed", formalDefinition="The date  (and optionally time) when the naming system was published. 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 naming system changes." )
866    protected DateTimeType date;
867
868    /**
869     * The name of the organization or individual that published the naming system.
870     */
871    @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true)
872    @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the naming system." )
873    protected StringType publisher;
874
875    /**
876     * Contact details to assist a user in finding and communicating with the publisher.
877     */
878    @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
879    @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." )
880    protected List<ContactDetail> contact;
881
882    /**
883     * The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
884     */
885    @Child(name = "responsible", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false)
886    @Description(shortDefinition="Who maintains system namespace?", formalDefinition="The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision." )
887    protected StringType responsible;
888
889    /**
890     * Categorizes a naming system for easier search by grouping related naming systems.
891     */
892    @Child(name = "type", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=false)
893    @Description(shortDefinition="e.g. driver,  provider,  patient, bank etc.", formalDefinition="Categorizes a naming system for easier search by grouping related naming systems." )
894    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/identifier-type")
895    protected CodeableConcept type;
896
897    /**
898     * A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.
899     */
900    @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false)
901    @Description(shortDefinition="Natural language description of the naming system", formalDefinition="A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc." )
902    protected MarkdownType description;
903
904    /**
905     * 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 naming system instances.
906     */
907    @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
908    @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 naming system instances." )
909    protected List<UsageContext> useContext;
910
911    /**
912     * A legal or geographic region in which the naming system is intended to be used.
913     */
914    @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
915    @Description(shortDefinition="Intended jurisdiction for naming system (if applicable)", formalDefinition="A legal or geographic region in which the naming system is intended to be used." )
916    @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction")
917    protected List<CodeableConcept> jurisdiction;
918
919    /**
920     * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
921     */
922    @Child(name = "usage", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false)
923    @Description(shortDefinition="How/where is it used", formalDefinition="Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc." )
924    protected StringType usage;
925
926    /**
927     * Indicates how the system may be identified when referenced in electronic exchange.
928     */
929    @Child(name = "uniqueId", type = {}, order=15, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true)
930    @Description(shortDefinition="Unique identifiers used for system", formalDefinition="Indicates how the system may be identified when referenced in electronic exchange." )
931    protected List<NamingSystemUniqueIdComponent> uniqueId;
932
933    private static final long serialVersionUID = 329180848L;
934
935  /**
936   * Constructor
937   */
938    public NamingSystem() {
939      super();
940    }
941
942  /**
943   * Constructor
944   */
945    public NamingSystem(String name, PublicationStatus status, NamingSystemType kind, Date date, NamingSystemUniqueIdComponent uniqueId) {
946      super();
947      this.setName(name);
948      this.setStatus(status);
949      this.setKind(kind);
950      this.setDate(date);
951      this.addUniqueId(uniqueId);
952    }
953
954    /**
955     * @return {@link #url} (An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
956     */
957    public UriType getUrlElement() { 
958      if (this.url == null)
959        if (Configuration.errorOnAutoCreate())
960          throw new Error("Attempt to auto-create NamingSystem.url");
961        else if (Configuration.doAutoCreate())
962          this.url = new UriType(); // bb
963      return this.url;
964    }
965
966    public boolean hasUrlElement() { 
967      return this.url != null && !this.url.isEmpty();
968    }
969
970    public boolean hasUrl() { 
971      return this.url != null && !this.url.isEmpty();
972    }
973
974    /**
975     * @param value {@link #url} (An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value
976     */
977    public NamingSystem setUrlElement(UriType value) { 
978      this.url = value;
979      return this;
980    }
981
982    /**
983     * @return An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.
984     */
985    public String getUrl() { 
986      return this.url == null ? null : this.url.getValue();
987    }
988
989    /**
990     * @param value An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.
991     */
992    public NamingSystem setUrl(String value) { 
993      if (Utilities.noString(value))
994        this.url = null;
995      else {
996        if (this.url == null)
997          this.url = new UriType();
998        this.url.setValue(value);
999      }
1000      return this;
1001    }
1002
1003    /**
1004     * @return {@link #version} (The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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
1005     */
1006    public StringType getVersionElement() { 
1007      if (this.version == null)
1008        if (Configuration.errorOnAutoCreate())
1009          throw new Error("Attempt to auto-create NamingSystem.version");
1010        else if (Configuration.doAutoCreate())
1011          this.version = new StringType(); // bb
1012      return this.version;
1013    }
1014
1015    public boolean hasVersionElement() { 
1016      return this.version != null && !this.version.isEmpty();
1017    }
1018
1019    public boolean hasVersion() { 
1020      return this.version != null && !this.version.isEmpty();
1021    }
1022
1023    /**
1024     * @param value {@link #version} (The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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
1025     */
1026    public NamingSystem setVersionElement(StringType value) { 
1027      this.version = value;
1028      return this;
1029    }
1030
1031    /**
1032     * @return The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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.
1033     */
1034    public String getVersion() { 
1035      return this.version == null ? null : this.version.getValue();
1036    }
1037
1038    /**
1039     * @param value The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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.
1040     */
1041    public NamingSystem setVersion(String value) { 
1042      if (Utilities.noString(value))
1043        this.version = null;
1044      else {
1045        if (this.version == null)
1046          this.version = new StringType();
1047        this.version.setValue(value);
1048      }
1049      return this;
1050    }
1051
1052    /**
1053     * @return {@link #name} (A natural language name identifying the naming system. 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
1054     */
1055    public StringType getNameElement() { 
1056      if (this.name == null)
1057        if (Configuration.errorOnAutoCreate())
1058          throw new Error("Attempt to auto-create NamingSystem.name");
1059        else if (Configuration.doAutoCreate())
1060          this.name = new StringType(); // bb
1061      return this.name;
1062    }
1063
1064    public boolean hasNameElement() { 
1065      return this.name != null && !this.name.isEmpty();
1066    }
1067
1068    public boolean hasName() { 
1069      return this.name != null && !this.name.isEmpty();
1070    }
1071
1072    /**
1073     * @param value {@link #name} (A natural language name identifying the naming system. 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
1074     */
1075    public NamingSystem setNameElement(StringType value) { 
1076      this.name = value;
1077      return this;
1078    }
1079
1080    /**
1081     * @return A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.
1082     */
1083    public String getName() { 
1084      return this.name == null ? null : this.name.getValue();
1085    }
1086
1087    /**
1088     * @param value A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.
1089     */
1090    public NamingSystem setName(String value) { 
1091        if (this.name == null)
1092          this.name = new StringType();
1093        this.name.setValue(value);
1094      return this;
1095    }
1096
1097    /**
1098     * @return {@link #title} (A short, descriptive, user-friendly title for the naming system.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
1099     */
1100    public StringType getTitleElement() { 
1101      if (this.title == null)
1102        if (Configuration.errorOnAutoCreate())
1103          throw new Error("Attempt to auto-create NamingSystem.title");
1104        else if (Configuration.doAutoCreate())
1105          this.title = new StringType(); // bb
1106      return this.title;
1107    }
1108
1109    public boolean hasTitleElement() { 
1110      return this.title != null && !this.title.isEmpty();
1111    }
1112
1113    public boolean hasTitle() { 
1114      return this.title != null && !this.title.isEmpty();
1115    }
1116
1117    /**
1118     * @param value {@link #title} (A short, descriptive, user-friendly title for the naming system.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value
1119     */
1120    public NamingSystem setTitleElement(StringType value) { 
1121      this.title = value;
1122      return this;
1123    }
1124
1125    /**
1126     * @return A short, descriptive, user-friendly title for the naming system.
1127     */
1128    public String getTitle() { 
1129      return this.title == null ? null : this.title.getValue();
1130    }
1131
1132    /**
1133     * @param value A short, descriptive, user-friendly title for the naming system.
1134     */
1135    public NamingSystem setTitle(String value) { 
1136      if (Utilities.noString(value))
1137        this.title = null;
1138      else {
1139        if (this.title == null)
1140          this.title = new StringType();
1141        this.title.setValue(value);
1142      }
1143      return this;
1144    }
1145
1146    /**
1147     * @return {@link #status} (The status of this naming system. 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
1148     */
1149    public Enumeration<PublicationStatus> getStatusElement() { 
1150      if (this.status == null)
1151        if (Configuration.errorOnAutoCreate())
1152          throw new Error("Attempt to auto-create NamingSystem.status");
1153        else if (Configuration.doAutoCreate())
1154          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb
1155      return this.status;
1156    }
1157
1158    public boolean hasStatusElement() { 
1159      return this.status != null && !this.status.isEmpty();
1160    }
1161
1162    public boolean hasStatus() { 
1163      return this.status != null && !this.status.isEmpty();
1164    }
1165
1166    /**
1167     * @param value {@link #status} (The status of this naming system. 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
1168     */
1169    public NamingSystem setStatusElement(Enumeration<PublicationStatus> value) { 
1170      this.status = value;
1171      return this;
1172    }
1173
1174    /**
1175     * @return The status of this naming system. Enables tracking the life-cycle of the content.
1176     */
1177    public PublicationStatus getStatus() { 
1178      return this.status == null ? null : this.status.getValue();
1179    }
1180
1181    /**
1182     * @param value The status of this naming system. Enables tracking the life-cycle of the content.
1183     */
1184    public NamingSystem setStatus(PublicationStatus value) { 
1185        if (this.status == null)
1186          this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory());
1187        this.status.setValue(value);
1188      return this;
1189    }
1190
1191    /**
1192     * @return {@link #kind} (Indicates the purpose for the naming system - what kinds of things does it make unique?). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value
1193     */
1194    public Enumeration<NamingSystemType> getKindElement() { 
1195      if (this.kind == null)
1196        if (Configuration.errorOnAutoCreate())
1197          throw new Error("Attempt to auto-create NamingSystem.kind");
1198        else if (Configuration.doAutoCreate())
1199          this.kind = new Enumeration<NamingSystemType>(new NamingSystemTypeEnumFactory()); // bb
1200      return this.kind;
1201    }
1202
1203    public boolean hasKindElement() { 
1204      return this.kind != null && !this.kind.isEmpty();
1205    }
1206
1207    public boolean hasKind() { 
1208      return this.kind != null && !this.kind.isEmpty();
1209    }
1210
1211    /**
1212     * @param value {@link #kind} (Indicates the purpose for the naming system - what kinds of things does it make unique?). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value
1213     */
1214    public NamingSystem setKindElement(Enumeration<NamingSystemType> value) { 
1215      this.kind = value;
1216      return this;
1217    }
1218
1219    /**
1220     * @return Indicates the purpose for the naming system - what kinds of things does it make unique?
1221     */
1222    public NamingSystemType getKind() { 
1223      return this.kind == null ? null : this.kind.getValue();
1224    }
1225
1226    /**
1227     * @param value Indicates the purpose for the naming system - what kinds of things does it make unique?
1228     */
1229    public NamingSystem setKind(NamingSystemType value) { 
1230        if (this.kind == null)
1231          this.kind = new Enumeration<NamingSystemType>(new NamingSystemTypeEnumFactory());
1232        this.kind.setValue(value);
1233      return this;
1234    }
1235
1236    /**
1237     * @return {@link #date} (The date  (and optionally time) when the naming system was published. 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 naming system changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
1238     */
1239    public DateTimeType getDateElement() { 
1240      if (this.date == null)
1241        if (Configuration.errorOnAutoCreate())
1242          throw new Error("Attempt to auto-create NamingSystem.date");
1243        else if (Configuration.doAutoCreate())
1244          this.date = new DateTimeType(); // bb
1245      return this.date;
1246    }
1247
1248    public boolean hasDateElement() { 
1249      return this.date != null && !this.date.isEmpty();
1250    }
1251
1252    public boolean hasDate() { 
1253      return this.date != null && !this.date.isEmpty();
1254    }
1255
1256    /**
1257     * @param value {@link #date} (The date  (and optionally time) when the naming system was published. 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 naming system changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value
1258     */
1259    public NamingSystem setDateElement(DateTimeType value) { 
1260      this.date = value;
1261      return this;
1262    }
1263
1264    /**
1265     * @return The date  (and optionally time) when the naming system was published. 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 naming system changes.
1266     */
1267    public Date getDate() { 
1268      return this.date == null ? null : this.date.getValue();
1269    }
1270
1271    /**
1272     * @param value The date  (and optionally time) when the naming system was published. 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 naming system changes.
1273     */
1274    public NamingSystem setDate(Date value) { 
1275        if (this.date == null)
1276          this.date = new DateTimeType();
1277        this.date.setValue(value);
1278      return this;
1279    }
1280
1281    /**
1282     * @return {@link #publisher} (The name of the organization or individual that published the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
1283     */
1284    public StringType getPublisherElement() { 
1285      if (this.publisher == null)
1286        if (Configuration.errorOnAutoCreate())
1287          throw new Error("Attempt to auto-create NamingSystem.publisher");
1288        else if (Configuration.doAutoCreate())
1289          this.publisher = new StringType(); // bb
1290      return this.publisher;
1291    }
1292
1293    public boolean hasPublisherElement() { 
1294      return this.publisher != null && !this.publisher.isEmpty();
1295    }
1296
1297    public boolean hasPublisher() { 
1298      return this.publisher != null && !this.publisher.isEmpty();
1299    }
1300
1301    /**
1302     * @param value {@link #publisher} (The name of the organization or individual that published the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value
1303     */
1304    public NamingSystem setPublisherElement(StringType value) { 
1305      this.publisher = value;
1306      return this;
1307    }
1308
1309    /**
1310     * @return The name of the organization or individual that published the naming system.
1311     */
1312    public String getPublisher() { 
1313      return this.publisher == null ? null : this.publisher.getValue();
1314    }
1315
1316    /**
1317     * @param value The name of the organization or individual that published the naming system.
1318     */
1319    public NamingSystem setPublisher(String value) { 
1320      if (Utilities.noString(value))
1321        this.publisher = null;
1322      else {
1323        if (this.publisher == null)
1324          this.publisher = new StringType();
1325        this.publisher.setValue(value);
1326      }
1327      return this;
1328    }
1329
1330    /**
1331     * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.)
1332     */
1333    public List<ContactDetail> getContact() { 
1334      if (this.contact == null)
1335        this.contact = new ArrayList<ContactDetail>();
1336      return this.contact;
1337    }
1338
1339    /**
1340     * @return Returns a reference to <code>this</code> for easy method chaining
1341     */
1342    public NamingSystem setContact(List<ContactDetail> theContact) { 
1343      this.contact = theContact;
1344      return this;
1345    }
1346
1347    public boolean hasContact() { 
1348      if (this.contact == null)
1349        return false;
1350      for (ContactDetail item : this.contact)
1351        if (!item.isEmpty())
1352          return true;
1353      return false;
1354    }
1355
1356    public ContactDetail addContact() { //3
1357      ContactDetail t = new ContactDetail();
1358      if (this.contact == null)
1359        this.contact = new ArrayList<ContactDetail>();
1360      this.contact.add(t);
1361      return t;
1362    }
1363
1364    public NamingSystem addContact(ContactDetail t) { //3
1365      if (t == null)
1366        return this;
1367      if (this.contact == null)
1368        this.contact = new ArrayList<ContactDetail>();
1369      this.contact.add(t);
1370      return this;
1371    }
1372
1373    /**
1374     * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3}
1375     */
1376    public ContactDetail getContactFirstRep() { 
1377      if (getContact().isEmpty()) {
1378        addContact();
1379      }
1380      return getContact().get(0);
1381    }
1382
1383    /**
1384     * @return {@link #responsible} (The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.). This is the underlying object with id, value and extensions. The accessor "getResponsible" gives direct access to the value
1385     */
1386    public StringType getResponsibleElement() { 
1387      if (this.responsible == null)
1388        if (Configuration.errorOnAutoCreate())
1389          throw new Error("Attempt to auto-create NamingSystem.responsible");
1390        else if (Configuration.doAutoCreate())
1391          this.responsible = new StringType(); // bb
1392      return this.responsible;
1393    }
1394
1395    public boolean hasResponsibleElement() { 
1396      return this.responsible != null && !this.responsible.isEmpty();
1397    }
1398
1399    public boolean hasResponsible() { 
1400      return this.responsible != null && !this.responsible.isEmpty();
1401    }
1402
1403    /**
1404     * @param value {@link #responsible} (The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.). This is the underlying object with id, value and extensions. The accessor "getResponsible" gives direct access to the value
1405     */
1406    public NamingSystem setResponsibleElement(StringType value) { 
1407      this.responsible = value;
1408      return this;
1409    }
1410
1411    /**
1412     * @return The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
1413     */
1414    public String getResponsible() { 
1415      return this.responsible == null ? null : this.responsible.getValue();
1416    }
1417
1418    /**
1419     * @param value The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.
1420     */
1421    public NamingSystem setResponsible(String value) { 
1422      if (Utilities.noString(value))
1423        this.responsible = null;
1424      else {
1425        if (this.responsible == null)
1426          this.responsible = new StringType();
1427        this.responsible.setValue(value);
1428      }
1429      return this;
1430    }
1431
1432    /**
1433     * @return {@link #type} (Categorizes a naming system for easier search by grouping related naming systems.)
1434     */
1435    public CodeableConcept getType() { 
1436      if (this.type == null)
1437        if (Configuration.errorOnAutoCreate())
1438          throw new Error("Attempt to auto-create NamingSystem.type");
1439        else if (Configuration.doAutoCreate())
1440          this.type = new CodeableConcept(); // cc
1441      return this.type;
1442    }
1443
1444    public boolean hasType() { 
1445      return this.type != null && !this.type.isEmpty();
1446    }
1447
1448    /**
1449     * @param value {@link #type} (Categorizes a naming system for easier search by grouping related naming systems.)
1450     */
1451    public NamingSystem setType(CodeableConcept value) { 
1452      this.type = value;
1453      return this;
1454    }
1455
1456    /**
1457     * @return {@link #description} (A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1458     */
1459    public MarkdownType getDescriptionElement() { 
1460      if (this.description == null)
1461        if (Configuration.errorOnAutoCreate())
1462          throw new Error("Attempt to auto-create NamingSystem.description");
1463        else if (Configuration.doAutoCreate())
1464          this.description = new MarkdownType(); // bb
1465      return this.description;
1466    }
1467
1468    public boolean hasDescriptionElement() { 
1469      return this.description != null && !this.description.isEmpty();
1470    }
1471
1472    public boolean hasDescription() { 
1473      return this.description != null && !this.description.isEmpty();
1474    }
1475
1476    /**
1477     * @param value {@link #description} (A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value
1478     */
1479    public NamingSystem setDescriptionElement(MarkdownType value) { 
1480      this.description = value;
1481      return this;
1482    }
1483
1484    /**
1485     * @return A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.
1486     */
1487    public String getDescription() { 
1488      return this.description == null ? null : this.description.getValue();
1489    }
1490
1491    /**
1492     * @param value A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.
1493     */
1494    public NamingSystem setDescription(String value) { 
1495      if (value == null)
1496        this.description = null;
1497      else {
1498        if (this.description == null)
1499          this.description = new MarkdownType();
1500        this.description.setValue(value);
1501      }
1502      return this;
1503    }
1504
1505    /**
1506     * @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 naming system instances.)
1507     */
1508    public List<UsageContext> getUseContext() { 
1509      if (this.useContext == null)
1510        this.useContext = new ArrayList<UsageContext>();
1511      return this.useContext;
1512    }
1513
1514    /**
1515     * @return Returns a reference to <code>this</code> for easy method chaining
1516     */
1517    public NamingSystem setUseContext(List<UsageContext> theUseContext) { 
1518      this.useContext = theUseContext;
1519      return this;
1520    }
1521
1522    public boolean hasUseContext() { 
1523      if (this.useContext == null)
1524        return false;
1525      for (UsageContext item : this.useContext)
1526        if (!item.isEmpty())
1527          return true;
1528      return false;
1529    }
1530
1531    public UsageContext addUseContext() { //3
1532      UsageContext t = new UsageContext();
1533      if (this.useContext == null)
1534        this.useContext = new ArrayList<UsageContext>();
1535      this.useContext.add(t);
1536      return t;
1537    }
1538
1539    public NamingSystem addUseContext(UsageContext t) { //3
1540      if (t == null)
1541        return this;
1542      if (this.useContext == null)
1543        this.useContext = new ArrayList<UsageContext>();
1544      this.useContext.add(t);
1545      return this;
1546    }
1547
1548    /**
1549     * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3}
1550     */
1551    public UsageContext getUseContextFirstRep() { 
1552      if (getUseContext().isEmpty()) {
1553        addUseContext();
1554      }
1555      return getUseContext().get(0);
1556    }
1557
1558    /**
1559     * @return {@link #jurisdiction} (A legal or geographic region in which the naming system is intended to be used.)
1560     */
1561    public List<CodeableConcept> getJurisdiction() { 
1562      if (this.jurisdiction == null)
1563        this.jurisdiction = new ArrayList<CodeableConcept>();
1564      return this.jurisdiction;
1565    }
1566
1567    /**
1568     * @return Returns a reference to <code>this</code> for easy method chaining
1569     */
1570    public NamingSystem setJurisdiction(List<CodeableConcept> theJurisdiction) { 
1571      this.jurisdiction = theJurisdiction;
1572      return this;
1573    }
1574
1575    public boolean hasJurisdiction() { 
1576      if (this.jurisdiction == null)
1577        return false;
1578      for (CodeableConcept item : this.jurisdiction)
1579        if (!item.isEmpty())
1580          return true;
1581      return false;
1582    }
1583
1584    public CodeableConcept addJurisdiction() { //3
1585      CodeableConcept t = new CodeableConcept();
1586      if (this.jurisdiction == null)
1587        this.jurisdiction = new ArrayList<CodeableConcept>();
1588      this.jurisdiction.add(t);
1589      return t;
1590    }
1591
1592    public NamingSystem addJurisdiction(CodeableConcept t) { //3
1593      if (t == null)
1594        return this;
1595      if (this.jurisdiction == null)
1596        this.jurisdiction = new ArrayList<CodeableConcept>();
1597      this.jurisdiction.add(t);
1598      return this;
1599    }
1600
1601    /**
1602     * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3}
1603     */
1604    public CodeableConcept getJurisdictionFirstRep() { 
1605      if (getJurisdiction().isEmpty()) {
1606        addJurisdiction();
1607      }
1608      return getJurisdiction().get(0);
1609    }
1610
1611    /**
1612     * @return {@link #usage} (Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value
1613     */
1614    public StringType getUsageElement() { 
1615      if (this.usage == null)
1616        if (Configuration.errorOnAutoCreate())
1617          throw new Error("Attempt to auto-create NamingSystem.usage");
1618        else if (Configuration.doAutoCreate())
1619          this.usage = new StringType(); // bb
1620      return this.usage;
1621    }
1622
1623    public boolean hasUsageElement() { 
1624      return this.usage != null && !this.usage.isEmpty();
1625    }
1626
1627    public boolean hasUsage() { 
1628      return this.usage != null && !this.usage.isEmpty();
1629    }
1630
1631    /**
1632     * @param value {@link #usage} (Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value
1633     */
1634    public NamingSystem setUsageElement(StringType value) { 
1635      this.usage = value;
1636      return this;
1637    }
1638
1639    /**
1640     * @return Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
1641     */
1642    public String getUsage() { 
1643      return this.usage == null ? null : this.usage.getValue();
1644    }
1645
1646    /**
1647     * @param value Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.
1648     */
1649    public NamingSystem setUsage(String value) { 
1650      if (Utilities.noString(value))
1651        this.usage = null;
1652      else {
1653        if (this.usage == null)
1654          this.usage = new StringType();
1655        this.usage.setValue(value);
1656      }
1657      return this;
1658    }
1659
1660    /**
1661     * @return {@link #uniqueId} (Indicates how the system may be identified when referenced in electronic exchange.)
1662     */
1663    public List<NamingSystemUniqueIdComponent> getUniqueId() { 
1664      if (this.uniqueId == null)
1665        this.uniqueId = new ArrayList<NamingSystemUniqueIdComponent>();
1666      return this.uniqueId;
1667    }
1668
1669    /**
1670     * @return Returns a reference to <code>this</code> for easy method chaining
1671     */
1672    public NamingSystem setUniqueId(List<NamingSystemUniqueIdComponent> theUniqueId) { 
1673      this.uniqueId = theUniqueId;
1674      return this;
1675    }
1676
1677    public boolean hasUniqueId() { 
1678      if (this.uniqueId == null)
1679        return false;
1680      for (NamingSystemUniqueIdComponent item : this.uniqueId)
1681        if (!item.isEmpty())
1682          return true;
1683      return false;
1684    }
1685
1686    public NamingSystemUniqueIdComponent addUniqueId() { //3
1687      NamingSystemUniqueIdComponent t = new NamingSystemUniqueIdComponent();
1688      if (this.uniqueId == null)
1689        this.uniqueId = new ArrayList<NamingSystemUniqueIdComponent>();
1690      this.uniqueId.add(t);
1691      return t;
1692    }
1693
1694    public NamingSystem addUniqueId(NamingSystemUniqueIdComponent t) { //3
1695      if (t == null)
1696        return this;
1697      if (this.uniqueId == null)
1698        this.uniqueId = new ArrayList<NamingSystemUniqueIdComponent>();
1699      this.uniqueId.add(t);
1700      return this;
1701    }
1702
1703    /**
1704     * @return The first repetition of repeating field {@link #uniqueId}, creating it if it does not already exist {3}
1705     */
1706    public NamingSystemUniqueIdComponent getUniqueIdFirstRep() { 
1707      if (getUniqueId().isEmpty()) {
1708        addUniqueId();
1709      }
1710      return getUniqueId().get(0);
1711    }
1712
1713    /**
1714     * not supported on this implementation
1715     */
1716    @Override
1717    public int getIdentifierMax() { 
1718      return 0;
1719    }
1720    /**
1721     * @return {@link #identifier} (A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance.)
1722     */
1723    public List<Identifier> getIdentifier() { 
1724      return new ArrayList<>();
1725    }
1726    /**
1727     * @return Returns a reference to <code>this</code> for easy method chaining
1728     */
1729    public NamingSystem setIdentifier(List<Identifier> theIdentifier) { 
1730      throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\"");
1731    }
1732    public boolean hasIdentifier() { 
1733      return false;
1734    }
1735
1736    public Identifier addIdentifier() { //3
1737      throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\"");
1738    }
1739    public NamingSystem addIdentifier(Identifier t) { //3
1740      throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\"");
1741    }
1742    /**
1743     * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2}
1744     */
1745    public Identifier getIdentifierFirstRep() { 
1746      throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\"");
1747    }
1748    /**
1749     * not supported on this implementation
1750     */
1751    @Override
1752    public int getExperimentalMax() { 
1753      return 0;
1754    }
1755    /**
1756     * @return {@link #experimental} (A Boolean value to indicate that this naming system 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
1757     */
1758    public BooleanType getExperimentalElement() { 
1759      throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\"");
1760    }
1761
1762    public boolean hasExperimentalElement() { 
1763      return false;
1764    }
1765    public boolean hasExperimental() {
1766      return false;
1767    }
1768
1769    /**
1770     * @param value {@link #experimental} (A Boolean value to indicate that this naming system 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
1771     */
1772    public NamingSystem setExperimentalElement(BooleanType value) { 
1773      throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\"");
1774    }
1775    public boolean getExperimental() { 
1776      throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\"");
1777    }
1778    /**
1779     * @param value A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.
1780     */
1781    public NamingSystem setExperimental(boolean value) { 
1782      throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\"");
1783    }
1784    /**
1785     * not supported on this implementation
1786     */
1787    @Override
1788    public int getPurposeMax() { 
1789      return 0;
1790    }
1791    /**
1792     * @return {@link #purpose} (Explanation of why this naming system 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
1793     */
1794    public MarkdownType getPurposeElement() { 
1795      throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\"");
1796    }
1797
1798    public boolean hasPurposeElement() { 
1799      return false;
1800    }
1801    public boolean hasPurpose() {
1802      return false;
1803    }
1804
1805    /**
1806     * @param value {@link #purpose} (Explanation of why this naming system 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
1807     */
1808    public NamingSystem setPurposeElement(MarkdownType value) { 
1809      throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\"");
1810    }
1811    public String getPurpose() { 
1812      throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\"");
1813    }
1814    /**
1815     * @param value Explanation of why this naming system is needed and why it has been designed as it has.
1816     */
1817    public NamingSystem setPurpose(String value) { 
1818      throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\"");
1819    }
1820    /**
1821     * not supported on this implementation
1822     */
1823    @Override
1824    public int getCopyrightMax() { 
1825      return 0;
1826    }
1827    /**
1828     * @return {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
1829     */
1830    public MarkdownType getCopyrightElement() { 
1831      throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\"");
1832    }
1833
1834    public boolean hasCopyrightElement() { 
1835      return false;
1836    }
1837    public boolean hasCopyright() {
1838      return false;
1839    }
1840
1841    /**
1842     * @param value {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value
1843     */
1844    public NamingSystem setCopyrightElement(MarkdownType value) { 
1845      throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\"");
1846    }
1847    public String getCopyright() { 
1848      throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\"");
1849    }
1850    /**
1851     * @param value A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.
1852     */
1853    public NamingSystem setCopyright(String value) { 
1854      throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\"");
1855    }
1856    /**
1857     * not supported on this implementation
1858     */
1859    @Override
1860    public int getApprovalDateMax() { 
1861      return 0;
1862    }
1863    /**
1864     * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value
1865     */
1866    public DateType getApprovalDateElement() { 
1867      throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\"");
1868    }
1869
1870    public boolean hasApprovalDateElement() { 
1871      return false;
1872    }
1873    public boolean hasApprovalDate() {
1874      return false;
1875    }
1876
1877    /**
1878     * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value
1879     */
1880    public NamingSystem setApprovalDateElement(DateType value) { 
1881      throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\"");
1882    }
1883    public Date getApprovalDate() { 
1884      throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\"");
1885    }
1886    /**
1887     * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.
1888     */
1889    public NamingSystem setApprovalDate(Date value) { 
1890      throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\"");
1891    }
1892    /**
1893     * not supported on this implementation
1894     */
1895    @Override
1896    public int getLastReviewDateMax() { 
1897      return 0;
1898    }
1899    /**
1900     * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value
1901     */
1902    public DateType getLastReviewDateElement() { 
1903      throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\"");
1904    }
1905
1906    public boolean hasLastReviewDateElement() { 
1907      return false;
1908    }
1909    public boolean hasLastReviewDate() {
1910      return false;
1911    }
1912
1913    /**
1914     * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value
1915     */
1916    public NamingSystem setLastReviewDateElement(DateType value) { 
1917      throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\"");
1918    }
1919    public Date getLastReviewDate() { 
1920      throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\"");
1921    }
1922    /**
1923     * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.
1924     */
1925    public NamingSystem setLastReviewDate(Date value) { 
1926      throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\"");
1927    }
1928    /**
1929     * not supported on this implementation
1930     */
1931    @Override
1932    public int getEffectivePeriodMax() { 
1933      return 0;
1934    }
1935    /**
1936     * @return {@link #effectivePeriod} (The period during which the naming system content was or is planned to be in active use.)
1937     */
1938    public Period getEffectivePeriod() { 
1939      throw new Error("The resource type \"NamingSystem\" does not implement the property \"effectivePeriod\"");
1940    }
1941    public boolean hasEffectivePeriod() { 
1942      return false;
1943    }
1944    /**
1945     * @param value {@link #effectivePeriod} (The period during which the naming system content was or is planned to be in active use.)
1946     */
1947    public NamingSystem setEffectivePeriod(Period value) { 
1948      throw new Error("The resource type \"NamingSystem\" does not implement the property \"effectivePeriod\"");
1949    }
1950
1951    /**
1952     * not supported on this implementation
1953     */
1954    @Override
1955    public int getTopicMax() { 
1956      return 0;
1957    }
1958    /**
1959     * @return {@link #topic} (Descriptive topics related to the content of the naming system. Topics provide a high-level categorization of the naming system that can be useful for filtering and searching.)
1960     */
1961    public List<CodeableConcept> getTopic() { 
1962      return new ArrayList<>();
1963    }
1964    /**
1965     * @return Returns a reference to <code>this</code> for easy method chaining
1966     */
1967    public NamingSystem setTopic(List<CodeableConcept> theTopic) { 
1968      throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\"");
1969    }
1970    public boolean hasTopic() { 
1971      return false;
1972    }
1973
1974    public CodeableConcept addTopic() { //3
1975      throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\"");
1976    }
1977    public NamingSystem addTopic(CodeableConcept t) { //3
1978      throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\"");
1979    }
1980    /**
1981     * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2}
1982     */
1983    public CodeableConcept getTopicFirstRep() { 
1984      throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\"");
1985    }
1986    /**
1987     * not supported on this implementation
1988     */
1989    @Override
1990    public int getAuthorMax() { 
1991      return 0;
1992    }
1993    /**
1994     * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the naming system.)
1995     */
1996    public List<ContactDetail> getAuthor() { 
1997      return new ArrayList<>();
1998    }
1999    /**
2000     * @return Returns a reference to <code>this</code> for easy method chaining
2001     */
2002    public NamingSystem setAuthor(List<ContactDetail> theAuthor) { 
2003      throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\"");
2004    }
2005    public boolean hasAuthor() { 
2006      return false;
2007    }
2008
2009    public ContactDetail addAuthor() { //3
2010      throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\"");
2011    }
2012    public NamingSystem addAuthor(ContactDetail t) { //3
2013      throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\"");
2014    }
2015    /**
2016     * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2}
2017     */
2018    public ContactDetail getAuthorFirstRep() { 
2019      throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\"");
2020    }
2021    /**
2022     * not supported on this implementation
2023     */
2024    @Override
2025    public int getEditorMax() { 
2026      return 0;
2027    }
2028    /**
2029     * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the naming system.)
2030     */
2031    public List<ContactDetail> getEditor() { 
2032      return new ArrayList<>();
2033    }
2034    /**
2035     * @return Returns a reference to <code>this</code> for easy method chaining
2036     */
2037    public NamingSystem setEditor(List<ContactDetail> theEditor) { 
2038      throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\"");
2039    }
2040    public boolean hasEditor() { 
2041      return false;
2042    }
2043
2044    public ContactDetail addEditor() { //3
2045      throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\"");
2046    }
2047    public NamingSystem addEditor(ContactDetail t) { //3
2048      throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\"");
2049    }
2050    /**
2051     * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2}
2052     */
2053    public ContactDetail getEditorFirstRep() { 
2054      throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\"");
2055    }
2056    /**
2057     * not supported on this implementation
2058     */
2059    @Override
2060    public int getReviewerMax() { 
2061      return 0;
2062    }
2063    /**
2064     * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the naming system.)
2065     */
2066    public List<ContactDetail> getReviewer() { 
2067      return new ArrayList<>();
2068    }
2069    /**
2070     * @return Returns a reference to <code>this</code> for easy method chaining
2071     */
2072    public NamingSystem setReviewer(List<ContactDetail> theReviewer) { 
2073      throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\"");
2074    }
2075    public boolean hasReviewer() { 
2076      return false;
2077    }
2078
2079    public ContactDetail addReviewer() { //3
2080      throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\"");
2081    }
2082    public NamingSystem addReviewer(ContactDetail t) { //3
2083      throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\"");
2084    }
2085    /**
2086     * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2}
2087     */
2088    public ContactDetail getReviewerFirstRep() { 
2089      throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\"");
2090    }
2091    /**
2092     * not supported on this implementation
2093     */
2094    @Override
2095    public int getEndorserMax() { 
2096      return 0;
2097    }
2098    /**
2099     * @return {@link #endorser} (An individual or organization responsible for officially endorsing the naming system for use in some setting.)
2100     */
2101    public List<ContactDetail> getEndorser() { 
2102      return new ArrayList<>();
2103    }
2104    /**
2105     * @return Returns a reference to <code>this</code> for easy method chaining
2106     */
2107    public NamingSystem setEndorser(List<ContactDetail> theEndorser) { 
2108      throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\"");
2109    }
2110    public boolean hasEndorser() { 
2111      return false;
2112    }
2113
2114    public ContactDetail addEndorser() { //3
2115      throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\"");
2116    }
2117    public NamingSystem addEndorser(ContactDetail t) { //3
2118      throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\"");
2119    }
2120    /**
2121     * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2}
2122     */
2123    public ContactDetail getEndorserFirstRep() { 
2124      throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\"");
2125    }
2126    /**
2127     * not supported on this implementation
2128     */
2129    @Override
2130    public int getRelatedArtifactMax() { 
2131      return 0;
2132    }
2133    /**
2134     * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.)
2135     */
2136    public List<RelatedArtifact> getRelatedArtifact() { 
2137      return new ArrayList<>();
2138    }
2139    /**
2140     * @return Returns a reference to <code>this</code> for easy method chaining
2141     */
2142    public NamingSystem setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 
2143      throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\"");
2144    }
2145    public boolean hasRelatedArtifact() { 
2146      return false;
2147    }
2148
2149    public RelatedArtifact addRelatedArtifact() { //3
2150      throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\"");
2151    }
2152    public NamingSystem addRelatedArtifact(RelatedArtifact t) { //3
2153      throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\"");
2154    }
2155    /**
2156     * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2}
2157     */
2158    public RelatedArtifact getRelatedArtifactFirstRep() { 
2159      throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\"");
2160    }
2161      protected void listChildren(List<Property> children) {
2162        super.listChildren(children);
2163        children.add(new Property("url", "uri", "An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url));
2164        children.add(new Property("version", "string", "The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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));
2165        children.add(new Property("name", "string", "A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name));
2166        children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the naming system.", 0, 1, title));
2167        children.add(new Property("status", "code", "The status of this naming system. Enables tracking the life-cycle of the content.", 0, 1, status));
2168        children.add(new Property("kind", "code", "Indicates the purpose for the naming system - what kinds of things does it make unique?", 0, 1, kind));
2169        children.add(new Property("date", "dateTime", "The date  (and optionally time) when the naming system was published. 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 naming system changes.", 0, 1, date));
2170        children.add(new Property("publisher", "string", "The name of the organization or individual that published the naming system.", 0, 1, publisher));
2171        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));
2172        children.add(new Property("responsible", "string", "The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.", 0, 1, responsible));
2173        children.add(new Property("type", "CodeableConcept", "Categorizes a naming system for easier search by grouping related naming systems.", 0, 1, type));
2174        children.add(new Property("description", "markdown", "A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.", 0, 1, description));
2175        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 naming system instances.", 0, java.lang.Integer.MAX_VALUE, useContext));
2176        children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the naming system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction));
2177        children.add(new Property("usage", "string", "Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.", 0, 1, usage));
2178        children.add(new Property("uniqueId", "", "Indicates how the system may be identified when referenced in electronic exchange.", 0, java.lang.Integer.MAX_VALUE, uniqueId));
2179      }
2180
2181      @Override
2182      public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException {
2183        switch (_hash) {
2184        case 116079: /*url*/  return new Property("url", "uri", "An absolute URI that is used to identify this naming system 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 at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url);
2185        case 351608024: /*version*/  return new Property("version", "string", "The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system 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);
2186        case 3373707: /*name*/  return new Property("name", "string", "A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name);
2187        case 110371416: /*title*/  return new Property("title", "string", "A short, descriptive, user-friendly title for the naming system.", 0, 1, title);
2188        case -892481550: /*status*/  return new Property("status", "code", "The status of this naming system. Enables tracking the life-cycle of the content.", 0, 1, status);
2189        case 3292052: /*kind*/  return new Property("kind", "code", "Indicates the purpose for the naming system - what kinds of things does it make unique?", 0, 1, kind);
2190        case 3076014: /*date*/  return new Property("date", "dateTime", "The date  (and optionally time) when the naming system was published. 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 naming system changes.", 0, 1, date);
2191        case 1447404028: /*publisher*/  return new Property("publisher", "string", "The name of the organization or individual that published the naming system.", 0, 1, publisher);
2192        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);
2193        case 1847674614: /*responsible*/  return new Property("responsible", "string", "The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.", 0, 1, responsible);
2194        case 3575610: /*type*/  return new Property("type", "CodeableConcept", "Categorizes a naming system for easier search by grouping related naming systems.", 0, 1, type);
2195        case -1724546052: /*description*/  return new Property("description", "markdown", "A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.", 0, 1, description);
2196        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 naming system instances.", 0, java.lang.Integer.MAX_VALUE, useContext);
2197        case -507075711: /*jurisdiction*/  return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the naming system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction);
2198        case 111574433: /*usage*/  return new Property("usage", "string", "Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.", 0, 1, usage);
2199        case -294460212: /*uniqueId*/  return new Property("uniqueId", "", "Indicates how the system may be identified when referenced in electronic exchange.", 0, java.lang.Integer.MAX_VALUE, uniqueId);
2200        default: return super.getNamedProperty(_hash, _name, _checkValid);
2201        }
2202
2203      }
2204
2205      @Override
2206      public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException {
2207        switch (hash) {
2208        case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType
2209        case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType
2210        case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType
2211        case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType
2212        case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus>
2213        case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<NamingSystemType>
2214        case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType
2215        case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType
2216        case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail
2217        case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // StringType
2218        case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept
2219        case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType
2220        case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext
2221        case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept
2222        case 111574433: /*usage*/ return this.usage == null ? new Base[0] : new Base[] {this.usage}; // StringType
2223        case -294460212: /*uniqueId*/ return this.uniqueId == null ? new Base[0] : this.uniqueId.toArray(new Base[this.uniqueId.size()]); // NamingSystemUniqueIdComponent
2224        default: return super.getProperty(hash, name, checkValid);
2225        }
2226
2227      }
2228
2229      @Override
2230      public Base setProperty(int hash, String name, Base value) throws FHIRException {
2231        switch (hash) {
2232        case 116079: // url
2233          this.url = TypeConvertor.castToUri(value); // UriType
2234          return value;
2235        case 351608024: // version
2236          this.version = TypeConvertor.castToString(value); // StringType
2237          return value;
2238        case 3373707: // name
2239          this.name = TypeConvertor.castToString(value); // StringType
2240          return value;
2241        case 110371416: // title
2242          this.title = TypeConvertor.castToString(value); // StringType
2243          return value;
2244        case -892481550: // status
2245          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
2246          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
2247          return value;
2248        case 3292052: // kind
2249          value = new NamingSystemTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2250          this.kind = (Enumeration) value; // Enumeration<NamingSystemType>
2251          return value;
2252        case 3076014: // date
2253          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
2254          return value;
2255        case 1447404028: // publisher
2256          this.publisher = TypeConvertor.castToString(value); // StringType
2257          return value;
2258        case 951526432: // contact
2259          this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail
2260          return value;
2261        case 1847674614: // responsible
2262          this.responsible = TypeConvertor.castToString(value); // StringType
2263          return value;
2264        case 3575610: // type
2265          this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
2266          return value;
2267        case -1724546052: // description
2268          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2269          return value;
2270        case -669707736: // useContext
2271          this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext
2272          return value;
2273        case -507075711: // jurisdiction
2274          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept
2275          return value;
2276        case 111574433: // usage
2277          this.usage = TypeConvertor.castToString(value); // StringType
2278          return value;
2279        case -294460212: // uniqueId
2280          this.getUniqueId().add((NamingSystemUniqueIdComponent) value); // NamingSystemUniqueIdComponent
2281          return value;
2282        default: return super.setProperty(hash, name, value);
2283        }
2284
2285      }
2286
2287      @Override
2288      public Base setProperty(String name, Base value) throws FHIRException {
2289        if (name.equals("url")) {
2290          this.url = TypeConvertor.castToUri(value); // UriType
2291        } else if (name.equals("version")) {
2292          this.version = TypeConvertor.castToString(value); // StringType
2293        } else if (name.equals("name")) {
2294          this.name = TypeConvertor.castToString(value); // StringType
2295        } else if (name.equals("title")) {
2296          this.title = TypeConvertor.castToString(value); // StringType
2297        } else if (name.equals("status")) {
2298          value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value));
2299          this.status = (Enumeration) value; // Enumeration<PublicationStatus>
2300        } else if (name.equals("kind")) {
2301          value = new NamingSystemTypeEnumFactory().fromType(TypeConvertor.castToCode(value));
2302          this.kind = (Enumeration) value; // Enumeration<NamingSystemType>
2303        } else if (name.equals("date")) {
2304          this.date = TypeConvertor.castToDateTime(value); // DateTimeType
2305        } else if (name.equals("publisher")) {
2306          this.publisher = TypeConvertor.castToString(value); // StringType
2307        } else if (name.equals("contact")) {
2308          this.getContact().add(TypeConvertor.castToContactDetail(value));
2309        } else if (name.equals("responsible")) {
2310          this.responsible = TypeConvertor.castToString(value); // StringType
2311        } else if (name.equals("type")) {
2312          this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept
2313        } else if (name.equals("description")) {
2314          this.description = TypeConvertor.castToMarkdown(value); // MarkdownType
2315        } else if (name.equals("useContext")) {
2316          this.getUseContext().add(TypeConvertor.castToUsageContext(value));
2317        } else if (name.equals("jurisdiction")) {
2318          this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value));
2319        } else if (name.equals("usage")) {
2320          this.usage = TypeConvertor.castToString(value); // StringType
2321        } else if (name.equals("uniqueId")) {
2322          this.getUniqueId().add((NamingSystemUniqueIdComponent) value);
2323        } else
2324          return super.setProperty(name, value);
2325        return value;
2326      }
2327
2328      @Override
2329      public Base makeProperty(int hash, String name) throws FHIRException {
2330        switch (hash) {
2331        case 116079:  return getUrlElement();
2332        case 351608024:  return getVersionElement();
2333        case 3373707:  return getNameElement();
2334        case 110371416:  return getTitleElement();
2335        case -892481550:  return getStatusElement();
2336        case 3292052:  return getKindElement();
2337        case 3076014:  return getDateElement();
2338        case 1447404028:  return getPublisherElement();
2339        case 951526432:  return addContact(); 
2340        case 1847674614:  return getResponsibleElement();
2341        case 3575610:  return getType();
2342        case -1724546052:  return getDescriptionElement();
2343        case -669707736:  return addUseContext(); 
2344        case -507075711:  return addJurisdiction(); 
2345        case 111574433:  return getUsageElement();
2346        case -294460212:  return addUniqueId(); 
2347        default: return super.makeProperty(hash, name);
2348        }
2349
2350      }
2351
2352      @Override
2353      public String[] getTypesForProperty(int hash, String name) throws FHIRException {
2354        switch (hash) {
2355        case 116079: /*url*/ return new String[] {"uri"};
2356        case 351608024: /*version*/ return new String[] {"string"};
2357        case 3373707: /*name*/ return new String[] {"string"};
2358        case 110371416: /*title*/ return new String[] {"string"};
2359        case -892481550: /*status*/ return new String[] {"code"};
2360        case 3292052: /*kind*/ return new String[] {"code"};
2361        case 3076014: /*date*/ return new String[] {"dateTime"};
2362        case 1447404028: /*publisher*/ return new String[] {"string"};
2363        case 951526432: /*contact*/ return new String[] {"ContactDetail"};
2364        case 1847674614: /*responsible*/ return new String[] {"string"};
2365        case 3575610: /*type*/ return new String[] {"CodeableConcept"};
2366        case -1724546052: /*description*/ return new String[] {"markdown"};
2367        case -669707736: /*useContext*/ return new String[] {"UsageContext"};
2368        case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"};
2369        case 111574433: /*usage*/ return new String[] {"string"};
2370        case -294460212: /*uniqueId*/ return new String[] {};
2371        default: return super.getTypesForProperty(hash, name);
2372        }
2373
2374      }
2375
2376      @Override
2377      public Base addChild(String name) throws FHIRException {
2378        if (name.equals("url")) {
2379          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.url");
2380        }
2381        else if (name.equals("version")) {
2382          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.version");
2383        }
2384        else if (name.equals("name")) {
2385          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.name");
2386        }
2387        else if (name.equals("title")) {
2388          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.title");
2389        }
2390        else if (name.equals("status")) {
2391          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.status");
2392        }
2393        else if (name.equals("kind")) {
2394          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.kind");
2395        }
2396        else if (name.equals("date")) {
2397          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.date");
2398        }
2399        else if (name.equals("publisher")) {
2400          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.publisher");
2401        }
2402        else if (name.equals("contact")) {
2403          return addContact();
2404        }
2405        else if (name.equals("responsible")) {
2406          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.responsible");
2407        }
2408        else if (name.equals("type")) {
2409          this.type = new CodeableConcept();
2410          return this.type;
2411        }
2412        else if (name.equals("description")) {
2413          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.description");
2414        }
2415        else if (name.equals("useContext")) {
2416          return addUseContext();
2417        }
2418        else if (name.equals("jurisdiction")) {
2419          return addJurisdiction();
2420        }
2421        else if (name.equals("usage")) {
2422          throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.usage");
2423        }
2424        else if (name.equals("uniqueId")) {
2425          return addUniqueId();
2426        }
2427        else
2428          return super.addChild(name);
2429      }
2430
2431  public String fhirType() {
2432    return "NamingSystem";
2433
2434  }
2435
2436      public NamingSystem copy() {
2437        NamingSystem dst = new NamingSystem();
2438        copyValues(dst);
2439        return dst;
2440      }
2441
2442      public void copyValues(NamingSystem dst) {
2443        super.copyValues(dst);
2444        dst.url = url == null ? null : url.copy();
2445        dst.version = version == null ? null : version.copy();
2446        dst.name = name == null ? null : name.copy();
2447        dst.title = title == null ? null : title.copy();
2448        dst.status = status == null ? null : status.copy();
2449        dst.kind = kind == null ? null : kind.copy();
2450        dst.date = date == null ? null : date.copy();
2451        dst.publisher = publisher == null ? null : publisher.copy();
2452        if (contact != null) {
2453          dst.contact = new ArrayList<ContactDetail>();
2454          for (ContactDetail i : contact)
2455            dst.contact.add(i.copy());
2456        };
2457        dst.responsible = responsible == null ? null : responsible.copy();
2458        dst.type = type == null ? null : type.copy();
2459        dst.description = description == null ? null : description.copy();
2460        if (useContext != null) {
2461          dst.useContext = new ArrayList<UsageContext>();
2462          for (UsageContext i : useContext)
2463            dst.useContext.add(i.copy());
2464        };
2465        if (jurisdiction != null) {
2466          dst.jurisdiction = new ArrayList<CodeableConcept>();
2467          for (CodeableConcept i : jurisdiction)
2468            dst.jurisdiction.add(i.copy());
2469        };
2470        dst.usage = usage == null ? null : usage.copy();
2471        if (uniqueId != null) {
2472          dst.uniqueId = new ArrayList<NamingSystemUniqueIdComponent>();
2473          for (NamingSystemUniqueIdComponent i : uniqueId)
2474            dst.uniqueId.add(i.copy());
2475        };
2476      }
2477
2478      protected NamingSystem typedCopy() {
2479        return copy();
2480      }
2481
2482      @Override
2483      public boolean equalsDeep(Base other_) {
2484        if (!super.equalsDeep(other_))
2485          return false;
2486        if (!(other_ instanceof NamingSystem))
2487          return false;
2488        NamingSystem o = (NamingSystem) other_;
2489        return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true)
2490           && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(kind, o.kind, true)
2491           && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true)
2492           && compareDeep(responsible, o.responsible, true) && compareDeep(type, o.type, true) && compareDeep(description, o.description, true)
2493           && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true)
2494           && compareDeep(usage, o.usage, true) && compareDeep(uniqueId, o.uniqueId, true);
2495      }
2496
2497      @Override
2498      public boolean equalsShallow(Base other_) {
2499        if (!super.equalsShallow(other_))
2500          return false;
2501        if (!(other_ instanceof NamingSystem))
2502          return false;
2503        NamingSystem o = (NamingSystem) other_;
2504        return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true)
2505           && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(kind, o.kind, true)
2506           && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(responsible, o.responsible, true)
2507           && compareValues(description, o.description, true) && compareValues(usage, o.usage, true);
2508      }
2509
2510      public boolean isEmpty() {
2511        return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title
2512          , status, kind, date, publisher, contact, responsible, type, description, useContext
2513          , jurisdiction, usage, uniqueId);
2514      }
2515
2516  @Override
2517  public ResourceType getResourceType() {
2518    return ResourceType.NamingSystem;
2519   }
2520
2521 /**
2522   * Search parameter: <b>contact</b>
2523   * <p>
2524   * Description: <b>Name of an individual to contact</b><br>
2525   * Type: <b>string</b><br>
2526   * Path: <b>NamingSystem.contact.name</b><br>
2527   * </p>
2528   */
2529  @SearchParamDefinition(name="contact", path="NamingSystem.contact.name", description="Name of an individual to contact", type="string" )
2530  public static final String SP_CONTACT = "contact";
2531 /**
2532   * <b>Fluent Client</b> search parameter constant for <b>contact</b>
2533   * <p>
2534   * Description: <b>Name of an individual to contact</b><br>
2535   * Type: <b>string</b><br>
2536   * Path: <b>NamingSystem.contact.name</b><br>
2537   * </p>
2538   */
2539  public static final ca.uhn.fhir.rest.gclient.StringClientParam CONTACT = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_CONTACT);
2540
2541 /**
2542   * Search parameter: <b>id-type</b>
2543   * <p>
2544   * Description: <b>oid | uuid | uri | other</b><br>
2545   * Type: <b>token</b><br>
2546   * Path: <b>NamingSystem.uniqueId.type</b><br>
2547   * </p>
2548   */
2549  @SearchParamDefinition(name="id-type", path="NamingSystem.uniqueId.type", description="oid | uuid | uri | other", type="token" )
2550  public static final String SP_ID_TYPE = "id-type";
2551 /**
2552   * <b>Fluent Client</b> search parameter constant for <b>id-type</b>
2553   * <p>
2554   * Description: <b>oid | uuid | uri | other</b><br>
2555   * Type: <b>token</b><br>
2556   * Path: <b>NamingSystem.uniqueId.type</b><br>
2557   * </p>
2558   */
2559  public static final ca.uhn.fhir.rest.gclient.TokenClientParam ID_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ID_TYPE);
2560
2561 /**
2562   * Search parameter: <b>kind</b>
2563   * <p>
2564   * Description: <b>codesystem | identifier | root</b><br>
2565   * Type: <b>token</b><br>
2566   * Path: <b>NamingSystem.kind</b><br>
2567   * </p>
2568   */
2569  @SearchParamDefinition(name="kind", path="NamingSystem.kind", description="codesystem | identifier | root", type="token" )
2570  public static final String SP_KIND = "kind";
2571 /**
2572   * <b>Fluent Client</b> search parameter constant for <b>kind</b>
2573   * <p>
2574   * Description: <b>codesystem | identifier | root</b><br>
2575   * Type: <b>token</b><br>
2576   * Path: <b>NamingSystem.kind</b><br>
2577   * </p>
2578   */
2579  public static final ca.uhn.fhir.rest.gclient.TokenClientParam KIND = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_KIND);
2580
2581 /**
2582   * Search parameter: <b>period</b>
2583   * <p>
2584   * Description: <b>When is identifier valid?</b><br>
2585   * Type: <b>date</b><br>
2586   * Path: <b>NamingSystem.uniqueId.period</b><br>
2587   * </p>
2588   */
2589  @SearchParamDefinition(name="period", path="NamingSystem.uniqueId.period", description="When is identifier valid?", type="date" )
2590  public static final String SP_PERIOD = "period";
2591 /**
2592   * <b>Fluent Client</b> search parameter constant for <b>period</b>
2593   * <p>
2594   * Description: <b>When is identifier valid?</b><br>
2595   * Type: <b>date</b><br>
2596   * Path: <b>NamingSystem.uniqueId.period</b><br>
2597   * </p>
2598   */
2599  public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD);
2600
2601 /**
2602   * Search parameter: <b>responsible</b>
2603   * <p>
2604   * Description: <b>Who maintains system namespace?</b><br>
2605   * Type: <b>string</b><br>
2606   * Path: <b>NamingSystem.responsible</b><br>
2607   * </p>
2608   */
2609  @SearchParamDefinition(name="responsible", path="NamingSystem.responsible", description="Who maintains system namespace?", type="string" )
2610  public static final String SP_RESPONSIBLE = "responsible";
2611 /**
2612   * <b>Fluent Client</b> search parameter constant for <b>responsible</b>
2613   * <p>
2614   * Description: <b>Who maintains system namespace?</b><br>
2615   * Type: <b>string</b><br>
2616   * Path: <b>NamingSystem.responsible</b><br>
2617   * </p>
2618   */
2619  public static final ca.uhn.fhir.rest.gclient.StringClientParam RESPONSIBLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_RESPONSIBLE);
2620
2621 /**
2622   * Search parameter: <b>telecom</b>
2623   * <p>
2624   * Description: <b>Contact details for individual or organization</b><br>
2625   * Type: <b>token</b><br>
2626   * Path: <b>NamingSystem.contact.telecom</b><br>
2627   * </p>
2628   */
2629  @SearchParamDefinition(name="telecom", path="NamingSystem.contact.telecom", description="Contact details for individual or organization", type="token" )
2630  public static final String SP_TELECOM = "telecom";
2631 /**
2632   * <b>Fluent Client</b> search parameter constant for <b>telecom</b>
2633   * <p>
2634   * Description: <b>Contact details for individual or organization</b><br>
2635   * Type: <b>token</b><br>
2636   * Path: <b>NamingSystem.contact.telecom</b><br>
2637   * </p>
2638   */
2639  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM);
2640
2641 /**
2642   * Search parameter: <b>type</b>
2643   * <p>
2644   * Description: <b>e.g. driver,  provider,  patient, bank etc.</b><br>
2645   * Type: <b>token</b><br>
2646   * Path: <b>NamingSystem.type</b><br>
2647   * </p>
2648   */
2649  @SearchParamDefinition(name="type", path="NamingSystem.type", description="e.g. driver,  provider,  patient, bank etc.", type="token" )
2650  public static final String SP_TYPE = "type";
2651 /**
2652   * <b>Fluent Client</b> search parameter constant for <b>type</b>
2653   * <p>
2654   * Description: <b>e.g. driver,  provider,  patient, bank etc.</b><br>
2655   * Type: <b>token</b><br>
2656   * Path: <b>NamingSystem.type</b><br>
2657   * </p>
2658   */
2659  public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE);
2660
2661 /**
2662   * Search parameter: <b>value</b>
2663   * <p>
2664   * Description: <b>The unique identifier</b><br>
2665   * Type: <b>string</b><br>
2666   * Path: <b>NamingSystem.uniqueId.value</b><br>
2667   * </p>
2668   */
2669  @SearchParamDefinition(name="value", path="NamingSystem.uniqueId.value", description="The unique identifier", type="string" )
2670  public static final String SP_VALUE = "value";
2671 /**
2672   * <b>Fluent Client</b> search parameter constant for <b>value</b>
2673   * <p>
2674   * Description: <b>The unique identifier</b><br>
2675   * Type: <b>string</b><br>
2676   * Path: <b>NamingSystem.uniqueId.value</b><br>
2677   * </p>
2678   */
2679  public static final ca.uhn.fhir.rest.gclient.StringClientParam VALUE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_VALUE);
2680
2681 /**
2682   * Search parameter: <b>context-quantity</b>
2683   * <p>
2684   * Description: <b>Multiple Resources: 
2685
2686* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
2687* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
2688* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
2689* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
2690* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
2691* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
2692* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
2693* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
2694* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
2695* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
2696* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
2697* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
2698* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
2699* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
2700</b><br>
2701   * Type: <b>quantity</b><br>
2702   * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.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) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.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) | (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) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
2703   * </p>
2704   */
2705  @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.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) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.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) | (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) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\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* [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* [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* [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* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" )
2706  public static final String SP_CONTEXT_QUANTITY = "context-quantity";
2707 /**
2708   * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b>
2709   * <p>
2710   * Description: <b>Multiple Resources: 
2711
2712* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement
2713* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system
2714* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition
2715* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map
2716* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition
2717* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide
2718* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition
2719* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system
2720* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition
2721* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter
2722* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition
2723* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map
2724* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities
2725* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set
2726</b><br>
2727   * Type: <b>quantity</b><br>
2728   * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.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) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.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) | (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) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br>
2729   * </p>
2730   */
2731  public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY);
2732
2733 /**
2734   * Search parameter: <b>context-type-quantity</b>
2735   * <p>
2736   * Description: <b>Multiple Resources: 
2737
2738* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
2739* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
2740* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
2741* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
2742* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
2743* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
2744* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
2745* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
2746* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
2747* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
2748* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
2749* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
2750* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
2751* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
2752</b><br>
2753   * Type: <b>composite</b><br>
2754   * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br>
2755   * </p>
2756   */
2757  @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\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* [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* [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* [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* [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"} )
2758  public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity";
2759 /**
2760   * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b>
2761   * <p>
2762   * Description: <b>Multiple Resources: 
2763
2764* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement
2765* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system
2766* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition
2767* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map
2768* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition
2769* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide
2770* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition
2771* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system
2772* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition
2773* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter
2774* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition
2775* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map
2776* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities
2777* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set
2778</b><br>
2779   * Type: <b>composite</b><br>
2780   * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br>
2781   * </p>
2782   */
2783  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);
2784
2785 /**
2786   * Search parameter: <b>context-type-value</b>
2787   * <p>
2788   * Description: <b>Multiple Resources: 
2789
2790* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
2791* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
2792* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
2793* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
2794* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
2795* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
2796* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
2797* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
2798* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
2799* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
2800* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
2801* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
2802* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
2803* [ValueSet](valueset.html): A use context type and value assigned to the value set
2804</b><br>
2805   * Type: <b>composite</b><br>
2806   * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br>
2807   * </p>
2808   */
2809  @SearchParamDefinition(name="context-type-value", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\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* [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* [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* [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* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} )
2810  public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value";
2811 /**
2812   * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b>
2813   * <p>
2814   * Description: <b>Multiple Resources: 
2815
2816* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement
2817* [CodeSystem](codesystem.html): A use context type and value assigned to the code system
2818* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition
2819* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map
2820* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition
2821* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide
2822* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition
2823* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system
2824* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition
2825* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter
2826* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition
2827* [StructureMap](structuremap.html): A use context type and value assigned to the structure map
2828* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities
2829* [ValueSet](valueset.html): A use context type and value assigned to the value set
2830</b><br>
2831   * Type: <b>composite</b><br>
2832   * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br>
2833   * </p>
2834   */
2835  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);
2836
2837 /**
2838   * Search parameter: <b>context-type</b>
2839   * <p>
2840   * Description: <b>Multiple Resources: 
2841
2842* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
2843* [CodeSystem](codesystem.html): A type of use context assigned to the code system
2844* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
2845* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
2846* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
2847* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
2848* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
2849* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
2850* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
2851* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
2852* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
2853* [StructureMap](structuremap.html): A type of use context assigned to the structure map
2854* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
2855* [ValueSet](valueset.html): A type of use context assigned to the value set
2856</b><br>
2857   * Type: <b>token</b><br>
2858   * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br>
2859   * </p>
2860   */
2861  @SearchParamDefinition(name="context-type", path="CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\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* [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* [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* [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* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" )
2862  public static final String SP_CONTEXT_TYPE = "context-type";
2863 /**
2864   * <b>Fluent Client</b> search parameter constant for <b>context-type</b>
2865   * <p>
2866   * Description: <b>Multiple Resources: 
2867
2868* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement
2869* [CodeSystem](codesystem.html): A type of use context assigned to the code system
2870* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition
2871* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map
2872* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition
2873* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide
2874* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition
2875* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system
2876* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition
2877* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter
2878* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition
2879* [StructureMap](structuremap.html): A type of use context assigned to the structure map
2880* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities
2881* [ValueSet](valueset.html): A type of use context assigned to the value set
2882</b><br>
2883   * Type: <b>token</b><br>
2884   * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br>
2885   * </p>
2886   */
2887  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE);
2888
2889 /**
2890   * Search parameter: <b>context</b>
2891   * <p>
2892   * Description: <b>Multiple Resources: 
2893
2894* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
2895* [CodeSystem](codesystem.html): A use context assigned to the code system
2896* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
2897* [ConceptMap](conceptmap.html): A use context assigned to the concept map
2898* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
2899* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
2900* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
2901* [NamingSystem](namingsystem.html): A use context assigned to the naming system
2902* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
2903* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
2904* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
2905* [StructureMap](structuremap.html): A use context assigned to the structure map
2906* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
2907* [ValueSet](valueset.html): A use context assigned to the value set
2908</b><br>
2909   * Type: <b>token</b><br>
2910   * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
2911   * </p>
2912   */
2913  @SearchParamDefinition(name="context", path="(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\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* [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* [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* [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* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" )
2914  public static final String SP_CONTEXT = "context";
2915 /**
2916   * <b>Fluent Client</b> search parameter constant for <b>context</b>
2917   * <p>
2918   * Description: <b>Multiple Resources: 
2919
2920* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement
2921* [CodeSystem](codesystem.html): A use context assigned to the code system
2922* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition
2923* [ConceptMap](conceptmap.html): A use context assigned to the concept map
2924* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition
2925* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide
2926* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition
2927* [NamingSystem](namingsystem.html): A use context assigned to the naming system
2928* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition
2929* [SearchParameter](searchparameter.html): A use context assigned to the search parameter
2930* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition
2931* [StructureMap](structuremap.html): A use context assigned to the structure map
2932* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities
2933* [ValueSet](valueset.html): A use context assigned to the value set
2934</b><br>
2935   * Type: <b>token</b><br>
2936   * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br>
2937   * </p>
2938   */
2939  public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT);
2940
2941 /**
2942   * Search parameter: <b>date</b>
2943   * <p>
2944   * Description: <b>Multiple Resources: 
2945
2946* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
2947* [CodeSystem](codesystem.html): The code system publication date
2948* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
2949* [ConceptMap](conceptmap.html): The concept map publication date
2950* [GraphDefinition](graphdefinition.html): The graph definition publication date
2951* [ImplementationGuide](implementationguide.html): The implementation guide publication date
2952* [MessageDefinition](messagedefinition.html): The message definition publication date
2953* [NamingSystem](namingsystem.html): The naming system publication date
2954* [OperationDefinition](operationdefinition.html): The operation definition publication date
2955* [SearchParameter](searchparameter.html): The search parameter publication date
2956* [StructureDefinition](structuredefinition.html): The structure definition publication date
2957* [StructureMap](structuremap.html): The structure map publication date
2958* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
2959* [ValueSet](valueset.html): The value set publication date
2960</b><br>
2961   * Type: <b>date</b><br>
2962   * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br>
2963   * </p>
2964   */
2965  @SearchParamDefinition(name="date", path="CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement 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* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide 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* [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* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" )
2966  public static final String SP_DATE = "date";
2967 /**
2968   * <b>Fluent Client</b> search parameter constant for <b>date</b>
2969   * <p>
2970   * Description: <b>Multiple Resources: 
2971
2972* [CapabilityStatement](capabilitystatement.html): The capability statement publication date
2973* [CodeSystem](codesystem.html): The code system publication date
2974* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date
2975* [ConceptMap](conceptmap.html): The concept map publication date
2976* [GraphDefinition](graphdefinition.html): The graph definition publication date
2977* [ImplementationGuide](implementationguide.html): The implementation guide publication date
2978* [MessageDefinition](messagedefinition.html): The message definition publication date
2979* [NamingSystem](namingsystem.html): The naming system publication date
2980* [OperationDefinition](operationdefinition.html): The operation definition publication date
2981* [SearchParameter](searchparameter.html): The search parameter publication date
2982* [StructureDefinition](structuredefinition.html): The structure definition publication date
2983* [StructureMap](structuremap.html): The structure map publication date
2984* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date
2985* [ValueSet](valueset.html): The value set publication date
2986</b><br>
2987   * Type: <b>date</b><br>
2988   * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br>
2989   * </p>
2990   */
2991  public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE);
2992
2993 /**
2994   * Search parameter: <b>description</b>
2995   * <p>
2996   * Description: <b>Multiple Resources: 
2997
2998* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
2999* [CodeSystem](codesystem.html): The description of the code system
3000* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3001* [ConceptMap](conceptmap.html): The description of the concept map
3002* [GraphDefinition](graphdefinition.html): The description of the graph definition
3003* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3004* [MessageDefinition](messagedefinition.html): The description of the message definition
3005* [NamingSystem](namingsystem.html): The description of the naming system
3006* [OperationDefinition](operationdefinition.html): The description of the operation definition
3007* [SearchParameter](searchparameter.html): The description of the search parameter
3008* [StructureDefinition](structuredefinition.html): The description of the structure definition
3009* [StructureMap](structuremap.html): The description of the structure map
3010* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3011* [ValueSet](valueset.html): The description of the value set
3012</b><br>
3013   * Type: <b>string</b><br>
3014   * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br>
3015   * </p>
3016   */
3017  @SearchParamDefinition(name="description", path="CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\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* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\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* [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* [ValueSet](valueset.html): The description of the value set\r\n", type="string" )
3018  public static final String SP_DESCRIPTION = "description";
3019 /**
3020   * <b>Fluent Client</b> search parameter constant for <b>description</b>
3021   * <p>
3022   * Description: <b>Multiple Resources: 
3023
3024* [CapabilityStatement](capabilitystatement.html): The description of the capability statement
3025* [CodeSystem](codesystem.html): The description of the code system
3026* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition
3027* [ConceptMap](conceptmap.html): The description of the concept map
3028* [GraphDefinition](graphdefinition.html): The description of the graph definition
3029* [ImplementationGuide](implementationguide.html): The description of the implementation guide
3030* [MessageDefinition](messagedefinition.html): The description of the message definition
3031* [NamingSystem](namingsystem.html): The description of the naming system
3032* [OperationDefinition](operationdefinition.html): The description of the operation definition
3033* [SearchParameter](searchparameter.html): The description of the search parameter
3034* [StructureDefinition](structuredefinition.html): The description of the structure definition
3035* [StructureMap](structuremap.html): The description of the structure map
3036* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities
3037* [ValueSet](valueset.html): The description of the value set
3038</b><br>
3039   * Type: <b>string</b><br>
3040   * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br>
3041   * </p>
3042   */
3043  public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION);
3044
3045 /**
3046   * Search parameter: <b>jurisdiction</b>
3047   * <p>
3048   * Description: <b>Multiple Resources: 
3049
3050* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
3051* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
3052* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
3053* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
3054* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
3055* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
3056* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
3057* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
3058* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
3059* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
3060* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
3061* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
3062* [ValueSet](valueset.html): Intended jurisdiction for the value set
3063</b><br>
3064   * Type: <b>token</b><br>
3065   * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br>
3066   * </p>
3067   */
3068  @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\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* [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* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" )
3069  public static final String SP_JURISDICTION = "jurisdiction";
3070 /**
3071   * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b>
3072   * <p>
3073   * Description: <b>Multiple Resources: 
3074
3075* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement
3076* [CodeSystem](codesystem.html): Intended jurisdiction for the code system
3077* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map
3078* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition
3079* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide
3080* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition
3081* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system
3082* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition
3083* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter
3084* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition
3085* [StructureMap](structuremap.html): Intended jurisdiction for the structure map
3086* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities
3087* [ValueSet](valueset.html): Intended jurisdiction for the value set
3088</b><br>
3089   * Type: <b>token</b><br>
3090   * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br>
3091   * </p>
3092   */
3093  public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION);
3094
3095 /**
3096   * Search parameter: <b>name</b>
3097   * <p>
3098   * Description: <b>Multiple Resources: 
3099
3100* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
3101* [CodeSystem](codesystem.html): Computationally friendly name of the code system
3102* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
3103* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
3104* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
3105* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
3106* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
3107* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
3108* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
3109* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
3110* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
3111* [StructureMap](structuremap.html): Computationally friendly name of the structure map
3112* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
3113* [ValueSet](valueset.html): Computationally friendly name of the value set
3114</b><br>
3115   * Type: <b>string</b><br>
3116   * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br>
3117   * </p>
3118   */
3119  @SearchParamDefinition(name="name", path="CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\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* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\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* [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* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" )
3120  public static final String SP_NAME = "name";
3121 /**
3122   * <b>Fluent Client</b> search parameter constant for <b>name</b>
3123   * <p>
3124   * Description: <b>Multiple Resources: 
3125
3126* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement
3127* [CodeSystem](codesystem.html): Computationally friendly name of the code system
3128* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition
3129* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map
3130* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition
3131* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide
3132* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition
3133* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system
3134* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition
3135* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter
3136* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition
3137* [StructureMap](structuremap.html): Computationally friendly name of the structure map
3138* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities
3139* [ValueSet](valueset.html): Computationally friendly name of the value set
3140</b><br>
3141   * Type: <b>string</b><br>
3142   * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br>
3143   * </p>
3144   */
3145  public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME);
3146
3147 /**
3148   * Search parameter: <b>publisher</b>
3149   * <p>
3150   * Description: <b>Multiple Resources: 
3151
3152* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
3153* [CodeSystem](codesystem.html): Name of the publisher of the code system
3154* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
3155* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
3156* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
3157* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
3158* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
3159* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
3160* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
3161* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
3162* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
3163* [StructureMap](structuremap.html): Name of the publisher of the structure map
3164* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
3165* [ValueSet](valueset.html): Name of the publisher of the value set
3166</b><br>
3167   * Type: <b>string</b><br>
3168   * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br>
3169   * </p>
3170   */
3171  @SearchParamDefinition(name="publisher", path="CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\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* [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* [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* [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* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" )
3172  public static final String SP_PUBLISHER = "publisher";
3173 /**
3174   * <b>Fluent Client</b> search parameter constant for <b>publisher</b>
3175   * <p>
3176   * Description: <b>Multiple Resources: 
3177
3178* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement
3179* [CodeSystem](codesystem.html): Name of the publisher of the code system
3180* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition
3181* [ConceptMap](conceptmap.html): Name of the publisher of the concept map
3182* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition
3183* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide
3184* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition
3185* [NamingSystem](namingsystem.html): Name of the publisher of the naming system
3186* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition
3187* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter
3188* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition
3189* [StructureMap](structuremap.html): Name of the publisher of the structure map
3190* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities
3191* [ValueSet](valueset.html): Name of the publisher of the value set
3192</b><br>
3193   * Type: <b>string</b><br>
3194   * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br>
3195   * </p>
3196   */
3197  public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER);
3198
3199 /**
3200   * Search parameter: <b>status</b>
3201   * <p>
3202   * Description: <b>Multiple Resources: 
3203
3204* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
3205* [CodeSystem](codesystem.html): The current status of the code system
3206* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
3207* [ConceptMap](conceptmap.html): The current status of the concept map
3208* [GraphDefinition](graphdefinition.html): The current status of the graph definition
3209* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
3210* [MessageDefinition](messagedefinition.html): The current status of the message definition
3211* [NamingSystem](namingsystem.html): The current status of the naming system
3212* [OperationDefinition](operationdefinition.html): The current status of the operation definition
3213* [SearchParameter](searchparameter.html): The current status of the search parameter
3214* [StructureDefinition](structuredefinition.html): The current status of the structure definition
3215* [StructureMap](structuremap.html): The current status of the structure map
3216* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
3217* [ValueSet](valueset.html): The current status of the value set
3218</b><br>
3219   * Type: <b>token</b><br>
3220   * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br>
3221   * </p>
3222   */
3223  @SearchParamDefinition(name="status", path="CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\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* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\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* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\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* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" )
3224  public static final String SP_STATUS = "status";
3225 /**
3226   * <b>Fluent Client</b> search parameter constant for <b>status</b>
3227   * <p>
3228   * Description: <b>Multiple Resources: 
3229
3230* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement
3231* [CodeSystem](codesystem.html): The current status of the code system
3232* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition
3233* [ConceptMap](conceptmap.html): The current status of the concept map
3234* [GraphDefinition](graphdefinition.html): The current status of the graph definition
3235* [ImplementationGuide](implementationguide.html): The current status of the implementation guide
3236* [MessageDefinition](messagedefinition.html): The current status of the message definition
3237* [NamingSystem](namingsystem.html): The current status of the naming system
3238* [OperationDefinition](operationdefinition.html): The current status of the operation definition
3239* [SearchParameter](searchparameter.html): The current status of the search parameter
3240* [StructureDefinition](structuredefinition.html): The current status of the structure definition
3241* [StructureMap](structuremap.html): The current status of the structure map
3242* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities
3243* [ValueSet](valueset.html): The current status of the value set
3244</b><br>
3245   * Type: <b>token</b><br>
3246   * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br>
3247   * </p>
3248   */
3249  public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS);
3250
3251 /**
3252   * Search parameter: <b>url</b>
3253   * <p>
3254   * Description: <b>Multiple Resources: 
3255
3256* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
3257* [CodeSystem](codesystem.html): The uri that identifies the code system
3258* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
3259* [ConceptMap](conceptmap.html): The uri that identifies the concept map
3260* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
3261* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
3262* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
3263* [NamingSystem](namingsystem.html): The uri that identifies the naming system
3264* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
3265* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
3266* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
3267* [StructureMap](structuremap.html): The uri that identifies the structure map
3268* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
3269* [ValueSet](valueset.html): The uri that identifies the value set
3270</b><br>
3271   * Type: <b>uri</b><br>
3272   * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br>
3273   * </p>
3274   */
3275  @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\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* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\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* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\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* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" )
3276  public static final String SP_URL = "url";
3277 /**
3278   * <b>Fluent Client</b> search parameter constant for <b>url</b>
3279   * <p>
3280   * Description: <b>Multiple Resources: 
3281
3282* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement
3283* [CodeSystem](codesystem.html): The uri that identifies the code system
3284* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition
3285* [ConceptMap](conceptmap.html): The uri that identifies the concept map
3286* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition
3287* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide
3288* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition
3289* [NamingSystem](namingsystem.html): The uri that identifies the naming system
3290* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition
3291* [SearchParameter](searchparameter.html): The uri that identifies the search parameter
3292* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition
3293* [StructureMap](structuremap.html): The uri that identifies the structure map
3294* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities
3295* [ValueSet](valueset.html): The uri that identifies the value set
3296</b><br>
3297   * Type: <b>uri</b><br>
3298   * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br>
3299   * </p>
3300   */
3301  public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL);
3302
3303 /**
3304   * Search parameter: <b>version</b>
3305   * <p>
3306   * Description: <b>Multiple Resources: 
3307
3308* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
3309* [CodeSystem](codesystem.html): The business version of the code system
3310* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
3311* [ConceptMap](conceptmap.html): The business version of the concept map
3312* [GraphDefinition](graphdefinition.html): The business version of the graph definition
3313* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
3314* [MessageDefinition](messagedefinition.html): The business version of the message definition
3315* [NamingSystem](namingsystem.html): The business version of the naming system
3316* [OperationDefinition](operationdefinition.html): The business version of the operation definition
3317* [SearchParameter](searchparameter.html): The business version of the search parameter
3318* [StructureDefinition](structuredefinition.html): The business version of the structure definition
3319* [StructureMap](structuremap.html): The business version of the structure map
3320* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
3321* [ValueSet](valueset.html): The business version of the value set
3322</b><br>
3323   * Type: <b>token</b><br>
3324   * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br>
3325   * </p>
3326   */
3327  @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\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* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\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* [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* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" )
3328  public static final String SP_VERSION = "version";
3329 /**
3330   * <b>Fluent Client</b> search parameter constant for <b>version</b>
3331   * <p>
3332   * Description: <b>Multiple Resources: 
3333
3334* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement
3335* [CodeSystem](codesystem.html): The business version of the code system
3336* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition
3337* [ConceptMap](conceptmap.html): The business version of the concept map
3338* [GraphDefinition](graphdefinition.html): The business version of the graph definition
3339* [ImplementationGuide](implementationguide.html): The business version of the implementation guide
3340* [MessageDefinition](messagedefinition.html): The business version of the message definition
3341* [NamingSystem](namingsystem.html): The business version of the naming system
3342* [OperationDefinition](operationdefinition.html): The business version of the operation definition
3343* [SearchParameter](searchparameter.html): The business version of the search parameter
3344* [StructureDefinition](structuredefinition.html): The business version of the structure definition
3345* [StructureMap](structuremap.html): The business version of the structure map
3346* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities
3347* [ValueSet](valueset.html): The business version of the value set
3348</b><br>
3349   * Type: <b>token</b><br>
3350   * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br>
3351   * </p>
3352   */
3353  public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION);
3354
3355// Manual code (from Configuration.txt):
3356  public boolean supportsCopyright() {
3357    return false;
3358  }
3359
3360// end addition
3361
3362}
3363