001package org.hl7.fhir.dstu2016may.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.dstu2016may.model.Enumerations.ConceptMapEquivalence; 038import org.hl7.fhir.dstu2016may.model.Enumerations.ConceptMapEquivalenceEnumFactory; 039import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatus; 040import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatusEnumFactory; 041import org.hl7.fhir.exceptions.FHIRException; 042import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 043import org.hl7.fhir.utilities.Utilities; 044 045import ca.uhn.fhir.model.api.annotation.Block; 046import ca.uhn.fhir.model.api.annotation.Child; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.ResourceDef; 049import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 050/** 051 * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models. 052 */ 053@ResourceDef(name="ConceptMap", profile="http://hl7.org/fhir/Profile/ConceptMap") 054public class ConceptMap extends DomainResource { 055 056 @Block() 057 public static class ConceptMapContactComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * The name of an individual to contact regarding the concept map. 060 */ 061 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="Name of an individual to contact", formalDefinition="The name of an individual to contact regarding the concept map." ) 063 protected StringType name; 064 065 /** 066 * Contact details for individual (if a name was provided) or the publisher. 067 */ 068 @Child(name = "telecom", type = {ContactPoint.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 069 @Description(shortDefinition="Contact details for individual or publisher", formalDefinition="Contact details for individual (if a name was provided) or the publisher." ) 070 protected List<ContactPoint> telecom; 071 072 private static final long serialVersionUID = -1179697803L; 073 074 /** 075 * Constructor 076 */ 077 public ConceptMapContactComponent() { 078 super(); 079 } 080 081 /** 082 * @return {@link #name} (The name of an individual to contact regarding the concept map.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 083 */ 084 public StringType getNameElement() { 085 if (this.name == null) 086 if (Configuration.errorOnAutoCreate()) 087 throw new Error("Attempt to auto-create ConceptMapContactComponent.name"); 088 else if (Configuration.doAutoCreate()) 089 this.name = new StringType(); // bb 090 return this.name; 091 } 092 093 public boolean hasNameElement() { 094 return this.name != null && !this.name.isEmpty(); 095 } 096 097 public boolean hasName() { 098 return this.name != null && !this.name.isEmpty(); 099 } 100 101 /** 102 * @param value {@link #name} (The name of an individual to contact regarding the concept map.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 103 */ 104 public ConceptMapContactComponent setNameElement(StringType value) { 105 this.name = value; 106 return this; 107 } 108 109 /** 110 * @return The name of an individual to contact regarding the concept map. 111 */ 112 public String getName() { 113 return this.name == null ? null : this.name.getValue(); 114 } 115 116 /** 117 * @param value The name of an individual to contact regarding the concept map. 118 */ 119 public ConceptMapContactComponent setName(String value) { 120 if (Utilities.noString(value)) 121 this.name = null; 122 else { 123 if (this.name == null) 124 this.name = new StringType(); 125 this.name.setValue(value); 126 } 127 return this; 128 } 129 130 /** 131 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 132 */ 133 public List<ContactPoint> getTelecom() { 134 if (this.telecom == null) 135 this.telecom = new ArrayList<ContactPoint>(); 136 return this.telecom; 137 } 138 139 public boolean hasTelecom() { 140 if (this.telecom == null) 141 return false; 142 for (ContactPoint item : this.telecom) 143 if (!item.isEmpty()) 144 return true; 145 return false; 146 } 147 148 /** 149 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 150 */ 151 // syntactic sugar 152 public ContactPoint addTelecom() { //3 153 ContactPoint t = new ContactPoint(); 154 if (this.telecom == null) 155 this.telecom = new ArrayList<ContactPoint>(); 156 this.telecom.add(t); 157 return t; 158 } 159 160 // syntactic sugar 161 public ConceptMapContactComponent addTelecom(ContactPoint t) { //3 162 if (t == null) 163 return this; 164 if (this.telecom == null) 165 this.telecom = new ArrayList<ContactPoint>(); 166 this.telecom.add(t); 167 return this; 168 } 169 170 protected void listChildren(List<Property> childrenList) { 171 super.listChildren(childrenList); 172 childrenList.add(new Property("name", "string", "The name of an individual to contact regarding the concept map.", 0, java.lang.Integer.MAX_VALUE, name)); 173 childrenList.add(new Property("telecom", "ContactPoint", "Contact details for individual (if a name was provided) or the publisher.", 0, java.lang.Integer.MAX_VALUE, telecom)); 174 } 175 176 @Override 177 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 178 switch (hash) { 179 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 180 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 181 default: return super.getProperty(hash, name, checkValid); 182 } 183 184 } 185 186 @Override 187 public void setProperty(int hash, String name, Base value) throws FHIRException { 188 switch (hash) { 189 case 3373707: // name 190 this.name = castToString(value); // StringType 191 break; 192 case -1429363305: // telecom 193 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 194 break; 195 default: super.setProperty(hash, name, value); 196 } 197 198 } 199 200 @Override 201 public void setProperty(String name, Base value) throws FHIRException { 202 if (name.equals("name")) 203 this.name = castToString(value); // StringType 204 else if (name.equals("telecom")) 205 this.getTelecom().add(castToContactPoint(value)); 206 else 207 super.setProperty(name, value); 208 } 209 210 @Override 211 public Base makeProperty(int hash, String name) throws FHIRException { 212 switch (hash) { 213 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 214 case -1429363305: return addTelecom(); // ContactPoint 215 default: return super.makeProperty(hash, name); 216 } 217 218 } 219 220 @Override 221 public Base addChild(String name) throws FHIRException { 222 if (name.equals("name")) { 223 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.name"); 224 } 225 else if (name.equals("telecom")) { 226 return addTelecom(); 227 } 228 else 229 return super.addChild(name); 230 } 231 232 public ConceptMapContactComponent copy() { 233 ConceptMapContactComponent dst = new ConceptMapContactComponent(); 234 copyValues(dst); 235 dst.name = name == null ? null : name.copy(); 236 if (telecom != null) { 237 dst.telecom = new ArrayList<ContactPoint>(); 238 for (ContactPoint i : telecom) 239 dst.telecom.add(i.copy()); 240 }; 241 return dst; 242 } 243 244 @Override 245 public boolean equalsDeep(Base other) { 246 if (!super.equalsDeep(other)) 247 return false; 248 if (!(other instanceof ConceptMapContactComponent)) 249 return false; 250 ConceptMapContactComponent o = (ConceptMapContactComponent) other; 251 return compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true); 252 } 253 254 @Override 255 public boolean equalsShallow(Base other) { 256 if (!super.equalsShallow(other)) 257 return false; 258 if (!(other instanceof ConceptMapContactComponent)) 259 return false; 260 ConceptMapContactComponent o = (ConceptMapContactComponent) other; 261 return compareValues(name, o.name, true); 262 } 263 264 public boolean isEmpty() { 265 return super.isEmpty() && (name == null || name.isEmpty()) && (telecom == null || telecom.isEmpty()) 266 ; 267 } 268 269 public String fhirType() { 270 return "ConceptMap.contact"; 271 272 } 273 274 } 275 276 @Block() 277 public static class SourceElementComponent extends BackboneElement implements IBaseBackboneElement { 278 /** 279 * An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 280 */ 281 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 282 @Description(shortDefinition="Code System (if value set crosses code systems)", formalDefinition="An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system)." ) 283 protected UriType system; 284 285 /** 286 * The specific version of the code system, as determined by the code system authority. 287 */ 288 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 289 @Description(shortDefinition="Specific version of the code system", formalDefinition="The specific version of the code system, as determined by the code system authority." ) 290 protected StringType version; 291 292 /** 293 * Identity (code or path) or the element/item being mapped. 294 */ 295 @Child(name = "code", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 296 @Description(shortDefinition="Identifies element being mapped", formalDefinition="Identity (code or path) or the element/item being mapped." ) 297 protected CodeType code; 298 299 /** 300 * A concept from the target value set that this concept maps to. 301 */ 302 @Child(name = "target", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 303 @Description(shortDefinition="Concept in target system for element", formalDefinition="A concept from the target value set that this concept maps to." ) 304 protected List<TargetElementComponent> target; 305 306 private static final long serialVersionUID = -387093487L; 307 308 /** 309 * Constructor 310 */ 311 public SourceElementComponent() { 312 super(); 313 } 314 315 /** 316 * @return {@link #system} (An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 317 */ 318 public UriType getSystemElement() { 319 if (this.system == null) 320 if (Configuration.errorOnAutoCreate()) 321 throw new Error("Attempt to auto-create SourceElementComponent.system"); 322 else if (Configuration.doAutoCreate()) 323 this.system = new UriType(); // bb 324 return this.system; 325 } 326 327 public boolean hasSystemElement() { 328 return this.system != null && !this.system.isEmpty(); 329 } 330 331 public boolean hasSystem() { 332 return this.system != null && !this.system.isEmpty(); 333 } 334 335 /** 336 * @param value {@link #system} (An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 337 */ 338 public SourceElementComponent setSystemElement(UriType value) { 339 this.system = value; 340 return this; 341 } 342 343 /** 344 * @return An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 345 */ 346 public String getSystem() { 347 return this.system == null ? null : this.system.getValue(); 348 } 349 350 /** 351 * @param value An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 352 */ 353 public SourceElementComponent setSystem(String value) { 354 if (Utilities.noString(value)) 355 this.system = null; 356 else { 357 if (this.system == null) 358 this.system = new UriType(); 359 this.system.setValue(value); 360 } 361 return this; 362 } 363 364 /** 365 * @return {@link #version} (The specific version of the code system, as determined by the code system authority.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 366 */ 367 public StringType getVersionElement() { 368 if (this.version == null) 369 if (Configuration.errorOnAutoCreate()) 370 throw new Error("Attempt to auto-create SourceElementComponent.version"); 371 else if (Configuration.doAutoCreate()) 372 this.version = new StringType(); // bb 373 return this.version; 374 } 375 376 public boolean hasVersionElement() { 377 return this.version != null && !this.version.isEmpty(); 378 } 379 380 public boolean hasVersion() { 381 return this.version != null && !this.version.isEmpty(); 382 } 383 384 /** 385 * @param value {@link #version} (The specific version of the code system, as determined by the code system authority.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 386 */ 387 public SourceElementComponent setVersionElement(StringType value) { 388 this.version = value; 389 return this; 390 } 391 392 /** 393 * @return The specific version of the code system, as determined by the code system authority. 394 */ 395 public String getVersion() { 396 return this.version == null ? null : this.version.getValue(); 397 } 398 399 /** 400 * @param value The specific version of the code system, as determined by the code system authority. 401 */ 402 public SourceElementComponent setVersion(String value) { 403 if (Utilities.noString(value)) 404 this.version = null; 405 else { 406 if (this.version == null) 407 this.version = new StringType(); 408 this.version.setValue(value); 409 } 410 return this; 411 } 412 413 /** 414 * @return {@link #code} (Identity (code or path) or the element/item being mapped.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 415 */ 416 public CodeType getCodeElement() { 417 if (this.code == null) 418 if (Configuration.errorOnAutoCreate()) 419 throw new Error("Attempt to auto-create SourceElementComponent.code"); 420 else if (Configuration.doAutoCreate()) 421 this.code = new CodeType(); // bb 422 return this.code; 423 } 424 425 public boolean hasCodeElement() { 426 return this.code != null && !this.code.isEmpty(); 427 } 428 429 public boolean hasCode() { 430 return this.code != null && !this.code.isEmpty(); 431 } 432 433 /** 434 * @param value {@link #code} (Identity (code or path) or the element/item being mapped.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 435 */ 436 public SourceElementComponent setCodeElement(CodeType value) { 437 this.code = value; 438 return this; 439 } 440 441 /** 442 * @return Identity (code or path) or the element/item being mapped. 443 */ 444 public String getCode() { 445 return this.code == null ? null : this.code.getValue(); 446 } 447 448 /** 449 * @param value Identity (code or path) or the element/item being mapped. 450 */ 451 public SourceElementComponent setCode(String value) { 452 if (Utilities.noString(value)) 453 this.code = null; 454 else { 455 if (this.code == null) 456 this.code = new CodeType(); 457 this.code.setValue(value); 458 } 459 return this; 460 } 461 462 /** 463 * @return {@link #target} (A concept from the target value set that this concept maps to.) 464 */ 465 public List<TargetElementComponent> getTarget() { 466 if (this.target == null) 467 this.target = new ArrayList<TargetElementComponent>(); 468 return this.target; 469 } 470 471 public boolean hasTarget() { 472 if (this.target == null) 473 return false; 474 for (TargetElementComponent item : this.target) 475 if (!item.isEmpty()) 476 return true; 477 return false; 478 } 479 480 /** 481 * @return {@link #target} (A concept from the target value set that this concept maps to.) 482 */ 483 // syntactic sugar 484 public TargetElementComponent addTarget() { //3 485 TargetElementComponent t = new TargetElementComponent(); 486 if (this.target == null) 487 this.target = new ArrayList<TargetElementComponent>(); 488 this.target.add(t); 489 return t; 490 } 491 492 // syntactic sugar 493 public SourceElementComponent addTarget(TargetElementComponent t) { //3 494 if (t == null) 495 return this; 496 if (this.target == null) 497 this.target = new ArrayList<TargetElementComponent>(); 498 this.target.add(t); 499 return this; 500 } 501 502 protected void listChildren(List<Property> childrenList) { 503 super.listChildren(childrenList); 504 childrenList.add(new Property("system", "uri", "An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).", 0, java.lang.Integer.MAX_VALUE, system)); 505 childrenList.add(new Property("version", "string", "The specific version of the code system, as determined by the code system authority.", 0, java.lang.Integer.MAX_VALUE, version)); 506 childrenList.add(new Property("code", "code", "Identity (code or path) or the element/item being mapped.", 0, java.lang.Integer.MAX_VALUE, code)); 507 childrenList.add(new Property("target", "", "A concept from the target value set that this concept maps to.", 0, java.lang.Integer.MAX_VALUE, target)); 508 } 509 510 @Override 511 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 512 switch (hash) { 513 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 514 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 515 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 516 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // TargetElementComponent 517 default: return super.getProperty(hash, name, checkValid); 518 } 519 520 } 521 522 @Override 523 public void setProperty(int hash, String name, Base value) throws FHIRException { 524 switch (hash) { 525 case -887328209: // system 526 this.system = castToUri(value); // UriType 527 break; 528 case 351608024: // version 529 this.version = castToString(value); // StringType 530 break; 531 case 3059181: // code 532 this.code = castToCode(value); // CodeType 533 break; 534 case -880905839: // target 535 this.getTarget().add((TargetElementComponent) value); // TargetElementComponent 536 break; 537 default: super.setProperty(hash, name, value); 538 } 539 540 } 541 542 @Override 543 public void setProperty(String name, Base value) throws FHIRException { 544 if (name.equals("system")) 545 this.system = castToUri(value); // UriType 546 else if (name.equals("version")) 547 this.version = castToString(value); // StringType 548 else if (name.equals("code")) 549 this.code = castToCode(value); // CodeType 550 else if (name.equals("target")) 551 this.getTarget().add((TargetElementComponent) value); 552 else 553 super.setProperty(name, value); 554 } 555 556 @Override 557 public Base makeProperty(int hash, String name) throws FHIRException { 558 switch (hash) { 559 case -887328209: throw new FHIRException("Cannot make property system as it is not a complex type"); // UriType 560 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 561 case 3059181: throw new FHIRException("Cannot make property code as it is not a complex type"); // CodeType 562 case -880905839: return addTarget(); // TargetElementComponent 563 default: return super.makeProperty(hash, name); 564 } 565 566 } 567 568 @Override 569 public Base addChild(String name) throws FHIRException { 570 if (name.equals("system")) { 571 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.system"); 572 } 573 else if (name.equals("version")) { 574 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.version"); 575 } 576 else if (name.equals("code")) { 577 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 578 } 579 else if (name.equals("target")) { 580 return addTarget(); 581 } 582 else 583 return super.addChild(name); 584 } 585 586 public SourceElementComponent copy() { 587 SourceElementComponent dst = new SourceElementComponent(); 588 copyValues(dst); 589 dst.system = system == null ? null : system.copy(); 590 dst.version = version == null ? null : version.copy(); 591 dst.code = code == null ? null : code.copy(); 592 if (target != null) { 593 dst.target = new ArrayList<TargetElementComponent>(); 594 for (TargetElementComponent i : target) 595 dst.target.add(i.copy()); 596 }; 597 return dst; 598 } 599 600 @Override 601 public boolean equalsDeep(Base other) { 602 if (!super.equalsDeep(other)) 603 return false; 604 if (!(other instanceof SourceElementComponent)) 605 return false; 606 SourceElementComponent o = (SourceElementComponent) other; 607 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true) && compareDeep(code, o.code, true) 608 && compareDeep(target, o.target, true); 609 } 610 611 @Override 612 public boolean equalsShallow(Base other) { 613 if (!super.equalsShallow(other)) 614 return false; 615 if (!(other instanceof SourceElementComponent)) 616 return false; 617 SourceElementComponent o = (SourceElementComponent) other; 618 return compareValues(system, o.system, true) && compareValues(version, o.version, true) && compareValues(code, o.code, true) 619 ; 620 } 621 622 public boolean isEmpty() { 623 return super.isEmpty() && (system == null || system.isEmpty()) && (version == null || version.isEmpty()) 624 && (code == null || code.isEmpty()) && (target == null || target.isEmpty()); 625 } 626 627 public String fhirType() { 628 return "ConceptMap.element"; 629 630 } 631 632 } 633 634 @Block() 635 public static class TargetElementComponent extends BackboneElement implements IBaseBackboneElement { 636 /** 637 * An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). 638 */ 639 @Child(name = "system", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 640 @Description(shortDefinition="System of the target (if necessary)", formalDefinition="An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems)." ) 641 protected UriType system; 642 643 /** 644 * The specific version of the code system, as determined by the code system authority. 645 */ 646 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 647 @Description(shortDefinition="Specific version of the code system", formalDefinition="The specific version of the code system, as determined by the code system authority." ) 648 protected StringType version; 649 650 /** 651 * Identity (code or path) or the element/item that the map refers to. 652 */ 653 @Child(name = "code", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 654 @Description(shortDefinition="Code that identifies the target element", formalDefinition="Identity (code or path) or the element/item that the map refers to." ) 655 protected CodeType code; 656 657 /** 658 * The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source). 659 */ 660 @Child(name = "equivalence", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=false) 661 @Description(shortDefinition="equivalent | equal | wider | subsumes | narrower | specializes | inexact | unmatched | disjoint", formalDefinition="The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source)." ) 662 protected Enumeration<ConceptMapEquivalence> equivalence; 663 664 /** 665 * A description of status/issues in mapping that conveys additional information not represented in the structured data. 666 */ 667 @Child(name = "comments", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 668 @Description(shortDefinition="Description of status/issues in mapping", formalDefinition="A description of status/issues in mapping that conveys additional information not represented in the structured data." ) 669 protected StringType comments; 670 671 /** 672 * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. 673 */ 674 @Child(name = "dependsOn", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 675 @Description(shortDefinition="Other elements required for this mapping (from context)", formalDefinition="A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value." ) 676 protected List<OtherElementComponent> dependsOn; 677 678 /** 679 * A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on. 680 */ 681 @Child(name = "product", type = {OtherElementComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 682 @Description(shortDefinition="Other concepts that this mapping also produces", formalDefinition="A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on." ) 683 protected List<OtherElementComponent> product; 684 685 private static final long serialVersionUID = 2147112127L; 686 687 /** 688 * Constructor 689 */ 690 public TargetElementComponent() { 691 super(); 692 } 693 694 /** 695 * Constructor 696 */ 697 public TargetElementComponent(Enumeration<ConceptMapEquivalence> equivalence) { 698 super(); 699 this.equivalence = equivalence; 700 } 701 702 /** 703 * @return {@link #system} (An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 704 */ 705 public UriType getSystemElement() { 706 if (this.system == null) 707 if (Configuration.errorOnAutoCreate()) 708 throw new Error("Attempt to auto-create TargetElementComponent.system"); 709 else if (Configuration.doAutoCreate()) 710 this.system = new UriType(); // bb 711 return this.system; 712 } 713 714 public boolean hasSystemElement() { 715 return this.system != null && !this.system.isEmpty(); 716 } 717 718 public boolean hasSystem() { 719 return this.system != null && !this.system.isEmpty(); 720 } 721 722 /** 723 * @param value {@link #system} (An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 724 */ 725 public TargetElementComponent setSystemElement(UriType value) { 726 this.system = value; 727 return this; 728 } 729 730 /** 731 * @return An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). 732 */ 733 public String getSystem() { 734 return this.system == null ? null : this.system.getValue(); 735 } 736 737 /** 738 * @param value An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). 739 */ 740 public TargetElementComponent setSystem(String value) { 741 if (Utilities.noString(value)) 742 this.system = null; 743 else { 744 if (this.system == null) 745 this.system = new UriType(); 746 this.system.setValue(value); 747 } 748 return this; 749 } 750 751 /** 752 * @return {@link #version} (The specific version of the code system, as determined by the code system authority.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 753 */ 754 public StringType getVersionElement() { 755 if (this.version == null) 756 if (Configuration.errorOnAutoCreate()) 757 throw new Error("Attempt to auto-create TargetElementComponent.version"); 758 else if (Configuration.doAutoCreate()) 759 this.version = new StringType(); // bb 760 return this.version; 761 } 762 763 public boolean hasVersionElement() { 764 return this.version != null && !this.version.isEmpty(); 765 } 766 767 public boolean hasVersion() { 768 return this.version != null && !this.version.isEmpty(); 769 } 770 771 /** 772 * @param value {@link #version} (The specific version of the code system, as determined by the code system authority.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 773 */ 774 public TargetElementComponent setVersionElement(StringType value) { 775 this.version = value; 776 return this; 777 } 778 779 /** 780 * @return The specific version of the code system, as determined by the code system authority. 781 */ 782 public String getVersion() { 783 return this.version == null ? null : this.version.getValue(); 784 } 785 786 /** 787 * @param value The specific version of the code system, as determined by the code system authority. 788 */ 789 public TargetElementComponent setVersion(String value) { 790 if (Utilities.noString(value)) 791 this.version = null; 792 else { 793 if (this.version == null) 794 this.version = new StringType(); 795 this.version.setValue(value); 796 } 797 return this; 798 } 799 800 /** 801 * @return {@link #code} (Identity (code or path) or the element/item that the map refers to.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 802 */ 803 public CodeType getCodeElement() { 804 if (this.code == null) 805 if (Configuration.errorOnAutoCreate()) 806 throw new Error("Attempt to auto-create TargetElementComponent.code"); 807 else if (Configuration.doAutoCreate()) 808 this.code = new CodeType(); // bb 809 return this.code; 810 } 811 812 public boolean hasCodeElement() { 813 return this.code != null && !this.code.isEmpty(); 814 } 815 816 public boolean hasCode() { 817 return this.code != null && !this.code.isEmpty(); 818 } 819 820 /** 821 * @param value {@link #code} (Identity (code or path) or the element/item that the map refers to.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 822 */ 823 public TargetElementComponent setCodeElement(CodeType value) { 824 this.code = value; 825 return this; 826 } 827 828 /** 829 * @return Identity (code or path) or the element/item that the map refers to. 830 */ 831 public String getCode() { 832 return this.code == null ? null : this.code.getValue(); 833 } 834 835 /** 836 * @param value Identity (code or path) or the element/item that the map refers to. 837 */ 838 public TargetElementComponent setCode(String value) { 839 if (Utilities.noString(value)) 840 this.code = null; 841 else { 842 if (this.code == null) 843 this.code = new CodeType(); 844 this.code.setValue(value); 845 } 846 return this; 847 } 848 849 /** 850 * @return {@link #equivalence} (The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).). This is the underlying object with id, value and extensions. The accessor "getEquivalence" gives direct access to the value 851 */ 852 public Enumeration<ConceptMapEquivalence> getEquivalenceElement() { 853 if (this.equivalence == null) 854 if (Configuration.errorOnAutoCreate()) 855 throw new Error("Attempt to auto-create TargetElementComponent.equivalence"); 856 else if (Configuration.doAutoCreate()) 857 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); // bb 858 return this.equivalence; 859 } 860 861 public boolean hasEquivalenceElement() { 862 return this.equivalence != null && !this.equivalence.isEmpty(); 863 } 864 865 public boolean hasEquivalence() { 866 return this.equivalence != null && !this.equivalence.isEmpty(); 867 } 868 869 /** 870 * @param value {@link #equivalence} (The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).). This is the underlying object with id, value and extensions. The accessor "getEquivalence" gives direct access to the value 871 */ 872 public TargetElementComponent setEquivalenceElement(Enumeration<ConceptMapEquivalence> value) { 873 this.equivalence = value; 874 return this; 875 } 876 877 /** 878 * @return The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source). 879 */ 880 public ConceptMapEquivalence getEquivalence() { 881 return this.equivalence == null ? null : this.equivalence.getValue(); 882 } 883 884 /** 885 * @param value The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source). 886 */ 887 public TargetElementComponent setEquivalence(ConceptMapEquivalence value) { 888 if (this.equivalence == null) 889 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); 890 this.equivalence.setValue(value); 891 return this; 892 } 893 894 /** 895 * @return {@link #comments} (A description of status/issues in mapping that conveys additional information not represented in the structured data.). This is the underlying object with id, value and extensions. The accessor "getComments" gives direct access to the value 896 */ 897 public StringType getCommentsElement() { 898 if (this.comments == null) 899 if (Configuration.errorOnAutoCreate()) 900 throw new Error("Attempt to auto-create TargetElementComponent.comments"); 901 else if (Configuration.doAutoCreate()) 902 this.comments = new StringType(); // bb 903 return this.comments; 904 } 905 906 public boolean hasCommentsElement() { 907 return this.comments != null && !this.comments.isEmpty(); 908 } 909 910 public boolean hasComments() { 911 return this.comments != null && !this.comments.isEmpty(); 912 } 913 914 /** 915 * @param value {@link #comments} (A description of status/issues in mapping that conveys additional information not represented in the structured data.). This is the underlying object with id, value and extensions. The accessor "getComments" gives direct access to the value 916 */ 917 public TargetElementComponent setCommentsElement(StringType value) { 918 this.comments = value; 919 return this; 920 } 921 922 /** 923 * @return A description of status/issues in mapping that conveys additional information not represented in the structured data. 924 */ 925 public String getComments() { 926 return this.comments == null ? null : this.comments.getValue(); 927 } 928 929 /** 930 * @param value A description of status/issues in mapping that conveys additional information not represented in the structured data. 931 */ 932 public TargetElementComponent setComments(String value) { 933 if (Utilities.noString(value)) 934 this.comments = null; 935 else { 936 if (this.comments == null) 937 this.comments = new StringType(); 938 this.comments.setValue(value); 939 } 940 return this; 941 } 942 943 /** 944 * @return {@link #dependsOn} (A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.) 945 */ 946 public List<OtherElementComponent> getDependsOn() { 947 if (this.dependsOn == null) 948 this.dependsOn = new ArrayList<OtherElementComponent>(); 949 return this.dependsOn; 950 } 951 952 public boolean hasDependsOn() { 953 if (this.dependsOn == null) 954 return false; 955 for (OtherElementComponent item : this.dependsOn) 956 if (!item.isEmpty()) 957 return true; 958 return false; 959 } 960 961 /** 962 * @return {@link #dependsOn} (A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.) 963 */ 964 // syntactic sugar 965 public OtherElementComponent addDependsOn() { //3 966 OtherElementComponent t = new OtherElementComponent(); 967 if (this.dependsOn == null) 968 this.dependsOn = new ArrayList<OtherElementComponent>(); 969 this.dependsOn.add(t); 970 return t; 971 } 972 973 // syntactic sugar 974 public TargetElementComponent addDependsOn(OtherElementComponent t) { //3 975 if (t == null) 976 return this; 977 if (this.dependsOn == null) 978 this.dependsOn = new ArrayList<OtherElementComponent>(); 979 this.dependsOn.add(t); 980 return this; 981 } 982 983 /** 984 * @return {@link #product} (A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.) 985 */ 986 public List<OtherElementComponent> getProduct() { 987 if (this.product == null) 988 this.product = new ArrayList<OtherElementComponent>(); 989 return this.product; 990 } 991 992 public boolean hasProduct() { 993 if (this.product == null) 994 return false; 995 for (OtherElementComponent item : this.product) 996 if (!item.isEmpty()) 997 return true; 998 return false; 999 } 1000 1001 /** 1002 * @return {@link #product} (A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.) 1003 */ 1004 // syntactic sugar 1005 public OtherElementComponent addProduct() { //3 1006 OtherElementComponent t = new OtherElementComponent(); 1007 if (this.product == null) 1008 this.product = new ArrayList<OtherElementComponent>(); 1009 this.product.add(t); 1010 return t; 1011 } 1012 1013 // syntactic sugar 1014 public TargetElementComponent addProduct(OtherElementComponent t) { //3 1015 if (t == null) 1016 return this; 1017 if (this.product == null) 1018 this.product = new ArrayList<OtherElementComponent>(); 1019 this.product.add(t); 1020 return this; 1021 } 1022 1023 protected void listChildren(List<Property> childrenList) { 1024 super.listChildren(childrenList); 1025 childrenList.add(new Property("system", "uri", "An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems).", 0, java.lang.Integer.MAX_VALUE, system)); 1026 childrenList.add(new Property("version", "string", "The specific version of the code system, as determined by the code system authority.", 0, java.lang.Integer.MAX_VALUE, version)); 1027 childrenList.add(new Property("code", "code", "Identity (code or path) or the element/item that the map refers to.", 0, java.lang.Integer.MAX_VALUE, code)); 1028 childrenList.add(new Property("equivalence", "code", "The equivalence between the source and target concepts (counting for the dependencies and products). The equivalence is read from target to source (e.g. the target is 'wider' than the source).", 0, java.lang.Integer.MAX_VALUE, equivalence)); 1029 childrenList.add(new Property("comments", "string", "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 0, java.lang.Integer.MAX_VALUE, comments)); 1030 childrenList.add(new Property("dependsOn", "", "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.", 0, java.lang.Integer.MAX_VALUE, dependsOn)); 1031 childrenList.add(new Property("product", "@ConceptMap.element.target.dependsOn", "A set of additional outcomes from this mapping to other elements. To properly execute this mapping, the specified element must be mapped to some data element or source that is in context. The mapping may still be useful without a place for the additional data elements, but the equivalence cannot be relied on.", 0, java.lang.Integer.MAX_VALUE, product)); 1032 } 1033 1034 @Override 1035 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1036 switch (hash) { 1037 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 1038 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 1039 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1040 case -15828692: /*equivalence*/ return this.equivalence == null ? new Base[0] : new Base[] {this.equivalence}; // Enumeration<ConceptMapEquivalence> 1041 case -602415628: /*comments*/ return this.comments == null ? new Base[0] : new Base[] {this.comments}; // StringType 1042 case -1109214266: /*dependsOn*/ return this.dependsOn == null ? new Base[0] : this.dependsOn.toArray(new Base[this.dependsOn.size()]); // OtherElementComponent 1043 case -309474065: /*product*/ return this.product == null ? new Base[0] : this.product.toArray(new Base[this.product.size()]); // OtherElementComponent 1044 default: return super.getProperty(hash, name, checkValid); 1045 } 1046 1047 } 1048 1049 @Override 1050 public void setProperty(int hash, String name, Base value) throws FHIRException { 1051 switch (hash) { 1052 case -887328209: // system 1053 this.system = castToUri(value); // UriType 1054 break; 1055 case 351608024: // version 1056 this.version = castToString(value); // StringType 1057 break; 1058 case 3059181: // code 1059 this.code = castToCode(value); // CodeType 1060 break; 1061 case -15828692: // equivalence 1062 this.equivalence = new ConceptMapEquivalenceEnumFactory().fromType(value); // Enumeration<ConceptMapEquivalence> 1063 break; 1064 case -602415628: // comments 1065 this.comments = castToString(value); // StringType 1066 break; 1067 case -1109214266: // dependsOn 1068 this.getDependsOn().add((OtherElementComponent) value); // OtherElementComponent 1069 break; 1070 case -309474065: // product 1071 this.getProduct().add((OtherElementComponent) value); // OtherElementComponent 1072 break; 1073 default: super.setProperty(hash, name, value); 1074 } 1075 1076 } 1077 1078 @Override 1079 public void setProperty(String name, Base value) throws FHIRException { 1080 if (name.equals("system")) 1081 this.system = castToUri(value); // UriType 1082 else if (name.equals("version")) 1083 this.version = castToString(value); // StringType 1084 else if (name.equals("code")) 1085 this.code = castToCode(value); // CodeType 1086 else if (name.equals("equivalence")) 1087 this.equivalence = new ConceptMapEquivalenceEnumFactory().fromType(value); // Enumeration<ConceptMapEquivalence> 1088 else if (name.equals("comments")) 1089 this.comments = castToString(value); // StringType 1090 else if (name.equals("dependsOn")) 1091 this.getDependsOn().add((OtherElementComponent) value); 1092 else if (name.equals("product")) 1093 this.getProduct().add((OtherElementComponent) value); 1094 else 1095 super.setProperty(name, value); 1096 } 1097 1098 @Override 1099 public Base makeProperty(int hash, String name) throws FHIRException { 1100 switch (hash) { 1101 case -887328209: throw new FHIRException("Cannot make property system as it is not a complex type"); // UriType 1102 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 1103 case 3059181: throw new FHIRException("Cannot make property code as it is not a complex type"); // CodeType 1104 case -15828692: throw new FHIRException("Cannot make property equivalence as it is not a complex type"); // Enumeration<ConceptMapEquivalence> 1105 case -602415628: throw new FHIRException("Cannot make property comments as it is not a complex type"); // StringType 1106 case -1109214266: return addDependsOn(); // OtherElementComponent 1107 case -309474065: return addProduct(); // OtherElementComponent 1108 default: return super.makeProperty(hash, name); 1109 } 1110 1111 } 1112 1113 @Override 1114 public Base addChild(String name) throws FHIRException { 1115 if (name.equals("system")) { 1116 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.system"); 1117 } 1118 else if (name.equals("version")) { 1119 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.version"); 1120 } 1121 else if (name.equals("code")) { 1122 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 1123 } 1124 else if (name.equals("equivalence")) { 1125 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.equivalence"); 1126 } 1127 else if (name.equals("comments")) { 1128 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.comments"); 1129 } 1130 else if (name.equals("dependsOn")) { 1131 return addDependsOn(); 1132 } 1133 else if (name.equals("product")) { 1134 return addProduct(); 1135 } 1136 else 1137 return super.addChild(name); 1138 } 1139 1140 public TargetElementComponent copy() { 1141 TargetElementComponent dst = new TargetElementComponent(); 1142 copyValues(dst); 1143 dst.system = system == null ? null : system.copy(); 1144 dst.version = version == null ? null : version.copy(); 1145 dst.code = code == null ? null : code.copy(); 1146 dst.equivalence = equivalence == null ? null : equivalence.copy(); 1147 dst.comments = comments == null ? null : comments.copy(); 1148 if (dependsOn != null) { 1149 dst.dependsOn = new ArrayList<OtherElementComponent>(); 1150 for (OtherElementComponent i : dependsOn) 1151 dst.dependsOn.add(i.copy()); 1152 }; 1153 if (product != null) { 1154 dst.product = new ArrayList<OtherElementComponent>(); 1155 for (OtherElementComponent i : product) 1156 dst.product.add(i.copy()); 1157 }; 1158 return dst; 1159 } 1160 1161 @Override 1162 public boolean equalsDeep(Base other) { 1163 if (!super.equalsDeep(other)) 1164 return false; 1165 if (!(other instanceof TargetElementComponent)) 1166 return false; 1167 TargetElementComponent o = (TargetElementComponent) other; 1168 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true) && compareDeep(code, o.code, true) 1169 && compareDeep(equivalence, o.equivalence, true) && compareDeep(comments, o.comments, true) && compareDeep(dependsOn, o.dependsOn, true) 1170 && compareDeep(product, o.product, true); 1171 } 1172 1173 @Override 1174 public boolean equalsShallow(Base other) { 1175 if (!super.equalsShallow(other)) 1176 return false; 1177 if (!(other instanceof TargetElementComponent)) 1178 return false; 1179 TargetElementComponent o = (TargetElementComponent) other; 1180 return compareValues(system, o.system, true) && compareValues(version, o.version, true) && compareValues(code, o.code, true) 1181 && compareValues(equivalence, o.equivalence, true) && compareValues(comments, o.comments, true); 1182 } 1183 1184 public boolean isEmpty() { 1185 return super.isEmpty() && (system == null || system.isEmpty()) && (version == null || version.isEmpty()) 1186 && (code == null || code.isEmpty()) && (equivalence == null || equivalence.isEmpty()) && (comments == null || comments.isEmpty()) 1187 && (dependsOn == null || dependsOn.isEmpty()) && (product == null || product.isEmpty()); 1188 } 1189 1190 public String fhirType() { 1191 return "ConceptMap.element.target"; 1192 1193 } 1194 1195 } 1196 1197 @Block() 1198 public static class OtherElementComponent extends BackboneElement implements IBaseBackboneElement { 1199 /** 1200 * A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition. 1201 */ 1202 @Child(name = "element", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1203 @Description(shortDefinition="Reference to element/field/ValueSet mapping depends on", formalDefinition="A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition." ) 1204 protected UriType element; 1205 1206 /** 1207 * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). 1208 */ 1209 @Child(name = "system", type = {UriType.class}, order=2, min=1, max=1, modifier=false, summary=false) 1210 @Description(shortDefinition="Code System (if necessary)", formalDefinition="An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems)." ) 1211 protected UriType system; 1212 1213 /** 1214 * Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1215 */ 1216 @Child(name = "code", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 1217 @Description(shortDefinition="Value of the referenced element", formalDefinition="Identity (code or path) or the element/item/ValueSet that the map depends on / refers to." ) 1218 protected StringType code; 1219 1220 private static final long serialVersionUID = 1365816253L; 1221 1222 /** 1223 * Constructor 1224 */ 1225 public OtherElementComponent() { 1226 super(); 1227 } 1228 1229 /** 1230 * Constructor 1231 */ 1232 public OtherElementComponent(UriType element, UriType system, StringType code) { 1233 super(); 1234 this.element = element; 1235 this.system = system; 1236 this.code = code; 1237 } 1238 1239 /** 1240 * @return {@link #element} (A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 1241 */ 1242 public UriType getElementElement() { 1243 if (this.element == null) 1244 if (Configuration.errorOnAutoCreate()) 1245 throw new Error("Attempt to auto-create OtherElementComponent.element"); 1246 else if (Configuration.doAutoCreate()) 1247 this.element = new UriType(); // bb 1248 return this.element; 1249 } 1250 1251 public boolean hasElementElement() { 1252 return this.element != null && !this.element.isEmpty(); 1253 } 1254 1255 public boolean hasElement() { 1256 return this.element != null && !this.element.isEmpty(); 1257 } 1258 1259 /** 1260 * @param value {@link #element} (A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition.). This is the underlying object with id, value and extensions. The accessor "getElement" gives direct access to the value 1261 */ 1262 public OtherElementComponent setElementElement(UriType value) { 1263 this.element = value; 1264 return this; 1265 } 1266 1267 /** 1268 * @return A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition. 1269 */ 1270 public String getElement() { 1271 return this.element == null ? null : this.element.getValue(); 1272 } 1273 1274 /** 1275 * @param value A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition. 1276 */ 1277 public OtherElementComponent setElement(String value) { 1278 if (this.element == null) 1279 this.element = new UriType(); 1280 this.element.setValue(value); 1281 return this; 1282 } 1283 1284 /** 1285 * @return {@link #system} (An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 1286 */ 1287 public UriType getSystemElement() { 1288 if (this.system == null) 1289 if (Configuration.errorOnAutoCreate()) 1290 throw new Error("Attempt to auto-create OtherElementComponent.system"); 1291 else if (Configuration.doAutoCreate()) 1292 this.system = new UriType(); // bb 1293 return this.system; 1294 } 1295 1296 public boolean hasSystemElement() { 1297 return this.system != null && !this.system.isEmpty(); 1298 } 1299 1300 public boolean hasSystem() { 1301 return this.system != null && !this.system.isEmpty(); 1302 } 1303 1304 /** 1305 * @param value {@link #system} (An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 1306 */ 1307 public OtherElementComponent setSystemElement(UriType value) { 1308 this.system = value; 1309 return this; 1310 } 1311 1312 /** 1313 * @return An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). 1314 */ 1315 public String getSystem() { 1316 return this.system == null ? null : this.system.getValue(); 1317 } 1318 1319 /** 1320 * @param value An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). 1321 */ 1322 public OtherElementComponent setSystem(String value) { 1323 if (this.system == null) 1324 this.system = new UriType(); 1325 this.system.setValue(value); 1326 return this; 1327 } 1328 1329 /** 1330 * @return {@link #code} (Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1331 */ 1332 public StringType getCodeElement() { 1333 if (this.code == null) 1334 if (Configuration.errorOnAutoCreate()) 1335 throw new Error("Attempt to auto-create OtherElementComponent.code"); 1336 else if (Configuration.doAutoCreate()) 1337 this.code = new StringType(); // bb 1338 return this.code; 1339 } 1340 1341 public boolean hasCodeElement() { 1342 return this.code != null && !this.code.isEmpty(); 1343 } 1344 1345 public boolean hasCode() { 1346 return this.code != null && !this.code.isEmpty(); 1347 } 1348 1349 /** 1350 * @param value {@link #code} (Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1351 */ 1352 public OtherElementComponent setCodeElement(StringType value) { 1353 this.code = value; 1354 return this; 1355 } 1356 1357 /** 1358 * @return Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1359 */ 1360 public String getCode() { 1361 return this.code == null ? null : this.code.getValue(); 1362 } 1363 1364 /** 1365 * @param value Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1366 */ 1367 public OtherElementComponent setCode(String value) { 1368 if (this.code == null) 1369 this.code = new StringType(); 1370 this.code.setValue(value); 1371 return this; 1372 } 1373 1374 protected void listChildren(List<Property> childrenList) { 1375 super.listChildren(childrenList); 1376 childrenList.add(new Property("element", "uri", "A reference to a specific concept that holds a coded value. This can be an element in a FHIR resource, or a specific reference to a data element in a different specification (e.g. HL7 v2) or a general reference to a kind of data field, or a reference to a value set with an appropriately narrow definition.", 0, java.lang.Integer.MAX_VALUE, element)); 1377 childrenList.add(new Property("system", "uri", "An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems).", 0, java.lang.Integer.MAX_VALUE, system)); 1378 childrenList.add(new Property("code", "string", "Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.", 0, java.lang.Integer.MAX_VALUE, code)); 1379 } 1380 1381 @Override 1382 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1383 switch (hash) { 1384 case -1662836996: /*element*/ return this.element == null ? new Base[0] : new Base[] {this.element}; // UriType 1385 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 1386 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // StringType 1387 default: return super.getProperty(hash, name, checkValid); 1388 } 1389 1390 } 1391 1392 @Override 1393 public void setProperty(int hash, String name, Base value) throws FHIRException { 1394 switch (hash) { 1395 case -1662836996: // element 1396 this.element = castToUri(value); // UriType 1397 break; 1398 case -887328209: // system 1399 this.system = castToUri(value); // UriType 1400 break; 1401 case 3059181: // code 1402 this.code = castToString(value); // StringType 1403 break; 1404 default: super.setProperty(hash, name, value); 1405 } 1406 1407 } 1408 1409 @Override 1410 public void setProperty(String name, Base value) throws FHIRException { 1411 if (name.equals("element")) 1412 this.element = castToUri(value); // UriType 1413 else if (name.equals("system")) 1414 this.system = castToUri(value); // UriType 1415 else if (name.equals("code")) 1416 this.code = castToString(value); // StringType 1417 else 1418 super.setProperty(name, value); 1419 } 1420 1421 @Override 1422 public Base makeProperty(int hash, String name) throws FHIRException { 1423 switch (hash) { 1424 case -1662836996: throw new FHIRException("Cannot make property element as it is not a complex type"); // UriType 1425 case -887328209: throw new FHIRException("Cannot make property system as it is not a complex type"); // UriType 1426 case 3059181: throw new FHIRException("Cannot make property code as it is not a complex type"); // StringType 1427 default: return super.makeProperty(hash, name); 1428 } 1429 1430 } 1431 1432 @Override 1433 public Base addChild(String name) throws FHIRException { 1434 if (name.equals("element")) { 1435 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.element"); 1436 } 1437 else if (name.equals("system")) { 1438 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.system"); 1439 } 1440 else if (name.equals("code")) { 1441 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 1442 } 1443 else 1444 return super.addChild(name); 1445 } 1446 1447 public OtherElementComponent copy() { 1448 OtherElementComponent dst = new OtherElementComponent(); 1449 copyValues(dst); 1450 dst.element = element == null ? null : element.copy(); 1451 dst.system = system == null ? null : system.copy(); 1452 dst.code = code == null ? null : code.copy(); 1453 return dst; 1454 } 1455 1456 @Override 1457 public boolean equalsDeep(Base other) { 1458 if (!super.equalsDeep(other)) 1459 return false; 1460 if (!(other instanceof OtherElementComponent)) 1461 return false; 1462 OtherElementComponent o = (OtherElementComponent) other; 1463 return compareDeep(element, o.element, true) && compareDeep(system, o.system, true) && compareDeep(code, o.code, true) 1464 ; 1465 } 1466 1467 @Override 1468 public boolean equalsShallow(Base other) { 1469 if (!super.equalsShallow(other)) 1470 return false; 1471 if (!(other instanceof OtherElementComponent)) 1472 return false; 1473 OtherElementComponent o = (OtherElementComponent) other; 1474 return compareValues(element, o.element, true) && compareValues(system, o.system, true) && compareValues(code, o.code, true) 1475 ; 1476 } 1477 1478 public boolean isEmpty() { 1479 return super.isEmpty() && (element == null || element.isEmpty()) && (system == null || system.isEmpty()) 1480 && (code == null || code.isEmpty()); 1481 } 1482 1483 public String fhirType() { 1484 return "ConceptMap.element.target.dependsOn"; 1485 1486 } 1487 1488 } 1489 1490 /** 1491 * An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published. 1492 */ 1493 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 1494 @Description(shortDefinition="Globally unique logical id for concept map", formalDefinition="An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published." ) 1495 protected UriType url; 1496 1497 /** 1498 * Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance. 1499 */ 1500 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 1501 @Description(shortDefinition="Additional identifier for the concept map", formalDefinition="Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 1502 protected Identifier identifier; 1503 1504 /** 1505 * The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. 1506 */ 1507 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1508 @Description(shortDefinition="Logical id for this version of the concept map", formalDefinition="The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp." ) 1509 protected StringType version; 1510 1511 /** 1512 * A free text natural language name describing the concept map. 1513 */ 1514 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 1515 @Description(shortDefinition="Informal name for this concept map", formalDefinition="A free text natural language name describing the concept map." ) 1516 protected StringType name; 1517 1518 /** 1519 * The status of the concept map. 1520 */ 1521 @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) 1522 @Description(shortDefinition="draft | active | retired", formalDefinition="The status of the concept map." ) 1523 protected Enumeration<ConformanceResourceStatus> status; 1524 1525 /** 1526 * This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1527 */ 1528 @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) 1529 @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." ) 1530 protected BooleanType experimental; 1531 1532 /** 1533 * The name of the individual or organization that published the concept map. 1534 */ 1535 @Child(name = "publisher", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) 1536 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the individual or organization that published the concept map." ) 1537 protected StringType publisher; 1538 1539 /** 1540 * Contacts to assist a user in finding and communicating with the publisher. 1541 */ 1542 @Child(name = "contact", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1543 @Description(shortDefinition="Contact details of the publisher", formalDefinition="Contacts to assist a user in finding and communicating with the publisher." ) 1544 protected List<ConceptMapContactComponent> contact; 1545 1546 /** 1547 * The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes. 1548 */ 1549 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 1550 @Description(shortDefinition="Date for given status", formalDefinition="The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes." ) 1551 protected DateTimeType date; 1552 1553 /** 1554 * A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc. 1555 */ 1556 @Child(name = "description", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 1557 @Description(shortDefinition="Human language description of the concept map", formalDefinition="A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc." ) 1558 protected StringType description; 1559 1560 /** 1561 * The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances. 1562 */ 1563 @Child(name = "useContext", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1564 @Description(shortDefinition="Content intends to support these contexts", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances." ) 1565 protected List<CodeableConcept> useContext; 1566 1567 /** 1568 * Explains why this concept map is needed and why it has been constrained as it has. 1569 */ 1570 @Child(name = "requirements", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 1571 @Description(shortDefinition="Why needed", formalDefinition="Explains why this concept map is needed and why it has been constrained as it has." ) 1572 protected StringType requirements; 1573 1574 /** 1575 * A copyright statement relating to the concept map and/or its contents. 1576 */ 1577 @Child(name = "copyright", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) 1578 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the concept map and/or its contents." ) 1579 protected StringType copyright; 1580 1581 /** 1582 * The source value set that specifies the concepts that are being mapped. 1583 */ 1584 @Child(name = "source", type = {UriType.class, ValueSet.class, StructureDefinition.class}, order=13, min=1, max=1, modifier=false, summary=true) 1585 @Description(shortDefinition="Identifies the source of the concepts which are being mapped", formalDefinition="The source value set that specifies the concepts that are being mapped." ) 1586 protected Type source; 1587 1588 /** 1589 * The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made. 1590 */ 1591 @Child(name = "target", type = {UriType.class, ValueSet.class, StructureDefinition.class}, order=14, min=1, max=1, modifier=false, summary=true) 1592 @Description(shortDefinition="Provides context to the mappings", formalDefinition="The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made." ) 1593 protected Type target; 1594 1595 /** 1596 * Mappings for an individual concept in the source to one or more concepts in the target. 1597 */ 1598 @Child(name = "element", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1599 @Description(shortDefinition="Mappings for a concept from the source set", formalDefinition="Mappings for an individual concept in the source to one or more concepts in the target." ) 1600 protected List<SourceElementComponent> element; 1601 1602 private static final long serialVersionUID = 1687563642L; 1603 1604 /** 1605 * Constructor 1606 */ 1607 public ConceptMap() { 1608 super(); 1609 } 1610 1611 /** 1612 * Constructor 1613 */ 1614 public ConceptMap(Enumeration<ConformanceResourceStatus> status, Type source, Type target) { 1615 super(); 1616 this.status = status; 1617 this.source = source; 1618 this.target = target; 1619 } 1620 1621 /** 1622 * @return {@link #url} (An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1623 */ 1624 public UriType getUrlElement() { 1625 if (this.url == null) 1626 if (Configuration.errorOnAutoCreate()) 1627 throw new Error("Attempt to auto-create ConceptMap.url"); 1628 else if (Configuration.doAutoCreate()) 1629 this.url = new UriType(); // bb 1630 return this.url; 1631 } 1632 1633 public boolean hasUrlElement() { 1634 return this.url != null && !this.url.isEmpty(); 1635 } 1636 1637 public boolean hasUrl() { 1638 return this.url != null && !this.url.isEmpty(); 1639 } 1640 1641 /** 1642 * @param value {@link #url} (An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1643 */ 1644 public ConceptMap setUrlElement(UriType value) { 1645 this.url = value; 1646 return this; 1647 } 1648 1649 /** 1650 * @return An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published. 1651 */ 1652 public String getUrl() { 1653 return this.url == null ? null : this.url.getValue(); 1654 } 1655 1656 /** 1657 * @param value An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published. 1658 */ 1659 public ConceptMap setUrl(String value) { 1660 if (Utilities.noString(value)) 1661 this.url = null; 1662 else { 1663 if (this.url == null) 1664 this.url = new UriType(); 1665 this.url.setValue(value); 1666 } 1667 return this; 1668 } 1669 1670 /** 1671 * @return {@link #identifier} (Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1672 */ 1673 public Identifier getIdentifier() { 1674 if (this.identifier == null) 1675 if (Configuration.errorOnAutoCreate()) 1676 throw new Error("Attempt to auto-create ConceptMap.identifier"); 1677 else if (Configuration.doAutoCreate()) 1678 this.identifier = new Identifier(); // cc 1679 return this.identifier; 1680 } 1681 1682 public boolean hasIdentifier() { 1683 return this.identifier != null && !this.identifier.isEmpty(); 1684 } 1685 1686 /** 1687 * @param value {@link #identifier} (Formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1688 */ 1689 public ConceptMap setIdentifier(Identifier value) { 1690 this.identifier = value; 1691 return this; 1692 } 1693 1694 /** 1695 * @return {@link #version} (The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1696 */ 1697 public StringType getVersionElement() { 1698 if (this.version == null) 1699 if (Configuration.errorOnAutoCreate()) 1700 throw new Error("Attempt to auto-create ConceptMap.version"); 1701 else if (Configuration.doAutoCreate()) 1702 this.version = new StringType(); // bb 1703 return this.version; 1704 } 1705 1706 public boolean hasVersionElement() { 1707 return this.version != null && !this.version.isEmpty(); 1708 } 1709 1710 public boolean hasVersion() { 1711 return this.version != null && !this.version.isEmpty(); 1712 } 1713 1714 /** 1715 * @param value {@link #version} (The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1716 */ 1717 public ConceptMap setVersionElement(StringType value) { 1718 this.version = value; 1719 return this; 1720 } 1721 1722 /** 1723 * @return The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. 1724 */ 1725 public String getVersion() { 1726 return this.version == null ? null : this.version.getValue(); 1727 } 1728 1729 /** 1730 * @param value The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. 1731 */ 1732 public ConceptMap setVersion(String value) { 1733 if (Utilities.noString(value)) 1734 this.version = null; 1735 else { 1736 if (this.version == null) 1737 this.version = new StringType(); 1738 this.version.setValue(value); 1739 } 1740 return this; 1741 } 1742 1743 /** 1744 * @return {@link #name} (A free text natural language name describing the concept map.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1745 */ 1746 public StringType getNameElement() { 1747 if (this.name == null) 1748 if (Configuration.errorOnAutoCreate()) 1749 throw new Error("Attempt to auto-create ConceptMap.name"); 1750 else if (Configuration.doAutoCreate()) 1751 this.name = new StringType(); // bb 1752 return this.name; 1753 } 1754 1755 public boolean hasNameElement() { 1756 return this.name != null && !this.name.isEmpty(); 1757 } 1758 1759 public boolean hasName() { 1760 return this.name != null && !this.name.isEmpty(); 1761 } 1762 1763 /** 1764 * @param value {@link #name} (A free text natural language name describing the concept map.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1765 */ 1766 public ConceptMap setNameElement(StringType value) { 1767 this.name = value; 1768 return this; 1769 } 1770 1771 /** 1772 * @return A free text natural language name describing the concept map. 1773 */ 1774 public String getName() { 1775 return this.name == null ? null : this.name.getValue(); 1776 } 1777 1778 /** 1779 * @param value A free text natural language name describing the concept map. 1780 */ 1781 public ConceptMap setName(String value) { 1782 if (Utilities.noString(value)) 1783 this.name = null; 1784 else { 1785 if (this.name == null) 1786 this.name = new StringType(); 1787 this.name.setValue(value); 1788 } 1789 return this; 1790 } 1791 1792 /** 1793 * @return {@link #status} (The status of the concept map.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1794 */ 1795 public Enumeration<ConformanceResourceStatus> getStatusElement() { 1796 if (this.status == null) 1797 if (Configuration.errorOnAutoCreate()) 1798 throw new Error("Attempt to auto-create ConceptMap.status"); 1799 else if (Configuration.doAutoCreate()) 1800 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); // bb 1801 return this.status; 1802 } 1803 1804 public boolean hasStatusElement() { 1805 return this.status != null && !this.status.isEmpty(); 1806 } 1807 1808 public boolean hasStatus() { 1809 return this.status != null && !this.status.isEmpty(); 1810 } 1811 1812 /** 1813 * @param value {@link #status} (The status of the concept map.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1814 */ 1815 public ConceptMap setStatusElement(Enumeration<ConformanceResourceStatus> value) { 1816 this.status = value; 1817 return this; 1818 } 1819 1820 /** 1821 * @return The status of the concept map. 1822 */ 1823 public ConformanceResourceStatus getStatus() { 1824 return this.status == null ? null : this.status.getValue(); 1825 } 1826 1827 /** 1828 * @param value The status of the concept map. 1829 */ 1830 public ConceptMap setStatus(ConformanceResourceStatus value) { 1831 if (this.status == null) 1832 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); 1833 this.status.setValue(value); 1834 return this; 1835 } 1836 1837 /** 1838 * @return {@link #experimental} (This ConceptMap was 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 1839 */ 1840 public BooleanType getExperimentalElement() { 1841 if (this.experimental == null) 1842 if (Configuration.errorOnAutoCreate()) 1843 throw new Error("Attempt to auto-create ConceptMap.experimental"); 1844 else if (Configuration.doAutoCreate()) 1845 this.experimental = new BooleanType(); // bb 1846 return this.experimental; 1847 } 1848 1849 public boolean hasExperimentalElement() { 1850 return this.experimental != null && !this.experimental.isEmpty(); 1851 } 1852 1853 public boolean hasExperimental() { 1854 return this.experimental != null && !this.experimental.isEmpty(); 1855 } 1856 1857 /** 1858 * @param value {@link #experimental} (This ConceptMap was 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 1859 */ 1860 public ConceptMap setExperimentalElement(BooleanType value) { 1861 this.experimental = value; 1862 return this; 1863 } 1864 1865 /** 1866 * @return This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1867 */ 1868 public boolean getExperimental() { 1869 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 1870 } 1871 1872 /** 1873 * @param value This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 1874 */ 1875 public ConceptMap setExperimental(boolean value) { 1876 if (this.experimental == null) 1877 this.experimental = new BooleanType(); 1878 this.experimental.setValue(value); 1879 return this; 1880 } 1881 1882 /** 1883 * @return {@link #publisher} (The name of the individual or organization that published the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1884 */ 1885 public StringType getPublisherElement() { 1886 if (this.publisher == null) 1887 if (Configuration.errorOnAutoCreate()) 1888 throw new Error("Attempt to auto-create ConceptMap.publisher"); 1889 else if (Configuration.doAutoCreate()) 1890 this.publisher = new StringType(); // bb 1891 return this.publisher; 1892 } 1893 1894 public boolean hasPublisherElement() { 1895 return this.publisher != null && !this.publisher.isEmpty(); 1896 } 1897 1898 public boolean hasPublisher() { 1899 return this.publisher != null && !this.publisher.isEmpty(); 1900 } 1901 1902 /** 1903 * @param value {@link #publisher} (The name of the individual or organization that published the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1904 */ 1905 public ConceptMap setPublisherElement(StringType value) { 1906 this.publisher = value; 1907 return this; 1908 } 1909 1910 /** 1911 * @return The name of the individual or organization that published the concept map. 1912 */ 1913 public String getPublisher() { 1914 return this.publisher == null ? null : this.publisher.getValue(); 1915 } 1916 1917 /** 1918 * @param value The name of the individual or organization that published the concept map. 1919 */ 1920 public ConceptMap setPublisher(String value) { 1921 if (Utilities.noString(value)) 1922 this.publisher = null; 1923 else { 1924 if (this.publisher == null) 1925 this.publisher = new StringType(); 1926 this.publisher.setValue(value); 1927 } 1928 return this; 1929 } 1930 1931 /** 1932 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 1933 */ 1934 public List<ConceptMapContactComponent> getContact() { 1935 if (this.contact == null) 1936 this.contact = new ArrayList<ConceptMapContactComponent>(); 1937 return this.contact; 1938 } 1939 1940 public boolean hasContact() { 1941 if (this.contact == null) 1942 return false; 1943 for (ConceptMapContactComponent item : this.contact) 1944 if (!item.isEmpty()) 1945 return true; 1946 return false; 1947 } 1948 1949 /** 1950 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 1951 */ 1952 // syntactic sugar 1953 public ConceptMapContactComponent addContact() { //3 1954 ConceptMapContactComponent t = new ConceptMapContactComponent(); 1955 if (this.contact == null) 1956 this.contact = new ArrayList<ConceptMapContactComponent>(); 1957 this.contact.add(t); 1958 return t; 1959 } 1960 1961 // syntactic sugar 1962 public ConceptMap addContact(ConceptMapContactComponent t) { //3 1963 if (t == null) 1964 return this; 1965 if (this.contact == null) 1966 this.contact = new ArrayList<ConceptMapContactComponent>(); 1967 this.contact.add(t); 1968 return this; 1969 } 1970 1971 /** 1972 * @return {@link #date} (The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1973 */ 1974 public DateTimeType getDateElement() { 1975 if (this.date == null) 1976 if (Configuration.errorOnAutoCreate()) 1977 throw new Error("Attempt to auto-create ConceptMap.date"); 1978 else if (Configuration.doAutoCreate()) 1979 this.date = new DateTimeType(); // bb 1980 return this.date; 1981 } 1982 1983 public boolean hasDateElement() { 1984 return this.date != null && !this.date.isEmpty(); 1985 } 1986 1987 public boolean hasDate() { 1988 return this.date != null && !this.date.isEmpty(); 1989 } 1990 1991 /** 1992 * @param value {@link #date} (The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1993 */ 1994 public ConceptMap setDateElement(DateTimeType value) { 1995 this.date = value; 1996 return this; 1997 } 1998 1999 /** 2000 * @return The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes. 2001 */ 2002 public Date getDate() { 2003 return this.date == null ? null : this.date.getValue(); 2004 } 2005 2006 /** 2007 * @param value The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes. 2008 */ 2009 public ConceptMap setDate(Date value) { 2010 if (value == null) 2011 this.date = null; 2012 else { 2013 if (this.date == null) 2014 this.date = new DateTimeType(); 2015 this.date.setValue(value); 2016 } 2017 return this; 2018 } 2019 2020 /** 2021 * @return {@link #description} (A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2022 */ 2023 public StringType getDescriptionElement() { 2024 if (this.description == null) 2025 if (Configuration.errorOnAutoCreate()) 2026 throw new Error("Attempt to auto-create ConceptMap.description"); 2027 else if (Configuration.doAutoCreate()) 2028 this.description = new StringType(); // bb 2029 return this.description; 2030 } 2031 2032 public boolean hasDescriptionElement() { 2033 return this.description != null && !this.description.isEmpty(); 2034 } 2035 2036 public boolean hasDescription() { 2037 return this.description != null && !this.description.isEmpty(); 2038 } 2039 2040 /** 2041 * @param value {@link #description} (A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2042 */ 2043 public ConceptMap setDescriptionElement(StringType value) { 2044 this.description = value; 2045 return this; 2046 } 2047 2048 /** 2049 * @return A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc. 2050 */ 2051 public String getDescription() { 2052 return this.description == null ? null : this.description.getValue(); 2053 } 2054 2055 /** 2056 * @param value A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc. 2057 */ 2058 public ConceptMap setDescription(String value) { 2059 if (Utilities.noString(value)) 2060 this.description = null; 2061 else { 2062 if (this.description == null) 2063 this.description = new StringType(); 2064 this.description.setValue(value); 2065 } 2066 return this; 2067 } 2068 2069 /** 2070 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances.) 2071 */ 2072 public List<CodeableConcept> getUseContext() { 2073 if (this.useContext == null) 2074 this.useContext = new ArrayList<CodeableConcept>(); 2075 return this.useContext; 2076 } 2077 2078 public boolean hasUseContext() { 2079 if (this.useContext == null) 2080 return false; 2081 for (CodeableConcept item : this.useContext) 2082 if (!item.isEmpty()) 2083 return true; 2084 return false; 2085 } 2086 2087 /** 2088 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances.) 2089 */ 2090 // syntactic sugar 2091 public CodeableConcept addUseContext() { //3 2092 CodeableConcept t = new CodeableConcept(); 2093 if (this.useContext == null) 2094 this.useContext = new ArrayList<CodeableConcept>(); 2095 this.useContext.add(t); 2096 return t; 2097 } 2098 2099 // syntactic sugar 2100 public ConceptMap addUseContext(CodeableConcept t) { //3 2101 if (t == null) 2102 return this; 2103 if (this.useContext == null) 2104 this.useContext = new ArrayList<CodeableConcept>(); 2105 this.useContext.add(t); 2106 return this; 2107 } 2108 2109 /** 2110 * @return {@link #requirements} (Explains why this concept map is needed and why it has been constrained as it has.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value 2111 */ 2112 public StringType getRequirementsElement() { 2113 if (this.requirements == null) 2114 if (Configuration.errorOnAutoCreate()) 2115 throw new Error("Attempt to auto-create ConceptMap.requirements"); 2116 else if (Configuration.doAutoCreate()) 2117 this.requirements = new StringType(); // bb 2118 return this.requirements; 2119 } 2120 2121 public boolean hasRequirementsElement() { 2122 return this.requirements != null && !this.requirements.isEmpty(); 2123 } 2124 2125 public boolean hasRequirements() { 2126 return this.requirements != null && !this.requirements.isEmpty(); 2127 } 2128 2129 /** 2130 * @param value {@link #requirements} (Explains why this concept map is needed and why it has been constrained as it has.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value 2131 */ 2132 public ConceptMap setRequirementsElement(StringType value) { 2133 this.requirements = value; 2134 return this; 2135 } 2136 2137 /** 2138 * @return Explains why this concept map is needed and why it has been constrained as it has. 2139 */ 2140 public String getRequirements() { 2141 return this.requirements == null ? null : this.requirements.getValue(); 2142 } 2143 2144 /** 2145 * @param value Explains why this concept map is needed and why it has been constrained as it has. 2146 */ 2147 public ConceptMap setRequirements(String value) { 2148 if (Utilities.noString(value)) 2149 this.requirements = null; 2150 else { 2151 if (this.requirements == null) 2152 this.requirements = new StringType(); 2153 this.requirements.setValue(value); 2154 } 2155 return this; 2156 } 2157 2158 /** 2159 * @return {@link #copyright} (A copyright statement relating to the concept map and/or its contents.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2160 */ 2161 public StringType getCopyrightElement() { 2162 if (this.copyright == null) 2163 if (Configuration.errorOnAutoCreate()) 2164 throw new Error("Attempt to auto-create ConceptMap.copyright"); 2165 else if (Configuration.doAutoCreate()) 2166 this.copyright = new StringType(); // bb 2167 return this.copyright; 2168 } 2169 2170 public boolean hasCopyrightElement() { 2171 return this.copyright != null && !this.copyright.isEmpty(); 2172 } 2173 2174 public boolean hasCopyright() { 2175 return this.copyright != null && !this.copyright.isEmpty(); 2176 } 2177 2178 /** 2179 * @param value {@link #copyright} (A copyright statement relating to the concept map and/or its contents.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2180 */ 2181 public ConceptMap setCopyrightElement(StringType value) { 2182 this.copyright = value; 2183 return this; 2184 } 2185 2186 /** 2187 * @return A copyright statement relating to the concept map and/or its contents. 2188 */ 2189 public String getCopyright() { 2190 return this.copyright == null ? null : this.copyright.getValue(); 2191 } 2192 2193 /** 2194 * @param value A copyright statement relating to the concept map and/or its contents. 2195 */ 2196 public ConceptMap setCopyright(String value) { 2197 if (Utilities.noString(value)) 2198 this.copyright = null; 2199 else { 2200 if (this.copyright == null) 2201 this.copyright = new StringType(); 2202 this.copyright.setValue(value); 2203 } 2204 return this; 2205 } 2206 2207 /** 2208 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 2209 */ 2210 public Type getSource() { 2211 return this.source; 2212 } 2213 2214 /** 2215 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 2216 */ 2217 public UriType getSourceUriType() throws FHIRException { 2218 if (!(this.source instanceof UriType)) 2219 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.source.getClass().getName()+" was encountered"); 2220 return (UriType) this.source; 2221 } 2222 2223 public boolean hasSourceUriType() { 2224 return this.source instanceof UriType; 2225 } 2226 2227 /** 2228 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 2229 */ 2230 public Reference getSourceReference() throws FHIRException { 2231 if (!(this.source instanceof Reference)) 2232 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.source.getClass().getName()+" was encountered"); 2233 return (Reference) this.source; 2234 } 2235 2236 public boolean hasSourceReference() { 2237 return this.source instanceof Reference; 2238 } 2239 2240 public boolean hasSource() { 2241 return this.source != null && !this.source.isEmpty(); 2242 } 2243 2244 /** 2245 * @param value {@link #source} (The source value set that specifies the concepts that are being mapped.) 2246 */ 2247 public ConceptMap setSource(Type value) { 2248 this.source = value; 2249 return this; 2250 } 2251 2252 /** 2253 * @return {@link #target} (The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.) 2254 */ 2255 public Type getTarget() { 2256 return this.target; 2257 } 2258 2259 /** 2260 * @return {@link #target} (The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.) 2261 */ 2262 public UriType getTargetUriType() throws FHIRException { 2263 if (!(this.target instanceof UriType)) 2264 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.target.getClass().getName()+" was encountered"); 2265 return (UriType) this.target; 2266 } 2267 2268 public boolean hasTargetUriType() { 2269 return this.target instanceof UriType; 2270 } 2271 2272 /** 2273 * @return {@link #target} (The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.) 2274 */ 2275 public Reference getTargetReference() throws FHIRException { 2276 if (!(this.target instanceof Reference)) 2277 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.target.getClass().getName()+" was encountered"); 2278 return (Reference) this.target; 2279 } 2280 2281 public boolean hasTargetReference() { 2282 return this.target instanceof Reference; 2283 } 2284 2285 public boolean hasTarget() { 2286 return this.target != null && !this.target.isEmpty(); 2287 } 2288 2289 /** 2290 * @param value {@link #target} (The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.) 2291 */ 2292 public ConceptMap setTarget(Type value) { 2293 this.target = value; 2294 return this; 2295 } 2296 2297 /** 2298 * @return {@link #element} (Mappings for an individual concept in the source to one or more concepts in the target.) 2299 */ 2300 public List<SourceElementComponent> getElement() { 2301 if (this.element == null) 2302 this.element = new ArrayList<SourceElementComponent>(); 2303 return this.element; 2304 } 2305 2306 public boolean hasElement() { 2307 if (this.element == null) 2308 return false; 2309 for (SourceElementComponent item : this.element) 2310 if (!item.isEmpty()) 2311 return true; 2312 return false; 2313 } 2314 2315 /** 2316 * @return {@link #element} (Mappings for an individual concept in the source to one or more concepts in the target.) 2317 */ 2318 // syntactic sugar 2319 public SourceElementComponent addElement() { //3 2320 SourceElementComponent t = new SourceElementComponent(); 2321 if (this.element == null) 2322 this.element = new ArrayList<SourceElementComponent>(); 2323 this.element.add(t); 2324 return t; 2325 } 2326 2327 // syntactic sugar 2328 public ConceptMap addElement(SourceElementComponent t) { //3 2329 if (t == null) 2330 return this; 2331 if (this.element == null) 2332 this.element = new ArrayList<SourceElementComponent>(); 2333 this.element.add(t); 2334 return this; 2335 } 2336 2337 protected void listChildren(List<Property> childrenList) { 2338 super.listChildren(childrenList); 2339 childrenList.add(new Property("url", "uri", "An absolute URL that is used to identify this concept map when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this concept map is (or will be) published.", 0, java.lang.Integer.MAX_VALUE, url)); 2340 childrenList.add(new Property("identifier", "Identifier", "Formal identifier that is used to identify this concept 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)); 2341 childrenList.add(new Property("version", "string", "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.", 0, java.lang.Integer.MAX_VALUE, version)); 2342 childrenList.add(new Property("name", "string", "A free text natural language name describing the concept map.", 0, java.lang.Integer.MAX_VALUE, name)); 2343 childrenList.add(new Property("status", "code", "The status of the concept map.", 0, java.lang.Integer.MAX_VALUE, status)); 2344 childrenList.add(new Property("experimental", "boolean", "This ConceptMap was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, java.lang.Integer.MAX_VALUE, experimental)); 2345 childrenList.add(new Property("publisher", "string", "The name of the individual or organization that published the concept map.", 0, java.lang.Integer.MAX_VALUE, publisher)); 2346 childrenList.add(new Property("contact", "", "Contacts to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 2347 childrenList.add(new Property("date", "dateTime", "The date this version of the concept map was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 0, java.lang.Integer.MAX_VALUE, date)); 2348 childrenList.add(new Property("description", "string", "A free text natural language description of the use of the concept map - reason for definition, conditions of use, etc.", 0, java.lang.Integer.MAX_VALUE, description)); 2349 childrenList.add(new Property("useContext", "CodeableConcept", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching of concept map instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 2350 childrenList.add(new Property("requirements", "string", "Explains why this concept map is needed and why it has been constrained as it has.", 0, java.lang.Integer.MAX_VALUE, requirements)); 2351 childrenList.add(new Property("copyright", "string", "A copyright statement relating to the concept map and/or its contents.", 0, java.lang.Integer.MAX_VALUE, copyright)); 2352 childrenList.add(new Property("source[x]", "uri|Reference(ValueSet|StructureDefinition)", "The source value set that specifies the concepts that are being mapped.", 0, java.lang.Integer.MAX_VALUE, source)); 2353 childrenList.add(new Property("target[x]", "uri|Reference(ValueSet|StructureDefinition)", "The target value set provides context to the mappings. Note that the mapping is made between concepts, not between value sets, but the value set provides important context about how the concept mapping choices are made.", 0, java.lang.Integer.MAX_VALUE, target)); 2354 childrenList.add(new Property("element", "", "Mappings for an individual concept in the source to one or more concepts in the target.", 0, java.lang.Integer.MAX_VALUE, element)); 2355 } 2356 2357 @Override 2358 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2359 switch (hash) { 2360 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 2361 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 2362 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 2363 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2364 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ConformanceResourceStatus> 2365 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 2366 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 2367 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ConceptMapContactComponent 2368 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2369 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 2370 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // CodeableConcept 2371 case -1619874672: /*requirements*/ return this.requirements == null ? new Base[0] : new Base[] {this.requirements}; // StringType 2372 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // StringType 2373 case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // Type 2374 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Type 2375 case -1662836996: /*element*/ return this.element == null ? new Base[0] : this.element.toArray(new Base[this.element.size()]); // SourceElementComponent 2376 default: return super.getProperty(hash, name, checkValid); 2377 } 2378 2379 } 2380 2381 @Override 2382 public void setProperty(int hash, String name, Base value) throws FHIRException { 2383 switch (hash) { 2384 case 116079: // url 2385 this.url = castToUri(value); // UriType 2386 break; 2387 case -1618432855: // identifier 2388 this.identifier = castToIdentifier(value); // Identifier 2389 break; 2390 case 351608024: // version 2391 this.version = castToString(value); // StringType 2392 break; 2393 case 3373707: // name 2394 this.name = castToString(value); // StringType 2395 break; 2396 case -892481550: // status 2397 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 2398 break; 2399 case -404562712: // experimental 2400 this.experimental = castToBoolean(value); // BooleanType 2401 break; 2402 case 1447404028: // publisher 2403 this.publisher = castToString(value); // StringType 2404 break; 2405 case 951526432: // contact 2406 this.getContact().add((ConceptMapContactComponent) value); // ConceptMapContactComponent 2407 break; 2408 case 3076014: // date 2409 this.date = castToDateTime(value); // DateTimeType 2410 break; 2411 case -1724546052: // description 2412 this.description = castToString(value); // StringType 2413 break; 2414 case -669707736: // useContext 2415 this.getUseContext().add(castToCodeableConcept(value)); // CodeableConcept 2416 break; 2417 case -1619874672: // requirements 2418 this.requirements = castToString(value); // StringType 2419 break; 2420 case 1522889671: // copyright 2421 this.copyright = castToString(value); // StringType 2422 break; 2423 case -896505829: // source 2424 this.source = (Type) value; // Type 2425 break; 2426 case -880905839: // target 2427 this.target = (Type) value; // Type 2428 break; 2429 case -1662836996: // element 2430 this.getElement().add((SourceElementComponent) value); // SourceElementComponent 2431 break; 2432 default: super.setProperty(hash, name, value); 2433 } 2434 2435 } 2436 2437 @Override 2438 public void setProperty(String name, Base value) throws FHIRException { 2439 if (name.equals("url")) 2440 this.url = castToUri(value); // UriType 2441 else if (name.equals("identifier")) 2442 this.identifier = castToIdentifier(value); // Identifier 2443 else if (name.equals("version")) 2444 this.version = castToString(value); // StringType 2445 else if (name.equals("name")) 2446 this.name = castToString(value); // StringType 2447 else if (name.equals("status")) 2448 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 2449 else if (name.equals("experimental")) 2450 this.experimental = castToBoolean(value); // BooleanType 2451 else if (name.equals("publisher")) 2452 this.publisher = castToString(value); // StringType 2453 else if (name.equals("contact")) 2454 this.getContact().add((ConceptMapContactComponent) value); 2455 else if (name.equals("date")) 2456 this.date = castToDateTime(value); // DateTimeType 2457 else if (name.equals("description")) 2458 this.description = castToString(value); // StringType 2459 else if (name.equals("useContext")) 2460 this.getUseContext().add(castToCodeableConcept(value)); 2461 else if (name.equals("requirements")) 2462 this.requirements = castToString(value); // StringType 2463 else if (name.equals("copyright")) 2464 this.copyright = castToString(value); // StringType 2465 else if (name.equals("source[x]")) 2466 this.source = (Type) value; // Type 2467 else if (name.equals("target[x]")) 2468 this.target = (Type) value; // Type 2469 else if (name.equals("element")) 2470 this.getElement().add((SourceElementComponent) value); 2471 else 2472 super.setProperty(name, value); 2473 } 2474 2475 @Override 2476 public Base makeProperty(int hash, String name) throws FHIRException { 2477 switch (hash) { 2478 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 2479 case -1618432855: return getIdentifier(); // Identifier 2480 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 2481 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 2482 case -892481550: throw new FHIRException("Cannot make property status as it is not a complex type"); // Enumeration<ConformanceResourceStatus> 2483 case -404562712: throw new FHIRException("Cannot make property experimental as it is not a complex type"); // BooleanType 2484 case 1447404028: throw new FHIRException("Cannot make property publisher as it is not a complex type"); // StringType 2485 case 951526432: return addContact(); // ConceptMapContactComponent 2486 case 3076014: throw new FHIRException("Cannot make property date as it is not a complex type"); // DateTimeType 2487 case -1724546052: throw new FHIRException("Cannot make property description as it is not a complex type"); // StringType 2488 case -669707736: return addUseContext(); // CodeableConcept 2489 case -1619874672: throw new FHIRException("Cannot make property requirements as it is not a complex type"); // StringType 2490 case 1522889671: throw new FHIRException("Cannot make property copyright as it is not a complex type"); // StringType 2491 case -1698413947: return getSource(); // Type 2492 case -815579825: return getTarget(); // Type 2493 case -1662836996: return addElement(); // SourceElementComponent 2494 default: return super.makeProperty(hash, name); 2495 } 2496 2497 } 2498 2499 @Override 2500 public Base addChild(String name) throws FHIRException { 2501 if (name.equals("url")) { 2502 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.url"); 2503 } 2504 else if (name.equals("identifier")) { 2505 this.identifier = new Identifier(); 2506 return this.identifier; 2507 } 2508 else if (name.equals("version")) { 2509 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.version"); 2510 } 2511 else if (name.equals("name")) { 2512 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.name"); 2513 } 2514 else if (name.equals("status")) { 2515 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.status"); 2516 } 2517 else if (name.equals("experimental")) { 2518 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.experimental"); 2519 } 2520 else if (name.equals("publisher")) { 2521 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.publisher"); 2522 } 2523 else if (name.equals("contact")) { 2524 return addContact(); 2525 } 2526 else if (name.equals("date")) { 2527 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.date"); 2528 } 2529 else if (name.equals("description")) { 2530 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.description"); 2531 } 2532 else if (name.equals("useContext")) { 2533 return addUseContext(); 2534 } 2535 else if (name.equals("requirements")) { 2536 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.requirements"); 2537 } 2538 else if (name.equals("copyright")) { 2539 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.copyright"); 2540 } 2541 else if (name.equals("sourceUri")) { 2542 this.source = new UriType(); 2543 return this.source; 2544 } 2545 else if (name.equals("sourceReference")) { 2546 this.source = new Reference(); 2547 return this.source; 2548 } 2549 else if (name.equals("targetUri")) { 2550 this.target = new UriType(); 2551 return this.target; 2552 } 2553 else if (name.equals("targetReference")) { 2554 this.target = new Reference(); 2555 return this.target; 2556 } 2557 else if (name.equals("element")) { 2558 return addElement(); 2559 } 2560 else 2561 return super.addChild(name); 2562 } 2563 2564 public String fhirType() { 2565 return "ConceptMap"; 2566 2567 } 2568 2569 public ConceptMap copy() { 2570 ConceptMap dst = new ConceptMap(); 2571 copyValues(dst); 2572 dst.url = url == null ? null : url.copy(); 2573 dst.identifier = identifier == null ? null : identifier.copy(); 2574 dst.version = version == null ? null : version.copy(); 2575 dst.name = name == null ? null : name.copy(); 2576 dst.status = status == null ? null : status.copy(); 2577 dst.experimental = experimental == null ? null : experimental.copy(); 2578 dst.publisher = publisher == null ? null : publisher.copy(); 2579 if (contact != null) { 2580 dst.contact = new ArrayList<ConceptMapContactComponent>(); 2581 for (ConceptMapContactComponent i : contact) 2582 dst.contact.add(i.copy()); 2583 }; 2584 dst.date = date == null ? null : date.copy(); 2585 dst.description = description == null ? null : description.copy(); 2586 if (useContext != null) { 2587 dst.useContext = new ArrayList<CodeableConcept>(); 2588 for (CodeableConcept i : useContext) 2589 dst.useContext.add(i.copy()); 2590 }; 2591 dst.requirements = requirements == null ? null : requirements.copy(); 2592 dst.copyright = copyright == null ? null : copyright.copy(); 2593 dst.source = source == null ? null : source.copy(); 2594 dst.target = target == null ? null : target.copy(); 2595 if (element != null) { 2596 dst.element = new ArrayList<SourceElementComponent>(); 2597 for (SourceElementComponent i : element) 2598 dst.element.add(i.copy()); 2599 }; 2600 return dst; 2601 } 2602 2603 protected ConceptMap typedCopy() { 2604 return copy(); 2605 } 2606 2607 @Override 2608 public boolean equalsDeep(Base other) { 2609 if (!super.equalsDeep(other)) 2610 return false; 2611 if (!(other instanceof ConceptMap)) 2612 return false; 2613 ConceptMap o = (ConceptMap) other; 2614 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 2615 && compareDeep(name, o.name, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) 2616 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(date, o.date, true) 2617 && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 2618 && compareDeep(requirements, o.requirements, true) && compareDeep(copyright, o.copyright, true) 2619 && compareDeep(source, o.source, true) && compareDeep(target, o.target, true) && compareDeep(element, o.element, true) 2620 ; 2621 } 2622 2623 @Override 2624 public boolean equalsShallow(Base other) { 2625 if (!super.equalsShallow(other)) 2626 return false; 2627 if (!(other instanceof ConceptMap)) 2628 return false; 2629 ConceptMap o = (ConceptMap) other; 2630 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 2631 && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(publisher, o.publisher, true) 2632 && compareValues(date, o.date, true) && compareValues(description, o.description, true) && compareValues(requirements, o.requirements, true) 2633 && compareValues(copyright, o.copyright, true); 2634 } 2635 2636 public boolean isEmpty() { 2637 return super.isEmpty() && (url == null || url.isEmpty()) && (identifier == null || identifier.isEmpty()) 2638 && (version == null || version.isEmpty()) && (name == null || name.isEmpty()) && (status == null || status.isEmpty()) 2639 && (experimental == null || experimental.isEmpty()) && (publisher == null || publisher.isEmpty()) 2640 && (contact == null || contact.isEmpty()) && (date == null || date.isEmpty()) && (description == null || description.isEmpty()) 2641 && (useContext == null || useContext.isEmpty()) && (requirements == null || requirements.isEmpty()) 2642 && (copyright == null || copyright.isEmpty()) && (source == null || source.isEmpty()) && (target == null || target.isEmpty()) 2643 && (element == null || element.isEmpty()); 2644 } 2645 2646 @Override 2647 public ResourceType getResourceType() { 2648 return ResourceType.ConceptMap; 2649 } 2650 2651 /** 2652 * Search parameter: <b>source-system</b> 2653 * <p> 2654 * Description: <b>Code System (if value set crosses code systems)</b><br> 2655 * Type: <b>uri</b><br> 2656 * Path: <b>ConceptMap.element.system</b><br> 2657 * </p> 2658 */ 2659 @SearchParamDefinition(name="source-system", path="ConceptMap.element.system", description="Code System (if value set crosses code systems)", type="uri" ) 2660 public static final String SP_SOURCE_SYSTEM = "source-system"; 2661 /** 2662 * <b>Fluent Client</b> search parameter constant for <b>source-system</b> 2663 * <p> 2664 * Description: <b>Code System (if value set crosses code systems)</b><br> 2665 * Type: <b>uri</b><br> 2666 * Path: <b>ConceptMap.element.system</b><br> 2667 * </p> 2668 */ 2669 public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE_SYSTEM); 2670 2671 /** 2672 * Search parameter: <b>dependson</b> 2673 * <p> 2674 * Description: <b>Reference to element/field/ValueSet mapping depends on</b><br> 2675 * Type: <b>uri</b><br> 2676 * Path: <b>ConceptMap.element.target.dependsOn.element</b><br> 2677 * </p> 2678 */ 2679 @SearchParamDefinition(name="dependson", path="ConceptMap.element.target.dependsOn.element", description="Reference to element/field/ValueSet mapping depends on", type="uri" ) 2680 public static final String SP_DEPENDSON = "dependson"; 2681 /** 2682 * <b>Fluent Client</b> search parameter constant for <b>dependson</b> 2683 * <p> 2684 * Description: <b>Reference to element/field/ValueSet mapping depends on</b><br> 2685 * Type: <b>uri</b><br> 2686 * Path: <b>ConceptMap.element.target.dependsOn.element</b><br> 2687 * </p> 2688 */ 2689 public static final ca.uhn.fhir.rest.gclient.UriClientParam DEPENDSON = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_DEPENDSON); 2690 2691 /** 2692 * Search parameter: <b>status</b> 2693 * <p> 2694 * Description: <b>Status of the concept map</b><br> 2695 * Type: <b>token</b><br> 2696 * Path: <b>ConceptMap.status</b><br> 2697 * </p> 2698 */ 2699 @SearchParamDefinition(name="status", path="ConceptMap.status", description="Status of the concept map", type="token" ) 2700 public static final String SP_STATUS = "status"; 2701 /** 2702 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2703 * <p> 2704 * Description: <b>Status of the concept map</b><br> 2705 * Type: <b>token</b><br> 2706 * Path: <b>ConceptMap.status</b><br> 2707 * </p> 2708 */ 2709 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2710 2711 /** 2712 * Search parameter: <b>date</b> 2713 * <p> 2714 * Description: <b>The concept map publication date</b><br> 2715 * Type: <b>date</b><br> 2716 * Path: <b>ConceptMap.date</b><br> 2717 * </p> 2718 */ 2719 @SearchParamDefinition(name="date", path="ConceptMap.date", description="The concept map publication date", type="date" ) 2720 public static final String SP_DATE = "date"; 2721 /** 2722 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2723 * <p> 2724 * Description: <b>The concept map publication date</b><br> 2725 * Type: <b>date</b><br> 2726 * Path: <b>ConceptMap.date</b><br> 2727 * </p> 2728 */ 2729 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2730 2731 /** 2732 * Search parameter: <b>url</b> 2733 * <p> 2734 * Description: <b>The URL of the concept map</b><br> 2735 * Type: <b>uri</b><br> 2736 * Path: <b>ConceptMap.url</b><br> 2737 * </p> 2738 */ 2739 @SearchParamDefinition(name="url", path="ConceptMap.url", description="The URL of the concept map", type="uri" ) 2740 public static final String SP_URL = "url"; 2741 /** 2742 * <b>Fluent Client</b> search parameter constant for <b>url</b> 2743 * <p> 2744 * Description: <b>The URL of the concept map</b><br> 2745 * Type: <b>uri</b><br> 2746 * Path: <b>ConceptMap.url</b><br> 2747 * </p> 2748 */ 2749 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 2750 2751 /** 2752 * Search parameter: <b>target-code</b> 2753 * <p> 2754 * Description: <b>Code that identifies the target element</b><br> 2755 * Type: <b>token</b><br> 2756 * Path: <b>ConceptMap.element.target.code</b><br> 2757 * </p> 2758 */ 2759 @SearchParamDefinition(name="target-code", path="ConceptMap.element.target.code", description="Code that identifies the target element", type="token" ) 2760 public static final String SP_TARGET_CODE = "target-code"; 2761 /** 2762 * <b>Fluent Client</b> search parameter constant for <b>target-code</b> 2763 * <p> 2764 * Description: <b>Code that identifies the target element</b><br> 2765 * Type: <b>token</b><br> 2766 * Path: <b>ConceptMap.element.target.code</b><br> 2767 * </p> 2768 */ 2769 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_CODE); 2770 2771 /** 2772 * Search parameter: <b>version</b> 2773 * <p> 2774 * Description: <b>The version identifier of the concept map</b><br> 2775 * Type: <b>token</b><br> 2776 * Path: <b>ConceptMap.version</b><br> 2777 * </p> 2778 */ 2779 @SearchParamDefinition(name="version", path="ConceptMap.version", description="The version identifier of the concept map", type="token" ) 2780 public static final String SP_VERSION = "version"; 2781 /** 2782 * <b>Fluent Client</b> search parameter constant for <b>version</b> 2783 * <p> 2784 * Description: <b>The version identifier of the concept map</b><br> 2785 * Type: <b>token</b><br> 2786 * Path: <b>ConceptMap.version</b><br> 2787 * </p> 2788 */ 2789 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 2790 2791 /** 2792 * Search parameter: <b>publisher</b> 2793 * <p> 2794 * Description: <b>Name of the publisher of the concept map</b><br> 2795 * Type: <b>string</b><br> 2796 * Path: <b>ConceptMap.publisher</b><br> 2797 * </p> 2798 */ 2799 @SearchParamDefinition(name="publisher", path="ConceptMap.publisher", description="Name of the publisher of the concept map", type="string" ) 2800 public static final String SP_PUBLISHER = "publisher"; 2801 /** 2802 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 2803 * <p> 2804 * Description: <b>Name of the publisher of the concept map</b><br> 2805 * Type: <b>string</b><br> 2806 * Path: <b>ConceptMap.publisher</b><br> 2807 * </p> 2808 */ 2809 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 2810 2811 /** 2812 * Search parameter: <b>product</b> 2813 * <p> 2814 * Description: <b>Reference to element/field/ValueSet mapping depends on</b><br> 2815 * Type: <b>uri</b><br> 2816 * Path: <b>ConceptMap.element.target.product.element</b><br> 2817 * </p> 2818 */ 2819 @SearchParamDefinition(name="product", path="ConceptMap.element.target.product.element", description="Reference to element/field/ValueSet mapping depends on", type="uri" ) 2820 public static final String SP_PRODUCT = "product"; 2821 /** 2822 * <b>Fluent Client</b> search parameter constant for <b>product</b> 2823 * <p> 2824 * Description: <b>Reference to element/field/ValueSet mapping depends on</b><br> 2825 * Type: <b>uri</b><br> 2826 * Path: <b>ConceptMap.element.target.product.element</b><br> 2827 * </p> 2828 */ 2829 public static final ca.uhn.fhir.rest.gclient.UriClientParam PRODUCT = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_PRODUCT); 2830 2831 /** 2832 * Search parameter: <b>source-code</b> 2833 * <p> 2834 * Description: <b>Identifies element being mapped</b><br> 2835 * Type: <b>token</b><br> 2836 * Path: <b>ConceptMap.element.code</b><br> 2837 * </p> 2838 */ 2839 @SearchParamDefinition(name="source-code", path="ConceptMap.element.code", description="Identifies element being mapped", type="token" ) 2840 public static final String SP_SOURCE_CODE = "source-code"; 2841 /** 2842 * <b>Fluent Client</b> search parameter constant for <b>source-code</b> 2843 * <p> 2844 * Description: <b>Identifies element being mapped</b><br> 2845 * Type: <b>token</b><br> 2846 * Path: <b>ConceptMap.element.code</b><br> 2847 * </p> 2848 */ 2849 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SOURCE_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SOURCE_CODE); 2850 2851 /** 2852 * Search parameter: <b>source-uri</b> 2853 * <p> 2854 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 2855 * Type: <b>reference</b><br> 2856 * Path: <b>ConceptMap.sourceUri</b><br> 2857 * </p> 2858 */ 2859 @SearchParamDefinition(name="source-uri", path="ConceptMap.source.as(Uri)", description="Identifies the source of the concepts which are being mapped", type="reference" ) 2860 public static final String SP_SOURCE_URI = "source-uri"; 2861 /** 2862 * <b>Fluent Client</b> search parameter constant for <b>source-uri</b> 2863 * <p> 2864 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 2865 * Type: <b>reference</b><br> 2866 * Path: <b>ConceptMap.sourceUri</b><br> 2867 * </p> 2868 */ 2869 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_URI); 2870 2871/** 2872 * Constant for fluent queries to be used to add include statements. Specifies 2873 * the path value of "<b>ConceptMap:source-uri</b>". 2874 */ 2875 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_URI = new ca.uhn.fhir.model.api.Include("ConceptMap:source-uri").toLocked(); 2876 2877 /** 2878 * Search parameter: <b>source</b> 2879 * <p> 2880 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 2881 * Type: <b>reference</b><br> 2882 * Path: <b>ConceptMap.sourceReference</b><br> 2883 * </p> 2884 */ 2885 @SearchParamDefinition(name="source", path="ConceptMap.source.as(Reference)", description="Identifies the source of the concepts which are being mapped", type="reference" ) 2886 public static final String SP_SOURCE = "source"; 2887 /** 2888 * <b>Fluent Client</b> search parameter constant for <b>source</b> 2889 * <p> 2890 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 2891 * Type: <b>reference</b><br> 2892 * Path: <b>ConceptMap.sourceReference</b><br> 2893 * </p> 2894 */ 2895 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE); 2896 2897/** 2898 * Constant for fluent queries to be used to add include statements. Specifies 2899 * the path value of "<b>ConceptMap:source</b>". 2900 */ 2901 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE = new ca.uhn.fhir.model.api.Include("ConceptMap:source").toLocked(); 2902 2903 /** 2904 * Search parameter: <b>description</b> 2905 * <p> 2906 * Description: <b>Text search in the description of the concept map</b><br> 2907 * Type: <b>string</b><br> 2908 * Path: <b>ConceptMap.description</b><br> 2909 * </p> 2910 */ 2911 @SearchParamDefinition(name="description", path="ConceptMap.description", description="Text search in the description of the concept map", type="string" ) 2912 public static final String SP_DESCRIPTION = "description"; 2913 /** 2914 * <b>Fluent Client</b> search parameter constant for <b>description</b> 2915 * <p> 2916 * Description: <b>Text search in the description of the concept map</b><br> 2917 * Type: <b>string</b><br> 2918 * Path: <b>ConceptMap.description</b><br> 2919 * </p> 2920 */ 2921 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 2922 2923 /** 2924 * Search parameter: <b>name</b> 2925 * <p> 2926 * Description: <b>Name of the concept map</b><br> 2927 * Type: <b>string</b><br> 2928 * Path: <b>ConceptMap.name</b><br> 2929 * </p> 2930 */ 2931 @SearchParamDefinition(name="name", path="ConceptMap.name", description="Name of the concept map", type="string" ) 2932 public static final String SP_NAME = "name"; 2933 /** 2934 * <b>Fluent Client</b> search parameter constant for <b>name</b> 2935 * <p> 2936 * Description: <b>Name of the concept map</b><br> 2937 * Type: <b>string</b><br> 2938 * Path: <b>ConceptMap.name</b><br> 2939 * </p> 2940 */ 2941 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 2942 2943 /** 2944 * Search parameter: <b>context</b> 2945 * <p> 2946 * Description: <b>A use context assigned to the concept map</b><br> 2947 * Type: <b>token</b><br> 2948 * Path: <b>ConceptMap.useContext</b><br> 2949 * </p> 2950 */ 2951 @SearchParamDefinition(name="context", path="ConceptMap.useContext", description="A use context assigned to the concept map", type="token" ) 2952 public static final String SP_CONTEXT = "context"; 2953 /** 2954 * <b>Fluent Client</b> search parameter constant for <b>context</b> 2955 * <p> 2956 * Description: <b>A use context assigned to the concept map</b><br> 2957 * Type: <b>token</b><br> 2958 * Path: <b>ConceptMap.useContext</b><br> 2959 * </p> 2960 */ 2961 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 2962 2963 /** 2964 * Search parameter: <b>target</b> 2965 * <p> 2966 * Description: <b>Provides context to the mappings</b><br> 2967 * Type: <b>reference</b><br> 2968 * Path: <b>ConceptMap.target[x]</b><br> 2969 * </p> 2970 */ 2971 @SearchParamDefinition(name="target", path="ConceptMap.target", description="Provides context to the mappings", type="reference" ) 2972 public static final String SP_TARGET = "target"; 2973 /** 2974 * <b>Fluent Client</b> search parameter constant for <b>target</b> 2975 * <p> 2976 * Description: <b>Provides context to the mappings</b><br> 2977 * Type: <b>reference</b><br> 2978 * Path: <b>ConceptMap.target[x]</b><br> 2979 * </p> 2980 */ 2981 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET); 2982 2983/** 2984 * Constant for fluent queries to be used to add include statements. Specifies 2985 * the path value of "<b>ConceptMap:target</b>". 2986 */ 2987 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include("ConceptMap:target").toLocked(); 2988 2989 /** 2990 * Search parameter: <b>identifier</b> 2991 * <p> 2992 * Description: <b>Additional identifier for the concept map</b><br> 2993 * Type: <b>token</b><br> 2994 * Path: <b>ConceptMap.identifier</b><br> 2995 * </p> 2996 */ 2997 @SearchParamDefinition(name="identifier", path="ConceptMap.identifier", description="Additional identifier for the concept map", type="token" ) 2998 public static final String SP_IDENTIFIER = "identifier"; 2999 /** 3000 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3001 * <p> 3002 * Description: <b>Additional identifier for the concept map</b><br> 3003 * Type: <b>token</b><br> 3004 * Path: <b>ConceptMap.identifier</b><br> 3005 * </p> 3006 */ 3007 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3008 3009 /** 3010 * Search parameter: <b>target-system</b> 3011 * <p> 3012 * Description: <b>System of the target (if necessary)</b><br> 3013 * Type: <b>uri</b><br> 3014 * Path: <b>ConceptMap.element.target.system</b><br> 3015 * </p> 3016 */ 3017 @SearchParamDefinition(name="target-system", path="ConceptMap.element.target.system", description="System of the target (if necessary)", type="uri" ) 3018 public static final String SP_TARGET_SYSTEM = "target-system"; 3019 /** 3020 * <b>Fluent Client</b> search parameter constant for <b>target-system</b> 3021 * <p> 3022 * Description: <b>System of the target (if necessary)</b><br> 3023 * Type: <b>uri</b><br> 3024 * Path: <b>ConceptMap.element.target.system</b><br> 3025 * </p> 3026 */ 3027 public static final ca.uhn.fhir.rest.gclient.UriClientParam TARGET_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_TARGET_SYSTEM); 3028 3029 3030} 3031