001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.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 050import org.hl7.fhir.r4b.utils.structuremap.StructureMapUtilities; 051/** 052 * A Map of relationships between 2 structures that can be used to transform data. 053 */ 054@ResourceDef(name="StructureMap", profile="http://hl7.org/fhir/StructureDefinition/StructureMap") 055public class StructureMap extends CanonicalResource { 056 057 public enum StructureMapContextType { 058 /** 059 * The context specifies a type. 060 */ 061 TYPE, 062 /** 063 * The context specifies a variable. 064 */ 065 VARIABLE, 066 /** 067 * added to help the parsers with the generic types 068 */ 069 NULL; 070 public static StructureMapContextType fromCode(String codeString) throws FHIRException { 071 if (codeString == null || "".equals(codeString)) 072 return null; 073 if ("type".equals(codeString)) 074 return TYPE; 075 if ("variable".equals(codeString)) 076 return VARIABLE; 077 if (Configuration.isAcceptInvalidEnums()) 078 return null; 079 else 080 throw new FHIRException("Unknown StructureMapContextType code '"+codeString+"'"); 081 } 082 public String toCode() { 083 switch (this) { 084 case TYPE: return "type"; 085 case VARIABLE: return "variable"; 086 case NULL: return null; 087 default: return "?"; 088 } 089 } 090 public String getSystem() { 091 switch (this) { 092 case TYPE: return "http://hl7.org/fhir/map-context-type"; 093 case VARIABLE: return "http://hl7.org/fhir/map-context-type"; 094 case NULL: return null; 095 default: return "?"; 096 } 097 } 098 public String getDefinition() { 099 switch (this) { 100 case TYPE: return "The context specifies a type."; 101 case VARIABLE: return "The context specifies a variable."; 102 case NULL: return null; 103 default: return "?"; 104 } 105 } 106 public String getDisplay() { 107 switch (this) { 108 case TYPE: return "Type"; 109 case VARIABLE: return "Variable"; 110 case NULL: return null; 111 default: return "?"; 112 } 113 } 114 } 115 116 public static class StructureMapContextTypeEnumFactory implements EnumFactory<StructureMapContextType> { 117 public StructureMapContextType fromCode(String codeString) throws IllegalArgumentException { 118 if (codeString == null || "".equals(codeString)) 119 if (codeString == null || "".equals(codeString)) 120 return null; 121 if ("type".equals(codeString)) 122 return StructureMapContextType.TYPE; 123 if ("variable".equals(codeString)) 124 return StructureMapContextType.VARIABLE; 125 throw new IllegalArgumentException("Unknown StructureMapContextType code '"+codeString+"'"); 126 } 127 public Enumeration<StructureMapContextType> fromType(Base code) throws FHIRException { 128 if (code == null) 129 return null; 130 if (code.isEmpty()) 131 return new Enumeration<StructureMapContextType>(this); 132 String codeString = ((PrimitiveType) code).asStringValue(); 133 if (codeString == null || "".equals(codeString)) 134 return null; 135 if ("type".equals(codeString)) 136 return new Enumeration<StructureMapContextType>(this, StructureMapContextType.TYPE); 137 if ("variable".equals(codeString)) 138 return new Enumeration<StructureMapContextType>(this, StructureMapContextType.VARIABLE); 139 throw new FHIRException("Unknown StructureMapContextType code '"+codeString+"'"); 140 } 141 public String toCode(StructureMapContextType code) { 142 if (code == StructureMapContextType.TYPE) 143 return "type"; 144 if (code == StructureMapContextType.VARIABLE) 145 return "variable"; 146 return "?"; 147 } 148 public String toSystem(StructureMapContextType code) { 149 return code.getSystem(); 150 } 151 } 152 153 public enum StructureMapGroupTypeMode { 154 /** 155 * This group is not a default group for the types. 156 */ 157 NONE, 158 /** 159 * This group is a default mapping group for the specified types and for the primary source type. 160 */ 161 TYPES, 162 /** 163 * This group is a default mapping group for the specified types. 164 */ 165 TYPEANDTYPES, 166 /** 167 * added to help the parsers with the generic types 168 */ 169 NULL; 170 public static StructureMapGroupTypeMode fromCode(String codeString) throws FHIRException { 171 if (codeString == null || "".equals(codeString)) 172 return null; 173 if ("none".equals(codeString)) 174 return NONE; 175 if ("types".equals(codeString)) 176 return TYPES; 177 if ("type-and-types".equals(codeString)) 178 return TYPEANDTYPES; 179 if (Configuration.isAcceptInvalidEnums()) 180 return null; 181 else 182 throw new FHIRException("Unknown StructureMapGroupTypeMode code '"+codeString+"'"); 183 } 184 public String toCode() { 185 switch (this) { 186 case NONE: return "none"; 187 case TYPES: return "types"; 188 case TYPEANDTYPES: return "type-and-types"; 189 case NULL: return null; 190 default: return "?"; 191 } 192 } 193 public String getSystem() { 194 switch (this) { 195 case NONE: return "http://hl7.org/fhir/map-group-type-mode"; 196 case TYPES: return "http://hl7.org/fhir/map-group-type-mode"; 197 case TYPEANDTYPES: return "http://hl7.org/fhir/map-group-type-mode"; 198 case NULL: return null; 199 default: return "?"; 200 } 201 } 202 public String getDefinition() { 203 switch (this) { 204 case NONE: return "This group is not a default group for the types."; 205 case TYPES: return "This group is a default mapping group for the specified types and for the primary source type."; 206 case TYPEANDTYPES: return "This group is a default mapping group for the specified types."; 207 case NULL: return null; 208 default: return "?"; 209 } 210 } 211 public String getDisplay() { 212 switch (this) { 213 case NONE: return "Not a Default"; 214 case TYPES: return "Default for Type Combination"; 215 case TYPEANDTYPES: return "Default for type + combination"; 216 case NULL: return null; 217 default: return "?"; 218 } 219 } 220 } 221 222 public static class StructureMapGroupTypeModeEnumFactory implements EnumFactory<StructureMapGroupTypeMode> { 223 public StructureMapGroupTypeMode fromCode(String codeString) throws IllegalArgumentException { 224 if (codeString == null || "".equals(codeString)) 225 if (codeString == null || "".equals(codeString)) 226 return null; 227 if ("none".equals(codeString)) 228 return StructureMapGroupTypeMode.NONE; 229 if ("types".equals(codeString)) 230 return StructureMapGroupTypeMode.TYPES; 231 if ("type-and-types".equals(codeString)) 232 return StructureMapGroupTypeMode.TYPEANDTYPES; 233 throw new IllegalArgumentException("Unknown StructureMapGroupTypeMode code '"+codeString+"'"); 234 } 235 public Enumeration<StructureMapGroupTypeMode> fromType(Base code) throws FHIRException { 236 if (code == null) 237 return null; 238 if (code.isEmpty()) 239 return new Enumeration<StructureMapGroupTypeMode>(this); 240 String codeString = ((PrimitiveType) code).asStringValue(); 241 if (codeString == null || "".equals(codeString)) 242 return null; 243 if ("none".equals(codeString)) 244 return new Enumeration<StructureMapGroupTypeMode>(this, StructureMapGroupTypeMode.NONE); 245 if ("types".equals(codeString)) 246 return new Enumeration<StructureMapGroupTypeMode>(this, StructureMapGroupTypeMode.TYPES); 247 if ("type-and-types".equals(codeString)) 248 return new Enumeration<StructureMapGroupTypeMode>(this, StructureMapGroupTypeMode.TYPEANDTYPES); 249 throw new FHIRException("Unknown StructureMapGroupTypeMode code '"+codeString+"'"); 250 } 251 public String toCode(StructureMapGroupTypeMode code) { 252 if (code == StructureMapGroupTypeMode.NONE) 253 return "none"; 254 if (code == StructureMapGroupTypeMode.TYPES) 255 return "types"; 256 if (code == StructureMapGroupTypeMode.TYPEANDTYPES) 257 return "type-and-types"; 258 return "?"; 259 } 260 public String toSystem(StructureMapGroupTypeMode code) { 261 return code.getSystem(); 262 } 263 } 264 265 public enum StructureMapInputMode { 266 /** 267 * Names an input instance used a source for mapping. 268 */ 269 SOURCE, 270 /** 271 * Names an instance that is being populated. 272 */ 273 TARGET, 274 /** 275 * added to help the parsers with the generic types 276 */ 277 NULL; 278 public static StructureMapInputMode fromCode(String codeString) throws FHIRException { 279 if (codeString == null || "".equals(codeString)) 280 return null; 281 if ("source".equals(codeString)) 282 return SOURCE; 283 if ("target".equals(codeString)) 284 return TARGET; 285 if (Configuration.isAcceptInvalidEnums()) 286 return null; 287 else 288 throw new FHIRException("Unknown StructureMapInputMode code '"+codeString+"'"); 289 } 290 public String toCode() { 291 switch (this) { 292 case SOURCE: return "source"; 293 case TARGET: return "target"; 294 case NULL: return null; 295 default: return "?"; 296 } 297 } 298 public String getSystem() { 299 switch (this) { 300 case SOURCE: return "http://hl7.org/fhir/map-input-mode"; 301 case TARGET: return "http://hl7.org/fhir/map-input-mode"; 302 case NULL: return null; 303 default: return "?"; 304 } 305 } 306 public String getDefinition() { 307 switch (this) { 308 case SOURCE: return "Names an input instance used a source for mapping."; 309 case TARGET: return "Names an instance that is being populated."; 310 case NULL: return null; 311 default: return "?"; 312 } 313 } 314 public String getDisplay() { 315 switch (this) { 316 case SOURCE: return "Source Instance"; 317 case TARGET: return "Target Instance"; 318 case NULL: return null; 319 default: return "?"; 320 } 321 } 322 } 323 324 public static class StructureMapInputModeEnumFactory implements EnumFactory<StructureMapInputMode> { 325 public StructureMapInputMode fromCode(String codeString) throws IllegalArgumentException { 326 if (codeString == null || "".equals(codeString)) 327 if (codeString == null || "".equals(codeString)) 328 return null; 329 if ("source".equals(codeString)) 330 return StructureMapInputMode.SOURCE; 331 if ("target".equals(codeString)) 332 return StructureMapInputMode.TARGET; 333 throw new IllegalArgumentException("Unknown StructureMapInputMode code '"+codeString+"'"); 334 } 335 public Enumeration<StructureMapInputMode> fromType(Base code) throws FHIRException { 336 if (code == null) 337 return null; 338 if (code.isEmpty()) 339 return new Enumeration<StructureMapInputMode>(this); 340 String codeString = ((PrimitiveType) code).asStringValue(); 341 if (codeString == null || "".equals(codeString)) 342 return null; 343 if ("source".equals(codeString)) 344 return new Enumeration<StructureMapInputMode>(this, StructureMapInputMode.SOURCE); 345 if ("target".equals(codeString)) 346 return new Enumeration<StructureMapInputMode>(this, StructureMapInputMode.TARGET); 347 throw new FHIRException("Unknown StructureMapInputMode code '"+codeString+"'"); 348 } 349 public String toCode(StructureMapInputMode code) { 350 if (code == StructureMapInputMode.SOURCE) 351 return "source"; 352 if (code == StructureMapInputMode.TARGET) 353 return "target"; 354 return "?"; 355 } 356 public String toSystem(StructureMapInputMode code) { 357 return code.getSystem(); 358 } 359 } 360 361 public enum StructureMapModelMode { 362 /** 363 * This structure describes an instance passed to the mapping engine that is used a source of data. 364 */ 365 SOURCE, 366 /** 367 * This structure describes an instance that the mapping engine may ask for that is used a source of data. 368 */ 369 QUERIED, 370 /** 371 * This structure describes an instance passed to the mapping engine that is used a target of data. 372 */ 373 TARGET, 374 /** 375 * This structure describes an instance that the mapping engine may ask to create that is used a target of data. 376 */ 377 PRODUCED, 378 /** 379 * added to help the parsers with the generic types 380 */ 381 NULL; 382 public static StructureMapModelMode fromCode(String codeString) throws FHIRException { 383 if (codeString == null || "".equals(codeString)) 384 return null; 385 if ("source".equals(codeString)) 386 return SOURCE; 387 if ("queried".equals(codeString)) 388 return QUERIED; 389 if ("target".equals(codeString)) 390 return TARGET; 391 if ("produced".equals(codeString)) 392 return PRODUCED; 393 if (Configuration.isAcceptInvalidEnums()) 394 return null; 395 else 396 throw new FHIRException("Unknown StructureMapModelMode code '"+codeString+"'"); 397 } 398 public String toCode() { 399 switch (this) { 400 case SOURCE: return "source"; 401 case QUERIED: return "queried"; 402 case TARGET: return "target"; 403 case PRODUCED: return "produced"; 404 case NULL: return null; 405 default: return "?"; 406 } 407 } 408 public String getSystem() { 409 switch (this) { 410 case SOURCE: return "http://hl7.org/fhir/map-model-mode"; 411 case QUERIED: return "http://hl7.org/fhir/map-model-mode"; 412 case TARGET: return "http://hl7.org/fhir/map-model-mode"; 413 case PRODUCED: return "http://hl7.org/fhir/map-model-mode"; 414 case NULL: return null; 415 default: return "?"; 416 } 417 } 418 public String getDefinition() { 419 switch (this) { 420 case SOURCE: return "This structure describes an instance passed to the mapping engine that is used a source of data."; 421 case QUERIED: return "This structure describes an instance that the mapping engine may ask for that is used a source of data."; 422 case TARGET: return "This structure describes an instance passed to the mapping engine that is used a target of data."; 423 case PRODUCED: return "This structure describes an instance that the mapping engine may ask to create that is used a target of data."; 424 case NULL: return null; 425 default: return "?"; 426 } 427 } 428 public String getDisplay() { 429 switch (this) { 430 case SOURCE: return "Source Structure Definition"; 431 case QUERIED: return "Queried Structure Definition"; 432 case TARGET: return "Target Structure Definition"; 433 case PRODUCED: return "Produced Structure Definition"; 434 case NULL: return null; 435 default: return "?"; 436 } 437 } 438 } 439 440 public static class StructureMapModelModeEnumFactory implements EnumFactory<StructureMapModelMode> { 441 public StructureMapModelMode fromCode(String codeString) throws IllegalArgumentException { 442 if (codeString == null || "".equals(codeString)) 443 if (codeString == null || "".equals(codeString)) 444 return null; 445 if ("source".equals(codeString)) 446 return StructureMapModelMode.SOURCE; 447 if ("queried".equals(codeString)) 448 return StructureMapModelMode.QUERIED; 449 if ("target".equals(codeString)) 450 return StructureMapModelMode.TARGET; 451 if ("produced".equals(codeString)) 452 return StructureMapModelMode.PRODUCED; 453 throw new IllegalArgumentException("Unknown StructureMapModelMode code '"+codeString+"'"); 454 } 455 public Enumeration<StructureMapModelMode> fromType(Base code) throws FHIRException { 456 if (code == null) 457 return null; 458 if (code.isEmpty()) 459 return new Enumeration<StructureMapModelMode>(this); 460 String codeString = ((PrimitiveType) code).asStringValue(); 461 if (codeString == null || "".equals(codeString)) 462 return null; 463 if ("source".equals(codeString)) 464 return new Enumeration<StructureMapModelMode>(this, StructureMapModelMode.SOURCE); 465 if ("queried".equals(codeString)) 466 return new Enumeration<StructureMapModelMode>(this, StructureMapModelMode.QUERIED); 467 if ("target".equals(codeString)) 468 return new Enumeration<StructureMapModelMode>(this, StructureMapModelMode.TARGET); 469 if ("produced".equals(codeString)) 470 return new Enumeration<StructureMapModelMode>(this, StructureMapModelMode.PRODUCED); 471 throw new FHIRException("Unknown StructureMapModelMode code '"+codeString+"'"); 472 } 473 public String toCode(StructureMapModelMode code) { 474 if (code == StructureMapModelMode.SOURCE) 475 return "source"; 476 if (code == StructureMapModelMode.QUERIED) 477 return "queried"; 478 if (code == StructureMapModelMode.TARGET) 479 return "target"; 480 if (code == StructureMapModelMode.PRODUCED) 481 return "produced"; 482 return "?"; 483 } 484 public String toSystem(StructureMapModelMode code) { 485 return code.getSystem(); 486 } 487 } 488 489 public enum StructureMapSourceListMode { 490 /** 491 * Only process this rule for the first in the list. 492 */ 493 FIRST, 494 /** 495 * Process this rule for all but the first. 496 */ 497 NOTFIRST, 498 /** 499 * Only process this rule for the last in the list. 500 */ 501 LAST, 502 /** 503 * Process this rule for all but the last. 504 */ 505 NOTLAST, 506 /** 507 * Only process this rule is there is only item. 508 */ 509 ONLYONE, 510 /** 511 * added to help the parsers with the generic types 512 */ 513 NULL; 514 public static StructureMapSourceListMode fromCode(String codeString) throws FHIRException { 515 if (codeString == null || "".equals(codeString)) 516 return null; 517 if ("first".equals(codeString)) 518 return FIRST; 519 if ("not_first".equals(codeString)) 520 return NOTFIRST; 521 if ("last".equals(codeString)) 522 return LAST; 523 if ("not_last".equals(codeString)) 524 return NOTLAST; 525 if ("only_one".equals(codeString)) 526 return ONLYONE; 527 if (Configuration.isAcceptInvalidEnums()) 528 return null; 529 else 530 throw new FHIRException("Unknown StructureMapSourceListMode code '"+codeString+"'"); 531 } 532 public String toCode() { 533 switch (this) { 534 case FIRST: return "first"; 535 case NOTFIRST: return "not_first"; 536 case LAST: return "last"; 537 case NOTLAST: return "not_last"; 538 case ONLYONE: return "only_one"; 539 case NULL: return null; 540 default: return "?"; 541 } 542 } 543 public String getSystem() { 544 switch (this) { 545 case FIRST: return "http://hl7.org/fhir/map-source-list-mode"; 546 case NOTFIRST: return "http://hl7.org/fhir/map-source-list-mode"; 547 case LAST: return "http://hl7.org/fhir/map-source-list-mode"; 548 case NOTLAST: return "http://hl7.org/fhir/map-source-list-mode"; 549 case ONLYONE: return "http://hl7.org/fhir/map-source-list-mode"; 550 case NULL: return null; 551 default: return "?"; 552 } 553 } 554 public String getDefinition() { 555 switch (this) { 556 case FIRST: return "Only process this rule for the first in the list."; 557 case NOTFIRST: return "Process this rule for all but the first."; 558 case LAST: return "Only process this rule for the last in the list."; 559 case NOTLAST: return "Process this rule for all but the last."; 560 case ONLYONE: return "Only process this rule is there is only item."; 561 case NULL: return null; 562 default: return "?"; 563 } 564 } 565 public String getDisplay() { 566 switch (this) { 567 case FIRST: return "First"; 568 case NOTFIRST: return "All but the first"; 569 case LAST: return "Last"; 570 case NOTLAST: return "All but the last"; 571 case ONLYONE: return "Enforce only one"; 572 case NULL: return null; 573 default: return "?"; 574 } 575 } 576 } 577 578 public static class StructureMapSourceListModeEnumFactory implements EnumFactory<StructureMapSourceListMode> { 579 public StructureMapSourceListMode fromCode(String codeString) throws IllegalArgumentException { 580 if (codeString == null || "".equals(codeString)) 581 if (codeString == null || "".equals(codeString)) 582 return null; 583 if ("first".equals(codeString)) 584 return StructureMapSourceListMode.FIRST; 585 if ("not_first".equals(codeString)) 586 return StructureMapSourceListMode.NOTFIRST; 587 if ("last".equals(codeString)) 588 return StructureMapSourceListMode.LAST; 589 if ("not_last".equals(codeString)) 590 return StructureMapSourceListMode.NOTLAST; 591 if ("only_one".equals(codeString)) 592 return StructureMapSourceListMode.ONLYONE; 593 throw new IllegalArgumentException("Unknown StructureMapSourceListMode code '"+codeString+"'"); 594 } 595 public Enumeration<StructureMapSourceListMode> fromType(Base code) throws FHIRException { 596 if (code == null) 597 return null; 598 if (code.isEmpty()) 599 return new Enumeration<StructureMapSourceListMode>(this); 600 String codeString = ((PrimitiveType) code).asStringValue(); 601 if (codeString == null || "".equals(codeString)) 602 return null; 603 if ("first".equals(codeString)) 604 return new Enumeration<StructureMapSourceListMode>(this, StructureMapSourceListMode.FIRST); 605 if ("not_first".equals(codeString)) 606 return new Enumeration<StructureMapSourceListMode>(this, StructureMapSourceListMode.NOTFIRST); 607 if ("last".equals(codeString)) 608 return new Enumeration<StructureMapSourceListMode>(this, StructureMapSourceListMode.LAST); 609 if ("not_last".equals(codeString)) 610 return new Enumeration<StructureMapSourceListMode>(this, StructureMapSourceListMode.NOTLAST); 611 if ("only_one".equals(codeString)) 612 return new Enumeration<StructureMapSourceListMode>(this, StructureMapSourceListMode.ONLYONE); 613 throw new FHIRException("Unknown StructureMapSourceListMode code '"+codeString+"'"); 614 } 615 public String toCode(StructureMapSourceListMode code) { 616 if (code == StructureMapSourceListMode.FIRST) 617 return "first"; 618 if (code == StructureMapSourceListMode.NOTFIRST) 619 return "not_first"; 620 if (code == StructureMapSourceListMode.LAST) 621 return "last"; 622 if (code == StructureMapSourceListMode.NOTLAST) 623 return "not_last"; 624 if (code == StructureMapSourceListMode.ONLYONE) 625 return "only_one"; 626 return "?"; 627 } 628 public String toSystem(StructureMapSourceListMode code) { 629 return code.getSystem(); 630 } 631 } 632 633 public enum StructureMapTargetListMode { 634 /** 635 * when the target list is being assembled, the items for this rule go first. If more than one rule defines a first item (for a given instance of mapping) then this is an error. 636 */ 637 FIRST, 638 /** 639 * the target instance is shared with the target instances generated by another rule (up to the first common n items, then create new ones). 640 */ 641 SHARE, 642 /** 643 * when the target list is being assembled, the items for this rule go last. If more than one rule defines a last item (for a given instance of mapping) then this is an error. 644 */ 645 LAST, 646 /** 647 * re-use the first item in the list, and keep adding content to it. 648 */ 649 COLLATE, 650 /** 651 * added to help the parsers with the generic types 652 */ 653 NULL; 654 public static StructureMapTargetListMode fromCode(String codeString) throws FHIRException { 655 if (codeString == null || "".equals(codeString)) 656 return null; 657 if ("first".equals(codeString)) 658 return FIRST; 659 if ("share".equals(codeString)) 660 return SHARE; 661 if ("last".equals(codeString)) 662 return LAST; 663 if ("collate".equals(codeString)) 664 return COLLATE; 665 if (Configuration.isAcceptInvalidEnums()) 666 return null; 667 else 668 throw new FHIRException("Unknown StructureMapTargetListMode code '"+codeString+"'"); 669 } 670 public String toCode() { 671 switch (this) { 672 case FIRST: return "first"; 673 case SHARE: return "share"; 674 case LAST: return "last"; 675 case COLLATE: return "collate"; 676 case NULL: return null; 677 default: return "?"; 678 } 679 } 680 public String getSystem() { 681 switch (this) { 682 case FIRST: return "http://hl7.org/fhir/map-target-list-mode"; 683 case SHARE: return "http://hl7.org/fhir/map-target-list-mode"; 684 case LAST: return "http://hl7.org/fhir/map-target-list-mode"; 685 case COLLATE: return "http://hl7.org/fhir/map-target-list-mode"; 686 case NULL: return null; 687 default: return "?"; 688 } 689 } 690 public String getDefinition() { 691 switch (this) { 692 case FIRST: return "when the target list is being assembled, the items for this rule go first. If more than one rule defines a first item (for a given instance of mapping) then this is an error."; 693 case SHARE: return "the target instance is shared with the target instances generated by another rule (up to the first common n items, then create new ones)."; 694 case LAST: return "when the target list is being assembled, the items for this rule go last. If more than one rule defines a last item (for a given instance of mapping) then this is an error."; 695 case COLLATE: return "re-use the first item in the list, and keep adding content to it."; 696 case NULL: return null; 697 default: return "?"; 698 } 699 } 700 public String getDisplay() { 701 switch (this) { 702 case FIRST: return "First"; 703 case SHARE: return "Share"; 704 case LAST: return "Last"; 705 case COLLATE: return "Collate"; 706 case NULL: return null; 707 default: return "?"; 708 } 709 } 710 } 711 712 public static class StructureMapTargetListModeEnumFactory implements EnumFactory<StructureMapTargetListMode> { 713 public StructureMapTargetListMode fromCode(String codeString) throws IllegalArgumentException { 714 if (codeString == null || "".equals(codeString)) 715 if (codeString == null || "".equals(codeString)) 716 return null; 717 if ("first".equals(codeString)) 718 return StructureMapTargetListMode.FIRST; 719 if ("share".equals(codeString)) 720 return StructureMapTargetListMode.SHARE; 721 if ("last".equals(codeString)) 722 return StructureMapTargetListMode.LAST; 723 if ("collate".equals(codeString)) 724 return StructureMapTargetListMode.COLLATE; 725 throw new IllegalArgumentException("Unknown StructureMapTargetListMode code '"+codeString+"'"); 726 } 727 public Enumeration<StructureMapTargetListMode> fromType(Base code) throws FHIRException { 728 if (code == null) 729 return null; 730 if (code.isEmpty()) 731 return new Enumeration<StructureMapTargetListMode>(this); 732 String codeString = ((PrimitiveType) code).asStringValue(); 733 if (codeString == null || "".equals(codeString)) 734 return null; 735 if ("first".equals(codeString)) 736 return new Enumeration<StructureMapTargetListMode>(this, StructureMapTargetListMode.FIRST); 737 if ("share".equals(codeString)) 738 return new Enumeration<StructureMapTargetListMode>(this, StructureMapTargetListMode.SHARE); 739 if ("last".equals(codeString)) 740 return new Enumeration<StructureMapTargetListMode>(this, StructureMapTargetListMode.LAST); 741 if ("collate".equals(codeString)) 742 return new Enumeration<StructureMapTargetListMode>(this, StructureMapTargetListMode.COLLATE); 743 throw new FHIRException("Unknown StructureMapTargetListMode code '"+codeString+"'"); 744 } 745 public String toCode(StructureMapTargetListMode code) { 746 if (code == StructureMapTargetListMode.FIRST) 747 return "first"; 748 if (code == StructureMapTargetListMode.SHARE) 749 return "share"; 750 if (code == StructureMapTargetListMode.LAST) 751 return "last"; 752 if (code == StructureMapTargetListMode.COLLATE) 753 return "collate"; 754 return "?"; 755 } 756 public String toSystem(StructureMapTargetListMode code) { 757 return code.getSystem(); 758 } 759 } 760 761 public enum StructureMapTransform { 762 /** 763 * create(type : string) - type is passed through to the application on the standard API, and must be known by it. 764 */ 765 CREATE, 766 /** 767 * copy(source). 768 */ 769 COPY, 770 /** 771 * truncate(source, length) - source must be stringy type. 772 */ 773 TRUNCATE, 774 /** 775 * escape(source, fmt1, fmt2) - change source from one kind of escaping to another (plain, java, xml, json). note that this is for when the string itself is escaped. 776 */ 777 ESCAPE, 778 /** 779 * cast(source, type?) - case source from one type to another. target type can be left as implicit if there is one and only one target type known. 780 */ 781 CAST, 782 /** 783 * append(source...) - source is element or string. 784 */ 785 APPEND, 786 /** 787 * translate(source, uri_of_map) - use the translate operation. 788 */ 789 TRANSLATE, 790 /** 791 * reference(source : object) - return a string that references the provided tree properly. 792 */ 793 REFERENCE, 794 /** 795 * Perform a date operation. *Parameters to be documented*. 796 */ 797 DATEOP, 798 /** 799 * Generate a random UUID (in lowercase). No Parameters. 800 */ 801 UUID, 802 /** 803 * Return the appropriate string to put in a reference that refers to the resource provided as a parameter. 804 */ 805 POINTER, 806 /** 807 * Execute the supplied FHIRPath expression and use the value returned by that. 808 */ 809 EVALUATE, 810 /** 811 * Create a CodeableConcept. Parameters = (text) or (system. Code[, display]). 812 */ 813 CC, 814 /** 815 * Create a Coding. Parameters = (system. Code[, display]). 816 */ 817 C, 818 /** 819 * Create a quantity. Parameters = (text) or (value, unit, [system, code]) where text is the natural representation e.g. [comparator]value[space]unit. 820 */ 821 QTY, 822 /** 823 * Create an identifier. Parameters = (system, value[, type]) where type is a code from the identifier type value set. 824 */ 825 ID, 826 /** 827 * Create a contact details. Parameters = (value) or (system, value). If no system is provided, the system should be inferred from the content of the value. 828 */ 829 CP, 830 /** 831 * added to help the parsers with the generic types 832 */ 833 NULL; 834 public static StructureMapTransform fromCode(String codeString) throws FHIRException { 835 if (codeString == null || "".equals(codeString)) 836 return null; 837 if ("create".equals(codeString)) 838 return CREATE; 839 if ("copy".equals(codeString)) 840 return COPY; 841 if ("truncate".equals(codeString)) 842 return TRUNCATE; 843 if ("escape".equals(codeString)) 844 return ESCAPE; 845 if ("cast".equals(codeString)) 846 return CAST; 847 if ("append".equals(codeString)) 848 return APPEND; 849 if ("translate".equals(codeString)) 850 return TRANSLATE; 851 if ("reference".equals(codeString)) 852 return REFERENCE; 853 if ("dateOp".equals(codeString)) 854 return DATEOP; 855 if ("uuid".equals(codeString)) 856 return UUID; 857 if ("pointer".equals(codeString)) 858 return POINTER; 859 if ("evaluate".equals(codeString)) 860 return EVALUATE; 861 if ("cc".equals(codeString)) 862 return CC; 863 if ("c".equals(codeString)) 864 return C; 865 if ("qty".equals(codeString)) 866 return QTY; 867 if ("id".equals(codeString)) 868 return ID; 869 if ("cp".equals(codeString)) 870 return CP; 871 if (Configuration.isAcceptInvalidEnums()) 872 return null; 873 else 874 throw new FHIRException("Unknown StructureMapTransform code '"+codeString+"'"); 875 } 876 public String toCode() { 877 switch (this) { 878 case CREATE: return "create"; 879 case COPY: return "copy"; 880 case TRUNCATE: return "truncate"; 881 case ESCAPE: return "escape"; 882 case CAST: return "cast"; 883 case APPEND: return "append"; 884 case TRANSLATE: return "translate"; 885 case REFERENCE: return "reference"; 886 case DATEOP: return "dateOp"; 887 case UUID: return "uuid"; 888 case POINTER: return "pointer"; 889 case EVALUATE: return "evaluate"; 890 case CC: return "cc"; 891 case C: return "c"; 892 case QTY: return "qty"; 893 case ID: return "id"; 894 case CP: return "cp"; 895 case NULL: return null; 896 default: return "?"; 897 } 898 } 899 public String getSystem() { 900 switch (this) { 901 case CREATE: return "http://hl7.org/fhir/map-transform"; 902 case COPY: return "http://hl7.org/fhir/map-transform"; 903 case TRUNCATE: return "http://hl7.org/fhir/map-transform"; 904 case ESCAPE: return "http://hl7.org/fhir/map-transform"; 905 case CAST: return "http://hl7.org/fhir/map-transform"; 906 case APPEND: return "http://hl7.org/fhir/map-transform"; 907 case TRANSLATE: return "http://hl7.org/fhir/map-transform"; 908 case REFERENCE: return "http://hl7.org/fhir/map-transform"; 909 case DATEOP: return "http://hl7.org/fhir/map-transform"; 910 case UUID: return "http://hl7.org/fhir/map-transform"; 911 case POINTER: return "http://hl7.org/fhir/map-transform"; 912 case EVALUATE: return "http://hl7.org/fhir/map-transform"; 913 case CC: return "http://hl7.org/fhir/map-transform"; 914 case C: return "http://hl7.org/fhir/map-transform"; 915 case QTY: return "http://hl7.org/fhir/map-transform"; 916 case ID: return "http://hl7.org/fhir/map-transform"; 917 case CP: return "http://hl7.org/fhir/map-transform"; 918 case NULL: return null; 919 default: return "?"; 920 } 921 } 922 public String getDefinition() { 923 switch (this) { 924 case CREATE: return "create(type : string) - type is passed through to the application on the standard API, and must be known by it."; 925 case COPY: return "copy(source)."; 926 case TRUNCATE: return "truncate(source, length) - source must be stringy type."; 927 case ESCAPE: return "escape(source, fmt1, fmt2) - change source from one kind of escaping to another (plain, java, xml, json). note that this is for when the string itself is escaped."; 928 case CAST: return "cast(source, type?) - case source from one type to another. target type can be left as implicit if there is one and only one target type known."; 929 case APPEND: return "append(source...) - source is element or string."; 930 case TRANSLATE: return "translate(source, uri_of_map) - use the translate operation."; 931 case REFERENCE: return "reference(source : object) - return a string that references the provided tree properly."; 932 case DATEOP: return "Perform a date operation. *Parameters to be documented*."; 933 case UUID: return "Generate a random UUID (in lowercase). No Parameters."; 934 case POINTER: return "Return the appropriate string to put in a reference that refers to the resource provided as a parameter."; 935 case EVALUATE: return "Execute the supplied FHIRPath expression and use the value returned by that."; 936 case CC: return "Create a CodeableConcept. Parameters = (text) or (system. Code[, display])."; 937 case C: return "Create a Coding. Parameters = (system. Code[, display])."; 938 case QTY: return "Create a quantity. Parameters = (text) or (value, unit, [system, code]) where text is the natural representation e.g. [comparator]value[space]unit."; 939 case ID: return "Create an identifier. Parameters = (system, value[, type]) where type is a code from the identifier type value set."; 940 case CP: return "Create a contact details. Parameters = (value) or (system, value). If no system is provided, the system should be inferred from the content of the value."; 941 case NULL: return null; 942 default: return "?"; 943 } 944 } 945 public String getDisplay() { 946 switch (this) { 947 case CREATE: return "create"; 948 case COPY: return "copy"; 949 case TRUNCATE: return "truncate"; 950 case ESCAPE: return "escape"; 951 case CAST: return "cast"; 952 case APPEND: return "append"; 953 case TRANSLATE: return "translate"; 954 case REFERENCE: return "reference"; 955 case DATEOP: return "dateOp"; 956 case UUID: return "uuid"; 957 case POINTER: return "pointer"; 958 case EVALUATE: return "evaluate"; 959 case CC: return "cc"; 960 case C: return "c"; 961 case QTY: return "qty"; 962 case ID: return "id"; 963 case CP: return "cp"; 964 case NULL: return null; 965 default: return "?"; 966 } 967 } 968 } 969 970 public static class StructureMapTransformEnumFactory implements EnumFactory<StructureMapTransform> { 971 public StructureMapTransform fromCode(String codeString) throws IllegalArgumentException { 972 if (codeString == null || "".equals(codeString)) 973 if (codeString == null || "".equals(codeString)) 974 return null; 975 if ("create".equals(codeString)) 976 return StructureMapTransform.CREATE; 977 if ("copy".equals(codeString)) 978 return StructureMapTransform.COPY; 979 if ("truncate".equals(codeString)) 980 return StructureMapTransform.TRUNCATE; 981 if ("escape".equals(codeString)) 982 return StructureMapTransform.ESCAPE; 983 if ("cast".equals(codeString)) 984 return StructureMapTransform.CAST; 985 if ("append".equals(codeString)) 986 return StructureMapTransform.APPEND; 987 if ("translate".equals(codeString)) 988 return StructureMapTransform.TRANSLATE; 989 if ("reference".equals(codeString)) 990 return StructureMapTransform.REFERENCE; 991 if ("dateOp".equals(codeString)) 992 return StructureMapTransform.DATEOP; 993 if ("uuid".equals(codeString)) 994 return StructureMapTransform.UUID; 995 if ("pointer".equals(codeString)) 996 return StructureMapTransform.POINTER; 997 if ("evaluate".equals(codeString)) 998 return StructureMapTransform.EVALUATE; 999 if ("cc".equals(codeString)) 1000 return StructureMapTransform.CC; 1001 if ("c".equals(codeString)) 1002 return StructureMapTransform.C; 1003 if ("qty".equals(codeString)) 1004 return StructureMapTransform.QTY; 1005 if ("id".equals(codeString)) 1006 return StructureMapTransform.ID; 1007 if ("cp".equals(codeString)) 1008 return StructureMapTransform.CP; 1009 throw new IllegalArgumentException("Unknown StructureMapTransform code '"+codeString+"'"); 1010 } 1011 public Enumeration<StructureMapTransform> fromType(Base code) throws FHIRException { 1012 if (code == null) 1013 return null; 1014 if (code.isEmpty()) 1015 return new Enumeration<StructureMapTransform>(this); 1016 String codeString = ((PrimitiveType) code).asStringValue(); 1017 if (codeString == null || "".equals(codeString)) 1018 return null; 1019 if ("create".equals(codeString)) 1020 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.CREATE); 1021 if ("copy".equals(codeString)) 1022 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.COPY); 1023 if ("truncate".equals(codeString)) 1024 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.TRUNCATE); 1025 if ("escape".equals(codeString)) 1026 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.ESCAPE); 1027 if ("cast".equals(codeString)) 1028 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.CAST); 1029 if ("append".equals(codeString)) 1030 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.APPEND); 1031 if ("translate".equals(codeString)) 1032 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.TRANSLATE); 1033 if ("reference".equals(codeString)) 1034 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.REFERENCE); 1035 if ("dateOp".equals(codeString)) 1036 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.DATEOP); 1037 if ("uuid".equals(codeString)) 1038 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.UUID); 1039 if ("pointer".equals(codeString)) 1040 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.POINTER); 1041 if ("evaluate".equals(codeString)) 1042 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.EVALUATE); 1043 if ("cc".equals(codeString)) 1044 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.CC); 1045 if ("c".equals(codeString)) 1046 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.C); 1047 if ("qty".equals(codeString)) 1048 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.QTY); 1049 if ("id".equals(codeString)) 1050 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.ID); 1051 if ("cp".equals(codeString)) 1052 return new Enumeration<StructureMapTransform>(this, StructureMapTransform.CP); 1053 throw new FHIRException("Unknown StructureMapTransform code '"+codeString+"'"); 1054 } 1055 public String toCode(StructureMapTransform code) { 1056 if (code == StructureMapTransform.CREATE) 1057 return "create"; 1058 if (code == StructureMapTransform.COPY) 1059 return "copy"; 1060 if (code == StructureMapTransform.TRUNCATE) 1061 return "truncate"; 1062 if (code == StructureMapTransform.ESCAPE) 1063 return "escape"; 1064 if (code == StructureMapTransform.CAST) 1065 return "cast"; 1066 if (code == StructureMapTransform.APPEND) 1067 return "append"; 1068 if (code == StructureMapTransform.TRANSLATE) 1069 return "translate"; 1070 if (code == StructureMapTransform.REFERENCE) 1071 return "reference"; 1072 if (code == StructureMapTransform.DATEOP) 1073 return "dateOp"; 1074 if (code == StructureMapTransform.UUID) 1075 return "uuid"; 1076 if (code == StructureMapTransform.POINTER) 1077 return "pointer"; 1078 if (code == StructureMapTransform.EVALUATE) 1079 return "evaluate"; 1080 if (code == StructureMapTransform.CC) 1081 return "cc"; 1082 if (code == StructureMapTransform.C) 1083 return "c"; 1084 if (code == StructureMapTransform.QTY) 1085 return "qty"; 1086 if (code == StructureMapTransform.ID) 1087 return "id"; 1088 if (code == StructureMapTransform.CP) 1089 return "cp"; 1090 return "?"; 1091 } 1092 public String toSystem(StructureMapTransform code) { 1093 return code.getSystem(); 1094 } 1095 } 1096 1097 @Block() 1098 public static class StructureMapStructureComponent extends BackboneElement implements IBaseBackboneElement { 1099 /** 1100 * The canonical reference to the structure. 1101 */ 1102 @Child(name = "url", type = {CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1103 @Description(shortDefinition="Canonical reference to structure definition", formalDefinition="The canonical reference to the structure." ) 1104 protected CanonicalType url; 1105 1106 /** 1107 * How the referenced structure is used in this mapping. 1108 */ 1109 @Child(name = "mode", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 1110 @Description(shortDefinition="source | queried | target | produced", formalDefinition="How the referenced structure is used in this mapping." ) 1111 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-model-mode") 1112 protected Enumeration<StructureMapModelMode> mode; 1113 1114 /** 1115 * The name used for this type in the map. 1116 */ 1117 @Child(name = "alias", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 1118 @Description(shortDefinition="Name for type in this map", formalDefinition="The name used for this type in the map." ) 1119 protected StringType alias; 1120 1121 /** 1122 * Documentation that describes how the structure is used in the mapping. 1123 */ 1124 @Child(name = "documentation", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1125 @Description(shortDefinition="Documentation on use of structure", formalDefinition="Documentation that describes how the structure is used in the mapping." ) 1126 protected StringType documentation; 1127 1128 private static final long serialVersionUID = 364750586L; 1129 1130 /** 1131 * Constructor 1132 */ 1133 public StructureMapStructureComponent() { 1134 super(); 1135 } 1136 1137 /** 1138 * Constructor 1139 */ 1140 public StructureMapStructureComponent(String url, StructureMapModelMode mode) { 1141 super(); 1142 this.setUrl(url); 1143 this.setMode(mode); 1144 } 1145 1146 /** 1147 * @return {@link #url} (The canonical reference to the structure.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1148 */ 1149 public CanonicalType getUrlElement() { 1150 if (this.url == null) 1151 if (Configuration.errorOnAutoCreate()) 1152 throw new Error("Attempt to auto-create StructureMapStructureComponent.url"); 1153 else if (Configuration.doAutoCreate()) 1154 this.url = new CanonicalType(); // bb 1155 return this.url; 1156 } 1157 1158 public boolean hasUrlElement() { 1159 return this.url != null && !this.url.isEmpty(); 1160 } 1161 1162 public boolean hasUrl() { 1163 return this.url != null && !this.url.isEmpty(); 1164 } 1165 1166 /** 1167 * @param value {@link #url} (The canonical reference to the structure.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1168 */ 1169 public StructureMapStructureComponent setUrlElement(CanonicalType value) { 1170 this.url = value; 1171 return this; 1172 } 1173 1174 /** 1175 * @return The canonical reference to the structure. 1176 */ 1177 public String getUrl() { 1178 return this.url == null ? null : this.url.getValue(); 1179 } 1180 1181 /** 1182 * @param value The canonical reference to the structure. 1183 */ 1184 public StructureMapStructureComponent setUrl(String value) { 1185 if (this.url == null) 1186 this.url = new CanonicalType(); 1187 this.url.setValue(value); 1188 return this; 1189 } 1190 1191 /** 1192 * @return {@link #mode} (How the referenced structure is used in this mapping.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 1193 */ 1194 public Enumeration<StructureMapModelMode> getModeElement() { 1195 if (this.mode == null) 1196 if (Configuration.errorOnAutoCreate()) 1197 throw new Error("Attempt to auto-create StructureMapStructureComponent.mode"); 1198 else if (Configuration.doAutoCreate()) 1199 this.mode = new Enumeration<StructureMapModelMode>(new StructureMapModelModeEnumFactory()); // bb 1200 return this.mode; 1201 } 1202 1203 public boolean hasModeElement() { 1204 return this.mode != null && !this.mode.isEmpty(); 1205 } 1206 1207 public boolean hasMode() { 1208 return this.mode != null && !this.mode.isEmpty(); 1209 } 1210 1211 /** 1212 * @param value {@link #mode} (How the referenced structure is used in this mapping.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 1213 */ 1214 public StructureMapStructureComponent setModeElement(Enumeration<StructureMapModelMode> value) { 1215 this.mode = value; 1216 return this; 1217 } 1218 1219 /** 1220 * @return How the referenced structure is used in this mapping. 1221 */ 1222 public StructureMapModelMode getMode() { 1223 return this.mode == null ? null : this.mode.getValue(); 1224 } 1225 1226 /** 1227 * @param value How the referenced structure is used in this mapping. 1228 */ 1229 public StructureMapStructureComponent setMode(StructureMapModelMode value) { 1230 if (this.mode == null) 1231 this.mode = new Enumeration<StructureMapModelMode>(new StructureMapModelModeEnumFactory()); 1232 this.mode.setValue(value); 1233 return this; 1234 } 1235 1236 /** 1237 * @return {@link #alias} (The name used for this type in the map.). This is the underlying object with id, value and extensions. The accessor "getAlias" gives direct access to the value 1238 */ 1239 public StringType getAliasElement() { 1240 if (this.alias == null) 1241 if (Configuration.errorOnAutoCreate()) 1242 throw new Error("Attempt to auto-create StructureMapStructureComponent.alias"); 1243 else if (Configuration.doAutoCreate()) 1244 this.alias = new StringType(); // bb 1245 return this.alias; 1246 } 1247 1248 public boolean hasAliasElement() { 1249 return this.alias != null && !this.alias.isEmpty(); 1250 } 1251 1252 public boolean hasAlias() { 1253 return this.alias != null && !this.alias.isEmpty(); 1254 } 1255 1256 /** 1257 * @param value {@link #alias} (The name used for this type in the map.). This is the underlying object with id, value and extensions. The accessor "getAlias" gives direct access to the value 1258 */ 1259 public StructureMapStructureComponent setAliasElement(StringType value) { 1260 this.alias = value; 1261 return this; 1262 } 1263 1264 /** 1265 * @return The name used for this type in the map. 1266 */ 1267 public String getAlias() { 1268 return this.alias == null ? null : this.alias.getValue(); 1269 } 1270 1271 /** 1272 * @param value The name used for this type in the map. 1273 */ 1274 public StructureMapStructureComponent setAlias(String value) { 1275 if (Utilities.noString(value)) 1276 this.alias = null; 1277 else { 1278 if (this.alias == null) 1279 this.alias = new StringType(); 1280 this.alias.setValue(value); 1281 } 1282 return this; 1283 } 1284 1285 /** 1286 * @return {@link #documentation} (Documentation that describes how the structure is used in the mapping.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 1287 */ 1288 public StringType getDocumentationElement() { 1289 if (this.documentation == null) 1290 if (Configuration.errorOnAutoCreate()) 1291 throw new Error("Attempt to auto-create StructureMapStructureComponent.documentation"); 1292 else if (Configuration.doAutoCreate()) 1293 this.documentation = new StringType(); // bb 1294 return this.documentation; 1295 } 1296 1297 public boolean hasDocumentationElement() { 1298 return this.documentation != null && !this.documentation.isEmpty(); 1299 } 1300 1301 public boolean hasDocumentation() { 1302 return this.documentation != null && !this.documentation.isEmpty(); 1303 } 1304 1305 /** 1306 * @param value {@link #documentation} (Documentation that describes how the structure is used in the mapping.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 1307 */ 1308 public StructureMapStructureComponent setDocumentationElement(StringType value) { 1309 this.documentation = value; 1310 return this; 1311 } 1312 1313 /** 1314 * @return Documentation that describes how the structure is used in the mapping. 1315 */ 1316 public String getDocumentation() { 1317 return this.documentation == null ? null : this.documentation.getValue(); 1318 } 1319 1320 /** 1321 * @param value Documentation that describes how the structure is used in the mapping. 1322 */ 1323 public StructureMapStructureComponent setDocumentation(String value) { 1324 if (Utilities.noString(value)) 1325 this.documentation = null; 1326 else { 1327 if (this.documentation == null) 1328 this.documentation = new StringType(); 1329 this.documentation.setValue(value); 1330 } 1331 return this; 1332 } 1333 1334 protected void listChildren(List<Property> children) { 1335 super.listChildren(children); 1336 children.add(new Property("url", "canonical(StructureDefinition)", "The canonical reference to the structure.", 0, 1, url)); 1337 children.add(new Property("mode", "code", "How the referenced structure is used in this mapping.", 0, 1, mode)); 1338 children.add(new Property("alias", "string", "The name used for this type in the map.", 0, 1, alias)); 1339 children.add(new Property("documentation", "string", "Documentation that describes how the structure is used in the mapping.", 0, 1, documentation)); 1340 } 1341 1342 @Override 1343 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1344 switch (_hash) { 1345 case 116079: /*url*/ return new Property("url", "canonical(StructureDefinition)", "The canonical reference to the structure.", 0, 1, url); 1346 case 3357091: /*mode*/ return new Property("mode", "code", "How the referenced structure is used in this mapping.", 0, 1, mode); 1347 case 92902992: /*alias*/ return new Property("alias", "string", "The name used for this type in the map.", 0, 1, alias); 1348 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Documentation that describes how the structure is used in the mapping.", 0, 1, documentation); 1349 default: return super.getNamedProperty(_hash, _name, _checkValid); 1350 } 1351 1352 } 1353 1354 @Override 1355 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1356 switch (hash) { 1357 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // CanonicalType 1358 case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration<StructureMapModelMode> 1359 case 92902992: /*alias*/ return this.alias == null ? new Base[0] : new Base[] {this.alias}; // StringType 1360 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 1361 default: return super.getProperty(hash, name, checkValid); 1362 } 1363 1364 } 1365 1366 @Override 1367 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1368 switch (hash) { 1369 case 116079: // url 1370 this.url = TypeConvertor.castToCanonical(value); // CanonicalType 1371 return value; 1372 case 3357091: // mode 1373 value = new StructureMapModelModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1374 this.mode = (Enumeration) value; // Enumeration<StructureMapModelMode> 1375 return value; 1376 case 92902992: // alias 1377 this.alias = TypeConvertor.castToString(value); // StringType 1378 return value; 1379 case 1587405498: // documentation 1380 this.documentation = TypeConvertor.castToString(value); // StringType 1381 return value; 1382 default: return super.setProperty(hash, name, value); 1383 } 1384 1385 } 1386 1387 @Override 1388 public Base setProperty(String name, Base value) throws FHIRException { 1389 if (name.equals("url")) { 1390 this.url = TypeConvertor.castToCanonical(value); // CanonicalType 1391 } else if (name.equals("mode")) { 1392 value = new StructureMapModelModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1393 this.mode = (Enumeration) value; // Enumeration<StructureMapModelMode> 1394 } else if (name.equals("alias")) { 1395 this.alias = TypeConvertor.castToString(value); // StringType 1396 } else if (name.equals("documentation")) { 1397 this.documentation = TypeConvertor.castToString(value); // StringType 1398 } else 1399 return super.setProperty(name, value); 1400 return value; 1401 } 1402 1403 @Override 1404 public Base makeProperty(int hash, String name) throws FHIRException { 1405 switch (hash) { 1406 case 116079: return getUrlElement(); 1407 case 3357091: return getModeElement(); 1408 case 92902992: return getAliasElement(); 1409 case 1587405498: return getDocumentationElement(); 1410 default: return super.makeProperty(hash, name); 1411 } 1412 1413 } 1414 1415 @Override 1416 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1417 switch (hash) { 1418 case 116079: /*url*/ return new String[] {"canonical"}; 1419 case 3357091: /*mode*/ return new String[] {"code"}; 1420 case 92902992: /*alias*/ return new String[] {"string"}; 1421 case 1587405498: /*documentation*/ return new String[] {"string"}; 1422 default: return super.getTypesForProperty(hash, name); 1423 } 1424 1425 } 1426 1427 @Override 1428 public Base addChild(String name) throws FHIRException { 1429 if (name.equals("url")) { 1430 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.structure.url"); 1431 } 1432 else if (name.equals("mode")) { 1433 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.structure.mode"); 1434 } 1435 else if (name.equals("alias")) { 1436 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.structure.alias"); 1437 } 1438 else if (name.equals("documentation")) { 1439 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.structure.documentation"); 1440 } 1441 else 1442 return super.addChild(name); 1443 } 1444 1445 public StructureMapStructureComponent copy() { 1446 StructureMapStructureComponent dst = new StructureMapStructureComponent(); 1447 copyValues(dst); 1448 return dst; 1449 } 1450 1451 public void copyValues(StructureMapStructureComponent dst) { 1452 super.copyValues(dst); 1453 dst.url = url == null ? null : url.copy(); 1454 dst.mode = mode == null ? null : mode.copy(); 1455 dst.alias = alias == null ? null : alias.copy(); 1456 dst.documentation = documentation == null ? null : documentation.copy(); 1457 } 1458 1459 @Override 1460 public boolean equalsDeep(Base other_) { 1461 if (!super.equalsDeep(other_)) 1462 return false; 1463 if (!(other_ instanceof StructureMapStructureComponent)) 1464 return false; 1465 StructureMapStructureComponent o = (StructureMapStructureComponent) other_; 1466 return compareDeep(url, o.url, true) && compareDeep(mode, o.mode, true) && compareDeep(alias, o.alias, true) 1467 && compareDeep(documentation, o.documentation, true); 1468 } 1469 1470 @Override 1471 public boolean equalsShallow(Base other_) { 1472 if (!super.equalsShallow(other_)) 1473 return false; 1474 if (!(other_ instanceof StructureMapStructureComponent)) 1475 return false; 1476 StructureMapStructureComponent o = (StructureMapStructureComponent) other_; 1477 return compareValues(url, o.url, true) && compareValues(mode, o.mode, true) && compareValues(alias, o.alias, true) 1478 && compareValues(documentation, o.documentation, true); 1479 } 1480 1481 public boolean isEmpty() { 1482 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, mode, alias, documentation 1483 ); 1484 } 1485 1486 public String fhirType() { 1487 return "StructureMap.structure"; 1488 1489 } 1490 1491 } 1492 1493 @Block() 1494 public static class StructureMapGroupComponent extends BackboneElement implements IBaseBackboneElement { 1495 /** 1496 * A unique name for the group for the convenience of human readers. 1497 */ 1498 @Child(name = "name", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 1499 @Description(shortDefinition="Human-readable label", formalDefinition="A unique name for the group for the convenience of human readers." ) 1500 protected IdType name; 1501 1502 /** 1503 * Another group that this group adds rules to. 1504 */ 1505 @Child(name = "extends", type = {IdType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1506 @Description(shortDefinition="Another group that this group adds rules to", formalDefinition="Another group that this group adds rules to." ) 1507 protected IdType extends_; 1508 1509 /** 1510 * If this is the default rule set to apply for the source type or this combination of types. 1511 */ 1512 @Child(name = "typeMode", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=true) 1513 @Description(shortDefinition="none | types | type-and-types", formalDefinition="If this is the default rule set to apply for the source type or this combination of types." ) 1514 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-group-type-mode") 1515 protected Enumeration<StructureMapGroupTypeMode> typeMode; 1516 1517 /** 1518 * Additional supporting documentation that explains the purpose of the group and the types of mappings within it. 1519 */ 1520 @Child(name = "documentation", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 1521 @Description(shortDefinition="Additional description/explanation for group", formalDefinition="Additional supporting documentation that explains the purpose of the group and the types of mappings within it." ) 1522 protected StringType documentation; 1523 1524 /** 1525 * A name assigned to an instance of data. The instance must be provided when the mapping is invoked. 1526 */ 1527 @Child(name = "input", type = {}, order=5, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1528 @Description(shortDefinition="Named instance provided when invoking the map", formalDefinition="A name assigned to an instance of data. The instance must be provided when the mapping is invoked." ) 1529 protected List<StructureMapGroupInputComponent> input; 1530 1531 /** 1532 * Transform Rule from source to target. 1533 */ 1534 @Child(name = "rule", type = {}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1535 @Description(shortDefinition="Transform Rule from source to target", formalDefinition="Transform Rule from source to target." ) 1536 protected List<StructureMapGroupRuleComponent> rule; 1537 1538 private static final long serialVersionUID = -1474595081L; 1539 1540 /** 1541 * Constructor 1542 */ 1543 public StructureMapGroupComponent() { 1544 super(); 1545 } 1546 1547 /** 1548 * Constructor 1549 */ 1550 public StructureMapGroupComponent(String name, StructureMapGroupTypeMode typeMode, StructureMapGroupInputComponent input, StructureMapGroupRuleComponent rule) { 1551 super(); 1552 this.setName(name); 1553 this.setTypeMode(typeMode); 1554 this.addInput(input); 1555 this.addRule(rule); 1556 } 1557 1558 /** 1559 * @return {@link #name} (A unique name for the group for the convenience of human readers.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1560 */ 1561 public IdType getNameElement() { 1562 if (this.name == null) 1563 if (Configuration.errorOnAutoCreate()) 1564 throw new Error("Attempt to auto-create StructureMapGroupComponent.name"); 1565 else if (Configuration.doAutoCreate()) 1566 this.name = new IdType(); // bb 1567 return this.name; 1568 } 1569 1570 public boolean hasNameElement() { 1571 return this.name != null && !this.name.isEmpty(); 1572 } 1573 1574 public boolean hasName() { 1575 return this.name != null && !this.name.isEmpty(); 1576 } 1577 1578 /** 1579 * @param value {@link #name} (A unique name for the group for the convenience of human readers.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1580 */ 1581 public StructureMapGroupComponent setNameElement(IdType value) { 1582 this.name = value; 1583 return this; 1584 } 1585 1586 /** 1587 * @return A unique name for the group for the convenience of human readers. 1588 */ 1589 public String getName() { 1590 return this.name == null ? null : this.name.getValue(); 1591 } 1592 1593 /** 1594 * @param value A unique name for the group for the convenience of human readers. 1595 */ 1596 public StructureMapGroupComponent setName(String value) { 1597 if (this.name == null) 1598 this.name = new IdType(); 1599 this.name.setValue(value); 1600 return this; 1601 } 1602 1603 /** 1604 * @return {@link #extends_} (Another group that this group adds rules to.). This is the underlying object with id, value and extensions. The accessor "getExtends" gives direct access to the value 1605 */ 1606 public IdType getExtendsElement() { 1607 if (this.extends_ == null) 1608 if (Configuration.errorOnAutoCreate()) 1609 throw new Error("Attempt to auto-create StructureMapGroupComponent.extends_"); 1610 else if (Configuration.doAutoCreate()) 1611 this.extends_ = new IdType(); // bb 1612 return this.extends_; 1613 } 1614 1615 public boolean hasExtendsElement() { 1616 return this.extends_ != null && !this.extends_.isEmpty(); 1617 } 1618 1619 public boolean hasExtends() { 1620 return this.extends_ != null && !this.extends_.isEmpty(); 1621 } 1622 1623 /** 1624 * @param value {@link #extends_} (Another group that this group adds rules to.). This is the underlying object with id, value and extensions. The accessor "getExtends" gives direct access to the value 1625 */ 1626 public StructureMapGroupComponent setExtendsElement(IdType value) { 1627 this.extends_ = value; 1628 return this; 1629 } 1630 1631 /** 1632 * @return Another group that this group adds rules to. 1633 */ 1634 public String getExtends() { 1635 return this.extends_ == null ? null : this.extends_.getValue(); 1636 } 1637 1638 /** 1639 * @param value Another group that this group adds rules to. 1640 */ 1641 public StructureMapGroupComponent setExtends(String value) { 1642 if (Utilities.noString(value)) 1643 this.extends_ = null; 1644 else { 1645 if (this.extends_ == null) 1646 this.extends_ = new IdType(); 1647 this.extends_.setValue(value); 1648 } 1649 return this; 1650 } 1651 1652 /** 1653 * @return {@link #typeMode} (If this is the default rule set to apply for the source type or this combination of types.). This is the underlying object with id, value and extensions. The accessor "getTypeMode" gives direct access to the value 1654 */ 1655 public Enumeration<StructureMapGroupTypeMode> getTypeModeElement() { 1656 if (this.typeMode == null) 1657 if (Configuration.errorOnAutoCreate()) 1658 throw new Error("Attempt to auto-create StructureMapGroupComponent.typeMode"); 1659 else if (Configuration.doAutoCreate()) 1660 this.typeMode = new Enumeration<StructureMapGroupTypeMode>(new StructureMapGroupTypeModeEnumFactory()); // bb 1661 return this.typeMode; 1662 } 1663 1664 public boolean hasTypeModeElement() { 1665 return this.typeMode != null && !this.typeMode.isEmpty(); 1666 } 1667 1668 public boolean hasTypeMode() { 1669 return this.typeMode != null && !this.typeMode.isEmpty(); 1670 } 1671 1672 /** 1673 * @param value {@link #typeMode} (If this is the default rule set to apply for the source type or this combination of types.). This is the underlying object with id, value and extensions. The accessor "getTypeMode" gives direct access to the value 1674 */ 1675 public StructureMapGroupComponent setTypeModeElement(Enumeration<StructureMapGroupTypeMode> value) { 1676 this.typeMode = value; 1677 return this; 1678 } 1679 1680 /** 1681 * @return If this is the default rule set to apply for the source type or this combination of types. 1682 */ 1683 public StructureMapGroupTypeMode getTypeMode() { 1684 return this.typeMode == null ? null : this.typeMode.getValue(); 1685 } 1686 1687 /** 1688 * @param value If this is the default rule set to apply for the source type or this combination of types. 1689 */ 1690 public StructureMapGroupComponent setTypeMode(StructureMapGroupTypeMode value) { 1691 if (this.typeMode == null) 1692 this.typeMode = new Enumeration<StructureMapGroupTypeMode>(new StructureMapGroupTypeModeEnumFactory()); 1693 this.typeMode.setValue(value); 1694 return this; 1695 } 1696 1697 /** 1698 * @return {@link #documentation} (Additional supporting documentation that explains the purpose of the group and the types of mappings within it.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 1699 */ 1700 public StringType getDocumentationElement() { 1701 if (this.documentation == null) 1702 if (Configuration.errorOnAutoCreate()) 1703 throw new Error("Attempt to auto-create StructureMapGroupComponent.documentation"); 1704 else if (Configuration.doAutoCreate()) 1705 this.documentation = new StringType(); // bb 1706 return this.documentation; 1707 } 1708 1709 public boolean hasDocumentationElement() { 1710 return this.documentation != null && !this.documentation.isEmpty(); 1711 } 1712 1713 public boolean hasDocumentation() { 1714 return this.documentation != null && !this.documentation.isEmpty(); 1715 } 1716 1717 /** 1718 * @param value {@link #documentation} (Additional supporting documentation that explains the purpose of the group and the types of mappings within it.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 1719 */ 1720 public StructureMapGroupComponent setDocumentationElement(StringType value) { 1721 this.documentation = value; 1722 return this; 1723 } 1724 1725 /** 1726 * @return Additional supporting documentation that explains the purpose of the group and the types of mappings within it. 1727 */ 1728 public String getDocumentation() { 1729 return this.documentation == null ? null : this.documentation.getValue(); 1730 } 1731 1732 /** 1733 * @param value Additional supporting documentation that explains the purpose of the group and the types of mappings within it. 1734 */ 1735 public StructureMapGroupComponent setDocumentation(String value) { 1736 if (Utilities.noString(value)) 1737 this.documentation = null; 1738 else { 1739 if (this.documentation == null) 1740 this.documentation = new StringType(); 1741 this.documentation.setValue(value); 1742 } 1743 return this; 1744 } 1745 1746 /** 1747 * @return {@link #input} (A name assigned to an instance of data. The instance must be provided when the mapping is invoked.) 1748 */ 1749 public List<StructureMapGroupInputComponent> getInput() { 1750 if (this.input == null) 1751 this.input = new ArrayList<StructureMapGroupInputComponent>(); 1752 return this.input; 1753 } 1754 1755 /** 1756 * @return Returns a reference to <code>this</code> for easy method chaining 1757 */ 1758 public StructureMapGroupComponent setInput(List<StructureMapGroupInputComponent> theInput) { 1759 this.input = theInput; 1760 return this; 1761 } 1762 1763 public boolean hasInput() { 1764 if (this.input == null) 1765 return false; 1766 for (StructureMapGroupInputComponent item : this.input) 1767 if (!item.isEmpty()) 1768 return true; 1769 return false; 1770 } 1771 1772 public StructureMapGroupInputComponent addInput() { //3 1773 StructureMapGroupInputComponent t = new StructureMapGroupInputComponent(); 1774 if (this.input == null) 1775 this.input = new ArrayList<StructureMapGroupInputComponent>(); 1776 this.input.add(t); 1777 return t; 1778 } 1779 1780 public StructureMapGroupComponent addInput(StructureMapGroupInputComponent t) { //3 1781 if (t == null) 1782 return this; 1783 if (this.input == null) 1784 this.input = new ArrayList<StructureMapGroupInputComponent>(); 1785 this.input.add(t); 1786 return this; 1787 } 1788 1789 /** 1790 * @return The first repetition of repeating field {@link #input}, creating it if it does not already exist {3} 1791 */ 1792 public StructureMapGroupInputComponent getInputFirstRep() { 1793 if (getInput().isEmpty()) { 1794 addInput(); 1795 } 1796 return getInput().get(0); 1797 } 1798 1799 /** 1800 * @return {@link #rule} (Transform Rule from source to target.) 1801 */ 1802 public List<StructureMapGroupRuleComponent> getRule() { 1803 if (this.rule == null) 1804 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 1805 return this.rule; 1806 } 1807 1808 /** 1809 * @return Returns a reference to <code>this</code> for easy method chaining 1810 */ 1811 public StructureMapGroupComponent setRule(List<StructureMapGroupRuleComponent> theRule) { 1812 this.rule = theRule; 1813 return this; 1814 } 1815 1816 public boolean hasRule() { 1817 if (this.rule == null) 1818 return false; 1819 for (StructureMapGroupRuleComponent item : this.rule) 1820 if (!item.isEmpty()) 1821 return true; 1822 return false; 1823 } 1824 1825 public StructureMapGroupRuleComponent addRule() { //3 1826 StructureMapGroupRuleComponent t = new StructureMapGroupRuleComponent(); 1827 if (this.rule == null) 1828 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 1829 this.rule.add(t); 1830 return t; 1831 } 1832 1833 public StructureMapGroupComponent addRule(StructureMapGroupRuleComponent t) { //3 1834 if (t == null) 1835 return this; 1836 if (this.rule == null) 1837 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 1838 this.rule.add(t); 1839 return this; 1840 } 1841 1842 /** 1843 * @return The first repetition of repeating field {@link #rule}, creating it if it does not already exist {3} 1844 */ 1845 public StructureMapGroupRuleComponent getRuleFirstRep() { 1846 if (getRule().isEmpty()) { 1847 addRule(); 1848 } 1849 return getRule().get(0); 1850 } 1851 1852 protected void listChildren(List<Property> children) { 1853 super.listChildren(children); 1854 children.add(new Property("name", "id", "A unique name for the group for the convenience of human readers.", 0, 1, name)); 1855 children.add(new Property("extends", "id", "Another group that this group adds rules to.", 0, 1, extends_)); 1856 children.add(new Property("typeMode", "code", "If this is the default rule set to apply for the source type or this combination of types.", 0, 1, typeMode)); 1857 children.add(new Property("documentation", "string", "Additional supporting documentation that explains the purpose of the group and the types of mappings within it.", 0, 1, documentation)); 1858 children.add(new Property("input", "", "A name assigned to an instance of data. The instance must be provided when the mapping is invoked.", 0, java.lang.Integer.MAX_VALUE, input)); 1859 children.add(new Property("rule", "", "Transform Rule from source to target.", 0, java.lang.Integer.MAX_VALUE, rule)); 1860 } 1861 1862 @Override 1863 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1864 switch (_hash) { 1865 case 3373707: /*name*/ return new Property("name", "id", "A unique name for the group for the convenience of human readers.", 0, 1, name); 1866 case -1305664359: /*extends*/ return new Property("extends", "id", "Another group that this group adds rules to.", 0, 1, extends_); 1867 case -676524035: /*typeMode*/ return new Property("typeMode", "code", "If this is the default rule set to apply for the source type or this combination of types.", 0, 1, typeMode); 1868 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Additional supporting documentation that explains the purpose of the group and the types of mappings within it.", 0, 1, documentation); 1869 case 100358090: /*input*/ return new Property("input", "", "A name assigned to an instance of data. The instance must be provided when the mapping is invoked.", 0, java.lang.Integer.MAX_VALUE, input); 1870 case 3512060: /*rule*/ return new Property("rule", "", "Transform Rule from source to target.", 0, java.lang.Integer.MAX_VALUE, rule); 1871 default: return super.getNamedProperty(_hash, _name, _checkValid); 1872 } 1873 1874 } 1875 1876 @Override 1877 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1878 switch (hash) { 1879 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // IdType 1880 case -1305664359: /*extends*/ return this.extends_ == null ? new Base[0] : new Base[] {this.extends_}; // IdType 1881 case -676524035: /*typeMode*/ return this.typeMode == null ? new Base[0] : new Base[] {this.typeMode}; // Enumeration<StructureMapGroupTypeMode> 1882 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 1883 case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // StructureMapGroupInputComponent 1884 case 3512060: /*rule*/ return this.rule == null ? new Base[0] : this.rule.toArray(new Base[this.rule.size()]); // StructureMapGroupRuleComponent 1885 default: return super.getProperty(hash, name, checkValid); 1886 } 1887 1888 } 1889 1890 @Override 1891 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1892 switch (hash) { 1893 case 3373707: // name 1894 this.name = TypeConvertor.castToId(value); // IdType 1895 return value; 1896 case -1305664359: // extends 1897 this.extends_ = TypeConvertor.castToId(value); // IdType 1898 return value; 1899 case -676524035: // typeMode 1900 value = new StructureMapGroupTypeModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1901 this.typeMode = (Enumeration) value; // Enumeration<StructureMapGroupTypeMode> 1902 return value; 1903 case 1587405498: // documentation 1904 this.documentation = TypeConvertor.castToString(value); // StringType 1905 return value; 1906 case 100358090: // input 1907 this.getInput().add((StructureMapGroupInputComponent) value); // StructureMapGroupInputComponent 1908 return value; 1909 case 3512060: // rule 1910 this.getRule().add((StructureMapGroupRuleComponent) value); // StructureMapGroupRuleComponent 1911 return value; 1912 default: return super.setProperty(hash, name, value); 1913 } 1914 1915 } 1916 1917 @Override 1918 public Base setProperty(String name, Base value) throws FHIRException { 1919 if (name.equals("name")) { 1920 this.name = TypeConvertor.castToId(value); // IdType 1921 } else if (name.equals("extends")) { 1922 this.extends_ = TypeConvertor.castToId(value); // IdType 1923 } else if (name.equals("typeMode")) { 1924 value = new StructureMapGroupTypeModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1925 this.typeMode = (Enumeration) value; // Enumeration<StructureMapGroupTypeMode> 1926 } else if (name.equals("documentation")) { 1927 this.documentation = TypeConvertor.castToString(value); // StringType 1928 } else if (name.equals("input")) { 1929 this.getInput().add((StructureMapGroupInputComponent) value); 1930 } else if (name.equals("rule")) { 1931 this.getRule().add((StructureMapGroupRuleComponent) value); 1932 } else 1933 return super.setProperty(name, value); 1934 return value; 1935 } 1936 1937 @Override 1938 public Base makeProperty(int hash, String name) throws FHIRException { 1939 switch (hash) { 1940 case 3373707: return getNameElement(); 1941 case -1305664359: return getExtendsElement(); 1942 case -676524035: return getTypeModeElement(); 1943 case 1587405498: return getDocumentationElement(); 1944 case 100358090: return addInput(); 1945 case 3512060: return addRule(); 1946 default: return super.makeProperty(hash, name); 1947 } 1948 1949 } 1950 1951 @Override 1952 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1953 switch (hash) { 1954 case 3373707: /*name*/ return new String[] {"id"}; 1955 case -1305664359: /*extends*/ return new String[] {"id"}; 1956 case -676524035: /*typeMode*/ return new String[] {"code"}; 1957 case 1587405498: /*documentation*/ return new String[] {"string"}; 1958 case 100358090: /*input*/ return new String[] {}; 1959 case 3512060: /*rule*/ return new String[] {}; 1960 default: return super.getTypesForProperty(hash, name); 1961 } 1962 1963 } 1964 1965 @Override 1966 public Base addChild(String name) throws FHIRException { 1967 if (name.equals("name")) { 1968 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.name"); 1969 } 1970 else if (name.equals("extends")) { 1971 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.extends"); 1972 } 1973 else if (name.equals("typeMode")) { 1974 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.typeMode"); 1975 } 1976 else if (name.equals("documentation")) { 1977 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.documentation"); 1978 } 1979 else if (name.equals("input")) { 1980 return addInput(); 1981 } 1982 else if (name.equals("rule")) { 1983 return addRule(); 1984 } 1985 else 1986 return super.addChild(name); 1987 } 1988 1989 public StructureMapGroupComponent copy() { 1990 StructureMapGroupComponent dst = new StructureMapGroupComponent(); 1991 copyValues(dst); 1992 return dst; 1993 } 1994 1995 public void copyValues(StructureMapGroupComponent dst) { 1996 super.copyValues(dst); 1997 dst.name = name == null ? null : name.copy(); 1998 dst.extends_ = extends_ == null ? null : extends_.copy(); 1999 dst.typeMode = typeMode == null ? null : typeMode.copy(); 2000 dst.documentation = documentation == null ? null : documentation.copy(); 2001 if (input != null) { 2002 dst.input = new ArrayList<StructureMapGroupInputComponent>(); 2003 for (StructureMapGroupInputComponent i : input) 2004 dst.input.add(i.copy()); 2005 }; 2006 if (rule != null) { 2007 dst.rule = new ArrayList<StructureMapGroupRuleComponent>(); 2008 for (StructureMapGroupRuleComponent i : rule) 2009 dst.rule.add(i.copy()); 2010 }; 2011 } 2012 2013 @Override 2014 public boolean equalsDeep(Base other_) { 2015 if (!super.equalsDeep(other_)) 2016 return false; 2017 if (!(other_ instanceof StructureMapGroupComponent)) 2018 return false; 2019 StructureMapGroupComponent o = (StructureMapGroupComponent) other_; 2020 return compareDeep(name, o.name, true) && compareDeep(extends_, o.extends_, true) && compareDeep(typeMode, o.typeMode, true) 2021 && compareDeep(documentation, o.documentation, true) && compareDeep(input, o.input, true) && compareDeep(rule, o.rule, true) 2022 ; 2023 } 2024 2025 @Override 2026 public boolean equalsShallow(Base other_) { 2027 if (!super.equalsShallow(other_)) 2028 return false; 2029 if (!(other_ instanceof StructureMapGroupComponent)) 2030 return false; 2031 StructureMapGroupComponent o = (StructureMapGroupComponent) other_; 2032 return compareValues(name, o.name, true) && compareValues(extends_, o.extends_, true) && compareValues(typeMode, o.typeMode, true) 2033 && compareValues(documentation, o.documentation, true); 2034 } 2035 2036 public boolean isEmpty() { 2037 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, extends_, typeMode 2038 , documentation, input, rule); 2039 } 2040 2041 public String fhirType() { 2042 return "StructureMap.group"; 2043 2044 } 2045 2046// added from java-adornments.txt: 2047public String toString() { 2048 return StructureMapUtilities.groupToString(this); 2049 } 2050// end addition 2051 } 2052 2053 @Block() 2054 public static class StructureMapGroupInputComponent extends BackboneElement implements IBaseBackboneElement { 2055 /** 2056 * Name for this instance of data. 2057 */ 2058 @Child(name = "name", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 2059 @Description(shortDefinition="Name for this instance of data", formalDefinition="Name for this instance of data." ) 2060 protected IdType name; 2061 2062 /** 2063 * Type for this instance of data. 2064 */ 2065 @Child(name = "type", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 2066 @Description(shortDefinition="Type for this instance of data", formalDefinition="Type for this instance of data." ) 2067 protected StringType type; 2068 2069 /** 2070 * Mode for this instance of data. 2071 */ 2072 @Child(name = "mode", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=true) 2073 @Description(shortDefinition="source | target", formalDefinition="Mode for this instance of data." ) 2074 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-input-mode") 2075 protected Enumeration<StructureMapInputMode> mode; 2076 2077 /** 2078 * Documentation for this instance of data. 2079 */ 2080 @Child(name = "documentation", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 2081 @Description(shortDefinition="Documentation for this instance of data", formalDefinition="Documentation for this instance of data." ) 2082 protected StringType documentation; 2083 2084 private static final long serialVersionUID = -25050724L; 2085 2086 /** 2087 * Constructor 2088 */ 2089 public StructureMapGroupInputComponent() { 2090 super(); 2091 } 2092 2093 /** 2094 * Constructor 2095 */ 2096 public StructureMapGroupInputComponent(String name, StructureMapInputMode mode) { 2097 super(); 2098 this.setName(name); 2099 this.setMode(mode); 2100 } 2101 2102 /** 2103 * @return {@link #name} (Name for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2104 */ 2105 public IdType getNameElement() { 2106 if (this.name == null) 2107 if (Configuration.errorOnAutoCreate()) 2108 throw new Error("Attempt to auto-create StructureMapGroupInputComponent.name"); 2109 else if (Configuration.doAutoCreate()) 2110 this.name = new IdType(); // bb 2111 return this.name; 2112 } 2113 2114 public boolean hasNameElement() { 2115 return this.name != null && !this.name.isEmpty(); 2116 } 2117 2118 public boolean hasName() { 2119 return this.name != null && !this.name.isEmpty(); 2120 } 2121 2122 /** 2123 * @param value {@link #name} (Name for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2124 */ 2125 public StructureMapGroupInputComponent setNameElement(IdType value) { 2126 this.name = value; 2127 return this; 2128 } 2129 2130 /** 2131 * @return Name for this instance of data. 2132 */ 2133 public String getName() { 2134 return this.name == null ? null : this.name.getValue(); 2135 } 2136 2137 /** 2138 * @param value Name for this instance of data. 2139 */ 2140 public StructureMapGroupInputComponent setName(String value) { 2141 if (this.name == null) 2142 this.name = new IdType(); 2143 this.name.setValue(value); 2144 return this; 2145 } 2146 2147 /** 2148 * @return {@link #type} (Type for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2149 */ 2150 public StringType getTypeElement() { 2151 if (this.type == null) 2152 if (Configuration.errorOnAutoCreate()) 2153 throw new Error("Attempt to auto-create StructureMapGroupInputComponent.type"); 2154 else if (Configuration.doAutoCreate()) 2155 this.type = new StringType(); // bb 2156 return this.type; 2157 } 2158 2159 public boolean hasTypeElement() { 2160 return this.type != null && !this.type.isEmpty(); 2161 } 2162 2163 public boolean hasType() { 2164 return this.type != null && !this.type.isEmpty(); 2165 } 2166 2167 /** 2168 * @param value {@link #type} (Type for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 2169 */ 2170 public StructureMapGroupInputComponent setTypeElement(StringType value) { 2171 this.type = value; 2172 return this; 2173 } 2174 2175 /** 2176 * @return Type for this instance of data. 2177 */ 2178 public String getType() { 2179 return this.type == null ? null : this.type.getValue(); 2180 } 2181 2182 /** 2183 * @param value Type for this instance of data. 2184 */ 2185 public StructureMapGroupInputComponent setType(String value) { 2186 if (Utilities.noString(value)) 2187 this.type = null; 2188 else { 2189 if (this.type == null) 2190 this.type = new StringType(); 2191 this.type.setValue(value); 2192 } 2193 return this; 2194 } 2195 2196 /** 2197 * @return {@link #mode} (Mode for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 2198 */ 2199 public Enumeration<StructureMapInputMode> getModeElement() { 2200 if (this.mode == null) 2201 if (Configuration.errorOnAutoCreate()) 2202 throw new Error("Attempt to auto-create StructureMapGroupInputComponent.mode"); 2203 else if (Configuration.doAutoCreate()) 2204 this.mode = new Enumeration<StructureMapInputMode>(new StructureMapInputModeEnumFactory()); // bb 2205 return this.mode; 2206 } 2207 2208 public boolean hasModeElement() { 2209 return this.mode != null && !this.mode.isEmpty(); 2210 } 2211 2212 public boolean hasMode() { 2213 return this.mode != null && !this.mode.isEmpty(); 2214 } 2215 2216 /** 2217 * @param value {@link #mode} (Mode for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 2218 */ 2219 public StructureMapGroupInputComponent setModeElement(Enumeration<StructureMapInputMode> value) { 2220 this.mode = value; 2221 return this; 2222 } 2223 2224 /** 2225 * @return Mode for this instance of data. 2226 */ 2227 public StructureMapInputMode getMode() { 2228 return this.mode == null ? null : this.mode.getValue(); 2229 } 2230 2231 /** 2232 * @param value Mode for this instance of data. 2233 */ 2234 public StructureMapGroupInputComponent setMode(StructureMapInputMode value) { 2235 if (this.mode == null) 2236 this.mode = new Enumeration<StructureMapInputMode>(new StructureMapInputModeEnumFactory()); 2237 this.mode.setValue(value); 2238 return this; 2239 } 2240 2241 /** 2242 * @return {@link #documentation} (Documentation for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2243 */ 2244 public StringType getDocumentationElement() { 2245 if (this.documentation == null) 2246 if (Configuration.errorOnAutoCreate()) 2247 throw new Error("Attempt to auto-create StructureMapGroupInputComponent.documentation"); 2248 else if (Configuration.doAutoCreate()) 2249 this.documentation = new StringType(); // bb 2250 return this.documentation; 2251 } 2252 2253 public boolean hasDocumentationElement() { 2254 return this.documentation != null && !this.documentation.isEmpty(); 2255 } 2256 2257 public boolean hasDocumentation() { 2258 return this.documentation != null && !this.documentation.isEmpty(); 2259 } 2260 2261 /** 2262 * @param value {@link #documentation} (Documentation for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2263 */ 2264 public StructureMapGroupInputComponent setDocumentationElement(StringType value) { 2265 this.documentation = value; 2266 return this; 2267 } 2268 2269 /** 2270 * @return Documentation for this instance of data. 2271 */ 2272 public String getDocumentation() { 2273 return this.documentation == null ? null : this.documentation.getValue(); 2274 } 2275 2276 /** 2277 * @param value Documentation for this instance of data. 2278 */ 2279 public StructureMapGroupInputComponent setDocumentation(String value) { 2280 if (Utilities.noString(value)) 2281 this.documentation = null; 2282 else { 2283 if (this.documentation == null) 2284 this.documentation = new StringType(); 2285 this.documentation.setValue(value); 2286 } 2287 return this; 2288 } 2289 2290 protected void listChildren(List<Property> children) { 2291 super.listChildren(children); 2292 children.add(new Property("name", "id", "Name for this instance of data.", 0, 1, name)); 2293 children.add(new Property("type", "string", "Type for this instance of data.", 0, 1, type)); 2294 children.add(new Property("mode", "code", "Mode for this instance of data.", 0, 1, mode)); 2295 children.add(new Property("documentation", "string", "Documentation for this instance of data.", 0, 1, documentation)); 2296 } 2297 2298 @Override 2299 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2300 switch (_hash) { 2301 case 3373707: /*name*/ return new Property("name", "id", "Name for this instance of data.", 0, 1, name); 2302 case 3575610: /*type*/ return new Property("type", "string", "Type for this instance of data.", 0, 1, type); 2303 case 3357091: /*mode*/ return new Property("mode", "code", "Mode for this instance of data.", 0, 1, mode); 2304 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Documentation for this instance of data.", 0, 1, documentation); 2305 default: return super.getNamedProperty(_hash, _name, _checkValid); 2306 } 2307 2308 } 2309 2310 @Override 2311 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2312 switch (hash) { 2313 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // IdType 2314 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // StringType 2315 case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration<StructureMapInputMode> 2316 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 2317 default: return super.getProperty(hash, name, checkValid); 2318 } 2319 2320 } 2321 2322 @Override 2323 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2324 switch (hash) { 2325 case 3373707: // name 2326 this.name = TypeConvertor.castToId(value); // IdType 2327 return value; 2328 case 3575610: // type 2329 this.type = TypeConvertor.castToString(value); // StringType 2330 return value; 2331 case 3357091: // mode 2332 value = new StructureMapInputModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2333 this.mode = (Enumeration) value; // Enumeration<StructureMapInputMode> 2334 return value; 2335 case 1587405498: // documentation 2336 this.documentation = TypeConvertor.castToString(value); // StringType 2337 return value; 2338 default: return super.setProperty(hash, name, value); 2339 } 2340 2341 } 2342 2343 @Override 2344 public Base setProperty(String name, Base value) throws FHIRException { 2345 if (name.equals("name")) { 2346 this.name = TypeConvertor.castToId(value); // IdType 2347 } else if (name.equals("type")) { 2348 this.type = TypeConvertor.castToString(value); // StringType 2349 } else if (name.equals("mode")) { 2350 value = new StructureMapInputModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 2351 this.mode = (Enumeration) value; // Enumeration<StructureMapInputMode> 2352 } else if (name.equals("documentation")) { 2353 this.documentation = TypeConvertor.castToString(value); // StringType 2354 } else 2355 return super.setProperty(name, value); 2356 return value; 2357 } 2358 2359 @Override 2360 public Base makeProperty(int hash, String name) throws FHIRException { 2361 switch (hash) { 2362 case 3373707: return getNameElement(); 2363 case 3575610: return getTypeElement(); 2364 case 3357091: return getModeElement(); 2365 case 1587405498: return getDocumentationElement(); 2366 default: return super.makeProperty(hash, name); 2367 } 2368 2369 } 2370 2371 @Override 2372 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2373 switch (hash) { 2374 case 3373707: /*name*/ return new String[] {"id"}; 2375 case 3575610: /*type*/ return new String[] {"string"}; 2376 case 3357091: /*mode*/ return new String[] {"code"}; 2377 case 1587405498: /*documentation*/ return new String[] {"string"}; 2378 default: return super.getTypesForProperty(hash, name); 2379 } 2380 2381 } 2382 2383 @Override 2384 public Base addChild(String name) throws FHIRException { 2385 if (name.equals("name")) { 2386 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.input.name"); 2387 } 2388 else if (name.equals("type")) { 2389 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.input.type"); 2390 } 2391 else if (name.equals("mode")) { 2392 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.input.mode"); 2393 } 2394 else if (name.equals("documentation")) { 2395 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.input.documentation"); 2396 } 2397 else 2398 return super.addChild(name); 2399 } 2400 2401 public StructureMapGroupInputComponent copy() { 2402 StructureMapGroupInputComponent dst = new StructureMapGroupInputComponent(); 2403 copyValues(dst); 2404 return dst; 2405 } 2406 2407 public void copyValues(StructureMapGroupInputComponent dst) { 2408 super.copyValues(dst); 2409 dst.name = name == null ? null : name.copy(); 2410 dst.type = type == null ? null : type.copy(); 2411 dst.mode = mode == null ? null : mode.copy(); 2412 dst.documentation = documentation == null ? null : documentation.copy(); 2413 } 2414 2415 @Override 2416 public boolean equalsDeep(Base other_) { 2417 if (!super.equalsDeep(other_)) 2418 return false; 2419 if (!(other_ instanceof StructureMapGroupInputComponent)) 2420 return false; 2421 StructureMapGroupInputComponent o = (StructureMapGroupInputComponent) other_; 2422 return compareDeep(name, o.name, true) && compareDeep(type, o.type, true) && compareDeep(mode, o.mode, true) 2423 && compareDeep(documentation, o.documentation, true); 2424 } 2425 2426 @Override 2427 public boolean equalsShallow(Base other_) { 2428 if (!super.equalsShallow(other_)) 2429 return false; 2430 if (!(other_ instanceof StructureMapGroupInputComponent)) 2431 return false; 2432 StructureMapGroupInputComponent o = (StructureMapGroupInputComponent) other_; 2433 return compareValues(name, o.name, true) && compareValues(type, o.type, true) && compareValues(mode, o.mode, true) 2434 && compareValues(documentation, o.documentation, true); 2435 } 2436 2437 public boolean isEmpty() { 2438 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, type, mode, documentation 2439 ); 2440 } 2441 2442 public String fhirType() { 2443 return "StructureMap.group.input"; 2444 2445 } 2446 2447 } 2448 2449 @Block() 2450 public static class StructureMapGroupRuleComponent extends BackboneElement implements IBaseBackboneElement { 2451 /** 2452 * Name of the rule for internal references. 2453 */ 2454 @Child(name = "name", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 2455 @Description(shortDefinition="Name of the rule for internal references", formalDefinition="Name of the rule for internal references." ) 2456 protected IdType name; 2457 2458 /** 2459 * Source inputs to the mapping. 2460 */ 2461 @Child(name = "source", type = {}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2462 @Description(shortDefinition="Source inputs to the mapping", formalDefinition="Source inputs to the mapping." ) 2463 protected List<StructureMapGroupRuleSourceComponent> source; 2464 2465 /** 2466 * Content to create because of this mapping rule. 2467 */ 2468 @Child(name = "target", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2469 @Description(shortDefinition="Content to create because of this mapping rule", formalDefinition="Content to create because of this mapping rule." ) 2470 protected List<StructureMapGroupRuleTargetComponent> target; 2471 2472 /** 2473 * Rules contained in this rule. 2474 */ 2475 @Child(name = "rule", type = {StructureMapGroupRuleComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2476 @Description(shortDefinition="Rules contained in this rule", formalDefinition="Rules contained in this rule." ) 2477 protected List<StructureMapGroupRuleComponent> rule; 2478 2479 /** 2480 * Which other rules to apply in the context of this rule. 2481 */ 2482 @Child(name = "dependent", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2483 @Description(shortDefinition="Which other rules to apply in the context of this rule", formalDefinition="Which other rules to apply in the context of this rule." ) 2484 protected List<StructureMapGroupRuleDependentComponent> dependent; 2485 2486 /** 2487 * Documentation for this instance of data. 2488 */ 2489 @Child(name = "documentation", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 2490 @Description(shortDefinition="Documentation for this instance of data", formalDefinition="Documentation for this instance of data." ) 2491 protected StringType documentation; 2492 2493 private static final long serialVersionUID = 773925517L; 2494 2495 /** 2496 * Constructor 2497 */ 2498 public StructureMapGroupRuleComponent() { 2499 super(); 2500 } 2501 2502 /** 2503 * Constructor 2504 */ 2505 public StructureMapGroupRuleComponent(String name, StructureMapGroupRuleSourceComponent source) { 2506 super(); 2507 this.setName(name); 2508 this.addSource(source); 2509 } 2510 2511 /** 2512 * @return {@link #name} (Name of the rule for internal references.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2513 */ 2514 public IdType getNameElement() { 2515 if (this.name == null) 2516 if (Configuration.errorOnAutoCreate()) 2517 throw new Error("Attempt to auto-create StructureMapGroupRuleComponent.name"); 2518 else if (Configuration.doAutoCreate()) 2519 this.name = new IdType(); // bb 2520 return this.name; 2521 } 2522 2523 public boolean hasNameElement() { 2524 return this.name != null && !this.name.isEmpty(); 2525 } 2526 2527 public boolean hasName() { 2528 return this.name != null && !this.name.isEmpty(); 2529 } 2530 2531 /** 2532 * @param value {@link #name} (Name of the rule for internal references.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2533 */ 2534 public StructureMapGroupRuleComponent setNameElement(IdType value) { 2535 this.name = value; 2536 return this; 2537 } 2538 2539 /** 2540 * @return Name of the rule for internal references. 2541 */ 2542 public String getName() { 2543 return this.name == null ? null : this.name.getValue(); 2544 } 2545 2546 /** 2547 * @param value Name of the rule for internal references. 2548 */ 2549 public StructureMapGroupRuleComponent setName(String value) { 2550 if (this.name == null) 2551 this.name = new IdType(); 2552 this.name.setValue(value); 2553 return this; 2554 } 2555 2556 /** 2557 * @return {@link #source} (Source inputs to the mapping.) 2558 */ 2559 public List<StructureMapGroupRuleSourceComponent> getSource() { 2560 if (this.source == null) 2561 this.source = new ArrayList<StructureMapGroupRuleSourceComponent>(); 2562 return this.source; 2563 } 2564 2565 /** 2566 * @return Returns a reference to <code>this</code> for easy method chaining 2567 */ 2568 public StructureMapGroupRuleComponent setSource(List<StructureMapGroupRuleSourceComponent> theSource) { 2569 this.source = theSource; 2570 return this; 2571 } 2572 2573 public boolean hasSource() { 2574 if (this.source == null) 2575 return false; 2576 for (StructureMapGroupRuleSourceComponent item : this.source) 2577 if (!item.isEmpty()) 2578 return true; 2579 return false; 2580 } 2581 2582 public StructureMapGroupRuleSourceComponent addSource() { //3 2583 StructureMapGroupRuleSourceComponent t = new StructureMapGroupRuleSourceComponent(); 2584 if (this.source == null) 2585 this.source = new ArrayList<StructureMapGroupRuleSourceComponent>(); 2586 this.source.add(t); 2587 return t; 2588 } 2589 2590 public StructureMapGroupRuleComponent addSource(StructureMapGroupRuleSourceComponent t) { //3 2591 if (t == null) 2592 return this; 2593 if (this.source == null) 2594 this.source = new ArrayList<StructureMapGroupRuleSourceComponent>(); 2595 this.source.add(t); 2596 return this; 2597 } 2598 2599 /** 2600 * @return The first repetition of repeating field {@link #source}, creating it if it does not already exist {3} 2601 */ 2602 public StructureMapGroupRuleSourceComponent getSourceFirstRep() { 2603 if (getSource().isEmpty()) { 2604 addSource(); 2605 } 2606 return getSource().get(0); 2607 } 2608 2609 /** 2610 * @return {@link #target} (Content to create because of this mapping rule.) 2611 */ 2612 public List<StructureMapGroupRuleTargetComponent> getTarget() { 2613 if (this.target == null) 2614 this.target = new ArrayList<StructureMapGroupRuleTargetComponent>(); 2615 return this.target; 2616 } 2617 2618 /** 2619 * @return Returns a reference to <code>this</code> for easy method chaining 2620 */ 2621 public StructureMapGroupRuleComponent setTarget(List<StructureMapGroupRuleTargetComponent> theTarget) { 2622 this.target = theTarget; 2623 return this; 2624 } 2625 2626 public boolean hasTarget() { 2627 if (this.target == null) 2628 return false; 2629 for (StructureMapGroupRuleTargetComponent item : this.target) 2630 if (!item.isEmpty()) 2631 return true; 2632 return false; 2633 } 2634 2635 public StructureMapGroupRuleTargetComponent addTarget() { //3 2636 StructureMapGroupRuleTargetComponent t = new StructureMapGroupRuleTargetComponent(); 2637 if (this.target == null) 2638 this.target = new ArrayList<StructureMapGroupRuleTargetComponent>(); 2639 this.target.add(t); 2640 return t; 2641 } 2642 2643 public StructureMapGroupRuleComponent addTarget(StructureMapGroupRuleTargetComponent t) { //3 2644 if (t == null) 2645 return this; 2646 if (this.target == null) 2647 this.target = new ArrayList<StructureMapGroupRuleTargetComponent>(); 2648 this.target.add(t); 2649 return this; 2650 } 2651 2652 /** 2653 * @return The first repetition of repeating field {@link #target}, creating it if it does not already exist {3} 2654 */ 2655 public StructureMapGroupRuleTargetComponent getTargetFirstRep() { 2656 if (getTarget().isEmpty()) { 2657 addTarget(); 2658 } 2659 return getTarget().get(0); 2660 } 2661 2662 /** 2663 * @return {@link #rule} (Rules contained in this rule.) 2664 */ 2665 public List<StructureMapGroupRuleComponent> getRule() { 2666 if (this.rule == null) 2667 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 2668 return this.rule; 2669 } 2670 2671 /** 2672 * @return Returns a reference to <code>this</code> for easy method chaining 2673 */ 2674 public StructureMapGroupRuleComponent setRule(List<StructureMapGroupRuleComponent> theRule) { 2675 this.rule = theRule; 2676 return this; 2677 } 2678 2679 public boolean hasRule() { 2680 if (this.rule == null) 2681 return false; 2682 for (StructureMapGroupRuleComponent item : this.rule) 2683 if (!item.isEmpty()) 2684 return true; 2685 return false; 2686 } 2687 2688 public StructureMapGroupRuleComponent addRule() { //3 2689 StructureMapGroupRuleComponent t = new StructureMapGroupRuleComponent(); 2690 if (this.rule == null) 2691 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 2692 this.rule.add(t); 2693 return t; 2694 } 2695 2696 public StructureMapGroupRuleComponent addRule(StructureMapGroupRuleComponent t) { //3 2697 if (t == null) 2698 return this; 2699 if (this.rule == null) 2700 this.rule = new ArrayList<StructureMapGroupRuleComponent>(); 2701 this.rule.add(t); 2702 return this; 2703 } 2704 2705 /** 2706 * @return The first repetition of repeating field {@link #rule}, creating it if it does not already exist {3} 2707 */ 2708 public StructureMapGroupRuleComponent getRuleFirstRep() { 2709 if (getRule().isEmpty()) { 2710 addRule(); 2711 } 2712 return getRule().get(0); 2713 } 2714 2715 /** 2716 * @return {@link #dependent} (Which other rules to apply in the context of this rule.) 2717 */ 2718 public List<StructureMapGroupRuleDependentComponent> getDependent() { 2719 if (this.dependent == null) 2720 this.dependent = new ArrayList<StructureMapGroupRuleDependentComponent>(); 2721 return this.dependent; 2722 } 2723 2724 /** 2725 * @return Returns a reference to <code>this</code> for easy method chaining 2726 */ 2727 public StructureMapGroupRuleComponent setDependent(List<StructureMapGroupRuleDependentComponent> theDependent) { 2728 this.dependent = theDependent; 2729 return this; 2730 } 2731 2732 public boolean hasDependent() { 2733 if (this.dependent == null) 2734 return false; 2735 for (StructureMapGroupRuleDependentComponent item : this.dependent) 2736 if (!item.isEmpty()) 2737 return true; 2738 return false; 2739 } 2740 2741 public StructureMapGroupRuleDependentComponent addDependent() { //3 2742 StructureMapGroupRuleDependentComponent t = new StructureMapGroupRuleDependentComponent(); 2743 if (this.dependent == null) 2744 this.dependent = new ArrayList<StructureMapGroupRuleDependentComponent>(); 2745 this.dependent.add(t); 2746 return t; 2747 } 2748 2749 public StructureMapGroupRuleComponent addDependent(StructureMapGroupRuleDependentComponent t) { //3 2750 if (t == null) 2751 return this; 2752 if (this.dependent == null) 2753 this.dependent = new ArrayList<StructureMapGroupRuleDependentComponent>(); 2754 this.dependent.add(t); 2755 return this; 2756 } 2757 2758 /** 2759 * @return The first repetition of repeating field {@link #dependent}, creating it if it does not already exist {3} 2760 */ 2761 public StructureMapGroupRuleDependentComponent getDependentFirstRep() { 2762 if (getDependent().isEmpty()) { 2763 addDependent(); 2764 } 2765 return getDependent().get(0); 2766 } 2767 2768 /** 2769 * @return {@link #documentation} (Documentation for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2770 */ 2771 public StringType getDocumentationElement() { 2772 if (this.documentation == null) 2773 if (Configuration.errorOnAutoCreate()) 2774 throw new Error("Attempt to auto-create StructureMapGroupRuleComponent.documentation"); 2775 else if (Configuration.doAutoCreate()) 2776 this.documentation = new StringType(); // bb 2777 return this.documentation; 2778 } 2779 2780 public boolean hasDocumentationElement() { 2781 return this.documentation != null && !this.documentation.isEmpty(); 2782 } 2783 2784 public boolean hasDocumentation() { 2785 return this.documentation != null && !this.documentation.isEmpty(); 2786 } 2787 2788 /** 2789 * @param value {@link #documentation} (Documentation for this instance of data.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2790 */ 2791 public StructureMapGroupRuleComponent setDocumentationElement(StringType value) { 2792 this.documentation = value; 2793 return this; 2794 } 2795 2796 /** 2797 * @return Documentation for this instance of data. 2798 */ 2799 public String getDocumentation() { 2800 return this.documentation == null ? null : this.documentation.getValue(); 2801 } 2802 2803 /** 2804 * @param value Documentation for this instance of data. 2805 */ 2806 public StructureMapGroupRuleComponent setDocumentation(String value) { 2807 if (Utilities.noString(value)) 2808 this.documentation = null; 2809 else { 2810 if (this.documentation == null) 2811 this.documentation = new StringType(); 2812 this.documentation.setValue(value); 2813 } 2814 return this; 2815 } 2816 2817 protected void listChildren(List<Property> children) { 2818 super.listChildren(children); 2819 children.add(new Property("name", "id", "Name of the rule for internal references.", 0, 1, name)); 2820 children.add(new Property("source", "", "Source inputs to the mapping.", 0, java.lang.Integer.MAX_VALUE, source)); 2821 children.add(new Property("target", "", "Content to create because of this mapping rule.", 0, java.lang.Integer.MAX_VALUE, target)); 2822 children.add(new Property("rule", "@StructureMap.group.rule", "Rules contained in this rule.", 0, java.lang.Integer.MAX_VALUE, rule)); 2823 children.add(new Property("dependent", "", "Which other rules to apply in the context of this rule.", 0, java.lang.Integer.MAX_VALUE, dependent)); 2824 children.add(new Property("documentation", "string", "Documentation for this instance of data.", 0, 1, documentation)); 2825 } 2826 2827 @Override 2828 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2829 switch (_hash) { 2830 case 3373707: /*name*/ return new Property("name", "id", "Name of the rule for internal references.", 0, 1, name); 2831 case -896505829: /*source*/ return new Property("source", "", "Source inputs to the mapping.", 0, java.lang.Integer.MAX_VALUE, source); 2832 case -880905839: /*target*/ return new Property("target", "", "Content to create because of this mapping rule.", 0, java.lang.Integer.MAX_VALUE, target); 2833 case 3512060: /*rule*/ return new Property("rule", "@StructureMap.group.rule", "Rules contained in this rule.", 0, java.lang.Integer.MAX_VALUE, rule); 2834 case -1109226753: /*dependent*/ return new Property("dependent", "", "Which other rules to apply in the context of this rule.", 0, java.lang.Integer.MAX_VALUE, dependent); 2835 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Documentation for this instance of data.", 0, 1, documentation); 2836 default: return super.getNamedProperty(_hash, _name, _checkValid); 2837 } 2838 2839 } 2840 2841 @Override 2842 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2843 switch (hash) { 2844 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // IdType 2845 case -896505829: /*source*/ return this.source == null ? new Base[0] : this.source.toArray(new Base[this.source.size()]); // StructureMapGroupRuleSourceComponent 2846 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // StructureMapGroupRuleTargetComponent 2847 case 3512060: /*rule*/ return this.rule == null ? new Base[0] : this.rule.toArray(new Base[this.rule.size()]); // StructureMapGroupRuleComponent 2848 case -1109226753: /*dependent*/ return this.dependent == null ? new Base[0] : this.dependent.toArray(new Base[this.dependent.size()]); // StructureMapGroupRuleDependentComponent 2849 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 2850 default: return super.getProperty(hash, name, checkValid); 2851 } 2852 2853 } 2854 2855 @Override 2856 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2857 switch (hash) { 2858 case 3373707: // name 2859 this.name = TypeConvertor.castToId(value); // IdType 2860 return value; 2861 case -896505829: // source 2862 this.getSource().add((StructureMapGroupRuleSourceComponent) value); // StructureMapGroupRuleSourceComponent 2863 return value; 2864 case -880905839: // target 2865 this.getTarget().add((StructureMapGroupRuleTargetComponent) value); // StructureMapGroupRuleTargetComponent 2866 return value; 2867 case 3512060: // rule 2868 this.getRule().add((StructureMapGroupRuleComponent) value); // StructureMapGroupRuleComponent 2869 return value; 2870 case -1109226753: // dependent 2871 this.getDependent().add((StructureMapGroupRuleDependentComponent) value); // StructureMapGroupRuleDependentComponent 2872 return value; 2873 case 1587405498: // documentation 2874 this.documentation = TypeConvertor.castToString(value); // StringType 2875 return value; 2876 default: return super.setProperty(hash, name, value); 2877 } 2878 2879 } 2880 2881 @Override 2882 public Base setProperty(String name, Base value) throws FHIRException { 2883 if (name.equals("name")) { 2884 this.name = TypeConvertor.castToId(value); // IdType 2885 } else if (name.equals("source")) { 2886 this.getSource().add((StructureMapGroupRuleSourceComponent) value); 2887 } else if (name.equals("target")) { 2888 this.getTarget().add((StructureMapGroupRuleTargetComponent) value); 2889 } else if (name.equals("rule")) { 2890 this.getRule().add((StructureMapGroupRuleComponent) value); 2891 } else if (name.equals("dependent")) { 2892 this.getDependent().add((StructureMapGroupRuleDependentComponent) value); 2893 } else if (name.equals("documentation")) { 2894 this.documentation = TypeConvertor.castToString(value); // StringType 2895 } else 2896 return super.setProperty(name, value); 2897 return value; 2898 } 2899 2900 @Override 2901 public Base makeProperty(int hash, String name) throws FHIRException { 2902 switch (hash) { 2903 case 3373707: return getNameElement(); 2904 case -896505829: return addSource(); 2905 case -880905839: return addTarget(); 2906 case 3512060: return addRule(); 2907 case -1109226753: return addDependent(); 2908 case 1587405498: return getDocumentationElement(); 2909 default: return super.makeProperty(hash, name); 2910 } 2911 2912 } 2913 2914 @Override 2915 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2916 switch (hash) { 2917 case 3373707: /*name*/ return new String[] {"id"}; 2918 case -896505829: /*source*/ return new String[] {}; 2919 case -880905839: /*target*/ return new String[] {}; 2920 case 3512060: /*rule*/ return new String[] {"@StructureMap.group.rule"}; 2921 case -1109226753: /*dependent*/ return new String[] {}; 2922 case 1587405498: /*documentation*/ return new String[] {"string"}; 2923 default: return super.getTypesForProperty(hash, name); 2924 } 2925 2926 } 2927 2928 @Override 2929 public Base addChild(String name) throws FHIRException { 2930 if (name.equals("name")) { 2931 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.name"); 2932 } 2933 else if (name.equals("source")) { 2934 return addSource(); 2935 } 2936 else if (name.equals("target")) { 2937 return addTarget(); 2938 } 2939 else if (name.equals("rule")) { 2940 return addRule(); 2941 } 2942 else if (name.equals("dependent")) { 2943 return addDependent(); 2944 } 2945 else if (name.equals("documentation")) { 2946 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.documentation"); 2947 } 2948 else 2949 return super.addChild(name); 2950 } 2951 2952 public StructureMapGroupRuleComponent copy() { 2953 StructureMapGroupRuleComponent dst = new StructureMapGroupRuleComponent(); 2954 copyValues(dst); 2955 return dst; 2956 } 2957 2958 public void copyValues(StructureMapGroupRuleComponent dst) { 2959 super.copyValues(dst); 2960 dst.name = name == null ? null : name.copy(); 2961 if (source != null) { 2962 dst.source = new ArrayList<StructureMapGroupRuleSourceComponent>(); 2963 for (StructureMapGroupRuleSourceComponent i : source) 2964 dst.source.add(i.copy()); 2965 }; 2966 if (target != null) { 2967 dst.target = new ArrayList<StructureMapGroupRuleTargetComponent>(); 2968 for (StructureMapGroupRuleTargetComponent i : target) 2969 dst.target.add(i.copy()); 2970 }; 2971 if (rule != null) { 2972 dst.rule = new ArrayList<StructureMapGroupRuleComponent>(); 2973 for (StructureMapGroupRuleComponent i : rule) 2974 dst.rule.add(i.copy()); 2975 }; 2976 if (dependent != null) { 2977 dst.dependent = new ArrayList<StructureMapGroupRuleDependentComponent>(); 2978 for (StructureMapGroupRuleDependentComponent i : dependent) 2979 dst.dependent.add(i.copy()); 2980 }; 2981 dst.documentation = documentation == null ? null : documentation.copy(); 2982 } 2983 2984 @Override 2985 public boolean equalsDeep(Base other_) { 2986 if (!super.equalsDeep(other_)) 2987 return false; 2988 if (!(other_ instanceof StructureMapGroupRuleComponent)) 2989 return false; 2990 StructureMapGroupRuleComponent o = (StructureMapGroupRuleComponent) other_; 2991 return compareDeep(name, o.name, true) && compareDeep(source, o.source, true) && compareDeep(target, o.target, true) 2992 && compareDeep(rule, o.rule, true) && compareDeep(dependent, o.dependent, true) && compareDeep(documentation, o.documentation, true) 2993 ; 2994 } 2995 2996 @Override 2997 public boolean equalsShallow(Base other_) { 2998 if (!super.equalsShallow(other_)) 2999 return false; 3000 if (!(other_ instanceof StructureMapGroupRuleComponent)) 3001 return false; 3002 StructureMapGroupRuleComponent o = (StructureMapGroupRuleComponent) other_; 3003 return compareValues(name, o.name, true) && compareValues(documentation, o.documentation, true); 3004 } 3005 3006 public boolean isEmpty() { 3007 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, source, target, rule 3008 , dependent, documentation); 3009 } 3010 3011 public String fhirType() { 3012 return "StructureMap.group.rule"; 3013 3014 } 3015 3016// added from java-adornments.txt: 3017public String toString() { 3018 return StructureMapUtilities.ruleToString(this); 3019 } 3020// end addition 3021 } 3022 3023 @Block() 3024 public static class StructureMapGroupRuleSourceComponent extends BackboneElement implements IBaseBackboneElement { 3025 /** 3026 * Type or variable this rule applies to. 3027 */ 3028 @Child(name = "context", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 3029 @Description(shortDefinition="Type or variable this rule applies to", formalDefinition="Type or variable this rule applies to." ) 3030 protected IdType context; 3031 3032 /** 3033 * Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. 3034 */ 3035 @Child(name = "min", type = {IntegerType.class}, order=2, min=0, max=1, modifier=false, summary=true) 3036 @Description(shortDefinition="Specified minimum cardinality", formalDefinition="Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content." ) 3037 protected IntegerType min; 3038 3039 /** 3040 * Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). 3041 */ 3042 @Child(name = "max", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 3043 @Description(shortDefinition="Specified maximum cardinality (number or *)", formalDefinition="Specified maximum cardinality for the element - a number or a \"*\". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value)." ) 3044 protected StringType max; 3045 3046 /** 3047 * Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. 3048 */ 3049 @Child(name = "type", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 3050 @Description(shortDefinition="Rule only applies if source has this type", formalDefinition="Specified type for the element. This works as a condition on the mapping - use for polymorphic elements." ) 3051 protected StringType type; 3052 3053 /** 3054 * A value to use if there is no existing value in the source object. 3055 */ 3056 @Child(name = "defaultValue", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=5, min=0, max=1, modifier=false, summary=true) 3057 @Description(shortDefinition="Default value if no value exists", formalDefinition="A value to use if there is no existing value in the source object." ) 3058 protected DataType defaultValue; 3059 3060 /** 3061 * Optional field for this source. 3062 */ 3063 @Child(name = "element", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) 3064 @Description(shortDefinition="Optional field for this source", formalDefinition="Optional field for this source." ) 3065 protected StringType element; 3066 3067 /** 3068 * How to handle the list mode for this element. 3069 */ 3070 @Child(name = "listMode", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 3071 @Description(shortDefinition="first | not_first | last | not_last | only_one", formalDefinition="How to handle the list mode for this element." ) 3072 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-source-list-mode") 3073 protected Enumeration<StructureMapSourceListMode> listMode; 3074 3075 /** 3076 * Named context for field, if a field is specified. 3077 */ 3078 @Child(name = "variable", type = {IdType.class}, order=8, min=0, max=1, modifier=false, summary=true) 3079 @Description(shortDefinition="Named context for field, if a field is specified", formalDefinition="Named context for field, if a field is specified." ) 3080 protected IdType variable; 3081 3082 /** 3083 * FHIRPath expression - must be true or the rule does not apply. 3084 */ 3085 @Child(name = "condition", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 3086 @Description(shortDefinition="FHIRPath expression - must be true or the rule does not apply", formalDefinition="FHIRPath expression - must be true or the rule does not apply." ) 3087 protected StringType condition; 3088 3089 /** 3090 * FHIRPath expression - must be true or the mapping engine throws an error instead of completing. 3091 */ 3092 @Child(name = "check", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) 3093 @Description(shortDefinition="FHIRPath expression - must be true or the mapping engine throws an error instead of completing", formalDefinition="FHIRPath expression - must be true or the mapping engine throws an error instead of completing." ) 3094 protected StringType check; 3095 3096 /** 3097 * A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found. 3098 */ 3099 @Child(name = "logMessage", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) 3100 @Description(shortDefinition="Message to put in log if source exists (FHIRPath)", formalDefinition="A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found." ) 3101 protected StringType logMessage; 3102 3103 private static final long serialVersionUID = 1708673504L; 3104 3105 /** 3106 * Constructor 3107 */ 3108 public StructureMapGroupRuleSourceComponent() { 3109 super(); 3110 } 3111 3112 /** 3113 * Constructor 3114 */ 3115 public StructureMapGroupRuleSourceComponent(String context) { 3116 super(); 3117 this.setContext(context); 3118 } 3119 3120 /** 3121 * @return {@link #context} (Type or variable this rule applies to.). This is the underlying object with id, value and extensions. The accessor "getContext" gives direct access to the value 3122 */ 3123 public IdType getContextElement() { 3124 if (this.context == null) 3125 if (Configuration.errorOnAutoCreate()) 3126 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.context"); 3127 else if (Configuration.doAutoCreate()) 3128 this.context = new IdType(); // bb 3129 return this.context; 3130 } 3131 3132 public boolean hasContextElement() { 3133 return this.context != null && !this.context.isEmpty(); 3134 } 3135 3136 public boolean hasContext() { 3137 return this.context != null && !this.context.isEmpty(); 3138 } 3139 3140 /** 3141 * @param value {@link #context} (Type or variable this rule applies to.). This is the underlying object with id, value and extensions. The accessor "getContext" gives direct access to the value 3142 */ 3143 public StructureMapGroupRuleSourceComponent setContextElement(IdType value) { 3144 this.context = value; 3145 return this; 3146 } 3147 3148 /** 3149 * @return Type or variable this rule applies to. 3150 */ 3151 public String getContext() { 3152 return this.context == null ? null : this.context.getValue(); 3153 } 3154 3155 /** 3156 * @param value Type or variable this rule applies to. 3157 */ 3158 public StructureMapGroupRuleSourceComponent setContext(String value) { 3159 if (this.context == null) 3160 this.context = new IdType(); 3161 this.context.setValue(value); 3162 return this; 3163 } 3164 3165 /** 3166 * @return {@link #min} (Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 3167 */ 3168 public IntegerType getMinElement() { 3169 if (this.min == null) 3170 if (Configuration.errorOnAutoCreate()) 3171 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.min"); 3172 else if (Configuration.doAutoCreate()) 3173 this.min = new IntegerType(); // bb 3174 return this.min; 3175 } 3176 3177 public boolean hasMinElement() { 3178 return this.min != null && !this.min.isEmpty(); 3179 } 3180 3181 public boolean hasMin() { 3182 return this.min != null && !this.min.isEmpty(); 3183 } 3184 3185 /** 3186 * @param value {@link #min} (Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 3187 */ 3188 public StructureMapGroupRuleSourceComponent setMinElement(IntegerType value) { 3189 this.min = value; 3190 return this; 3191 } 3192 3193 /** 3194 * @return Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. 3195 */ 3196 public int getMin() { 3197 return this.min == null || this.min.isEmpty() ? 0 : this.min.getValue(); 3198 } 3199 3200 /** 3201 * @param value Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content. 3202 */ 3203 public StructureMapGroupRuleSourceComponent setMin(int value) { 3204 if (this.min == null) 3205 this.min = new IntegerType(); 3206 this.min.setValue(value); 3207 return this; 3208 } 3209 3210 /** 3211 * @return {@link #max} (Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value).). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 3212 */ 3213 public StringType getMaxElement() { 3214 if (this.max == null) 3215 if (Configuration.errorOnAutoCreate()) 3216 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.max"); 3217 else if (Configuration.doAutoCreate()) 3218 this.max = new StringType(); // bb 3219 return this.max; 3220 } 3221 3222 public boolean hasMaxElement() { 3223 return this.max != null && !this.max.isEmpty(); 3224 } 3225 3226 public boolean hasMax() { 3227 return this.max != null && !this.max.isEmpty(); 3228 } 3229 3230 /** 3231 * @param value {@link #max} (Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value).). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 3232 */ 3233 public StructureMapGroupRuleSourceComponent setMaxElement(StringType value) { 3234 this.max = value; 3235 return this; 3236 } 3237 3238 /** 3239 * @return Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). 3240 */ 3241 public String getMax() { 3242 return this.max == null ? null : this.max.getValue(); 3243 } 3244 3245 /** 3246 * @param value Specified maximum cardinality for the element - a number or a "*". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value). 3247 */ 3248 public StructureMapGroupRuleSourceComponent setMax(String value) { 3249 if (Utilities.noString(value)) 3250 this.max = null; 3251 else { 3252 if (this.max == null) 3253 this.max = new StringType(); 3254 this.max.setValue(value); 3255 } 3256 return this; 3257 } 3258 3259 /** 3260 * @return {@link #type} (Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 3261 */ 3262 public StringType getTypeElement() { 3263 if (this.type == null) 3264 if (Configuration.errorOnAutoCreate()) 3265 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.type"); 3266 else if (Configuration.doAutoCreate()) 3267 this.type = new StringType(); // bb 3268 return this.type; 3269 } 3270 3271 public boolean hasTypeElement() { 3272 return this.type != null && !this.type.isEmpty(); 3273 } 3274 3275 public boolean hasType() { 3276 return this.type != null && !this.type.isEmpty(); 3277 } 3278 3279 /** 3280 * @param value {@link #type} (Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 3281 */ 3282 public StructureMapGroupRuleSourceComponent setTypeElement(StringType value) { 3283 this.type = value; 3284 return this; 3285 } 3286 3287 /** 3288 * @return Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. 3289 */ 3290 public String getType() { 3291 return this.type == null ? null : this.type.getValue(); 3292 } 3293 3294 /** 3295 * @param value Specified type for the element. This works as a condition on the mapping - use for polymorphic elements. 3296 */ 3297 public StructureMapGroupRuleSourceComponent setType(String value) { 3298 if (Utilities.noString(value)) 3299 this.type = null; 3300 else { 3301 if (this.type == null) 3302 this.type = new StringType(); 3303 this.type.setValue(value); 3304 } 3305 return this; 3306 } 3307 3308 /** 3309 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3310 */ 3311 public DataType getDefaultValue() { 3312 return this.defaultValue; 3313 } 3314 3315 /** 3316 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3317 */ 3318 public Base64BinaryType getDefaultValueBase64BinaryType() throws FHIRException { 3319 if (this.defaultValue == null) 3320 this.defaultValue = new Base64BinaryType(); 3321 if (!(this.defaultValue instanceof Base64BinaryType)) 3322 throw new FHIRException("Type mismatch: the type Base64BinaryType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3323 return (Base64BinaryType) this.defaultValue; 3324 } 3325 3326 public boolean hasDefaultValueBase64BinaryType() { 3327 return this != null && this.defaultValue instanceof Base64BinaryType; 3328 } 3329 3330 /** 3331 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3332 */ 3333 public BooleanType getDefaultValueBooleanType() throws FHIRException { 3334 if (this.defaultValue == null) 3335 this.defaultValue = new BooleanType(); 3336 if (!(this.defaultValue instanceof BooleanType)) 3337 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3338 return (BooleanType) this.defaultValue; 3339 } 3340 3341 public boolean hasDefaultValueBooleanType() { 3342 return this != null && this.defaultValue instanceof BooleanType; 3343 } 3344 3345 /** 3346 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3347 */ 3348 public CanonicalType getDefaultValueCanonicalType() throws FHIRException { 3349 if (this.defaultValue == null) 3350 this.defaultValue = new CanonicalType(); 3351 if (!(this.defaultValue instanceof CanonicalType)) 3352 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3353 return (CanonicalType) this.defaultValue; 3354 } 3355 3356 public boolean hasDefaultValueCanonicalType() { 3357 return this != null && this.defaultValue instanceof CanonicalType; 3358 } 3359 3360 /** 3361 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3362 */ 3363 public CodeType getDefaultValueCodeType() throws FHIRException { 3364 if (this.defaultValue == null) 3365 this.defaultValue = new CodeType(); 3366 if (!(this.defaultValue instanceof CodeType)) 3367 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3368 return (CodeType) this.defaultValue; 3369 } 3370 3371 public boolean hasDefaultValueCodeType() { 3372 return this != null && this.defaultValue instanceof CodeType; 3373 } 3374 3375 /** 3376 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3377 */ 3378 public DateType getDefaultValueDateType() throws FHIRException { 3379 if (this.defaultValue == null) 3380 this.defaultValue = new DateType(); 3381 if (!(this.defaultValue instanceof DateType)) 3382 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3383 return (DateType) this.defaultValue; 3384 } 3385 3386 public boolean hasDefaultValueDateType() { 3387 return this != null && this.defaultValue instanceof DateType; 3388 } 3389 3390 /** 3391 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3392 */ 3393 public DateTimeType getDefaultValueDateTimeType() throws FHIRException { 3394 if (this.defaultValue == null) 3395 this.defaultValue = new DateTimeType(); 3396 if (!(this.defaultValue instanceof DateTimeType)) 3397 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3398 return (DateTimeType) this.defaultValue; 3399 } 3400 3401 public boolean hasDefaultValueDateTimeType() { 3402 return this != null && this.defaultValue instanceof DateTimeType; 3403 } 3404 3405 /** 3406 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3407 */ 3408 public DecimalType getDefaultValueDecimalType() throws FHIRException { 3409 if (this.defaultValue == null) 3410 this.defaultValue = new DecimalType(); 3411 if (!(this.defaultValue instanceof DecimalType)) 3412 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3413 return (DecimalType) this.defaultValue; 3414 } 3415 3416 public boolean hasDefaultValueDecimalType() { 3417 return this != null && this.defaultValue instanceof DecimalType; 3418 } 3419 3420 /** 3421 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3422 */ 3423 public IdType getDefaultValueIdType() throws FHIRException { 3424 if (this.defaultValue == null) 3425 this.defaultValue = new IdType(); 3426 if (!(this.defaultValue instanceof IdType)) 3427 throw new FHIRException("Type mismatch: the type IdType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3428 return (IdType) this.defaultValue; 3429 } 3430 3431 public boolean hasDefaultValueIdType() { 3432 return this != null && this.defaultValue instanceof IdType; 3433 } 3434 3435 /** 3436 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3437 */ 3438 public InstantType getDefaultValueInstantType() throws FHIRException { 3439 if (this.defaultValue == null) 3440 this.defaultValue = new InstantType(); 3441 if (!(this.defaultValue instanceof InstantType)) 3442 throw new FHIRException("Type mismatch: the type InstantType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3443 return (InstantType) this.defaultValue; 3444 } 3445 3446 public boolean hasDefaultValueInstantType() { 3447 return this != null && this.defaultValue instanceof InstantType; 3448 } 3449 3450 /** 3451 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3452 */ 3453 public IntegerType getDefaultValueIntegerType() throws FHIRException { 3454 if (this.defaultValue == null) 3455 this.defaultValue = new IntegerType(); 3456 if (!(this.defaultValue instanceof IntegerType)) 3457 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3458 return (IntegerType) this.defaultValue; 3459 } 3460 3461 public boolean hasDefaultValueIntegerType() { 3462 return this != null && this.defaultValue instanceof IntegerType; 3463 } 3464 3465 /** 3466 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3467 */ 3468 public MarkdownType getDefaultValueMarkdownType() throws FHIRException { 3469 if (this.defaultValue == null) 3470 this.defaultValue = new MarkdownType(); 3471 if (!(this.defaultValue instanceof MarkdownType)) 3472 throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3473 return (MarkdownType) this.defaultValue; 3474 } 3475 3476 public boolean hasDefaultValueMarkdownType() { 3477 return this != null && this.defaultValue instanceof MarkdownType; 3478 } 3479 3480 /** 3481 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3482 */ 3483 public OidType getDefaultValueOidType() throws FHIRException { 3484 if (this.defaultValue == null) 3485 this.defaultValue = new OidType(); 3486 if (!(this.defaultValue instanceof OidType)) 3487 throw new FHIRException("Type mismatch: the type OidType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3488 return (OidType) this.defaultValue; 3489 } 3490 3491 public boolean hasDefaultValueOidType() { 3492 return this != null && this.defaultValue instanceof OidType; 3493 } 3494 3495 /** 3496 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3497 */ 3498 public PositiveIntType getDefaultValuePositiveIntType() throws FHIRException { 3499 if (this.defaultValue == null) 3500 this.defaultValue = new PositiveIntType(); 3501 if (!(this.defaultValue instanceof PositiveIntType)) 3502 throw new FHIRException("Type mismatch: the type PositiveIntType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3503 return (PositiveIntType) this.defaultValue; 3504 } 3505 3506 public boolean hasDefaultValuePositiveIntType() { 3507 return this != null && this.defaultValue instanceof PositiveIntType; 3508 } 3509 3510 /** 3511 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3512 */ 3513 public StringType getDefaultValueStringType() throws FHIRException { 3514 if (this.defaultValue == null) 3515 this.defaultValue = new StringType(); 3516 if (!(this.defaultValue instanceof StringType)) 3517 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3518 return (StringType) this.defaultValue; 3519 } 3520 3521 public boolean hasDefaultValueStringType() { 3522 return this != null && this.defaultValue instanceof StringType; 3523 } 3524 3525 /** 3526 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3527 */ 3528 public TimeType getDefaultValueTimeType() throws FHIRException { 3529 if (this.defaultValue == null) 3530 this.defaultValue = new TimeType(); 3531 if (!(this.defaultValue instanceof TimeType)) 3532 throw new FHIRException("Type mismatch: the type TimeType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3533 return (TimeType) this.defaultValue; 3534 } 3535 3536 public boolean hasDefaultValueTimeType() { 3537 return this != null && this.defaultValue instanceof TimeType; 3538 } 3539 3540 /** 3541 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3542 */ 3543 public UnsignedIntType getDefaultValueUnsignedIntType() throws FHIRException { 3544 if (this.defaultValue == null) 3545 this.defaultValue = new UnsignedIntType(); 3546 if (!(this.defaultValue instanceof UnsignedIntType)) 3547 throw new FHIRException("Type mismatch: the type UnsignedIntType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3548 return (UnsignedIntType) this.defaultValue; 3549 } 3550 3551 public boolean hasDefaultValueUnsignedIntType() { 3552 return this != null && this.defaultValue instanceof UnsignedIntType; 3553 } 3554 3555 /** 3556 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3557 */ 3558 public UriType getDefaultValueUriType() throws FHIRException { 3559 if (this.defaultValue == null) 3560 this.defaultValue = new UriType(); 3561 if (!(this.defaultValue instanceof UriType)) 3562 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3563 return (UriType) this.defaultValue; 3564 } 3565 3566 public boolean hasDefaultValueUriType() { 3567 return this != null && this.defaultValue instanceof UriType; 3568 } 3569 3570 /** 3571 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3572 */ 3573 public UrlType getDefaultValueUrlType() throws FHIRException { 3574 if (this.defaultValue == null) 3575 this.defaultValue = new UrlType(); 3576 if (!(this.defaultValue instanceof UrlType)) 3577 throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3578 return (UrlType) this.defaultValue; 3579 } 3580 3581 public boolean hasDefaultValueUrlType() { 3582 return this != null && this.defaultValue instanceof UrlType; 3583 } 3584 3585 /** 3586 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3587 */ 3588 public UuidType getDefaultValueUuidType() throws FHIRException { 3589 if (this.defaultValue == null) 3590 this.defaultValue = new UuidType(); 3591 if (!(this.defaultValue instanceof UuidType)) 3592 throw new FHIRException("Type mismatch: the type UuidType was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3593 return (UuidType) this.defaultValue; 3594 } 3595 3596 public boolean hasDefaultValueUuidType() { 3597 return this != null && this.defaultValue instanceof UuidType; 3598 } 3599 3600 /** 3601 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3602 */ 3603 public Address getDefaultValueAddress() throws FHIRException { 3604 if (this.defaultValue == null) 3605 this.defaultValue = new Address(); 3606 if (!(this.defaultValue instanceof Address)) 3607 throw new FHIRException("Type mismatch: the type Address was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3608 return (Address) this.defaultValue; 3609 } 3610 3611 public boolean hasDefaultValueAddress() { 3612 return this != null && this.defaultValue instanceof Address; 3613 } 3614 3615 /** 3616 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3617 */ 3618 public Age getDefaultValueAge() throws FHIRException { 3619 if (this.defaultValue == null) 3620 this.defaultValue = new Age(); 3621 if (!(this.defaultValue instanceof Age)) 3622 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3623 return (Age) this.defaultValue; 3624 } 3625 3626 public boolean hasDefaultValueAge() { 3627 return this != null && this.defaultValue instanceof Age; 3628 } 3629 3630 /** 3631 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3632 */ 3633 public Annotation getDefaultValueAnnotation() throws FHIRException { 3634 if (this.defaultValue == null) 3635 this.defaultValue = new Annotation(); 3636 if (!(this.defaultValue instanceof Annotation)) 3637 throw new FHIRException("Type mismatch: the type Annotation was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3638 return (Annotation) this.defaultValue; 3639 } 3640 3641 public boolean hasDefaultValueAnnotation() { 3642 return this != null && this.defaultValue instanceof Annotation; 3643 } 3644 3645 /** 3646 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3647 */ 3648 public Attachment getDefaultValueAttachment() throws FHIRException { 3649 if (this.defaultValue == null) 3650 this.defaultValue = new Attachment(); 3651 if (!(this.defaultValue instanceof Attachment)) 3652 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3653 return (Attachment) this.defaultValue; 3654 } 3655 3656 public boolean hasDefaultValueAttachment() { 3657 return this != null && this.defaultValue instanceof Attachment; 3658 } 3659 3660 /** 3661 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3662 */ 3663 public CodeableConcept getDefaultValueCodeableConcept() throws FHIRException { 3664 if (this.defaultValue == null) 3665 this.defaultValue = new CodeableConcept(); 3666 if (!(this.defaultValue instanceof CodeableConcept)) 3667 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3668 return (CodeableConcept) this.defaultValue; 3669 } 3670 3671 public boolean hasDefaultValueCodeableConcept() { 3672 return this != null && this.defaultValue instanceof CodeableConcept; 3673 } 3674 3675 /** 3676 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3677 */ 3678 public Coding getDefaultValueCoding() throws FHIRException { 3679 if (this.defaultValue == null) 3680 this.defaultValue = new Coding(); 3681 if (!(this.defaultValue instanceof Coding)) 3682 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3683 return (Coding) this.defaultValue; 3684 } 3685 3686 public boolean hasDefaultValueCoding() { 3687 return this != null && this.defaultValue instanceof Coding; 3688 } 3689 3690 /** 3691 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3692 */ 3693 public ContactPoint getDefaultValueContactPoint() throws FHIRException { 3694 if (this.defaultValue == null) 3695 this.defaultValue = new ContactPoint(); 3696 if (!(this.defaultValue instanceof ContactPoint)) 3697 throw new FHIRException("Type mismatch: the type ContactPoint was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3698 return (ContactPoint) this.defaultValue; 3699 } 3700 3701 public boolean hasDefaultValueContactPoint() { 3702 return this != null && this.defaultValue instanceof ContactPoint; 3703 } 3704 3705 /** 3706 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3707 */ 3708 public Count getDefaultValueCount() throws FHIRException { 3709 if (this.defaultValue == null) 3710 this.defaultValue = new Count(); 3711 if (!(this.defaultValue instanceof Count)) 3712 throw new FHIRException("Type mismatch: the type Count was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3713 return (Count) this.defaultValue; 3714 } 3715 3716 public boolean hasDefaultValueCount() { 3717 return this != null && this.defaultValue instanceof Count; 3718 } 3719 3720 /** 3721 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3722 */ 3723 public Distance getDefaultValueDistance() throws FHIRException { 3724 if (this.defaultValue == null) 3725 this.defaultValue = new Distance(); 3726 if (!(this.defaultValue instanceof Distance)) 3727 throw new FHIRException("Type mismatch: the type Distance was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3728 return (Distance) this.defaultValue; 3729 } 3730 3731 public boolean hasDefaultValueDistance() { 3732 return this != null && this.defaultValue instanceof Distance; 3733 } 3734 3735 /** 3736 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3737 */ 3738 public Duration getDefaultValueDuration() throws FHIRException { 3739 if (this.defaultValue == null) 3740 this.defaultValue = new Duration(); 3741 if (!(this.defaultValue instanceof Duration)) 3742 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3743 return (Duration) this.defaultValue; 3744 } 3745 3746 public boolean hasDefaultValueDuration() { 3747 return this != null && this.defaultValue instanceof Duration; 3748 } 3749 3750 /** 3751 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3752 */ 3753 public HumanName getDefaultValueHumanName() throws FHIRException { 3754 if (this.defaultValue == null) 3755 this.defaultValue = new HumanName(); 3756 if (!(this.defaultValue instanceof HumanName)) 3757 throw new FHIRException("Type mismatch: the type HumanName was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3758 return (HumanName) this.defaultValue; 3759 } 3760 3761 public boolean hasDefaultValueHumanName() { 3762 return this != null && this.defaultValue instanceof HumanName; 3763 } 3764 3765 /** 3766 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3767 */ 3768 public Identifier getDefaultValueIdentifier() throws FHIRException { 3769 if (this.defaultValue == null) 3770 this.defaultValue = new Identifier(); 3771 if (!(this.defaultValue instanceof Identifier)) 3772 throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3773 return (Identifier) this.defaultValue; 3774 } 3775 3776 public boolean hasDefaultValueIdentifier() { 3777 return this != null && this.defaultValue instanceof Identifier; 3778 } 3779 3780 /** 3781 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3782 */ 3783 public Money getDefaultValueMoney() throws FHIRException { 3784 if (this.defaultValue == null) 3785 this.defaultValue = new Money(); 3786 if (!(this.defaultValue instanceof Money)) 3787 throw new FHIRException("Type mismatch: the type Money was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3788 return (Money) this.defaultValue; 3789 } 3790 3791 public boolean hasDefaultValueMoney() { 3792 return this != null && this.defaultValue instanceof Money; 3793 } 3794 3795 /** 3796 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3797 */ 3798 public Period getDefaultValuePeriod() throws FHIRException { 3799 if (this.defaultValue == null) 3800 this.defaultValue = new Period(); 3801 if (!(this.defaultValue instanceof Period)) 3802 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3803 return (Period) this.defaultValue; 3804 } 3805 3806 public boolean hasDefaultValuePeriod() { 3807 return this != null && this.defaultValue instanceof Period; 3808 } 3809 3810 /** 3811 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3812 */ 3813 public Quantity getDefaultValueQuantity() throws FHIRException { 3814 if (this.defaultValue == null) 3815 this.defaultValue = new Quantity(); 3816 if (!(this.defaultValue instanceof Quantity)) 3817 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3818 return (Quantity) this.defaultValue; 3819 } 3820 3821 public boolean hasDefaultValueQuantity() { 3822 return this != null && this.defaultValue instanceof Quantity; 3823 } 3824 3825 /** 3826 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3827 */ 3828 public Range getDefaultValueRange() throws FHIRException { 3829 if (this.defaultValue == null) 3830 this.defaultValue = new Range(); 3831 if (!(this.defaultValue instanceof Range)) 3832 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3833 return (Range) this.defaultValue; 3834 } 3835 3836 public boolean hasDefaultValueRange() { 3837 return this != null && this.defaultValue instanceof Range; 3838 } 3839 3840 /** 3841 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3842 */ 3843 public Ratio getDefaultValueRatio() throws FHIRException { 3844 if (this.defaultValue == null) 3845 this.defaultValue = new Ratio(); 3846 if (!(this.defaultValue instanceof Ratio)) 3847 throw new FHIRException("Type mismatch: the type Ratio was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3848 return (Ratio) this.defaultValue; 3849 } 3850 3851 public boolean hasDefaultValueRatio() { 3852 return this != null && this.defaultValue instanceof Ratio; 3853 } 3854 3855 /** 3856 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3857 */ 3858 public Reference getDefaultValueReference() throws FHIRException { 3859 if (this.defaultValue == null) 3860 this.defaultValue = new Reference(); 3861 if (!(this.defaultValue instanceof Reference)) 3862 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3863 return (Reference) this.defaultValue; 3864 } 3865 3866 public boolean hasDefaultValueReference() { 3867 return this != null && this.defaultValue instanceof Reference; 3868 } 3869 3870 /** 3871 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3872 */ 3873 public SampledData getDefaultValueSampledData() throws FHIRException { 3874 if (this.defaultValue == null) 3875 this.defaultValue = new SampledData(); 3876 if (!(this.defaultValue instanceof SampledData)) 3877 throw new FHIRException("Type mismatch: the type SampledData was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3878 return (SampledData) this.defaultValue; 3879 } 3880 3881 public boolean hasDefaultValueSampledData() { 3882 return this != null && this.defaultValue instanceof SampledData; 3883 } 3884 3885 /** 3886 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3887 */ 3888 public Signature getDefaultValueSignature() throws FHIRException { 3889 if (this.defaultValue == null) 3890 this.defaultValue = new Signature(); 3891 if (!(this.defaultValue instanceof Signature)) 3892 throw new FHIRException("Type mismatch: the type Signature was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3893 return (Signature) this.defaultValue; 3894 } 3895 3896 public boolean hasDefaultValueSignature() { 3897 return this != null && this.defaultValue instanceof Signature; 3898 } 3899 3900 /** 3901 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3902 */ 3903 public Timing getDefaultValueTiming() throws FHIRException { 3904 if (this.defaultValue == null) 3905 this.defaultValue = new Timing(); 3906 if (!(this.defaultValue instanceof Timing)) 3907 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3908 return (Timing) this.defaultValue; 3909 } 3910 3911 public boolean hasDefaultValueTiming() { 3912 return this != null && this.defaultValue instanceof Timing; 3913 } 3914 3915 /** 3916 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3917 */ 3918 public ContactDetail getDefaultValueContactDetail() throws FHIRException { 3919 if (this.defaultValue == null) 3920 this.defaultValue = new ContactDetail(); 3921 if (!(this.defaultValue instanceof ContactDetail)) 3922 throw new FHIRException("Type mismatch: the type ContactDetail was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3923 return (ContactDetail) this.defaultValue; 3924 } 3925 3926 public boolean hasDefaultValueContactDetail() { 3927 return this != null && this.defaultValue instanceof ContactDetail; 3928 } 3929 3930 /** 3931 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3932 */ 3933 public Contributor getDefaultValueContributor() throws FHIRException { 3934 if (this.defaultValue == null) 3935 this.defaultValue = new Contributor(); 3936 if (!(this.defaultValue instanceof Contributor)) 3937 throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3938 return (Contributor) this.defaultValue; 3939 } 3940 3941 public boolean hasDefaultValueContributor() { 3942 return this != null && this.defaultValue instanceof Contributor; 3943 } 3944 3945 /** 3946 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3947 */ 3948 public DataRequirement getDefaultValueDataRequirement() throws FHIRException { 3949 if (this.defaultValue == null) 3950 this.defaultValue = new DataRequirement(); 3951 if (!(this.defaultValue instanceof DataRequirement)) 3952 throw new FHIRException("Type mismatch: the type DataRequirement was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3953 return (DataRequirement) this.defaultValue; 3954 } 3955 3956 public boolean hasDefaultValueDataRequirement() { 3957 return this != null && this.defaultValue instanceof DataRequirement; 3958 } 3959 3960 /** 3961 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3962 */ 3963 public Expression getDefaultValueExpression() throws FHIRException { 3964 if (this.defaultValue == null) 3965 this.defaultValue = new Expression(); 3966 if (!(this.defaultValue instanceof Expression)) 3967 throw new FHIRException("Type mismatch: the type Expression was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3968 return (Expression) this.defaultValue; 3969 } 3970 3971 public boolean hasDefaultValueExpression() { 3972 return this != null && this.defaultValue instanceof Expression; 3973 } 3974 3975 /** 3976 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3977 */ 3978 public ParameterDefinition getDefaultValueParameterDefinition() throws FHIRException { 3979 if (this.defaultValue == null) 3980 this.defaultValue = new ParameterDefinition(); 3981 if (!(this.defaultValue instanceof ParameterDefinition)) 3982 throw new FHIRException("Type mismatch: the type ParameterDefinition was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3983 return (ParameterDefinition) this.defaultValue; 3984 } 3985 3986 public boolean hasDefaultValueParameterDefinition() { 3987 return this != null && this.defaultValue instanceof ParameterDefinition; 3988 } 3989 3990 /** 3991 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 3992 */ 3993 public RelatedArtifact getDefaultValueRelatedArtifact() throws FHIRException { 3994 if (this.defaultValue == null) 3995 this.defaultValue = new RelatedArtifact(); 3996 if (!(this.defaultValue instanceof RelatedArtifact)) 3997 throw new FHIRException("Type mismatch: the type RelatedArtifact was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 3998 return (RelatedArtifact) this.defaultValue; 3999 } 4000 4001 public boolean hasDefaultValueRelatedArtifact() { 4002 return this != null && this.defaultValue instanceof RelatedArtifact; 4003 } 4004 4005 /** 4006 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 4007 */ 4008 public TriggerDefinition getDefaultValueTriggerDefinition() throws FHIRException { 4009 if (this.defaultValue == null) 4010 this.defaultValue = new TriggerDefinition(); 4011 if (!(this.defaultValue instanceof TriggerDefinition)) 4012 throw new FHIRException("Type mismatch: the type TriggerDefinition was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 4013 return (TriggerDefinition) this.defaultValue; 4014 } 4015 4016 public boolean hasDefaultValueTriggerDefinition() { 4017 return this != null && this.defaultValue instanceof TriggerDefinition; 4018 } 4019 4020 /** 4021 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 4022 */ 4023 public UsageContext getDefaultValueUsageContext() throws FHIRException { 4024 if (this.defaultValue == null) 4025 this.defaultValue = new UsageContext(); 4026 if (!(this.defaultValue instanceof UsageContext)) 4027 throw new FHIRException("Type mismatch: the type UsageContext was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 4028 return (UsageContext) this.defaultValue; 4029 } 4030 4031 public boolean hasDefaultValueUsageContext() { 4032 return this != null && this.defaultValue instanceof UsageContext; 4033 } 4034 4035 /** 4036 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 4037 */ 4038 public Dosage getDefaultValueDosage() throws FHIRException { 4039 if (this.defaultValue == null) 4040 this.defaultValue = new Dosage(); 4041 if (!(this.defaultValue instanceof Dosage)) 4042 throw new FHIRException("Type mismatch: the type Dosage was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 4043 return (Dosage) this.defaultValue; 4044 } 4045 4046 public boolean hasDefaultValueDosage() { 4047 return this != null && this.defaultValue instanceof Dosage; 4048 } 4049 4050 /** 4051 * @return {@link #defaultValue} (A value to use if there is no existing value in the source object.) 4052 */ 4053 public Meta getDefaultValueMeta() throws FHIRException { 4054 if (this.defaultValue == null) 4055 this.defaultValue = new Meta(); 4056 if (!(this.defaultValue instanceof Meta)) 4057 throw new FHIRException("Type mismatch: the type Meta was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); 4058 return (Meta) this.defaultValue; 4059 } 4060 4061 public boolean hasDefaultValueMeta() { 4062 return this != null && this.defaultValue instanceof Meta; 4063 } 4064 4065 public boolean hasDefaultValue() { 4066 return this.defaultValue != null && !this.defaultValue.isEmpty(); 4067 } 4068 4069 /** 4070 * @param value {@link #defaultValue} (A value to use if there is no existing value in the source object.) 4071 */ 4072 public StructureMapGroupRuleSourceComponent setDefaultValue(DataType value) { 4073 if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) 4074 throw new Error("Not the right type for StructureMap.group.rule.source.defaultValue[x]: "+value.fhirType()); 4075 this.defaultValue = value; 4076 return this; 4077 } 4078 4079 /** 4080 * @return {@link #element} (Optional field for this source.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 4081 */ 4082 public StringType getElementElement() { 4083 if (this.element == null) 4084 if (Configuration.errorOnAutoCreate()) 4085 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.element"); 4086 else if (Configuration.doAutoCreate()) 4087 this.element = new StringType(); // bb 4088 return this.element; 4089 } 4090 4091 public boolean hasElementElement() { 4092 return this.element != null && !this.element.isEmpty(); 4093 } 4094 4095 public boolean hasElement() { 4096 return this.element != null && !this.element.isEmpty(); 4097 } 4098 4099 /** 4100 * @param value {@link #element} (Optional field for this source.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 4101 */ 4102 public StructureMapGroupRuleSourceComponent setElementElement(StringType value) { 4103 this.element = value; 4104 return this; 4105 } 4106 4107 /** 4108 * @return Optional field for this source. 4109 */ 4110 public String getElement() { 4111 return this.element == null ? null : this.element.getValue(); 4112 } 4113 4114 /** 4115 * @param value Optional field for this source. 4116 */ 4117 public StructureMapGroupRuleSourceComponent setElement(String value) { 4118 if (Utilities.noString(value)) 4119 this.element = null; 4120 else { 4121 if (this.element == null) 4122 this.element = new StringType(); 4123 this.element.setValue(value); 4124 } 4125 return this; 4126 } 4127 4128 /** 4129 * @return {@link #listMode} (How to handle the list mode for this element.). This is the underlying object with id, value and extensions. The accessor "getListMode" gives direct access to the value 4130 */ 4131 public Enumeration<StructureMapSourceListMode> getListModeElement() { 4132 if (this.listMode == null) 4133 if (Configuration.errorOnAutoCreate()) 4134 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.listMode"); 4135 else if (Configuration.doAutoCreate()) 4136 this.listMode = new Enumeration<StructureMapSourceListMode>(new StructureMapSourceListModeEnumFactory()); // bb 4137 return this.listMode; 4138 } 4139 4140 public boolean hasListModeElement() { 4141 return this.listMode != null && !this.listMode.isEmpty(); 4142 } 4143 4144 public boolean hasListMode() { 4145 return this.listMode != null && !this.listMode.isEmpty(); 4146 } 4147 4148 /** 4149 * @param value {@link #listMode} (How to handle the list mode for this element.). This is the underlying object with id, value and extensions. The accessor "getListMode" gives direct access to the value 4150 */ 4151 public StructureMapGroupRuleSourceComponent setListModeElement(Enumeration<StructureMapSourceListMode> value) { 4152 this.listMode = value; 4153 return this; 4154 } 4155 4156 /** 4157 * @return How to handle the list mode for this element. 4158 */ 4159 public StructureMapSourceListMode getListMode() { 4160 return this.listMode == null ? null : this.listMode.getValue(); 4161 } 4162 4163 /** 4164 * @param value How to handle the list mode for this element. 4165 */ 4166 public StructureMapGroupRuleSourceComponent setListMode(StructureMapSourceListMode value) { 4167 if (value == null) 4168 this.listMode = null; 4169 else { 4170 if (this.listMode == null) 4171 this.listMode = new Enumeration<StructureMapSourceListMode>(new StructureMapSourceListModeEnumFactory()); 4172 this.listMode.setValue(value); 4173 } 4174 return this; 4175 } 4176 4177 /** 4178 * @return {@link #variable} (Named context for field, if a field is specified.). This is the underlying object with id, value and extensions. The accessor "getVariable" gives direct access to the value 4179 */ 4180 public IdType getVariableElement() { 4181 if (this.variable == null) 4182 if (Configuration.errorOnAutoCreate()) 4183 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.variable"); 4184 else if (Configuration.doAutoCreate()) 4185 this.variable = new IdType(); // bb 4186 return this.variable; 4187 } 4188 4189 public boolean hasVariableElement() { 4190 return this.variable != null && !this.variable.isEmpty(); 4191 } 4192 4193 public boolean hasVariable() { 4194 return this.variable != null && !this.variable.isEmpty(); 4195 } 4196 4197 /** 4198 * @param value {@link #variable} (Named context for field, if a field is specified.). This is the underlying object with id, value and extensions. The accessor "getVariable" gives direct access to the value 4199 */ 4200 public StructureMapGroupRuleSourceComponent setVariableElement(IdType value) { 4201 this.variable = value; 4202 return this; 4203 } 4204 4205 /** 4206 * @return Named context for field, if a field is specified. 4207 */ 4208 public String getVariable() { 4209 return this.variable == null ? null : this.variable.getValue(); 4210 } 4211 4212 /** 4213 * @param value Named context for field, if a field is specified. 4214 */ 4215 public StructureMapGroupRuleSourceComponent setVariable(String value) { 4216 if (Utilities.noString(value)) 4217 this.variable = null; 4218 else { 4219 if (this.variable == null) 4220 this.variable = new IdType(); 4221 this.variable.setValue(value); 4222 } 4223 return this; 4224 } 4225 4226 /** 4227 * @return {@link #condition} (FHIRPath expression - must be true or the rule does not apply.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 4228 */ 4229 public StringType getConditionElement() { 4230 if (this.condition == null) 4231 if (Configuration.errorOnAutoCreate()) 4232 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.condition"); 4233 else if (Configuration.doAutoCreate()) 4234 this.condition = new StringType(); // bb 4235 return this.condition; 4236 } 4237 4238 public boolean hasConditionElement() { 4239 return this.condition != null && !this.condition.isEmpty(); 4240 } 4241 4242 public boolean hasCondition() { 4243 return this.condition != null && !this.condition.isEmpty(); 4244 } 4245 4246 /** 4247 * @param value {@link #condition} (FHIRPath expression - must be true or the rule does not apply.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 4248 */ 4249 public StructureMapGroupRuleSourceComponent setConditionElement(StringType value) { 4250 this.condition = value; 4251 return this; 4252 } 4253 4254 /** 4255 * @return FHIRPath expression - must be true or the rule does not apply. 4256 */ 4257 public String getCondition() { 4258 return this.condition == null ? null : this.condition.getValue(); 4259 } 4260 4261 /** 4262 * @param value FHIRPath expression - must be true or the rule does not apply. 4263 */ 4264 public StructureMapGroupRuleSourceComponent setCondition(String value) { 4265 if (Utilities.noString(value)) 4266 this.condition = null; 4267 else { 4268 if (this.condition == null) 4269 this.condition = new StringType(); 4270 this.condition.setValue(value); 4271 } 4272 return this; 4273 } 4274 4275 /** 4276 * @return {@link #check} (FHIRPath expression - must be true or the mapping engine throws an error instead of completing.). This is the underlying object with id, value and extensions. The accessor "getCheck" gives direct access to the value 4277 */ 4278 public StringType getCheckElement() { 4279 if (this.check == null) 4280 if (Configuration.errorOnAutoCreate()) 4281 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.check"); 4282 else if (Configuration.doAutoCreate()) 4283 this.check = new StringType(); // bb 4284 return this.check; 4285 } 4286 4287 public boolean hasCheckElement() { 4288 return this.check != null && !this.check.isEmpty(); 4289 } 4290 4291 public boolean hasCheck() { 4292 return this.check != null && !this.check.isEmpty(); 4293 } 4294 4295 /** 4296 * @param value {@link #check} (FHIRPath expression - must be true or the mapping engine throws an error instead of completing.). This is the underlying object with id, value and extensions. The accessor "getCheck" gives direct access to the value 4297 */ 4298 public StructureMapGroupRuleSourceComponent setCheckElement(StringType value) { 4299 this.check = value; 4300 return this; 4301 } 4302 4303 /** 4304 * @return FHIRPath expression - must be true or the mapping engine throws an error instead of completing. 4305 */ 4306 public String getCheck() { 4307 return this.check == null ? null : this.check.getValue(); 4308 } 4309 4310 /** 4311 * @param value FHIRPath expression - must be true or the mapping engine throws an error instead of completing. 4312 */ 4313 public StructureMapGroupRuleSourceComponent setCheck(String value) { 4314 if (Utilities.noString(value)) 4315 this.check = null; 4316 else { 4317 if (this.check == null) 4318 this.check = new StringType(); 4319 this.check.setValue(value); 4320 } 4321 return this; 4322 } 4323 4324 /** 4325 * @return {@link #logMessage} (A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.). This is the underlying object with id, value and extensions. The accessor "getLogMessage" gives direct access to the value 4326 */ 4327 public StringType getLogMessageElement() { 4328 if (this.logMessage == null) 4329 if (Configuration.errorOnAutoCreate()) 4330 throw new Error("Attempt to auto-create StructureMapGroupRuleSourceComponent.logMessage"); 4331 else if (Configuration.doAutoCreate()) 4332 this.logMessage = new StringType(); // bb 4333 return this.logMessage; 4334 } 4335 4336 public boolean hasLogMessageElement() { 4337 return this.logMessage != null && !this.logMessage.isEmpty(); 4338 } 4339 4340 public boolean hasLogMessage() { 4341 return this.logMessage != null && !this.logMessage.isEmpty(); 4342 } 4343 4344 /** 4345 * @param value {@link #logMessage} (A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.). This is the underlying object with id, value and extensions. The accessor "getLogMessage" gives direct access to the value 4346 */ 4347 public StructureMapGroupRuleSourceComponent setLogMessageElement(StringType value) { 4348 this.logMessage = value; 4349 return this; 4350 } 4351 4352 /** 4353 * @return A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found. 4354 */ 4355 public String getLogMessage() { 4356 return this.logMessage == null ? null : this.logMessage.getValue(); 4357 } 4358 4359 /** 4360 * @param value A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found. 4361 */ 4362 public StructureMapGroupRuleSourceComponent setLogMessage(String value) { 4363 if (Utilities.noString(value)) 4364 this.logMessage = null; 4365 else { 4366 if (this.logMessage == null) 4367 this.logMessage = new StringType(); 4368 this.logMessage.setValue(value); 4369 } 4370 return this; 4371 } 4372 4373 protected void listChildren(List<Property> children) { 4374 super.listChildren(children); 4375 children.add(new Property("context", "id", "Type or variable this rule applies to.", 0, 1, context)); 4376 children.add(new Property("min", "integer", "Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.", 0, 1, min)); 4377 children.add(new Property("max", "string", "Specified maximum cardinality for the element - a number or a \"*\". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value).", 0, 1, max)); 4378 children.add(new Property("type", "string", "Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.", 0, 1, type)); 4379 children.add(new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue)); 4380 children.add(new Property("element", "string", "Optional field for this source.", 0, 1, element)); 4381 children.add(new Property("listMode", "code", "How to handle the list mode for this element.", 0, 1, listMode)); 4382 children.add(new Property("variable", "id", "Named context for field, if a field is specified.", 0, 1, variable)); 4383 children.add(new Property("condition", "string", "FHIRPath expression - must be true or the rule does not apply.", 0, 1, condition)); 4384 children.add(new Property("check", "string", "FHIRPath expression - must be true or the mapping engine throws an error instead of completing.", 0, 1, check)); 4385 children.add(new Property("logMessage", "string", "A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.", 0, 1, logMessage)); 4386 } 4387 4388 @Override 4389 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4390 switch (_hash) { 4391 case 951530927: /*context*/ return new Property("context", "id", "Type or variable this rule applies to.", 0, 1, context); 4392 case 108114: /*min*/ return new Property("min", "integer", "Specified minimum cardinality for the element. This is optional; if present, it acts an implicit check on the input content.", 0, 1, min); 4393 case 107876: /*max*/ return new Property("max", "string", "Specified maximum cardinality for the element - a number or a \"*\". This is optional; if present, it acts an implicit check on the input content (* just serves as documentation; it's the default value).", 0, 1, max); 4394 case 3575610: /*type*/ return new Property("type", "string", "Specified type for the element. This works as a condition on the mapping - use for polymorphic elements.", 0, 1, type); 4395 case 587922128: /*defaultValue[x]*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4396 case -659125328: /*defaultValue*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4397 case 1470297600: /*defaultValueBase64Binary*/ return new Property("defaultValue[x]", "base64Binary", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4398 case 600437336: /*defaultValueBoolean*/ return new Property("defaultValue[x]", "boolean", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4399 case 264593188: /*defaultValueCanonical*/ return new Property("defaultValue[x]", "canonical", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4400 case 1044993469: /*defaultValueCode*/ return new Property("defaultValue[x]", "code", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4401 case 1045010302: /*defaultValueDate*/ return new Property("defaultValue[x]", "date", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4402 case 1220374379: /*defaultValueDateTime*/ return new Property("defaultValue[x]", "dateTime", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4403 case 2077989249: /*defaultValueDecimal*/ return new Property("defaultValue[x]", "decimal", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4404 case -2059245333: /*defaultValueId*/ return new Property("defaultValue[x]", "id", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4405 case -1801671663: /*defaultValueInstant*/ return new Property("defaultValue[x]", "instant", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4406 case -1801189522: /*defaultValueInteger*/ return new Property("defaultValue[x]", "integer", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4407 case -325436225: /*defaultValueMarkdown*/ return new Property("defaultValue[x]", "markdown", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4408 case 587910138: /*defaultValueOid*/ return new Property("defaultValue[x]", "oid", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4409 case -737344154: /*defaultValuePositiveInt*/ return new Property("defaultValue[x]", "positiveInt", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4410 case -320515103: /*defaultValueString*/ return new Property("defaultValue[x]", "string", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4411 case 1045494429: /*defaultValueTime*/ return new Property("defaultValue[x]", "time", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4412 case 539117290: /*defaultValueUnsignedInt*/ return new Property("defaultValue[x]", "unsignedInt", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4413 case 587916188: /*defaultValueUri*/ return new Property("defaultValue[x]", "uri", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4414 case 587916191: /*defaultValueUrl*/ return new Property("defaultValue[x]", "url", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4415 case 1045535627: /*defaultValueUuid*/ return new Property("defaultValue[x]", "uuid", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4416 case -611966428: /*defaultValueAddress*/ return new Property("defaultValue[x]", "Address", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4417 case 587896623: /*defaultValueAge*/ return new Property("defaultValue[x]", "Age", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4418 case -1851689217: /*defaultValueAnnotation*/ return new Property("defaultValue[x]", "Annotation", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4419 case 2034820339: /*defaultValueAttachment*/ return new Property("defaultValue[x]", "Attachment", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4420 case -410434095: /*defaultValueCodeableConcept*/ return new Property("defaultValue[x]", "CodeableConcept", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4421 case -783616198: /*defaultValueCoding*/ return new Property("defaultValue[x]", "Coding", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4422 case -344740576: /*defaultValueContactPoint*/ return new Property("defaultValue[x]", "ContactPoint", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4423 case -1964924097: /*defaultValueCount*/ return new Property("defaultValue[x]", "Count", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4424 case -283915323: /*defaultValueDistance*/ return new Property("defaultValue[x]", "Distance", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4425 case 1730579812: /*defaultValueDuration*/ return new Property("defaultValue[x]", "Duration", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4426 case -975393912: /*defaultValueHumanName*/ return new Property("defaultValue[x]", "HumanName", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4427 case -1915078535: /*defaultValueIdentifier*/ return new Property("defaultValue[x]", "Identifier", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4428 case -1955695888: /*defaultValueMoney*/ return new Property("defaultValue[x]", "Money", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4429 case -420255343: /*defaultValuePeriod*/ return new Property("defaultValue[x]", "Period", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4430 case -1857379237: /*defaultValueQuantity*/ return new Property("defaultValue[x]", "Quantity", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4431 case -1951495315: /*defaultValueRange*/ return new Property("defaultValue[x]", "Range", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4432 case -1951489477: /*defaultValueRatio*/ return new Property("defaultValue[x]", "Ratio", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4433 case -1488914053: /*defaultValueReference*/ return new Property("defaultValue[x]", "Reference", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4434 case -449641228: /*defaultValueSampledData*/ return new Property("defaultValue[x]", "SampledData", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4435 case 509825768: /*defaultValueSignature*/ return new Property("defaultValue[x]", "Signature", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4436 case -302193638: /*defaultValueTiming*/ return new Property("defaultValue[x]", "Timing", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4437 case 1845473985: /*defaultValueContactDetail*/ return new Property("defaultValue[x]", "ContactDetail", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4438 case 1793609483: /*defaultValueContributor*/ return new Property("defaultValue[x]", "Contributor", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4439 case 375217257: /*defaultValueDataRequirement*/ return new Property("defaultValue[x]", "DataRequirement", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4440 case -2092097944: /*defaultValueExpression*/ return new Property("defaultValue[x]", "Expression", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4441 case -701053940: /*defaultValueParameterDefinition*/ return new Property("defaultValue[x]", "ParameterDefinition", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4442 case 412877133: /*defaultValueRelatedArtifact*/ return new Property("defaultValue[x]", "RelatedArtifact", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4443 case 1913203547: /*defaultValueTriggerDefinition*/ return new Property("defaultValue[x]", "TriggerDefinition", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4444 case -701644642: /*defaultValueUsageContext*/ return new Property("defaultValue[x]", "UsageContext", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4445 case -754548089: /*defaultValueDosage*/ return new Property("defaultValue[x]", "Dosage", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4446 case 1045282261: /*defaultValueMeta*/ return new Property("defaultValue[x]", "Meta", "A value to use if there is no existing value in the source object.", 0, 1, defaultValue); 4447 case -1662836996: /*element*/ return new Property("element", "string", "Optional field for this source.", 0, 1, element); 4448 case 1345445729: /*listMode*/ return new Property("listMode", "code", "How to handle the list mode for this element.", 0, 1, listMode); 4449 case -1249586564: /*variable*/ return new Property("variable", "id", "Named context for field, if a field is specified.", 0, 1, variable); 4450 case -861311717: /*condition*/ return new Property("condition", "string", "FHIRPath expression - must be true or the rule does not apply.", 0, 1, condition); 4451 case 94627080: /*check*/ return new Property("check", "string", "FHIRPath expression - must be true or the mapping engine throws an error instead of completing.", 0, 1, check); 4452 case -1067155421: /*logMessage*/ return new Property("logMessage", "string", "A FHIRPath expression which specifies a message to put in the transform log when content matching the source rule is found.", 0, 1, logMessage); 4453 default: return super.getNamedProperty(_hash, _name, _checkValid); 4454 } 4455 4456 } 4457 4458 @Override 4459 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4460 switch (hash) { 4461 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // IdType 4462 case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // IntegerType 4463 case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType 4464 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // StringType 4465 case -659125328: /*defaultValue*/ return this.defaultValue == null ? new Base[0] : new Base[] {this.defaultValue}; // DataType 4466 case -1662836996: /*element*/ return this.element == null ? new Base[0] : new Base[] {this.element}; // StringType 4467 case 1345445729: /*listMode*/ return this.listMode == null ? new Base[0] : new Base[] {this.listMode}; // Enumeration<StructureMapSourceListMode> 4468 case -1249586564: /*variable*/ return this.variable == null ? new Base[0] : new Base[] {this.variable}; // IdType 4469 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // StringType 4470 case 94627080: /*check*/ return this.check == null ? new Base[0] : new Base[] {this.check}; // StringType 4471 case -1067155421: /*logMessage*/ return this.logMessage == null ? new Base[0] : new Base[] {this.logMessage}; // StringType 4472 default: return super.getProperty(hash, name, checkValid); 4473 } 4474 4475 } 4476 4477 @Override 4478 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4479 switch (hash) { 4480 case 951530927: // context 4481 this.context = TypeConvertor.castToId(value); // IdType 4482 return value; 4483 case 108114: // min 4484 this.min = TypeConvertor.castToInteger(value); // IntegerType 4485 return value; 4486 case 107876: // max 4487 this.max = TypeConvertor.castToString(value); // StringType 4488 return value; 4489 case 3575610: // type 4490 this.type = TypeConvertor.castToString(value); // StringType 4491 return value; 4492 case -659125328: // defaultValue 4493 this.defaultValue = TypeConvertor.castToType(value); // DataType 4494 return value; 4495 case -1662836996: // element 4496 this.element = TypeConvertor.castToString(value); // StringType 4497 return value; 4498 case 1345445729: // listMode 4499 value = new StructureMapSourceListModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4500 this.listMode = (Enumeration) value; // Enumeration<StructureMapSourceListMode> 4501 return value; 4502 case -1249586564: // variable 4503 this.variable = TypeConvertor.castToId(value); // IdType 4504 return value; 4505 case -861311717: // condition 4506 this.condition = TypeConvertor.castToString(value); // StringType 4507 return value; 4508 case 94627080: // check 4509 this.check = TypeConvertor.castToString(value); // StringType 4510 return value; 4511 case -1067155421: // logMessage 4512 this.logMessage = TypeConvertor.castToString(value); // StringType 4513 return value; 4514 default: return super.setProperty(hash, name, value); 4515 } 4516 4517 } 4518 4519 @Override 4520 public Base setProperty(String name, Base value) throws FHIRException { 4521 if (name.equals("context")) { 4522 this.context = TypeConvertor.castToId(value); // IdType 4523 } else if (name.equals("min")) { 4524 this.min = TypeConvertor.castToInteger(value); // IntegerType 4525 } else if (name.equals("max")) { 4526 this.max = TypeConvertor.castToString(value); // StringType 4527 } else if (name.equals("type")) { 4528 this.type = TypeConvertor.castToString(value); // StringType 4529 } else if (name.equals("defaultValue[x]")) { 4530 this.defaultValue = TypeConvertor.castToType(value); // DataType 4531 } else if (name.equals("element")) { 4532 this.element = TypeConvertor.castToString(value); // StringType 4533 } else if (name.equals("listMode")) { 4534 value = new StructureMapSourceListModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4535 this.listMode = (Enumeration) value; // Enumeration<StructureMapSourceListMode> 4536 } else if (name.equals("variable")) { 4537 this.variable = TypeConvertor.castToId(value); // IdType 4538 } else if (name.equals("condition")) { 4539 this.condition = TypeConvertor.castToString(value); // StringType 4540 } else if (name.equals("check")) { 4541 this.check = TypeConvertor.castToString(value); // StringType 4542 } else if (name.equals("logMessage")) { 4543 this.logMessage = TypeConvertor.castToString(value); // StringType 4544 } else 4545 return super.setProperty(name, value); 4546 return value; 4547 } 4548 4549 @Override 4550 public Base makeProperty(int hash, String name) throws FHIRException { 4551 switch (hash) { 4552 case 951530927: return getContextElement(); 4553 case 108114: return getMinElement(); 4554 case 107876: return getMaxElement(); 4555 case 3575610: return getTypeElement(); 4556 case 587922128: return getDefaultValue(); 4557 case -659125328: return getDefaultValue(); 4558 case -1662836996: return getElementElement(); 4559 case 1345445729: return getListModeElement(); 4560 case -1249586564: return getVariableElement(); 4561 case -861311717: return getConditionElement(); 4562 case 94627080: return getCheckElement(); 4563 case -1067155421: return getLogMessageElement(); 4564 default: return super.makeProperty(hash, name); 4565 } 4566 4567 } 4568 4569 @Override 4570 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4571 switch (hash) { 4572 case 951530927: /*context*/ return new String[] {"id"}; 4573 case 108114: /*min*/ return new String[] {"integer"}; 4574 case 107876: /*max*/ return new String[] {"string"}; 4575 case 3575610: /*type*/ return new String[] {"string"}; 4576 case -659125328: /*defaultValue*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; 4577 case -1662836996: /*element*/ return new String[] {"string"}; 4578 case 1345445729: /*listMode*/ return new String[] {"code"}; 4579 case -1249586564: /*variable*/ return new String[] {"id"}; 4580 case -861311717: /*condition*/ return new String[] {"string"}; 4581 case 94627080: /*check*/ return new String[] {"string"}; 4582 case -1067155421: /*logMessage*/ return new String[] {"string"}; 4583 default: return super.getTypesForProperty(hash, name); 4584 } 4585 4586 } 4587 4588 @Override 4589 public Base addChild(String name) throws FHIRException { 4590 if (name.equals("context")) { 4591 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.context"); 4592 } 4593 else if (name.equals("min")) { 4594 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.min"); 4595 } 4596 else if (name.equals("max")) { 4597 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.max"); 4598 } 4599 else if (name.equals("type")) { 4600 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.type"); 4601 } 4602 else if (name.equals("defaultValueBase64Binary")) { 4603 this.defaultValue = new Base64BinaryType(); 4604 return this.defaultValue; 4605 } 4606 else if (name.equals("defaultValueBoolean")) { 4607 this.defaultValue = new BooleanType(); 4608 return this.defaultValue; 4609 } 4610 else if (name.equals("defaultValueCanonical")) { 4611 this.defaultValue = new CanonicalType(); 4612 return this.defaultValue; 4613 } 4614 else if (name.equals("defaultValueCode")) { 4615 this.defaultValue = new CodeType(); 4616 return this.defaultValue; 4617 } 4618 else if (name.equals("defaultValueDate")) { 4619 this.defaultValue = new DateType(); 4620 return this.defaultValue; 4621 } 4622 else if (name.equals("defaultValueDateTime")) { 4623 this.defaultValue = new DateTimeType(); 4624 return this.defaultValue; 4625 } 4626 else if (name.equals("defaultValueDecimal")) { 4627 this.defaultValue = new DecimalType(); 4628 return this.defaultValue; 4629 } 4630 else if (name.equals("defaultValueId")) { 4631 this.defaultValue = new IdType(); 4632 return this.defaultValue; 4633 } 4634 else if (name.equals("defaultValueInstant")) { 4635 this.defaultValue = new InstantType(); 4636 return this.defaultValue; 4637 } 4638 else if (name.equals("defaultValueInteger")) { 4639 this.defaultValue = new IntegerType(); 4640 return this.defaultValue; 4641 } 4642 else if (name.equals("defaultValueMarkdown")) { 4643 this.defaultValue = new MarkdownType(); 4644 return this.defaultValue; 4645 } 4646 else if (name.equals("defaultValueOid")) { 4647 this.defaultValue = new OidType(); 4648 return this.defaultValue; 4649 } 4650 else if (name.equals("defaultValuePositiveInt")) { 4651 this.defaultValue = new PositiveIntType(); 4652 return this.defaultValue; 4653 } 4654 else if (name.equals("defaultValueString")) { 4655 this.defaultValue = new StringType(); 4656 return this.defaultValue; 4657 } 4658 else if (name.equals("defaultValueTime")) { 4659 this.defaultValue = new TimeType(); 4660 return this.defaultValue; 4661 } 4662 else if (name.equals("defaultValueUnsignedInt")) { 4663 this.defaultValue = new UnsignedIntType(); 4664 return this.defaultValue; 4665 } 4666 else if (name.equals("defaultValueUri")) { 4667 this.defaultValue = new UriType(); 4668 return this.defaultValue; 4669 } 4670 else if (name.equals("defaultValueUrl")) { 4671 this.defaultValue = new UrlType(); 4672 return this.defaultValue; 4673 } 4674 else if (name.equals("defaultValueUuid")) { 4675 this.defaultValue = new UuidType(); 4676 return this.defaultValue; 4677 } 4678 else if (name.equals("defaultValueAddress")) { 4679 this.defaultValue = new Address(); 4680 return this.defaultValue; 4681 } 4682 else if (name.equals("defaultValueAge")) { 4683 this.defaultValue = new Age(); 4684 return this.defaultValue; 4685 } 4686 else if (name.equals("defaultValueAnnotation")) { 4687 this.defaultValue = new Annotation(); 4688 return this.defaultValue; 4689 } 4690 else if (name.equals("defaultValueAttachment")) { 4691 this.defaultValue = new Attachment(); 4692 return this.defaultValue; 4693 } 4694 else if (name.equals("defaultValueCodeableConcept")) { 4695 this.defaultValue = new CodeableConcept(); 4696 return this.defaultValue; 4697 } 4698 else if (name.equals("defaultValueCoding")) { 4699 this.defaultValue = new Coding(); 4700 return this.defaultValue; 4701 } 4702 else if (name.equals("defaultValueContactPoint")) { 4703 this.defaultValue = new ContactPoint(); 4704 return this.defaultValue; 4705 } 4706 else if (name.equals("defaultValueCount")) { 4707 this.defaultValue = new Count(); 4708 return this.defaultValue; 4709 } 4710 else if (name.equals("defaultValueDistance")) { 4711 this.defaultValue = new Distance(); 4712 return this.defaultValue; 4713 } 4714 else if (name.equals("defaultValueDuration")) { 4715 this.defaultValue = new Duration(); 4716 return this.defaultValue; 4717 } 4718 else if (name.equals("defaultValueHumanName")) { 4719 this.defaultValue = new HumanName(); 4720 return this.defaultValue; 4721 } 4722 else if (name.equals("defaultValueIdentifier")) { 4723 this.defaultValue = new Identifier(); 4724 return this.defaultValue; 4725 } 4726 else if (name.equals("defaultValueMoney")) { 4727 this.defaultValue = new Money(); 4728 return this.defaultValue; 4729 } 4730 else if (name.equals("defaultValuePeriod")) { 4731 this.defaultValue = new Period(); 4732 return this.defaultValue; 4733 } 4734 else if (name.equals("defaultValueQuantity")) { 4735 this.defaultValue = new Quantity(); 4736 return this.defaultValue; 4737 } 4738 else if (name.equals("defaultValueRange")) { 4739 this.defaultValue = new Range(); 4740 return this.defaultValue; 4741 } 4742 else if (name.equals("defaultValueRatio")) { 4743 this.defaultValue = new Ratio(); 4744 return this.defaultValue; 4745 } 4746 else if (name.equals("defaultValueReference")) { 4747 this.defaultValue = new Reference(); 4748 return this.defaultValue; 4749 } 4750 else if (name.equals("defaultValueSampledData")) { 4751 this.defaultValue = new SampledData(); 4752 return this.defaultValue; 4753 } 4754 else if (name.equals("defaultValueSignature")) { 4755 this.defaultValue = new Signature(); 4756 return this.defaultValue; 4757 } 4758 else if (name.equals("defaultValueTiming")) { 4759 this.defaultValue = new Timing(); 4760 return this.defaultValue; 4761 } 4762 else if (name.equals("defaultValueContactDetail")) { 4763 this.defaultValue = new ContactDetail(); 4764 return this.defaultValue; 4765 } 4766 else if (name.equals("defaultValueContributor")) { 4767 this.defaultValue = new Contributor(); 4768 return this.defaultValue; 4769 } 4770 else if (name.equals("defaultValueDataRequirement")) { 4771 this.defaultValue = new DataRequirement(); 4772 return this.defaultValue; 4773 } 4774 else if (name.equals("defaultValueExpression")) { 4775 this.defaultValue = new Expression(); 4776 return this.defaultValue; 4777 } 4778 else if (name.equals("defaultValueParameterDefinition")) { 4779 this.defaultValue = new ParameterDefinition(); 4780 return this.defaultValue; 4781 } 4782 else if (name.equals("defaultValueRelatedArtifact")) { 4783 this.defaultValue = new RelatedArtifact(); 4784 return this.defaultValue; 4785 } 4786 else if (name.equals("defaultValueTriggerDefinition")) { 4787 this.defaultValue = new TriggerDefinition(); 4788 return this.defaultValue; 4789 } 4790 else if (name.equals("defaultValueUsageContext")) { 4791 this.defaultValue = new UsageContext(); 4792 return this.defaultValue; 4793 } 4794 else if (name.equals("defaultValueDosage")) { 4795 this.defaultValue = new Dosage(); 4796 return this.defaultValue; 4797 } 4798 else if (name.equals("defaultValueMeta")) { 4799 this.defaultValue = new Meta(); 4800 return this.defaultValue; 4801 } 4802 else if (name.equals("element")) { 4803 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.element"); 4804 } 4805 else if (name.equals("listMode")) { 4806 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.listMode"); 4807 } 4808 else if (name.equals("variable")) { 4809 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.variable"); 4810 } 4811 else if (name.equals("condition")) { 4812 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.condition"); 4813 } 4814 else if (name.equals("check")) { 4815 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.check"); 4816 } 4817 else if (name.equals("logMessage")) { 4818 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.source.logMessage"); 4819 } 4820 else 4821 return super.addChild(name); 4822 } 4823 4824 public StructureMapGroupRuleSourceComponent copy() { 4825 StructureMapGroupRuleSourceComponent dst = new StructureMapGroupRuleSourceComponent(); 4826 copyValues(dst); 4827 return dst; 4828 } 4829 4830 public void copyValues(StructureMapGroupRuleSourceComponent dst) { 4831 super.copyValues(dst); 4832 dst.context = context == null ? null : context.copy(); 4833 dst.min = min == null ? null : min.copy(); 4834 dst.max = max == null ? null : max.copy(); 4835 dst.type = type == null ? null : type.copy(); 4836 dst.defaultValue = defaultValue == null ? null : defaultValue.copy(); 4837 dst.element = element == null ? null : element.copy(); 4838 dst.listMode = listMode == null ? null : listMode.copy(); 4839 dst.variable = variable == null ? null : variable.copy(); 4840 dst.condition = condition == null ? null : condition.copy(); 4841 dst.check = check == null ? null : check.copy(); 4842 dst.logMessage = logMessage == null ? null : logMessage.copy(); 4843 } 4844 4845 @Override 4846 public boolean equalsDeep(Base other_) { 4847 if (!super.equalsDeep(other_)) 4848 return false; 4849 if (!(other_ instanceof StructureMapGroupRuleSourceComponent)) 4850 return false; 4851 StructureMapGroupRuleSourceComponent o = (StructureMapGroupRuleSourceComponent) other_; 4852 return compareDeep(context, o.context, true) && compareDeep(min, o.min, true) && compareDeep(max, o.max, true) 4853 && compareDeep(type, o.type, true) && compareDeep(defaultValue, o.defaultValue, true) && compareDeep(element, o.element, true) 4854 && compareDeep(listMode, o.listMode, true) && compareDeep(variable, o.variable, true) && compareDeep(condition, o.condition, true) 4855 && compareDeep(check, o.check, true) && compareDeep(logMessage, o.logMessage, true); 4856 } 4857 4858 @Override 4859 public boolean equalsShallow(Base other_) { 4860 if (!super.equalsShallow(other_)) 4861 return false; 4862 if (!(other_ instanceof StructureMapGroupRuleSourceComponent)) 4863 return false; 4864 StructureMapGroupRuleSourceComponent o = (StructureMapGroupRuleSourceComponent) other_; 4865 return compareValues(context, o.context, true) && compareValues(min, o.min, true) && compareValues(max, o.max, true) 4866 && compareValues(type, o.type, true) && compareValues(element, o.element, true) && compareValues(listMode, o.listMode, true) 4867 && compareValues(variable, o.variable, true) && compareValues(condition, o.condition, true) && compareValues(check, o.check, true) 4868 && compareValues(logMessage, o.logMessage, true); 4869 } 4870 4871 public boolean isEmpty() { 4872 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(context, min, max, type 4873 , defaultValue, element, listMode, variable, condition, check, logMessage); 4874 } 4875 4876 public String fhirType() { 4877 return "StructureMap.group.rule.source"; 4878 4879 } 4880 4881// added from java-adornments.txt: 4882public String toString() { 4883 return StructureMapUtilities.sourceToString(this); 4884 } 4885// end addition 4886 } 4887 4888 @Block() 4889 public static class StructureMapGroupRuleTargetComponent extends BackboneElement implements IBaseBackboneElement { 4890 /** 4891 * Type or variable this rule applies to. 4892 */ 4893 @Child(name = "context", type = {IdType.class}, order=1, min=0, max=1, modifier=false, summary=true) 4894 @Description(shortDefinition="Type or variable this rule applies to", formalDefinition="Type or variable this rule applies to." ) 4895 protected IdType context; 4896 4897 /** 4898 * How to interpret the context. 4899 */ 4900 @Child(name = "contextType", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=true) 4901 @Description(shortDefinition="type | variable", formalDefinition="How to interpret the context." ) 4902 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-context-type") 4903 protected Enumeration<StructureMapContextType> contextType; 4904 4905 /** 4906 * Field to create in the context. 4907 */ 4908 @Child(name = "element", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 4909 @Description(shortDefinition="Field to create in the context", formalDefinition="Field to create in the context." ) 4910 protected StringType element; 4911 4912 /** 4913 * Named context for field, if desired, and a field is specified. 4914 */ 4915 @Child(name = "variable", type = {IdType.class}, order=4, min=0, max=1, modifier=false, summary=true) 4916 @Description(shortDefinition="Named context for field, if desired, and a field is specified", formalDefinition="Named context for field, if desired, and a field is specified." ) 4917 protected IdType variable; 4918 4919 /** 4920 * If field is a list, how to manage the list. 4921 */ 4922 @Child(name = "listMode", type = {CodeType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4923 @Description(shortDefinition="first | share | last | collate", formalDefinition="If field is a list, how to manage the list." ) 4924 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-target-list-mode") 4925 protected List<Enumeration<StructureMapTargetListMode>> listMode; 4926 4927 /** 4928 * Internal rule reference for shared list items. 4929 */ 4930 @Child(name = "listRuleId", type = {IdType.class}, order=6, min=0, max=1, modifier=false, summary=true) 4931 @Description(shortDefinition="Internal rule reference for shared list items", formalDefinition="Internal rule reference for shared list items." ) 4932 protected IdType listRuleId; 4933 4934 /** 4935 * How the data is copied / created. 4936 */ 4937 @Child(name = "transform", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 4938 @Description(shortDefinition="create | copy +", formalDefinition="How the data is copied / created." ) 4939 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/map-transform") 4940 protected Enumeration<StructureMapTransform> transform; 4941 4942 /** 4943 * Parameters to the transform. 4944 */ 4945 @Child(name = "parameter", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 4946 @Description(shortDefinition="Parameters to the transform", formalDefinition="Parameters to the transform." ) 4947 protected List<StructureMapGroupRuleTargetParameterComponent> parameter; 4948 4949 private static final long serialVersionUID = -1441766429L; 4950 4951 /** 4952 * Constructor 4953 */ 4954 public StructureMapGroupRuleTargetComponent() { 4955 super(); 4956 } 4957 4958 /** 4959 * @return {@link #context} (Type or variable this rule applies to.). This is the underlying object with id, value and extensions. The accessor "getContext" gives direct access to the value 4960 */ 4961 public IdType getContextElement() { 4962 if (this.context == null) 4963 if (Configuration.errorOnAutoCreate()) 4964 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.context"); 4965 else if (Configuration.doAutoCreate()) 4966 this.context = new IdType(); // bb 4967 return this.context; 4968 } 4969 4970 public boolean hasContextElement() { 4971 return this.context != null && !this.context.isEmpty(); 4972 } 4973 4974 public boolean hasContext() { 4975 return this.context != null && !this.context.isEmpty(); 4976 } 4977 4978 /** 4979 * @param value {@link #context} (Type or variable this rule applies to.). This is the underlying object with id, value and extensions. The accessor "getContext" gives direct access to the value 4980 */ 4981 public StructureMapGroupRuleTargetComponent setContextElement(IdType value) { 4982 this.context = value; 4983 return this; 4984 } 4985 4986 /** 4987 * @return Type or variable this rule applies to. 4988 */ 4989 public String getContext() { 4990 return this.context == null ? null : this.context.getValue(); 4991 } 4992 4993 /** 4994 * @param value Type or variable this rule applies to. 4995 */ 4996 public StructureMapGroupRuleTargetComponent setContext(String value) { 4997 if (Utilities.noString(value)) 4998 this.context = null; 4999 else { 5000 if (this.context == null) 5001 this.context = new IdType(); 5002 this.context.setValue(value); 5003 } 5004 return this; 5005 } 5006 5007 /** 5008 * @return {@link #contextType} (How to interpret the context.). This is the underlying object with id, value and extensions. The accessor "getContextType" gives direct access to the value 5009 */ 5010 public Enumeration<StructureMapContextType> getContextTypeElement() { 5011 if (this.contextType == null) 5012 if (Configuration.errorOnAutoCreate()) 5013 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.contextType"); 5014 else if (Configuration.doAutoCreate()) 5015 this.contextType = new Enumeration<StructureMapContextType>(new StructureMapContextTypeEnumFactory()); // bb 5016 return this.contextType; 5017 } 5018 5019 public boolean hasContextTypeElement() { 5020 return this.contextType != null && !this.contextType.isEmpty(); 5021 } 5022 5023 public boolean hasContextType() { 5024 return this.contextType != null && !this.contextType.isEmpty(); 5025 } 5026 5027 /** 5028 * @param value {@link #contextType} (How to interpret the context.). This is the underlying object with id, value and extensions. The accessor "getContextType" gives direct access to the value 5029 */ 5030 public StructureMapGroupRuleTargetComponent setContextTypeElement(Enumeration<StructureMapContextType> value) { 5031 this.contextType = value; 5032 return this; 5033 } 5034 5035 /** 5036 * @return How to interpret the context. 5037 */ 5038 public StructureMapContextType getContextType() { 5039 return this.contextType == null ? null : this.contextType.getValue(); 5040 } 5041 5042 /** 5043 * @param value How to interpret the context. 5044 */ 5045 public StructureMapGroupRuleTargetComponent setContextType(StructureMapContextType value) { 5046 if (value == null) 5047 this.contextType = null; 5048 else { 5049 if (this.contextType == null) 5050 this.contextType = new Enumeration<StructureMapContextType>(new StructureMapContextTypeEnumFactory()); 5051 this.contextType.setValue(value); 5052 } 5053 return this; 5054 } 5055 5056 /** 5057 * @return {@link #element} (Field to create in the context.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 5058 */ 5059 public StringType getElementElement() { 5060 if (this.element == null) 5061 if (Configuration.errorOnAutoCreate()) 5062 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.element"); 5063 else if (Configuration.doAutoCreate()) 5064 this.element = new StringType(); // bb 5065 return this.element; 5066 } 5067 5068 public boolean hasElementElement() { 5069 return this.element != null && !this.element.isEmpty(); 5070 } 5071 5072 public boolean hasElement() { 5073 return this.element != null && !this.element.isEmpty(); 5074 } 5075 5076 /** 5077 * @param value {@link #element} (Field to create in the context.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 5078 */ 5079 public StructureMapGroupRuleTargetComponent setElementElement(StringType value) { 5080 this.element = value; 5081 return this; 5082 } 5083 5084 /** 5085 * @return Field to create in the context. 5086 */ 5087 public String getElement() { 5088 return this.element == null ? null : this.element.getValue(); 5089 } 5090 5091 /** 5092 * @param value Field to create in the context. 5093 */ 5094 public StructureMapGroupRuleTargetComponent setElement(String value) { 5095 if (Utilities.noString(value)) 5096 this.element = null; 5097 else { 5098 if (this.element == null) 5099 this.element = new StringType(); 5100 this.element.setValue(value); 5101 } 5102 return this; 5103 } 5104 5105 /** 5106 * @return {@link #variable} (Named context for field, if desired, and a field is specified.). This is the underlying object with id, value and extensions. The accessor "getVariable" gives direct access to the value 5107 */ 5108 public IdType getVariableElement() { 5109 if (this.variable == null) 5110 if (Configuration.errorOnAutoCreate()) 5111 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.variable"); 5112 else if (Configuration.doAutoCreate()) 5113 this.variable = new IdType(); // bb 5114 return this.variable; 5115 } 5116 5117 public boolean hasVariableElement() { 5118 return this.variable != null && !this.variable.isEmpty(); 5119 } 5120 5121 public boolean hasVariable() { 5122 return this.variable != null && !this.variable.isEmpty(); 5123 } 5124 5125 /** 5126 * @param value {@link #variable} (Named context for field, if desired, and a field is specified.). This is the underlying object with id, value and extensions. The accessor "getVariable" gives direct access to the value 5127 */ 5128 public StructureMapGroupRuleTargetComponent setVariableElement(IdType value) { 5129 this.variable = value; 5130 return this; 5131 } 5132 5133 /** 5134 * @return Named context for field, if desired, and a field is specified. 5135 */ 5136 public String getVariable() { 5137 return this.variable == null ? null : this.variable.getValue(); 5138 } 5139 5140 /** 5141 * @param value Named context for field, if desired, and a field is specified. 5142 */ 5143 public StructureMapGroupRuleTargetComponent setVariable(String value) { 5144 if (Utilities.noString(value)) 5145 this.variable = null; 5146 else { 5147 if (this.variable == null) 5148 this.variable = new IdType(); 5149 this.variable.setValue(value); 5150 } 5151 return this; 5152 } 5153 5154 /** 5155 * @return {@link #listMode} (If field is a list, how to manage the list.) 5156 */ 5157 public List<Enumeration<StructureMapTargetListMode>> getListMode() { 5158 if (this.listMode == null) 5159 this.listMode = new ArrayList<Enumeration<StructureMapTargetListMode>>(); 5160 return this.listMode; 5161 } 5162 5163 /** 5164 * @return Returns a reference to <code>this</code> for easy method chaining 5165 */ 5166 public StructureMapGroupRuleTargetComponent setListMode(List<Enumeration<StructureMapTargetListMode>> theListMode) { 5167 this.listMode = theListMode; 5168 return this; 5169 } 5170 5171 public boolean hasListMode() { 5172 if (this.listMode == null) 5173 return false; 5174 for (Enumeration<StructureMapTargetListMode> item : this.listMode) 5175 if (!item.isEmpty()) 5176 return true; 5177 return false; 5178 } 5179 5180 /** 5181 * @return {@link #listMode} (If field is a list, how to manage the list.) 5182 */ 5183 public Enumeration<StructureMapTargetListMode> addListModeElement() {//2 5184 Enumeration<StructureMapTargetListMode> t = new Enumeration<StructureMapTargetListMode>(new StructureMapTargetListModeEnumFactory()); 5185 if (this.listMode == null) 5186 this.listMode = new ArrayList<Enumeration<StructureMapTargetListMode>>(); 5187 this.listMode.add(t); 5188 return t; 5189 } 5190 5191 /** 5192 * @param value {@link #listMode} (If field is a list, how to manage the list.) 5193 */ 5194 public StructureMapGroupRuleTargetComponent addListMode(StructureMapTargetListMode value) { //1 5195 Enumeration<StructureMapTargetListMode> t = new Enumeration<StructureMapTargetListMode>(new StructureMapTargetListModeEnumFactory()); 5196 t.setValue(value); 5197 if (this.listMode == null) 5198 this.listMode = new ArrayList<Enumeration<StructureMapTargetListMode>>(); 5199 this.listMode.add(t); 5200 return this; 5201 } 5202 5203 /** 5204 * @param value {@link #listMode} (If field is a list, how to manage the list.) 5205 */ 5206 public boolean hasListMode(StructureMapTargetListMode value) { 5207 if (this.listMode == null) 5208 return false; 5209 for (Enumeration<StructureMapTargetListMode> v : this.listMode) 5210 if (v.getValue().equals(value)) // code 5211 return true; 5212 return false; 5213 } 5214 5215 /** 5216 * @return {@link #listRuleId} (Internal rule reference for shared list items.). This is the underlying object with id, value and extensions. The accessor "getListRuleId" gives direct access to the value 5217 */ 5218 public IdType getListRuleIdElement() { 5219 if (this.listRuleId == null) 5220 if (Configuration.errorOnAutoCreate()) 5221 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.listRuleId"); 5222 else if (Configuration.doAutoCreate()) 5223 this.listRuleId = new IdType(); // bb 5224 return this.listRuleId; 5225 } 5226 5227 public boolean hasListRuleIdElement() { 5228 return this.listRuleId != null && !this.listRuleId.isEmpty(); 5229 } 5230 5231 public boolean hasListRuleId() { 5232 return this.listRuleId != null && !this.listRuleId.isEmpty(); 5233 } 5234 5235 /** 5236 * @param value {@link #listRuleId} (Internal rule reference for shared list items.). This is the underlying object with id, value and extensions. The accessor "getListRuleId" gives direct access to the value 5237 */ 5238 public StructureMapGroupRuleTargetComponent setListRuleIdElement(IdType value) { 5239 this.listRuleId = value; 5240 return this; 5241 } 5242 5243 /** 5244 * @return Internal rule reference for shared list items. 5245 */ 5246 public String getListRuleId() { 5247 return this.listRuleId == null ? null : this.listRuleId.getValue(); 5248 } 5249 5250 /** 5251 * @param value Internal rule reference for shared list items. 5252 */ 5253 public StructureMapGroupRuleTargetComponent setListRuleId(String value) { 5254 if (Utilities.noString(value)) 5255 this.listRuleId = null; 5256 else { 5257 if (this.listRuleId == null) 5258 this.listRuleId = new IdType(); 5259 this.listRuleId.setValue(value); 5260 } 5261 return this; 5262 } 5263 5264 /** 5265 * @return {@link #transform} (How the data is copied / created.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 5266 */ 5267 public Enumeration<StructureMapTransform> getTransformElement() { 5268 if (this.transform == null) 5269 if (Configuration.errorOnAutoCreate()) 5270 throw new Error("Attempt to auto-create StructureMapGroupRuleTargetComponent.transform"); 5271 else if (Configuration.doAutoCreate()) 5272 this.transform = new Enumeration<StructureMapTransform>(new StructureMapTransformEnumFactory()); // bb 5273 return this.transform; 5274 } 5275 5276 public boolean hasTransformElement() { 5277 return this.transform != null && !this.transform.isEmpty(); 5278 } 5279 5280 public boolean hasTransform() { 5281 return this.transform != null && !this.transform.isEmpty(); 5282 } 5283 5284 /** 5285 * @param value {@link #transform} (How the data is copied / created.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 5286 */ 5287 public StructureMapGroupRuleTargetComponent setTransformElement(Enumeration<StructureMapTransform> value) { 5288 this.transform = value; 5289 return this; 5290 } 5291 5292 /** 5293 * @return How the data is copied / created. 5294 */ 5295 public StructureMapTransform getTransform() { 5296 return this.transform == null ? null : this.transform.getValue(); 5297 } 5298 5299 /** 5300 * @param value How the data is copied / created. 5301 */ 5302 public StructureMapGroupRuleTargetComponent setTransform(StructureMapTransform value) { 5303 if (value == null) 5304 this.transform = null; 5305 else { 5306 if (this.transform == null) 5307 this.transform = new Enumeration<StructureMapTransform>(new StructureMapTransformEnumFactory()); 5308 this.transform.setValue(value); 5309 } 5310 return this; 5311 } 5312 5313 /** 5314 * @return {@link #parameter} (Parameters to the transform.) 5315 */ 5316 public List<StructureMapGroupRuleTargetParameterComponent> getParameter() { 5317 if (this.parameter == null) 5318 this.parameter = new ArrayList<StructureMapGroupRuleTargetParameterComponent>(); 5319 return this.parameter; 5320 } 5321 5322 /** 5323 * @return Returns a reference to <code>this</code> for easy method chaining 5324 */ 5325 public StructureMapGroupRuleTargetComponent setParameter(List<StructureMapGroupRuleTargetParameterComponent> theParameter) { 5326 this.parameter = theParameter; 5327 return this; 5328 } 5329 5330 public boolean hasParameter() { 5331 if (this.parameter == null) 5332 return false; 5333 for (StructureMapGroupRuleTargetParameterComponent item : this.parameter) 5334 if (!item.isEmpty()) 5335 return true; 5336 return false; 5337 } 5338 5339 public StructureMapGroupRuleTargetParameterComponent addParameter() { //3 5340 StructureMapGroupRuleTargetParameterComponent t = new StructureMapGroupRuleTargetParameterComponent(); 5341 if (this.parameter == null) 5342 this.parameter = new ArrayList<StructureMapGroupRuleTargetParameterComponent>(); 5343 this.parameter.add(t); 5344 return t; 5345 } 5346 5347 public StructureMapGroupRuleTargetComponent addParameter(StructureMapGroupRuleTargetParameterComponent t) { //3 5348 if (t == null) 5349 return this; 5350 if (this.parameter == null) 5351 this.parameter = new ArrayList<StructureMapGroupRuleTargetParameterComponent>(); 5352 this.parameter.add(t); 5353 return this; 5354 } 5355 5356 /** 5357 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 5358 */ 5359 public StructureMapGroupRuleTargetParameterComponent getParameterFirstRep() { 5360 if (getParameter().isEmpty()) { 5361 addParameter(); 5362 } 5363 return getParameter().get(0); 5364 } 5365 5366 protected void listChildren(List<Property> children) { 5367 super.listChildren(children); 5368 children.add(new Property("context", "id", "Type or variable this rule applies to.", 0, 1, context)); 5369 children.add(new Property("contextType", "code", "How to interpret the context.", 0, 1, contextType)); 5370 children.add(new Property("element", "string", "Field to create in the context.", 0, 1, element)); 5371 children.add(new Property("variable", "id", "Named context for field, if desired, and a field is specified.", 0, 1, variable)); 5372 children.add(new Property("listMode", "code", "If field is a list, how to manage the list.", 0, java.lang.Integer.MAX_VALUE, listMode)); 5373 children.add(new Property("listRuleId", "id", "Internal rule reference for shared list items.", 0, 1, listRuleId)); 5374 children.add(new Property("transform", "code", "How the data is copied / created.", 0, 1, transform)); 5375 children.add(new Property("parameter", "", "Parameters to the transform.", 0, java.lang.Integer.MAX_VALUE, parameter)); 5376 } 5377 5378 @Override 5379 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5380 switch (_hash) { 5381 case 951530927: /*context*/ return new Property("context", "id", "Type or variable this rule applies to.", 0, 1, context); 5382 case -102839927: /*contextType*/ return new Property("contextType", "code", "How to interpret the context.", 0, 1, contextType); 5383 case -1662836996: /*element*/ return new Property("element", "string", "Field to create in the context.", 0, 1, element); 5384 case -1249586564: /*variable*/ return new Property("variable", "id", "Named context for field, if desired, and a field is specified.", 0, 1, variable); 5385 case 1345445729: /*listMode*/ return new Property("listMode", "code", "If field is a list, how to manage the list.", 0, java.lang.Integer.MAX_VALUE, listMode); 5386 case 337117045: /*listRuleId*/ return new Property("listRuleId", "id", "Internal rule reference for shared list items.", 0, 1, listRuleId); 5387 case 1052666732: /*transform*/ return new Property("transform", "code", "How the data is copied / created.", 0, 1, transform); 5388 case 1954460585: /*parameter*/ return new Property("parameter", "", "Parameters to the transform.", 0, java.lang.Integer.MAX_VALUE, parameter); 5389 default: return super.getNamedProperty(_hash, _name, _checkValid); 5390 } 5391 5392 } 5393 5394 @Override 5395 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5396 switch (hash) { 5397 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // IdType 5398 case -102839927: /*contextType*/ return this.contextType == null ? new Base[0] : new Base[] {this.contextType}; // Enumeration<StructureMapContextType> 5399 case -1662836996: /*element*/ return this.element == null ? new Base[0] : new Base[] {this.element}; // StringType 5400 case -1249586564: /*variable*/ return this.variable == null ? new Base[0] : new Base[] {this.variable}; // IdType 5401 case 1345445729: /*listMode*/ return this.listMode == null ? new Base[0] : this.listMode.toArray(new Base[this.listMode.size()]); // Enumeration<StructureMapTargetListMode> 5402 case 337117045: /*listRuleId*/ return this.listRuleId == null ? new Base[0] : new Base[] {this.listRuleId}; // IdType 5403 case 1052666732: /*transform*/ return this.transform == null ? new Base[0] : new Base[] {this.transform}; // Enumeration<StructureMapTransform> 5404 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // StructureMapGroupRuleTargetParameterComponent 5405 default: return super.getProperty(hash, name, checkValid); 5406 } 5407 5408 } 5409 5410 @Override 5411 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5412 switch (hash) { 5413 case 951530927: // context 5414 this.context = TypeConvertor.castToId(value); // IdType 5415 return value; 5416 case -102839927: // contextType 5417 value = new StructureMapContextTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 5418 this.contextType = (Enumeration) value; // Enumeration<StructureMapContextType> 5419 return value; 5420 case -1662836996: // element 5421 this.element = TypeConvertor.castToString(value); // StringType 5422 return value; 5423 case -1249586564: // variable 5424 this.variable = TypeConvertor.castToId(value); // IdType 5425 return value; 5426 case 1345445729: // listMode 5427 value = new StructureMapTargetListModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 5428 this.getListMode().add((Enumeration) value); // Enumeration<StructureMapTargetListMode> 5429 return value; 5430 case 337117045: // listRuleId 5431 this.listRuleId = TypeConvertor.castToId(value); // IdType 5432 return value; 5433 case 1052666732: // transform 5434 value = new StructureMapTransformEnumFactory().fromType(TypeConvertor.castToCode(value)); 5435 this.transform = (Enumeration) value; // Enumeration<StructureMapTransform> 5436 return value; 5437 case 1954460585: // parameter 5438 this.getParameter().add((StructureMapGroupRuleTargetParameterComponent) value); // StructureMapGroupRuleTargetParameterComponent 5439 return value; 5440 default: return super.setProperty(hash, name, value); 5441 } 5442 5443 } 5444 5445 @Override 5446 public Base setProperty(String name, Base value) throws FHIRException { 5447 if (name.equals("context")) { 5448 this.context = TypeConvertor.castToId(value); // IdType 5449 } else if (name.equals("contextType")) { 5450 value = new StructureMapContextTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 5451 this.contextType = (Enumeration) value; // Enumeration<StructureMapContextType> 5452 } else if (name.equals("element")) { 5453 this.element = TypeConvertor.castToString(value); // StringType 5454 } else if (name.equals("variable")) { 5455 this.variable = TypeConvertor.castToId(value); // IdType 5456 } else if (name.equals("listMode")) { 5457 value = new StructureMapTargetListModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 5458 this.getListMode().add((Enumeration) value); 5459 } else if (name.equals("listRuleId")) { 5460 this.listRuleId = TypeConvertor.castToId(value); // IdType 5461 } else if (name.equals("transform")) { 5462 value = new StructureMapTransformEnumFactory().fromType(TypeConvertor.castToCode(value)); 5463 this.transform = (Enumeration) value; // Enumeration<StructureMapTransform> 5464 } else if (name.equals("parameter")) { 5465 this.getParameter().add((StructureMapGroupRuleTargetParameterComponent) value); 5466 } else 5467 return super.setProperty(name, value); 5468 return value; 5469 } 5470 5471 @Override 5472 public Base makeProperty(int hash, String name) throws FHIRException { 5473 switch (hash) { 5474 case 951530927: return getContextElement(); 5475 case -102839927: return getContextTypeElement(); 5476 case -1662836996: return getElementElement(); 5477 case -1249586564: return getVariableElement(); 5478 case 1345445729: return addListModeElement(); 5479 case 337117045: return getListRuleIdElement(); 5480 case 1052666732: return getTransformElement(); 5481 case 1954460585: return addParameter(); 5482 default: return super.makeProperty(hash, name); 5483 } 5484 5485 } 5486 5487 @Override 5488 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5489 switch (hash) { 5490 case 951530927: /*context*/ return new String[] {"id"}; 5491 case -102839927: /*contextType*/ return new String[] {"code"}; 5492 case -1662836996: /*element*/ return new String[] {"string"}; 5493 case -1249586564: /*variable*/ return new String[] {"id"}; 5494 case 1345445729: /*listMode*/ return new String[] {"code"}; 5495 case 337117045: /*listRuleId*/ return new String[] {"id"}; 5496 case 1052666732: /*transform*/ return new String[] {"code"}; 5497 case 1954460585: /*parameter*/ return new String[] {}; 5498 default: return super.getTypesForProperty(hash, name); 5499 } 5500 5501 } 5502 5503 @Override 5504 public Base addChild(String name) throws FHIRException { 5505 if (name.equals("context")) { 5506 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.context"); 5507 } 5508 else if (name.equals("contextType")) { 5509 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.contextType"); 5510 } 5511 else if (name.equals("element")) { 5512 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.element"); 5513 } 5514 else if (name.equals("variable")) { 5515 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.variable"); 5516 } 5517 else if (name.equals("listMode")) { 5518 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.listMode"); 5519 } 5520 else if (name.equals("listRuleId")) { 5521 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.listRuleId"); 5522 } 5523 else if (name.equals("transform")) { 5524 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.target.transform"); 5525 } 5526 else if (name.equals("parameter")) { 5527 return addParameter(); 5528 } 5529 else 5530 return super.addChild(name); 5531 } 5532 5533 public StructureMapGroupRuleTargetComponent copy() { 5534 StructureMapGroupRuleTargetComponent dst = new StructureMapGroupRuleTargetComponent(); 5535 copyValues(dst); 5536 return dst; 5537 } 5538 5539 public void copyValues(StructureMapGroupRuleTargetComponent dst) { 5540 super.copyValues(dst); 5541 dst.context = context == null ? null : context.copy(); 5542 dst.contextType = contextType == null ? null : contextType.copy(); 5543 dst.element = element == null ? null : element.copy(); 5544 dst.variable = variable == null ? null : variable.copy(); 5545 if (listMode != null) { 5546 dst.listMode = new ArrayList<Enumeration<StructureMapTargetListMode>>(); 5547 for (Enumeration<StructureMapTargetListMode> i : listMode) 5548 dst.listMode.add(i.copy()); 5549 }; 5550 dst.listRuleId = listRuleId == null ? null : listRuleId.copy(); 5551 dst.transform = transform == null ? null : transform.copy(); 5552 if (parameter != null) { 5553 dst.parameter = new ArrayList<StructureMapGroupRuleTargetParameterComponent>(); 5554 for (StructureMapGroupRuleTargetParameterComponent i : parameter) 5555 dst.parameter.add(i.copy()); 5556 }; 5557 } 5558 5559 @Override 5560 public boolean equalsDeep(Base other_) { 5561 if (!super.equalsDeep(other_)) 5562 return false; 5563 if (!(other_ instanceof StructureMapGroupRuleTargetComponent)) 5564 return false; 5565 StructureMapGroupRuleTargetComponent o = (StructureMapGroupRuleTargetComponent) other_; 5566 return compareDeep(context, o.context, true) && compareDeep(contextType, o.contextType, true) && compareDeep(element, o.element, true) 5567 && compareDeep(variable, o.variable, true) && compareDeep(listMode, o.listMode, true) && compareDeep(listRuleId, o.listRuleId, true) 5568 && compareDeep(transform, o.transform, true) && compareDeep(parameter, o.parameter, true); 5569 } 5570 5571 @Override 5572 public boolean equalsShallow(Base other_) { 5573 if (!super.equalsShallow(other_)) 5574 return false; 5575 if (!(other_ instanceof StructureMapGroupRuleTargetComponent)) 5576 return false; 5577 StructureMapGroupRuleTargetComponent o = (StructureMapGroupRuleTargetComponent) other_; 5578 return compareValues(context, o.context, true) && compareValues(contextType, o.contextType, true) && compareValues(element, o.element, true) 5579 && compareValues(variable, o.variable, true) && compareValues(listMode, o.listMode, true) && compareValues(listRuleId, o.listRuleId, true) 5580 && compareValues(transform, o.transform, true); 5581 } 5582 5583 public boolean isEmpty() { 5584 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(context, contextType, element 5585 , variable, listMode, listRuleId, transform, parameter); 5586 } 5587 5588 public String fhirType() { 5589 return "StructureMap.group.rule.target"; 5590 5591 } 5592 5593// added from java-adornments.txt: 5594public String toString() { 5595 return StructureMapUtilities.targetToString(this); 5596 } 5597// end addition 5598 } 5599 5600 @Block() 5601 public static class StructureMapGroupRuleTargetParameterComponent extends BackboneElement implements IBaseBackboneElement { 5602 /** 5603 * Parameter value - variable or literal. 5604 */ 5605 @Child(name = "value", type = {IdType.class, StringType.class, BooleanType.class, IntegerType.class, DecimalType.class}, order=1, min=1, max=1, modifier=false, summary=true) 5606 @Description(shortDefinition="Parameter value - variable or literal", formalDefinition="Parameter value - variable or literal." ) 5607 protected DataType value; 5608 5609 private static final long serialVersionUID = -1135414639L; 5610 5611 /** 5612 * Constructor 5613 */ 5614 public StructureMapGroupRuleTargetParameterComponent() { 5615 super(); 5616 } 5617 5618 /** 5619 * Constructor 5620 */ 5621 public StructureMapGroupRuleTargetParameterComponent(DataType value) { 5622 super(); 5623 this.setValue(value); 5624 } 5625 5626 /** 5627 * @return {@link #value} (Parameter value - variable or literal.) 5628 */ 5629 public DataType getValue() { 5630 return this.value; 5631 } 5632 5633 /** 5634 * @return {@link #value} (Parameter value - variable or literal.) 5635 */ 5636 public IdType getValueIdType() throws FHIRException { 5637 if (this.value == null) 5638 this.value = new IdType(); 5639 if (!(this.value instanceof IdType)) 5640 throw new FHIRException("Type mismatch: the type IdType was expected, but "+this.value.getClass().getName()+" was encountered"); 5641 return (IdType) this.value; 5642 } 5643 5644 public boolean hasValueIdType() { 5645 return this != null && this.value instanceof IdType; 5646 } 5647 5648 /** 5649 * @return {@link #value} (Parameter value - variable or literal.) 5650 */ 5651 public StringType getValueStringType() throws FHIRException { 5652 if (this.value == null) 5653 this.value = new StringType(); 5654 if (!(this.value instanceof StringType)) 5655 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 5656 return (StringType) this.value; 5657 } 5658 5659 public boolean hasValueStringType() { 5660 return this != null && this.value instanceof StringType; 5661 } 5662 5663 /** 5664 * @return {@link #value} (Parameter value - variable or literal.) 5665 */ 5666 public BooleanType getValueBooleanType() throws FHIRException { 5667 if (this.value == null) 5668 this.value = new BooleanType(); 5669 if (!(this.value instanceof BooleanType)) 5670 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 5671 return (BooleanType) this.value; 5672 } 5673 5674 public boolean hasValueBooleanType() { 5675 return this != null && this.value instanceof BooleanType; 5676 } 5677 5678 /** 5679 * @return {@link #value} (Parameter value - variable or literal.) 5680 */ 5681 public IntegerType getValueIntegerType() throws FHIRException { 5682 if (this.value == null) 5683 this.value = new IntegerType(); 5684 if (!(this.value instanceof IntegerType)) 5685 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 5686 return (IntegerType) this.value; 5687 } 5688 5689 public boolean hasValueIntegerType() { 5690 return this != null && this.value instanceof IntegerType; 5691 } 5692 5693 /** 5694 * @return {@link #value} (Parameter value - variable or literal.) 5695 */ 5696 public DecimalType getValueDecimalType() throws FHIRException { 5697 if (this.value == null) 5698 this.value = new DecimalType(); 5699 if (!(this.value instanceof DecimalType)) 5700 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 5701 return (DecimalType) this.value; 5702 } 5703 5704 public boolean hasValueDecimalType() { 5705 return this != null && this.value instanceof DecimalType; 5706 } 5707 5708 public boolean hasValue() { 5709 return this.value != null && !this.value.isEmpty(); 5710 } 5711 5712 /** 5713 * @param value {@link #value} (Parameter value - variable or literal.) 5714 */ 5715 public StructureMapGroupRuleTargetParameterComponent setValue(DataType value) { 5716 if (value != null && !(value instanceof IdType || value instanceof StringType || value instanceof BooleanType || value instanceof IntegerType || value instanceof DecimalType)) 5717 throw new Error("Not the right type for StructureMap.group.rule.target.parameter.value[x]: "+value.fhirType()); 5718 this.value = value; 5719 return this; 5720 } 5721 5722 protected void listChildren(List<Property> children) { 5723 super.listChildren(children); 5724 children.add(new Property("value[x]", "id|string|boolean|integer|decimal", "Parameter value - variable or literal.", 0, 1, value)); 5725 } 5726 5727 @Override 5728 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5729 switch (_hash) { 5730 case -1410166417: /*value[x]*/ return new Property("value[x]", "id|string|boolean|integer|decimal", "Parameter value - variable or literal.", 0, 1, value); 5731 case 111972721: /*value*/ return new Property("value[x]", "id|string|boolean|integer|decimal", "Parameter value - variable or literal.", 0, 1, value); 5732 case 231604844: /*valueId*/ return new Property("value[x]", "id", "Parameter value - variable or literal.", 0, 1, value); 5733 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "Parameter value - variable or literal.", 0, 1, value); 5734 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Parameter value - variable or literal.", 0, 1, value); 5735 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "Parameter value - variable or literal.", 0, 1, value); 5736 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "Parameter value - variable or literal.", 0, 1, value); 5737 default: return super.getNamedProperty(_hash, _name, _checkValid); 5738 } 5739 5740 } 5741 5742 @Override 5743 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5744 switch (hash) { 5745 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 5746 default: return super.getProperty(hash, name, checkValid); 5747 } 5748 5749 } 5750 5751 @Override 5752 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5753 switch (hash) { 5754 case 111972721: // value 5755 this.value = TypeConvertor.castToType(value); // DataType 5756 return value; 5757 default: return super.setProperty(hash, name, value); 5758 } 5759 5760 } 5761 5762 @Override 5763 public Base setProperty(String name, Base value) throws FHIRException { 5764 if (name.equals("value[x]")) { 5765 this.value = TypeConvertor.castToType(value); // DataType 5766 } else 5767 return super.setProperty(name, value); 5768 return value; 5769 } 5770 5771 @Override 5772 public Base makeProperty(int hash, String name) throws FHIRException { 5773 switch (hash) { 5774 case -1410166417: return getValue(); 5775 case 111972721: return getValue(); 5776 default: return super.makeProperty(hash, name); 5777 } 5778 5779 } 5780 5781 @Override 5782 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5783 switch (hash) { 5784 case 111972721: /*value*/ return new String[] {"id", "string", "boolean", "integer", "decimal"}; 5785 default: return super.getTypesForProperty(hash, name); 5786 } 5787 5788 } 5789 5790 @Override 5791 public Base addChild(String name) throws FHIRException { 5792 if (name.equals("valueId")) { 5793 this.value = new IdType(); 5794 return this.value; 5795 } 5796 else if (name.equals("valueString")) { 5797 this.value = new StringType(); 5798 return this.value; 5799 } 5800 else if (name.equals("valueBoolean")) { 5801 this.value = new BooleanType(); 5802 return this.value; 5803 } 5804 else if (name.equals("valueInteger")) { 5805 this.value = new IntegerType(); 5806 return this.value; 5807 } 5808 else if (name.equals("valueDecimal")) { 5809 this.value = new DecimalType(); 5810 return this.value; 5811 } 5812 else 5813 return super.addChild(name); 5814 } 5815 5816 public StructureMapGroupRuleTargetParameterComponent copy() { 5817 StructureMapGroupRuleTargetParameterComponent dst = new StructureMapGroupRuleTargetParameterComponent(); 5818 copyValues(dst); 5819 return dst; 5820 } 5821 5822 public void copyValues(StructureMapGroupRuleTargetParameterComponent dst) { 5823 super.copyValues(dst); 5824 dst.value = value == null ? null : value.copy(); 5825 } 5826 5827 @Override 5828 public boolean equalsDeep(Base other_) { 5829 if (!super.equalsDeep(other_)) 5830 return false; 5831 if (!(other_ instanceof StructureMapGroupRuleTargetParameterComponent)) 5832 return false; 5833 StructureMapGroupRuleTargetParameterComponent o = (StructureMapGroupRuleTargetParameterComponent) other_; 5834 return compareDeep(value, o.value, true); 5835 } 5836 5837 @Override 5838 public boolean equalsShallow(Base other_) { 5839 if (!super.equalsShallow(other_)) 5840 return false; 5841 if (!(other_ instanceof StructureMapGroupRuleTargetParameterComponent)) 5842 return false; 5843 StructureMapGroupRuleTargetParameterComponent o = (StructureMapGroupRuleTargetParameterComponent) other_; 5844 return true; 5845 } 5846 5847 public boolean isEmpty() { 5848 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(value); 5849 } 5850 5851 public String fhirType() { 5852 return "StructureMap.group.rule.target.parameter"; 5853 5854 } 5855 5856// added from java-adornments.txt: 5857public String toString() { 5858 return value == null ? "null!" : value.toString(); 5859 } 5860// end addition 5861 } 5862 5863 @Block() 5864 public static class StructureMapGroupRuleDependentComponent extends BackboneElement implements IBaseBackboneElement { 5865 /** 5866 * Name of a rule or group to apply. 5867 */ 5868 @Child(name = "name", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 5869 @Description(shortDefinition="Name of a rule or group to apply", formalDefinition="Name of a rule or group to apply." ) 5870 protected IdType name; 5871 5872 /** 5873 * Variable to pass to the rule or group. 5874 */ 5875 @Child(name = "variable", type = {StringType.class}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 5876 @Description(shortDefinition="Variable to pass to the rule or group", formalDefinition="Variable to pass to the rule or group." ) 5877 protected List<StringType> variable; 5878 5879 private static final long serialVersionUID = 1021661591L; 5880 5881 /** 5882 * Constructor 5883 */ 5884 public StructureMapGroupRuleDependentComponent() { 5885 super(); 5886 } 5887 5888 /** 5889 * Constructor 5890 */ 5891 public StructureMapGroupRuleDependentComponent(String name, String variable) { 5892 super(); 5893 this.setName(name); 5894 this.addVariable(variable); 5895 } 5896 5897 /** 5898 * @return {@link #name} (Name of a rule or group to apply.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 5899 */ 5900 public IdType getNameElement() { 5901 if (this.name == null) 5902 if (Configuration.errorOnAutoCreate()) 5903 throw new Error("Attempt to auto-create StructureMapGroupRuleDependentComponent.name"); 5904 else if (Configuration.doAutoCreate()) 5905 this.name = new IdType(); // bb 5906 return this.name; 5907 } 5908 5909 public boolean hasNameElement() { 5910 return this.name != null && !this.name.isEmpty(); 5911 } 5912 5913 public boolean hasName() { 5914 return this.name != null && !this.name.isEmpty(); 5915 } 5916 5917 /** 5918 * @param value {@link #name} (Name of a rule or group to apply.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 5919 */ 5920 public StructureMapGroupRuleDependentComponent setNameElement(IdType value) { 5921 this.name = value; 5922 return this; 5923 } 5924 5925 /** 5926 * @return Name of a rule or group to apply. 5927 */ 5928 public String getName() { 5929 return this.name == null ? null : this.name.getValue(); 5930 } 5931 5932 /** 5933 * @param value Name of a rule or group to apply. 5934 */ 5935 public StructureMapGroupRuleDependentComponent setName(String value) { 5936 if (this.name == null) 5937 this.name = new IdType(); 5938 this.name.setValue(value); 5939 return this; 5940 } 5941 5942 /** 5943 * @return {@link #variable} (Variable to pass to the rule or group.) 5944 */ 5945 public List<StringType> getVariable() { 5946 if (this.variable == null) 5947 this.variable = new ArrayList<StringType>(); 5948 return this.variable; 5949 } 5950 5951 /** 5952 * @return Returns a reference to <code>this</code> for easy method chaining 5953 */ 5954 public StructureMapGroupRuleDependentComponent setVariable(List<StringType> theVariable) { 5955 this.variable = theVariable; 5956 return this; 5957 } 5958 5959 public boolean hasVariable() { 5960 if (this.variable == null) 5961 return false; 5962 for (StringType item : this.variable) 5963 if (!item.isEmpty()) 5964 return true; 5965 return false; 5966 } 5967 5968 /** 5969 * @return {@link #variable} (Variable to pass to the rule or group.) 5970 */ 5971 public StringType addVariableElement() {//2 5972 StringType t = new StringType(); 5973 if (this.variable == null) 5974 this.variable = new ArrayList<StringType>(); 5975 this.variable.add(t); 5976 return t; 5977 } 5978 5979 /** 5980 * @param value {@link #variable} (Variable to pass to the rule or group.) 5981 */ 5982 public StructureMapGroupRuleDependentComponent addVariable(String value) { //1 5983 StringType t = new StringType(); 5984 t.setValue(value); 5985 if (this.variable == null) 5986 this.variable = new ArrayList<StringType>(); 5987 this.variable.add(t); 5988 return this; 5989 } 5990 5991 /** 5992 * @param value {@link #variable} (Variable to pass to the rule or group.) 5993 */ 5994 public boolean hasVariable(String value) { 5995 if (this.variable == null) 5996 return false; 5997 for (StringType v : this.variable) 5998 if (v.getValue().equals(value)) // string 5999 return true; 6000 return false; 6001 } 6002 6003 protected void listChildren(List<Property> children) { 6004 super.listChildren(children); 6005 children.add(new Property("name", "id", "Name of a rule or group to apply.", 0, 1, name)); 6006 children.add(new Property("variable", "string", "Variable to pass to the rule or group.", 0, java.lang.Integer.MAX_VALUE, variable)); 6007 } 6008 6009 @Override 6010 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 6011 switch (_hash) { 6012 case 3373707: /*name*/ return new Property("name", "id", "Name of a rule or group to apply.", 0, 1, name); 6013 case -1249586564: /*variable*/ return new Property("variable", "string", "Variable to pass to the rule or group.", 0, java.lang.Integer.MAX_VALUE, variable); 6014 default: return super.getNamedProperty(_hash, _name, _checkValid); 6015 } 6016 6017 } 6018 6019 @Override 6020 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 6021 switch (hash) { 6022 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // IdType 6023 case -1249586564: /*variable*/ return this.variable == null ? new Base[0] : this.variable.toArray(new Base[this.variable.size()]); // StringType 6024 default: return super.getProperty(hash, name, checkValid); 6025 } 6026 6027 } 6028 6029 @Override 6030 public Base setProperty(int hash, String name, Base value) throws FHIRException { 6031 switch (hash) { 6032 case 3373707: // name 6033 this.name = TypeConvertor.castToId(value); // IdType 6034 return value; 6035 case -1249586564: // variable 6036 this.getVariable().add(TypeConvertor.castToString(value)); // StringType 6037 return value; 6038 default: return super.setProperty(hash, name, value); 6039 } 6040 6041 } 6042 6043 @Override 6044 public Base setProperty(String name, Base value) throws FHIRException { 6045 if (name.equals("name")) { 6046 this.name = TypeConvertor.castToId(value); // IdType 6047 } else if (name.equals("variable")) { 6048 this.getVariable().add(TypeConvertor.castToString(value)); 6049 } else 6050 return super.setProperty(name, value); 6051 return value; 6052 } 6053 6054 @Override 6055 public Base makeProperty(int hash, String name) throws FHIRException { 6056 switch (hash) { 6057 case 3373707: return getNameElement(); 6058 case -1249586564: return addVariableElement(); 6059 default: return super.makeProperty(hash, name); 6060 } 6061 6062 } 6063 6064 @Override 6065 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 6066 switch (hash) { 6067 case 3373707: /*name*/ return new String[] {"id"}; 6068 case -1249586564: /*variable*/ return new String[] {"string"}; 6069 default: return super.getTypesForProperty(hash, name); 6070 } 6071 6072 } 6073 6074 @Override 6075 public Base addChild(String name) throws FHIRException { 6076 if (name.equals("name")) { 6077 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.dependent.name"); 6078 } 6079 else if (name.equals("variable")) { 6080 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.group.rule.dependent.variable"); 6081 } 6082 else 6083 return super.addChild(name); 6084 } 6085 6086 public StructureMapGroupRuleDependentComponent copy() { 6087 StructureMapGroupRuleDependentComponent dst = new StructureMapGroupRuleDependentComponent(); 6088 copyValues(dst); 6089 return dst; 6090 } 6091 6092 public void copyValues(StructureMapGroupRuleDependentComponent dst) { 6093 super.copyValues(dst); 6094 dst.name = name == null ? null : name.copy(); 6095 if (variable != null) { 6096 dst.variable = new ArrayList<StringType>(); 6097 for (StringType i : variable) 6098 dst.variable.add(i.copy()); 6099 }; 6100 } 6101 6102 @Override 6103 public boolean equalsDeep(Base other_) { 6104 if (!super.equalsDeep(other_)) 6105 return false; 6106 if (!(other_ instanceof StructureMapGroupRuleDependentComponent)) 6107 return false; 6108 StructureMapGroupRuleDependentComponent o = (StructureMapGroupRuleDependentComponent) other_; 6109 return compareDeep(name, o.name, true) && compareDeep(variable, o.variable, true); 6110 } 6111 6112 @Override 6113 public boolean equalsShallow(Base other_) { 6114 if (!super.equalsShallow(other_)) 6115 return false; 6116 if (!(other_ instanceof StructureMapGroupRuleDependentComponent)) 6117 return false; 6118 StructureMapGroupRuleDependentComponent o = (StructureMapGroupRuleDependentComponent) other_; 6119 return compareValues(name, o.name, true) && compareValues(variable, o.variable, true); 6120 } 6121 6122 public boolean isEmpty() { 6123 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, variable); 6124 } 6125 6126 public String fhirType() { 6127 return "StructureMap.group.rule.dependent"; 6128 6129 } 6130 6131 } 6132 6133 /** 6134 * An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. 6135 */ 6136 @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) 6137 @Description(shortDefinition="Canonical identifier for this structure map, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers." ) 6138 protected UriType url; 6139 6140 /** 6141 * A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance. 6142 */ 6143 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6144 @Description(shortDefinition="Additional identifier for the structure map", formalDefinition="A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 6145 protected List<Identifier> identifier; 6146 6147 /** 6148 * The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 6149 */ 6150 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 6151 @Description(shortDefinition="Business version of the structure map", formalDefinition="The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) 6152 protected StringType version; 6153 6154 /** 6155 * A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation. 6156 */ 6157 @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) 6158 @Description(shortDefinition="Name for this structure map (computer friendly)", formalDefinition="A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 6159 protected StringType name; 6160 6161 /** 6162 * A short, descriptive, user-friendly title for the structure map. 6163 */ 6164 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 6165 @Description(shortDefinition="Name for this structure map (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the structure map." ) 6166 protected StringType title; 6167 6168 /** 6169 * The status of this structure map. Enables tracking the life-cycle of the content. 6170 */ 6171 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 6172 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this structure map. Enables tracking the life-cycle of the content." ) 6173 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 6174 protected Enumeration<PublicationStatus> status; 6175 6176 /** 6177 * A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 6178 */ 6179 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 6180 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 6181 protected BooleanType experimental; 6182 6183 /** 6184 * The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes. 6185 */ 6186 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 6187 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes." ) 6188 protected DateTimeType date; 6189 6190 /** 6191 * The name of the organization or individual that published the structure map. 6192 */ 6193 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 6194 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the structure map." ) 6195 protected StringType publisher; 6196 6197 /** 6198 * Contact details to assist a user in finding and communicating with the publisher. 6199 */ 6200 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6201 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 6202 protected List<ContactDetail> contact; 6203 6204 /** 6205 * A free text natural language description of the structure map from a consumer's perspective. 6206 */ 6207 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 6208 @Description(shortDefinition="Natural language description of the structure map", formalDefinition="A free text natural language description of the structure map from a consumer's perspective." ) 6209 protected MarkdownType description; 6210 6211 /** 6212 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances. 6213 */ 6214 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6215 @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances." ) 6216 protected List<UsageContext> useContext; 6217 6218 /** 6219 * A legal or geographic region in which the structure map is intended to be used. 6220 */ 6221 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6222 @Description(shortDefinition="Intended jurisdiction for structure map (if applicable)", formalDefinition="A legal or geographic region in which the structure map is intended to be used." ) 6223 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 6224 protected List<CodeableConcept> jurisdiction; 6225 6226 /** 6227 * Explanation of why this structure map is needed and why it has been designed as it has. 6228 */ 6229 @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) 6230 @Description(shortDefinition="Why this structure map is defined", formalDefinition="Explanation of why this structure map is needed and why it has been designed as it has." ) 6231 protected MarkdownType purpose; 6232 6233 /** 6234 * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. 6235 */ 6236 @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 6237 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map." ) 6238 protected MarkdownType copyright; 6239 6240 /** 6241 * A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced. 6242 */ 6243 @Child(name = "structure", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6244 @Description(shortDefinition="Structure Definition used by this map", formalDefinition="A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced." ) 6245 protected List<StructureMapStructureComponent> structure; 6246 6247 /** 6248 * Other maps used by this map (canonical URLs). 6249 */ 6250 @Child(name = "import", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6251 @Description(shortDefinition="Other maps used by this map (canonical URLs)", formalDefinition="Other maps used by this map (canonical URLs)." ) 6252 protected List<CanonicalType> import_; 6253 6254 /** 6255 * Organizes the mapping into manageable chunks for human review/ease of maintenance. 6256 */ 6257 @Child(name = "group", type = {}, order=17, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 6258 @Description(shortDefinition="Named sections for reader convenience", formalDefinition="Organizes the mapping into manageable chunks for human review/ease of maintenance." ) 6259 protected List<StructureMapGroupComponent> group; 6260 6261 private static final long serialVersionUID = 573973893L; 6262 6263 /** 6264 * Constructor 6265 */ 6266 public StructureMap() { 6267 super(); 6268 } 6269 6270 /** 6271 * Constructor 6272 */ 6273 public StructureMap(String url, String name, PublicationStatus status, StructureMapGroupComponent group) { 6274 super(); 6275 this.setUrl(url); 6276 this.setName(name); 6277 this.setStatus(status); 6278 this.addGroup(group); 6279 } 6280 6281 /** 6282 * @return {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 6283 */ 6284 public UriType getUrlElement() { 6285 if (this.url == null) 6286 if (Configuration.errorOnAutoCreate()) 6287 throw new Error("Attempt to auto-create StructureMap.url"); 6288 else if (Configuration.doAutoCreate()) 6289 this.url = new UriType(); // bb 6290 return this.url; 6291 } 6292 6293 public boolean hasUrlElement() { 6294 return this.url != null && !this.url.isEmpty(); 6295 } 6296 6297 public boolean hasUrl() { 6298 return this.url != null && !this.url.isEmpty(); 6299 } 6300 6301 /** 6302 * @param value {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 6303 */ 6304 public StructureMap setUrlElement(UriType value) { 6305 this.url = value; 6306 return this; 6307 } 6308 6309 /** 6310 * @return An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. 6311 */ 6312 public String getUrl() { 6313 return this.url == null ? null : this.url.getValue(); 6314 } 6315 6316 /** 6317 * @param value An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. 6318 */ 6319 public StructureMap setUrl(String value) { 6320 if (this.url == null) 6321 this.url = new UriType(); 6322 this.url.setValue(value); 6323 return this; 6324 } 6325 6326 /** 6327 * @return {@link #identifier} (A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.) 6328 */ 6329 public List<Identifier> getIdentifier() { 6330 if (this.identifier == null) 6331 this.identifier = new ArrayList<Identifier>(); 6332 return this.identifier; 6333 } 6334 6335 /** 6336 * @return Returns a reference to <code>this</code> for easy method chaining 6337 */ 6338 public StructureMap setIdentifier(List<Identifier> theIdentifier) { 6339 this.identifier = theIdentifier; 6340 return this; 6341 } 6342 6343 public boolean hasIdentifier() { 6344 if (this.identifier == null) 6345 return false; 6346 for (Identifier item : this.identifier) 6347 if (!item.isEmpty()) 6348 return true; 6349 return false; 6350 } 6351 6352 public Identifier addIdentifier() { //3 6353 Identifier t = new Identifier(); 6354 if (this.identifier == null) 6355 this.identifier = new ArrayList<Identifier>(); 6356 this.identifier.add(t); 6357 return t; 6358 } 6359 6360 public StructureMap addIdentifier(Identifier t) { //3 6361 if (t == null) 6362 return this; 6363 if (this.identifier == null) 6364 this.identifier = new ArrayList<Identifier>(); 6365 this.identifier.add(t); 6366 return this; 6367 } 6368 6369 /** 6370 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 6371 */ 6372 public Identifier getIdentifierFirstRep() { 6373 if (getIdentifier().isEmpty()) { 6374 addIdentifier(); 6375 } 6376 return getIdentifier().get(0); 6377 } 6378 6379 /** 6380 * @return {@link #version} (The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 6381 */ 6382 public StringType getVersionElement() { 6383 if (this.version == null) 6384 if (Configuration.errorOnAutoCreate()) 6385 throw new Error("Attempt to auto-create StructureMap.version"); 6386 else if (Configuration.doAutoCreate()) 6387 this.version = new StringType(); // bb 6388 return this.version; 6389 } 6390 6391 public boolean hasVersionElement() { 6392 return this.version != null && !this.version.isEmpty(); 6393 } 6394 6395 public boolean hasVersion() { 6396 return this.version != null && !this.version.isEmpty(); 6397 } 6398 6399 /** 6400 * @param value {@link #version} (The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 6401 */ 6402 public StructureMap setVersionElement(StringType value) { 6403 this.version = value; 6404 return this; 6405 } 6406 6407 /** 6408 * @return The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 6409 */ 6410 public String getVersion() { 6411 return this.version == null ? null : this.version.getValue(); 6412 } 6413 6414 /** 6415 * @param value The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 6416 */ 6417 public StructureMap setVersion(String value) { 6418 if (Utilities.noString(value)) 6419 this.version = null; 6420 else { 6421 if (this.version == null) 6422 this.version = new StringType(); 6423 this.version.setValue(value); 6424 } 6425 return this; 6426 } 6427 6428 /** 6429 * @return {@link #name} (A natural language name identifying the structure map. 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 6430 */ 6431 public StringType getNameElement() { 6432 if (this.name == null) 6433 if (Configuration.errorOnAutoCreate()) 6434 throw new Error("Attempt to auto-create StructureMap.name"); 6435 else if (Configuration.doAutoCreate()) 6436 this.name = new StringType(); // bb 6437 return this.name; 6438 } 6439 6440 public boolean hasNameElement() { 6441 return this.name != null && !this.name.isEmpty(); 6442 } 6443 6444 public boolean hasName() { 6445 return this.name != null && !this.name.isEmpty(); 6446 } 6447 6448 /** 6449 * @param value {@link #name} (A natural language name identifying the structure map. 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 6450 */ 6451 public StructureMap setNameElement(StringType value) { 6452 this.name = value; 6453 return this; 6454 } 6455 6456 /** 6457 * @return A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation. 6458 */ 6459 public String getName() { 6460 return this.name == null ? null : this.name.getValue(); 6461 } 6462 6463 /** 6464 * @param value A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation. 6465 */ 6466 public StructureMap setName(String value) { 6467 if (this.name == null) 6468 this.name = new StringType(); 6469 this.name.setValue(value); 6470 return this; 6471 } 6472 6473 /** 6474 * @return {@link #title} (A short, descriptive, user-friendly title for the structure map.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 6475 */ 6476 public StringType getTitleElement() { 6477 if (this.title == null) 6478 if (Configuration.errorOnAutoCreate()) 6479 throw new Error("Attempt to auto-create StructureMap.title"); 6480 else if (Configuration.doAutoCreate()) 6481 this.title = new StringType(); // bb 6482 return this.title; 6483 } 6484 6485 public boolean hasTitleElement() { 6486 return this.title != null && !this.title.isEmpty(); 6487 } 6488 6489 public boolean hasTitle() { 6490 return this.title != null && !this.title.isEmpty(); 6491 } 6492 6493 /** 6494 * @param value {@link #title} (A short, descriptive, user-friendly title for the structure map.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 6495 */ 6496 public StructureMap setTitleElement(StringType value) { 6497 this.title = value; 6498 return this; 6499 } 6500 6501 /** 6502 * @return A short, descriptive, user-friendly title for the structure map. 6503 */ 6504 public String getTitle() { 6505 return this.title == null ? null : this.title.getValue(); 6506 } 6507 6508 /** 6509 * @param value A short, descriptive, user-friendly title for the structure map. 6510 */ 6511 public StructureMap setTitle(String value) { 6512 if (Utilities.noString(value)) 6513 this.title = null; 6514 else { 6515 if (this.title == null) 6516 this.title = new StringType(); 6517 this.title.setValue(value); 6518 } 6519 return this; 6520 } 6521 6522 /** 6523 * @return {@link #status} (The status of this structure map. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 6524 */ 6525 public Enumeration<PublicationStatus> getStatusElement() { 6526 if (this.status == null) 6527 if (Configuration.errorOnAutoCreate()) 6528 throw new Error("Attempt to auto-create StructureMap.status"); 6529 else if (Configuration.doAutoCreate()) 6530 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 6531 return this.status; 6532 } 6533 6534 public boolean hasStatusElement() { 6535 return this.status != null && !this.status.isEmpty(); 6536 } 6537 6538 public boolean hasStatus() { 6539 return this.status != null && !this.status.isEmpty(); 6540 } 6541 6542 /** 6543 * @param value {@link #status} (The status of this structure map. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 6544 */ 6545 public StructureMap setStatusElement(Enumeration<PublicationStatus> value) { 6546 this.status = value; 6547 return this; 6548 } 6549 6550 /** 6551 * @return The status of this structure map. Enables tracking the life-cycle of the content. 6552 */ 6553 public PublicationStatus getStatus() { 6554 return this.status == null ? null : this.status.getValue(); 6555 } 6556 6557 /** 6558 * @param value The status of this structure map. Enables tracking the life-cycle of the content. 6559 */ 6560 public StructureMap setStatus(PublicationStatus value) { 6561 if (this.status == null) 6562 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 6563 this.status.setValue(value); 6564 return this; 6565 } 6566 6567 /** 6568 * @return {@link #experimental} (A Boolean value to indicate that this structure map 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 6569 */ 6570 public BooleanType getExperimentalElement() { 6571 if (this.experimental == null) 6572 if (Configuration.errorOnAutoCreate()) 6573 throw new Error("Attempt to auto-create StructureMap.experimental"); 6574 else if (Configuration.doAutoCreate()) 6575 this.experimental = new BooleanType(); // bb 6576 return this.experimental; 6577 } 6578 6579 public boolean hasExperimentalElement() { 6580 return this.experimental != null && !this.experimental.isEmpty(); 6581 } 6582 6583 public boolean hasExperimental() { 6584 return this.experimental != null && !this.experimental.isEmpty(); 6585 } 6586 6587 /** 6588 * @param value {@link #experimental} (A Boolean value to indicate that this structure map 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 6589 */ 6590 public StructureMap setExperimentalElement(BooleanType value) { 6591 this.experimental = value; 6592 return this; 6593 } 6594 6595 /** 6596 * @return A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 6597 */ 6598 public boolean getExperimental() { 6599 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 6600 } 6601 6602 /** 6603 * @param value A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 6604 */ 6605 public StructureMap setExperimental(boolean value) { 6606 if (this.experimental == null) 6607 this.experimental = new BooleanType(); 6608 this.experimental.setValue(value); 6609 return this; 6610 } 6611 6612 /** 6613 * @return {@link #date} (The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 6614 */ 6615 public DateTimeType getDateElement() { 6616 if (this.date == null) 6617 if (Configuration.errorOnAutoCreate()) 6618 throw new Error("Attempt to auto-create StructureMap.date"); 6619 else if (Configuration.doAutoCreate()) 6620 this.date = new DateTimeType(); // bb 6621 return this.date; 6622 } 6623 6624 public boolean hasDateElement() { 6625 return this.date != null && !this.date.isEmpty(); 6626 } 6627 6628 public boolean hasDate() { 6629 return this.date != null && !this.date.isEmpty(); 6630 } 6631 6632 /** 6633 * @param value {@link #date} (The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 6634 */ 6635 public StructureMap setDateElement(DateTimeType value) { 6636 this.date = value; 6637 return this; 6638 } 6639 6640 /** 6641 * @return The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes. 6642 */ 6643 public Date getDate() { 6644 return this.date == null ? null : this.date.getValue(); 6645 } 6646 6647 /** 6648 * @param value The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes. 6649 */ 6650 public StructureMap setDate(Date value) { 6651 if (value == null) 6652 this.date = null; 6653 else { 6654 if (this.date == null) 6655 this.date = new DateTimeType(); 6656 this.date.setValue(value); 6657 } 6658 return this; 6659 } 6660 6661 /** 6662 * @return {@link #publisher} (The name of the organization or individual that published the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 6663 */ 6664 public StringType getPublisherElement() { 6665 if (this.publisher == null) 6666 if (Configuration.errorOnAutoCreate()) 6667 throw new Error("Attempt to auto-create StructureMap.publisher"); 6668 else if (Configuration.doAutoCreate()) 6669 this.publisher = new StringType(); // bb 6670 return this.publisher; 6671 } 6672 6673 public boolean hasPublisherElement() { 6674 return this.publisher != null && !this.publisher.isEmpty(); 6675 } 6676 6677 public boolean hasPublisher() { 6678 return this.publisher != null && !this.publisher.isEmpty(); 6679 } 6680 6681 /** 6682 * @param value {@link #publisher} (The name of the organization or individual that published the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 6683 */ 6684 public StructureMap setPublisherElement(StringType value) { 6685 this.publisher = value; 6686 return this; 6687 } 6688 6689 /** 6690 * @return The name of the organization or individual that published the structure map. 6691 */ 6692 public String getPublisher() { 6693 return this.publisher == null ? null : this.publisher.getValue(); 6694 } 6695 6696 /** 6697 * @param value The name of the organization or individual that published the structure map. 6698 */ 6699 public StructureMap setPublisher(String value) { 6700 if (Utilities.noString(value)) 6701 this.publisher = null; 6702 else { 6703 if (this.publisher == null) 6704 this.publisher = new StringType(); 6705 this.publisher.setValue(value); 6706 } 6707 return this; 6708 } 6709 6710 /** 6711 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 6712 */ 6713 public List<ContactDetail> getContact() { 6714 if (this.contact == null) 6715 this.contact = new ArrayList<ContactDetail>(); 6716 return this.contact; 6717 } 6718 6719 /** 6720 * @return Returns a reference to <code>this</code> for easy method chaining 6721 */ 6722 public StructureMap setContact(List<ContactDetail> theContact) { 6723 this.contact = theContact; 6724 return this; 6725 } 6726 6727 public boolean hasContact() { 6728 if (this.contact == null) 6729 return false; 6730 for (ContactDetail item : this.contact) 6731 if (!item.isEmpty()) 6732 return true; 6733 return false; 6734 } 6735 6736 public ContactDetail addContact() { //3 6737 ContactDetail t = new ContactDetail(); 6738 if (this.contact == null) 6739 this.contact = new ArrayList<ContactDetail>(); 6740 this.contact.add(t); 6741 return t; 6742 } 6743 6744 public StructureMap addContact(ContactDetail t) { //3 6745 if (t == null) 6746 return this; 6747 if (this.contact == null) 6748 this.contact = new ArrayList<ContactDetail>(); 6749 this.contact.add(t); 6750 return this; 6751 } 6752 6753 /** 6754 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 6755 */ 6756 public ContactDetail getContactFirstRep() { 6757 if (getContact().isEmpty()) { 6758 addContact(); 6759 } 6760 return getContact().get(0); 6761 } 6762 6763 /** 6764 * @return {@link #description} (A free text natural language description of the structure map from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 6765 */ 6766 public MarkdownType getDescriptionElement() { 6767 if (this.description == null) 6768 if (Configuration.errorOnAutoCreate()) 6769 throw new Error("Attempt to auto-create StructureMap.description"); 6770 else if (Configuration.doAutoCreate()) 6771 this.description = new MarkdownType(); // bb 6772 return this.description; 6773 } 6774 6775 public boolean hasDescriptionElement() { 6776 return this.description != null && !this.description.isEmpty(); 6777 } 6778 6779 public boolean hasDescription() { 6780 return this.description != null && !this.description.isEmpty(); 6781 } 6782 6783 /** 6784 * @param value {@link #description} (A free text natural language description of the structure map from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 6785 */ 6786 public StructureMap setDescriptionElement(MarkdownType value) { 6787 this.description = value; 6788 return this; 6789 } 6790 6791 /** 6792 * @return A free text natural language description of the structure map from a consumer's perspective. 6793 */ 6794 public String getDescription() { 6795 return this.description == null ? null : this.description.getValue(); 6796 } 6797 6798 /** 6799 * @param value A free text natural language description of the structure map from a consumer's perspective. 6800 */ 6801 public StructureMap setDescription(String value) { 6802 if (value == null) 6803 this.description = null; 6804 else { 6805 if (this.description == null) 6806 this.description = new MarkdownType(); 6807 this.description.setValue(value); 6808 } 6809 return this; 6810 } 6811 6812 /** 6813 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.) 6814 */ 6815 public List<UsageContext> getUseContext() { 6816 if (this.useContext == null) 6817 this.useContext = new ArrayList<UsageContext>(); 6818 return this.useContext; 6819 } 6820 6821 /** 6822 * @return Returns a reference to <code>this</code> for easy method chaining 6823 */ 6824 public StructureMap setUseContext(List<UsageContext> theUseContext) { 6825 this.useContext = theUseContext; 6826 return this; 6827 } 6828 6829 public boolean hasUseContext() { 6830 if (this.useContext == null) 6831 return false; 6832 for (UsageContext item : this.useContext) 6833 if (!item.isEmpty()) 6834 return true; 6835 return false; 6836 } 6837 6838 public UsageContext addUseContext() { //3 6839 UsageContext t = new UsageContext(); 6840 if (this.useContext == null) 6841 this.useContext = new ArrayList<UsageContext>(); 6842 this.useContext.add(t); 6843 return t; 6844 } 6845 6846 public StructureMap addUseContext(UsageContext t) { //3 6847 if (t == null) 6848 return this; 6849 if (this.useContext == null) 6850 this.useContext = new ArrayList<UsageContext>(); 6851 this.useContext.add(t); 6852 return this; 6853 } 6854 6855 /** 6856 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 6857 */ 6858 public UsageContext getUseContextFirstRep() { 6859 if (getUseContext().isEmpty()) { 6860 addUseContext(); 6861 } 6862 return getUseContext().get(0); 6863 } 6864 6865 /** 6866 * @return {@link #jurisdiction} (A legal or geographic region in which the structure map is intended to be used.) 6867 */ 6868 public List<CodeableConcept> getJurisdiction() { 6869 if (this.jurisdiction == null) 6870 this.jurisdiction = new ArrayList<CodeableConcept>(); 6871 return this.jurisdiction; 6872 } 6873 6874 /** 6875 * @return Returns a reference to <code>this</code> for easy method chaining 6876 */ 6877 public StructureMap setJurisdiction(List<CodeableConcept> theJurisdiction) { 6878 this.jurisdiction = theJurisdiction; 6879 return this; 6880 } 6881 6882 public boolean hasJurisdiction() { 6883 if (this.jurisdiction == null) 6884 return false; 6885 for (CodeableConcept item : this.jurisdiction) 6886 if (!item.isEmpty()) 6887 return true; 6888 return false; 6889 } 6890 6891 public CodeableConcept addJurisdiction() { //3 6892 CodeableConcept t = new CodeableConcept(); 6893 if (this.jurisdiction == null) 6894 this.jurisdiction = new ArrayList<CodeableConcept>(); 6895 this.jurisdiction.add(t); 6896 return t; 6897 } 6898 6899 public StructureMap addJurisdiction(CodeableConcept t) { //3 6900 if (t == null) 6901 return this; 6902 if (this.jurisdiction == null) 6903 this.jurisdiction = new ArrayList<CodeableConcept>(); 6904 this.jurisdiction.add(t); 6905 return this; 6906 } 6907 6908 /** 6909 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 6910 */ 6911 public CodeableConcept getJurisdictionFirstRep() { 6912 if (getJurisdiction().isEmpty()) { 6913 addJurisdiction(); 6914 } 6915 return getJurisdiction().get(0); 6916 } 6917 6918 /** 6919 * @return {@link #purpose} (Explanation of why this structure map 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 6920 */ 6921 public MarkdownType getPurposeElement() { 6922 if (this.purpose == null) 6923 if (Configuration.errorOnAutoCreate()) 6924 throw new Error("Attempt to auto-create StructureMap.purpose"); 6925 else if (Configuration.doAutoCreate()) 6926 this.purpose = new MarkdownType(); // bb 6927 return this.purpose; 6928 } 6929 6930 public boolean hasPurposeElement() { 6931 return this.purpose != null && !this.purpose.isEmpty(); 6932 } 6933 6934 public boolean hasPurpose() { 6935 return this.purpose != null && !this.purpose.isEmpty(); 6936 } 6937 6938 /** 6939 * @param value {@link #purpose} (Explanation of why this structure map 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 6940 */ 6941 public StructureMap setPurposeElement(MarkdownType value) { 6942 this.purpose = value; 6943 return this; 6944 } 6945 6946 /** 6947 * @return Explanation of why this structure map is needed and why it has been designed as it has. 6948 */ 6949 public String getPurpose() { 6950 return this.purpose == null ? null : this.purpose.getValue(); 6951 } 6952 6953 /** 6954 * @param value Explanation of why this structure map is needed and why it has been designed as it has. 6955 */ 6956 public StructureMap setPurpose(String value) { 6957 if (value == null) 6958 this.purpose = null; 6959 else { 6960 if (this.purpose == null) 6961 this.purpose = new MarkdownType(); 6962 this.purpose.setValue(value); 6963 } 6964 return this; 6965 } 6966 6967 /** 6968 * @return {@link #copyright} (A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 6969 */ 6970 public MarkdownType getCopyrightElement() { 6971 if (this.copyright == null) 6972 if (Configuration.errorOnAutoCreate()) 6973 throw new Error("Attempt to auto-create StructureMap.copyright"); 6974 else if (Configuration.doAutoCreate()) 6975 this.copyright = new MarkdownType(); // bb 6976 return this.copyright; 6977 } 6978 6979 public boolean hasCopyrightElement() { 6980 return this.copyright != null && !this.copyright.isEmpty(); 6981 } 6982 6983 public boolean hasCopyright() { 6984 return this.copyright != null && !this.copyright.isEmpty(); 6985 } 6986 6987 /** 6988 * @param value {@link #copyright} (A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 6989 */ 6990 public StructureMap setCopyrightElement(MarkdownType value) { 6991 this.copyright = value; 6992 return this; 6993 } 6994 6995 /** 6996 * @return A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. 6997 */ 6998 public String getCopyright() { 6999 return this.copyright == null ? null : this.copyright.getValue(); 7000 } 7001 7002 /** 7003 * @param value A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. 7004 */ 7005 public StructureMap setCopyright(String value) { 7006 if (value == null) 7007 this.copyright = null; 7008 else { 7009 if (this.copyright == null) 7010 this.copyright = new MarkdownType(); 7011 this.copyright.setValue(value); 7012 } 7013 return this; 7014 } 7015 7016 /** 7017 * @return {@link #structure} (A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.) 7018 */ 7019 public List<StructureMapStructureComponent> getStructure() { 7020 if (this.structure == null) 7021 this.structure = new ArrayList<StructureMapStructureComponent>(); 7022 return this.structure; 7023 } 7024 7025 /** 7026 * @return Returns a reference to <code>this</code> for easy method chaining 7027 */ 7028 public StructureMap setStructure(List<StructureMapStructureComponent> theStructure) { 7029 this.structure = theStructure; 7030 return this; 7031 } 7032 7033 public boolean hasStructure() { 7034 if (this.structure == null) 7035 return false; 7036 for (StructureMapStructureComponent item : this.structure) 7037 if (!item.isEmpty()) 7038 return true; 7039 return false; 7040 } 7041 7042 public StructureMapStructureComponent addStructure() { //3 7043 StructureMapStructureComponent t = new StructureMapStructureComponent(); 7044 if (this.structure == null) 7045 this.structure = new ArrayList<StructureMapStructureComponent>(); 7046 this.structure.add(t); 7047 return t; 7048 } 7049 7050 public StructureMap addStructure(StructureMapStructureComponent t) { //3 7051 if (t == null) 7052 return this; 7053 if (this.structure == null) 7054 this.structure = new ArrayList<StructureMapStructureComponent>(); 7055 this.structure.add(t); 7056 return this; 7057 } 7058 7059 /** 7060 * @return The first repetition of repeating field {@link #structure}, creating it if it does not already exist {3} 7061 */ 7062 public StructureMapStructureComponent getStructureFirstRep() { 7063 if (getStructure().isEmpty()) { 7064 addStructure(); 7065 } 7066 return getStructure().get(0); 7067 } 7068 7069 /** 7070 * @return {@link #import_} (Other maps used by this map (canonical URLs).) 7071 */ 7072 public List<CanonicalType> getImport() { 7073 if (this.import_ == null) 7074 this.import_ = new ArrayList<CanonicalType>(); 7075 return this.import_; 7076 } 7077 7078 /** 7079 * @return Returns a reference to <code>this</code> for easy method chaining 7080 */ 7081 public StructureMap setImport(List<CanonicalType> theImport) { 7082 this.import_ = theImport; 7083 return this; 7084 } 7085 7086 public boolean hasImport() { 7087 if (this.import_ == null) 7088 return false; 7089 for (CanonicalType item : this.import_) 7090 if (!item.isEmpty()) 7091 return true; 7092 return false; 7093 } 7094 7095 /** 7096 * @return {@link #import_} (Other maps used by this map (canonical URLs).) 7097 */ 7098 public CanonicalType addImportElement() {//2 7099 CanonicalType t = new CanonicalType(); 7100 if (this.import_ == null) 7101 this.import_ = new ArrayList<CanonicalType>(); 7102 this.import_.add(t); 7103 return t; 7104 } 7105 7106 /** 7107 * @param value {@link #import_} (Other maps used by this map (canonical URLs).) 7108 */ 7109 public StructureMap addImport(String value) { //1 7110 CanonicalType t = new CanonicalType(); 7111 t.setValue(value); 7112 if (this.import_ == null) 7113 this.import_ = new ArrayList<CanonicalType>(); 7114 this.import_.add(t); 7115 return this; 7116 } 7117 7118 /** 7119 * @param value {@link #import_} (Other maps used by this map (canonical URLs).) 7120 */ 7121 public boolean hasImport(String value) { 7122 if (this.import_ == null) 7123 return false; 7124 for (CanonicalType v : this.import_) 7125 if (v.getValue().equals(value)) // canonical 7126 return true; 7127 return false; 7128 } 7129 7130 /** 7131 * @return {@link #group} (Organizes the mapping into manageable chunks for human review/ease of maintenance.) 7132 */ 7133 public List<StructureMapGroupComponent> getGroup() { 7134 if (this.group == null) 7135 this.group = new ArrayList<StructureMapGroupComponent>(); 7136 return this.group; 7137 } 7138 7139 /** 7140 * @return Returns a reference to <code>this</code> for easy method chaining 7141 */ 7142 public StructureMap setGroup(List<StructureMapGroupComponent> theGroup) { 7143 this.group = theGroup; 7144 return this; 7145 } 7146 7147 public boolean hasGroup() { 7148 if (this.group == null) 7149 return false; 7150 for (StructureMapGroupComponent item : this.group) 7151 if (!item.isEmpty()) 7152 return true; 7153 return false; 7154 } 7155 7156 public StructureMapGroupComponent addGroup() { //3 7157 StructureMapGroupComponent t = new StructureMapGroupComponent(); 7158 if (this.group == null) 7159 this.group = new ArrayList<StructureMapGroupComponent>(); 7160 this.group.add(t); 7161 return t; 7162 } 7163 7164 public StructureMap addGroup(StructureMapGroupComponent t) { //3 7165 if (t == null) 7166 return this; 7167 if (this.group == null) 7168 this.group = new ArrayList<StructureMapGroupComponent>(); 7169 this.group.add(t); 7170 return this; 7171 } 7172 7173 /** 7174 * @return The first repetition of repeating field {@link #group}, creating it if it does not already exist {3} 7175 */ 7176 public StructureMapGroupComponent getGroupFirstRep() { 7177 if (getGroup().isEmpty()) { 7178 addGroup(); 7179 } 7180 return getGroup().get(0); 7181 } 7182 7183 protected void listChildren(List<Property> children) { 7184 super.listChildren(children); 7185 children.add(new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url)); 7186 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 7187 children.add(new Property("version", "string", "The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 7188 children.add(new Property("name", "string", "A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 7189 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the structure map.", 0, 1, title)); 7190 children.add(new Property("status", "code", "The status of this structure map. Enables tracking the life-cycle of the content.", 0, 1, status)); 7191 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 7192 children.add(new Property("date", "dateTime", "The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.", 0, 1, date)); 7193 children.add(new Property("publisher", "string", "The name of the organization or individual that published the structure map.", 0, 1, publisher)); 7194 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)); 7195 children.add(new Property("description", "markdown", "A free text natural language description of the structure map from a consumer's perspective.", 0, 1, description)); 7196 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 7197 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 7198 children.add(new Property("purpose", "markdown", "Explanation of why this structure map is needed and why it has been designed as it has.", 0, 1, purpose)); 7199 children.add(new Property("copyright", "markdown", "A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.", 0, 1, copyright)); 7200 children.add(new Property("structure", "", "A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.", 0, java.lang.Integer.MAX_VALUE, structure)); 7201 children.add(new Property("import", "canonical(StructureMap)", "Other maps used by this map (canonical URLs).", 0, java.lang.Integer.MAX_VALUE, import_)); 7202 children.add(new Property("group", "", "Organizes the mapping into manageable chunks for human review/ease of maintenance.", 0, java.lang.Integer.MAX_VALUE, group)); 7203 } 7204 7205 @Override 7206 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7207 switch (_hash) { 7208 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url); 7209 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 7210 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 7211 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 7212 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the structure map.", 0, 1, title); 7213 case -892481550: /*status*/ return new Property("status", "code", "The status of this structure map. Enables tracking the life-cycle of the content.", 0, 1, status); 7214 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 7215 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.", 0, 1, date); 7216 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the structure map.", 0, 1, publisher); 7217 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); 7218 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the structure map from a consumer's perspective.", 0, 1, description); 7219 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 7220 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 7221 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this structure map is needed and why it has been designed as it has.", 0, 1, purpose); 7222 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.", 0, 1, copyright); 7223 case 144518515: /*structure*/ return new Property("structure", "", "A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.", 0, java.lang.Integer.MAX_VALUE, structure); 7224 case -1184795739: /*import*/ return new Property("import", "canonical(StructureMap)", "Other maps used by this map (canonical URLs).", 0, java.lang.Integer.MAX_VALUE, import_); 7225 case 98629247: /*group*/ return new Property("group", "", "Organizes the mapping into manageable chunks for human review/ease of maintenance.", 0, java.lang.Integer.MAX_VALUE, group); 7226 default: return super.getNamedProperty(_hash, _name, _checkValid); 7227 } 7228 7229 } 7230 7231 @Override 7232 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7233 switch (hash) { 7234 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 7235 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 7236 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 7237 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 7238 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 7239 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 7240 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 7241 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 7242 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 7243 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 7244 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 7245 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 7246 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 7247 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 7248 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 7249 case 144518515: /*structure*/ return this.structure == null ? new Base[0] : this.structure.toArray(new Base[this.structure.size()]); // StructureMapStructureComponent 7250 case -1184795739: /*import*/ return this.import_ == null ? new Base[0] : this.import_.toArray(new Base[this.import_.size()]); // CanonicalType 7251 case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // StructureMapGroupComponent 7252 default: return super.getProperty(hash, name, checkValid); 7253 } 7254 7255 } 7256 7257 @Override 7258 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7259 switch (hash) { 7260 case 116079: // url 7261 this.url = TypeConvertor.castToUri(value); // UriType 7262 return value; 7263 case -1618432855: // identifier 7264 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 7265 return value; 7266 case 351608024: // version 7267 this.version = TypeConvertor.castToString(value); // StringType 7268 return value; 7269 case 3373707: // name 7270 this.name = TypeConvertor.castToString(value); // StringType 7271 return value; 7272 case 110371416: // title 7273 this.title = TypeConvertor.castToString(value); // StringType 7274 return value; 7275 case -892481550: // status 7276 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 7277 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7278 return value; 7279 case -404562712: // experimental 7280 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 7281 return value; 7282 case 3076014: // date 7283 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 7284 return value; 7285 case 1447404028: // publisher 7286 this.publisher = TypeConvertor.castToString(value); // StringType 7287 return value; 7288 case 951526432: // contact 7289 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 7290 return value; 7291 case -1724546052: // description 7292 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 7293 return value; 7294 case -669707736: // useContext 7295 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 7296 return value; 7297 case -507075711: // jurisdiction 7298 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 7299 return value; 7300 case -220463842: // purpose 7301 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 7302 return value; 7303 case 1522889671: // copyright 7304 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 7305 return value; 7306 case 144518515: // structure 7307 this.getStructure().add((StructureMapStructureComponent) value); // StructureMapStructureComponent 7308 return value; 7309 case -1184795739: // import 7310 this.getImport().add(TypeConvertor.castToCanonical(value)); // CanonicalType 7311 return value; 7312 case 98629247: // group 7313 this.getGroup().add((StructureMapGroupComponent) value); // StructureMapGroupComponent 7314 return value; 7315 default: return super.setProperty(hash, name, value); 7316 } 7317 7318 } 7319 7320 @Override 7321 public Base setProperty(String name, Base value) throws FHIRException { 7322 if (name.equals("url")) { 7323 this.url = TypeConvertor.castToUri(value); // UriType 7324 } else if (name.equals("identifier")) { 7325 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 7326 } else if (name.equals("version")) { 7327 this.version = TypeConvertor.castToString(value); // StringType 7328 } else if (name.equals("name")) { 7329 this.name = TypeConvertor.castToString(value); // StringType 7330 } else if (name.equals("title")) { 7331 this.title = TypeConvertor.castToString(value); // StringType 7332 } else if (name.equals("status")) { 7333 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 7334 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 7335 } else if (name.equals("experimental")) { 7336 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 7337 } else if (name.equals("date")) { 7338 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 7339 } else if (name.equals("publisher")) { 7340 this.publisher = TypeConvertor.castToString(value); // StringType 7341 } else if (name.equals("contact")) { 7342 this.getContact().add(TypeConvertor.castToContactDetail(value)); 7343 } else if (name.equals("description")) { 7344 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 7345 } else if (name.equals("useContext")) { 7346 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 7347 } else if (name.equals("jurisdiction")) { 7348 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 7349 } else if (name.equals("purpose")) { 7350 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 7351 } else if (name.equals("copyright")) { 7352 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 7353 } else if (name.equals("structure")) { 7354 this.getStructure().add((StructureMapStructureComponent) value); 7355 } else if (name.equals("import")) { 7356 this.getImport().add(TypeConvertor.castToCanonical(value)); 7357 } else if (name.equals("group")) { 7358 this.getGroup().add((StructureMapGroupComponent) value); 7359 } else 7360 return super.setProperty(name, value); 7361 return value; 7362 } 7363 7364 @Override 7365 public Base makeProperty(int hash, String name) throws FHIRException { 7366 switch (hash) { 7367 case 116079: return getUrlElement(); 7368 case -1618432855: return addIdentifier(); 7369 case 351608024: return getVersionElement(); 7370 case 3373707: return getNameElement(); 7371 case 110371416: return getTitleElement(); 7372 case -892481550: return getStatusElement(); 7373 case -404562712: return getExperimentalElement(); 7374 case 3076014: return getDateElement(); 7375 case 1447404028: return getPublisherElement(); 7376 case 951526432: return addContact(); 7377 case -1724546052: return getDescriptionElement(); 7378 case -669707736: return addUseContext(); 7379 case -507075711: return addJurisdiction(); 7380 case -220463842: return getPurposeElement(); 7381 case 1522889671: return getCopyrightElement(); 7382 case 144518515: return addStructure(); 7383 case -1184795739: return addImportElement(); 7384 case 98629247: return addGroup(); 7385 default: return super.makeProperty(hash, name); 7386 } 7387 7388 } 7389 7390 @Override 7391 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7392 switch (hash) { 7393 case 116079: /*url*/ return new String[] {"uri"}; 7394 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 7395 case 351608024: /*version*/ return new String[] {"string"}; 7396 case 3373707: /*name*/ return new String[] {"string"}; 7397 case 110371416: /*title*/ return new String[] {"string"}; 7398 case -892481550: /*status*/ return new String[] {"code"}; 7399 case -404562712: /*experimental*/ return new String[] {"boolean"}; 7400 case 3076014: /*date*/ return new String[] {"dateTime"}; 7401 case 1447404028: /*publisher*/ return new String[] {"string"}; 7402 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 7403 case -1724546052: /*description*/ return new String[] {"markdown"}; 7404 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 7405 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 7406 case -220463842: /*purpose*/ return new String[] {"markdown"}; 7407 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 7408 case 144518515: /*structure*/ return new String[] {}; 7409 case -1184795739: /*import*/ return new String[] {"canonical"}; 7410 case 98629247: /*group*/ return new String[] {}; 7411 default: return super.getTypesForProperty(hash, name); 7412 } 7413 7414 } 7415 7416 @Override 7417 public Base addChild(String name) throws FHIRException { 7418 if (name.equals("url")) { 7419 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.url"); 7420 } 7421 else if (name.equals("identifier")) { 7422 return addIdentifier(); 7423 } 7424 else if (name.equals("version")) { 7425 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.version"); 7426 } 7427 else if (name.equals("name")) { 7428 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.name"); 7429 } 7430 else if (name.equals("title")) { 7431 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.title"); 7432 } 7433 else if (name.equals("status")) { 7434 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.status"); 7435 } 7436 else if (name.equals("experimental")) { 7437 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.experimental"); 7438 } 7439 else if (name.equals("date")) { 7440 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.date"); 7441 } 7442 else if (name.equals("publisher")) { 7443 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.publisher"); 7444 } 7445 else if (name.equals("contact")) { 7446 return addContact(); 7447 } 7448 else if (name.equals("description")) { 7449 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.description"); 7450 } 7451 else if (name.equals("useContext")) { 7452 return addUseContext(); 7453 } 7454 else if (name.equals("jurisdiction")) { 7455 return addJurisdiction(); 7456 } 7457 else if (name.equals("purpose")) { 7458 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.purpose"); 7459 } 7460 else if (name.equals("copyright")) { 7461 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.copyright"); 7462 } 7463 else if (name.equals("structure")) { 7464 return addStructure(); 7465 } 7466 else if (name.equals("import")) { 7467 throw new FHIRException("Cannot call addChild on a primitive type StructureMap.import"); 7468 } 7469 else if (name.equals("group")) { 7470 return addGroup(); 7471 } 7472 else 7473 return super.addChild(name); 7474 } 7475 7476 public String fhirType() { 7477 return "StructureMap"; 7478 7479 } 7480 7481 public StructureMap copy() { 7482 StructureMap dst = new StructureMap(); 7483 copyValues(dst); 7484 return dst; 7485 } 7486 7487 public void copyValues(StructureMap dst) { 7488 super.copyValues(dst); 7489 dst.url = url == null ? null : url.copy(); 7490 if (identifier != null) { 7491 dst.identifier = new ArrayList<Identifier>(); 7492 for (Identifier i : identifier) 7493 dst.identifier.add(i.copy()); 7494 }; 7495 dst.version = version == null ? null : version.copy(); 7496 dst.name = name == null ? null : name.copy(); 7497 dst.title = title == null ? null : title.copy(); 7498 dst.status = status == null ? null : status.copy(); 7499 dst.experimental = experimental == null ? null : experimental.copy(); 7500 dst.date = date == null ? null : date.copy(); 7501 dst.publisher = publisher == null ? null : publisher.copy(); 7502 if (contact != null) { 7503 dst.contact = new ArrayList<ContactDetail>(); 7504 for (ContactDetail i : contact) 7505 dst.contact.add(i.copy()); 7506 }; 7507 dst.description = description == null ? null : description.copy(); 7508 if (useContext != null) { 7509 dst.useContext = new ArrayList<UsageContext>(); 7510 for (UsageContext i : useContext) 7511 dst.useContext.add(i.copy()); 7512 }; 7513 if (jurisdiction != null) { 7514 dst.jurisdiction = new ArrayList<CodeableConcept>(); 7515 for (CodeableConcept i : jurisdiction) 7516 dst.jurisdiction.add(i.copy()); 7517 }; 7518 dst.purpose = purpose == null ? null : purpose.copy(); 7519 dst.copyright = copyright == null ? null : copyright.copy(); 7520 if (structure != null) { 7521 dst.structure = new ArrayList<StructureMapStructureComponent>(); 7522 for (StructureMapStructureComponent i : structure) 7523 dst.structure.add(i.copy()); 7524 }; 7525 if (import_ != null) { 7526 dst.import_ = new ArrayList<CanonicalType>(); 7527 for (CanonicalType i : import_) 7528 dst.import_.add(i.copy()); 7529 }; 7530 if (group != null) { 7531 dst.group = new ArrayList<StructureMapGroupComponent>(); 7532 for (StructureMapGroupComponent i : group) 7533 dst.group.add(i.copy()); 7534 }; 7535 } 7536 7537 protected StructureMap typedCopy() { 7538 return copy(); 7539 } 7540 7541 @Override 7542 public boolean equalsDeep(Base other_) { 7543 if (!super.equalsDeep(other_)) 7544 return false; 7545 if (!(other_ instanceof StructureMap)) 7546 return false; 7547 StructureMap o = (StructureMap) other_; 7548 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 7549 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 7550 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 7551 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 7552 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 7553 && compareDeep(structure, o.structure, true) && compareDeep(import_, o.import_, true) && compareDeep(group, o.group, true) 7554 ; 7555 } 7556 7557 @Override 7558 public boolean equalsShallow(Base other_) { 7559 if (!super.equalsShallow(other_)) 7560 return false; 7561 if (!(other_ instanceof StructureMap)) 7562 return false; 7563 StructureMap o = (StructureMap) other_; 7564 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 7565 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 7566 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 7567 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(import_, o.import_, true) 7568 ; 7569 } 7570 7571 public boolean isEmpty() { 7572 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 7573 , name, title, status, experimental, date, publisher, contact, description, useContext 7574 , jurisdiction, purpose, copyright, structure, import_, group); 7575 } 7576 7577 @Override 7578 public ResourceType getResourceType() { 7579 return ResourceType.StructureMap; 7580 } 7581 7582 /** 7583 * Search parameter: <b>context-quantity</b> 7584 * <p> 7585 * Description: <b>Multiple Resources: 7586 7587* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 7588* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 7589* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 7590* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 7591* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 7592* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 7593* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 7594* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 7595* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 7596* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 7597* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 7598* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 7599* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 7600* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 7601</b><br> 7602 * Type: <b>quantity</b><br> 7603 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 7604 * </p> 7605 */ 7606 @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" ) 7607 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 7608 /** 7609 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 7610 * <p> 7611 * Description: <b>Multiple Resources: 7612 7613* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 7614* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 7615* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 7616* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 7617* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 7618* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 7619* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 7620* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 7621* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 7622* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 7623* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 7624* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 7625* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 7626* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 7627</b><br> 7628 * Type: <b>quantity</b><br> 7629 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 7630 * </p> 7631 */ 7632 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 7633 7634 /** 7635 * Search parameter: <b>context-type-quantity</b> 7636 * <p> 7637 * Description: <b>Multiple Resources: 7638 7639* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 7640* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 7641* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 7642* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 7643* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 7644* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 7645* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 7646* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 7647* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 7648* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 7649* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 7650* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 7651* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 7652* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 7653</b><br> 7654 * Type: <b>composite</b><br> 7655 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 7656 * </p> 7657 */ 7658 @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} ) 7659 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 7660 /** 7661 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 7662 * <p> 7663 * Description: <b>Multiple Resources: 7664 7665* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 7666* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 7667* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 7668* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 7669* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 7670* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 7671* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 7672* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 7673* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 7674* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 7675* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 7676* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 7677* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 7678* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 7679</b><br> 7680 * Type: <b>composite</b><br> 7681 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 7682 * </p> 7683 */ 7684 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 7685 7686 /** 7687 * Search parameter: <b>context-type-value</b> 7688 * <p> 7689 * Description: <b>Multiple Resources: 7690 7691* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 7692* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 7693* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 7694* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 7695* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 7696* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 7697* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 7698* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 7699* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 7700* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 7701* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 7702* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 7703* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 7704* [ValueSet](valueset.html): A use context type and value assigned to the value set 7705</b><br> 7706 * Type: <b>composite</b><br> 7707 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 7708 * </p> 7709 */ 7710 @SearchParamDefinition(name="context-type-value", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} ) 7711 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 7712 /** 7713 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 7714 * <p> 7715 * Description: <b>Multiple Resources: 7716 7717* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 7718* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 7719* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 7720* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 7721* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 7722* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 7723* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 7724* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 7725* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 7726* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 7727* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 7728* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 7729* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 7730* [ValueSet](valueset.html): A use context type and value assigned to the value set 7731</b><br> 7732 * Type: <b>composite</b><br> 7733 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 7734 * </p> 7735 */ 7736 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 7737 7738 /** 7739 * Search parameter: <b>context-type</b> 7740 * <p> 7741 * Description: <b>Multiple Resources: 7742 7743* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 7744* [CodeSystem](codesystem.html): A type of use context assigned to the code system 7745* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 7746* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 7747* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 7748* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 7749* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 7750* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 7751* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 7752* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 7753* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 7754* [StructureMap](structuremap.html): A type of use context assigned to the structure map 7755* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 7756* [ValueSet](valueset.html): A type of use context assigned to the value set 7757</b><br> 7758 * Type: <b>token</b><br> 7759 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 7760 * </p> 7761 */ 7762 @SearchParamDefinition(name="context-type", path="CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" ) 7763 public static final String SP_CONTEXT_TYPE = "context-type"; 7764 /** 7765 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 7766 * <p> 7767 * Description: <b>Multiple Resources: 7768 7769* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 7770* [CodeSystem](codesystem.html): A type of use context assigned to the code system 7771* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 7772* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 7773* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 7774* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 7775* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 7776* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 7777* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 7778* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 7779* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 7780* [StructureMap](structuremap.html): A type of use context assigned to the structure map 7781* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 7782* [ValueSet](valueset.html): A type of use context assigned to the value set 7783</b><br> 7784 * Type: <b>token</b><br> 7785 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 7786 * </p> 7787 */ 7788 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 7789 7790 /** 7791 * Search parameter: <b>context</b> 7792 * <p> 7793 * Description: <b>Multiple Resources: 7794 7795* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 7796* [CodeSystem](codesystem.html): A use context assigned to the code system 7797* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 7798* [ConceptMap](conceptmap.html): A use context assigned to the concept map 7799* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 7800* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 7801* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 7802* [NamingSystem](namingsystem.html): A use context assigned to the naming system 7803* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 7804* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 7805* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 7806* [StructureMap](structuremap.html): A use context assigned to the structure map 7807* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 7808* [ValueSet](valueset.html): A use context assigned to the value set 7809</b><br> 7810 * Type: <b>token</b><br> 7811 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 7812 * </p> 7813 */ 7814 @SearchParamDefinition(name="context", path="(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" ) 7815 public static final String SP_CONTEXT = "context"; 7816 /** 7817 * <b>Fluent Client</b> search parameter constant for <b>context</b> 7818 * <p> 7819 * Description: <b>Multiple Resources: 7820 7821* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 7822* [CodeSystem](codesystem.html): A use context assigned to the code system 7823* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 7824* [ConceptMap](conceptmap.html): A use context assigned to the concept map 7825* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 7826* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 7827* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 7828* [NamingSystem](namingsystem.html): A use context assigned to the naming system 7829* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 7830* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 7831* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 7832* [StructureMap](structuremap.html): A use context assigned to the structure map 7833* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 7834* [ValueSet](valueset.html): A use context assigned to the value set 7835</b><br> 7836 * Type: <b>token</b><br> 7837 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 7838 * </p> 7839 */ 7840 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 7841 7842 /** 7843 * Search parameter: <b>date</b> 7844 * <p> 7845 * Description: <b>Multiple Resources: 7846 7847* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 7848* [CodeSystem](codesystem.html): The code system publication date 7849* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 7850* [ConceptMap](conceptmap.html): The concept map publication date 7851* [GraphDefinition](graphdefinition.html): The graph definition publication date 7852* [ImplementationGuide](implementationguide.html): The implementation guide publication date 7853* [MessageDefinition](messagedefinition.html): The message definition publication date 7854* [NamingSystem](namingsystem.html): The naming system publication date 7855* [OperationDefinition](operationdefinition.html): The operation definition publication date 7856* [SearchParameter](searchparameter.html): The search parameter publication date 7857* [StructureDefinition](structuredefinition.html): The structure definition publication date 7858* [StructureMap](structuremap.html): The structure map publication date 7859* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 7860* [ValueSet](valueset.html): The value set publication date 7861</b><br> 7862 * Type: <b>date</b><br> 7863 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 7864 * </p> 7865 */ 7866 @SearchParamDefinition(name="date", path="CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" ) 7867 public static final String SP_DATE = "date"; 7868 /** 7869 * <b>Fluent Client</b> search parameter constant for <b>date</b> 7870 * <p> 7871 * Description: <b>Multiple Resources: 7872 7873* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 7874* [CodeSystem](codesystem.html): The code system publication date 7875* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 7876* [ConceptMap](conceptmap.html): The concept map publication date 7877* [GraphDefinition](graphdefinition.html): The graph definition publication date 7878* [ImplementationGuide](implementationguide.html): The implementation guide publication date 7879* [MessageDefinition](messagedefinition.html): The message definition publication date 7880* [NamingSystem](namingsystem.html): The naming system publication date 7881* [OperationDefinition](operationdefinition.html): The operation definition publication date 7882* [SearchParameter](searchparameter.html): The search parameter publication date 7883* [StructureDefinition](structuredefinition.html): The structure definition publication date 7884* [StructureMap](structuremap.html): The structure map publication date 7885* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 7886* [ValueSet](valueset.html): The value set publication date 7887</b><br> 7888 * Type: <b>date</b><br> 7889 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 7890 * </p> 7891 */ 7892 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 7893 7894 /** 7895 * Search parameter: <b>description</b> 7896 * <p> 7897 * Description: <b>Multiple Resources: 7898 7899* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 7900* [CodeSystem](codesystem.html): The description of the code system 7901* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 7902* [ConceptMap](conceptmap.html): The description of the concept map 7903* [GraphDefinition](graphdefinition.html): The description of the graph definition 7904* [ImplementationGuide](implementationguide.html): The description of the implementation guide 7905* [MessageDefinition](messagedefinition.html): The description of the message definition 7906* [NamingSystem](namingsystem.html): The description of the naming system 7907* [OperationDefinition](operationdefinition.html): The description of the operation definition 7908* [SearchParameter](searchparameter.html): The description of the search parameter 7909* [StructureDefinition](structuredefinition.html): The description of the structure definition 7910* [StructureMap](structuremap.html): The description of the structure map 7911* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 7912* [ValueSet](valueset.html): The description of the value set 7913</b><br> 7914 * Type: <b>string</b><br> 7915 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 7916 * </p> 7917 */ 7918 @SearchParamDefinition(name="description", path="CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" ) 7919 public static final String SP_DESCRIPTION = "description"; 7920 /** 7921 * <b>Fluent Client</b> search parameter constant for <b>description</b> 7922 * <p> 7923 * Description: <b>Multiple Resources: 7924 7925* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 7926* [CodeSystem](codesystem.html): The description of the code system 7927* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 7928* [ConceptMap](conceptmap.html): The description of the concept map 7929* [GraphDefinition](graphdefinition.html): The description of the graph definition 7930* [ImplementationGuide](implementationguide.html): The description of the implementation guide 7931* [MessageDefinition](messagedefinition.html): The description of the message definition 7932* [NamingSystem](namingsystem.html): The description of the naming system 7933* [OperationDefinition](operationdefinition.html): The description of the operation definition 7934* [SearchParameter](searchparameter.html): The description of the search parameter 7935* [StructureDefinition](structuredefinition.html): The description of the structure definition 7936* [StructureMap](structuremap.html): The description of the structure map 7937* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 7938* [ValueSet](valueset.html): The description of the value set 7939</b><br> 7940 * Type: <b>string</b><br> 7941 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 7942 * </p> 7943 */ 7944 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 7945 7946 /** 7947 * Search parameter: <b>identifier</b> 7948 * <p> 7949 * Description: <b>Multiple Resources: 7950 7951* [CodeSystem](codesystem.html): External identifier for the code system 7952* [ConceptMap](conceptmap.html): External identifier for the concept map 7953* [MessageDefinition](messagedefinition.html): External identifier for the message definition 7954* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 7955* [StructureMap](structuremap.html): External identifier for the structure map 7956* [ValueSet](valueset.html): External identifier for the value set 7957</b><br> 7958 * Type: <b>token</b><br> 7959 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 7960 * </p> 7961 */ 7962 @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 7963 public static final String SP_IDENTIFIER = "identifier"; 7964 /** 7965 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 7966 * <p> 7967 * Description: <b>Multiple Resources: 7968 7969* [CodeSystem](codesystem.html): External identifier for the code system 7970* [ConceptMap](conceptmap.html): External identifier for the concept map 7971* [MessageDefinition](messagedefinition.html): External identifier for the message definition 7972* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 7973* [StructureMap](structuremap.html): External identifier for the structure map 7974* [ValueSet](valueset.html): External identifier for the value set 7975</b><br> 7976 * Type: <b>token</b><br> 7977 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 7978 * </p> 7979 */ 7980 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 7981 7982 /** 7983 * Search parameter: <b>jurisdiction</b> 7984 * <p> 7985 * Description: <b>Multiple Resources: 7986 7987* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 7988* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 7989* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 7990* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 7991* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 7992* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 7993* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 7994* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 7995* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 7996* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 7997* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 7998* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 7999* [ValueSet](valueset.html): Intended jurisdiction for the value set 8000</b><br> 8001 * Type: <b>token</b><br> 8002 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 8003 * </p> 8004 */ 8005 @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" ) 8006 public static final String SP_JURISDICTION = "jurisdiction"; 8007 /** 8008 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 8009 * <p> 8010 * Description: <b>Multiple Resources: 8011 8012* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 8013* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 8014* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 8015* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 8016* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 8017* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 8018* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 8019* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 8020* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 8021* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 8022* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 8023* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 8024* [ValueSet](valueset.html): Intended jurisdiction for the value set 8025</b><br> 8026 * Type: <b>token</b><br> 8027 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 8028 * </p> 8029 */ 8030 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 8031 8032 /** 8033 * Search parameter: <b>name</b> 8034 * <p> 8035 * Description: <b>Multiple Resources: 8036 8037* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 8038* [CodeSystem](codesystem.html): Computationally friendly name of the code system 8039* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 8040* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 8041* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 8042* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 8043* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 8044* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 8045* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 8046* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 8047* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 8048* [StructureMap](structuremap.html): Computationally friendly name of the structure map 8049* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 8050* [ValueSet](valueset.html): Computationally friendly name of the value set 8051</b><br> 8052 * Type: <b>string</b><br> 8053 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 8054 * </p> 8055 */ 8056 @SearchParamDefinition(name="name", path="CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" ) 8057 public static final String SP_NAME = "name"; 8058 /** 8059 * <b>Fluent Client</b> search parameter constant for <b>name</b> 8060 * <p> 8061 * Description: <b>Multiple Resources: 8062 8063* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 8064* [CodeSystem](codesystem.html): Computationally friendly name of the code system 8065* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 8066* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 8067* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 8068* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 8069* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 8070* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 8071* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 8072* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 8073* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 8074* [StructureMap](structuremap.html): Computationally friendly name of the structure map 8075* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 8076* [ValueSet](valueset.html): Computationally friendly name of the value set 8077</b><br> 8078 * Type: <b>string</b><br> 8079 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 8080 * </p> 8081 */ 8082 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 8083 8084 /** 8085 * Search parameter: <b>publisher</b> 8086 * <p> 8087 * Description: <b>Multiple Resources: 8088 8089* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 8090* [CodeSystem](codesystem.html): Name of the publisher of the code system 8091* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 8092* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 8093* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 8094* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 8095* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 8096* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 8097* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 8098* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 8099* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 8100* [StructureMap](structuremap.html): Name of the publisher of the structure map 8101* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 8102* [ValueSet](valueset.html): Name of the publisher of the value set 8103</b><br> 8104 * Type: <b>string</b><br> 8105 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 8106 * </p> 8107 */ 8108 @SearchParamDefinition(name="publisher", path="CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" ) 8109 public static final String SP_PUBLISHER = "publisher"; 8110 /** 8111 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 8112 * <p> 8113 * Description: <b>Multiple Resources: 8114 8115* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 8116* [CodeSystem](codesystem.html): Name of the publisher of the code system 8117* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 8118* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 8119* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 8120* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 8121* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 8122* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 8123* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 8124* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 8125* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 8126* [StructureMap](structuremap.html): Name of the publisher of the structure map 8127* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 8128* [ValueSet](valueset.html): Name of the publisher of the value set 8129</b><br> 8130 * Type: <b>string</b><br> 8131 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 8132 * </p> 8133 */ 8134 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 8135 8136 /** 8137 * Search parameter: <b>status</b> 8138 * <p> 8139 * Description: <b>Multiple Resources: 8140 8141* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 8142* [CodeSystem](codesystem.html): The current status of the code system 8143* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 8144* [ConceptMap](conceptmap.html): The current status of the concept map 8145* [GraphDefinition](graphdefinition.html): The current status of the graph definition 8146* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 8147* [MessageDefinition](messagedefinition.html): The current status of the message definition 8148* [NamingSystem](namingsystem.html): The current status of the naming system 8149* [OperationDefinition](operationdefinition.html): The current status of the operation definition 8150* [SearchParameter](searchparameter.html): The current status of the search parameter 8151* [StructureDefinition](structuredefinition.html): The current status of the structure definition 8152* [StructureMap](structuremap.html): The current status of the structure map 8153* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 8154* [ValueSet](valueset.html): The current status of the value set 8155</b><br> 8156 * Type: <b>token</b><br> 8157 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 8158 * </p> 8159 */ 8160 @SearchParamDefinition(name="status", path="CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 8161 public static final String SP_STATUS = "status"; 8162 /** 8163 * <b>Fluent Client</b> search parameter constant for <b>status</b> 8164 * <p> 8165 * Description: <b>Multiple Resources: 8166 8167* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 8168* [CodeSystem](codesystem.html): The current status of the code system 8169* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 8170* [ConceptMap](conceptmap.html): The current status of the concept map 8171* [GraphDefinition](graphdefinition.html): The current status of the graph definition 8172* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 8173* [MessageDefinition](messagedefinition.html): The current status of the message definition 8174* [NamingSystem](namingsystem.html): The current status of the naming system 8175* [OperationDefinition](operationdefinition.html): The current status of the operation definition 8176* [SearchParameter](searchparameter.html): The current status of the search parameter 8177* [StructureDefinition](structuredefinition.html): The current status of the structure definition 8178* [StructureMap](structuremap.html): The current status of the structure map 8179* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 8180* [ValueSet](valueset.html): The current status of the value set 8181</b><br> 8182 * Type: <b>token</b><br> 8183 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 8184 * </p> 8185 */ 8186 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 8187 8188 /** 8189 * Search parameter: <b>title</b> 8190 * <p> 8191 * Description: <b>Multiple Resources: 8192 8193* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 8194* [CodeSystem](codesystem.html): The human-friendly name of the code system 8195* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 8196* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 8197* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 8198* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 8199* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 8200* [StructureMap](structuremap.html): The human-friendly name of the structure map 8201* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 8202* [ValueSet](valueset.html): The human-friendly name of the value set 8203</b><br> 8204 * Type: <b>string</b><br> 8205 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 8206 * </p> 8207 */ 8208 @SearchParamDefinition(name="title", path="CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\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* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\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* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 8209 public static final String SP_TITLE = "title"; 8210 /** 8211 * <b>Fluent Client</b> search parameter constant for <b>title</b> 8212 * <p> 8213 * Description: <b>Multiple Resources: 8214 8215* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 8216* [CodeSystem](codesystem.html): The human-friendly name of the code system 8217* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 8218* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 8219* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 8220* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 8221* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 8222* [StructureMap](structuremap.html): The human-friendly name of the structure map 8223* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 8224* [ValueSet](valueset.html): The human-friendly name of the value set 8225</b><br> 8226 * Type: <b>string</b><br> 8227 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 8228 * </p> 8229 */ 8230 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 8231 8232 /** 8233 * Search parameter: <b>url</b> 8234 * <p> 8235 * Description: <b>Multiple Resources: 8236 8237* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 8238* [CodeSystem](codesystem.html): The uri that identifies the code system 8239* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 8240* [ConceptMap](conceptmap.html): The uri that identifies the concept map 8241* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 8242* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 8243* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 8244* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 8245* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 8246* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 8247* [StructureMap](structuremap.html): The uri that identifies the structure map 8248* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 8249* [ValueSet](valueset.html): The uri that identifies the value set 8250</b><br> 8251 * Type: <b>uri</b><br> 8252 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 8253 * </p> 8254 */ 8255 @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 8256 public static final String SP_URL = "url"; 8257 /** 8258 * <b>Fluent Client</b> search parameter constant for <b>url</b> 8259 * <p> 8260 * Description: <b>Multiple Resources: 8261 8262* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 8263* [CodeSystem](codesystem.html): The uri that identifies the code system 8264* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 8265* [ConceptMap](conceptmap.html): The uri that identifies the concept map 8266* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 8267* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 8268* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 8269* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 8270* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 8271* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 8272* [StructureMap](structuremap.html): The uri that identifies the structure map 8273* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 8274* [ValueSet](valueset.html): The uri that identifies the value set 8275</b><br> 8276 * Type: <b>uri</b><br> 8277 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 8278 * </p> 8279 */ 8280 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 8281 8282 /** 8283 * Search parameter: <b>version</b> 8284 * <p> 8285 * Description: <b>Multiple Resources: 8286 8287* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 8288* [CodeSystem](codesystem.html): The business version of the code system 8289* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 8290* [ConceptMap](conceptmap.html): The business version of the concept map 8291* [GraphDefinition](graphdefinition.html): The business version of the graph definition 8292* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 8293* [MessageDefinition](messagedefinition.html): The business version of the message definition 8294* [OperationDefinition](operationdefinition.html): The business version of the operation definition 8295* [SearchParameter](searchparameter.html): The business version of the search parameter 8296* [StructureDefinition](structuredefinition.html): The business version of the structure definition 8297* [StructureMap](structuremap.html): The business version of the structure map 8298* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 8299* [ValueSet](valueset.html): The business version of the value set 8300</b><br> 8301 * Type: <b>token</b><br> 8302 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 8303 * </p> 8304 */ 8305 @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" ) 8306 public static final String SP_VERSION = "version"; 8307 /** 8308 * <b>Fluent Client</b> search parameter constant for <b>version</b> 8309 * <p> 8310 * Description: <b>Multiple Resources: 8311 8312* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 8313* [CodeSystem](codesystem.html): The business version of the code system 8314* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 8315* [ConceptMap](conceptmap.html): The business version of the concept map 8316* [GraphDefinition](graphdefinition.html): The business version of the graph definition 8317* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 8318* [MessageDefinition](messagedefinition.html): The business version of the message definition 8319* [OperationDefinition](operationdefinition.html): The business version of the operation definition 8320* [SearchParameter](searchparameter.html): The business version of the search parameter 8321* [StructureDefinition](structuredefinition.html): The business version of the structure definition 8322* [StructureMap](structuremap.html): The business version of the structure map 8323* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 8324* [ValueSet](valueset.html): The business version of the value set 8325</b><br> 8326 * Type: <b>token</b><br> 8327 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 8328 * </p> 8329 */ 8330 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 8331 8332// Manual code (from Configuration.txt): 8333public String toString() { 8334 return StructureMapUtilities.render(this); 8335 } 8336// end addition 8337 8338} 8339