
001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Sat, Nov 5, 2022 10:47+1100 for FHIR v5.0.0-ballot 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. 052 */ 053@ResourceDef(name="ManufacturedItemDefinition", profile="http://hl7.org/fhir/StructureDefinition/ManufacturedItemDefinition") 054public class ManufacturedItemDefinition extends DomainResource { 055 056 @Block() 057 public static class ManufacturedItemDefinitionPropertyComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * A code expressing the type of characteristic. 060 */ 061 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="A code expressing the type of characteristic", formalDefinition="A code expressing the type of characteristic." ) 063 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/product-characteristic-codes") 064 protected CodeableConcept type; 065 066 /** 067 * A value for the characteristic. 068 */ 069 @Child(name = "value", type = {CodeableConcept.class, Quantity.class, DateType.class, BooleanType.class, Attachment.class}, order=2, min=0, max=1, modifier=false, summary=true) 070 @Description(shortDefinition="A value for the characteristic", formalDefinition="A value for the characteristic." ) 071 protected DataType value; 072 073 private static final long serialVersionUID = -1659186716L; 074 075 /** 076 * Constructor 077 */ 078 public ManufacturedItemDefinitionPropertyComponent() { 079 super(); 080 } 081 082 /** 083 * Constructor 084 */ 085 public ManufacturedItemDefinitionPropertyComponent(CodeableConcept type) { 086 super(); 087 this.setType(type); 088 } 089 090 /** 091 * @return {@link #type} (A code expressing the type of characteristic.) 092 */ 093 public CodeableConcept getType() { 094 if (this.type == null) 095 if (Configuration.errorOnAutoCreate()) 096 throw new Error("Attempt to auto-create ManufacturedItemDefinitionPropertyComponent.type"); 097 else if (Configuration.doAutoCreate()) 098 this.type = new CodeableConcept(); // cc 099 return this.type; 100 } 101 102 public boolean hasType() { 103 return this.type != null && !this.type.isEmpty(); 104 } 105 106 /** 107 * @param value {@link #type} (A code expressing the type of characteristic.) 108 */ 109 public ManufacturedItemDefinitionPropertyComponent setType(CodeableConcept value) { 110 this.type = value; 111 return this; 112 } 113 114 /** 115 * @return {@link #value} (A value for the characteristic.) 116 */ 117 public DataType getValue() { 118 return this.value; 119 } 120 121 /** 122 * @return {@link #value} (A value for the characteristic.) 123 */ 124 public CodeableConcept getValueCodeableConcept() throws FHIRException { 125 if (this.value == null) 126 this.value = new CodeableConcept(); 127 if (!(this.value instanceof CodeableConcept)) 128 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.value.getClass().getName()+" was encountered"); 129 return (CodeableConcept) this.value; 130 } 131 132 public boolean hasValueCodeableConcept() { 133 return this != null && this.value instanceof CodeableConcept; 134 } 135 136 /** 137 * @return {@link #value} (A value for the characteristic.) 138 */ 139 public Quantity getValueQuantity() throws FHIRException { 140 if (this.value == null) 141 this.value = new Quantity(); 142 if (!(this.value instanceof Quantity)) 143 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered"); 144 return (Quantity) this.value; 145 } 146 147 public boolean hasValueQuantity() { 148 return this != null && this.value instanceof Quantity; 149 } 150 151 /** 152 * @return {@link #value} (A value for the characteristic.) 153 */ 154 public DateType getValueDateType() throws FHIRException { 155 if (this.value == null) 156 this.value = new DateType(); 157 if (!(this.value instanceof DateType)) 158 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.value.getClass().getName()+" was encountered"); 159 return (DateType) this.value; 160 } 161 162 public boolean hasValueDateType() { 163 return this != null && this.value instanceof DateType; 164 } 165 166 /** 167 * @return {@link #value} (A value for the characteristic.) 168 */ 169 public BooleanType getValueBooleanType() throws FHIRException { 170 if (this.value == null) 171 this.value = new BooleanType(); 172 if (!(this.value instanceof BooleanType)) 173 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 174 return (BooleanType) this.value; 175 } 176 177 public boolean hasValueBooleanType() { 178 return this != null && this.value instanceof BooleanType; 179 } 180 181 /** 182 * @return {@link #value} (A value for the characteristic.) 183 */ 184 public Attachment getValueAttachment() throws FHIRException { 185 if (this.value == null) 186 this.value = new Attachment(); 187 if (!(this.value instanceof Attachment)) 188 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.value.getClass().getName()+" was encountered"); 189 return (Attachment) this.value; 190 } 191 192 public boolean hasValueAttachment() { 193 return this != null && this.value instanceof Attachment; 194 } 195 196 public boolean hasValue() { 197 return this.value != null && !this.value.isEmpty(); 198 } 199 200 /** 201 * @param value {@link #value} (A value for the characteristic.) 202 */ 203 public ManufacturedItemDefinitionPropertyComponent setValue(DataType value) { 204 if (value != null && !(value instanceof CodeableConcept || value instanceof Quantity || value instanceof DateType || value instanceof BooleanType || value instanceof Attachment)) 205 throw new Error("Not the right type for ManufacturedItemDefinition.property.value[x]: "+value.fhirType()); 206 this.value = value; 207 return this; 208 } 209 210 protected void listChildren(List<Property> children) { 211 super.listChildren(children); 212 children.add(new Property("type", "CodeableConcept", "A code expressing the type of characteristic.", 0, 1, type)); 213 children.add(new Property("value[x]", "CodeableConcept|Quantity|date|boolean|Attachment", "A value for the characteristic.", 0, 1, value)); 214 } 215 216 @Override 217 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 218 switch (_hash) { 219 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A code expressing the type of characteristic.", 0, 1, type); 220 case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|Quantity|date|boolean|Attachment", "A value for the characteristic.", 0, 1, value); 221 case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|Quantity|date|boolean|Attachment", "A value for the characteristic.", 0, 1, value); 222 case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept", "A value for the characteristic.", 0, 1, value); 223 case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "A value for the characteristic.", 0, 1, value); 224 case -766192449: /*valueDate*/ return new Property("value[x]", "date", "A value for the characteristic.", 0, 1, value); 225 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "A value for the characteristic.", 0, 1, value); 226 case -475566732: /*valueAttachment*/ return new Property("value[x]", "Attachment", "A value for the characteristic.", 0, 1, value); 227 default: return super.getNamedProperty(_hash, _name, _checkValid); 228 } 229 230 } 231 232 @Override 233 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 234 switch (hash) { 235 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 236 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 237 default: return super.getProperty(hash, name, checkValid); 238 } 239 240 } 241 242 @Override 243 public Base setProperty(int hash, String name, Base value) throws FHIRException { 244 switch (hash) { 245 case 3575610: // type 246 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 247 return value; 248 case 111972721: // value 249 this.value = TypeConvertor.castToType(value); // DataType 250 return value; 251 default: return super.setProperty(hash, name, value); 252 } 253 254 } 255 256 @Override 257 public Base setProperty(String name, Base value) throws FHIRException { 258 if (name.equals("type")) { 259 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 260 } else if (name.equals("value[x]")) { 261 this.value = TypeConvertor.castToType(value); // DataType 262 } else 263 return super.setProperty(name, value); 264 return value; 265 } 266 267 @Override 268 public Base makeProperty(int hash, String name) throws FHIRException { 269 switch (hash) { 270 case 3575610: return getType(); 271 case -1410166417: return getValue(); 272 case 111972721: return getValue(); 273 default: return super.makeProperty(hash, name); 274 } 275 276 } 277 278 @Override 279 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 280 switch (hash) { 281 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 282 case 111972721: /*value*/ return new String[] {"CodeableConcept", "Quantity", "date", "boolean", "Attachment"}; 283 default: return super.getTypesForProperty(hash, name); 284 } 285 286 } 287 288 @Override 289 public Base addChild(String name) throws FHIRException { 290 if (name.equals("type")) { 291 this.type = new CodeableConcept(); 292 return this.type; 293 } 294 else if (name.equals("valueCodeableConcept")) { 295 this.value = new CodeableConcept(); 296 return this.value; 297 } 298 else if (name.equals("valueQuantity")) { 299 this.value = new Quantity(); 300 return this.value; 301 } 302 else if (name.equals("valueDate")) { 303 this.value = new DateType(); 304 return this.value; 305 } 306 else if (name.equals("valueBoolean")) { 307 this.value = new BooleanType(); 308 return this.value; 309 } 310 else if (name.equals("valueAttachment")) { 311 this.value = new Attachment(); 312 return this.value; 313 } 314 else 315 return super.addChild(name); 316 } 317 318 public ManufacturedItemDefinitionPropertyComponent copy() { 319 ManufacturedItemDefinitionPropertyComponent dst = new ManufacturedItemDefinitionPropertyComponent(); 320 copyValues(dst); 321 return dst; 322 } 323 324 public void copyValues(ManufacturedItemDefinitionPropertyComponent dst) { 325 super.copyValues(dst); 326 dst.type = type == null ? null : type.copy(); 327 dst.value = value == null ? null : value.copy(); 328 } 329 330 @Override 331 public boolean equalsDeep(Base other_) { 332 if (!super.equalsDeep(other_)) 333 return false; 334 if (!(other_ instanceof ManufacturedItemDefinitionPropertyComponent)) 335 return false; 336 ManufacturedItemDefinitionPropertyComponent o = (ManufacturedItemDefinitionPropertyComponent) other_; 337 return compareDeep(type, o.type, true) && compareDeep(value, o.value, true); 338 } 339 340 @Override 341 public boolean equalsShallow(Base other_) { 342 if (!super.equalsShallow(other_)) 343 return false; 344 if (!(other_ instanceof ManufacturedItemDefinitionPropertyComponent)) 345 return false; 346 ManufacturedItemDefinitionPropertyComponent o = (ManufacturedItemDefinitionPropertyComponent) other_; 347 return true; 348 } 349 350 public boolean isEmpty() { 351 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, value); 352 } 353 354 public String fhirType() { 355 return "ManufacturedItemDefinition.property"; 356 357 } 358 359 } 360 361 @Block() 362 public static class ManufacturedItemDefinitionComponentComponent extends BackboneElement implements IBaseBackboneElement { 363 /** 364 * Defining type of the component e.g. shell, layer, ink. 365 */ 366 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) 367 @Description(shortDefinition="Defining type of the component e.g. shell, layer, ink", formalDefinition="Defining type of the component e.g. shell, layer, ink." ) 368 protected CodeableConcept type; 369 370 /** 371 * The function of this component within the item e.g. delivers active ingredient, masks taste. 372 */ 373 @Child(name = "function", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 374 @Description(shortDefinition="The function of this component within the item e.g. delivers active ingredient, masks taste", formalDefinition="The function of this component within the item e.g. delivers active ingredient, masks taste." ) 375 protected List<CodeableConcept> function; 376 377 /** 378 * The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume). 379 */ 380 @Child(name = "amount", type = {Quantity.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 381 @Description(shortDefinition="The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume)", formalDefinition="The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume)." ) 382 protected List<Quantity> amount; 383 384 /** 385 * A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient). 386 */ 387 @Child(name = "constituent", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 388 @Description(shortDefinition="A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient)", formalDefinition="A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient)." ) 389 protected List<ManufacturedItemDefinitionComponentConstituentComponent> constituent; 390 391 /** 392 * General characteristics of this component. 393 */ 394 @Child(name = "property", type = {ManufacturedItemDefinitionPropertyComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 395 @Description(shortDefinition="General characteristics of this component", formalDefinition="General characteristics of this component." ) 396 protected List<ManufacturedItemDefinitionPropertyComponent> property; 397 398 /** 399 * A component that this component contains or is made from. 400 */ 401 @Child(name = "component", type = {ManufacturedItemDefinitionComponentComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 402 @Description(shortDefinition="A component that this component contains or is made from", formalDefinition="A component that this component contains or is made from." ) 403 protected List<ManufacturedItemDefinitionComponentComponent> component; 404 405 private static final long serialVersionUID = 537950590L; 406 407 /** 408 * Constructor 409 */ 410 public ManufacturedItemDefinitionComponentComponent() { 411 super(); 412 } 413 414 /** 415 * Constructor 416 */ 417 public ManufacturedItemDefinitionComponentComponent(CodeableConcept type) { 418 super(); 419 this.setType(type); 420 } 421 422 /** 423 * @return {@link #type} (Defining type of the component e.g. shell, layer, ink.) 424 */ 425 public CodeableConcept getType() { 426 if (this.type == null) 427 if (Configuration.errorOnAutoCreate()) 428 throw new Error("Attempt to auto-create ManufacturedItemDefinitionComponentComponent.type"); 429 else if (Configuration.doAutoCreate()) 430 this.type = new CodeableConcept(); // cc 431 return this.type; 432 } 433 434 public boolean hasType() { 435 return this.type != null && !this.type.isEmpty(); 436 } 437 438 /** 439 * @param value {@link #type} (Defining type of the component e.g. shell, layer, ink.) 440 */ 441 public ManufacturedItemDefinitionComponentComponent setType(CodeableConcept value) { 442 this.type = value; 443 return this; 444 } 445 446 /** 447 * @return {@link #function} (The function of this component within the item e.g. delivers active ingredient, masks taste.) 448 */ 449 public List<CodeableConcept> getFunction() { 450 if (this.function == null) 451 this.function = new ArrayList<CodeableConcept>(); 452 return this.function; 453 } 454 455 /** 456 * @return Returns a reference to <code>this</code> for easy method chaining 457 */ 458 public ManufacturedItemDefinitionComponentComponent setFunction(List<CodeableConcept> theFunction) { 459 this.function = theFunction; 460 return this; 461 } 462 463 public boolean hasFunction() { 464 if (this.function == null) 465 return false; 466 for (CodeableConcept item : this.function) 467 if (!item.isEmpty()) 468 return true; 469 return false; 470 } 471 472 public CodeableConcept addFunction() { //3 473 CodeableConcept t = new CodeableConcept(); 474 if (this.function == null) 475 this.function = new ArrayList<CodeableConcept>(); 476 this.function.add(t); 477 return t; 478 } 479 480 public ManufacturedItemDefinitionComponentComponent addFunction(CodeableConcept t) { //3 481 if (t == null) 482 return this; 483 if (this.function == null) 484 this.function = new ArrayList<CodeableConcept>(); 485 this.function.add(t); 486 return this; 487 } 488 489 /** 490 * @return The first repetition of repeating field {@link #function}, creating it if it does not already exist {3} 491 */ 492 public CodeableConcept getFunctionFirstRep() { 493 if (getFunction().isEmpty()) { 494 addFunction(); 495 } 496 return getFunction().get(0); 497 } 498 499 /** 500 * @return {@link #amount} (The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).) 501 */ 502 public List<Quantity> getAmount() { 503 if (this.amount == null) 504 this.amount = new ArrayList<Quantity>(); 505 return this.amount; 506 } 507 508 /** 509 * @return Returns a reference to <code>this</code> for easy method chaining 510 */ 511 public ManufacturedItemDefinitionComponentComponent setAmount(List<Quantity> theAmount) { 512 this.amount = theAmount; 513 return this; 514 } 515 516 public boolean hasAmount() { 517 if (this.amount == null) 518 return false; 519 for (Quantity item : this.amount) 520 if (!item.isEmpty()) 521 return true; 522 return false; 523 } 524 525 public Quantity addAmount() { //3 526 Quantity t = new Quantity(); 527 if (this.amount == null) 528 this.amount = new ArrayList<Quantity>(); 529 this.amount.add(t); 530 return t; 531 } 532 533 public ManufacturedItemDefinitionComponentComponent addAmount(Quantity t) { //3 534 if (t == null) 535 return this; 536 if (this.amount == null) 537 this.amount = new ArrayList<Quantity>(); 538 this.amount.add(t); 539 return this; 540 } 541 542 /** 543 * @return The first repetition of repeating field {@link #amount}, creating it if it does not already exist {3} 544 */ 545 public Quantity getAmountFirstRep() { 546 if (getAmount().isEmpty()) { 547 addAmount(); 548 } 549 return getAmount().get(0); 550 } 551 552 /** 553 * @return {@link #constituent} (A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).) 554 */ 555 public List<ManufacturedItemDefinitionComponentConstituentComponent> getConstituent() { 556 if (this.constituent == null) 557 this.constituent = new ArrayList<ManufacturedItemDefinitionComponentConstituentComponent>(); 558 return this.constituent; 559 } 560 561 /** 562 * @return Returns a reference to <code>this</code> for easy method chaining 563 */ 564 public ManufacturedItemDefinitionComponentComponent setConstituent(List<ManufacturedItemDefinitionComponentConstituentComponent> theConstituent) { 565 this.constituent = theConstituent; 566 return this; 567 } 568 569 public boolean hasConstituent() { 570 if (this.constituent == null) 571 return false; 572 for (ManufacturedItemDefinitionComponentConstituentComponent item : this.constituent) 573 if (!item.isEmpty()) 574 return true; 575 return false; 576 } 577 578 public ManufacturedItemDefinitionComponentConstituentComponent addConstituent() { //3 579 ManufacturedItemDefinitionComponentConstituentComponent t = new ManufacturedItemDefinitionComponentConstituentComponent(); 580 if (this.constituent == null) 581 this.constituent = new ArrayList<ManufacturedItemDefinitionComponentConstituentComponent>(); 582 this.constituent.add(t); 583 return t; 584 } 585 586 public ManufacturedItemDefinitionComponentComponent addConstituent(ManufacturedItemDefinitionComponentConstituentComponent t) { //3 587 if (t == null) 588 return this; 589 if (this.constituent == null) 590 this.constituent = new ArrayList<ManufacturedItemDefinitionComponentConstituentComponent>(); 591 this.constituent.add(t); 592 return this; 593 } 594 595 /** 596 * @return The first repetition of repeating field {@link #constituent}, creating it if it does not already exist {3} 597 */ 598 public ManufacturedItemDefinitionComponentConstituentComponent getConstituentFirstRep() { 599 if (getConstituent().isEmpty()) { 600 addConstituent(); 601 } 602 return getConstituent().get(0); 603 } 604 605 /** 606 * @return {@link #property} (General characteristics of this component.) 607 */ 608 public List<ManufacturedItemDefinitionPropertyComponent> getProperty() { 609 if (this.property == null) 610 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 611 return this.property; 612 } 613 614 /** 615 * @return Returns a reference to <code>this</code> for easy method chaining 616 */ 617 public ManufacturedItemDefinitionComponentComponent setProperty(List<ManufacturedItemDefinitionPropertyComponent> theProperty) { 618 this.property = theProperty; 619 return this; 620 } 621 622 public boolean hasProperty() { 623 if (this.property == null) 624 return false; 625 for (ManufacturedItemDefinitionPropertyComponent item : this.property) 626 if (!item.isEmpty()) 627 return true; 628 return false; 629 } 630 631 public ManufacturedItemDefinitionPropertyComponent addProperty() { //3 632 ManufacturedItemDefinitionPropertyComponent t = new ManufacturedItemDefinitionPropertyComponent(); 633 if (this.property == null) 634 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 635 this.property.add(t); 636 return t; 637 } 638 639 public ManufacturedItemDefinitionComponentComponent addProperty(ManufacturedItemDefinitionPropertyComponent t) { //3 640 if (t == null) 641 return this; 642 if (this.property == null) 643 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 644 this.property.add(t); 645 return this; 646 } 647 648 /** 649 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 650 */ 651 public ManufacturedItemDefinitionPropertyComponent getPropertyFirstRep() { 652 if (getProperty().isEmpty()) { 653 addProperty(); 654 } 655 return getProperty().get(0); 656 } 657 658 /** 659 * @return {@link #component} (A component that this component contains or is made from.) 660 */ 661 public List<ManufacturedItemDefinitionComponentComponent> getComponent() { 662 if (this.component == null) 663 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 664 return this.component; 665 } 666 667 /** 668 * @return Returns a reference to <code>this</code> for easy method chaining 669 */ 670 public ManufacturedItemDefinitionComponentComponent setComponent(List<ManufacturedItemDefinitionComponentComponent> theComponent) { 671 this.component = theComponent; 672 return this; 673 } 674 675 public boolean hasComponent() { 676 if (this.component == null) 677 return false; 678 for (ManufacturedItemDefinitionComponentComponent item : this.component) 679 if (!item.isEmpty()) 680 return true; 681 return false; 682 } 683 684 public ManufacturedItemDefinitionComponentComponent addComponent() { //3 685 ManufacturedItemDefinitionComponentComponent t = new ManufacturedItemDefinitionComponentComponent(); 686 if (this.component == null) 687 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 688 this.component.add(t); 689 return t; 690 } 691 692 public ManufacturedItemDefinitionComponentComponent addComponent(ManufacturedItemDefinitionComponentComponent t) { //3 693 if (t == null) 694 return this; 695 if (this.component == null) 696 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 697 this.component.add(t); 698 return this; 699 } 700 701 /** 702 * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} 703 */ 704 public ManufacturedItemDefinitionComponentComponent getComponentFirstRep() { 705 if (getComponent().isEmpty()) { 706 addComponent(); 707 } 708 return getComponent().get(0); 709 } 710 711 protected void listChildren(List<Property> children) { 712 super.listChildren(children); 713 children.add(new Property("type", "CodeableConcept", "Defining type of the component e.g. shell, layer, ink.", 0, 1, type)); 714 children.add(new Property("function", "CodeableConcept", "The function of this component within the item e.g. delivers active ingredient, masks taste.", 0, java.lang.Integer.MAX_VALUE, function)); 715 children.add(new Property("amount", "Quantity", "The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount)); 716 children.add(new Property("constituent", "", "A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).", 0, java.lang.Integer.MAX_VALUE, constituent)); 717 children.add(new Property("property", "@ManufacturedItemDefinition.property", "General characteristics of this component.", 0, java.lang.Integer.MAX_VALUE, property)); 718 children.add(new Property("component", "@ManufacturedItemDefinition.component", "A component that this component contains or is made from.", 0, java.lang.Integer.MAX_VALUE, component)); 719 } 720 721 @Override 722 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 723 switch (_hash) { 724 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Defining type of the component e.g. shell, layer, ink.", 0, 1, type); 725 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "The function of this component within the item e.g. delivers active ingredient, masks taste.", 0, java.lang.Integer.MAX_VALUE, function); 726 case -1413853096: /*amount*/ return new Property("amount", "Quantity", "The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount); 727 case -1846470364: /*constituent*/ return new Property("constituent", "", "A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).", 0, java.lang.Integer.MAX_VALUE, constituent); 728 case -993141291: /*property*/ return new Property("property", "@ManufacturedItemDefinition.property", "General characteristics of this component.", 0, java.lang.Integer.MAX_VALUE, property); 729 case -1399907075: /*component*/ return new Property("component", "@ManufacturedItemDefinition.component", "A component that this component contains or is made from.", 0, java.lang.Integer.MAX_VALUE, component); 730 default: return super.getNamedProperty(_hash, _name, _checkValid); 731 } 732 733 } 734 735 @Override 736 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 737 switch (hash) { 738 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 739 case 1380938712: /*function*/ return this.function == null ? new Base[0] : this.function.toArray(new Base[this.function.size()]); // CodeableConcept 740 case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : this.amount.toArray(new Base[this.amount.size()]); // Quantity 741 case -1846470364: /*constituent*/ return this.constituent == null ? new Base[0] : this.constituent.toArray(new Base[this.constituent.size()]); // ManufacturedItemDefinitionComponentConstituentComponent 742 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ManufacturedItemDefinitionPropertyComponent 743 case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ManufacturedItemDefinitionComponentComponent 744 default: return super.getProperty(hash, name, checkValid); 745 } 746 747 } 748 749 @Override 750 public Base setProperty(int hash, String name, Base value) throws FHIRException { 751 switch (hash) { 752 case 3575610: // type 753 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 754 return value; 755 case 1380938712: // function 756 this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 757 return value; 758 case -1413853096: // amount 759 this.getAmount().add(TypeConvertor.castToQuantity(value)); // Quantity 760 return value; 761 case -1846470364: // constituent 762 this.getConstituent().add((ManufacturedItemDefinitionComponentConstituentComponent) value); // ManufacturedItemDefinitionComponentConstituentComponent 763 return value; 764 case -993141291: // property 765 this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); // ManufacturedItemDefinitionPropertyComponent 766 return value; 767 case -1399907075: // component 768 this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); // ManufacturedItemDefinitionComponentComponent 769 return value; 770 default: return super.setProperty(hash, name, value); 771 } 772 773 } 774 775 @Override 776 public Base setProperty(String name, Base value) throws FHIRException { 777 if (name.equals("type")) { 778 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 779 } else if (name.equals("function")) { 780 this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); 781 } else if (name.equals("amount")) { 782 this.getAmount().add(TypeConvertor.castToQuantity(value)); 783 } else if (name.equals("constituent")) { 784 this.getConstituent().add((ManufacturedItemDefinitionComponentConstituentComponent) value); 785 } else if (name.equals("property")) { 786 this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); 787 } else if (name.equals("component")) { 788 this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); 789 } else 790 return super.setProperty(name, value); 791 return value; 792 } 793 794 @Override 795 public Base makeProperty(int hash, String name) throws FHIRException { 796 switch (hash) { 797 case 3575610: return getType(); 798 case 1380938712: return addFunction(); 799 case -1413853096: return addAmount(); 800 case -1846470364: return addConstituent(); 801 case -993141291: return addProperty(); 802 case -1399907075: return addComponent(); 803 default: return super.makeProperty(hash, name); 804 } 805 806 } 807 808 @Override 809 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 810 switch (hash) { 811 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 812 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 813 case -1413853096: /*amount*/ return new String[] {"Quantity"}; 814 case -1846470364: /*constituent*/ return new String[] {}; 815 case -993141291: /*property*/ return new String[] {"@ManufacturedItemDefinition.property"}; 816 case -1399907075: /*component*/ return new String[] {"@ManufacturedItemDefinition.component"}; 817 default: return super.getTypesForProperty(hash, name); 818 } 819 820 } 821 822 @Override 823 public Base addChild(String name) throws FHIRException { 824 if (name.equals("type")) { 825 this.type = new CodeableConcept(); 826 return this.type; 827 } 828 else if (name.equals("function")) { 829 return addFunction(); 830 } 831 else if (name.equals("amount")) { 832 return addAmount(); 833 } 834 else if (name.equals("constituent")) { 835 return addConstituent(); 836 } 837 else if (name.equals("property")) { 838 return addProperty(); 839 } 840 else if (name.equals("component")) { 841 return addComponent(); 842 } 843 else 844 return super.addChild(name); 845 } 846 847 public ManufacturedItemDefinitionComponentComponent copy() { 848 ManufacturedItemDefinitionComponentComponent dst = new ManufacturedItemDefinitionComponentComponent(); 849 copyValues(dst); 850 return dst; 851 } 852 853 public void copyValues(ManufacturedItemDefinitionComponentComponent dst) { 854 super.copyValues(dst); 855 dst.type = type == null ? null : type.copy(); 856 if (function != null) { 857 dst.function = new ArrayList<CodeableConcept>(); 858 for (CodeableConcept i : function) 859 dst.function.add(i.copy()); 860 }; 861 if (amount != null) { 862 dst.amount = new ArrayList<Quantity>(); 863 for (Quantity i : amount) 864 dst.amount.add(i.copy()); 865 }; 866 if (constituent != null) { 867 dst.constituent = new ArrayList<ManufacturedItemDefinitionComponentConstituentComponent>(); 868 for (ManufacturedItemDefinitionComponentConstituentComponent i : constituent) 869 dst.constituent.add(i.copy()); 870 }; 871 if (property != null) { 872 dst.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 873 for (ManufacturedItemDefinitionPropertyComponent i : property) 874 dst.property.add(i.copy()); 875 }; 876 if (component != null) { 877 dst.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 878 for (ManufacturedItemDefinitionComponentComponent i : component) 879 dst.component.add(i.copy()); 880 }; 881 } 882 883 @Override 884 public boolean equalsDeep(Base other_) { 885 if (!super.equalsDeep(other_)) 886 return false; 887 if (!(other_ instanceof ManufacturedItemDefinitionComponentComponent)) 888 return false; 889 ManufacturedItemDefinitionComponentComponent o = (ManufacturedItemDefinitionComponentComponent) other_; 890 return compareDeep(type, o.type, true) && compareDeep(function, o.function, true) && compareDeep(amount, o.amount, true) 891 && compareDeep(constituent, o.constituent, true) && compareDeep(property, o.property, true) && compareDeep(component, o.component, true) 892 ; 893 } 894 895 @Override 896 public boolean equalsShallow(Base other_) { 897 if (!super.equalsShallow(other_)) 898 return false; 899 if (!(other_ instanceof ManufacturedItemDefinitionComponentComponent)) 900 return false; 901 ManufacturedItemDefinitionComponentComponent o = (ManufacturedItemDefinitionComponentComponent) other_; 902 return true; 903 } 904 905 public boolean isEmpty() { 906 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, function, amount, constituent 907 , property, component); 908 } 909 910 public String fhirType() { 911 return "ManufacturedItemDefinition.component"; 912 913 } 914 915 } 916 917 @Block() 918 public static class ManufacturedItemDefinitionComponentConstituentComponent extends BackboneElement implements IBaseBackboneElement { 919 /** 920 * The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume). 921 */ 922 @Child(name = "amount", type = {Quantity.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 923 @Description(shortDefinition="The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume)", formalDefinition="The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume)." ) 924 protected List<Quantity> amount; 925 926 /** 927 * The type of location of the constituent within this component e.g. intragranular, blend. 928 */ 929 @Child(name = "location", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 930 @Description(shortDefinition="The type of location of the constituent within this component e.g. intragranular, blend", formalDefinition="The type of location of the constituent within this component e.g. intragranular, blend." ) 931 protected List<CodeableConcept> location; 932 933 /** 934 * The function of this constituent within the component e.g. binder. 935 */ 936 @Child(name = "function", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 937 @Description(shortDefinition="The function of this constituent within the component e.g. binder", formalDefinition="The function of this constituent within the component e.g. binder." ) 938 protected List<CodeableConcept> function; 939 940 /** 941 * An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it. 942 */ 943 @Child(name = "locationForIngredient", type = {CodeableReference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 944 @Description(shortDefinition="An ingredient that this component is the location of in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it", formalDefinition="An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it." ) 945 protected List<CodeableReference> locationForIngredient; 946 947 private static final long serialVersionUID = -33501583L; 948 949 /** 950 * Constructor 951 */ 952 public ManufacturedItemDefinitionComponentConstituentComponent() { 953 super(); 954 } 955 956 /** 957 * @return {@link #amount} (The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).) 958 */ 959 public List<Quantity> getAmount() { 960 if (this.amount == null) 961 this.amount = new ArrayList<Quantity>(); 962 return this.amount; 963 } 964 965 /** 966 * @return Returns a reference to <code>this</code> for easy method chaining 967 */ 968 public ManufacturedItemDefinitionComponentConstituentComponent setAmount(List<Quantity> theAmount) { 969 this.amount = theAmount; 970 return this; 971 } 972 973 public boolean hasAmount() { 974 if (this.amount == null) 975 return false; 976 for (Quantity item : this.amount) 977 if (!item.isEmpty()) 978 return true; 979 return false; 980 } 981 982 public Quantity addAmount() { //3 983 Quantity t = new Quantity(); 984 if (this.amount == null) 985 this.amount = new ArrayList<Quantity>(); 986 this.amount.add(t); 987 return t; 988 } 989 990 public ManufacturedItemDefinitionComponentConstituentComponent addAmount(Quantity t) { //3 991 if (t == null) 992 return this; 993 if (this.amount == null) 994 this.amount = new ArrayList<Quantity>(); 995 this.amount.add(t); 996 return this; 997 } 998 999 /** 1000 * @return The first repetition of repeating field {@link #amount}, creating it if it does not already exist {3} 1001 */ 1002 public Quantity getAmountFirstRep() { 1003 if (getAmount().isEmpty()) { 1004 addAmount(); 1005 } 1006 return getAmount().get(0); 1007 } 1008 1009 /** 1010 * @return {@link #location} (The type of location of the constituent within this component e.g. intragranular, blend.) 1011 */ 1012 public List<CodeableConcept> getLocation() { 1013 if (this.location == null) 1014 this.location = new ArrayList<CodeableConcept>(); 1015 return this.location; 1016 } 1017 1018 /** 1019 * @return Returns a reference to <code>this</code> for easy method chaining 1020 */ 1021 public ManufacturedItemDefinitionComponentConstituentComponent setLocation(List<CodeableConcept> theLocation) { 1022 this.location = theLocation; 1023 return this; 1024 } 1025 1026 public boolean hasLocation() { 1027 if (this.location == null) 1028 return false; 1029 for (CodeableConcept item : this.location) 1030 if (!item.isEmpty()) 1031 return true; 1032 return false; 1033 } 1034 1035 public CodeableConcept addLocation() { //3 1036 CodeableConcept t = new CodeableConcept(); 1037 if (this.location == null) 1038 this.location = new ArrayList<CodeableConcept>(); 1039 this.location.add(t); 1040 return t; 1041 } 1042 1043 public ManufacturedItemDefinitionComponentConstituentComponent addLocation(CodeableConcept t) { //3 1044 if (t == null) 1045 return this; 1046 if (this.location == null) 1047 this.location = new ArrayList<CodeableConcept>(); 1048 this.location.add(t); 1049 return this; 1050 } 1051 1052 /** 1053 * @return The first repetition of repeating field {@link #location}, creating it if it does not already exist {3} 1054 */ 1055 public CodeableConcept getLocationFirstRep() { 1056 if (getLocation().isEmpty()) { 1057 addLocation(); 1058 } 1059 return getLocation().get(0); 1060 } 1061 1062 /** 1063 * @return {@link #function} (The function of this constituent within the component e.g. binder.) 1064 */ 1065 public List<CodeableConcept> getFunction() { 1066 if (this.function == null) 1067 this.function = new ArrayList<CodeableConcept>(); 1068 return this.function; 1069 } 1070 1071 /** 1072 * @return Returns a reference to <code>this</code> for easy method chaining 1073 */ 1074 public ManufacturedItemDefinitionComponentConstituentComponent setFunction(List<CodeableConcept> theFunction) { 1075 this.function = theFunction; 1076 return this; 1077 } 1078 1079 public boolean hasFunction() { 1080 if (this.function == null) 1081 return false; 1082 for (CodeableConcept item : this.function) 1083 if (!item.isEmpty()) 1084 return true; 1085 return false; 1086 } 1087 1088 public CodeableConcept addFunction() { //3 1089 CodeableConcept t = new CodeableConcept(); 1090 if (this.function == null) 1091 this.function = new ArrayList<CodeableConcept>(); 1092 this.function.add(t); 1093 return t; 1094 } 1095 1096 public ManufacturedItemDefinitionComponentConstituentComponent addFunction(CodeableConcept t) { //3 1097 if (t == null) 1098 return this; 1099 if (this.function == null) 1100 this.function = new ArrayList<CodeableConcept>(); 1101 this.function.add(t); 1102 return this; 1103 } 1104 1105 /** 1106 * @return The first repetition of repeating field {@link #function}, creating it if it does not already exist {3} 1107 */ 1108 public CodeableConcept getFunctionFirstRep() { 1109 if (getFunction().isEmpty()) { 1110 addFunction(); 1111 } 1112 return getFunction().get(0); 1113 } 1114 1115 /** 1116 * @return {@link #locationForIngredient} (An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.) 1117 */ 1118 public List<CodeableReference> getLocationForIngredient() { 1119 if (this.locationForIngredient == null) 1120 this.locationForIngredient = new ArrayList<CodeableReference>(); 1121 return this.locationForIngredient; 1122 } 1123 1124 /** 1125 * @return Returns a reference to <code>this</code> for easy method chaining 1126 */ 1127 public ManufacturedItemDefinitionComponentConstituentComponent setLocationForIngredient(List<CodeableReference> theLocationForIngredient) { 1128 this.locationForIngredient = theLocationForIngredient; 1129 return this; 1130 } 1131 1132 public boolean hasLocationForIngredient() { 1133 if (this.locationForIngredient == null) 1134 return false; 1135 for (CodeableReference item : this.locationForIngredient) 1136 if (!item.isEmpty()) 1137 return true; 1138 return false; 1139 } 1140 1141 public CodeableReference addLocationForIngredient() { //3 1142 CodeableReference t = new CodeableReference(); 1143 if (this.locationForIngredient == null) 1144 this.locationForIngredient = new ArrayList<CodeableReference>(); 1145 this.locationForIngredient.add(t); 1146 return t; 1147 } 1148 1149 public ManufacturedItemDefinitionComponentConstituentComponent addLocationForIngredient(CodeableReference t) { //3 1150 if (t == null) 1151 return this; 1152 if (this.locationForIngredient == null) 1153 this.locationForIngredient = new ArrayList<CodeableReference>(); 1154 this.locationForIngredient.add(t); 1155 return this; 1156 } 1157 1158 /** 1159 * @return The first repetition of repeating field {@link #locationForIngredient}, creating it if it does not already exist {3} 1160 */ 1161 public CodeableReference getLocationForIngredientFirstRep() { 1162 if (getLocationForIngredient().isEmpty()) { 1163 addLocationForIngredient(); 1164 } 1165 return getLocationForIngredient().get(0); 1166 } 1167 1168 protected void listChildren(List<Property> children) { 1169 super.listChildren(children); 1170 children.add(new Property("amount", "Quantity", "The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount)); 1171 children.add(new Property("location", "CodeableConcept", "The type of location of the constituent within this component e.g. intragranular, blend.", 0, java.lang.Integer.MAX_VALUE, location)); 1172 children.add(new Property("function", "CodeableConcept", "The function of this constituent within the component e.g. binder.", 0, java.lang.Integer.MAX_VALUE, function)); 1173 children.add(new Property("locationForIngredient", "CodeableReference(Ingredient)", "An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.", 0, java.lang.Integer.MAX_VALUE, locationForIngredient)); 1174 } 1175 1176 @Override 1177 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1178 switch (_hash) { 1179 case -1413853096: /*amount*/ return new Property("amount", "Quantity", "The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount); 1180 case 1901043637: /*location*/ return new Property("location", "CodeableConcept", "The type of location of the constituent within this component e.g. intragranular, blend.", 0, java.lang.Integer.MAX_VALUE, location); 1181 case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "The function of this constituent within the component e.g. binder.", 0, java.lang.Integer.MAX_VALUE, function); 1182 case 525382085: /*locationForIngredient*/ return new Property("locationForIngredient", "CodeableReference(Ingredient)", "An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.", 0, java.lang.Integer.MAX_VALUE, locationForIngredient); 1183 default: return super.getNamedProperty(_hash, _name, _checkValid); 1184 } 1185 1186 } 1187 1188 @Override 1189 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1190 switch (hash) { 1191 case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : this.amount.toArray(new Base[this.amount.size()]); // Quantity 1192 case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // CodeableConcept 1193 case 1380938712: /*function*/ return this.function == null ? new Base[0] : this.function.toArray(new Base[this.function.size()]); // CodeableConcept 1194 case 525382085: /*locationForIngredient*/ return this.locationForIngredient == null ? new Base[0] : this.locationForIngredient.toArray(new Base[this.locationForIngredient.size()]); // CodeableReference 1195 default: return super.getProperty(hash, name, checkValid); 1196 } 1197 1198 } 1199 1200 @Override 1201 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1202 switch (hash) { 1203 case -1413853096: // amount 1204 this.getAmount().add(TypeConvertor.castToQuantity(value)); // Quantity 1205 return value; 1206 case 1901043637: // location 1207 this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1208 return value; 1209 case 1380938712: // function 1210 this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1211 return value; 1212 case 525382085: // locationForIngredient 1213 this.getLocationForIngredient().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1214 return value; 1215 default: return super.setProperty(hash, name, value); 1216 } 1217 1218 } 1219 1220 @Override 1221 public Base setProperty(String name, Base value) throws FHIRException { 1222 if (name.equals("amount")) { 1223 this.getAmount().add(TypeConvertor.castToQuantity(value)); 1224 } else if (name.equals("location")) { 1225 this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); 1226 } else if (name.equals("function")) { 1227 this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); 1228 } else if (name.equals("locationForIngredient")) { 1229 this.getLocationForIngredient().add(TypeConvertor.castToCodeableReference(value)); 1230 } else 1231 return super.setProperty(name, value); 1232 return value; 1233 } 1234 1235 @Override 1236 public Base makeProperty(int hash, String name) throws FHIRException { 1237 switch (hash) { 1238 case -1413853096: return addAmount(); 1239 case 1901043637: return addLocation(); 1240 case 1380938712: return addFunction(); 1241 case 525382085: return addLocationForIngredient(); 1242 default: return super.makeProperty(hash, name); 1243 } 1244 1245 } 1246 1247 @Override 1248 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1249 switch (hash) { 1250 case -1413853096: /*amount*/ return new String[] {"Quantity"}; 1251 case 1901043637: /*location*/ return new String[] {"CodeableConcept"}; 1252 case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; 1253 case 525382085: /*locationForIngredient*/ return new String[] {"CodeableReference"}; 1254 default: return super.getTypesForProperty(hash, name); 1255 } 1256 1257 } 1258 1259 @Override 1260 public Base addChild(String name) throws FHIRException { 1261 if (name.equals("amount")) { 1262 return addAmount(); 1263 } 1264 else if (name.equals("location")) { 1265 return addLocation(); 1266 } 1267 else if (name.equals("function")) { 1268 return addFunction(); 1269 } 1270 else if (name.equals("locationForIngredient")) { 1271 return addLocationForIngredient(); 1272 } 1273 else 1274 return super.addChild(name); 1275 } 1276 1277 public ManufacturedItemDefinitionComponentConstituentComponent copy() { 1278 ManufacturedItemDefinitionComponentConstituentComponent dst = new ManufacturedItemDefinitionComponentConstituentComponent(); 1279 copyValues(dst); 1280 return dst; 1281 } 1282 1283 public void copyValues(ManufacturedItemDefinitionComponentConstituentComponent dst) { 1284 super.copyValues(dst); 1285 if (amount != null) { 1286 dst.amount = new ArrayList<Quantity>(); 1287 for (Quantity i : amount) 1288 dst.amount.add(i.copy()); 1289 }; 1290 if (location != null) { 1291 dst.location = new ArrayList<CodeableConcept>(); 1292 for (CodeableConcept i : location) 1293 dst.location.add(i.copy()); 1294 }; 1295 if (function != null) { 1296 dst.function = new ArrayList<CodeableConcept>(); 1297 for (CodeableConcept i : function) 1298 dst.function.add(i.copy()); 1299 }; 1300 if (locationForIngredient != null) { 1301 dst.locationForIngredient = new ArrayList<CodeableReference>(); 1302 for (CodeableReference i : locationForIngredient) 1303 dst.locationForIngredient.add(i.copy()); 1304 }; 1305 } 1306 1307 @Override 1308 public boolean equalsDeep(Base other_) { 1309 if (!super.equalsDeep(other_)) 1310 return false; 1311 if (!(other_ instanceof ManufacturedItemDefinitionComponentConstituentComponent)) 1312 return false; 1313 ManufacturedItemDefinitionComponentConstituentComponent o = (ManufacturedItemDefinitionComponentConstituentComponent) other_; 1314 return compareDeep(amount, o.amount, true) && compareDeep(location, o.location, true) && compareDeep(function, o.function, true) 1315 && compareDeep(locationForIngredient, o.locationForIngredient, true); 1316 } 1317 1318 @Override 1319 public boolean equalsShallow(Base other_) { 1320 if (!super.equalsShallow(other_)) 1321 return false; 1322 if (!(other_ instanceof ManufacturedItemDefinitionComponentConstituentComponent)) 1323 return false; 1324 ManufacturedItemDefinitionComponentConstituentComponent o = (ManufacturedItemDefinitionComponentConstituentComponent) other_; 1325 return true; 1326 } 1327 1328 public boolean isEmpty() { 1329 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(amount, location, function 1330 , locationForIngredient); 1331 } 1332 1333 public String fhirType() { 1334 return "ManufacturedItemDefinition.component.constituent"; 1335 1336 } 1337 1338 } 1339 1340 /** 1341 * Unique identifier. 1342 */ 1343 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1344 @Description(shortDefinition="Unique identifier", formalDefinition="Unique identifier." ) 1345 protected List<Identifier> identifier; 1346 1347 /** 1348 * The status of this item. Enables tracking the life-cycle of the content. 1349 */ 1350 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 1351 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this item. Enables tracking the life-cycle of the content." ) 1352 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 1353 protected Enumeration<PublicationStatus> status; 1354 1355 /** 1356 * A descriptive name applied to this item. 1357 */ 1358 @Child(name = "name", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1359 @Description(shortDefinition="A descriptive name applied to this item", formalDefinition="A descriptive name applied to this item." ) 1360 protected StringType name; 1361 1362 /** 1363 * Dose form as manufactured and before any transformation into the pharmaceutical product. 1364 */ 1365 @Child(name = "manufacturedDoseForm", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=true) 1366 @Description(shortDefinition="Dose form as manufactured (before any necessary transformation)", formalDefinition="Dose form as manufactured and before any transformation into the pharmaceutical product." ) 1367 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/manufactured-dose-form") 1368 protected CodeableConcept manufacturedDoseForm; 1369 1370 /** 1371 * The ?real world? units in which the quantity of the manufactured item is described. 1372 */ 1373 @Child(name = "unitOfPresentation", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) 1374 @Description(shortDefinition="The ?real world? units in which the quantity of the item is described", formalDefinition="The ?real world? units in which the quantity of the manufactured item is described." ) 1375 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/unit-of-presentation") 1376 protected CodeableConcept unitOfPresentation; 1377 1378 /** 1379 * Manufacturer of the item, one of several possible. 1380 */ 1381 @Child(name = "manufacturer", type = {Organization.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1382 @Description(shortDefinition="Manufacturer of the item, one of several possible", formalDefinition="Manufacturer of the item, one of several possible." ) 1383 protected List<Reference> manufacturer; 1384 1385 /** 1386 * Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated. 1387 */ 1388 @Child(name = "marketingStatus", type = {MarketingStatus.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1389 @Description(shortDefinition="Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated", formalDefinition="Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated." ) 1390 protected List<MarketingStatus> marketingStatus; 1391 1392 /** 1393 * The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource. 1394 */ 1395 @Child(name = "ingredient", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1396 @Description(shortDefinition="The ingredients of this manufactured item. Only needed if these are not specified by incoming references from the Ingredient resource", formalDefinition="The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource." ) 1397 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/substance-codes") 1398 protected List<CodeableConcept> ingredient; 1399 1400 /** 1401 * General characteristics of this item. 1402 */ 1403 @Child(name = "property", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1404 @Description(shortDefinition="General characteristics of this item", formalDefinition="General characteristics of this item." ) 1405 protected List<ManufacturedItemDefinitionPropertyComponent> property; 1406 1407 /** 1408 * Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup. 1409 */ 1410 @Child(name = "component", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1411 @Description(shortDefinition="Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup", formalDefinition="Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup." ) 1412 protected List<ManufacturedItemDefinitionComponentComponent> component; 1413 1414 private static final long serialVersionUID = 516510494L; 1415 1416 /** 1417 * Constructor 1418 */ 1419 public ManufacturedItemDefinition() { 1420 super(); 1421 } 1422 1423 /** 1424 * Constructor 1425 */ 1426 public ManufacturedItemDefinition(PublicationStatus status, CodeableConcept manufacturedDoseForm) { 1427 super(); 1428 this.setStatus(status); 1429 this.setManufacturedDoseForm(manufacturedDoseForm); 1430 } 1431 1432 /** 1433 * @return {@link #identifier} (Unique identifier.) 1434 */ 1435 public List<Identifier> getIdentifier() { 1436 if (this.identifier == null) 1437 this.identifier = new ArrayList<Identifier>(); 1438 return this.identifier; 1439 } 1440 1441 /** 1442 * @return Returns a reference to <code>this</code> for easy method chaining 1443 */ 1444 public ManufacturedItemDefinition setIdentifier(List<Identifier> theIdentifier) { 1445 this.identifier = theIdentifier; 1446 return this; 1447 } 1448 1449 public boolean hasIdentifier() { 1450 if (this.identifier == null) 1451 return false; 1452 for (Identifier item : this.identifier) 1453 if (!item.isEmpty()) 1454 return true; 1455 return false; 1456 } 1457 1458 public Identifier addIdentifier() { //3 1459 Identifier t = new Identifier(); 1460 if (this.identifier == null) 1461 this.identifier = new ArrayList<Identifier>(); 1462 this.identifier.add(t); 1463 return t; 1464 } 1465 1466 public ManufacturedItemDefinition addIdentifier(Identifier t) { //3 1467 if (t == null) 1468 return this; 1469 if (this.identifier == null) 1470 this.identifier = new ArrayList<Identifier>(); 1471 this.identifier.add(t); 1472 return this; 1473 } 1474 1475 /** 1476 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1477 */ 1478 public Identifier getIdentifierFirstRep() { 1479 if (getIdentifier().isEmpty()) { 1480 addIdentifier(); 1481 } 1482 return getIdentifier().get(0); 1483 } 1484 1485 /** 1486 * @return {@link #status} (The status of this item. 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 1487 */ 1488 public Enumeration<PublicationStatus> getStatusElement() { 1489 if (this.status == null) 1490 if (Configuration.errorOnAutoCreate()) 1491 throw new Error("Attempt to auto-create ManufacturedItemDefinition.status"); 1492 else if (Configuration.doAutoCreate()) 1493 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1494 return this.status; 1495 } 1496 1497 public boolean hasStatusElement() { 1498 return this.status != null && !this.status.isEmpty(); 1499 } 1500 1501 public boolean hasStatus() { 1502 return this.status != null && !this.status.isEmpty(); 1503 } 1504 1505 /** 1506 * @param value {@link #status} (The status of this item. 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 1507 */ 1508 public ManufacturedItemDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1509 this.status = value; 1510 return this; 1511 } 1512 1513 /** 1514 * @return The status of this item. Enables tracking the life-cycle of the content. 1515 */ 1516 public PublicationStatus getStatus() { 1517 return this.status == null ? null : this.status.getValue(); 1518 } 1519 1520 /** 1521 * @param value The status of this item. Enables tracking the life-cycle of the content. 1522 */ 1523 public ManufacturedItemDefinition setStatus(PublicationStatus value) { 1524 if (this.status == null) 1525 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1526 this.status.setValue(value); 1527 return this; 1528 } 1529 1530 /** 1531 * @return {@link #name} (A descriptive name applied to this item.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1532 */ 1533 public StringType getNameElement() { 1534 if (this.name == null) 1535 if (Configuration.errorOnAutoCreate()) 1536 throw new Error("Attempt to auto-create ManufacturedItemDefinition.name"); 1537 else if (Configuration.doAutoCreate()) 1538 this.name = new StringType(); // bb 1539 return this.name; 1540 } 1541 1542 public boolean hasNameElement() { 1543 return this.name != null && !this.name.isEmpty(); 1544 } 1545 1546 public boolean hasName() { 1547 return this.name != null && !this.name.isEmpty(); 1548 } 1549 1550 /** 1551 * @param value {@link #name} (A descriptive name applied to this item.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1552 */ 1553 public ManufacturedItemDefinition setNameElement(StringType value) { 1554 this.name = value; 1555 return this; 1556 } 1557 1558 /** 1559 * @return A descriptive name applied to this item. 1560 */ 1561 public String getName() { 1562 return this.name == null ? null : this.name.getValue(); 1563 } 1564 1565 /** 1566 * @param value A descriptive name applied to this item. 1567 */ 1568 public ManufacturedItemDefinition setName(String value) { 1569 if (Utilities.noString(value)) 1570 this.name = null; 1571 else { 1572 if (this.name == null) 1573 this.name = new StringType(); 1574 this.name.setValue(value); 1575 } 1576 return this; 1577 } 1578 1579 /** 1580 * @return {@link #manufacturedDoseForm} (Dose form as manufactured and before any transformation into the pharmaceutical product.) 1581 */ 1582 public CodeableConcept getManufacturedDoseForm() { 1583 if (this.manufacturedDoseForm == null) 1584 if (Configuration.errorOnAutoCreate()) 1585 throw new Error("Attempt to auto-create ManufacturedItemDefinition.manufacturedDoseForm"); 1586 else if (Configuration.doAutoCreate()) 1587 this.manufacturedDoseForm = new CodeableConcept(); // cc 1588 return this.manufacturedDoseForm; 1589 } 1590 1591 public boolean hasManufacturedDoseForm() { 1592 return this.manufacturedDoseForm != null && !this.manufacturedDoseForm.isEmpty(); 1593 } 1594 1595 /** 1596 * @param value {@link #manufacturedDoseForm} (Dose form as manufactured and before any transformation into the pharmaceutical product.) 1597 */ 1598 public ManufacturedItemDefinition setManufacturedDoseForm(CodeableConcept value) { 1599 this.manufacturedDoseForm = value; 1600 return this; 1601 } 1602 1603 /** 1604 * @return {@link #unitOfPresentation} (The ?real world? units in which the quantity of the manufactured item is described.) 1605 */ 1606 public CodeableConcept getUnitOfPresentation() { 1607 if (this.unitOfPresentation == null) 1608 if (Configuration.errorOnAutoCreate()) 1609 throw new Error("Attempt to auto-create ManufacturedItemDefinition.unitOfPresentation"); 1610 else if (Configuration.doAutoCreate()) 1611 this.unitOfPresentation = new CodeableConcept(); // cc 1612 return this.unitOfPresentation; 1613 } 1614 1615 public boolean hasUnitOfPresentation() { 1616 return this.unitOfPresentation != null && !this.unitOfPresentation.isEmpty(); 1617 } 1618 1619 /** 1620 * @param value {@link #unitOfPresentation} (The ?real world? units in which the quantity of the manufactured item is described.) 1621 */ 1622 public ManufacturedItemDefinition setUnitOfPresentation(CodeableConcept value) { 1623 this.unitOfPresentation = value; 1624 return this; 1625 } 1626 1627 /** 1628 * @return {@link #manufacturer} (Manufacturer of the item, one of several possible.) 1629 */ 1630 public List<Reference> getManufacturer() { 1631 if (this.manufacturer == null) 1632 this.manufacturer = new ArrayList<Reference>(); 1633 return this.manufacturer; 1634 } 1635 1636 /** 1637 * @return Returns a reference to <code>this</code> for easy method chaining 1638 */ 1639 public ManufacturedItemDefinition setManufacturer(List<Reference> theManufacturer) { 1640 this.manufacturer = theManufacturer; 1641 return this; 1642 } 1643 1644 public boolean hasManufacturer() { 1645 if (this.manufacturer == null) 1646 return false; 1647 for (Reference item : this.manufacturer) 1648 if (!item.isEmpty()) 1649 return true; 1650 return false; 1651 } 1652 1653 public Reference addManufacturer() { //3 1654 Reference t = new Reference(); 1655 if (this.manufacturer == null) 1656 this.manufacturer = new ArrayList<Reference>(); 1657 this.manufacturer.add(t); 1658 return t; 1659 } 1660 1661 public ManufacturedItemDefinition addManufacturer(Reference t) { //3 1662 if (t == null) 1663 return this; 1664 if (this.manufacturer == null) 1665 this.manufacturer = new ArrayList<Reference>(); 1666 this.manufacturer.add(t); 1667 return this; 1668 } 1669 1670 /** 1671 * @return The first repetition of repeating field {@link #manufacturer}, creating it if it does not already exist {3} 1672 */ 1673 public Reference getManufacturerFirstRep() { 1674 if (getManufacturer().isEmpty()) { 1675 addManufacturer(); 1676 } 1677 return getManufacturer().get(0); 1678 } 1679 1680 /** 1681 * @return {@link #marketingStatus} (Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.) 1682 */ 1683 public List<MarketingStatus> getMarketingStatus() { 1684 if (this.marketingStatus == null) 1685 this.marketingStatus = new ArrayList<MarketingStatus>(); 1686 return this.marketingStatus; 1687 } 1688 1689 /** 1690 * @return Returns a reference to <code>this</code> for easy method chaining 1691 */ 1692 public ManufacturedItemDefinition setMarketingStatus(List<MarketingStatus> theMarketingStatus) { 1693 this.marketingStatus = theMarketingStatus; 1694 return this; 1695 } 1696 1697 public boolean hasMarketingStatus() { 1698 if (this.marketingStatus == null) 1699 return false; 1700 for (MarketingStatus item : this.marketingStatus) 1701 if (!item.isEmpty()) 1702 return true; 1703 return false; 1704 } 1705 1706 public MarketingStatus addMarketingStatus() { //3 1707 MarketingStatus t = new MarketingStatus(); 1708 if (this.marketingStatus == null) 1709 this.marketingStatus = new ArrayList<MarketingStatus>(); 1710 this.marketingStatus.add(t); 1711 return t; 1712 } 1713 1714 public ManufacturedItemDefinition addMarketingStatus(MarketingStatus t) { //3 1715 if (t == null) 1716 return this; 1717 if (this.marketingStatus == null) 1718 this.marketingStatus = new ArrayList<MarketingStatus>(); 1719 this.marketingStatus.add(t); 1720 return this; 1721 } 1722 1723 /** 1724 * @return The first repetition of repeating field {@link #marketingStatus}, creating it if it does not already exist {3} 1725 */ 1726 public MarketingStatus getMarketingStatusFirstRep() { 1727 if (getMarketingStatus().isEmpty()) { 1728 addMarketingStatus(); 1729 } 1730 return getMarketingStatus().get(0); 1731 } 1732 1733 /** 1734 * @return {@link #ingredient} (The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.) 1735 */ 1736 public List<CodeableConcept> getIngredient() { 1737 if (this.ingredient == null) 1738 this.ingredient = new ArrayList<CodeableConcept>(); 1739 return this.ingredient; 1740 } 1741 1742 /** 1743 * @return Returns a reference to <code>this</code> for easy method chaining 1744 */ 1745 public ManufacturedItemDefinition setIngredient(List<CodeableConcept> theIngredient) { 1746 this.ingredient = theIngredient; 1747 return this; 1748 } 1749 1750 public boolean hasIngredient() { 1751 if (this.ingredient == null) 1752 return false; 1753 for (CodeableConcept item : this.ingredient) 1754 if (!item.isEmpty()) 1755 return true; 1756 return false; 1757 } 1758 1759 public CodeableConcept addIngredient() { //3 1760 CodeableConcept t = new CodeableConcept(); 1761 if (this.ingredient == null) 1762 this.ingredient = new ArrayList<CodeableConcept>(); 1763 this.ingredient.add(t); 1764 return t; 1765 } 1766 1767 public ManufacturedItemDefinition addIngredient(CodeableConcept t) { //3 1768 if (t == null) 1769 return this; 1770 if (this.ingredient == null) 1771 this.ingredient = new ArrayList<CodeableConcept>(); 1772 this.ingredient.add(t); 1773 return this; 1774 } 1775 1776 /** 1777 * @return The first repetition of repeating field {@link #ingredient}, creating it if it does not already exist {3} 1778 */ 1779 public CodeableConcept getIngredientFirstRep() { 1780 if (getIngredient().isEmpty()) { 1781 addIngredient(); 1782 } 1783 return getIngredient().get(0); 1784 } 1785 1786 /** 1787 * @return {@link #property} (General characteristics of this item.) 1788 */ 1789 public List<ManufacturedItemDefinitionPropertyComponent> getProperty() { 1790 if (this.property == null) 1791 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 1792 return this.property; 1793 } 1794 1795 /** 1796 * @return Returns a reference to <code>this</code> for easy method chaining 1797 */ 1798 public ManufacturedItemDefinition setProperty(List<ManufacturedItemDefinitionPropertyComponent> theProperty) { 1799 this.property = theProperty; 1800 return this; 1801 } 1802 1803 public boolean hasProperty() { 1804 if (this.property == null) 1805 return false; 1806 for (ManufacturedItemDefinitionPropertyComponent item : this.property) 1807 if (!item.isEmpty()) 1808 return true; 1809 return false; 1810 } 1811 1812 public ManufacturedItemDefinitionPropertyComponent addProperty() { //3 1813 ManufacturedItemDefinitionPropertyComponent t = new ManufacturedItemDefinitionPropertyComponent(); 1814 if (this.property == null) 1815 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 1816 this.property.add(t); 1817 return t; 1818 } 1819 1820 public ManufacturedItemDefinition addProperty(ManufacturedItemDefinitionPropertyComponent t) { //3 1821 if (t == null) 1822 return this; 1823 if (this.property == null) 1824 this.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 1825 this.property.add(t); 1826 return this; 1827 } 1828 1829 /** 1830 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 1831 */ 1832 public ManufacturedItemDefinitionPropertyComponent getPropertyFirstRep() { 1833 if (getProperty().isEmpty()) { 1834 addProperty(); 1835 } 1836 return getProperty().get(0); 1837 } 1838 1839 /** 1840 * @return {@link #component} (Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.) 1841 */ 1842 public List<ManufacturedItemDefinitionComponentComponent> getComponent() { 1843 if (this.component == null) 1844 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 1845 return this.component; 1846 } 1847 1848 /** 1849 * @return Returns a reference to <code>this</code> for easy method chaining 1850 */ 1851 public ManufacturedItemDefinition setComponent(List<ManufacturedItemDefinitionComponentComponent> theComponent) { 1852 this.component = theComponent; 1853 return this; 1854 } 1855 1856 public boolean hasComponent() { 1857 if (this.component == null) 1858 return false; 1859 for (ManufacturedItemDefinitionComponentComponent item : this.component) 1860 if (!item.isEmpty()) 1861 return true; 1862 return false; 1863 } 1864 1865 public ManufacturedItemDefinitionComponentComponent addComponent() { //3 1866 ManufacturedItemDefinitionComponentComponent t = new ManufacturedItemDefinitionComponentComponent(); 1867 if (this.component == null) 1868 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 1869 this.component.add(t); 1870 return t; 1871 } 1872 1873 public ManufacturedItemDefinition addComponent(ManufacturedItemDefinitionComponentComponent t) { //3 1874 if (t == null) 1875 return this; 1876 if (this.component == null) 1877 this.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 1878 this.component.add(t); 1879 return this; 1880 } 1881 1882 /** 1883 * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} 1884 */ 1885 public ManufacturedItemDefinitionComponentComponent getComponentFirstRep() { 1886 if (getComponent().isEmpty()) { 1887 addComponent(); 1888 } 1889 return getComponent().get(0); 1890 } 1891 1892 protected void listChildren(List<Property> children) { 1893 super.listChildren(children); 1894 children.add(new Property("identifier", "Identifier", "Unique identifier.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1895 children.add(new Property("status", "code", "The status of this item. Enables tracking the life-cycle of the content.", 0, 1, status)); 1896 children.add(new Property("name", "string", "A descriptive name applied to this item.", 0, 1, name)); 1897 children.add(new Property("manufacturedDoseForm", "CodeableConcept", "Dose form as manufactured and before any transformation into the pharmaceutical product.", 0, 1, manufacturedDoseForm)); 1898 children.add(new Property("unitOfPresentation", "CodeableConcept", "The ?real world? units in which the quantity of the manufactured item is described.", 0, 1, unitOfPresentation)); 1899 children.add(new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item, one of several possible.", 0, java.lang.Integer.MAX_VALUE, manufacturer)); 1900 children.add(new Property("marketingStatus", "MarketingStatus", "Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.", 0, java.lang.Integer.MAX_VALUE, marketingStatus)); 1901 children.add(new Property("ingredient", "CodeableConcept", "The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.", 0, java.lang.Integer.MAX_VALUE, ingredient)); 1902 children.add(new Property("property", "", "General characteristics of this item.", 0, java.lang.Integer.MAX_VALUE, property)); 1903 children.add(new Property("component", "", "Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.", 0, java.lang.Integer.MAX_VALUE, component)); 1904 } 1905 1906 @Override 1907 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1908 switch (_hash) { 1909 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier.", 0, java.lang.Integer.MAX_VALUE, identifier); 1910 case -892481550: /*status*/ return new Property("status", "code", "The status of this item. Enables tracking the life-cycle of the content.", 0, 1, status); 1911 case 3373707: /*name*/ return new Property("name", "string", "A descriptive name applied to this item.", 0, 1, name); 1912 case -1451400348: /*manufacturedDoseForm*/ return new Property("manufacturedDoseForm", "CodeableConcept", "Dose form as manufactured and before any transformation into the pharmaceutical product.", 0, 1, manufacturedDoseForm); 1913 case -1427765963: /*unitOfPresentation*/ return new Property("unitOfPresentation", "CodeableConcept", "The ?real world? units in which the quantity of the manufactured item is described.", 0, 1, unitOfPresentation); 1914 case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item, one of several possible.", 0, java.lang.Integer.MAX_VALUE, manufacturer); 1915 case 70767032: /*marketingStatus*/ return new Property("marketingStatus", "MarketingStatus", "Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.", 0, java.lang.Integer.MAX_VALUE, marketingStatus); 1916 case -206409263: /*ingredient*/ return new Property("ingredient", "CodeableConcept", "The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.", 0, java.lang.Integer.MAX_VALUE, ingredient); 1917 case -993141291: /*property*/ return new Property("property", "", "General characteristics of this item.", 0, java.lang.Integer.MAX_VALUE, property); 1918 case -1399907075: /*component*/ return new Property("component", "", "Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.", 0, java.lang.Integer.MAX_VALUE, component); 1919 default: return super.getNamedProperty(_hash, _name, _checkValid); 1920 } 1921 1922 } 1923 1924 @Override 1925 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1926 switch (hash) { 1927 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1928 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 1929 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1930 case -1451400348: /*manufacturedDoseForm*/ return this.manufacturedDoseForm == null ? new Base[0] : new Base[] {this.manufacturedDoseForm}; // CodeableConcept 1931 case -1427765963: /*unitOfPresentation*/ return this.unitOfPresentation == null ? new Base[0] : new Base[] {this.unitOfPresentation}; // CodeableConcept 1932 case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : this.manufacturer.toArray(new Base[this.manufacturer.size()]); // Reference 1933 case 70767032: /*marketingStatus*/ return this.marketingStatus == null ? new Base[0] : this.marketingStatus.toArray(new Base[this.marketingStatus.size()]); // MarketingStatus 1934 case -206409263: /*ingredient*/ return this.ingredient == null ? new Base[0] : this.ingredient.toArray(new Base[this.ingredient.size()]); // CodeableConcept 1935 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ManufacturedItemDefinitionPropertyComponent 1936 case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ManufacturedItemDefinitionComponentComponent 1937 default: return super.getProperty(hash, name, checkValid); 1938 } 1939 1940 } 1941 1942 @Override 1943 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1944 switch (hash) { 1945 case -1618432855: // identifier 1946 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1947 return value; 1948 case -892481550: // status 1949 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1950 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1951 return value; 1952 case 3373707: // name 1953 this.name = TypeConvertor.castToString(value); // StringType 1954 return value; 1955 case -1451400348: // manufacturedDoseForm 1956 this.manufacturedDoseForm = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1957 return value; 1958 case -1427765963: // unitOfPresentation 1959 this.unitOfPresentation = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1960 return value; 1961 case -1969347631: // manufacturer 1962 this.getManufacturer().add(TypeConvertor.castToReference(value)); // Reference 1963 return value; 1964 case 70767032: // marketingStatus 1965 this.getMarketingStatus().add(TypeConvertor.castToMarketingStatus(value)); // MarketingStatus 1966 return value; 1967 case -206409263: // ingredient 1968 this.getIngredient().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1969 return value; 1970 case -993141291: // property 1971 this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); // ManufacturedItemDefinitionPropertyComponent 1972 return value; 1973 case -1399907075: // component 1974 this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); // ManufacturedItemDefinitionComponentComponent 1975 return value; 1976 default: return super.setProperty(hash, name, value); 1977 } 1978 1979 } 1980 1981 @Override 1982 public Base setProperty(String name, Base value) throws FHIRException { 1983 if (name.equals("identifier")) { 1984 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1985 } else if (name.equals("status")) { 1986 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 1987 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1988 } else if (name.equals("name")) { 1989 this.name = TypeConvertor.castToString(value); // StringType 1990 } else if (name.equals("manufacturedDoseForm")) { 1991 this.manufacturedDoseForm = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1992 } else if (name.equals("unitOfPresentation")) { 1993 this.unitOfPresentation = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1994 } else if (name.equals("manufacturer")) { 1995 this.getManufacturer().add(TypeConvertor.castToReference(value)); 1996 } else if (name.equals("marketingStatus")) { 1997 this.getMarketingStatus().add(TypeConvertor.castToMarketingStatus(value)); 1998 } else if (name.equals("ingredient")) { 1999 this.getIngredient().add(TypeConvertor.castToCodeableConcept(value)); 2000 } else if (name.equals("property")) { 2001 this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); 2002 } else if (name.equals("component")) { 2003 this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); 2004 } else 2005 return super.setProperty(name, value); 2006 return value; 2007 } 2008 2009 @Override 2010 public Base makeProperty(int hash, String name) throws FHIRException { 2011 switch (hash) { 2012 case -1618432855: return addIdentifier(); 2013 case -892481550: return getStatusElement(); 2014 case 3373707: return getNameElement(); 2015 case -1451400348: return getManufacturedDoseForm(); 2016 case -1427765963: return getUnitOfPresentation(); 2017 case -1969347631: return addManufacturer(); 2018 case 70767032: return addMarketingStatus(); 2019 case -206409263: return addIngredient(); 2020 case -993141291: return addProperty(); 2021 case -1399907075: return addComponent(); 2022 default: return super.makeProperty(hash, name); 2023 } 2024 2025 } 2026 2027 @Override 2028 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2029 switch (hash) { 2030 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2031 case -892481550: /*status*/ return new String[] {"code"}; 2032 case 3373707: /*name*/ return new String[] {"string"}; 2033 case -1451400348: /*manufacturedDoseForm*/ return new String[] {"CodeableConcept"}; 2034 case -1427765963: /*unitOfPresentation*/ return new String[] {"CodeableConcept"}; 2035 case -1969347631: /*manufacturer*/ return new String[] {"Reference"}; 2036 case 70767032: /*marketingStatus*/ return new String[] {"MarketingStatus"}; 2037 case -206409263: /*ingredient*/ return new String[] {"CodeableConcept"}; 2038 case -993141291: /*property*/ return new String[] {}; 2039 case -1399907075: /*component*/ return new String[] {}; 2040 default: return super.getTypesForProperty(hash, name); 2041 } 2042 2043 } 2044 2045 @Override 2046 public Base addChild(String name) throws FHIRException { 2047 if (name.equals("identifier")) { 2048 return addIdentifier(); 2049 } 2050 else if (name.equals("status")) { 2051 throw new FHIRException("Cannot call addChild on a primitive type ManufacturedItemDefinition.status"); 2052 } 2053 else if (name.equals("name")) { 2054 throw new FHIRException("Cannot call addChild on a primitive type ManufacturedItemDefinition.name"); 2055 } 2056 else if (name.equals("manufacturedDoseForm")) { 2057 this.manufacturedDoseForm = new CodeableConcept(); 2058 return this.manufacturedDoseForm; 2059 } 2060 else if (name.equals("unitOfPresentation")) { 2061 this.unitOfPresentation = new CodeableConcept(); 2062 return this.unitOfPresentation; 2063 } 2064 else if (name.equals("manufacturer")) { 2065 return addManufacturer(); 2066 } 2067 else if (name.equals("marketingStatus")) { 2068 return addMarketingStatus(); 2069 } 2070 else if (name.equals("ingredient")) { 2071 return addIngredient(); 2072 } 2073 else if (name.equals("property")) { 2074 return addProperty(); 2075 } 2076 else if (name.equals("component")) { 2077 return addComponent(); 2078 } 2079 else 2080 return super.addChild(name); 2081 } 2082 2083 public String fhirType() { 2084 return "ManufacturedItemDefinition"; 2085 2086 } 2087 2088 public ManufacturedItemDefinition copy() { 2089 ManufacturedItemDefinition dst = new ManufacturedItemDefinition(); 2090 copyValues(dst); 2091 return dst; 2092 } 2093 2094 public void copyValues(ManufacturedItemDefinition dst) { 2095 super.copyValues(dst); 2096 if (identifier != null) { 2097 dst.identifier = new ArrayList<Identifier>(); 2098 for (Identifier i : identifier) 2099 dst.identifier.add(i.copy()); 2100 }; 2101 dst.status = status == null ? null : status.copy(); 2102 dst.name = name == null ? null : name.copy(); 2103 dst.manufacturedDoseForm = manufacturedDoseForm == null ? null : manufacturedDoseForm.copy(); 2104 dst.unitOfPresentation = unitOfPresentation == null ? null : unitOfPresentation.copy(); 2105 if (manufacturer != null) { 2106 dst.manufacturer = new ArrayList<Reference>(); 2107 for (Reference i : manufacturer) 2108 dst.manufacturer.add(i.copy()); 2109 }; 2110 if (marketingStatus != null) { 2111 dst.marketingStatus = new ArrayList<MarketingStatus>(); 2112 for (MarketingStatus i : marketingStatus) 2113 dst.marketingStatus.add(i.copy()); 2114 }; 2115 if (ingredient != null) { 2116 dst.ingredient = new ArrayList<CodeableConcept>(); 2117 for (CodeableConcept i : ingredient) 2118 dst.ingredient.add(i.copy()); 2119 }; 2120 if (property != null) { 2121 dst.property = new ArrayList<ManufacturedItemDefinitionPropertyComponent>(); 2122 for (ManufacturedItemDefinitionPropertyComponent i : property) 2123 dst.property.add(i.copy()); 2124 }; 2125 if (component != null) { 2126 dst.component = new ArrayList<ManufacturedItemDefinitionComponentComponent>(); 2127 for (ManufacturedItemDefinitionComponentComponent i : component) 2128 dst.component.add(i.copy()); 2129 }; 2130 } 2131 2132 protected ManufacturedItemDefinition typedCopy() { 2133 return copy(); 2134 } 2135 2136 @Override 2137 public boolean equalsDeep(Base other_) { 2138 if (!super.equalsDeep(other_)) 2139 return false; 2140 if (!(other_ instanceof ManufacturedItemDefinition)) 2141 return false; 2142 ManufacturedItemDefinition o = (ManufacturedItemDefinition) other_; 2143 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(name, o.name, true) 2144 && compareDeep(manufacturedDoseForm, o.manufacturedDoseForm, true) && compareDeep(unitOfPresentation, o.unitOfPresentation, true) 2145 && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(marketingStatus, o.marketingStatus, true) 2146 && compareDeep(ingredient, o.ingredient, true) && compareDeep(property, o.property, true) && compareDeep(component, o.component, true) 2147 ; 2148 } 2149 2150 @Override 2151 public boolean equalsShallow(Base other_) { 2152 if (!super.equalsShallow(other_)) 2153 return false; 2154 if (!(other_ instanceof ManufacturedItemDefinition)) 2155 return false; 2156 ManufacturedItemDefinition o = (ManufacturedItemDefinition) other_; 2157 return compareValues(status, o.status, true) && compareValues(name, o.name, true); 2158 } 2159 2160 public boolean isEmpty() { 2161 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, name 2162 , manufacturedDoseForm, unitOfPresentation, manufacturer, marketingStatus, ingredient 2163 , property, component); 2164 } 2165 2166 @Override 2167 public ResourceType getResourceType() { 2168 return ResourceType.ManufacturedItemDefinition; 2169 } 2170 2171 /** 2172 * Search parameter: <b>dose-form</b> 2173 * <p> 2174 * Description: <b>Dose form as manufactured and before any transformation into the pharmaceutical product</b><br> 2175 * Type: <b>token</b><br> 2176 * Path: <b>ManufacturedItemDefinition.manufacturedDoseForm</b><br> 2177 * </p> 2178 */ 2179 @SearchParamDefinition(name="dose-form", path="ManufacturedItemDefinition.manufacturedDoseForm", description="Dose form as manufactured and before any transformation into the pharmaceutical product", type="token" ) 2180 public static final String SP_DOSE_FORM = "dose-form"; 2181 /** 2182 * <b>Fluent Client</b> search parameter constant for <b>dose-form</b> 2183 * <p> 2184 * Description: <b>Dose form as manufactured and before any transformation into the pharmaceutical product</b><br> 2185 * Type: <b>token</b><br> 2186 * Path: <b>ManufacturedItemDefinition.manufacturedDoseForm</b><br> 2187 * </p> 2188 */ 2189 public static final ca.uhn.fhir.rest.gclient.TokenClientParam DOSE_FORM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_DOSE_FORM); 2190 2191 /** 2192 * Search parameter: <b>identifier</b> 2193 * <p> 2194 * Description: <b>Unique identifier</b><br> 2195 * Type: <b>token</b><br> 2196 * Path: <b>ManufacturedItemDefinition.identifier</b><br> 2197 * </p> 2198 */ 2199 @SearchParamDefinition(name="identifier", path="ManufacturedItemDefinition.identifier", description="Unique identifier", type="token" ) 2200 public static final String SP_IDENTIFIER = "identifier"; 2201 /** 2202 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2203 * <p> 2204 * Description: <b>Unique identifier</b><br> 2205 * Type: <b>token</b><br> 2206 * Path: <b>ManufacturedItemDefinition.identifier</b><br> 2207 * </p> 2208 */ 2209 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2210 2211 /** 2212 * Search parameter: <b>ingredient</b> 2213 * <p> 2214 * Description: <b>An ingredient of this item</b><br> 2215 * Type: <b>token</b><br> 2216 * Path: <b>ManufacturedItemDefinition.ingredient</b><br> 2217 * </p> 2218 */ 2219 @SearchParamDefinition(name="ingredient", path="ManufacturedItemDefinition.ingredient", description="An ingredient of this item", type="token" ) 2220 public static final String SP_INGREDIENT = "ingredient"; 2221 /** 2222 * <b>Fluent Client</b> search parameter constant for <b>ingredient</b> 2223 * <p> 2224 * Description: <b>An ingredient of this item</b><br> 2225 * Type: <b>token</b><br> 2226 * Path: <b>ManufacturedItemDefinition.ingredient</b><br> 2227 * </p> 2228 */ 2229 public static final ca.uhn.fhir.rest.gclient.TokenClientParam INGREDIENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INGREDIENT); 2230 2231 /** 2232 * Search parameter: <b>name</b> 2233 * <p> 2234 * Description: <b>A descriptive name applied to this item</b><br> 2235 * Type: <b>token</b><br> 2236 * Path: <b>ManufacturedItemDefinition.name</b><br> 2237 * </p> 2238 */ 2239 @SearchParamDefinition(name="name", path="ManufacturedItemDefinition.name", description="A descriptive name applied to this item", type="token" ) 2240 public static final String SP_NAME = "name"; 2241 /** 2242 * <b>Fluent Client</b> search parameter constant for <b>name</b> 2243 * <p> 2244 * Description: <b>A descriptive name applied to this item</b><br> 2245 * Type: <b>token</b><br> 2246 * Path: <b>ManufacturedItemDefinition.name</b><br> 2247 * </p> 2248 */ 2249 public static final ca.uhn.fhir.rest.gclient.TokenClientParam NAME = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_NAME); 2250 2251 /** 2252 * Search parameter: <b>status</b> 2253 * <p> 2254 * Description: <b>The status of this item. Enables tracking the life-cycle of the content.</b><br> 2255 * Type: <b>token</b><br> 2256 * Path: <b>ManufacturedItemDefinition.status</b><br> 2257 * </p> 2258 */ 2259 @SearchParamDefinition(name="status", path="ManufacturedItemDefinition.status", description="The status of this item. Enables tracking the life-cycle of the content.", type="token" ) 2260 public static final String SP_STATUS = "status"; 2261 /** 2262 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2263 * <p> 2264 * Description: <b>The status of this item. Enables tracking the life-cycle of the content.</b><br> 2265 * Type: <b>token</b><br> 2266 * Path: <b>ManufacturedItemDefinition.status</b><br> 2267 * </p> 2268 */ 2269 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2270 2271 2272} 2273