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