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