001package org.hl7.fhir.dstu3.model; 002 003/*- 004 * #%L 005 * org.hl7.fhir.dstu3 006 * %% 007 * Copyright (C) 2014 - 2019 Health Level 7 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023 024/* 025 Copyright (c) 2011+, HL7, Inc. 026 All rights reserved. 027 028 Redistribution and use in source and binary forms, with or without modification, 029 are permitted provided that the following conditions are met: 030 031 * Redistributions of source code must retain the above copyright notice, this 032 list of conditions and the following disclaimer. 033 * Redistributions in binary form must reproduce the above copyright notice, 034 this list of conditions and the following disclaimer in the documentation 035 and/or other materials provided with the distribution. 036 * Neither the name of HL7 nor the names of its contributors may be used to 037 endorse or promote products derived from this software without specific 038 prior written permission. 039 040 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 041 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 042 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 043 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 044 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 045 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 046 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 047 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 048 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 049 POSSIBILITY OF SUCH DAMAGE. 050 051*/ 052 053// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 054import java.util.ArrayList; 055import java.util.Date; 056import java.util.List; 057 058import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence; 059import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalenceEnumFactory; 060import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus; 061import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatusEnumFactory; 062import org.hl7.fhir.exceptions.FHIRException; 063import org.hl7.fhir.exceptions.FHIRFormatError; 064import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 065import org.hl7.fhir.utilities.Utilities; 066 067import ca.uhn.fhir.model.api.annotation.Block; 068import ca.uhn.fhir.model.api.annotation.Child; 069import ca.uhn.fhir.model.api.annotation.ChildOrder; 070import ca.uhn.fhir.model.api.annotation.Description; 071import ca.uhn.fhir.model.api.annotation.ResourceDef; 072import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 073/** 074 * 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. 075 */ 076@ResourceDef(name="ConceptMap", profile="http://hl7.org/fhir/Profile/ConceptMap") 077@ChildOrder(names={"url", "identifier", "version", "name", "title", "status", "experimental", "date", "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "copyright", "source[x]", "target[x]", "group"}) 078public class ConceptMap extends MetadataResource { 079 080 public enum ConceptMapGroupUnmappedMode { 081 /** 082 * Use the code as provided in the $translate request 083 */ 084 PROVIDED, 085 /** 086 * Use the code explicitly provided in the group.unmapped 087 */ 088 FIXED, 089 /** 090 * Use the map identified by the canonical URL in URL 091 */ 092 OTHERMAP, 093 /** 094 * added to help the parsers with the generic types 095 */ 096 NULL; 097 public static ConceptMapGroupUnmappedMode fromCode(String codeString) throws FHIRException { 098 if (codeString == null || "".equals(codeString)) 099 return null; 100 if ("provided".equals(codeString)) 101 return PROVIDED; 102 if ("fixed".equals(codeString)) 103 return FIXED; 104 if ("other-map".equals(codeString)) 105 return OTHERMAP; 106 if (Configuration.isAcceptInvalidEnums()) 107 return null; 108 else 109 throw new FHIRException("Unknown ConceptMapGroupUnmappedMode code '"+codeString+"'"); 110 } 111 public String toCode() { 112 switch (this) { 113 case PROVIDED: return "provided"; 114 case FIXED: return "fixed"; 115 case OTHERMAP: return "other-map"; 116 default: return "?"; 117 } 118 } 119 public String getSystem() { 120 switch (this) { 121 case PROVIDED: return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 122 case FIXED: return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 123 case OTHERMAP: return "http://hl7.org/fhir/conceptmap-unmapped-mode"; 124 default: return "?"; 125 } 126 } 127 public String getDefinition() { 128 switch (this) { 129 case PROVIDED: return "Use the code as provided in the $translate request"; 130 case FIXED: return "Use the code explicitly provided in the group.unmapped"; 131 case OTHERMAP: return "Use the map identified by the canonical URL in URL"; 132 default: return "?"; 133 } 134 } 135 public String getDisplay() { 136 switch (this) { 137 case PROVIDED: return "Provided Code"; 138 case FIXED: return "Fixed Code"; 139 case OTHERMAP: return "Other Map"; 140 default: return "?"; 141 } 142 } 143 } 144 145 public static class ConceptMapGroupUnmappedModeEnumFactory implements EnumFactory<ConceptMapGroupUnmappedMode> { 146 public ConceptMapGroupUnmappedMode fromCode(String codeString) throws IllegalArgumentException { 147 if (codeString == null || "".equals(codeString)) 148 if (codeString == null || "".equals(codeString)) 149 return null; 150 if ("provided".equals(codeString)) 151 return ConceptMapGroupUnmappedMode.PROVIDED; 152 if ("fixed".equals(codeString)) 153 return ConceptMapGroupUnmappedMode.FIXED; 154 if ("other-map".equals(codeString)) 155 return ConceptMapGroupUnmappedMode.OTHERMAP; 156 throw new IllegalArgumentException("Unknown ConceptMapGroupUnmappedMode code '"+codeString+"'"); 157 } 158 public Enumeration<ConceptMapGroupUnmappedMode> fromType(Base code) throws FHIRException { 159 if (code == null) 160 return null; 161 if (code.isEmpty()) 162 return new Enumeration<ConceptMapGroupUnmappedMode>(this); 163 String codeString = ((PrimitiveType) code).asStringValue(); 164 if (codeString == null || "".equals(codeString)) 165 return null; 166 if ("provided".equals(codeString)) 167 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.PROVIDED); 168 if ("fixed".equals(codeString)) 169 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.FIXED); 170 if ("other-map".equals(codeString)) 171 return new Enumeration<ConceptMapGroupUnmappedMode>(this, ConceptMapGroupUnmappedMode.OTHERMAP); 172 throw new FHIRException("Unknown ConceptMapGroupUnmappedMode code '"+codeString+"'"); 173 } 174 public String toCode(ConceptMapGroupUnmappedMode code) { 175 if (code == ConceptMapGroupUnmappedMode.PROVIDED) 176 return "provided"; 177 if (code == ConceptMapGroupUnmappedMode.FIXED) 178 return "fixed"; 179 if (code == ConceptMapGroupUnmappedMode.OTHERMAP) 180 return "other-map"; 181 return "?"; 182 } 183 public String toSystem(ConceptMapGroupUnmappedMode code) { 184 return code.getSystem(); 185 } 186 } 187 188 @Block() 189 public static class ConceptMapGroupComponent extends BackboneElement implements IBaseBackboneElement { 190 /** 191 * An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 192 */ 193 @Child(name = "source", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 194 @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)." ) 195 protected UriType source; 196 197 /** 198 * The specific version of the code system, as determined by the code system authority. 199 */ 200 @Child(name = "sourceVersion", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 201 @Description(shortDefinition="Specific version of the code system", formalDefinition="The specific version of the code system, as determined by the code system authority." ) 202 protected StringType sourceVersion; 203 204 /** 205 * An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). 206 */ 207 @Child(name = "target", type = {UriType.class}, order=3, min=0, max=1, modifier=false, summary=false) 208 @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)." ) 209 protected UriType target; 210 211 /** 212 * The specific version of the code system, as determined by the code system authority. 213 */ 214 @Child(name = "targetVersion", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 215 @Description(shortDefinition="Specific version of the code system", formalDefinition="The specific version of the code system, as determined by the code system authority." ) 216 protected StringType targetVersion; 217 218 /** 219 * Mappings for an individual concept in the source to one or more concepts in the target. 220 */ 221 @Child(name = "element", type = {}, order=5, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 222 @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." ) 223 protected List<SourceElementComponent> element; 224 225 /** 226 * What to do when there is no match in the mappings in the group. 227 */ 228 @Child(name = "unmapped", type = {}, order=6, min=0, max=1, modifier=false, summary=false) 229 @Description(shortDefinition="When no match in the mappings", formalDefinition="What to do when there is no match in the mappings in the group." ) 230 protected ConceptMapGroupUnmappedComponent unmapped; 231 232 private static final long serialVersionUID = 1606357508L; 233 234 /** 235 * Constructor 236 */ 237 public ConceptMapGroupComponent() { 238 super(); 239 } 240 241 /** 242 * @return {@link #source} (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 "getSource" gives direct access to the value 243 */ 244 public UriType getSourceElement() { 245 if (this.source == null) 246 if (Configuration.errorOnAutoCreate()) 247 throw new Error("Attempt to auto-create ConceptMapGroupComponent.source"); 248 else if (Configuration.doAutoCreate()) 249 this.source = new UriType(); // bb 250 return this.source; 251 } 252 253 public boolean hasSourceElement() { 254 return this.source != null && !this.source.isEmpty(); 255 } 256 257 public boolean hasSource() { 258 return this.source != null && !this.source.isEmpty(); 259 } 260 261 /** 262 * @param value {@link #source} (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 "getSource" gives direct access to the value 263 */ 264 public ConceptMapGroupComponent setSourceElement(UriType value) { 265 this.source = value; 266 return this; 267 } 268 269 /** 270 * @return An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 271 */ 272 public String getSource() { 273 return this.source == null ? null : this.source.getValue(); 274 } 275 276 /** 277 * @param value An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system). 278 */ 279 public ConceptMapGroupComponent setSource(String value) { 280 if (Utilities.noString(value)) 281 this.source = null; 282 else { 283 if (this.source == null) 284 this.source = new UriType(); 285 this.source.setValue(value); 286 } 287 return this; 288 } 289 290 /** 291 * @return {@link #sourceVersion} (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 "getSourceVersion" gives direct access to the value 292 */ 293 public StringType getSourceVersionElement() { 294 if (this.sourceVersion == null) 295 if (Configuration.errorOnAutoCreate()) 296 throw new Error("Attempt to auto-create ConceptMapGroupComponent.sourceVersion"); 297 else if (Configuration.doAutoCreate()) 298 this.sourceVersion = new StringType(); // bb 299 return this.sourceVersion; 300 } 301 302 public boolean hasSourceVersionElement() { 303 return this.sourceVersion != null && !this.sourceVersion.isEmpty(); 304 } 305 306 public boolean hasSourceVersion() { 307 return this.sourceVersion != null && !this.sourceVersion.isEmpty(); 308 } 309 310 /** 311 * @param value {@link #sourceVersion} (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 "getSourceVersion" gives direct access to the value 312 */ 313 public ConceptMapGroupComponent setSourceVersionElement(StringType value) { 314 this.sourceVersion = value; 315 return this; 316 } 317 318 /** 319 * @return The specific version of the code system, as determined by the code system authority. 320 */ 321 public String getSourceVersion() { 322 return this.sourceVersion == null ? null : this.sourceVersion.getValue(); 323 } 324 325 /** 326 * @param value The specific version of the code system, as determined by the code system authority. 327 */ 328 public ConceptMapGroupComponent setSourceVersion(String value) { 329 if (Utilities.noString(value)) 330 this.sourceVersion = null; 331 else { 332 if (this.sourceVersion == null) 333 this.sourceVersion = new StringType(); 334 this.sourceVersion.setValue(value); 335 } 336 return this; 337 } 338 339 /** 340 * @return {@link #target} (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 "getTarget" gives direct access to the value 341 */ 342 public UriType getTargetElement() { 343 if (this.target == null) 344 if (Configuration.errorOnAutoCreate()) 345 throw new Error("Attempt to auto-create ConceptMapGroupComponent.target"); 346 else if (Configuration.doAutoCreate()) 347 this.target = new UriType(); // bb 348 return this.target; 349 } 350 351 public boolean hasTargetElement() { 352 return this.target != null && !this.target.isEmpty(); 353 } 354 355 public boolean hasTarget() { 356 return this.target != null && !this.target.isEmpty(); 357 } 358 359 /** 360 * @param value {@link #target} (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 "getTarget" gives direct access to the value 361 */ 362 public ConceptMapGroupComponent setTargetElement(UriType value) { 363 this.target = value; 364 return this; 365 } 366 367 /** 368 * @return An absolute URI that identifies the code system of the target code (if the target is a value set that cross code systems). 369 */ 370 public String getTarget() { 371 return this.target == null ? null : this.target.getValue(); 372 } 373 374 /** 375 * @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). 376 */ 377 public ConceptMapGroupComponent setTarget(String value) { 378 if (Utilities.noString(value)) 379 this.target = null; 380 else { 381 if (this.target == null) 382 this.target = new UriType(); 383 this.target.setValue(value); 384 } 385 return this; 386 } 387 388 /** 389 * @return {@link #targetVersion} (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 "getTargetVersion" gives direct access to the value 390 */ 391 public StringType getTargetVersionElement() { 392 if (this.targetVersion == null) 393 if (Configuration.errorOnAutoCreate()) 394 throw new Error("Attempt to auto-create ConceptMapGroupComponent.targetVersion"); 395 else if (Configuration.doAutoCreate()) 396 this.targetVersion = new StringType(); // bb 397 return this.targetVersion; 398 } 399 400 public boolean hasTargetVersionElement() { 401 return this.targetVersion != null && !this.targetVersion.isEmpty(); 402 } 403 404 public boolean hasTargetVersion() { 405 return this.targetVersion != null && !this.targetVersion.isEmpty(); 406 } 407 408 /** 409 * @param value {@link #targetVersion} (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 "getTargetVersion" gives direct access to the value 410 */ 411 public ConceptMapGroupComponent setTargetVersionElement(StringType value) { 412 this.targetVersion = value; 413 return this; 414 } 415 416 /** 417 * @return The specific version of the code system, as determined by the code system authority. 418 */ 419 public String getTargetVersion() { 420 return this.targetVersion == null ? null : this.targetVersion.getValue(); 421 } 422 423 /** 424 * @param value The specific version of the code system, as determined by the code system authority. 425 */ 426 public ConceptMapGroupComponent setTargetVersion(String value) { 427 if (Utilities.noString(value)) 428 this.targetVersion = null; 429 else { 430 if (this.targetVersion == null) 431 this.targetVersion = new StringType(); 432 this.targetVersion.setValue(value); 433 } 434 return this; 435 } 436 437 /** 438 * @return {@link #element} (Mappings for an individual concept in the source to one or more concepts in the target.) 439 */ 440 public List<SourceElementComponent> getElement() { 441 if (this.element == null) 442 this.element = new ArrayList<SourceElementComponent>(); 443 return this.element; 444 } 445 446 /** 447 * @return Returns a reference to <code>this</code> for easy method chaining 448 */ 449 public ConceptMapGroupComponent setElement(List<SourceElementComponent> theElement) { 450 this.element = theElement; 451 return this; 452 } 453 454 public boolean hasElement() { 455 if (this.element == null) 456 return false; 457 for (SourceElementComponent item : this.element) 458 if (!item.isEmpty()) 459 return true; 460 return false; 461 } 462 463 public SourceElementComponent addElement() { //3 464 SourceElementComponent t = new SourceElementComponent(); 465 if (this.element == null) 466 this.element = new ArrayList<SourceElementComponent>(); 467 this.element.add(t); 468 return t; 469 } 470 471 public ConceptMapGroupComponent addElement(SourceElementComponent t) { //3 472 if (t == null) 473 return this; 474 if (this.element == null) 475 this.element = new ArrayList<SourceElementComponent>(); 476 this.element.add(t); 477 return this; 478 } 479 480 /** 481 * @return The first repetition of repeating field {@link #element}, creating it if it does not already exist 482 */ 483 public SourceElementComponent getElementFirstRep() { 484 if (getElement().isEmpty()) { 485 addElement(); 486 } 487 return getElement().get(0); 488 } 489 490 /** 491 * @return {@link #unmapped} (What to do when there is no match in the mappings in the group.) 492 */ 493 public ConceptMapGroupUnmappedComponent getUnmapped() { 494 if (this.unmapped == null) 495 if (Configuration.errorOnAutoCreate()) 496 throw new Error("Attempt to auto-create ConceptMapGroupComponent.unmapped"); 497 else if (Configuration.doAutoCreate()) 498 this.unmapped = new ConceptMapGroupUnmappedComponent(); // cc 499 return this.unmapped; 500 } 501 502 public boolean hasUnmapped() { 503 return this.unmapped != null && !this.unmapped.isEmpty(); 504 } 505 506 /** 507 * @param value {@link #unmapped} (What to do when there is no match in the mappings in the group.) 508 */ 509 public ConceptMapGroupComponent setUnmapped(ConceptMapGroupUnmappedComponent value) { 510 this.unmapped = value; 511 return this; 512 } 513 514 protected void listChildren(List<Property> children) { 515 super.listChildren(children); 516 children.add(new Property("source", "uri", "An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).", 0, 1, source)); 517 children.add(new Property("sourceVersion", "string", "The specific version of the code system, as determined by the code system authority.", 0, 1, sourceVersion)); 518 children.add(new Property("target", "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, 1, target)); 519 children.add(new Property("targetVersion", "string", "The specific version of the code system, as determined by the code system authority.", 0, 1, targetVersion)); 520 children.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)); 521 children.add(new Property("unmapped", "", "What to do when there is no match in the mappings in the group.", 0, 1, unmapped)); 522 } 523 524 @Override 525 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 526 switch (_hash) { 527 case -896505829: /*source*/ return new Property("source", "uri", "An absolute URI that identifies the Code System (if the source is a value set that crosses more than one code system).", 0, 1, source); 528 case 446171197: /*sourceVersion*/ return new Property("sourceVersion", "string", "The specific version of the code system, as determined by the code system authority.", 0, 1, sourceVersion); 529 case -880905839: /*target*/ return new Property("target", "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, 1, target); 530 case -1639412217: /*targetVersion*/ return new Property("targetVersion", "string", "The specific version of the code system, as determined by the code system authority.", 0, 1, targetVersion); 531 case -1662836996: /*element*/ return 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); 532 case -194857460: /*unmapped*/ return new Property("unmapped", "", "What to do when there is no match in the mappings in the group.", 0, 1, unmapped); 533 default: return super.getNamedProperty(_hash, _name, _checkValid); 534 } 535 536 } 537 538 @Override 539 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 540 switch (hash) { 541 case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // UriType 542 case 446171197: /*sourceVersion*/ return this.sourceVersion == null ? new Base[0] : new Base[] {this.sourceVersion}; // StringType 543 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // UriType 544 case -1639412217: /*targetVersion*/ return this.targetVersion == null ? new Base[0] : new Base[] {this.targetVersion}; // StringType 545 case -1662836996: /*element*/ return this.element == null ? new Base[0] : this.element.toArray(new Base[this.element.size()]); // SourceElementComponent 546 case -194857460: /*unmapped*/ return this.unmapped == null ? new Base[0] : new Base[] {this.unmapped}; // ConceptMapGroupUnmappedComponent 547 default: return super.getProperty(hash, name, checkValid); 548 } 549 550 } 551 552 @Override 553 public Base setProperty(int hash, String name, Base value) throws FHIRException { 554 switch (hash) { 555 case -896505829: // source 556 this.source = castToUri(value); // UriType 557 return value; 558 case 446171197: // sourceVersion 559 this.sourceVersion = castToString(value); // StringType 560 return value; 561 case -880905839: // target 562 this.target = castToUri(value); // UriType 563 return value; 564 case -1639412217: // targetVersion 565 this.targetVersion = castToString(value); // StringType 566 return value; 567 case -1662836996: // element 568 this.getElement().add((SourceElementComponent) value); // SourceElementComponent 569 return value; 570 case -194857460: // unmapped 571 this.unmapped = (ConceptMapGroupUnmappedComponent) value; // ConceptMapGroupUnmappedComponent 572 return value; 573 default: return super.setProperty(hash, name, value); 574 } 575 576 } 577 578 @Override 579 public Base setProperty(String name, Base value) throws FHIRException { 580 if (name.equals("source")) { 581 this.source = castToUri(value); // UriType 582 } else if (name.equals("sourceVersion")) { 583 this.sourceVersion = castToString(value); // StringType 584 } else if (name.equals("target")) { 585 this.target = castToUri(value); // UriType 586 } else if (name.equals("targetVersion")) { 587 this.targetVersion = castToString(value); // StringType 588 } else if (name.equals("element")) { 589 this.getElement().add((SourceElementComponent) value); 590 } else if (name.equals("unmapped")) { 591 this.unmapped = (ConceptMapGroupUnmappedComponent) value; // ConceptMapGroupUnmappedComponent 592 } else 593 return super.setProperty(name, value); 594 return value; 595 } 596 597 @Override 598 public Base makeProperty(int hash, String name) throws FHIRException { 599 switch (hash) { 600 case -896505829: return getSourceElement(); 601 case 446171197: return getSourceVersionElement(); 602 case -880905839: return getTargetElement(); 603 case -1639412217: return getTargetVersionElement(); 604 case -1662836996: return addElement(); 605 case -194857460: return getUnmapped(); 606 default: return super.makeProperty(hash, name); 607 } 608 609 } 610 611 @Override 612 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 613 switch (hash) { 614 case -896505829: /*source*/ return new String[] {"uri"}; 615 case 446171197: /*sourceVersion*/ return new String[] {"string"}; 616 case -880905839: /*target*/ return new String[] {"uri"}; 617 case -1639412217: /*targetVersion*/ return new String[] {"string"}; 618 case -1662836996: /*element*/ return new String[] {}; 619 case -194857460: /*unmapped*/ return new String[] {}; 620 default: return super.getTypesForProperty(hash, name); 621 } 622 623 } 624 625 @Override 626 public Base addChild(String name) throws FHIRException { 627 if (name.equals("source")) { 628 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.source"); 629 } 630 else if (name.equals("sourceVersion")) { 631 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.sourceVersion"); 632 } 633 else if (name.equals("target")) { 634 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.target"); 635 } 636 else if (name.equals("targetVersion")) { 637 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.targetVersion"); 638 } 639 else if (name.equals("element")) { 640 return addElement(); 641 } 642 else if (name.equals("unmapped")) { 643 this.unmapped = new ConceptMapGroupUnmappedComponent(); 644 return this.unmapped; 645 } 646 else 647 return super.addChild(name); 648 } 649 650 public ConceptMapGroupComponent copy() { 651 ConceptMapGroupComponent dst = new ConceptMapGroupComponent(); 652 copyValues(dst); 653 dst.source = source == null ? null : source.copy(); 654 dst.sourceVersion = sourceVersion == null ? null : sourceVersion.copy(); 655 dst.target = target == null ? null : target.copy(); 656 dst.targetVersion = targetVersion == null ? null : targetVersion.copy(); 657 if (element != null) { 658 dst.element = new ArrayList<SourceElementComponent>(); 659 for (SourceElementComponent i : element) 660 dst.element.add(i.copy()); 661 }; 662 dst.unmapped = unmapped == null ? null : unmapped.copy(); 663 return dst; 664 } 665 666 @Override 667 public boolean equalsDeep(Base other_) { 668 if (!super.equalsDeep(other_)) 669 return false; 670 if (!(other_ instanceof ConceptMapGroupComponent)) 671 return false; 672 ConceptMapGroupComponent o = (ConceptMapGroupComponent) other_; 673 return compareDeep(source, o.source, true) && compareDeep(sourceVersion, o.sourceVersion, true) 674 && compareDeep(target, o.target, true) && compareDeep(targetVersion, o.targetVersion, true) && compareDeep(element, o.element, true) 675 && compareDeep(unmapped, o.unmapped, true); 676 } 677 678 @Override 679 public boolean equalsShallow(Base other_) { 680 if (!super.equalsShallow(other_)) 681 return false; 682 if (!(other_ instanceof ConceptMapGroupComponent)) 683 return false; 684 ConceptMapGroupComponent o = (ConceptMapGroupComponent) other_; 685 return compareValues(source, o.source, true) && compareValues(sourceVersion, o.sourceVersion, true) 686 && compareValues(target, o.target, true) && compareValues(targetVersion, o.targetVersion, true); 687 } 688 689 public boolean isEmpty() { 690 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(source, sourceVersion, target 691 , targetVersion, element, unmapped); 692 } 693 694 public String fhirType() { 695 return "ConceptMap.group"; 696 697 } 698 699 } 700 701 @Block() 702 public static class SourceElementComponent extends BackboneElement implements IBaseBackboneElement { 703 /** 704 * Identity (code or path) or the element/item being mapped. 705 */ 706 @Child(name = "code", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 707 @Description(shortDefinition="Identifies element being mapped", formalDefinition="Identity (code or path) or the element/item being mapped." ) 708 protected CodeType code; 709 710 /** 711 * The display for the code. The display is only provided to help editors when editing the concept map. 712 */ 713 @Child(name = "display", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 714 @Description(shortDefinition="Display for the code", formalDefinition="The display for the code. The display is only provided to help editors when editing the concept map." ) 715 protected StringType display; 716 717 /** 718 * A concept from the target value set that this concept maps to. 719 */ 720 @Child(name = "target", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 721 @Description(shortDefinition="Concept in target system for element", formalDefinition="A concept from the target value set that this concept maps to." ) 722 protected List<TargetElementComponent> target; 723 724 private static final long serialVersionUID = -1115258852L; 725 726 /** 727 * Constructor 728 */ 729 public SourceElementComponent() { 730 super(); 731 } 732 733 /** 734 * @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 735 */ 736 public CodeType getCodeElement() { 737 if (this.code == null) 738 if (Configuration.errorOnAutoCreate()) 739 throw new Error("Attempt to auto-create SourceElementComponent.code"); 740 else if (Configuration.doAutoCreate()) 741 this.code = new CodeType(); // bb 742 return this.code; 743 } 744 745 public boolean hasCodeElement() { 746 return this.code != null && !this.code.isEmpty(); 747 } 748 749 public boolean hasCode() { 750 return this.code != null && !this.code.isEmpty(); 751 } 752 753 /** 754 * @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 755 */ 756 public SourceElementComponent setCodeElement(CodeType value) { 757 this.code = value; 758 return this; 759 } 760 761 /** 762 * @return Identity (code or path) or the element/item being mapped. 763 */ 764 public String getCode() { 765 return this.code == null ? null : this.code.getValue(); 766 } 767 768 /** 769 * @param value Identity (code or path) or the element/item being mapped. 770 */ 771 public SourceElementComponent setCode(String value) { 772 if (Utilities.noString(value)) 773 this.code = null; 774 else { 775 if (this.code == null) 776 this.code = new CodeType(); 777 this.code.setValue(value); 778 } 779 return this; 780 } 781 782 /** 783 * @return {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 784 */ 785 public StringType getDisplayElement() { 786 if (this.display == null) 787 if (Configuration.errorOnAutoCreate()) 788 throw new Error("Attempt to auto-create SourceElementComponent.display"); 789 else if (Configuration.doAutoCreate()) 790 this.display = new StringType(); // bb 791 return this.display; 792 } 793 794 public boolean hasDisplayElement() { 795 return this.display != null && !this.display.isEmpty(); 796 } 797 798 public boolean hasDisplay() { 799 return this.display != null && !this.display.isEmpty(); 800 } 801 802 /** 803 * @param value {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 804 */ 805 public SourceElementComponent setDisplayElement(StringType value) { 806 this.display = value; 807 return this; 808 } 809 810 /** 811 * @return The display for the code. The display is only provided to help editors when editing the concept map. 812 */ 813 public String getDisplay() { 814 return this.display == null ? null : this.display.getValue(); 815 } 816 817 /** 818 * @param value The display for the code. The display is only provided to help editors when editing the concept map. 819 */ 820 public SourceElementComponent setDisplay(String value) { 821 if (Utilities.noString(value)) 822 this.display = null; 823 else { 824 if (this.display == null) 825 this.display = new StringType(); 826 this.display.setValue(value); 827 } 828 return this; 829 } 830 831 /** 832 * @return {@link #target} (A concept from the target value set that this concept maps to.) 833 */ 834 public List<TargetElementComponent> getTarget() { 835 if (this.target == null) 836 this.target = new ArrayList<TargetElementComponent>(); 837 return this.target; 838 } 839 840 /** 841 * @return Returns a reference to <code>this</code> for easy method chaining 842 */ 843 public SourceElementComponent setTarget(List<TargetElementComponent> theTarget) { 844 this.target = theTarget; 845 return this; 846 } 847 848 public boolean hasTarget() { 849 if (this.target == null) 850 return false; 851 for (TargetElementComponent item : this.target) 852 if (!item.isEmpty()) 853 return true; 854 return false; 855 } 856 857 public TargetElementComponent addTarget() { //3 858 TargetElementComponent t = new TargetElementComponent(); 859 if (this.target == null) 860 this.target = new ArrayList<TargetElementComponent>(); 861 this.target.add(t); 862 return t; 863 } 864 865 public SourceElementComponent addTarget(TargetElementComponent t) { //3 866 if (t == null) 867 return this; 868 if (this.target == null) 869 this.target = new ArrayList<TargetElementComponent>(); 870 this.target.add(t); 871 return this; 872 } 873 874 /** 875 * @return The first repetition of repeating field {@link #target}, creating it if it does not already exist 876 */ 877 public TargetElementComponent getTargetFirstRep() { 878 if (getTarget().isEmpty()) { 879 addTarget(); 880 } 881 return getTarget().get(0); 882 } 883 884 protected void listChildren(List<Property> children) { 885 super.listChildren(children); 886 children.add(new Property("code", "code", "Identity (code or path) or the element/item being mapped.", 0, 1, code)); 887 children.add(new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display)); 888 children.add(new Property("target", "", "A concept from the target value set that this concept maps to.", 0, java.lang.Integer.MAX_VALUE, target)); 889 } 890 891 @Override 892 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 893 switch (_hash) { 894 case 3059181: /*code*/ return new Property("code", "code", "Identity (code or path) or the element/item being mapped.", 0, 1, code); 895 case 1671764162: /*display*/ return new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display); 896 case -880905839: /*target*/ return new Property("target", "", "A concept from the target value set that this concept maps to.", 0, java.lang.Integer.MAX_VALUE, target); 897 default: return super.getNamedProperty(_hash, _name, _checkValid); 898 } 899 900 } 901 902 @Override 903 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 904 switch (hash) { 905 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 906 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 907 case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // TargetElementComponent 908 default: return super.getProperty(hash, name, checkValid); 909 } 910 911 } 912 913 @Override 914 public Base setProperty(int hash, String name, Base value) throws FHIRException { 915 switch (hash) { 916 case 3059181: // code 917 this.code = castToCode(value); // CodeType 918 return value; 919 case 1671764162: // display 920 this.display = castToString(value); // StringType 921 return value; 922 case -880905839: // target 923 this.getTarget().add((TargetElementComponent) value); // TargetElementComponent 924 return value; 925 default: return super.setProperty(hash, name, value); 926 } 927 928 } 929 930 @Override 931 public Base setProperty(String name, Base value) throws FHIRException { 932 if (name.equals("code")) { 933 this.code = castToCode(value); // CodeType 934 } else if (name.equals("display")) { 935 this.display = castToString(value); // StringType 936 } else if (name.equals("target")) { 937 this.getTarget().add((TargetElementComponent) value); 938 } else 939 return super.setProperty(name, value); 940 return value; 941 } 942 943 @Override 944 public Base makeProperty(int hash, String name) throws FHIRException { 945 switch (hash) { 946 case 3059181: return getCodeElement(); 947 case 1671764162: return getDisplayElement(); 948 case -880905839: return addTarget(); 949 default: return super.makeProperty(hash, name); 950 } 951 952 } 953 954 @Override 955 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 956 switch (hash) { 957 case 3059181: /*code*/ return new String[] {"code"}; 958 case 1671764162: /*display*/ return new String[] {"string"}; 959 case -880905839: /*target*/ return new String[] {}; 960 default: return super.getTypesForProperty(hash, name); 961 } 962 963 } 964 965 @Override 966 public Base addChild(String name) throws FHIRException { 967 if (name.equals("code")) { 968 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 969 } 970 else if (name.equals("display")) { 971 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.display"); 972 } 973 else if (name.equals("target")) { 974 return addTarget(); 975 } 976 else 977 return super.addChild(name); 978 } 979 980 public SourceElementComponent copy() { 981 SourceElementComponent dst = new SourceElementComponent(); 982 copyValues(dst); 983 dst.code = code == null ? null : code.copy(); 984 dst.display = display == null ? null : display.copy(); 985 if (target != null) { 986 dst.target = new ArrayList<TargetElementComponent>(); 987 for (TargetElementComponent i : target) 988 dst.target.add(i.copy()); 989 }; 990 return dst; 991 } 992 993 @Override 994 public boolean equalsDeep(Base other_) { 995 if (!super.equalsDeep(other_)) 996 return false; 997 if (!(other_ instanceof SourceElementComponent)) 998 return false; 999 SourceElementComponent o = (SourceElementComponent) other_; 1000 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) && compareDeep(target, o.target, true) 1001 ; 1002 } 1003 1004 @Override 1005 public boolean equalsShallow(Base other_) { 1006 if (!super.equalsShallow(other_)) 1007 return false; 1008 if (!(other_ instanceof SourceElementComponent)) 1009 return false; 1010 SourceElementComponent o = (SourceElementComponent) other_; 1011 return compareValues(code, o.code, true) && compareValues(display, o.display, true); 1012 } 1013 1014 public boolean isEmpty() { 1015 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, target); 1016 } 1017 1018 public String fhirType() { 1019 return "ConceptMap.group.element"; 1020 1021 } 1022 1023 } 1024 1025 @Block() 1026 public static class TargetElementComponent extends BackboneElement implements IBaseBackboneElement { 1027 /** 1028 * Identity (code or path) or the element/item that the map refers to. 1029 */ 1030 @Child(name = "code", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1031 @Description(shortDefinition="Code that identifies the target element", formalDefinition="Identity (code or path) or the element/item that the map refers to." ) 1032 protected CodeType code; 1033 1034 /** 1035 * The display for the code. The display is only provided to help editors when editing the concept map. 1036 */ 1037 @Child(name = "display", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1038 @Description(shortDefinition="Display for the code", formalDefinition="The display for the code. The display is only provided to help editors when editing the concept map." ) 1039 protected StringType display; 1040 1041 /** 1042 * 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). 1043 */ 1044 @Child(name = "equivalence", type = {CodeType.class}, order=3, min=0, max=1, modifier=true, summary=false) 1045 @Description(shortDefinition="relatedto | 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)." ) 1046 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/concept-map-equivalence") 1047 protected Enumeration<ConceptMapEquivalence> equivalence; 1048 1049 /** 1050 * A description of status/issues in mapping that conveys additional information not represented in the structured data. 1051 */ 1052 @Child(name = "comment", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1053 @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." ) 1054 protected StringType comment; 1055 1056 /** 1057 * 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. 1058 */ 1059 @Child(name = "dependsOn", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1060 @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." ) 1061 protected List<OtherElementComponent> dependsOn; 1062 1063 /** 1064 * 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. 1065 */ 1066 @Child(name = "product", type = {OtherElementComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1067 @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." ) 1068 protected List<OtherElementComponent> product; 1069 1070 private static final long serialVersionUID = -2008997477L; 1071 1072 /** 1073 * Constructor 1074 */ 1075 public TargetElementComponent() { 1076 super(); 1077 } 1078 1079 /** 1080 * @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 1081 */ 1082 public CodeType getCodeElement() { 1083 if (this.code == null) 1084 if (Configuration.errorOnAutoCreate()) 1085 throw new Error("Attempt to auto-create TargetElementComponent.code"); 1086 else if (Configuration.doAutoCreate()) 1087 this.code = new CodeType(); // bb 1088 return this.code; 1089 } 1090 1091 public boolean hasCodeElement() { 1092 return this.code != null && !this.code.isEmpty(); 1093 } 1094 1095 public boolean hasCode() { 1096 return this.code != null && !this.code.isEmpty(); 1097 } 1098 1099 /** 1100 * @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 1101 */ 1102 public TargetElementComponent setCodeElement(CodeType value) { 1103 this.code = value; 1104 return this; 1105 } 1106 1107 /** 1108 * @return Identity (code or path) or the element/item that the map refers to. 1109 */ 1110 public String getCode() { 1111 return this.code == null ? null : this.code.getValue(); 1112 } 1113 1114 /** 1115 * @param value Identity (code or path) or the element/item that the map refers to. 1116 */ 1117 public TargetElementComponent setCode(String value) { 1118 if (Utilities.noString(value)) 1119 this.code = null; 1120 else { 1121 if (this.code == null) 1122 this.code = new CodeType(); 1123 this.code.setValue(value); 1124 } 1125 return this; 1126 } 1127 1128 /** 1129 * @return {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1130 */ 1131 public StringType getDisplayElement() { 1132 if (this.display == null) 1133 if (Configuration.errorOnAutoCreate()) 1134 throw new Error("Attempt to auto-create TargetElementComponent.display"); 1135 else if (Configuration.doAutoCreate()) 1136 this.display = new StringType(); // bb 1137 return this.display; 1138 } 1139 1140 public boolean hasDisplayElement() { 1141 return this.display != null && !this.display.isEmpty(); 1142 } 1143 1144 public boolean hasDisplay() { 1145 return this.display != null && !this.display.isEmpty(); 1146 } 1147 1148 /** 1149 * @param value {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1150 */ 1151 public TargetElementComponent setDisplayElement(StringType value) { 1152 this.display = value; 1153 return this; 1154 } 1155 1156 /** 1157 * @return The display for the code. The display is only provided to help editors when editing the concept map. 1158 */ 1159 public String getDisplay() { 1160 return this.display == null ? null : this.display.getValue(); 1161 } 1162 1163 /** 1164 * @param value The display for the code. The display is only provided to help editors when editing the concept map. 1165 */ 1166 public TargetElementComponent setDisplay(String value) { 1167 if (Utilities.noString(value)) 1168 this.display = null; 1169 else { 1170 if (this.display == null) 1171 this.display = new StringType(); 1172 this.display.setValue(value); 1173 } 1174 return this; 1175 } 1176 1177 /** 1178 * @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 1179 */ 1180 public Enumeration<ConceptMapEquivalence> getEquivalenceElement() { 1181 if (this.equivalence == null) 1182 if (Configuration.errorOnAutoCreate()) 1183 throw new Error("Attempt to auto-create TargetElementComponent.equivalence"); 1184 else if (Configuration.doAutoCreate()) 1185 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); // bb 1186 return this.equivalence; 1187 } 1188 1189 public boolean hasEquivalenceElement() { 1190 return this.equivalence != null && !this.equivalence.isEmpty(); 1191 } 1192 1193 public boolean hasEquivalence() { 1194 return this.equivalence != null && !this.equivalence.isEmpty(); 1195 } 1196 1197 /** 1198 * @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 1199 */ 1200 public TargetElementComponent setEquivalenceElement(Enumeration<ConceptMapEquivalence> value) { 1201 this.equivalence = value; 1202 return this; 1203 } 1204 1205 /** 1206 * @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). 1207 */ 1208 public ConceptMapEquivalence getEquivalence() { 1209 return this.equivalence == null ? null : this.equivalence.getValue(); 1210 } 1211 1212 /** 1213 * @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). 1214 */ 1215 public TargetElementComponent setEquivalence(ConceptMapEquivalence value) { 1216 if (value == null) 1217 this.equivalence = null; 1218 else { 1219 if (this.equivalence == null) 1220 this.equivalence = new Enumeration<ConceptMapEquivalence>(new ConceptMapEquivalenceEnumFactory()); 1221 this.equivalence.setValue(value); 1222 } 1223 return this; 1224 } 1225 1226 /** 1227 * @return {@link #comment} (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 "getComment" gives direct access to the value 1228 */ 1229 public StringType getCommentElement() { 1230 if (this.comment == null) 1231 if (Configuration.errorOnAutoCreate()) 1232 throw new Error("Attempt to auto-create TargetElementComponent.comment"); 1233 else if (Configuration.doAutoCreate()) 1234 this.comment = new StringType(); // bb 1235 return this.comment; 1236 } 1237 1238 public boolean hasCommentElement() { 1239 return this.comment != null && !this.comment.isEmpty(); 1240 } 1241 1242 public boolean hasComment() { 1243 return this.comment != null && !this.comment.isEmpty(); 1244 } 1245 1246 /** 1247 * @param value {@link #comment} (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 "getComment" gives direct access to the value 1248 */ 1249 public TargetElementComponent setCommentElement(StringType value) { 1250 this.comment = value; 1251 return this; 1252 } 1253 1254 /** 1255 * @return A description of status/issues in mapping that conveys additional information not represented in the structured data. 1256 */ 1257 public String getComment() { 1258 return this.comment == null ? null : this.comment.getValue(); 1259 } 1260 1261 /** 1262 * @param value A description of status/issues in mapping that conveys additional information not represented in the structured data. 1263 */ 1264 public TargetElementComponent setComment(String value) { 1265 if (Utilities.noString(value)) 1266 this.comment = null; 1267 else { 1268 if (this.comment == null) 1269 this.comment = new StringType(); 1270 this.comment.setValue(value); 1271 } 1272 return this; 1273 } 1274 1275 /** 1276 * @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.) 1277 */ 1278 public List<OtherElementComponent> getDependsOn() { 1279 if (this.dependsOn == null) 1280 this.dependsOn = new ArrayList<OtherElementComponent>(); 1281 return this.dependsOn; 1282 } 1283 1284 /** 1285 * @return Returns a reference to <code>this</code> for easy method chaining 1286 */ 1287 public TargetElementComponent setDependsOn(List<OtherElementComponent> theDependsOn) { 1288 this.dependsOn = theDependsOn; 1289 return this; 1290 } 1291 1292 public boolean hasDependsOn() { 1293 if (this.dependsOn == null) 1294 return false; 1295 for (OtherElementComponent item : this.dependsOn) 1296 if (!item.isEmpty()) 1297 return true; 1298 return false; 1299 } 1300 1301 public OtherElementComponent addDependsOn() { //3 1302 OtherElementComponent t = new OtherElementComponent(); 1303 if (this.dependsOn == null) 1304 this.dependsOn = new ArrayList<OtherElementComponent>(); 1305 this.dependsOn.add(t); 1306 return t; 1307 } 1308 1309 public TargetElementComponent addDependsOn(OtherElementComponent t) { //3 1310 if (t == null) 1311 return this; 1312 if (this.dependsOn == null) 1313 this.dependsOn = new ArrayList<OtherElementComponent>(); 1314 this.dependsOn.add(t); 1315 return this; 1316 } 1317 1318 /** 1319 * @return The first repetition of repeating field {@link #dependsOn}, creating it if it does not already exist 1320 */ 1321 public OtherElementComponent getDependsOnFirstRep() { 1322 if (getDependsOn().isEmpty()) { 1323 addDependsOn(); 1324 } 1325 return getDependsOn().get(0); 1326 } 1327 1328 /** 1329 * @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.) 1330 */ 1331 public List<OtherElementComponent> getProduct() { 1332 if (this.product == null) 1333 this.product = new ArrayList<OtherElementComponent>(); 1334 return this.product; 1335 } 1336 1337 /** 1338 * @return Returns a reference to <code>this</code> for easy method chaining 1339 */ 1340 public TargetElementComponent setProduct(List<OtherElementComponent> theProduct) { 1341 this.product = theProduct; 1342 return this; 1343 } 1344 1345 public boolean hasProduct() { 1346 if (this.product == null) 1347 return false; 1348 for (OtherElementComponent item : this.product) 1349 if (!item.isEmpty()) 1350 return true; 1351 return false; 1352 } 1353 1354 public OtherElementComponent addProduct() { //3 1355 OtherElementComponent t = new OtherElementComponent(); 1356 if (this.product == null) 1357 this.product = new ArrayList<OtherElementComponent>(); 1358 this.product.add(t); 1359 return t; 1360 } 1361 1362 public TargetElementComponent addProduct(OtherElementComponent t) { //3 1363 if (t == null) 1364 return this; 1365 if (this.product == null) 1366 this.product = new ArrayList<OtherElementComponent>(); 1367 this.product.add(t); 1368 return this; 1369 } 1370 1371 /** 1372 * @return The first repetition of repeating field {@link #product}, creating it if it does not already exist 1373 */ 1374 public OtherElementComponent getProductFirstRep() { 1375 if (getProduct().isEmpty()) { 1376 addProduct(); 1377 } 1378 return getProduct().get(0); 1379 } 1380 1381 protected void listChildren(List<Property> children) { 1382 super.listChildren(children); 1383 children.add(new Property("code", "code", "Identity (code or path) or the element/item that the map refers to.", 0, 1, code)); 1384 children.add(new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display)); 1385 children.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, 1, equivalence)); 1386 children.add(new Property("comment", "string", "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 0, 1, comment)); 1387 children.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)); 1388 children.add(new Property("product", "@ConceptMap.group.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)); 1389 } 1390 1391 @Override 1392 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1393 switch (_hash) { 1394 case 3059181: /*code*/ return new Property("code", "code", "Identity (code or path) or the element/item that the map refers to.", 0, 1, code); 1395 case 1671764162: /*display*/ return new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display); 1396 case -15828692: /*equivalence*/ return 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, 1, equivalence); 1397 case 950398559: /*comment*/ return new Property("comment", "string", "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 0, 1, comment); 1398 case -1109214266: /*dependsOn*/ return 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); 1399 case -309474065: /*product*/ return new Property("product", "@ConceptMap.group.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); 1400 default: return super.getNamedProperty(_hash, _name, _checkValid); 1401 } 1402 1403 } 1404 1405 @Override 1406 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1407 switch (hash) { 1408 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1409 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 1410 case -15828692: /*equivalence*/ return this.equivalence == null ? new Base[0] : new Base[] {this.equivalence}; // Enumeration<ConceptMapEquivalence> 1411 case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType 1412 case -1109214266: /*dependsOn*/ return this.dependsOn == null ? new Base[0] : this.dependsOn.toArray(new Base[this.dependsOn.size()]); // OtherElementComponent 1413 case -309474065: /*product*/ return this.product == null ? new Base[0] : this.product.toArray(new Base[this.product.size()]); // OtherElementComponent 1414 default: return super.getProperty(hash, name, checkValid); 1415 } 1416 1417 } 1418 1419 @Override 1420 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1421 switch (hash) { 1422 case 3059181: // code 1423 this.code = castToCode(value); // CodeType 1424 return value; 1425 case 1671764162: // display 1426 this.display = castToString(value); // StringType 1427 return value; 1428 case -15828692: // equivalence 1429 value = new ConceptMapEquivalenceEnumFactory().fromType(castToCode(value)); 1430 this.equivalence = (Enumeration) value; // Enumeration<ConceptMapEquivalence> 1431 return value; 1432 case 950398559: // comment 1433 this.comment = castToString(value); // StringType 1434 return value; 1435 case -1109214266: // dependsOn 1436 this.getDependsOn().add((OtherElementComponent) value); // OtherElementComponent 1437 return value; 1438 case -309474065: // product 1439 this.getProduct().add((OtherElementComponent) value); // OtherElementComponent 1440 return value; 1441 default: return super.setProperty(hash, name, value); 1442 } 1443 1444 } 1445 1446 @Override 1447 public Base setProperty(String name, Base value) throws FHIRException { 1448 if (name.equals("code")) { 1449 this.code = castToCode(value); // CodeType 1450 } else if (name.equals("display")) { 1451 this.display = castToString(value); // StringType 1452 } else if (name.equals("equivalence")) { 1453 value = new ConceptMapEquivalenceEnumFactory().fromType(castToCode(value)); 1454 this.equivalence = (Enumeration) value; // Enumeration<ConceptMapEquivalence> 1455 } else if (name.equals("comment")) { 1456 this.comment = castToString(value); // StringType 1457 } else if (name.equals("dependsOn")) { 1458 this.getDependsOn().add((OtherElementComponent) value); 1459 } else if (name.equals("product")) { 1460 this.getProduct().add((OtherElementComponent) value); 1461 } else 1462 return super.setProperty(name, value); 1463 return value; 1464 } 1465 1466 @Override 1467 public Base makeProperty(int hash, String name) throws FHIRException { 1468 switch (hash) { 1469 case 3059181: return getCodeElement(); 1470 case 1671764162: return getDisplayElement(); 1471 case -15828692: return getEquivalenceElement(); 1472 case 950398559: return getCommentElement(); 1473 case -1109214266: return addDependsOn(); 1474 case -309474065: return addProduct(); 1475 default: return super.makeProperty(hash, name); 1476 } 1477 1478 } 1479 1480 @Override 1481 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1482 switch (hash) { 1483 case 3059181: /*code*/ return new String[] {"code"}; 1484 case 1671764162: /*display*/ return new String[] {"string"}; 1485 case -15828692: /*equivalence*/ return new String[] {"code"}; 1486 case 950398559: /*comment*/ return new String[] {"string"}; 1487 case -1109214266: /*dependsOn*/ return new String[] {}; 1488 case -309474065: /*product*/ return new String[] {"@ConceptMap.group.element.target.dependsOn"}; 1489 default: return super.getTypesForProperty(hash, name); 1490 } 1491 1492 } 1493 1494 @Override 1495 public Base addChild(String name) throws FHIRException { 1496 if (name.equals("code")) { 1497 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 1498 } 1499 else if (name.equals("display")) { 1500 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.display"); 1501 } 1502 else if (name.equals("equivalence")) { 1503 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.equivalence"); 1504 } 1505 else if (name.equals("comment")) { 1506 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.comment"); 1507 } 1508 else if (name.equals("dependsOn")) { 1509 return addDependsOn(); 1510 } 1511 else if (name.equals("product")) { 1512 return addProduct(); 1513 } 1514 else 1515 return super.addChild(name); 1516 } 1517 1518 public TargetElementComponent copy() { 1519 TargetElementComponent dst = new TargetElementComponent(); 1520 copyValues(dst); 1521 dst.code = code == null ? null : code.copy(); 1522 dst.display = display == null ? null : display.copy(); 1523 dst.equivalence = equivalence == null ? null : equivalence.copy(); 1524 dst.comment = comment == null ? null : comment.copy(); 1525 if (dependsOn != null) { 1526 dst.dependsOn = new ArrayList<OtherElementComponent>(); 1527 for (OtherElementComponent i : dependsOn) 1528 dst.dependsOn.add(i.copy()); 1529 }; 1530 if (product != null) { 1531 dst.product = new ArrayList<OtherElementComponent>(); 1532 for (OtherElementComponent i : product) 1533 dst.product.add(i.copy()); 1534 }; 1535 return dst; 1536 } 1537 1538 @Override 1539 public boolean equalsDeep(Base other_) { 1540 if (!super.equalsDeep(other_)) 1541 return false; 1542 if (!(other_ instanceof TargetElementComponent)) 1543 return false; 1544 TargetElementComponent o = (TargetElementComponent) other_; 1545 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) && compareDeep(equivalence, o.equivalence, true) 1546 && compareDeep(comment, o.comment, true) && compareDeep(dependsOn, o.dependsOn, true) && compareDeep(product, o.product, true) 1547 ; 1548 } 1549 1550 @Override 1551 public boolean equalsShallow(Base other_) { 1552 if (!super.equalsShallow(other_)) 1553 return false; 1554 if (!(other_ instanceof TargetElementComponent)) 1555 return false; 1556 TargetElementComponent o = (TargetElementComponent) other_; 1557 return compareValues(code, o.code, true) && compareValues(display, o.display, true) && compareValues(equivalence, o.equivalence, true) 1558 && compareValues(comment, o.comment, true); 1559 } 1560 1561 public boolean isEmpty() { 1562 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, equivalence 1563 , comment, dependsOn, product); 1564 } 1565 1566 public String fhirType() { 1567 return "ConceptMap.group.element.target"; 1568 1569 } 1570 1571 } 1572 1573 @Block() 1574 public static class OtherElementComponent extends BackboneElement implements IBaseBackboneElement { 1575 /** 1576 * A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property. 1577 */ 1578 @Child(name = "property", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1579 @Description(shortDefinition="Reference to property mapping depends on", formalDefinition="A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property." ) 1580 protected UriType property; 1581 1582 /** 1583 * An absolute URI that identifies the code system of the dependency code (if the source/dependency is a value set that crosses code systems). 1584 */ 1585 @Child(name = "system", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1586 @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)." ) 1587 protected UriType system; 1588 1589 /** 1590 * Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1591 */ 1592 @Child(name = "code", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 1593 @Description(shortDefinition="Value of the referenced element", formalDefinition="Identity (code or path) or the element/item/ValueSet that the map depends on / refers to." ) 1594 protected StringType code; 1595 1596 /** 1597 * The display for the code. The display is only provided to help editors when editing the concept map. 1598 */ 1599 @Child(name = "display", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1600 @Description(shortDefinition="Display for the code", formalDefinition="The display for the code. The display is only provided to help editors when editing the concept map." ) 1601 protected StringType display; 1602 1603 private static final long serialVersionUID = 678887659L; 1604 1605 /** 1606 * Constructor 1607 */ 1608 public OtherElementComponent() { 1609 super(); 1610 } 1611 1612 /** 1613 * Constructor 1614 */ 1615 public OtherElementComponent(UriType property, StringType code) { 1616 super(); 1617 this.property = property; 1618 this.code = code; 1619 } 1620 1621 /** 1622 * @return {@link #property} (A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property.). This is the underlying object with id, value and extensions. The accessor "getProperty" gives direct access to the value 1623 */ 1624 public UriType getPropertyElement() { 1625 if (this.property == null) 1626 if (Configuration.errorOnAutoCreate()) 1627 throw new Error("Attempt to auto-create OtherElementComponent.property"); 1628 else if (Configuration.doAutoCreate()) 1629 this.property = new UriType(); // bb 1630 return this.property; 1631 } 1632 1633 public boolean hasPropertyElement() { 1634 return this.property != null && !this.property.isEmpty(); 1635 } 1636 1637 public boolean hasProperty() { 1638 return this.property != null && !this.property.isEmpty(); 1639 } 1640 1641 /** 1642 * @param value {@link #property} (A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property.). This is the underlying object with id, value and extensions. The accessor "getProperty" gives direct access to the value 1643 */ 1644 public OtherElementComponent setPropertyElement(UriType value) { 1645 this.property = value; 1646 return this; 1647 } 1648 1649 /** 1650 * @return A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property. 1651 */ 1652 public String getProperty() { 1653 return this.property == null ? null : this.property.getValue(); 1654 } 1655 1656 /** 1657 * @param value A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property. 1658 */ 1659 public OtherElementComponent setProperty(String value) { 1660 if (this.property == null) 1661 this.property = new UriType(); 1662 this.property.setValue(value); 1663 return this; 1664 } 1665 1666 /** 1667 * @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 1668 */ 1669 public UriType getSystemElement() { 1670 if (this.system == null) 1671 if (Configuration.errorOnAutoCreate()) 1672 throw new Error("Attempt to auto-create OtherElementComponent.system"); 1673 else if (Configuration.doAutoCreate()) 1674 this.system = new UriType(); // bb 1675 return this.system; 1676 } 1677 1678 public boolean hasSystemElement() { 1679 return this.system != null && !this.system.isEmpty(); 1680 } 1681 1682 public boolean hasSystem() { 1683 return this.system != null && !this.system.isEmpty(); 1684 } 1685 1686 /** 1687 * @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 1688 */ 1689 public OtherElementComponent setSystemElement(UriType value) { 1690 this.system = value; 1691 return this; 1692 } 1693 1694 /** 1695 * @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). 1696 */ 1697 public String getSystem() { 1698 return this.system == null ? null : this.system.getValue(); 1699 } 1700 1701 /** 1702 * @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). 1703 */ 1704 public OtherElementComponent setSystem(String value) { 1705 if (Utilities.noString(value)) 1706 this.system = null; 1707 else { 1708 if (this.system == null) 1709 this.system = new UriType(); 1710 this.system.setValue(value); 1711 } 1712 return this; 1713 } 1714 1715 /** 1716 * @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 1717 */ 1718 public StringType getCodeElement() { 1719 if (this.code == null) 1720 if (Configuration.errorOnAutoCreate()) 1721 throw new Error("Attempt to auto-create OtherElementComponent.code"); 1722 else if (Configuration.doAutoCreate()) 1723 this.code = new StringType(); // bb 1724 return this.code; 1725 } 1726 1727 public boolean hasCodeElement() { 1728 return this.code != null && !this.code.isEmpty(); 1729 } 1730 1731 public boolean hasCode() { 1732 return this.code != null && !this.code.isEmpty(); 1733 } 1734 1735 /** 1736 * @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 1737 */ 1738 public OtherElementComponent setCodeElement(StringType value) { 1739 this.code = value; 1740 return this; 1741 } 1742 1743 /** 1744 * @return Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1745 */ 1746 public String getCode() { 1747 return this.code == null ? null : this.code.getValue(); 1748 } 1749 1750 /** 1751 * @param value Identity (code or path) or the element/item/ValueSet that the map depends on / refers to. 1752 */ 1753 public OtherElementComponent setCode(String value) { 1754 if (this.code == null) 1755 this.code = new StringType(); 1756 this.code.setValue(value); 1757 return this; 1758 } 1759 1760 /** 1761 * @return {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1762 */ 1763 public StringType getDisplayElement() { 1764 if (this.display == null) 1765 if (Configuration.errorOnAutoCreate()) 1766 throw new Error("Attempt to auto-create OtherElementComponent.display"); 1767 else if (Configuration.doAutoCreate()) 1768 this.display = new StringType(); // bb 1769 return this.display; 1770 } 1771 1772 public boolean hasDisplayElement() { 1773 return this.display != null && !this.display.isEmpty(); 1774 } 1775 1776 public boolean hasDisplay() { 1777 return this.display != null && !this.display.isEmpty(); 1778 } 1779 1780 /** 1781 * @param value {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1782 */ 1783 public OtherElementComponent setDisplayElement(StringType value) { 1784 this.display = value; 1785 return this; 1786 } 1787 1788 /** 1789 * @return The display for the code. The display is only provided to help editors when editing the concept map. 1790 */ 1791 public String getDisplay() { 1792 return this.display == null ? null : this.display.getValue(); 1793 } 1794 1795 /** 1796 * @param value The display for the code. The display is only provided to help editors when editing the concept map. 1797 */ 1798 public OtherElementComponent setDisplay(String value) { 1799 if (Utilities.noString(value)) 1800 this.display = null; 1801 else { 1802 if (this.display == null) 1803 this.display = new StringType(); 1804 this.display.setValue(value); 1805 } 1806 return this; 1807 } 1808 1809 protected void listChildren(List<Property> children) { 1810 super.listChildren(children); 1811 children.add(new Property("property", "uri", "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property.", 0, 1, property)); 1812 children.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, 1, system)); 1813 children.add(new Property("code", "string", "Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.", 0, 1, code)); 1814 children.add(new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display)); 1815 } 1816 1817 @Override 1818 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1819 switch (_hash) { 1820 case -993141291: /*property*/ return new Property("property", "uri", "A reference to an element that holds a coded value that corresponds to a code system property. The idea is that the information model carries an element somwhere that is labeled to correspond with a code system property.", 0, 1, property); 1821 case -887328209: /*system*/ return 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, 1, system); 1822 case 3059181: /*code*/ return new Property("code", "string", "Identity (code or path) or the element/item/ValueSet that the map depends on / refers to.", 0, 1, code); 1823 case 1671764162: /*display*/ return new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display); 1824 default: return super.getNamedProperty(_hash, _name, _checkValid); 1825 } 1826 1827 } 1828 1829 @Override 1830 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1831 switch (hash) { 1832 case -993141291: /*property*/ return this.property == null ? new Base[0] : new Base[] {this.property}; // UriType 1833 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 1834 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // StringType 1835 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 1836 default: return super.getProperty(hash, name, checkValid); 1837 } 1838 1839 } 1840 1841 @Override 1842 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1843 switch (hash) { 1844 case -993141291: // property 1845 this.property = castToUri(value); // UriType 1846 return value; 1847 case -887328209: // system 1848 this.system = castToUri(value); // UriType 1849 return value; 1850 case 3059181: // code 1851 this.code = castToString(value); // StringType 1852 return value; 1853 case 1671764162: // display 1854 this.display = castToString(value); // StringType 1855 return value; 1856 default: return super.setProperty(hash, name, value); 1857 } 1858 1859 } 1860 1861 @Override 1862 public Base setProperty(String name, Base value) throws FHIRException { 1863 if (name.equals("property")) { 1864 this.property = castToUri(value); // UriType 1865 } else if (name.equals("system")) { 1866 this.system = castToUri(value); // UriType 1867 } else if (name.equals("code")) { 1868 this.code = castToString(value); // StringType 1869 } else if (name.equals("display")) { 1870 this.display = castToString(value); // StringType 1871 } else 1872 return super.setProperty(name, value); 1873 return value; 1874 } 1875 1876 @Override 1877 public Base makeProperty(int hash, String name) throws FHIRException { 1878 switch (hash) { 1879 case -993141291: return getPropertyElement(); 1880 case -887328209: return getSystemElement(); 1881 case 3059181: return getCodeElement(); 1882 case 1671764162: return getDisplayElement(); 1883 default: return super.makeProperty(hash, name); 1884 } 1885 1886 } 1887 1888 @Override 1889 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1890 switch (hash) { 1891 case -993141291: /*property*/ return new String[] {"uri"}; 1892 case -887328209: /*system*/ return new String[] {"uri"}; 1893 case 3059181: /*code*/ return new String[] {"string"}; 1894 case 1671764162: /*display*/ return new String[] {"string"}; 1895 default: return super.getTypesForProperty(hash, name); 1896 } 1897 1898 } 1899 1900 @Override 1901 public Base addChild(String name) throws FHIRException { 1902 if (name.equals("property")) { 1903 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.property"); 1904 } 1905 else if (name.equals("system")) { 1906 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.system"); 1907 } 1908 else if (name.equals("code")) { 1909 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 1910 } 1911 else if (name.equals("display")) { 1912 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.display"); 1913 } 1914 else 1915 return super.addChild(name); 1916 } 1917 1918 public OtherElementComponent copy() { 1919 OtherElementComponent dst = new OtherElementComponent(); 1920 copyValues(dst); 1921 dst.property = property == null ? null : property.copy(); 1922 dst.system = system == null ? null : system.copy(); 1923 dst.code = code == null ? null : code.copy(); 1924 dst.display = display == null ? null : display.copy(); 1925 return dst; 1926 } 1927 1928 @Override 1929 public boolean equalsDeep(Base other_) { 1930 if (!super.equalsDeep(other_)) 1931 return false; 1932 if (!(other_ instanceof OtherElementComponent)) 1933 return false; 1934 OtherElementComponent o = (OtherElementComponent) other_; 1935 return compareDeep(property, o.property, true) && compareDeep(system, o.system, true) && compareDeep(code, o.code, true) 1936 && compareDeep(display, o.display, true); 1937 } 1938 1939 @Override 1940 public boolean equalsShallow(Base other_) { 1941 if (!super.equalsShallow(other_)) 1942 return false; 1943 if (!(other_ instanceof OtherElementComponent)) 1944 return false; 1945 OtherElementComponent o = (OtherElementComponent) other_; 1946 return compareValues(property, o.property, true) && compareValues(system, o.system, true) && compareValues(code, o.code, true) 1947 && compareValues(display, o.display, true); 1948 } 1949 1950 public boolean isEmpty() { 1951 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(property, system, code, display 1952 ); 1953 } 1954 1955 public String fhirType() { 1956 return "ConceptMap.group.element.target.dependsOn"; 1957 1958 } 1959 1960 } 1961 1962 @Block() 1963 public static class ConceptMapGroupUnmappedComponent extends BackboneElement implements IBaseBackboneElement { 1964 /** 1965 * Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). 1966 */ 1967 @Child(name = "mode", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1968 @Description(shortDefinition="provided | fixed | other-map", formalDefinition="Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL)." ) 1969 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode") 1970 protected Enumeration<ConceptMapGroupUnmappedMode> mode; 1971 1972 /** 1973 * The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. 1974 */ 1975 @Child(name = "code", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1976 @Description(shortDefinition="Fixed code when mode = fixed", formalDefinition="The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code." ) 1977 protected CodeType code; 1978 1979 /** 1980 * The display for the code. The display is only provided to help editors when editing the concept map. 1981 */ 1982 @Child(name = "display", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1983 @Description(shortDefinition="Display for the code", formalDefinition="The display for the code. The display is only provided to help editors when editing the concept map." ) 1984 protected StringType display; 1985 1986 /** 1987 * The canonical URL of the map to use if this map contains no mapping. 1988 */ 1989 @Child(name = "url", type = {UriType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1990 @Description(shortDefinition="Canonical URL for other concept map", formalDefinition="The canonical URL of the map to use if this map contains no mapping." ) 1991 protected UriType url; 1992 1993 private static final long serialVersionUID = -482446774L; 1994 1995 /** 1996 * Constructor 1997 */ 1998 public ConceptMapGroupUnmappedComponent() { 1999 super(); 2000 } 2001 2002 /** 2003 * Constructor 2004 */ 2005 public ConceptMapGroupUnmappedComponent(Enumeration<ConceptMapGroupUnmappedMode> mode) { 2006 super(); 2007 this.mode = mode; 2008 } 2009 2010 /** 2011 * @return {@link #mode} (Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 2012 */ 2013 public Enumeration<ConceptMapGroupUnmappedMode> getModeElement() { 2014 if (this.mode == null) 2015 if (Configuration.errorOnAutoCreate()) 2016 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.mode"); 2017 else if (Configuration.doAutoCreate()) 2018 this.mode = new Enumeration<ConceptMapGroupUnmappedMode>(new ConceptMapGroupUnmappedModeEnumFactory()); // bb 2019 return this.mode; 2020 } 2021 2022 public boolean hasModeElement() { 2023 return this.mode != null && !this.mode.isEmpty(); 2024 } 2025 2026 public boolean hasMode() { 2027 return this.mode != null && !this.mode.isEmpty(); 2028 } 2029 2030 /** 2031 * @param value {@link #mode} (Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 2032 */ 2033 public ConceptMapGroupUnmappedComponent setModeElement(Enumeration<ConceptMapGroupUnmappedMode> value) { 2034 this.mode = value; 2035 return this; 2036 } 2037 2038 /** 2039 * @return Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). 2040 */ 2041 public ConceptMapGroupUnmappedMode getMode() { 2042 return this.mode == null ? null : this.mode.getValue(); 2043 } 2044 2045 /** 2046 * @param value Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL). 2047 */ 2048 public ConceptMapGroupUnmappedComponent setMode(ConceptMapGroupUnmappedMode value) { 2049 if (this.mode == null) 2050 this.mode = new Enumeration<ConceptMapGroupUnmappedMode>(new ConceptMapGroupUnmappedModeEnumFactory()); 2051 this.mode.setValue(value); 2052 return this; 2053 } 2054 2055 /** 2056 * @return {@link #code} (The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 2057 */ 2058 public CodeType getCodeElement() { 2059 if (this.code == null) 2060 if (Configuration.errorOnAutoCreate()) 2061 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.code"); 2062 else if (Configuration.doAutoCreate()) 2063 this.code = new CodeType(); // bb 2064 return this.code; 2065 } 2066 2067 public boolean hasCodeElement() { 2068 return this.code != null && !this.code.isEmpty(); 2069 } 2070 2071 public boolean hasCode() { 2072 return this.code != null && !this.code.isEmpty(); 2073 } 2074 2075 /** 2076 * @param value {@link #code} (The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 2077 */ 2078 public ConceptMapGroupUnmappedComponent setCodeElement(CodeType value) { 2079 this.code = value; 2080 return this; 2081 } 2082 2083 /** 2084 * @return The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. 2085 */ 2086 public String getCode() { 2087 return this.code == null ? null : this.code.getValue(); 2088 } 2089 2090 /** 2091 * @param value The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code. 2092 */ 2093 public ConceptMapGroupUnmappedComponent setCode(String value) { 2094 if (Utilities.noString(value)) 2095 this.code = null; 2096 else { 2097 if (this.code == null) 2098 this.code = new CodeType(); 2099 this.code.setValue(value); 2100 } 2101 return this; 2102 } 2103 2104 /** 2105 * @return {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 2106 */ 2107 public StringType getDisplayElement() { 2108 if (this.display == null) 2109 if (Configuration.errorOnAutoCreate()) 2110 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.display"); 2111 else if (Configuration.doAutoCreate()) 2112 this.display = new StringType(); // bb 2113 return this.display; 2114 } 2115 2116 public boolean hasDisplayElement() { 2117 return this.display != null && !this.display.isEmpty(); 2118 } 2119 2120 public boolean hasDisplay() { 2121 return this.display != null && !this.display.isEmpty(); 2122 } 2123 2124 /** 2125 * @param value {@link #display} (The display for the code. The display is only provided to help editors when editing the concept map.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 2126 */ 2127 public ConceptMapGroupUnmappedComponent setDisplayElement(StringType value) { 2128 this.display = value; 2129 return this; 2130 } 2131 2132 /** 2133 * @return The display for the code. The display is only provided to help editors when editing the concept map. 2134 */ 2135 public String getDisplay() { 2136 return this.display == null ? null : this.display.getValue(); 2137 } 2138 2139 /** 2140 * @param value The display for the code. The display is only provided to help editors when editing the concept map. 2141 */ 2142 public ConceptMapGroupUnmappedComponent setDisplay(String value) { 2143 if (Utilities.noString(value)) 2144 this.display = null; 2145 else { 2146 if (this.display == null) 2147 this.display = new StringType(); 2148 this.display.setValue(value); 2149 } 2150 return this; 2151 } 2152 2153 /** 2154 * @return {@link #url} (The canonical URL of the map to use if this map contains no mapping.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2155 */ 2156 public UriType getUrlElement() { 2157 if (this.url == null) 2158 if (Configuration.errorOnAutoCreate()) 2159 throw new Error("Attempt to auto-create ConceptMapGroupUnmappedComponent.url"); 2160 else if (Configuration.doAutoCreate()) 2161 this.url = new UriType(); // bb 2162 return this.url; 2163 } 2164 2165 public boolean hasUrlElement() { 2166 return this.url != null && !this.url.isEmpty(); 2167 } 2168 2169 public boolean hasUrl() { 2170 return this.url != null && !this.url.isEmpty(); 2171 } 2172 2173 /** 2174 * @param value {@link #url} (The canonical URL of the map to use if this map contains no mapping.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2175 */ 2176 public ConceptMapGroupUnmappedComponent setUrlElement(UriType value) { 2177 this.url = value; 2178 return this; 2179 } 2180 2181 /** 2182 * @return The canonical URL of the map to use if this map contains no mapping. 2183 */ 2184 public String getUrl() { 2185 return this.url == null ? null : this.url.getValue(); 2186 } 2187 2188 /** 2189 * @param value The canonical URL of the map to use if this map contains no mapping. 2190 */ 2191 public ConceptMapGroupUnmappedComponent setUrl(String value) { 2192 if (Utilities.noString(value)) 2193 this.url = null; 2194 else { 2195 if (this.url == null) 2196 this.url = new UriType(); 2197 this.url.setValue(value); 2198 } 2199 return this; 2200 } 2201 2202 protected void listChildren(List<Property> children) { 2203 super.listChildren(children); 2204 children.add(new Property("mode", "code", "Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).", 0, 1, mode)); 2205 children.add(new Property("code", "code", "The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.", 0, 1, code)); 2206 children.add(new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display)); 2207 children.add(new Property("url", "uri", "The canonical URL of the map to use if this map contains no mapping.", 0, 1, url)); 2208 } 2209 2210 @Override 2211 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2212 switch (_hash) { 2213 case 3357091: /*mode*/ return new Property("mode", "code", "Defines which action to take if there is no match in the group. One of 3 actions is possible: use the unmapped code (this is useful when doing a mapping between versions, and only a few codes have changed), use a fixed code (a default code), or alternatively, a reference to a different concept map can be provided (by canonical URL).", 0, 1, mode); 2214 case 3059181: /*code*/ return new Property("code", "code", "The fixed code to use when the mode = 'fixed' - all unmapped codes are mapped to a single fixed code.", 0, 1, code); 2215 case 1671764162: /*display*/ return new Property("display", "string", "The display for the code. The display is only provided to help editors when editing the concept map.", 0, 1, display); 2216 case 116079: /*url*/ return new Property("url", "uri", "The canonical URL of the map to use if this map contains no mapping.", 0, 1, url); 2217 default: return super.getNamedProperty(_hash, _name, _checkValid); 2218 } 2219 2220 } 2221 2222 @Override 2223 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2224 switch (hash) { 2225 case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration<ConceptMapGroupUnmappedMode> 2226 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 2227 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 2228 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 2229 default: return super.getProperty(hash, name, checkValid); 2230 } 2231 2232 } 2233 2234 @Override 2235 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2236 switch (hash) { 2237 case 3357091: // mode 2238 value = new ConceptMapGroupUnmappedModeEnumFactory().fromType(castToCode(value)); 2239 this.mode = (Enumeration) value; // Enumeration<ConceptMapGroupUnmappedMode> 2240 return value; 2241 case 3059181: // code 2242 this.code = castToCode(value); // CodeType 2243 return value; 2244 case 1671764162: // display 2245 this.display = castToString(value); // StringType 2246 return value; 2247 case 116079: // url 2248 this.url = castToUri(value); // UriType 2249 return value; 2250 default: return super.setProperty(hash, name, value); 2251 } 2252 2253 } 2254 2255 @Override 2256 public Base setProperty(String name, Base value) throws FHIRException { 2257 if (name.equals("mode")) { 2258 value = new ConceptMapGroupUnmappedModeEnumFactory().fromType(castToCode(value)); 2259 this.mode = (Enumeration) value; // Enumeration<ConceptMapGroupUnmappedMode> 2260 } else if (name.equals("code")) { 2261 this.code = castToCode(value); // CodeType 2262 } else if (name.equals("display")) { 2263 this.display = castToString(value); // StringType 2264 } else if (name.equals("url")) { 2265 this.url = castToUri(value); // UriType 2266 } else 2267 return super.setProperty(name, value); 2268 return value; 2269 } 2270 2271 @Override 2272 public Base makeProperty(int hash, String name) throws FHIRException { 2273 switch (hash) { 2274 case 3357091: return getModeElement(); 2275 case 3059181: return getCodeElement(); 2276 case 1671764162: return getDisplayElement(); 2277 case 116079: return getUrlElement(); 2278 default: return super.makeProperty(hash, name); 2279 } 2280 2281 } 2282 2283 @Override 2284 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2285 switch (hash) { 2286 case 3357091: /*mode*/ return new String[] {"code"}; 2287 case 3059181: /*code*/ return new String[] {"code"}; 2288 case 1671764162: /*display*/ return new String[] {"string"}; 2289 case 116079: /*url*/ return new String[] {"uri"}; 2290 default: return super.getTypesForProperty(hash, name); 2291 } 2292 2293 } 2294 2295 @Override 2296 public Base addChild(String name) throws FHIRException { 2297 if (name.equals("mode")) { 2298 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.mode"); 2299 } 2300 else if (name.equals("code")) { 2301 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.code"); 2302 } 2303 else if (name.equals("display")) { 2304 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.display"); 2305 } 2306 else if (name.equals("url")) { 2307 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.url"); 2308 } 2309 else 2310 return super.addChild(name); 2311 } 2312 2313 public ConceptMapGroupUnmappedComponent copy() { 2314 ConceptMapGroupUnmappedComponent dst = new ConceptMapGroupUnmappedComponent(); 2315 copyValues(dst); 2316 dst.mode = mode == null ? null : mode.copy(); 2317 dst.code = code == null ? null : code.copy(); 2318 dst.display = display == null ? null : display.copy(); 2319 dst.url = url == null ? null : url.copy(); 2320 return dst; 2321 } 2322 2323 @Override 2324 public boolean equalsDeep(Base other_) { 2325 if (!super.equalsDeep(other_)) 2326 return false; 2327 if (!(other_ instanceof ConceptMapGroupUnmappedComponent)) 2328 return false; 2329 ConceptMapGroupUnmappedComponent o = (ConceptMapGroupUnmappedComponent) other_; 2330 return compareDeep(mode, o.mode, true) && compareDeep(code, o.code, true) && compareDeep(display, o.display, true) 2331 && compareDeep(url, o.url, true); 2332 } 2333 2334 @Override 2335 public boolean equalsShallow(Base other_) { 2336 if (!super.equalsShallow(other_)) 2337 return false; 2338 if (!(other_ instanceof ConceptMapGroupUnmappedComponent)) 2339 return false; 2340 ConceptMapGroupUnmappedComponent o = (ConceptMapGroupUnmappedComponent) other_; 2341 return compareValues(mode, o.mode, true) && compareValues(code, o.code, true) && compareValues(display, o.display, true) 2342 && compareValues(url, o.url, true); 2343 } 2344 2345 public boolean isEmpty() { 2346 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(mode, code, display, url 2347 ); 2348 } 2349 2350 public String fhirType() { 2351 return "ConceptMap.group.unmapped"; 2352 2353 } 2354 2355 } 2356 2357 /** 2358 * A 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. 2359 */ 2360 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 2361 @Description(shortDefinition="Additional identifier for the concept map", formalDefinition="A 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." ) 2362 protected Identifier identifier; 2363 2364 /** 2365 * Explaination of why this concept map is needed and why it has been designed as it has. 2366 */ 2367 @Child(name = "purpose", type = {MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2368 @Description(shortDefinition="Why this concept map is defined", formalDefinition="Explaination of why this concept map is needed and why it has been designed as it has." ) 2369 protected MarkdownType purpose; 2370 2371 /** 2372 * A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map. 2373 */ 2374 @Child(name = "copyright", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 2375 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map." ) 2376 protected MarkdownType copyright; 2377 2378 /** 2379 * The source value set that specifies the concepts that are being mapped. 2380 */ 2381 @Child(name = "source", type = {UriType.class, ValueSet.class}, order=3, min=0, max=1, modifier=false, summary=true) 2382 @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." ) 2383 protected Type source; 2384 2385 /** 2386 * 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. 2387 */ 2388 @Child(name = "target", type = {UriType.class, ValueSet.class}, order=4, min=0, max=1, modifier=false, summary=true) 2389 @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." ) 2390 protected Type target; 2391 2392 /** 2393 * A group of mappings that all have the same source and target system. 2394 */ 2395 @Child(name = "group", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2396 @Description(shortDefinition="Same source and target systems", formalDefinition="A group of mappings that all have the same source and target system." ) 2397 protected List<ConceptMapGroupComponent> group; 2398 2399 private static final long serialVersionUID = -2081872580L; 2400 2401 /** 2402 * Constructor 2403 */ 2404 public ConceptMap() { 2405 super(); 2406 } 2407 2408 /** 2409 * Constructor 2410 */ 2411 public ConceptMap(Enumeration<PublicationStatus> status) { 2412 super(); 2413 this.status = status; 2414 } 2415 2416 /** 2417 * @return {@link #url} (An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2418 */ 2419 public UriType getUrlElement() { 2420 if (this.url == null) 2421 if (Configuration.errorOnAutoCreate()) 2422 throw new Error("Attempt to auto-create ConceptMap.url"); 2423 else if (Configuration.doAutoCreate()) 2424 this.url = new UriType(); // bb 2425 return this.url; 2426 } 2427 2428 public boolean hasUrlElement() { 2429 return this.url != null && !this.url.isEmpty(); 2430 } 2431 2432 public boolean hasUrl() { 2433 return this.url != null && !this.url.isEmpty(); 2434 } 2435 2436 /** 2437 * @param value {@link #url} (An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2438 */ 2439 public ConceptMap setUrlElement(UriType value) { 2440 this.url = value; 2441 return this; 2442 } 2443 2444 /** 2445 * @return An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions). 2446 */ 2447 public String getUrl() { 2448 return this.url == null ? null : this.url.getValue(); 2449 } 2450 2451 /** 2452 * @param value An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions). 2453 */ 2454 public ConceptMap setUrl(String value) { 2455 if (Utilities.noString(value)) 2456 this.url = null; 2457 else { 2458 if (this.url == null) 2459 this.url = new UriType(); 2460 this.url.setValue(value); 2461 } 2462 return this; 2463 } 2464 2465 /** 2466 * @return {@link #identifier} (A 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.) 2467 */ 2468 public Identifier getIdentifier() { 2469 if (this.identifier == null) 2470 if (Configuration.errorOnAutoCreate()) 2471 throw new Error("Attempt to auto-create ConceptMap.identifier"); 2472 else if (Configuration.doAutoCreate()) 2473 this.identifier = new Identifier(); // cc 2474 return this.identifier; 2475 } 2476 2477 public boolean hasIdentifier() { 2478 return this.identifier != null && !this.identifier.isEmpty(); 2479 } 2480 2481 /** 2482 * @param value {@link #identifier} (A 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.) 2483 */ 2484 public ConceptMap setIdentifier(Identifier value) { 2485 this.identifier = value; 2486 return this; 2487 } 2488 2489 /** 2490 * @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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2491 */ 2492 public StringType getVersionElement() { 2493 if (this.version == null) 2494 if (Configuration.errorOnAutoCreate()) 2495 throw new Error("Attempt to auto-create ConceptMap.version"); 2496 else if (Configuration.doAutoCreate()) 2497 this.version = new StringType(); // bb 2498 return this.version; 2499 } 2500 2501 public boolean hasVersionElement() { 2502 return this.version != null && !this.version.isEmpty(); 2503 } 2504 2505 public boolean hasVersion() { 2506 return this.version != null && !this.version.isEmpty(); 2507 } 2508 2509 /** 2510 * @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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2511 */ 2512 public ConceptMap setVersionElement(StringType value) { 2513 this.version = value; 2514 return this; 2515 } 2516 2517 /** 2518 * @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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 2519 */ 2520 public String getVersion() { 2521 return this.version == null ? null : this.version.getValue(); 2522 } 2523 2524 /** 2525 * @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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. 2526 */ 2527 public ConceptMap setVersion(String value) { 2528 if (Utilities.noString(value)) 2529 this.version = null; 2530 else { 2531 if (this.version == null) 2532 this.version = new StringType(); 2533 this.version.setValue(value); 2534 } 2535 return this; 2536 } 2537 2538 /** 2539 * @return {@link #name} (A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2540 */ 2541 public StringType getNameElement() { 2542 if (this.name == null) 2543 if (Configuration.errorOnAutoCreate()) 2544 throw new Error("Attempt to auto-create ConceptMap.name"); 2545 else if (Configuration.doAutoCreate()) 2546 this.name = new StringType(); // bb 2547 return this.name; 2548 } 2549 2550 public boolean hasNameElement() { 2551 return this.name != null && !this.name.isEmpty(); 2552 } 2553 2554 public boolean hasName() { 2555 return this.name != null && !this.name.isEmpty(); 2556 } 2557 2558 /** 2559 * @param value {@link #name} (A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2560 */ 2561 public ConceptMap setNameElement(StringType value) { 2562 this.name = value; 2563 return this; 2564 } 2565 2566 /** 2567 * @return A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2568 */ 2569 public String getName() { 2570 return this.name == null ? null : this.name.getValue(); 2571 } 2572 2573 /** 2574 * @param value A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2575 */ 2576 public ConceptMap setName(String value) { 2577 if (Utilities.noString(value)) 2578 this.name = null; 2579 else { 2580 if (this.name == null) 2581 this.name = new StringType(); 2582 this.name.setValue(value); 2583 } 2584 return this; 2585 } 2586 2587 /** 2588 * @return {@link #title} (A short, descriptive, user-friendly title for the concept map.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2589 */ 2590 public StringType getTitleElement() { 2591 if (this.title == null) 2592 if (Configuration.errorOnAutoCreate()) 2593 throw new Error("Attempt to auto-create ConceptMap.title"); 2594 else if (Configuration.doAutoCreate()) 2595 this.title = new StringType(); // bb 2596 return this.title; 2597 } 2598 2599 public boolean hasTitleElement() { 2600 return this.title != null && !this.title.isEmpty(); 2601 } 2602 2603 public boolean hasTitle() { 2604 return this.title != null && !this.title.isEmpty(); 2605 } 2606 2607 /** 2608 * @param value {@link #title} (A short, descriptive, user-friendly title for the concept map.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2609 */ 2610 public ConceptMap setTitleElement(StringType value) { 2611 this.title = value; 2612 return this; 2613 } 2614 2615 /** 2616 * @return A short, descriptive, user-friendly title for the concept map. 2617 */ 2618 public String getTitle() { 2619 return this.title == null ? null : this.title.getValue(); 2620 } 2621 2622 /** 2623 * @param value A short, descriptive, user-friendly title for the concept map. 2624 */ 2625 public ConceptMap setTitle(String value) { 2626 if (Utilities.noString(value)) 2627 this.title = null; 2628 else { 2629 if (this.title == null) 2630 this.title = new StringType(); 2631 this.title.setValue(value); 2632 } 2633 return this; 2634 } 2635 2636 /** 2637 * @return {@link #status} (The status of this concept map. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2638 */ 2639 public Enumeration<PublicationStatus> getStatusElement() { 2640 if (this.status == null) 2641 if (Configuration.errorOnAutoCreate()) 2642 throw new Error("Attempt to auto-create ConceptMap.status"); 2643 else if (Configuration.doAutoCreate()) 2644 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 2645 return this.status; 2646 } 2647 2648 public boolean hasStatusElement() { 2649 return this.status != null && !this.status.isEmpty(); 2650 } 2651 2652 public boolean hasStatus() { 2653 return this.status != null && !this.status.isEmpty(); 2654 } 2655 2656 /** 2657 * @param value {@link #status} (The status of this concept map. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2658 */ 2659 public ConceptMap setStatusElement(Enumeration<PublicationStatus> value) { 2660 this.status = value; 2661 return this; 2662 } 2663 2664 /** 2665 * @return The status of this concept map. Enables tracking the life-cycle of the content. 2666 */ 2667 public PublicationStatus getStatus() { 2668 return this.status == null ? null : this.status.getValue(); 2669 } 2670 2671 /** 2672 * @param value The status of this concept map. Enables tracking the life-cycle of the content. 2673 */ 2674 public ConceptMap setStatus(PublicationStatus value) { 2675 if (this.status == null) 2676 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 2677 this.status.setValue(value); 2678 return this; 2679 } 2680 2681 /** 2682 * @return {@link #experimental} (A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2683 */ 2684 public BooleanType getExperimentalElement() { 2685 if (this.experimental == null) 2686 if (Configuration.errorOnAutoCreate()) 2687 throw new Error("Attempt to auto-create ConceptMap.experimental"); 2688 else if (Configuration.doAutoCreate()) 2689 this.experimental = new BooleanType(); // bb 2690 return this.experimental; 2691 } 2692 2693 public boolean hasExperimentalElement() { 2694 return this.experimental != null && !this.experimental.isEmpty(); 2695 } 2696 2697 public boolean hasExperimental() { 2698 return this.experimental != null && !this.experimental.isEmpty(); 2699 } 2700 2701 /** 2702 * @param value {@link #experimental} (A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2703 */ 2704 public ConceptMap setExperimentalElement(BooleanType value) { 2705 this.experimental = value; 2706 return this; 2707 } 2708 2709 /** 2710 * @return A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2711 */ 2712 public boolean getExperimental() { 2713 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2714 } 2715 2716 /** 2717 * @param value A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. 2718 */ 2719 public ConceptMap setExperimental(boolean value) { 2720 if (this.experimental == null) 2721 this.experimental = new BooleanType(); 2722 this.experimental.setValue(value); 2723 return this; 2724 } 2725 2726 /** 2727 * @return {@link #date} (The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2728 */ 2729 public DateTimeType getDateElement() { 2730 if (this.date == null) 2731 if (Configuration.errorOnAutoCreate()) 2732 throw new Error("Attempt to auto-create ConceptMap.date"); 2733 else if (Configuration.doAutoCreate()) 2734 this.date = new DateTimeType(); // bb 2735 return this.date; 2736 } 2737 2738 public boolean hasDateElement() { 2739 return this.date != null && !this.date.isEmpty(); 2740 } 2741 2742 public boolean hasDate() { 2743 return this.date != null && !this.date.isEmpty(); 2744 } 2745 2746 /** 2747 * @param value {@link #date} (The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2748 */ 2749 public ConceptMap setDateElement(DateTimeType value) { 2750 this.date = value; 2751 return this; 2752 } 2753 2754 /** 2755 * @return The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes. 2756 */ 2757 public Date getDate() { 2758 return this.date == null ? null : this.date.getValue(); 2759 } 2760 2761 /** 2762 * @param value The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes. 2763 */ 2764 public ConceptMap setDate(Date value) { 2765 if (value == null) 2766 this.date = null; 2767 else { 2768 if (this.date == null) 2769 this.date = new DateTimeType(); 2770 this.date.setValue(value); 2771 } 2772 return this; 2773 } 2774 2775 /** 2776 * @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 2777 */ 2778 public StringType getPublisherElement() { 2779 if (this.publisher == null) 2780 if (Configuration.errorOnAutoCreate()) 2781 throw new Error("Attempt to auto-create ConceptMap.publisher"); 2782 else if (Configuration.doAutoCreate()) 2783 this.publisher = new StringType(); // bb 2784 return this.publisher; 2785 } 2786 2787 public boolean hasPublisherElement() { 2788 return this.publisher != null && !this.publisher.isEmpty(); 2789 } 2790 2791 public boolean hasPublisher() { 2792 return this.publisher != null && !this.publisher.isEmpty(); 2793 } 2794 2795 /** 2796 * @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 2797 */ 2798 public ConceptMap setPublisherElement(StringType value) { 2799 this.publisher = value; 2800 return this; 2801 } 2802 2803 /** 2804 * @return The name of the individual or organization that published the concept map. 2805 */ 2806 public String getPublisher() { 2807 return this.publisher == null ? null : this.publisher.getValue(); 2808 } 2809 2810 /** 2811 * @param value The name of the individual or organization that published the concept map. 2812 */ 2813 public ConceptMap setPublisher(String value) { 2814 if (Utilities.noString(value)) 2815 this.publisher = null; 2816 else { 2817 if (this.publisher == null) 2818 this.publisher = new StringType(); 2819 this.publisher.setValue(value); 2820 } 2821 return this; 2822 } 2823 2824 /** 2825 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2826 */ 2827 public List<ContactDetail> getContact() { 2828 if (this.contact == null) 2829 this.contact = new ArrayList<ContactDetail>(); 2830 return this.contact; 2831 } 2832 2833 /** 2834 * @return Returns a reference to <code>this</code> for easy method chaining 2835 */ 2836 public ConceptMap setContact(List<ContactDetail> theContact) { 2837 this.contact = theContact; 2838 return this; 2839 } 2840 2841 public boolean hasContact() { 2842 if (this.contact == null) 2843 return false; 2844 for (ContactDetail item : this.contact) 2845 if (!item.isEmpty()) 2846 return true; 2847 return false; 2848 } 2849 2850 public ContactDetail addContact() { //3 2851 ContactDetail t = new ContactDetail(); 2852 if (this.contact == null) 2853 this.contact = new ArrayList<ContactDetail>(); 2854 this.contact.add(t); 2855 return t; 2856 } 2857 2858 public ConceptMap addContact(ContactDetail t) { //3 2859 if (t == null) 2860 return this; 2861 if (this.contact == null) 2862 this.contact = new ArrayList<ContactDetail>(); 2863 this.contact.add(t); 2864 return this; 2865 } 2866 2867 /** 2868 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 2869 */ 2870 public ContactDetail getContactFirstRep() { 2871 if (getContact().isEmpty()) { 2872 addContact(); 2873 } 2874 return getContact().get(0); 2875 } 2876 2877 /** 2878 * @return {@link #description} (A free text natural language description of the concept map from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2879 */ 2880 public MarkdownType getDescriptionElement() { 2881 if (this.description == null) 2882 if (Configuration.errorOnAutoCreate()) 2883 throw new Error("Attempt to auto-create ConceptMap.description"); 2884 else if (Configuration.doAutoCreate()) 2885 this.description = new MarkdownType(); // bb 2886 return this.description; 2887 } 2888 2889 public boolean hasDescriptionElement() { 2890 return this.description != null && !this.description.isEmpty(); 2891 } 2892 2893 public boolean hasDescription() { 2894 return this.description != null && !this.description.isEmpty(); 2895 } 2896 2897 /** 2898 * @param value {@link #description} (A free text natural language description of the concept map from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2899 */ 2900 public ConceptMap setDescriptionElement(MarkdownType value) { 2901 this.description = value; 2902 return this; 2903 } 2904 2905 /** 2906 * @return A free text natural language description of the concept map from a consumer's perspective. 2907 */ 2908 public String getDescription() { 2909 return this.description == null ? null : this.description.getValue(); 2910 } 2911 2912 /** 2913 * @param value A free text natural language description of the concept map from a consumer's perspective. 2914 */ 2915 public ConceptMap setDescription(String value) { 2916 if (value == null) 2917 this.description = null; 2918 else { 2919 if (this.description == null) 2920 this.description = new MarkdownType(); 2921 this.description.setValue(value); 2922 } 2923 return this; 2924 } 2925 2926 /** 2927 * @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 for appropriate concept map instances.) 2928 */ 2929 public List<UsageContext> getUseContext() { 2930 if (this.useContext == null) 2931 this.useContext = new ArrayList<UsageContext>(); 2932 return this.useContext; 2933 } 2934 2935 /** 2936 * @return Returns a reference to <code>this</code> for easy method chaining 2937 */ 2938 public ConceptMap setUseContext(List<UsageContext> theUseContext) { 2939 this.useContext = theUseContext; 2940 return this; 2941 } 2942 2943 public boolean hasUseContext() { 2944 if (this.useContext == null) 2945 return false; 2946 for (UsageContext item : this.useContext) 2947 if (!item.isEmpty()) 2948 return true; 2949 return false; 2950 } 2951 2952 public UsageContext addUseContext() { //3 2953 UsageContext t = new UsageContext(); 2954 if (this.useContext == null) 2955 this.useContext = new ArrayList<UsageContext>(); 2956 this.useContext.add(t); 2957 return t; 2958 } 2959 2960 public ConceptMap addUseContext(UsageContext t) { //3 2961 if (t == null) 2962 return this; 2963 if (this.useContext == null) 2964 this.useContext = new ArrayList<UsageContext>(); 2965 this.useContext.add(t); 2966 return this; 2967 } 2968 2969 /** 2970 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 2971 */ 2972 public UsageContext getUseContextFirstRep() { 2973 if (getUseContext().isEmpty()) { 2974 addUseContext(); 2975 } 2976 return getUseContext().get(0); 2977 } 2978 2979 /** 2980 * @return {@link #jurisdiction} (A legal or geographic region in which the concept map is intended to be used.) 2981 */ 2982 public List<CodeableConcept> getJurisdiction() { 2983 if (this.jurisdiction == null) 2984 this.jurisdiction = new ArrayList<CodeableConcept>(); 2985 return this.jurisdiction; 2986 } 2987 2988 /** 2989 * @return Returns a reference to <code>this</code> for easy method chaining 2990 */ 2991 public ConceptMap setJurisdiction(List<CodeableConcept> theJurisdiction) { 2992 this.jurisdiction = theJurisdiction; 2993 return this; 2994 } 2995 2996 public boolean hasJurisdiction() { 2997 if (this.jurisdiction == null) 2998 return false; 2999 for (CodeableConcept item : this.jurisdiction) 3000 if (!item.isEmpty()) 3001 return true; 3002 return false; 3003 } 3004 3005 public CodeableConcept addJurisdiction() { //3 3006 CodeableConcept t = new CodeableConcept(); 3007 if (this.jurisdiction == null) 3008 this.jurisdiction = new ArrayList<CodeableConcept>(); 3009 this.jurisdiction.add(t); 3010 return t; 3011 } 3012 3013 public ConceptMap addJurisdiction(CodeableConcept t) { //3 3014 if (t == null) 3015 return this; 3016 if (this.jurisdiction == null) 3017 this.jurisdiction = new ArrayList<CodeableConcept>(); 3018 this.jurisdiction.add(t); 3019 return this; 3020 } 3021 3022 /** 3023 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 3024 */ 3025 public CodeableConcept getJurisdictionFirstRep() { 3026 if (getJurisdiction().isEmpty()) { 3027 addJurisdiction(); 3028 } 3029 return getJurisdiction().get(0); 3030 } 3031 3032 /** 3033 * @return {@link #purpose} (Explaination of why this concept map is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 3034 */ 3035 public MarkdownType getPurposeElement() { 3036 if (this.purpose == null) 3037 if (Configuration.errorOnAutoCreate()) 3038 throw new Error("Attempt to auto-create ConceptMap.purpose"); 3039 else if (Configuration.doAutoCreate()) 3040 this.purpose = new MarkdownType(); // bb 3041 return this.purpose; 3042 } 3043 3044 public boolean hasPurposeElement() { 3045 return this.purpose != null && !this.purpose.isEmpty(); 3046 } 3047 3048 public boolean hasPurpose() { 3049 return this.purpose != null && !this.purpose.isEmpty(); 3050 } 3051 3052 /** 3053 * @param value {@link #purpose} (Explaination of why this concept map is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 3054 */ 3055 public ConceptMap setPurposeElement(MarkdownType value) { 3056 this.purpose = value; 3057 return this; 3058 } 3059 3060 /** 3061 * @return Explaination of why this concept map is needed and why it has been designed as it has. 3062 */ 3063 public String getPurpose() { 3064 return this.purpose == null ? null : this.purpose.getValue(); 3065 } 3066 3067 /** 3068 * @param value Explaination of why this concept map is needed and why it has been designed as it has. 3069 */ 3070 public ConceptMap setPurpose(String value) { 3071 if (value == null) 3072 this.purpose = null; 3073 else { 3074 if (this.purpose == null) 3075 this.purpose = new MarkdownType(); 3076 this.purpose.setValue(value); 3077 } 3078 return this; 3079 } 3080 3081 /** 3082 * @return {@link #copyright} (A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3083 */ 3084 public MarkdownType getCopyrightElement() { 3085 if (this.copyright == null) 3086 if (Configuration.errorOnAutoCreate()) 3087 throw new Error("Attempt to auto-create ConceptMap.copyright"); 3088 else if (Configuration.doAutoCreate()) 3089 this.copyright = new MarkdownType(); // bb 3090 return this.copyright; 3091 } 3092 3093 public boolean hasCopyrightElement() { 3094 return this.copyright != null && !this.copyright.isEmpty(); 3095 } 3096 3097 public boolean hasCopyright() { 3098 return this.copyright != null && !this.copyright.isEmpty(); 3099 } 3100 3101 /** 3102 * @param value {@link #copyright} (A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3103 */ 3104 public ConceptMap setCopyrightElement(MarkdownType value) { 3105 this.copyright = value; 3106 return this; 3107 } 3108 3109 /** 3110 * @return A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map. 3111 */ 3112 public String getCopyright() { 3113 return this.copyright == null ? null : this.copyright.getValue(); 3114 } 3115 3116 /** 3117 * @param value A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map. 3118 */ 3119 public ConceptMap setCopyright(String value) { 3120 if (value == null) 3121 this.copyright = null; 3122 else { 3123 if (this.copyright == null) 3124 this.copyright = new MarkdownType(); 3125 this.copyright.setValue(value); 3126 } 3127 return this; 3128 } 3129 3130 /** 3131 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 3132 */ 3133 public Type getSource() { 3134 return this.source; 3135 } 3136 3137 /** 3138 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 3139 */ 3140 public UriType getSourceUriType() throws FHIRException { 3141 if (this.source == null) 3142 return null; 3143 if (!(this.source instanceof UriType)) 3144 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.source.getClass().getName()+" was encountered"); 3145 return (UriType) this.source; 3146 } 3147 3148 public boolean hasSourceUriType() { 3149 return this != null && this.source instanceof UriType; 3150 } 3151 3152 /** 3153 * @return {@link #source} (The source value set that specifies the concepts that are being mapped.) 3154 */ 3155 public Reference getSourceReference() throws FHIRException { 3156 if (this.source == null) 3157 return null; 3158 if (!(this.source instanceof Reference)) 3159 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.source.getClass().getName()+" was encountered"); 3160 return (Reference) this.source; 3161 } 3162 3163 public boolean hasSourceReference() { 3164 return this != null && this.source instanceof Reference; 3165 } 3166 3167 public boolean hasSource() { 3168 return this.source != null && !this.source.isEmpty(); 3169 } 3170 3171 /** 3172 * @param value {@link #source} (The source value set that specifies the concepts that are being mapped.) 3173 */ 3174 public ConceptMap setSource(Type value) throws FHIRFormatError { 3175 if (value != null && !(value instanceof UriType || value instanceof Reference)) 3176 throw new FHIRFormatError("Not the right type for ConceptMap.source[x]: "+value.fhirType()); 3177 this.source = value; 3178 return this; 3179 } 3180 3181 /** 3182 * @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.) 3183 */ 3184 public Type getTarget() { 3185 return this.target; 3186 } 3187 3188 /** 3189 * @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.) 3190 */ 3191 public UriType getTargetUriType() throws FHIRException { 3192 if (this.target == null) 3193 return null; 3194 if (!(this.target instanceof UriType)) 3195 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.target.getClass().getName()+" was encountered"); 3196 return (UriType) this.target; 3197 } 3198 3199 public boolean hasTargetUriType() { 3200 return this != null && this.target instanceof UriType; 3201 } 3202 3203 /** 3204 * @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.) 3205 */ 3206 public Reference getTargetReference() throws FHIRException { 3207 if (this.target == null) 3208 return null; 3209 if (!(this.target instanceof Reference)) 3210 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.target.getClass().getName()+" was encountered"); 3211 return (Reference) this.target; 3212 } 3213 3214 public boolean hasTargetReference() { 3215 return this != null && this.target instanceof Reference; 3216 } 3217 3218 public boolean hasTarget() { 3219 return this.target != null && !this.target.isEmpty(); 3220 } 3221 3222 /** 3223 * @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.) 3224 */ 3225 public ConceptMap setTarget(Type value) throws FHIRFormatError { 3226 if (value != null && !(value instanceof UriType || value instanceof Reference)) 3227 throw new FHIRFormatError("Not the right type for ConceptMap.target[x]: "+value.fhirType()); 3228 this.target = value; 3229 return this; 3230 } 3231 3232 /** 3233 * @return {@link #group} (A group of mappings that all have the same source and target system.) 3234 */ 3235 public List<ConceptMapGroupComponent> getGroup() { 3236 if (this.group == null) 3237 this.group = new ArrayList<ConceptMapGroupComponent>(); 3238 return this.group; 3239 } 3240 3241 /** 3242 * @return Returns a reference to <code>this</code> for easy method chaining 3243 */ 3244 public ConceptMap setGroup(List<ConceptMapGroupComponent> theGroup) { 3245 this.group = theGroup; 3246 return this; 3247 } 3248 3249 public boolean hasGroup() { 3250 if (this.group == null) 3251 return false; 3252 for (ConceptMapGroupComponent item : this.group) 3253 if (!item.isEmpty()) 3254 return true; 3255 return false; 3256 } 3257 3258 public ConceptMapGroupComponent addGroup() { //3 3259 ConceptMapGroupComponent t = new ConceptMapGroupComponent(); 3260 if (this.group == null) 3261 this.group = new ArrayList<ConceptMapGroupComponent>(); 3262 this.group.add(t); 3263 return t; 3264 } 3265 3266 public ConceptMap addGroup(ConceptMapGroupComponent t) { //3 3267 if (t == null) 3268 return this; 3269 if (this.group == null) 3270 this.group = new ArrayList<ConceptMapGroupComponent>(); 3271 this.group.add(t); 3272 return this; 3273 } 3274 3275 /** 3276 * @return The first repetition of repeating field {@link #group}, creating it if it does not already exist 3277 */ 3278 public ConceptMapGroupComponent getGroupFirstRep() { 3279 if (getGroup().isEmpty()) { 3280 addGroup(); 3281 } 3282 return getGroup().get(0); 3283 } 3284 3285 protected void listChildren(List<Property> children) { 3286 super.listChildren(children); 3287 children.add(new Property("url", "uri", "An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions).", 0, 1, url)); 3288 children.add(new Property("identifier", "Identifier", "A 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, 1, identifier)); 3289 children.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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); 3290 children.add(new Property("name", "string", "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 3291 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the concept map.", 0, 1, title)); 3292 children.add(new Property("status", "code", "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status)); 3293 children.add(new Property("experimental", "boolean", "A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental)); 3294 children.add(new Property("date", "dateTime", "The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 0, 1, date)); 3295 children.add(new Property("publisher", "string", "The name of the individual or organization that published the concept map.", 0, 1, publisher)); 3296 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 3297 children.add(new Property("description", "markdown", "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, description)); 3298 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate concept map instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3299 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the concept map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3300 children.add(new Property("purpose", "markdown", "Explaination of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose)); 3301 children.add(new Property("copyright", "markdown", "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 0, 1, copyright)); 3302 children.add(new Property("source[x]", "uri|Reference(ValueSet)", "The source value set that specifies the concepts that are being mapped.", 0, 1, source)); 3303 children.add(new Property("target[x]", "uri|Reference(ValueSet)", "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, 1, target)); 3304 children.add(new Property("group", "", "A group of mappings that all have the same source and target system.", 0, java.lang.Integer.MAX_VALUE, group)); 3305 } 3306 3307 @Override 3308 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3309 switch (_hash) { 3310 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI 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. The URL SHOULD include the major version of the concept map. For more information see [Technical and Business Versions](resource.html#versions).", 0, 1, url); 3311 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A 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, 1, identifier); 3312 case 351608024: /*version*/ return 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 concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); 3313 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 3314 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the concept map.", 0, 1, title); 3315 case -892481550: /*status*/ return new Property("status", "code", "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status); 3316 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.", 0, 1, experimental); 3317 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the concept map was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 0, 1, date); 3318 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the individual or organization that published the concept map.", 0, 1, publisher); 3319 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 3320 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, description); 3321 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate concept map instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 3322 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the concept map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 3323 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explaination of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose); 3324 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 0, 1, copyright); 3325 case -1698413947: /*source[x]*/ return new Property("source[x]", "uri|Reference(ValueSet)", "The source value set that specifies the concepts that are being mapped.", 0, 1, source); 3326 case -896505829: /*source*/ return new Property("source[x]", "uri|Reference(ValueSet)", "The source value set that specifies the concepts that are being mapped.", 0, 1, source); 3327 case -1698419887: /*sourceUri*/ return new Property("source[x]", "uri|Reference(ValueSet)", "The source value set that specifies the concepts that are being mapped.", 0, 1, source); 3328 case -244259472: /*sourceReference*/ return new Property("source[x]", "uri|Reference(ValueSet)", "The source value set that specifies the concepts that are being mapped.", 0, 1, source); 3329 case -815579825: /*target[x]*/ return new Property("target[x]", "uri|Reference(ValueSet)", "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, 1, target); 3330 case -880905839: /*target*/ return new Property("target[x]", "uri|Reference(ValueSet)", "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, 1, target); 3331 case -815585765: /*targetUri*/ return new Property("target[x]", "uri|Reference(ValueSet)", "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, 1, target); 3332 case 1259806906: /*targetReference*/ return new Property("target[x]", "uri|Reference(ValueSet)", "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, 1, target); 3333 case 98629247: /*group*/ return new Property("group", "", "A group of mappings that all have the same source and target system.", 0, java.lang.Integer.MAX_VALUE, group); 3334 default: return super.getNamedProperty(_hash, _name, _checkValid); 3335 } 3336 3337 } 3338 3339 @Override 3340 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3341 switch (hash) { 3342 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3343 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 3344 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3345 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3346 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3347 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3348 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3349 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3350 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3351 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3352 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3353 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3354 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3355 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 3356 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 3357 case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // Type 3358 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Type 3359 case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // ConceptMapGroupComponent 3360 default: return super.getProperty(hash, name, checkValid); 3361 } 3362 3363 } 3364 3365 @Override 3366 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3367 switch (hash) { 3368 case 116079: // url 3369 this.url = castToUri(value); // UriType 3370 return value; 3371 case -1618432855: // identifier 3372 this.identifier = castToIdentifier(value); // Identifier 3373 return value; 3374 case 351608024: // version 3375 this.version = castToString(value); // StringType 3376 return value; 3377 case 3373707: // name 3378 this.name = castToString(value); // StringType 3379 return value; 3380 case 110371416: // title 3381 this.title = castToString(value); // StringType 3382 return value; 3383 case -892481550: // status 3384 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 3385 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3386 return value; 3387 case -404562712: // experimental 3388 this.experimental = castToBoolean(value); // BooleanType 3389 return value; 3390 case 3076014: // date 3391 this.date = castToDateTime(value); // DateTimeType 3392 return value; 3393 case 1447404028: // publisher 3394 this.publisher = castToString(value); // StringType 3395 return value; 3396 case 951526432: // contact 3397 this.getContact().add(castToContactDetail(value)); // ContactDetail 3398 return value; 3399 case -1724546052: // description 3400 this.description = castToMarkdown(value); // MarkdownType 3401 return value; 3402 case -669707736: // useContext 3403 this.getUseContext().add(castToUsageContext(value)); // UsageContext 3404 return value; 3405 case -507075711: // jurisdiction 3406 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 3407 return value; 3408 case -220463842: // purpose 3409 this.purpose = castToMarkdown(value); // MarkdownType 3410 return value; 3411 case 1522889671: // copyright 3412 this.copyright = castToMarkdown(value); // MarkdownType 3413 return value; 3414 case -896505829: // source 3415 this.source = castToType(value); // Type 3416 return value; 3417 case -880905839: // target 3418 this.target = castToType(value); // Type 3419 return value; 3420 case 98629247: // group 3421 this.getGroup().add((ConceptMapGroupComponent) value); // ConceptMapGroupComponent 3422 return value; 3423 default: return super.setProperty(hash, name, value); 3424 } 3425 3426 } 3427 3428 @Override 3429 public Base setProperty(String name, Base value) throws FHIRException { 3430 if (name.equals("url")) { 3431 this.url = castToUri(value); // UriType 3432 } else if (name.equals("identifier")) { 3433 this.identifier = castToIdentifier(value); // Identifier 3434 } else if (name.equals("version")) { 3435 this.version = castToString(value); // StringType 3436 } else if (name.equals("name")) { 3437 this.name = castToString(value); // StringType 3438 } else if (name.equals("title")) { 3439 this.title = castToString(value); // StringType 3440 } else if (name.equals("status")) { 3441 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 3442 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3443 } else if (name.equals("experimental")) { 3444 this.experimental = castToBoolean(value); // BooleanType 3445 } else if (name.equals("date")) { 3446 this.date = castToDateTime(value); // DateTimeType 3447 } else if (name.equals("publisher")) { 3448 this.publisher = castToString(value); // StringType 3449 } else if (name.equals("contact")) { 3450 this.getContact().add(castToContactDetail(value)); 3451 } else if (name.equals("description")) { 3452 this.description = castToMarkdown(value); // MarkdownType 3453 } else if (name.equals("useContext")) { 3454 this.getUseContext().add(castToUsageContext(value)); 3455 } else if (name.equals("jurisdiction")) { 3456 this.getJurisdiction().add(castToCodeableConcept(value)); 3457 } else if (name.equals("purpose")) { 3458 this.purpose = castToMarkdown(value); // MarkdownType 3459 } else if (name.equals("copyright")) { 3460 this.copyright = castToMarkdown(value); // MarkdownType 3461 } else if (name.equals("source[x]")) { 3462 this.source = castToType(value); // Type 3463 } else if (name.equals("target[x]")) { 3464 this.target = castToType(value); // Type 3465 } else if (name.equals("group")) { 3466 this.getGroup().add((ConceptMapGroupComponent) value); 3467 } else 3468 return super.setProperty(name, value); 3469 return value; 3470 } 3471 3472 @Override 3473 public Base makeProperty(int hash, String name) throws FHIRException { 3474 switch (hash) { 3475 case 116079: return getUrlElement(); 3476 case -1618432855: return getIdentifier(); 3477 case 351608024: return getVersionElement(); 3478 case 3373707: return getNameElement(); 3479 case 110371416: return getTitleElement(); 3480 case -892481550: return getStatusElement(); 3481 case -404562712: return getExperimentalElement(); 3482 case 3076014: return getDateElement(); 3483 case 1447404028: return getPublisherElement(); 3484 case 951526432: return addContact(); 3485 case -1724546052: return getDescriptionElement(); 3486 case -669707736: return addUseContext(); 3487 case -507075711: return addJurisdiction(); 3488 case -220463842: return getPurposeElement(); 3489 case 1522889671: return getCopyrightElement(); 3490 case -1698413947: return getSource(); 3491 case -896505829: return getSource(); 3492 case -815579825: return getTarget(); 3493 case -880905839: return getTarget(); 3494 case 98629247: return addGroup(); 3495 default: return super.makeProperty(hash, name); 3496 } 3497 3498 } 3499 3500 @Override 3501 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3502 switch (hash) { 3503 case 116079: /*url*/ return new String[] {"uri"}; 3504 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3505 case 351608024: /*version*/ return new String[] {"string"}; 3506 case 3373707: /*name*/ return new String[] {"string"}; 3507 case 110371416: /*title*/ return new String[] {"string"}; 3508 case -892481550: /*status*/ return new String[] {"code"}; 3509 case -404562712: /*experimental*/ return new String[] {"boolean"}; 3510 case 3076014: /*date*/ return new String[] {"dateTime"}; 3511 case 1447404028: /*publisher*/ return new String[] {"string"}; 3512 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 3513 case -1724546052: /*description*/ return new String[] {"markdown"}; 3514 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 3515 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 3516 case -220463842: /*purpose*/ return new String[] {"markdown"}; 3517 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 3518 case -896505829: /*source*/ return new String[] {"uri", "Reference"}; 3519 case -880905839: /*target*/ return new String[] {"uri", "Reference"}; 3520 case 98629247: /*group*/ return new String[] {}; 3521 default: return super.getTypesForProperty(hash, name); 3522 } 3523 3524 } 3525 3526 @Override 3527 public Base addChild(String name) throws FHIRException { 3528 if (name.equals("url")) { 3529 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.url"); 3530 } 3531 else if (name.equals("identifier")) { 3532 this.identifier = new Identifier(); 3533 return this.identifier; 3534 } 3535 else if (name.equals("version")) { 3536 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.version"); 3537 } 3538 else if (name.equals("name")) { 3539 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.name"); 3540 } 3541 else if (name.equals("title")) { 3542 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.title"); 3543 } 3544 else if (name.equals("status")) { 3545 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.status"); 3546 } 3547 else if (name.equals("experimental")) { 3548 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.experimental"); 3549 } 3550 else if (name.equals("date")) { 3551 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.date"); 3552 } 3553 else if (name.equals("publisher")) { 3554 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.publisher"); 3555 } 3556 else if (name.equals("contact")) { 3557 return addContact(); 3558 } 3559 else if (name.equals("description")) { 3560 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.description"); 3561 } 3562 else if (name.equals("useContext")) { 3563 return addUseContext(); 3564 } 3565 else if (name.equals("jurisdiction")) { 3566 return addJurisdiction(); 3567 } 3568 else if (name.equals("purpose")) { 3569 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.purpose"); 3570 } 3571 else if (name.equals("copyright")) { 3572 throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.copyright"); 3573 } 3574 else if (name.equals("sourceUri")) { 3575 this.source = new UriType(); 3576 return this.source; 3577 } 3578 else if (name.equals("sourceReference")) { 3579 this.source = new Reference(); 3580 return this.source; 3581 } 3582 else if (name.equals("targetUri")) { 3583 this.target = new UriType(); 3584 return this.target; 3585 } 3586 else if (name.equals("targetReference")) { 3587 this.target = new Reference(); 3588 return this.target; 3589 } 3590 else if (name.equals("group")) { 3591 return addGroup(); 3592 } 3593 else 3594 return super.addChild(name); 3595 } 3596 3597 public String fhirType() { 3598 return "ConceptMap"; 3599 3600 } 3601 3602 public ConceptMap copy() { 3603 ConceptMap dst = new ConceptMap(); 3604 copyValues(dst); 3605 dst.url = url == null ? null : url.copy(); 3606 dst.identifier = identifier == null ? null : identifier.copy(); 3607 dst.version = version == null ? null : version.copy(); 3608 dst.name = name == null ? null : name.copy(); 3609 dst.title = title == null ? null : title.copy(); 3610 dst.status = status == null ? null : status.copy(); 3611 dst.experimental = experimental == null ? null : experimental.copy(); 3612 dst.date = date == null ? null : date.copy(); 3613 dst.publisher = publisher == null ? null : publisher.copy(); 3614 if (contact != null) { 3615 dst.contact = new ArrayList<ContactDetail>(); 3616 for (ContactDetail i : contact) 3617 dst.contact.add(i.copy()); 3618 }; 3619 dst.description = description == null ? null : description.copy(); 3620 if (useContext != null) { 3621 dst.useContext = new ArrayList<UsageContext>(); 3622 for (UsageContext i : useContext) 3623 dst.useContext.add(i.copy()); 3624 }; 3625 if (jurisdiction != null) { 3626 dst.jurisdiction = new ArrayList<CodeableConcept>(); 3627 for (CodeableConcept i : jurisdiction) 3628 dst.jurisdiction.add(i.copy()); 3629 }; 3630 dst.purpose = purpose == null ? null : purpose.copy(); 3631 dst.copyright = copyright == null ? null : copyright.copy(); 3632 dst.source = source == null ? null : source.copy(); 3633 dst.target = target == null ? null : target.copy(); 3634 if (group != null) { 3635 dst.group = new ArrayList<ConceptMapGroupComponent>(); 3636 for (ConceptMapGroupComponent i : group) 3637 dst.group.add(i.copy()); 3638 }; 3639 return dst; 3640 } 3641 3642 protected ConceptMap typedCopy() { 3643 return copy(); 3644 } 3645 3646 @Override 3647 public boolean equalsDeep(Base other_) { 3648 if (!super.equalsDeep(other_)) 3649 return false; 3650 if (!(other_ instanceof ConceptMap)) 3651 return false; 3652 ConceptMap o = (ConceptMap) other_; 3653 return compareDeep(identifier, o.identifier, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 3654 && compareDeep(source, o.source, true) && compareDeep(target, o.target, true) && compareDeep(group, o.group, true) 3655 ; 3656 } 3657 3658 @Override 3659 public boolean equalsShallow(Base other_) { 3660 if (!super.equalsShallow(other_)) 3661 return false; 3662 if (!(other_ instanceof ConceptMap)) 3663 return false; 3664 ConceptMap o = (ConceptMap) other_; 3665 return compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true); 3666 } 3667 3668 public boolean isEmpty() { 3669 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, purpose, copyright 3670 , source, target, group); 3671 } 3672 3673 @Override 3674 public ResourceType getResourceType() { 3675 return ResourceType.ConceptMap; 3676 } 3677 3678 /** 3679 * Search parameter: <b>date</b> 3680 * <p> 3681 * Description: <b>The concept map publication date</b><br> 3682 * Type: <b>date</b><br> 3683 * Path: <b>ConceptMap.date</b><br> 3684 * </p> 3685 */ 3686 @SearchParamDefinition(name="date", path="ConceptMap.date", description="The concept map publication date", type="date" ) 3687 public static final String SP_DATE = "date"; 3688 /** 3689 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3690 * <p> 3691 * Description: <b>The concept map publication date</b><br> 3692 * Type: <b>date</b><br> 3693 * Path: <b>ConceptMap.date</b><br> 3694 * </p> 3695 */ 3696 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3697 3698 /** 3699 * Search parameter: <b>identifier</b> 3700 * <p> 3701 * Description: <b>External identifier for the concept map</b><br> 3702 * Type: <b>token</b><br> 3703 * Path: <b>ConceptMap.identifier</b><br> 3704 * </p> 3705 */ 3706 @SearchParamDefinition(name="identifier", path="ConceptMap.identifier", description="External identifier for the concept map", type="token" ) 3707 public static final String SP_IDENTIFIER = "identifier"; 3708 /** 3709 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3710 * <p> 3711 * Description: <b>External identifier for the concept map</b><br> 3712 * Type: <b>token</b><br> 3713 * Path: <b>ConceptMap.identifier</b><br> 3714 * </p> 3715 */ 3716 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3717 3718 /** 3719 * Search parameter: <b>product</b> 3720 * <p> 3721 * Description: <b>Reference to property mapping depends on</b><br> 3722 * Type: <b>uri</b><br> 3723 * Path: <b>ConceptMap.group.element.target.product.property</b><br> 3724 * </p> 3725 */ 3726 @SearchParamDefinition(name="product", path="ConceptMap.group.element.target.product.property", description="Reference to property mapping depends on", type="uri" ) 3727 public static final String SP_PRODUCT = "product"; 3728 /** 3729 * <b>Fluent Client</b> search parameter constant for <b>product</b> 3730 * <p> 3731 * Description: <b>Reference to property mapping depends on</b><br> 3732 * Type: <b>uri</b><br> 3733 * Path: <b>ConceptMap.group.element.target.product.property</b><br> 3734 * </p> 3735 */ 3736 public static final ca.uhn.fhir.rest.gclient.UriClientParam PRODUCT = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_PRODUCT); 3737 3738 /** 3739 * Search parameter: <b>other</b> 3740 * <p> 3741 * Description: <b>Canonical URL for other concept map</b><br> 3742 * Type: <b>uri</b><br> 3743 * Path: <b>ConceptMap.group.unmapped.url</b><br> 3744 * </p> 3745 */ 3746 @SearchParamDefinition(name="other", path="ConceptMap.group.unmapped.url", description="Canonical URL for other concept map", type="uri" ) 3747 public static final String SP_OTHER = "other"; 3748 /** 3749 * <b>Fluent Client</b> search parameter constant for <b>other</b> 3750 * <p> 3751 * Description: <b>Canonical URL for other concept map</b><br> 3752 * Type: <b>uri</b><br> 3753 * Path: <b>ConceptMap.group.unmapped.url</b><br> 3754 * </p> 3755 */ 3756 public static final ca.uhn.fhir.rest.gclient.UriClientParam OTHER = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_OTHER); 3757 3758 /** 3759 * Search parameter: <b>target-system</b> 3760 * <p> 3761 * Description: <b>System of the target (if necessary)</b><br> 3762 * Type: <b>uri</b><br> 3763 * Path: <b>ConceptMap.group.target</b><br> 3764 * </p> 3765 */ 3766 @SearchParamDefinition(name="target-system", path="ConceptMap.group.target", description="System of the target (if necessary)", type="uri" ) 3767 public static final String SP_TARGET_SYSTEM = "target-system"; 3768 /** 3769 * <b>Fluent Client</b> search parameter constant for <b>target-system</b> 3770 * <p> 3771 * Description: <b>System of the target (if necessary)</b><br> 3772 * Type: <b>uri</b><br> 3773 * Path: <b>ConceptMap.group.target</b><br> 3774 * </p> 3775 */ 3776 public static final ca.uhn.fhir.rest.gclient.UriClientParam TARGET_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_TARGET_SYSTEM); 3777 3778 /** 3779 * Search parameter: <b>dependson</b> 3780 * <p> 3781 * Description: <b>Reference to property mapping depends on</b><br> 3782 * Type: <b>uri</b><br> 3783 * Path: <b>ConceptMap.group.element.target.dependsOn.property</b><br> 3784 * </p> 3785 */ 3786 @SearchParamDefinition(name="dependson", path="ConceptMap.group.element.target.dependsOn.property", description="Reference to property mapping depends on", type="uri" ) 3787 public static final String SP_DEPENDSON = "dependson"; 3788 /** 3789 * <b>Fluent Client</b> search parameter constant for <b>dependson</b> 3790 * <p> 3791 * Description: <b>Reference to property mapping depends on</b><br> 3792 * Type: <b>uri</b><br> 3793 * Path: <b>ConceptMap.group.element.target.dependsOn.property</b><br> 3794 * </p> 3795 */ 3796 public static final ca.uhn.fhir.rest.gclient.UriClientParam DEPENDSON = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_DEPENDSON); 3797 3798 /** 3799 * Search parameter: <b>jurisdiction</b> 3800 * <p> 3801 * Description: <b>Intended jurisdiction for the concept map</b><br> 3802 * Type: <b>token</b><br> 3803 * Path: <b>ConceptMap.jurisdiction</b><br> 3804 * </p> 3805 */ 3806 @SearchParamDefinition(name="jurisdiction", path="ConceptMap.jurisdiction", description="Intended jurisdiction for the concept map", type="token" ) 3807 public static final String SP_JURISDICTION = "jurisdiction"; 3808 /** 3809 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 3810 * <p> 3811 * Description: <b>Intended jurisdiction for the concept map</b><br> 3812 * Type: <b>token</b><br> 3813 * Path: <b>ConceptMap.jurisdiction</b><br> 3814 * </p> 3815 */ 3816 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 3817 3818 /** 3819 * Search parameter: <b>description</b> 3820 * <p> 3821 * Description: <b>The description of the concept map</b><br> 3822 * Type: <b>string</b><br> 3823 * Path: <b>ConceptMap.description</b><br> 3824 * </p> 3825 */ 3826 @SearchParamDefinition(name="description", path="ConceptMap.description", description="The description of the concept map", type="string" ) 3827 public static final String SP_DESCRIPTION = "description"; 3828 /** 3829 * <b>Fluent Client</b> search parameter constant for <b>description</b> 3830 * <p> 3831 * Description: <b>The description of the concept map</b><br> 3832 * Type: <b>string</b><br> 3833 * Path: <b>ConceptMap.description</b><br> 3834 * </p> 3835 */ 3836 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 3837 3838 /** 3839 * Search parameter: <b>source</b> 3840 * <p> 3841 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 3842 * Type: <b>reference</b><br> 3843 * Path: <b>ConceptMap.sourceReference</b><br> 3844 * </p> 3845 */ 3846 @SearchParamDefinition(name="source", path="ConceptMap.source.as(Reference)", description="Identifies the source of the concepts which are being mapped", type="reference", target={ValueSet.class } ) 3847 public static final String SP_SOURCE = "source"; 3848 /** 3849 * <b>Fluent Client</b> search parameter constant for <b>source</b> 3850 * <p> 3851 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 3852 * Type: <b>reference</b><br> 3853 * Path: <b>ConceptMap.sourceReference</b><br> 3854 * </p> 3855 */ 3856 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE); 3857 3858/** 3859 * Constant for fluent queries to be used to add include statements. Specifies 3860 * the path value of "<b>ConceptMap:source</b>". 3861 */ 3862 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE = new ca.uhn.fhir.model.api.Include("ConceptMap:source").toLocked(); 3863 3864 /** 3865 * Search parameter: <b>title</b> 3866 * <p> 3867 * Description: <b>The human-friendly name of the concept map</b><br> 3868 * Type: <b>string</b><br> 3869 * Path: <b>ConceptMap.title</b><br> 3870 * </p> 3871 */ 3872 @SearchParamDefinition(name="title", path="ConceptMap.title", description="The human-friendly name of the concept map", type="string" ) 3873 public static final String SP_TITLE = "title"; 3874 /** 3875 * <b>Fluent Client</b> search parameter constant for <b>title</b> 3876 * <p> 3877 * Description: <b>The human-friendly name of the concept map</b><br> 3878 * Type: <b>string</b><br> 3879 * Path: <b>ConceptMap.title</b><br> 3880 * </p> 3881 */ 3882 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 3883 3884 /** 3885 * Search parameter: <b>version</b> 3886 * <p> 3887 * Description: <b>The business version of the concept map</b><br> 3888 * Type: <b>token</b><br> 3889 * Path: <b>ConceptMap.version</b><br> 3890 * </p> 3891 */ 3892 @SearchParamDefinition(name="version", path="ConceptMap.version", description="The business version of the concept map", type="token" ) 3893 public static final String SP_VERSION = "version"; 3894 /** 3895 * <b>Fluent Client</b> search parameter constant for <b>version</b> 3896 * <p> 3897 * Description: <b>The business version of the concept map</b><br> 3898 * Type: <b>token</b><br> 3899 * Path: <b>ConceptMap.version</b><br> 3900 * </p> 3901 */ 3902 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 3903 3904 /** 3905 * Search parameter: <b>url</b> 3906 * <p> 3907 * Description: <b>The uri that identifies the concept map</b><br> 3908 * Type: <b>uri</b><br> 3909 * Path: <b>ConceptMap.url</b><br> 3910 * </p> 3911 */ 3912 @SearchParamDefinition(name="url", path="ConceptMap.url", description="The uri that identifies the concept map", type="uri" ) 3913 public static final String SP_URL = "url"; 3914 /** 3915 * <b>Fluent Client</b> search parameter constant for <b>url</b> 3916 * <p> 3917 * Description: <b>The uri that identifies the concept map</b><br> 3918 * Type: <b>uri</b><br> 3919 * Path: <b>ConceptMap.url</b><br> 3920 * </p> 3921 */ 3922 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 3923 3924 /** 3925 * Search parameter: <b>target</b> 3926 * <p> 3927 * Description: <b>Provides context to the mappings</b><br> 3928 * Type: <b>reference</b><br> 3929 * Path: <b>ConceptMap.targetReference</b><br> 3930 * </p> 3931 */ 3932 @SearchParamDefinition(name="target", path="ConceptMap.target.as(Reference)", description="Provides context to the mappings", type="reference", target={ValueSet.class } ) 3933 public static final String SP_TARGET = "target"; 3934 /** 3935 * <b>Fluent Client</b> search parameter constant for <b>target</b> 3936 * <p> 3937 * Description: <b>Provides context to the mappings</b><br> 3938 * Type: <b>reference</b><br> 3939 * Path: <b>ConceptMap.targetReference</b><br> 3940 * </p> 3941 */ 3942 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET); 3943 3944/** 3945 * Constant for fluent queries to be used to add include statements. Specifies 3946 * the path value of "<b>ConceptMap:target</b>". 3947 */ 3948 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include("ConceptMap:target").toLocked(); 3949 3950 /** 3951 * Search parameter: <b>source-code</b> 3952 * <p> 3953 * Description: <b>Identifies element being mapped</b><br> 3954 * Type: <b>token</b><br> 3955 * Path: <b>ConceptMap.group.element.code</b><br> 3956 * </p> 3957 */ 3958 @SearchParamDefinition(name="source-code", path="ConceptMap.group.element.code", description="Identifies element being mapped", type="token" ) 3959 public static final String SP_SOURCE_CODE = "source-code"; 3960 /** 3961 * <b>Fluent Client</b> search parameter constant for <b>source-code</b> 3962 * <p> 3963 * Description: <b>Identifies element being mapped</b><br> 3964 * Type: <b>token</b><br> 3965 * Path: <b>ConceptMap.group.element.code</b><br> 3966 * </p> 3967 */ 3968 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SOURCE_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SOURCE_CODE); 3969 3970 /** 3971 * Search parameter: <b>source-uri</b> 3972 * <p> 3973 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 3974 * Type: <b>reference</b><br> 3975 * Path: <b>ConceptMap.sourceUri</b><br> 3976 * </p> 3977 */ 3978 @SearchParamDefinition(name="source-uri", path="ConceptMap.source.as(Uri)", description="Identifies the source of the concepts which are being mapped", type="reference", target={ValueSet.class } ) 3979 public static final String SP_SOURCE_URI = "source-uri"; 3980 /** 3981 * <b>Fluent Client</b> search parameter constant for <b>source-uri</b> 3982 * <p> 3983 * Description: <b>Identifies the source of the concepts which are being mapped</b><br> 3984 * Type: <b>reference</b><br> 3985 * Path: <b>ConceptMap.sourceUri</b><br> 3986 * </p> 3987 */ 3988 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_URI); 3989 3990/** 3991 * Constant for fluent queries to be used to add include statements. Specifies 3992 * the path value of "<b>ConceptMap:source-uri</b>". 3993 */ 3994 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_URI = new ca.uhn.fhir.model.api.Include("ConceptMap:source-uri").toLocked(); 3995 3996 /** 3997 * Search parameter: <b>name</b> 3998 * <p> 3999 * Description: <b>Computationally friendly name of the concept map</b><br> 4000 * Type: <b>string</b><br> 4001 * Path: <b>ConceptMap.name</b><br> 4002 * </p> 4003 */ 4004 @SearchParamDefinition(name="name", path="ConceptMap.name", description="Computationally friendly name of the concept map", type="string" ) 4005 public static final String SP_NAME = "name"; 4006 /** 4007 * <b>Fluent Client</b> search parameter constant for <b>name</b> 4008 * <p> 4009 * Description: <b>Computationally friendly name of the concept map</b><br> 4010 * Type: <b>string</b><br> 4011 * Path: <b>ConceptMap.name</b><br> 4012 * </p> 4013 */ 4014 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 4015 4016 /** 4017 * Search parameter: <b>publisher</b> 4018 * <p> 4019 * Description: <b>Name of the publisher of the concept map</b><br> 4020 * Type: <b>string</b><br> 4021 * Path: <b>ConceptMap.publisher</b><br> 4022 * </p> 4023 */ 4024 @SearchParamDefinition(name="publisher", path="ConceptMap.publisher", description="Name of the publisher of the concept map", type="string" ) 4025 public static final String SP_PUBLISHER = "publisher"; 4026 /** 4027 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 4028 * <p> 4029 * Description: <b>Name of the publisher of the concept map</b><br> 4030 * Type: <b>string</b><br> 4031 * Path: <b>ConceptMap.publisher</b><br> 4032 * </p> 4033 */ 4034 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 4035 4036 /** 4037 * Search parameter: <b>source-system</b> 4038 * <p> 4039 * Description: <b>Code System (if value set crosses code systems)</b><br> 4040 * Type: <b>uri</b><br> 4041 * Path: <b>ConceptMap.group.source</b><br> 4042 * </p> 4043 */ 4044 @SearchParamDefinition(name="source-system", path="ConceptMap.group.source", description="Code System (if value set crosses code systems)", type="uri" ) 4045 public static final String SP_SOURCE_SYSTEM = "source-system"; 4046 /** 4047 * <b>Fluent Client</b> search parameter constant for <b>source-system</b> 4048 * <p> 4049 * Description: <b>Code System (if value set crosses code systems)</b><br> 4050 * Type: <b>uri</b><br> 4051 * Path: <b>ConceptMap.group.source</b><br> 4052 * </p> 4053 */ 4054 public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE_SYSTEM); 4055 4056 /** 4057 * Search parameter: <b>target-code</b> 4058 * <p> 4059 * Description: <b>Code that identifies the target element</b><br> 4060 * Type: <b>token</b><br> 4061 * Path: <b>ConceptMap.group.element.target.code</b><br> 4062 * </p> 4063 */ 4064 @SearchParamDefinition(name="target-code", path="ConceptMap.group.element.target.code", description="Code that identifies the target element", type="token" ) 4065 public static final String SP_TARGET_CODE = "target-code"; 4066 /** 4067 * <b>Fluent Client</b> search parameter constant for <b>target-code</b> 4068 * <p> 4069 * Description: <b>Code that identifies the target element</b><br> 4070 * Type: <b>token</b><br> 4071 * Path: <b>ConceptMap.group.element.target.code</b><br> 4072 * </p> 4073 */ 4074 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_CODE); 4075 4076 /** 4077 * Search parameter: <b>status</b> 4078 * <p> 4079 * Description: <b>The current status of the concept map</b><br> 4080 * Type: <b>token</b><br> 4081 * Path: <b>ConceptMap.status</b><br> 4082 * </p> 4083 */ 4084 @SearchParamDefinition(name="status", path="ConceptMap.status", description="The current status of the concept map", type="token" ) 4085 public static final String SP_STATUS = "status"; 4086 /** 4087 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4088 * <p> 4089 * Description: <b>The current status of the concept map</b><br> 4090 * Type: <b>token</b><br> 4091 * Path: <b>ConceptMap.status</b><br> 4092 * </p> 4093 */ 4094 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4095 4096 /** 4097 * Search parameter: <b>target-uri</b> 4098 * <p> 4099 * Description: <b>Provides context to the mappings</b><br> 4100 * Type: <b>reference</b><br> 4101 * Path: <b>ConceptMap.targetUri</b><br> 4102 * </p> 4103 */ 4104 @SearchParamDefinition(name="target-uri", path="ConceptMap.target.as(Uri)", description="Provides context to the mappings", type="reference", target={ValueSet.class } ) 4105 public static final String SP_TARGET_URI = "target-uri"; 4106 /** 4107 * <b>Fluent Client</b> search parameter constant for <b>target-uri</b> 4108 * <p> 4109 * Description: <b>Provides context to the mappings</b><br> 4110 * Type: <b>reference</b><br> 4111 * Path: <b>ConceptMap.targetUri</b><br> 4112 * </p> 4113 */ 4114 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET_URI); 4115 4116/** 4117 * Constant for fluent queries to be used to add include statements. Specifies 4118 * the path value of "<b>ConceptMap:target-uri</b>". 4119 */ 4120 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET_URI = new ca.uhn.fhir.model.api.Include("ConceptMap:target-uri").toLocked(); 4121 4122 4123} 4124