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