001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.r5.model.Enumerations.*; 038import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.instance.model.api.ICompositeType; 041import ca.uhn.fhir.model.api.annotation.ResourceDef; 042import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 043import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 044import ca.uhn.fhir.model.api.annotation.Child; 045import ca.uhn.fhir.model.api.annotation.ChildOrder; 046import ca.uhn.fhir.model.api.annotation.Description; 047import ca.uhn.fhir.model.api.annotation.Block; 048 049import org.hl7.fhir.utilities.Utilities; 050/** 051 * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product. 052 */ 053@ResourceDef(name="RegulatedAuthorization", profile="http://hl7.org/fhir/StructureDefinition/RegulatedAuthorization") 054public class RegulatedAuthorization extends DomainResource { 055 056 @Block() 057 public static class RegulatedAuthorizationCaseComponent extends BackboneElement implements IBaseBackboneElement { 058 /** 059 * Identifier by which this case can be referenced. 060 */ 061 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 062 @Description(shortDefinition="Identifier by which this case can be referenced", formalDefinition="Identifier by which this case can be referenced." ) 063 protected Identifier identifier; 064 065 /** 066 * The defining type of case. 067 */ 068 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 069 @Description(shortDefinition="The defining type of case", formalDefinition="The defining type of case." ) 070 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/regulated-authorization-case-type") 071 protected CodeableConcept type; 072 073 /** 074 * The status associated with the case. 075 */ 076 @Child(name = "status", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) 077 @Description(shortDefinition="The status associated with the case", formalDefinition="The status associated with the case." ) 078 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 079 protected CodeableConcept status; 080 081 /** 082 * Relevant date for this case. 083 */ 084 @Child(name = "date", type = {Period.class, DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) 085 @Description(shortDefinition="Relevant date for this case", formalDefinition="Relevant date for this case." ) 086 protected DataType date; 087 088 /** 089 * A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process. 090 */ 091 @Child(name = "application", type = {RegulatedAuthorizationCaseComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 092 @Description(shortDefinition="Applications submitted to obtain a regulated authorization. Steps within the longer running case or procedure", formalDefinition="A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process." ) 093 protected List<RegulatedAuthorizationCaseComponent> application; 094 095 private static final long serialVersionUID = 2052202113L; 096 097 /** 098 * Constructor 099 */ 100 public RegulatedAuthorizationCaseComponent() { 101 super(); 102 } 103 104 /** 105 * @return {@link #identifier} (Identifier by which this case can be referenced.) 106 */ 107 public Identifier getIdentifier() { 108 if (this.identifier == null) 109 if (Configuration.errorOnAutoCreate()) 110 throw new Error("Attempt to auto-create RegulatedAuthorizationCaseComponent.identifier"); 111 else if (Configuration.doAutoCreate()) 112 this.identifier = new Identifier(); // cc 113 return this.identifier; 114 } 115 116 public boolean hasIdentifier() { 117 return this.identifier != null && !this.identifier.isEmpty(); 118 } 119 120 /** 121 * @param value {@link #identifier} (Identifier by which this case can be referenced.) 122 */ 123 public RegulatedAuthorizationCaseComponent setIdentifier(Identifier value) { 124 this.identifier = value; 125 return this; 126 } 127 128 /** 129 * @return {@link #type} (The defining type of case.) 130 */ 131 public CodeableConcept getType() { 132 if (this.type == null) 133 if (Configuration.errorOnAutoCreate()) 134 throw new Error("Attempt to auto-create RegulatedAuthorizationCaseComponent.type"); 135 else if (Configuration.doAutoCreate()) 136 this.type = new CodeableConcept(); // cc 137 return this.type; 138 } 139 140 public boolean hasType() { 141 return this.type != null && !this.type.isEmpty(); 142 } 143 144 /** 145 * @param value {@link #type} (The defining type of case.) 146 */ 147 public RegulatedAuthorizationCaseComponent setType(CodeableConcept value) { 148 this.type = value; 149 return this; 150 } 151 152 /** 153 * @return {@link #status} (The status associated with the case.) 154 */ 155 public CodeableConcept getStatus() { 156 if (this.status == null) 157 if (Configuration.errorOnAutoCreate()) 158 throw new Error("Attempt to auto-create RegulatedAuthorizationCaseComponent.status"); 159 else if (Configuration.doAutoCreate()) 160 this.status = new CodeableConcept(); // cc 161 return this.status; 162 } 163 164 public boolean hasStatus() { 165 return this.status != null && !this.status.isEmpty(); 166 } 167 168 /** 169 * @param value {@link #status} (The status associated with the case.) 170 */ 171 public RegulatedAuthorizationCaseComponent setStatus(CodeableConcept value) { 172 this.status = value; 173 return this; 174 } 175 176 /** 177 * @return {@link #date} (Relevant date for this case.) 178 */ 179 public DataType getDate() { 180 return this.date; 181 } 182 183 /** 184 * @return {@link #date} (Relevant date for this case.) 185 */ 186 public Period getDatePeriod() throws FHIRException { 187 if (this.date == null) 188 this.date = new Period(); 189 if (!(this.date instanceof Period)) 190 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.date.getClass().getName()+" was encountered"); 191 return (Period) this.date; 192 } 193 194 public boolean hasDatePeriod() { 195 return this != null && this.date instanceof Period; 196 } 197 198 /** 199 * @return {@link #date} (Relevant date for this case.) 200 */ 201 public DateTimeType getDateDateTimeType() throws FHIRException { 202 if (this.date == null) 203 this.date = new DateTimeType(); 204 if (!(this.date instanceof DateTimeType)) 205 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.date.getClass().getName()+" was encountered"); 206 return (DateTimeType) this.date; 207 } 208 209 public boolean hasDateDateTimeType() { 210 return this != null && this.date instanceof DateTimeType; 211 } 212 213 public boolean hasDate() { 214 return this.date != null && !this.date.isEmpty(); 215 } 216 217 /** 218 * @param value {@link #date} (Relevant date for this case.) 219 */ 220 public RegulatedAuthorizationCaseComponent setDate(DataType value) { 221 if (value != null && !(value instanceof Period || value instanceof DateTimeType)) 222 throw new FHIRException("Not the right type for RegulatedAuthorization.case.date[x]: "+value.fhirType()); 223 this.date = value; 224 return this; 225 } 226 227 /** 228 * @return {@link #application} (A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process.) 229 */ 230 public List<RegulatedAuthorizationCaseComponent> getApplication() { 231 if (this.application == null) 232 this.application = new ArrayList<RegulatedAuthorizationCaseComponent>(); 233 return this.application; 234 } 235 236 /** 237 * @return Returns a reference to <code>this</code> for easy method chaining 238 */ 239 public RegulatedAuthorizationCaseComponent setApplication(List<RegulatedAuthorizationCaseComponent> theApplication) { 240 this.application = theApplication; 241 return this; 242 } 243 244 public boolean hasApplication() { 245 if (this.application == null) 246 return false; 247 for (RegulatedAuthorizationCaseComponent item : this.application) 248 if (!item.isEmpty()) 249 return true; 250 return false; 251 } 252 253 public RegulatedAuthorizationCaseComponent addApplication() { //3 254 RegulatedAuthorizationCaseComponent t = new RegulatedAuthorizationCaseComponent(); 255 if (this.application == null) 256 this.application = new ArrayList<RegulatedAuthorizationCaseComponent>(); 257 this.application.add(t); 258 return t; 259 } 260 261 public RegulatedAuthorizationCaseComponent addApplication(RegulatedAuthorizationCaseComponent t) { //3 262 if (t == null) 263 return this; 264 if (this.application == null) 265 this.application = new ArrayList<RegulatedAuthorizationCaseComponent>(); 266 this.application.add(t); 267 return this; 268 } 269 270 /** 271 * @return The first repetition of repeating field {@link #application}, creating it if it does not already exist {3} 272 */ 273 public RegulatedAuthorizationCaseComponent getApplicationFirstRep() { 274 if (getApplication().isEmpty()) { 275 addApplication(); 276 } 277 return getApplication().get(0); 278 } 279 280 protected void listChildren(List<Property> children) { 281 super.listChildren(children); 282 children.add(new Property("identifier", "Identifier", "Identifier by which this case can be referenced.", 0, 1, identifier)); 283 children.add(new Property("type", "CodeableConcept", "The defining type of case.", 0, 1, type)); 284 children.add(new Property("status", "CodeableConcept", "The status associated with the case.", 0, 1, status)); 285 children.add(new Property("date[x]", "Period|dateTime", "Relevant date for this case.", 0, 1, date)); 286 children.add(new Property("application", "@RegulatedAuthorization.case", "A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process.", 0, java.lang.Integer.MAX_VALUE, application)); 287 } 288 289 @Override 290 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 291 switch (_hash) { 292 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier by which this case can be referenced.", 0, 1, identifier); 293 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The defining type of case.", 0, 1, type); 294 case -892481550: /*status*/ return new Property("status", "CodeableConcept", "The status associated with the case.", 0, 1, status); 295 case 1443311122: /*date[x]*/ return new Property("date[x]", "Period|dateTime", "Relevant date for this case.", 0, 1, date); 296 case 3076014: /*date*/ return new Property("date[x]", "Period|dateTime", "Relevant date for this case.", 0, 1, date); 297 case 432297743: /*datePeriod*/ return new Property("date[x]", "Period", "Relevant date for this case.", 0, 1, date); 298 case 185136489: /*dateDateTime*/ return new Property("date[x]", "dateTime", "Relevant date for this case.", 0, 1, date); 299 case 1554253136: /*application*/ return new Property("application", "@RegulatedAuthorization.case", "A regulatory submission from an organization to a regulator, as part of an assessing case. Multiple applications may occur over time, with more or different information to support or modify the submission or the authorization. The applications can be considered as steps within the longer running case or procedure for this authorization process.", 0, java.lang.Integer.MAX_VALUE, application); 300 default: return super.getNamedProperty(_hash, _name, _checkValid); 301 } 302 303 } 304 305 @Override 306 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 307 switch (hash) { 308 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 309 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 310 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept 311 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DataType 312 case 1554253136: /*application*/ return this.application == null ? new Base[0] : this.application.toArray(new Base[this.application.size()]); // RegulatedAuthorizationCaseComponent 313 default: return super.getProperty(hash, name, checkValid); 314 } 315 316 } 317 318 @Override 319 public Base setProperty(int hash, String name, Base value) throws FHIRException { 320 switch (hash) { 321 case -1618432855: // identifier 322 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 323 return value; 324 case 3575610: // type 325 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 326 return value; 327 case -892481550: // status 328 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 329 return value; 330 case 3076014: // date 331 this.date = TypeConvertor.castToType(value); // DataType 332 return value; 333 case 1554253136: // application 334 this.getApplication().add((RegulatedAuthorizationCaseComponent) value); // RegulatedAuthorizationCaseComponent 335 return value; 336 default: return super.setProperty(hash, name, value); 337 } 338 339 } 340 341 @Override 342 public Base setProperty(String name, Base value) throws FHIRException { 343 if (name.equals("identifier")) { 344 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 345 } else if (name.equals("type")) { 346 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 347 } else if (name.equals("status")) { 348 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 349 } else if (name.equals("date[x]")) { 350 this.date = TypeConvertor.castToType(value); // DataType 351 } else if (name.equals("application")) { 352 this.getApplication().add((RegulatedAuthorizationCaseComponent) value); 353 } else 354 return super.setProperty(name, value); 355 return value; 356 } 357 358 @Override 359 public void removeChild(String name, Base value) throws FHIRException { 360 if (name.equals("identifier")) { 361 this.identifier = null; 362 } else if (name.equals("type")) { 363 this.type = null; 364 } else if (name.equals("status")) { 365 this.status = null; 366 } else if (name.equals("date[x]")) { 367 this.date = null; 368 } else if (name.equals("application")) { 369 this.getApplication().remove((RegulatedAuthorizationCaseComponent) value); 370 } else 371 super.removeChild(name, value); 372 373 } 374 375 @Override 376 public Base makeProperty(int hash, String name) throws FHIRException { 377 switch (hash) { 378 case -1618432855: return getIdentifier(); 379 case 3575610: return getType(); 380 case -892481550: return getStatus(); 381 case 1443311122: return getDate(); 382 case 3076014: return getDate(); 383 case 1554253136: return addApplication(); 384 default: return super.makeProperty(hash, name); 385 } 386 387 } 388 389 @Override 390 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 391 switch (hash) { 392 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 393 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 394 case -892481550: /*status*/ return new String[] {"CodeableConcept"}; 395 case 3076014: /*date*/ return new String[] {"Period", "dateTime"}; 396 case 1554253136: /*application*/ return new String[] {"@RegulatedAuthorization.case"}; 397 default: return super.getTypesForProperty(hash, name); 398 } 399 400 } 401 402 @Override 403 public Base addChild(String name) throws FHIRException { 404 if (name.equals("identifier")) { 405 this.identifier = new Identifier(); 406 return this.identifier; 407 } 408 else if (name.equals("type")) { 409 this.type = new CodeableConcept(); 410 return this.type; 411 } 412 else if (name.equals("status")) { 413 this.status = new CodeableConcept(); 414 return this.status; 415 } 416 else if (name.equals("datePeriod")) { 417 this.date = new Period(); 418 return this.date; 419 } 420 else if (name.equals("dateDateTime")) { 421 this.date = new DateTimeType(); 422 return this.date; 423 } 424 else if (name.equals("application")) { 425 return addApplication(); 426 } 427 else 428 return super.addChild(name); 429 } 430 431 public RegulatedAuthorizationCaseComponent copy() { 432 RegulatedAuthorizationCaseComponent dst = new RegulatedAuthorizationCaseComponent(); 433 copyValues(dst); 434 return dst; 435 } 436 437 public void copyValues(RegulatedAuthorizationCaseComponent dst) { 438 super.copyValues(dst); 439 dst.identifier = identifier == null ? null : identifier.copy(); 440 dst.type = type == null ? null : type.copy(); 441 dst.status = status == null ? null : status.copy(); 442 dst.date = date == null ? null : date.copy(); 443 if (application != null) { 444 dst.application = new ArrayList<RegulatedAuthorizationCaseComponent>(); 445 for (RegulatedAuthorizationCaseComponent i : application) 446 dst.application.add(i.copy()); 447 }; 448 } 449 450 @Override 451 public boolean equalsDeep(Base other_) { 452 if (!super.equalsDeep(other_)) 453 return false; 454 if (!(other_ instanceof RegulatedAuthorizationCaseComponent)) 455 return false; 456 RegulatedAuthorizationCaseComponent o = (RegulatedAuthorizationCaseComponent) other_; 457 return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(status, o.status, true) 458 && compareDeep(date, o.date, true) && compareDeep(application, o.application, true); 459 } 460 461 @Override 462 public boolean equalsShallow(Base other_) { 463 if (!super.equalsShallow(other_)) 464 return false; 465 if (!(other_ instanceof RegulatedAuthorizationCaseComponent)) 466 return false; 467 RegulatedAuthorizationCaseComponent o = (RegulatedAuthorizationCaseComponent) other_; 468 return true; 469 } 470 471 public boolean isEmpty() { 472 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, status 473 , date, application); 474 } 475 476 public String fhirType() { 477 return "RegulatedAuthorization.case"; 478 479 } 480 481 } 482 483 /** 484 * Business identifier for the authorization, typically assigned by the authorizing body. 485 */ 486 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 487 @Description(shortDefinition="Business identifier for the authorization, typically assigned by the authorizing body", formalDefinition="Business identifier for the authorization, typically assigned by the authorizing body." ) 488 protected List<Identifier> identifier; 489 490 /** 491 * The product type, treatment, facility or activity that is being authorized. 492 */ 493 @Child(name = "subject", type = {MedicinalProductDefinition.class, BiologicallyDerivedProduct.class, NutritionProduct.class, PackagedProductDefinition.class, ManufacturedItemDefinition.class, Ingredient.class, SubstanceDefinition.class, DeviceDefinition.class, ResearchStudy.class, ActivityDefinition.class, PlanDefinition.class, ObservationDefinition.class, Practitioner.class, Organization.class, Location.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 494 @Description(shortDefinition="The product type, treatment, facility or activity that is being authorized", formalDefinition="The product type, treatment, facility or activity that is being authorized." ) 495 protected List<Reference> subject; 496 497 /** 498 * Overall type of this authorization, for example drug marketing approval, orphan drug designation. 499 */ 500 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 501 @Description(shortDefinition="Overall type of this authorization, for example drug marketing approval, orphan drug designation", formalDefinition="Overall type of this authorization, for example drug marketing approval, orphan drug designation." ) 502 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/regulated-authorization-type") 503 protected CodeableConcept type; 504 505 /** 506 * General textual supporting information. 507 */ 508 @Child(name = "description", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=true) 509 @Description(shortDefinition="General textual supporting information", formalDefinition="General textual supporting information." ) 510 protected MarkdownType description; 511 512 /** 513 * The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted. 514 */ 515 @Child(name = "region", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 516 @Description(shortDefinition="The territory in which the authorization has been granted", formalDefinition="The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted." ) 517 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 518 protected List<CodeableConcept> region; 519 520 /** 521 * The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications. 522 */ 523 @Child(name = "status", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=true) 524 @Description(shortDefinition="The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications", formalDefinition="The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications." ) 525 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 526 protected CodeableConcept status; 527 528 /** 529 * The date at which the current status was assigned. 530 */ 531 @Child(name = "statusDate", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) 532 @Description(shortDefinition="The date at which the current status was assigned", formalDefinition="The date at which the current status was assigned." ) 533 protected DateTimeType statusDate; 534 535 /** 536 * The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date. 537 */ 538 @Child(name = "validityPeriod", type = {Period.class}, order=7, min=0, max=1, modifier=false, summary=true) 539 @Description(shortDefinition="The time period in which the regulatory approval etc. is in effect, e.g. a Marketing Authorization includes the date of authorization and/or expiration date", formalDefinition="The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date." ) 540 protected Period validityPeriod; 541 542 /** 543 * Condition for which the use of the regulated product applies. 544 */ 545 @Child(name = "indication", type = {CodeableReference.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 546 @Description(shortDefinition="Condition for which the use of the regulated product applies", formalDefinition="Condition for which the use of the regulated product applies." ) 547 protected List<CodeableReference> indication; 548 549 /** 550 * The intended use of the product, e.g. prevention, treatment, diagnosis. 551 */ 552 @Child(name = "intendedUse", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 553 @Description(shortDefinition="The intended use of the product, e.g. prevention, treatment", formalDefinition="The intended use of the product, e.g. prevention, treatment, diagnosis." ) 554 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/product-intended-use") 555 protected CodeableConcept intendedUse; 556 557 /** 558 * The legal or regulatory framework against which this authorization is granted, or other reasons for it. 559 */ 560 @Child(name = "basis", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 561 @Description(shortDefinition="The legal/regulatory framework or reasons under which this authorization is granted", formalDefinition="The legal or regulatory framework against which this authorization is granted, or other reasons for it." ) 562 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/regulated-authorization-basis") 563 protected List<CodeableConcept> basis; 564 565 /** 566 * The organization that has been granted this authorization, by some authoritative body (the 'regulator'). 567 */ 568 @Child(name = "holder", type = {Organization.class}, order=11, min=0, max=1, modifier=false, summary=true) 569 @Description(shortDefinition="The organization that has been granted this authorization, by the regulator", formalDefinition="The organization that has been granted this authorization, by some authoritative body (the 'regulator')." ) 570 protected Reference holder; 571 572 /** 573 * The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc. 574 */ 575 @Child(name = "regulator", type = {Organization.class}, order=12, min=0, max=1, modifier=false, summary=true) 576 @Description(shortDefinition="The regulatory authority or authorizing body granting the authorization", formalDefinition="The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc." ) 577 protected Reference regulator; 578 579 /** 580 * Additional information or supporting documentation about the authorization. 581 */ 582 @Child(name = "attachedDocument", type = {DocumentReference.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 583 @Description(shortDefinition="Additional information or supporting documentation about the authorization", formalDefinition="Additional information or supporting documentation about the authorization." ) 584 protected List<Reference> attachedDocument; 585 586 /** 587 * The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page). 588 */ 589 @Child(name = "case", type = {}, order=14, min=0, max=1, modifier=false, summary=true) 590 @Description(shortDefinition="The case or regulatory procedure for granting or amending a regulated authorization. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page)", formalDefinition="The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page)." ) 591 protected RegulatedAuthorizationCaseComponent case_; 592 593 private static final long serialVersionUID = 1227409639L; 594 595 /** 596 * Constructor 597 */ 598 public RegulatedAuthorization() { 599 super(); 600 } 601 602 /** 603 * @return {@link #identifier} (Business identifier for the authorization, typically assigned by the authorizing body.) 604 */ 605 public List<Identifier> getIdentifier() { 606 if (this.identifier == null) 607 this.identifier = new ArrayList<Identifier>(); 608 return this.identifier; 609 } 610 611 /** 612 * @return Returns a reference to <code>this</code> for easy method chaining 613 */ 614 public RegulatedAuthorization setIdentifier(List<Identifier> theIdentifier) { 615 this.identifier = theIdentifier; 616 return this; 617 } 618 619 public boolean hasIdentifier() { 620 if (this.identifier == null) 621 return false; 622 for (Identifier item : this.identifier) 623 if (!item.isEmpty()) 624 return true; 625 return false; 626 } 627 628 public Identifier addIdentifier() { //3 629 Identifier t = new Identifier(); 630 if (this.identifier == null) 631 this.identifier = new ArrayList<Identifier>(); 632 this.identifier.add(t); 633 return t; 634 } 635 636 public RegulatedAuthorization addIdentifier(Identifier t) { //3 637 if (t == null) 638 return this; 639 if (this.identifier == null) 640 this.identifier = new ArrayList<Identifier>(); 641 this.identifier.add(t); 642 return this; 643 } 644 645 /** 646 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 647 */ 648 public Identifier getIdentifierFirstRep() { 649 if (getIdentifier().isEmpty()) { 650 addIdentifier(); 651 } 652 return getIdentifier().get(0); 653 } 654 655 /** 656 * @return {@link #subject} (The product type, treatment, facility or activity that is being authorized.) 657 */ 658 public List<Reference> getSubject() { 659 if (this.subject == null) 660 this.subject = new ArrayList<Reference>(); 661 return this.subject; 662 } 663 664 /** 665 * @return Returns a reference to <code>this</code> for easy method chaining 666 */ 667 public RegulatedAuthorization setSubject(List<Reference> theSubject) { 668 this.subject = theSubject; 669 return this; 670 } 671 672 public boolean hasSubject() { 673 if (this.subject == null) 674 return false; 675 for (Reference item : this.subject) 676 if (!item.isEmpty()) 677 return true; 678 return false; 679 } 680 681 public Reference addSubject() { //3 682 Reference t = new Reference(); 683 if (this.subject == null) 684 this.subject = new ArrayList<Reference>(); 685 this.subject.add(t); 686 return t; 687 } 688 689 public RegulatedAuthorization addSubject(Reference t) { //3 690 if (t == null) 691 return this; 692 if (this.subject == null) 693 this.subject = new ArrayList<Reference>(); 694 this.subject.add(t); 695 return this; 696 } 697 698 /** 699 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} 700 */ 701 public Reference getSubjectFirstRep() { 702 if (getSubject().isEmpty()) { 703 addSubject(); 704 } 705 return getSubject().get(0); 706 } 707 708 /** 709 * @return {@link #type} (Overall type of this authorization, for example drug marketing approval, orphan drug designation.) 710 */ 711 public CodeableConcept getType() { 712 if (this.type == null) 713 if (Configuration.errorOnAutoCreate()) 714 throw new Error("Attempt to auto-create RegulatedAuthorization.type"); 715 else if (Configuration.doAutoCreate()) 716 this.type = new CodeableConcept(); // cc 717 return this.type; 718 } 719 720 public boolean hasType() { 721 return this.type != null && !this.type.isEmpty(); 722 } 723 724 /** 725 * @param value {@link #type} (Overall type of this authorization, for example drug marketing approval, orphan drug designation.) 726 */ 727 public RegulatedAuthorization setType(CodeableConcept value) { 728 this.type = value; 729 return this; 730 } 731 732 /** 733 * @return {@link #description} (General textual supporting information.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 734 */ 735 public MarkdownType getDescriptionElement() { 736 if (this.description == null) 737 if (Configuration.errorOnAutoCreate()) 738 throw new Error("Attempt to auto-create RegulatedAuthorization.description"); 739 else if (Configuration.doAutoCreate()) 740 this.description = new MarkdownType(); // bb 741 return this.description; 742 } 743 744 public boolean hasDescriptionElement() { 745 return this.description != null && !this.description.isEmpty(); 746 } 747 748 public boolean hasDescription() { 749 return this.description != null && !this.description.isEmpty(); 750 } 751 752 /** 753 * @param value {@link #description} (General textual supporting information.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 754 */ 755 public RegulatedAuthorization setDescriptionElement(MarkdownType value) { 756 this.description = value; 757 return this; 758 } 759 760 /** 761 * @return General textual supporting information. 762 */ 763 public String getDescription() { 764 return this.description == null ? null : this.description.getValue(); 765 } 766 767 /** 768 * @param value General textual supporting information. 769 */ 770 public RegulatedAuthorization setDescription(String value) { 771 if (Utilities.noString(value)) 772 this.description = null; 773 else { 774 if (this.description == null) 775 this.description = new MarkdownType(); 776 this.description.setValue(value); 777 } 778 return this; 779 } 780 781 /** 782 * @return {@link #region} (The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.) 783 */ 784 public List<CodeableConcept> getRegion() { 785 if (this.region == null) 786 this.region = new ArrayList<CodeableConcept>(); 787 return this.region; 788 } 789 790 /** 791 * @return Returns a reference to <code>this</code> for easy method chaining 792 */ 793 public RegulatedAuthorization setRegion(List<CodeableConcept> theRegion) { 794 this.region = theRegion; 795 return this; 796 } 797 798 public boolean hasRegion() { 799 if (this.region == null) 800 return false; 801 for (CodeableConcept item : this.region) 802 if (!item.isEmpty()) 803 return true; 804 return false; 805 } 806 807 public CodeableConcept addRegion() { //3 808 CodeableConcept t = new CodeableConcept(); 809 if (this.region == null) 810 this.region = new ArrayList<CodeableConcept>(); 811 this.region.add(t); 812 return t; 813 } 814 815 public RegulatedAuthorization addRegion(CodeableConcept t) { //3 816 if (t == null) 817 return this; 818 if (this.region == null) 819 this.region = new ArrayList<CodeableConcept>(); 820 this.region.add(t); 821 return this; 822 } 823 824 /** 825 * @return The first repetition of repeating field {@link #region}, creating it if it does not already exist {3} 826 */ 827 public CodeableConcept getRegionFirstRep() { 828 if (getRegion().isEmpty()) { 829 addRegion(); 830 } 831 return getRegion().get(0); 832 } 833 834 /** 835 * @return {@link #status} (The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.) 836 */ 837 public CodeableConcept getStatus() { 838 if (this.status == null) 839 if (Configuration.errorOnAutoCreate()) 840 throw new Error("Attempt to auto-create RegulatedAuthorization.status"); 841 else if (Configuration.doAutoCreate()) 842 this.status = new CodeableConcept(); // cc 843 return this.status; 844 } 845 846 public boolean hasStatus() { 847 return this.status != null && !this.status.isEmpty(); 848 } 849 850 /** 851 * @param value {@link #status} (The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.) 852 */ 853 public RegulatedAuthorization setStatus(CodeableConcept value) { 854 this.status = value; 855 return this; 856 } 857 858 /** 859 * @return {@link #statusDate} (The date at which the current status was assigned.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 860 */ 861 public DateTimeType getStatusDateElement() { 862 if (this.statusDate == null) 863 if (Configuration.errorOnAutoCreate()) 864 throw new Error("Attempt to auto-create RegulatedAuthorization.statusDate"); 865 else if (Configuration.doAutoCreate()) 866 this.statusDate = new DateTimeType(); // bb 867 return this.statusDate; 868 } 869 870 public boolean hasStatusDateElement() { 871 return this.statusDate != null && !this.statusDate.isEmpty(); 872 } 873 874 public boolean hasStatusDate() { 875 return this.statusDate != null && !this.statusDate.isEmpty(); 876 } 877 878 /** 879 * @param value {@link #statusDate} (The date at which the current status was assigned.). This is the underlying object with id, value and extensions. The accessor "getStatusDate" gives direct access to the value 880 */ 881 public RegulatedAuthorization setStatusDateElement(DateTimeType value) { 882 this.statusDate = value; 883 return this; 884 } 885 886 /** 887 * @return The date at which the current status was assigned. 888 */ 889 public Date getStatusDate() { 890 return this.statusDate == null ? null : this.statusDate.getValue(); 891 } 892 893 /** 894 * @param value The date at which the current status was assigned. 895 */ 896 public RegulatedAuthorization setStatusDate(Date value) { 897 if (value == null) 898 this.statusDate = null; 899 else { 900 if (this.statusDate == null) 901 this.statusDate = new DateTimeType(); 902 this.statusDate.setValue(value); 903 } 904 return this; 905 } 906 907 /** 908 * @return {@link #validityPeriod} (The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.) 909 */ 910 public Period getValidityPeriod() { 911 if (this.validityPeriod == null) 912 if (Configuration.errorOnAutoCreate()) 913 throw new Error("Attempt to auto-create RegulatedAuthorization.validityPeriod"); 914 else if (Configuration.doAutoCreate()) 915 this.validityPeriod = new Period(); // cc 916 return this.validityPeriod; 917 } 918 919 public boolean hasValidityPeriod() { 920 return this.validityPeriod != null && !this.validityPeriod.isEmpty(); 921 } 922 923 /** 924 * @param value {@link #validityPeriod} (The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.) 925 */ 926 public RegulatedAuthorization setValidityPeriod(Period value) { 927 this.validityPeriod = value; 928 return this; 929 } 930 931 /** 932 * @return {@link #indication} (Condition for which the use of the regulated product applies.) 933 */ 934 public List<CodeableReference> getIndication() { 935 if (this.indication == null) 936 this.indication = new ArrayList<CodeableReference>(); 937 return this.indication; 938 } 939 940 /** 941 * @return Returns a reference to <code>this</code> for easy method chaining 942 */ 943 public RegulatedAuthorization setIndication(List<CodeableReference> theIndication) { 944 this.indication = theIndication; 945 return this; 946 } 947 948 public boolean hasIndication() { 949 if (this.indication == null) 950 return false; 951 for (CodeableReference item : this.indication) 952 if (!item.isEmpty()) 953 return true; 954 return false; 955 } 956 957 public CodeableReference addIndication() { //3 958 CodeableReference t = new CodeableReference(); 959 if (this.indication == null) 960 this.indication = new ArrayList<CodeableReference>(); 961 this.indication.add(t); 962 return t; 963 } 964 965 public RegulatedAuthorization addIndication(CodeableReference t) { //3 966 if (t == null) 967 return this; 968 if (this.indication == null) 969 this.indication = new ArrayList<CodeableReference>(); 970 this.indication.add(t); 971 return this; 972 } 973 974 /** 975 * @return The first repetition of repeating field {@link #indication}, creating it if it does not already exist {3} 976 */ 977 public CodeableReference getIndicationFirstRep() { 978 if (getIndication().isEmpty()) { 979 addIndication(); 980 } 981 return getIndication().get(0); 982 } 983 984 /** 985 * @return {@link #intendedUse} (The intended use of the product, e.g. prevention, treatment, diagnosis.) 986 */ 987 public CodeableConcept getIntendedUse() { 988 if (this.intendedUse == null) 989 if (Configuration.errorOnAutoCreate()) 990 throw new Error("Attempt to auto-create RegulatedAuthorization.intendedUse"); 991 else if (Configuration.doAutoCreate()) 992 this.intendedUse = new CodeableConcept(); // cc 993 return this.intendedUse; 994 } 995 996 public boolean hasIntendedUse() { 997 return this.intendedUse != null && !this.intendedUse.isEmpty(); 998 } 999 1000 /** 1001 * @param value {@link #intendedUse} (The intended use of the product, e.g. prevention, treatment, diagnosis.) 1002 */ 1003 public RegulatedAuthorization setIntendedUse(CodeableConcept value) { 1004 this.intendedUse = value; 1005 return this; 1006 } 1007 1008 /** 1009 * @return {@link #basis} (The legal or regulatory framework against which this authorization is granted, or other reasons for it.) 1010 */ 1011 public List<CodeableConcept> getBasis() { 1012 if (this.basis == null) 1013 this.basis = new ArrayList<CodeableConcept>(); 1014 return this.basis; 1015 } 1016 1017 /** 1018 * @return Returns a reference to <code>this</code> for easy method chaining 1019 */ 1020 public RegulatedAuthorization setBasis(List<CodeableConcept> theBasis) { 1021 this.basis = theBasis; 1022 return this; 1023 } 1024 1025 public boolean hasBasis() { 1026 if (this.basis == null) 1027 return false; 1028 for (CodeableConcept item : this.basis) 1029 if (!item.isEmpty()) 1030 return true; 1031 return false; 1032 } 1033 1034 public CodeableConcept addBasis() { //3 1035 CodeableConcept t = new CodeableConcept(); 1036 if (this.basis == null) 1037 this.basis = new ArrayList<CodeableConcept>(); 1038 this.basis.add(t); 1039 return t; 1040 } 1041 1042 public RegulatedAuthorization addBasis(CodeableConcept t) { //3 1043 if (t == null) 1044 return this; 1045 if (this.basis == null) 1046 this.basis = new ArrayList<CodeableConcept>(); 1047 this.basis.add(t); 1048 return this; 1049 } 1050 1051 /** 1052 * @return The first repetition of repeating field {@link #basis}, creating it if it does not already exist {3} 1053 */ 1054 public CodeableConcept getBasisFirstRep() { 1055 if (getBasis().isEmpty()) { 1056 addBasis(); 1057 } 1058 return getBasis().get(0); 1059 } 1060 1061 /** 1062 * @return {@link #holder} (The organization that has been granted this authorization, by some authoritative body (the 'regulator').) 1063 */ 1064 public Reference getHolder() { 1065 if (this.holder == null) 1066 if (Configuration.errorOnAutoCreate()) 1067 throw new Error("Attempt to auto-create RegulatedAuthorization.holder"); 1068 else if (Configuration.doAutoCreate()) 1069 this.holder = new Reference(); // cc 1070 return this.holder; 1071 } 1072 1073 public boolean hasHolder() { 1074 return this.holder != null && !this.holder.isEmpty(); 1075 } 1076 1077 /** 1078 * @param value {@link #holder} (The organization that has been granted this authorization, by some authoritative body (the 'regulator').) 1079 */ 1080 public RegulatedAuthorization setHolder(Reference value) { 1081 this.holder = value; 1082 return this; 1083 } 1084 1085 /** 1086 * @return {@link #regulator} (The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc.) 1087 */ 1088 public Reference getRegulator() { 1089 if (this.regulator == null) 1090 if (Configuration.errorOnAutoCreate()) 1091 throw new Error("Attempt to auto-create RegulatedAuthorization.regulator"); 1092 else if (Configuration.doAutoCreate()) 1093 this.regulator = new Reference(); // cc 1094 return this.regulator; 1095 } 1096 1097 public boolean hasRegulator() { 1098 return this.regulator != null && !this.regulator.isEmpty(); 1099 } 1100 1101 /** 1102 * @param value {@link #regulator} (The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc.) 1103 */ 1104 public RegulatedAuthorization setRegulator(Reference value) { 1105 this.regulator = value; 1106 return this; 1107 } 1108 1109 /** 1110 * @return {@link #attachedDocument} (Additional information or supporting documentation about the authorization.) 1111 */ 1112 public List<Reference> getAttachedDocument() { 1113 if (this.attachedDocument == null) 1114 this.attachedDocument = new ArrayList<Reference>(); 1115 return this.attachedDocument; 1116 } 1117 1118 /** 1119 * @return Returns a reference to <code>this</code> for easy method chaining 1120 */ 1121 public RegulatedAuthorization setAttachedDocument(List<Reference> theAttachedDocument) { 1122 this.attachedDocument = theAttachedDocument; 1123 return this; 1124 } 1125 1126 public boolean hasAttachedDocument() { 1127 if (this.attachedDocument == null) 1128 return false; 1129 for (Reference item : this.attachedDocument) 1130 if (!item.isEmpty()) 1131 return true; 1132 return false; 1133 } 1134 1135 public Reference addAttachedDocument() { //3 1136 Reference t = new Reference(); 1137 if (this.attachedDocument == null) 1138 this.attachedDocument = new ArrayList<Reference>(); 1139 this.attachedDocument.add(t); 1140 return t; 1141 } 1142 1143 public RegulatedAuthorization addAttachedDocument(Reference t) { //3 1144 if (t == null) 1145 return this; 1146 if (this.attachedDocument == null) 1147 this.attachedDocument = new ArrayList<Reference>(); 1148 this.attachedDocument.add(t); 1149 return this; 1150 } 1151 1152 /** 1153 * @return The first repetition of repeating field {@link #attachedDocument}, creating it if it does not already exist {3} 1154 */ 1155 public Reference getAttachedDocumentFirstRep() { 1156 if (getAttachedDocument().isEmpty()) { 1157 addAttachedDocument(); 1158 } 1159 return getAttachedDocument().get(0); 1160 } 1161 1162 /** 1163 * @return {@link #case_} (The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).) 1164 */ 1165 public RegulatedAuthorizationCaseComponent getCase() { 1166 if (this.case_ == null) 1167 if (Configuration.errorOnAutoCreate()) 1168 throw new Error("Attempt to auto-create RegulatedAuthorization.case_"); 1169 else if (Configuration.doAutoCreate()) 1170 this.case_ = new RegulatedAuthorizationCaseComponent(); // cc 1171 return this.case_; 1172 } 1173 1174 public boolean hasCase() { 1175 return this.case_ != null && !this.case_.isEmpty(); 1176 } 1177 1178 /** 1179 * @param value {@link #case_} (The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).) 1180 */ 1181 public RegulatedAuthorization setCase(RegulatedAuthorizationCaseComponent value) { 1182 this.case_ = value; 1183 return this; 1184 } 1185 1186 protected void listChildren(List<Property> children) { 1187 super.listChildren(children); 1188 children.add(new Property("identifier", "Identifier", "Business identifier for the authorization, typically assigned by the authorizing body.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1189 children.add(new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|ManufacturedItemDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject)); 1190 children.add(new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type)); 1191 children.add(new Property("description", "markdown", "General textual supporting information.", 0, 1, description)); 1192 children.add(new Property("region", "CodeableConcept", "The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.", 0, java.lang.Integer.MAX_VALUE, region)); 1193 children.add(new Property("status", "CodeableConcept", "The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.", 0, 1, status)); 1194 children.add(new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate)); 1195 children.add(new Property("validityPeriod", "Period", "The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.", 0, 1, validityPeriod)); 1196 children.add(new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, java.lang.Integer.MAX_VALUE, indication)); 1197 children.add(new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse)); 1198 children.add(new Property("basis", "CodeableConcept", "The legal or regulatory framework against which this authorization is granted, or other reasons for it.", 0, java.lang.Integer.MAX_VALUE, basis)); 1199 children.add(new Property("holder", "Reference(Organization)", "The organization that has been granted this authorization, by some authoritative body (the 'regulator').", 0, 1, holder)); 1200 children.add(new Property("regulator", "Reference(Organization)", "The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc.", 0, 1, regulator)); 1201 children.add(new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the authorization.", 0, java.lang.Integer.MAX_VALUE, attachedDocument)); 1202 children.add(new Property("case", "", "The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).", 0, 1, case_)); 1203 } 1204 1205 @Override 1206 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1207 switch (_hash) { 1208 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifier for the authorization, typically assigned by the authorizing body.", 0, java.lang.Integer.MAX_VALUE, identifier); 1209 case -1867885268: /*subject*/ return new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|ManufacturedItemDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject); 1210 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type); 1211 case -1724546052: /*description*/ return new Property("description", "markdown", "General textual supporting information.", 0, 1, description); 1212 case -934795532: /*region*/ return new Property("region", "CodeableConcept", "The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.", 0, java.lang.Integer.MAX_VALUE, region); 1213 case -892481550: /*status*/ return new Property("status", "CodeableConcept", "The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.", 0, 1, status); 1214 case 247524032: /*statusDate*/ return new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate); 1215 case -1434195053: /*validityPeriod*/ return new Property("validityPeriod", "Period", "The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.", 0, 1, validityPeriod); 1216 case -597168804: /*indication*/ return new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, java.lang.Integer.MAX_VALUE, indication); 1217 case -1618671268: /*intendedUse*/ return new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse); 1218 case 93508670: /*basis*/ return new Property("basis", "CodeableConcept", "The legal or regulatory framework against which this authorization is granted, or other reasons for it.", 0, java.lang.Integer.MAX_VALUE, basis); 1219 case -1211707988: /*holder*/ return new Property("holder", "Reference(Organization)", "The organization that has been granted this authorization, by some authoritative body (the 'regulator').", 0, 1, holder); 1220 case 414760449: /*regulator*/ return new Property("regulator", "Reference(Organization)", "The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc.", 0, 1, regulator); 1221 case -513945889: /*attachedDocument*/ return new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the authorization.", 0, java.lang.Integer.MAX_VALUE, attachedDocument); 1222 case 3046192: /*case*/ return new Property("case", "", "The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page).", 0, 1, case_); 1223 default: return super.getNamedProperty(_hash, _name, _checkValid); 1224 } 1225 1226 } 1227 1228 @Override 1229 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1230 switch (hash) { 1231 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1232 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // Reference 1233 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1234 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1235 case -934795532: /*region*/ return this.region == null ? new Base[0] : this.region.toArray(new Base[this.region.size()]); // CodeableConcept 1236 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept 1237 case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : new Base[] {this.statusDate}; // DateTimeType 1238 case -1434195053: /*validityPeriod*/ return this.validityPeriod == null ? new Base[0] : new Base[] {this.validityPeriod}; // Period 1239 case -597168804: /*indication*/ return this.indication == null ? new Base[0] : this.indication.toArray(new Base[this.indication.size()]); // CodeableReference 1240 case -1618671268: /*intendedUse*/ return this.intendedUse == null ? new Base[0] : new Base[] {this.intendedUse}; // CodeableConcept 1241 case 93508670: /*basis*/ return this.basis == null ? new Base[0] : this.basis.toArray(new Base[this.basis.size()]); // CodeableConcept 1242 case -1211707988: /*holder*/ return this.holder == null ? new Base[0] : new Base[] {this.holder}; // Reference 1243 case 414760449: /*regulator*/ return this.regulator == null ? new Base[0] : new Base[] {this.regulator}; // Reference 1244 case -513945889: /*attachedDocument*/ return this.attachedDocument == null ? new Base[0] : this.attachedDocument.toArray(new Base[this.attachedDocument.size()]); // Reference 1245 case 3046192: /*case*/ return this.case_ == null ? new Base[0] : new Base[] {this.case_}; // RegulatedAuthorizationCaseComponent 1246 default: return super.getProperty(hash, name, checkValid); 1247 } 1248 1249 } 1250 1251 @Override 1252 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1253 switch (hash) { 1254 case -1618432855: // identifier 1255 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1256 return value; 1257 case -1867885268: // subject 1258 this.getSubject().add(TypeConvertor.castToReference(value)); // Reference 1259 return value; 1260 case 3575610: // type 1261 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1262 return value; 1263 case -1724546052: // description 1264 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1265 return value; 1266 case -934795532: // region 1267 this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1268 return value; 1269 case -892481550: // status 1270 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1271 return value; 1272 case 247524032: // statusDate 1273 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 1274 return value; 1275 case -1434195053: // validityPeriod 1276 this.validityPeriod = TypeConvertor.castToPeriod(value); // Period 1277 return value; 1278 case -597168804: // indication 1279 this.getIndication().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1280 return value; 1281 case -1618671268: // intendedUse 1282 this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1283 return value; 1284 case 93508670: // basis 1285 this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1286 return value; 1287 case -1211707988: // holder 1288 this.holder = TypeConvertor.castToReference(value); // Reference 1289 return value; 1290 case 414760449: // regulator 1291 this.regulator = TypeConvertor.castToReference(value); // Reference 1292 return value; 1293 case -513945889: // attachedDocument 1294 this.getAttachedDocument().add(TypeConvertor.castToReference(value)); // Reference 1295 return value; 1296 case 3046192: // case 1297 this.case_ = (RegulatedAuthorizationCaseComponent) value; // RegulatedAuthorizationCaseComponent 1298 return value; 1299 default: return super.setProperty(hash, name, value); 1300 } 1301 1302 } 1303 1304 @Override 1305 public Base setProperty(String name, Base value) throws FHIRException { 1306 if (name.equals("identifier")) { 1307 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1308 } else if (name.equals("subject")) { 1309 this.getSubject().add(TypeConvertor.castToReference(value)); 1310 } else if (name.equals("type")) { 1311 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1312 } else if (name.equals("description")) { 1313 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1314 } else if (name.equals("region")) { 1315 this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); 1316 } else if (name.equals("status")) { 1317 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1318 } else if (name.equals("statusDate")) { 1319 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 1320 } else if (name.equals("validityPeriod")) { 1321 this.validityPeriod = TypeConvertor.castToPeriod(value); // Period 1322 } else if (name.equals("indication")) { 1323 this.getIndication().add(TypeConvertor.castToCodeableReference(value)); 1324 } else if (name.equals("intendedUse")) { 1325 this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1326 } else if (name.equals("basis")) { 1327 this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); 1328 } else if (name.equals("holder")) { 1329 this.holder = TypeConvertor.castToReference(value); // Reference 1330 } else if (name.equals("regulator")) { 1331 this.regulator = TypeConvertor.castToReference(value); // Reference 1332 } else if (name.equals("attachedDocument")) { 1333 this.getAttachedDocument().add(TypeConvertor.castToReference(value)); 1334 } else if (name.equals("case")) { 1335 this.case_ = (RegulatedAuthorizationCaseComponent) value; // RegulatedAuthorizationCaseComponent 1336 } else 1337 return super.setProperty(name, value); 1338 return value; 1339 } 1340 1341 @Override 1342 public void removeChild(String name, Base value) throws FHIRException { 1343 if (name.equals("identifier")) { 1344 this.getIdentifier().remove(value); 1345 } else if (name.equals("subject")) { 1346 this.getSubject().remove(value); 1347 } else if (name.equals("type")) { 1348 this.type = null; 1349 } else if (name.equals("description")) { 1350 this.description = null; 1351 } else if (name.equals("region")) { 1352 this.getRegion().remove(value); 1353 } else if (name.equals("status")) { 1354 this.status = null; 1355 } else if (name.equals("statusDate")) { 1356 this.statusDate = null; 1357 } else if (name.equals("validityPeriod")) { 1358 this.validityPeriod = null; 1359 } else if (name.equals("indication")) { 1360 this.getIndication().remove(value); 1361 } else if (name.equals("intendedUse")) { 1362 this.intendedUse = null; 1363 } else if (name.equals("basis")) { 1364 this.getBasis().remove(value); 1365 } else if (name.equals("holder")) { 1366 this.holder = null; 1367 } else if (name.equals("regulator")) { 1368 this.regulator = null; 1369 } else if (name.equals("attachedDocument")) { 1370 this.getAttachedDocument().remove(value); 1371 } else if (name.equals("case")) { 1372 this.case_ = (RegulatedAuthorizationCaseComponent) value; // RegulatedAuthorizationCaseComponent 1373 } else 1374 super.removeChild(name, value); 1375 1376 } 1377 1378 @Override 1379 public Base makeProperty(int hash, String name) throws FHIRException { 1380 switch (hash) { 1381 case -1618432855: return addIdentifier(); 1382 case -1867885268: return addSubject(); 1383 case 3575610: return getType(); 1384 case -1724546052: return getDescriptionElement(); 1385 case -934795532: return addRegion(); 1386 case -892481550: return getStatus(); 1387 case 247524032: return getStatusDateElement(); 1388 case -1434195053: return getValidityPeriod(); 1389 case -597168804: return addIndication(); 1390 case -1618671268: return getIntendedUse(); 1391 case 93508670: return addBasis(); 1392 case -1211707988: return getHolder(); 1393 case 414760449: return getRegulator(); 1394 case -513945889: return addAttachedDocument(); 1395 case 3046192: return getCase(); 1396 default: return super.makeProperty(hash, name); 1397 } 1398 1399 } 1400 1401 @Override 1402 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1403 switch (hash) { 1404 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1405 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1406 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1407 case -1724546052: /*description*/ return new String[] {"markdown"}; 1408 case -934795532: /*region*/ return new String[] {"CodeableConcept"}; 1409 case -892481550: /*status*/ return new String[] {"CodeableConcept"}; 1410 case 247524032: /*statusDate*/ return new String[] {"dateTime"}; 1411 case -1434195053: /*validityPeriod*/ return new String[] {"Period"}; 1412 case -597168804: /*indication*/ return new String[] {"CodeableReference"}; 1413 case -1618671268: /*intendedUse*/ return new String[] {"CodeableConcept"}; 1414 case 93508670: /*basis*/ return new String[] {"CodeableConcept"}; 1415 case -1211707988: /*holder*/ return new String[] {"Reference"}; 1416 case 414760449: /*regulator*/ return new String[] {"Reference"}; 1417 case -513945889: /*attachedDocument*/ return new String[] {"Reference"}; 1418 case 3046192: /*case*/ return new String[] {}; 1419 default: return super.getTypesForProperty(hash, name); 1420 } 1421 1422 } 1423 1424 @Override 1425 public Base addChild(String name) throws FHIRException { 1426 if (name.equals("identifier")) { 1427 return addIdentifier(); 1428 } 1429 else if (name.equals("subject")) { 1430 return addSubject(); 1431 } 1432 else if (name.equals("type")) { 1433 this.type = new CodeableConcept(); 1434 return this.type; 1435 } 1436 else if (name.equals("description")) { 1437 throw new FHIRException("Cannot call addChild on a singleton property RegulatedAuthorization.description"); 1438 } 1439 else if (name.equals("region")) { 1440 return addRegion(); 1441 } 1442 else if (name.equals("status")) { 1443 this.status = new CodeableConcept(); 1444 return this.status; 1445 } 1446 else if (name.equals("statusDate")) { 1447 throw new FHIRException("Cannot call addChild on a singleton property RegulatedAuthorization.statusDate"); 1448 } 1449 else if (name.equals("validityPeriod")) { 1450 this.validityPeriod = new Period(); 1451 return this.validityPeriod; 1452 } 1453 else if (name.equals("indication")) { 1454 return addIndication(); 1455 } 1456 else if (name.equals("intendedUse")) { 1457 this.intendedUse = new CodeableConcept(); 1458 return this.intendedUse; 1459 } 1460 else if (name.equals("basis")) { 1461 return addBasis(); 1462 } 1463 else if (name.equals("holder")) { 1464 this.holder = new Reference(); 1465 return this.holder; 1466 } 1467 else if (name.equals("regulator")) { 1468 this.regulator = new Reference(); 1469 return this.regulator; 1470 } 1471 else if (name.equals("attachedDocument")) { 1472 return addAttachedDocument(); 1473 } 1474 else if (name.equals("case")) { 1475 this.case_ = new RegulatedAuthorizationCaseComponent(); 1476 return this.case_; 1477 } 1478 else 1479 return super.addChild(name); 1480 } 1481 1482 public String fhirType() { 1483 return "RegulatedAuthorization"; 1484 1485 } 1486 1487 public RegulatedAuthorization copy() { 1488 RegulatedAuthorization dst = new RegulatedAuthorization(); 1489 copyValues(dst); 1490 return dst; 1491 } 1492 1493 public void copyValues(RegulatedAuthorization dst) { 1494 super.copyValues(dst); 1495 if (identifier != null) { 1496 dst.identifier = new ArrayList<Identifier>(); 1497 for (Identifier i : identifier) 1498 dst.identifier.add(i.copy()); 1499 }; 1500 if (subject != null) { 1501 dst.subject = new ArrayList<Reference>(); 1502 for (Reference i : subject) 1503 dst.subject.add(i.copy()); 1504 }; 1505 dst.type = type == null ? null : type.copy(); 1506 dst.description = description == null ? null : description.copy(); 1507 if (region != null) { 1508 dst.region = new ArrayList<CodeableConcept>(); 1509 for (CodeableConcept i : region) 1510 dst.region.add(i.copy()); 1511 }; 1512 dst.status = status == null ? null : status.copy(); 1513 dst.statusDate = statusDate == null ? null : statusDate.copy(); 1514 dst.validityPeriod = validityPeriod == null ? null : validityPeriod.copy(); 1515 if (indication != null) { 1516 dst.indication = new ArrayList<CodeableReference>(); 1517 for (CodeableReference i : indication) 1518 dst.indication.add(i.copy()); 1519 }; 1520 dst.intendedUse = intendedUse == null ? null : intendedUse.copy(); 1521 if (basis != null) { 1522 dst.basis = new ArrayList<CodeableConcept>(); 1523 for (CodeableConcept i : basis) 1524 dst.basis.add(i.copy()); 1525 }; 1526 dst.holder = holder == null ? null : holder.copy(); 1527 dst.regulator = regulator == null ? null : regulator.copy(); 1528 if (attachedDocument != null) { 1529 dst.attachedDocument = new ArrayList<Reference>(); 1530 for (Reference i : attachedDocument) 1531 dst.attachedDocument.add(i.copy()); 1532 }; 1533 dst.case_ = case_ == null ? null : case_.copy(); 1534 } 1535 1536 protected RegulatedAuthorization typedCopy() { 1537 return copy(); 1538 } 1539 1540 @Override 1541 public boolean equalsDeep(Base other_) { 1542 if (!super.equalsDeep(other_)) 1543 return false; 1544 if (!(other_ instanceof RegulatedAuthorization)) 1545 return false; 1546 RegulatedAuthorization o = (RegulatedAuthorization) other_; 1547 return compareDeep(identifier, o.identifier, true) && compareDeep(subject, o.subject, true) && compareDeep(type, o.type, true) 1548 && compareDeep(description, o.description, true) && compareDeep(region, o.region, true) && compareDeep(status, o.status, true) 1549 && compareDeep(statusDate, o.statusDate, true) && compareDeep(validityPeriod, o.validityPeriod, true) 1550 && compareDeep(indication, o.indication, true) && compareDeep(intendedUse, o.intendedUse, true) 1551 && compareDeep(basis, o.basis, true) && compareDeep(holder, o.holder, true) && compareDeep(regulator, o.regulator, true) 1552 && compareDeep(attachedDocument, o.attachedDocument, true) && compareDeep(case_, o.case_, true) 1553 ; 1554 } 1555 1556 @Override 1557 public boolean equalsShallow(Base other_) { 1558 if (!super.equalsShallow(other_)) 1559 return false; 1560 if (!(other_ instanceof RegulatedAuthorization)) 1561 return false; 1562 RegulatedAuthorization o = (RegulatedAuthorization) other_; 1563 return compareValues(description, o.description, true) && compareValues(statusDate, o.statusDate, true) 1564 ; 1565 } 1566 1567 public boolean isEmpty() { 1568 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, subject, type 1569 , description, region, status, statusDate, validityPeriod, indication, intendedUse 1570 , basis, holder, regulator, attachedDocument, case_); 1571 } 1572 1573 @Override 1574 public ResourceType getResourceType() { 1575 return ResourceType.RegulatedAuthorization; 1576 } 1577 1578 /** 1579 * Search parameter: <b>case-type</b> 1580 * <p> 1581 * Description: <b>The defining type of case</b><br> 1582 * Type: <b>token</b><br> 1583 * Path: <b>RegulatedAuthorization.case.type</b><br> 1584 * </p> 1585 */ 1586 @SearchParamDefinition(name="case-type", path="RegulatedAuthorization.case.type", description="The defining type of case", type="token" ) 1587 public static final String SP_CASE_TYPE = "case-type"; 1588 /** 1589 * <b>Fluent Client</b> search parameter constant for <b>case-type</b> 1590 * <p> 1591 * Description: <b>The defining type of case</b><br> 1592 * Type: <b>token</b><br> 1593 * Path: <b>RegulatedAuthorization.case.type</b><br> 1594 * </p> 1595 */ 1596 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CASE_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CASE_TYPE); 1597 1598 /** 1599 * Search parameter: <b>case</b> 1600 * <p> 1601 * Description: <b>The case or procedure number</b><br> 1602 * Type: <b>token</b><br> 1603 * Path: <b>RegulatedAuthorization.case.identifier</b><br> 1604 * </p> 1605 */ 1606 @SearchParamDefinition(name="case", path="RegulatedAuthorization.case.identifier", description="The case or procedure number", type="token" ) 1607 public static final String SP_CASE = "case"; 1608 /** 1609 * <b>Fluent Client</b> search parameter constant for <b>case</b> 1610 * <p> 1611 * Description: <b>The case or procedure number</b><br> 1612 * Type: <b>token</b><br> 1613 * Path: <b>RegulatedAuthorization.case.identifier</b><br> 1614 * </p> 1615 */ 1616 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CASE); 1617 1618 /** 1619 * Search parameter: <b>holder</b> 1620 * <p> 1621 * Description: <b>The organization that holds the granted authorization</b><br> 1622 * Type: <b>reference</b><br> 1623 * Path: <b>RegulatedAuthorization.holder</b><br> 1624 * </p> 1625 */ 1626 @SearchParamDefinition(name="holder", path="RegulatedAuthorization.holder", description="The organization that holds the granted authorization", type="reference", target={Organization.class } ) 1627 public static final String SP_HOLDER = "holder"; 1628 /** 1629 * <b>Fluent Client</b> search parameter constant for <b>holder</b> 1630 * <p> 1631 * Description: <b>The organization that holds the granted authorization</b><br> 1632 * Type: <b>reference</b><br> 1633 * Path: <b>RegulatedAuthorization.holder</b><br> 1634 * </p> 1635 */ 1636 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam HOLDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_HOLDER); 1637 1638/** 1639 * Constant for fluent queries to be used to add include statements. Specifies 1640 * the path value of "<b>RegulatedAuthorization:holder</b>". 1641 */ 1642 public static final ca.uhn.fhir.model.api.Include INCLUDE_HOLDER = new ca.uhn.fhir.model.api.Include("RegulatedAuthorization:holder").toLocked(); 1643 1644 /** 1645 * Search parameter: <b>identifier</b> 1646 * <p> 1647 * Description: <b>Business identifier for the authorization, typically assigned by the authorizing body</b><br> 1648 * Type: <b>token</b><br> 1649 * Path: <b>RegulatedAuthorization.identifier</b><br> 1650 * </p> 1651 */ 1652 @SearchParamDefinition(name="identifier", path="RegulatedAuthorization.identifier", description="Business identifier for the authorization, typically assigned by the authorizing body", type="token" ) 1653 public static final String SP_IDENTIFIER = "identifier"; 1654 /** 1655 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1656 * <p> 1657 * Description: <b>Business identifier for the authorization, typically assigned by the authorizing body</b><br> 1658 * Type: <b>token</b><br> 1659 * Path: <b>RegulatedAuthorization.identifier</b><br> 1660 * </p> 1661 */ 1662 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1663 1664 /** 1665 * Search parameter: <b>region</b> 1666 * <p> 1667 * Description: <b>The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted</b><br> 1668 * Type: <b>token</b><br> 1669 * Path: <b>RegulatedAuthorization.region</b><br> 1670 * </p> 1671 */ 1672 @SearchParamDefinition(name="region", path="RegulatedAuthorization.region", description="The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted", type="token" ) 1673 public static final String SP_REGION = "region"; 1674 /** 1675 * <b>Fluent Client</b> search parameter constant for <b>region</b> 1676 * <p> 1677 * Description: <b>The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted</b><br> 1678 * Type: <b>token</b><br> 1679 * Path: <b>RegulatedAuthorization.region</b><br> 1680 * </p> 1681 */ 1682 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REGION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REGION); 1683 1684 /** 1685 * Search parameter: <b>status</b> 1686 * <p> 1687 * Description: <b>The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications</b><br> 1688 * Type: <b>token</b><br> 1689 * Path: <b>RegulatedAuthorization.status</b><br> 1690 * </p> 1691 */ 1692 @SearchParamDefinition(name="status", path="RegulatedAuthorization.status", description="The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications", type="token" ) 1693 public static final String SP_STATUS = "status"; 1694 /** 1695 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1696 * <p> 1697 * Description: <b>The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications</b><br> 1698 * Type: <b>token</b><br> 1699 * Path: <b>RegulatedAuthorization.status</b><br> 1700 * </p> 1701 */ 1702 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1703 1704 /** 1705 * Search parameter: <b>subject</b> 1706 * <p> 1707 * Description: <b>The type of regulated product, treatment, facility or activity that is being authorized</b><br> 1708 * Type: <b>reference</b><br> 1709 * Path: <b>RegulatedAuthorization.subject</b><br> 1710 * </p> 1711 */ 1712 @SearchParamDefinition(name="subject", path="RegulatedAuthorization.subject", description="The type of regulated product, treatment, facility or activity that is being authorized", type="reference", target={ActivityDefinition.class, BiologicallyDerivedProduct.class, DeviceDefinition.class, Ingredient.class, Location.class, ManufacturedItemDefinition.class, MedicinalProductDefinition.class, NutritionProduct.class, ObservationDefinition.class, Organization.class, PackagedProductDefinition.class, PlanDefinition.class, Practitioner.class, ResearchStudy.class, SubstanceDefinition.class } ) 1713 public static final String SP_SUBJECT = "subject"; 1714 /** 1715 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1716 * <p> 1717 * Description: <b>The type of regulated product, treatment, facility or activity that is being authorized</b><br> 1718 * Type: <b>reference</b><br> 1719 * Path: <b>RegulatedAuthorization.subject</b><br> 1720 * </p> 1721 */ 1722 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1723 1724/** 1725 * Constant for fluent queries to be used to add include statements. Specifies 1726 * the path value of "<b>RegulatedAuthorization:subject</b>". 1727 */ 1728 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RegulatedAuthorization:subject").toLocked(); 1729 1730 1731} 1732