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