
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 Base makeProperty(int hash, String name) throws FHIRException { 360 switch (hash) { 361 case -1618432855: return getIdentifier(); 362 case 3575610: return getType(); 363 case -892481550: return getStatus(); 364 case 1443311122: return getDate(); 365 case 3076014: return getDate(); 366 case 1554253136: return addApplication(); 367 default: return super.makeProperty(hash, name); 368 } 369 370 } 371 372 @Override 373 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 374 switch (hash) { 375 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 376 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 377 case -892481550: /*status*/ return new String[] {"CodeableConcept"}; 378 case 3076014: /*date*/ return new String[] {"Period", "dateTime"}; 379 case 1554253136: /*application*/ return new String[] {"@RegulatedAuthorization.case"}; 380 default: return super.getTypesForProperty(hash, name); 381 } 382 383 } 384 385 @Override 386 public Base addChild(String name) throws FHIRException { 387 if (name.equals("identifier")) { 388 this.identifier = new Identifier(); 389 return this.identifier; 390 } 391 else if (name.equals("type")) { 392 this.type = new CodeableConcept(); 393 return this.type; 394 } 395 else if (name.equals("status")) { 396 this.status = new CodeableConcept(); 397 return this.status; 398 } 399 else if (name.equals("datePeriod")) { 400 this.date = new Period(); 401 return this.date; 402 } 403 else if (name.equals("dateDateTime")) { 404 this.date = new DateTimeType(); 405 return this.date; 406 } 407 else if (name.equals("application")) { 408 return addApplication(); 409 } 410 else 411 return super.addChild(name); 412 } 413 414 public RegulatedAuthorizationCaseComponent copy() { 415 RegulatedAuthorizationCaseComponent dst = new RegulatedAuthorizationCaseComponent(); 416 copyValues(dst); 417 return dst; 418 } 419 420 public void copyValues(RegulatedAuthorizationCaseComponent dst) { 421 super.copyValues(dst); 422 dst.identifier = identifier == null ? null : identifier.copy(); 423 dst.type = type == null ? null : type.copy(); 424 dst.status = status == null ? null : status.copy(); 425 dst.date = date == null ? null : date.copy(); 426 if (application != null) { 427 dst.application = new ArrayList<RegulatedAuthorizationCaseComponent>(); 428 for (RegulatedAuthorizationCaseComponent i : application) 429 dst.application.add(i.copy()); 430 }; 431 } 432 433 @Override 434 public boolean equalsDeep(Base other_) { 435 if (!super.equalsDeep(other_)) 436 return false; 437 if (!(other_ instanceof RegulatedAuthorizationCaseComponent)) 438 return false; 439 RegulatedAuthorizationCaseComponent o = (RegulatedAuthorizationCaseComponent) other_; 440 return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(status, o.status, true) 441 && compareDeep(date, o.date, true) && compareDeep(application, o.application, true); 442 } 443 444 @Override 445 public boolean equalsShallow(Base other_) { 446 if (!super.equalsShallow(other_)) 447 return false; 448 if (!(other_ instanceof RegulatedAuthorizationCaseComponent)) 449 return false; 450 RegulatedAuthorizationCaseComponent o = (RegulatedAuthorizationCaseComponent) other_; 451 return true; 452 } 453 454 public boolean isEmpty() { 455 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, status 456 , date, application); 457 } 458 459 public String fhirType() { 460 return "RegulatedAuthorization.case"; 461 462 } 463 464 } 465 466 /** 467 * Business identifier for the authorization, typically assigned by the authorizing body. 468 */ 469 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 470 @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." ) 471 protected List<Identifier> identifier; 472 473 /** 474 * The product type, treatment, facility or activity that is being authorized. 475 */ 476 @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) 477 @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." ) 478 protected List<Reference> subject; 479 480 /** 481 * Overall type of this authorization, for example drug marketing approval, orphan drug designation. 482 */ 483 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 484 @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." ) 485 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/regulated-authorization-type") 486 protected CodeableConcept type; 487 488 /** 489 * General textual supporting information. 490 */ 491 @Child(name = "description", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=true) 492 @Description(shortDefinition="General textual supporting information", formalDefinition="General textual supporting information." ) 493 protected MarkdownType description; 494 495 /** 496 * The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted. 497 */ 498 @Child(name = "region", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 499 @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." ) 500 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 501 protected List<CodeableConcept> region; 502 503 /** 504 * The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications. 505 */ 506 @Child(name = "status", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=true) 507 @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." ) 508 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 509 protected CodeableConcept status; 510 511 /** 512 * The date at which the current status was assigned. 513 */ 514 @Child(name = "statusDate", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) 515 @Description(shortDefinition="The date at which the current status was assigned", formalDefinition="The date at which the current status was assigned." ) 516 protected DateTimeType statusDate; 517 518 /** 519 * 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. 520 */ 521 @Child(name = "validityPeriod", type = {Period.class}, order=7, min=0, max=1, modifier=false, summary=true) 522 @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." ) 523 protected Period validityPeriod; 524 525 /** 526 * Condition for which the use of the regulated product applies. 527 */ 528 @Child(name = "indication", type = {CodeableReference.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 529 @Description(shortDefinition="Condition for which the use of the regulated product applies", formalDefinition="Condition for which the use of the regulated product applies." ) 530 protected List<CodeableReference> indication; 531 532 /** 533 * The intended use of the product, e.g. prevention, treatment, diagnosis. 534 */ 535 @Child(name = "intendedUse", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 536 @Description(shortDefinition="The intended use of the product, e.g. prevention, treatment", formalDefinition="The intended use of the product, e.g. prevention, treatment, diagnosis." ) 537 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/product-intended-use") 538 protected CodeableConcept intendedUse; 539 540 /** 541 * The legal or regulatory framework against which this authorization is granted, or other reasons for it. 542 */ 543 @Child(name = "basis", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 544 @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." ) 545 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/regulated-authorization-basis") 546 protected List<CodeableConcept> basis; 547 548 /** 549 * The organization that has been granted this authorization, by some authoritative body (the 'regulator'). 550 */ 551 @Child(name = "holder", type = {Organization.class}, order=11, min=0, max=1, modifier=false, summary=true) 552 @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')." ) 553 protected Reference holder; 554 555 /** 556 * The regulatory authority or authorizing body granting the authorization. For example, European Medicines Agency (EMA), Food and Drug Administration (FDA), Health Canada (HC), etc. 557 */ 558 @Child(name = "regulator", type = {Organization.class}, order=12, min=0, max=1, modifier=false, summary=true) 559 @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." ) 560 protected Reference regulator; 561 562 /** 563 * Additional information or supporting documentation about the authorization. 564 */ 565 @Child(name = "attachedDocument", type = {DocumentReference.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 566 @Description(shortDefinition="Additional information or supporting documentation about the authorization", formalDefinition="Additional information or supporting documentation about the authorization." ) 567 protected List<Reference> attachedDocument; 568 569 /** 570 * 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). 571 */ 572 @Child(name = "case", type = {}, order=14, min=0, max=1, modifier=false, summary=true) 573 @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)." ) 574 protected RegulatedAuthorizationCaseComponent case_; 575 576 private static final long serialVersionUID = 1227409639L; 577 578 /** 579 * Constructor 580 */ 581 public RegulatedAuthorization() { 582 super(); 583 } 584 585 /** 586 * @return {@link #identifier} (Business identifier for the authorization, typically assigned by the authorizing body.) 587 */ 588 public List<Identifier> getIdentifier() { 589 if (this.identifier == null) 590 this.identifier = new ArrayList<Identifier>(); 591 return this.identifier; 592 } 593 594 /** 595 * @return Returns a reference to <code>this</code> for easy method chaining 596 */ 597 public RegulatedAuthorization setIdentifier(List<Identifier> theIdentifier) { 598 this.identifier = theIdentifier; 599 return this; 600 } 601 602 public boolean hasIdentifier() { 603 if (this.identifier == null) 604 return false; 605 for (Identifier item : this.identifier) 606 if (!item.isEmpty()) 607 return true; 608 return false; 609 } 610 611 public Identifier addIdentifier() { //3 612 Identifier t = new Identifier(); 613 if (this.identifier == null) 614 this.identifier = new ArrayList<Identifier>(); 615 this.identifier.add(t); 616 return t; 617 } 618 619 public RegulatedAuthorization addIdentifier(Identifier t) { //3 620 if (t == null) 621 return this; 622 if (this.identifier == null) 623 this.identifier = new ArrayList<Identifier>(); 624 this.identifier.add(t); 625 return this; 626 } 627 628 /** 629 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 630 */ 631 public Identifier getIdentifierFirstRep() { 632 if (getIdentifier().isEmpty()) { 633 addIdentifier(); 634 } 635 return getIdentifier().get(0); 636 } 637 638 /** 639 * @return {@link #subject} (The product type, treatment, facility or activity that is being authorized.) 640 */ 641 public List<Reference> getSubject() { 642 if (this.subject == null) 643 this.subject = new ArrayList<Reference>(); 644 return this.subject; 645 } 646 647 /** 648 * @return Returns a reference to <code>this</code> for easy method chaining 649 */ 650 public RegulatedAuthorization setSubject(List<Reference> theSubject) { 651 this.subject = theSubject; 652 return this; 653 } 654 655 public boolean hasSubject() { 656 if (this.subject == null) 657 return false; 658 for (Reference item : this.subject) 659 if (!item.isEmpty()) 660 return true; 661 return false; 662 } 663 664 public Reference addSubject() { //3 665 Reference t = new Reference(); 666 if (this.subject == null) 667 this.subject = new ArrayList<Reference>(); 668 this.subject.add(t); 669 return t; 670 } 671 672 public RegulatedAuthorization addSubject(Reference t) { //3 673 if (t == null) 674 return this; 675 if (this.subject == null) 676 this.subject = new ArrayList<Reference>(); 677 this.subject.add(t); 678 return this; 679 } 680 681 /** 682 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} 683 */ 684 public Reference getSubjectFirstRep() { 685 if (getSubject().isEmpty()) { 686 addSubject(); 687 } 688 return getSubject().get(0); 689 } 690 691 /** 692 * @return {@link #type} (Overall type of this authorization, for example drug marketing approval, orphan drug designation.) 693 */ 694 public CodeableConcept getType() { 695 if (this.type == null) 696 if (Configuration.errorOnAutoCreate()) 697 throw new Error("Attempt to auto-create RegulatedAuthorization.type"); 698 else if (Configuration.doAutoCreate()) 699 this.type = new CodeableConcept(); // cc 700 return this.type; 701 } 702 703 public boolean hasType() { 704 return this.type != null && !this.type.isEmpty(); 705 } 706 707 /** 708 * @param value {@link #type} (Overall type of this authorization, for example drug marketing approval, orphan drug designation.) 709 */ 710 public RegulatedAuthorization setType(CodeableConcept value) { 711 this.type = value; 712 return this; 713 } 714 715 /** 716 * @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 717 */ 718 public MarkdownType getDescriptionElement() { 719 if (this.description == null) 720 if (Configuration.errorOnAutoCreate()) 721 throw new Error("Attempt to auto-create RegulatedAuthorization.description"); 722 else if (Configuration.doAutoCreate()) 723 this.description = new MarkdownType(); // bb 724 return this.description; 725 } 726 727 public boolean hasDescriptionElement() { 728 return this.description != null && !this.description.isEmpty(); 729 } 730 731 public boolean hasDescription() { 732 return this.description != null && !this.description.isEmpty(); 733 } 734 735 /** 736 * @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 737 */ 738 public RegulatedAuthorization setDescriptionElement(MarkdownType value) { 739 this.description = value; 740 return this; 741 } 742 743 /** 744 * @return General textual supporting information. 745 */ 746 public String getDescription() { 747 return this.description == null ? null : this.description.getValue(); 748 } 749 750 /** 751 * @param value General textual supporting information. 752 */ 753 public RegulatedAuthorization setDescription(String value) { 754 if (Utilities.noString(value)) 755 this.description = null; 756 else { 757 if (this.description == null) 758 this.description = new MarkdownType(); 759 this.description.setValue(value); 760 } 761 return this; 762 } 763 764 /** 765 * @return {@link #region} (The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.) 766 */ 767 public List<CodeableConcept> getRegion() { 768 if (this.region == null) 769 this.region = new ArrayList<CodeableConcept>(); 770 return this.region; 771 } 772 773 /** 774 * @return Returns a reference to <code>this</code> for easy method chaining 775 */ 776 public RegulatedAuthorization setRegion(List<CodeableConcept> theRegion) { 777 this.region = theRegion; 778 return this; 779 } 780 781 public boolean hasRegion() { 782 if (this.region == null) 783 return false; 784 for (CodeableConcept item : this.region) 785 if (!item.isEmpty()) 786 return true; 787 return false; 788 } 789 790 public CodeableConcept addRegion() { //3 791 CodeableConcept t = new CodeableConcept(); 792 if (this.region == null) 793 this.region = new ArrayList<CodeableConcept>(); 794 this.region.add(t); 795 return t; 796 } 797 798 public RegulatedAuthorization addRegion(CodeableConcept t) { //3 799 if (t == null) 800 return this; 801 if (this.region == null) 802 this.region = new ArrayList<CodeableConcept>(); 803 this.region.add(t); 804 return this; 805 } 806 807 /** 808 * @return The first repetition of repeating field {@link #region}, creating it if it does not already exist {3} 809 */ 810 public CodeableConcept getRegionFirstRep() { 811 if (getRegion().isEmpty()) { 812 addRegion(); 813 } 814 return getRegion().get(0); 815 } 816 817 /** 818 * @return {@link #status} (The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.) 819 */ 820 public CodeableConcept getStatus() { 821 if (this.status == null) 822 if (Configuration.errorOnAutoCreate()) 823 throw new Error("Attempt to auto-create RegulatedAuthorization.status"); 824 else if (Configuration.doAutoCreate()) 825 this.status = new CodeableConcept(); // cc 826 return this.status; 827 } 828 829 public boolean hasStatus() { 830 return this.status != null && !this.status.isEmpty(); 831 } 832 833 /** 834 * @param value {@link #status} (The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.) 835 */ 836 public RegulatedAuthorization setStatus(CodeableConcept value) { 837 this.status = value; 838 return this; 839 } 840 841 /** 842 * @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 843 */ 844 public DateTimeType getStatusDateElement() { 845 if (this.statusDate == null) 846 if (Configuration.errorOnAutoCreate()) 847 throw new Error("Attempt to auto-create RegulatedAuthorization.statusDate"); 848 else if (Configuration.doAutoCreate()) 849 this.statusDate = new DateTimeType(); // bb 850 return this.statusDate; 851 } 852 853 public boolean hasStatusDateElement() { 854 return this.statusDate != null && !this.statusDate.isEmpty(); 855 } 856 857 public boolean hasStatusDate() { 858 return this.statusDate != null && !this.statusDate.isEmpty(); 859 } 860 861 /** 862 * @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 863 */ 864 public RegulatedAuthorization setStatusDateElement(DateTimeType value) { 865 this.statusDate = value; 866 return this; 867 } 868 869 /** 870 * @return The date at which the current status was assigned. 871 */ 872 public Date getStatusDate() { 873 return this.statusDate == null ? null : this.statusDate.getValue(); 874 } 875 876 /** 877 * @param value The date at which the current status was assigned. 878 */ 879 public RegulatedAuthorization setStatusDate(Date value) { 880 if (value == null) 881 this.statusDate = null; 882 else { 883 if (this.statusDate == null) 884 this.statusDate = new DateTimeType(); 885 this.statusDate.setValue(value); 886 } 887 return this; 888 } 889 890 /** 891 * @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.) 892 */ 893 public Period getValidityPeriod() { 894 if (this.validityPeriod == null) 895 if (Configuration.errorOnAutoCreate()) 896 throw new Error("Attempt to auto-create RegulatedAuthorization.validityPeriod"); 897 else if (Configuration.doAutoCreate()) 898 this.validityPeriod = new Period(); // cc 899 return this.validityPeriod; 900 } 901 902 public boolean hasValidityPeriod() { 903 return this.validityPeriod != null && !this.validityPeriod.isEmpty(); 904 } 905 906 /** 907 * @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.) 908 */ 909 public RegulatedAuthorization setValidityPeriod(Period value) { 910 this.validityPeriod = value; 911 return this; 912 } 913 914 /** 915 * @return {@link #indication} (Condition for which the use of the regulated product applies.) 916 */ 917 public List<CodeableReference> getIndication() { 918 if (this.indication == null) 919 this.indication = new ArrayList<CodeableReference>(); 920 return this.indication; 921 } 922 923 /** 924 * @return Returns a reference to <code>this</code> for easy method chaining 925 */ 926 public RegulatedAuthorization setIndication(List<CodeableReference> theIndication) { 927 this.indication = theIndication; 928 return this; 929 } 930 931 public boolean hasIndication() { 932 if (this.indication == null) 933 return false; 934 for (CodeableReference item : this.indication) 935 if (!item.isEmpty()) 936 return true; 937 return false; 938 } 939 940 public CodeableReference addIndication() { //3 941 CodeableReference t = new CodeableReference(); 942 if (this.indication == null) 943 this.indication = new ArrayList<CodeableReference>(); 944 this.indication.add(t); 945 return t; 946 } 947 948 public RegulatedAuthorization addIndication(CodeableReference t) { //3 949 if (t == null) 950 return this; 951 if (this.indication == null) 952 this.indication = new ArrayList<CodeableReference>(); 953 this.indication.add(t); 954 return this; 955 } 956 957 /** 958 * @return The first repetition of repeating field {@link #indication}, creating it if it does not already exist {3} 959 */ 960 public CodeableReference getIndicationFirstRep() { 961 if (getIndication().isEmpty()) { 962 addIndication(); 963 } 964 return getIndication().get(0); 965 } 966 967 /** 968 * @return {@link #intendedUse} (The intended use of the product, e.g. prevention, treatment, diagnosis.) 969 */ 970 public CodeableConcept getIntendedUse() { 971 if (this.intendedUse == null) 972 if (Configuration.errorOnAutoCreate()) 973 throw new Error("Attempt to auto-create RegulatedAuthorization.intendedUse"); 974 else if (Configuration.doAutoCreate()) 975 this.intendedUse = new CodeableConcept(); // cc 976 return this.intendedUse; 977 } 978 979 public boolean hasIntendedUse() { 980 return this.intendedUse != null && !this.intendedUse.isEmpty(); 981 } 982 983 /** 984 * @param value {@link #intendedUse} (The intended use of the product, e.g. prevention, treatment, diagnosis.) 985 */ 986 public RegulatedAuthorization setIntendedUse(CodeableConcept value) { 987 this.intendedUse = value; 988 return this; 989 } 990 991 /** 992 * @return {@link #basis} (The legal or regulatory framework against which this authorization is granted, or other reasons for it.) 993 */ 994 public List<CodeableConcept> getBasis() { 995 if (this.basis == null) 996 this.basis = new ArrayList<CodeableConcept>(); 997 return this.basis; 998 } 999 1000 /** 1001 * @return Returns a reference to <code>this</code> for easy method chaining 1002 */ 1003 public RegulatedAuthorization setBasis(List<CodeableConcept> theBasis) { 1004 this.basis = theBasis; 1005 return this; 1006 } 1007 1008 public boolean hasBasis() { 1009 if (this.basis == null) 1010 return false; 1011 for (CodeableConcept item : this.basis) 1012 if (!item.isEmpty()) 1013 return true; 1014 return false; 1015 } 1016 1017 public CodeableConcept addBasis() { //3 1018 CodeableConcept t = new CodeableConcept(); 1019 if (this.basis == null) 1020 this.basis = new ArrayList<CodeableConcept>(); 1021 this.basis.add(t); 1022 return t; 1023 } 1024 1025 public RegulatedAuthorization addBasis(CodeableConcept t) { //3 1026 if (t == null) 1027 return this; 1028 if (this.basis == null) 1029 this.basis = new ArrayList<CodeableConcept>(); 1030 this.basis.add(t); 1031 return this; 1032 } 1033 1034 /** 1035 * @return The first repetition of repeating field {@link #basis}, creating it if it does not already exist {3} 1036 */ 1037 public CodeableConcept getBasisFirstRep() { 1038 if (getBasis().isEmpty()) { 1039 addBasis(); 1040 } 1041 return getBasis().get(0); 1042 } 1043 1044 /** 1045 * @return {@link #holder} (The organization that has been granted this authorization, by some authoritative body (the 'regulator').) 1046 */ 1047 public Reference getHolder() { 1048 if (this.holder == null) 1049 if (Configuration.errorOnAutoCreate()) 1050 throw new Error("Attempt to auto-create RegulatedAuthorization.holder"); 1051 else if (Configuration.doAutoCreate()) 1052 this.holder = new Reference(); // cc 1053 return this.holder; 1054 } 1055 1056 public boolean hasHolder() { 1057 return this.holder != null && !this.holder.isEmpty(); 1058 } 1059 1060 /** 1061 * @param value {@link #holder} (The organization that has been granted this authorization, by some authoritative body (the 'regulator').) 1062 */ 1063 public RegulatedAuthorization setHolder(Reference value) { 1064 this.holder = value; 1065 return this; 1066 } 1067 1068 /** 1069 * @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.) 1070 */ 1071 public Reference getRegulator() { 1072 if (this.regulator == null) 1073 if (Configuration.errorOnAutoCreate()) 1074 throw new Error("Attempt to auto-create RegulatedAuthorization.regulator"); 1075 else if (Configuration.doAutoCreate()) 1076 this.regulator = new Reference(); // cc 1077 return this.regulator; 1078 } 1079 1080 public boolean hasRegulator() { 1081 return this.regulator != null && !this.regulator.isEmpty(); 1082 } 1083 1084 /** 1085 * @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.) 1086 */ 1087 public RegulatedAuthorization setRegulator(Reference value) { 1088 this.regulator = value; 1089 return this; 1090 } 1091 1092 /** 1093 * @return {@link #attachedDocument} (Additional information or supporting documentation about the authorization.) 1094 */ 1095 public List<Reference> getAttachedDocument() { 1096 if (this.attachedDocument == null) 1097 this.attachedDocument = new ArrayList<Reference>(); 1098 return this.attachedDocument; 1099 } 1100 1101 /** 1102 * @return Returns a reference to <code>this</code> for easy method chaining 1103 */ 1104 public RegulatedAuthorization setAttachedDocument(List<Reference> theAttachedDocument) { 1105 this.attachedDocument = theAttachedDocument; 1106 return this; 1107 } 1108 1109 public boolean hasAttachedDocument() { 1110 if (this.attachedDocument == null) 1111 return false; 1112 for (Reference item : this.attachedDocument) 1113 if (!item.isEmpty()) 1114 return true; 1115 return false; 1116 } 1117 1118 public Reference addAttachedDocument() { //3 1119 Reference t = new Reference(); 1120 if (this.attachedDocument == null) 1121 this.attachedDocument = new ArrayList<Reference>(); 1122 this.attachedDocument.add(t); 1123 return t; 1124 } 1125 1126 public RegulatedAuthorization addAttachedDocument(Reference t) { //3 1127 if (t == null) 1128 return this; 1129 if (this.attachedDocument == null) 1130 this.attachedDocument = new ArrayList<Reference>(); 1131 this.attachedDocument.add(t); 1132 return this; 1133 } 1134 1135 /** 1136 * @return The first repetition of repeating field {@link #attachedDocument}, creating it if it does not already exist {3} 1137 */ 1138 public Reference getAttachedDocumentFirstRep() { 1139 if (getAttachedDocument().isEmpty()) { 1140 addAttachedDocument(); 1141 } 1142 return getAttachedDocument().get(0); 1143 } 1144 1145 /** 1146 * @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).) 1147 */ 1148 public RegulatedAuthorizationCaseComponent getCase() { 1149 if (this.case_ == null) 1150 if (Configuration.errorOnAutoCreate()) 1151 throw new Error("Attempt to auto-create RegulatedAuthorization.case_"); 1152 else if (Configuration.doAutoCreate()) 1153 this.case_ = new RegulatedAuthorizationCaseComponent(); // cc 1154 return this.case_; 1155 } 1156 1157 public boolean hasCase() { 1158 return this.case_ != null && !this.case_.isEmpty(); 1159 } 1160 1161 /** 1162 * @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).) 1163 */ 1164 public RegulatedAuthorization setCase(RegulatedAuthorizationCaseComponent value) { 1165 this.case_ = value; 1166 return this; 1167 } 1168 1169 protected void listChildren(List<Property> children) { 1170 super.listChildren(children); 1171 children.add(new Property("identifier", "Identifier", "Business identifier for the authorization, typically assigned by the authorizing body.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1172 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)); 1173 children.add(new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type)); 1174 children.add(new Property("description", "markdown", "General textual supporting information.", 0, 1, description)); 1175 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)); 1176 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)); 1177 children.add(new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate)); 1178 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)); 1179 children.add(new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, java.lang.Integer.MAX_VALUE, indication)); 1180 children.add(new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse)); 1181 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)); 1182 children.add(new Property("holder", "Reference(Organization)", "The organization that has been granted this authorization, by some authoritative body (the 'regulator').", 0, 1, holder)); 1183 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)); 1184 children.add(new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the authorization.", 0, java.lang.Integer.MAX_VALUE, attachedDocument)); 1185 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_)); 1186 } 1187 1188 @Override 1189 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1190 switch (_hash) { 1191 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); 1192 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); 1193 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type); 1194 case -1724546052: /*description*/ return new Property("description", "markdown", "General textual supporting information.", 0, 1, description); 1195 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); 1196 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); 1197 case 247524032: /*statusDate*/ return new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate); 1198 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); 1199 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); 1200 case -1618671268: /*intendedUse*/ return new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse); 1201 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); 1202 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); 1203 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); 1204 case -513945889: /*attachedDocument*/ return new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the authorization.", 0, java.lang.Integer.MAX_VALUE, attachedDocument); 1205 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_); 1206 default: return super.getNamedProperty(_hash, _name, _checkValid); 1207 } 1208 1209 } 1210 1211 @Override 1212 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1213 switch (hash) { 1214 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1215 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // Reference 1216 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1217 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1218 case -934795532: /*region*/ return this.region == null ? new Base[0] : this.region.toArray(new Base[this.region.size()]); // CodeableConcept 1219 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept 1220 case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : new Base[] {this.statusDate}; // DateTimeType 1221 case -1434195053: /*validityPeriod*/ return this.validityPeriod == null ? new Base[0] : new Base[] {this.validityPeriod}; // Period 1222 case -597168804: /*indication*/ return this.indication == null ? new Base[0] : this.indication.toArray(new Base[this.indication.size()]); // CodeableReference 1223 case -1618671268: /*intendedUse*/ return this.intendedUse == null ? new Base[0] : new Base[] {this.intendedUse}; // CodeableConcept 1224 case 93508670: /*basis*/ return this.basis == null ? new Base[0] : this.basis.toArray(new Base[this.basis.size()]); // CodeableConcept 1225 case -1211707988: /*holder*/ return this.holder == null ? new Base[0] : new Base[] {this.holder}; // Reference 1226 case 414760449: /*regulator*/ return this.regulator == null ? new Base[0] : new Base[] {this.regulator}; // Reference 1227 case -513945889: /*attachedDocument*/ return this.attachedDocument == null ? new Base[0] : this.attachedDocument.toArray(new Base[this.attachedDocument.size()]); // Reference 1228 case 3046192: /*case*/ return this.case_ == null ? new Base[0] : new Base[] {this.case_}; // RegulatedAuthorizationCaseComponent 1229 default: return super.getProperty(hash, name, checkValid); 1230 } 1231 1232 } 1233 1234 @Override 1235 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1236 switch (hash) { 1237 case -1618432855: // identifier 1238 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1239 return value; 1240 case -1867885268: // subject 1241 this.getSubject().add(TypeConvertor.castToReference(value)); // Reference 1242 return value; 1243 case 3575610: // type 1244 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1245 return value; 1246 case -1724546052: // description 1247 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1248 return value; 1249 case -934795532: // region 1250 this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1251 return value; 1252 case -892481550: // status 1253 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1254 return value; 1255 case 247524032: // statusDate 1256 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 1257 return value; 1258 case -1434195053: // validityPeriod 1259 this.validityPeriod = TypeConvertor.castToPeriod(value); // Period 1260 return value; 1261 case -597168804: // indication 1262 this.getIndication().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1263 return value; 1264 case -1618671268: // intendedUse 1265 this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1266 return value; 1267 case 93508670: // basis 1268 this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1269 return value; 1270 case -1211707988: // holder 1271 this.holder = TypeConvertor.castToReference(value); // Reference 1272 return value; 1273 case 414760449: // regulator 1274 this.regulator = TypeConvertor.castToReference(value); // Reference 1275 return value; 1276 case -513945889: // attachedDocument 1277 this.getAttachedDocument().add(TypeConvertor.castToReference(value)); // Reference 1278 return value; 1279 case 3046192: // case 1280 this.case_ = (RegulatedAuthorizationCaseComponent) value; // RegulatedAuthorizationCaseComponent 1281 return value; 1282 default: return super.setProperty(hash, name, value); 1283 } 1284 1285 } 1286 1287 @Override 1288 public Base setProperty(String name, Base value) throws FHIRException { 1289 if (name.equals("identifier")) { 1290 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1291 } else if (name.equals("subject")) { 1292 this.getSubject().add(TypeConvertor.castToReference(value)); 1293 } else if (name.equals("type")) { 1294 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1295 } else if (name.equals("description")) { 1296 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 1297 } else if (name.equals("region")) { 1298 this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); 1299 } else if (name.equals("status")) { 1300 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1301 } else if (name.equals("statusDate")) { 1302 this.statusDate = TypeConvertor.castToDateTime(value); // DateTimeType 1303 } else if (name.equals("validityPeriod")) { 1304 this.validityPeriod = TypeConvertor.castToPeriod(value); // Period 1305 } else if (name.equals("indication")) { 1306 this.getIndication().add(TypeConvertor.castToCodeableReference(value)); 1307 } else if (name.equals("intendedUse")) { 1308 this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1309 } else if (name.equals("basis")) { 1310 this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); 1311 } else if (name.equals("holder")) { 1312 this.holder = TypeConvertor.castToReference(value); // Reference 1313 } else if (name.equals("regulator")) { 1314 this.regulator = TypeConvertor.castToReference(value); // Reference 1315 } else if (name.equals("attachedDocument")) { 1316 this.getAttachedDocument().add(TypeConvertor.castToReference(value)); 1317 } else if (name.equals("case")) { 1318 this.case_ = (RegulatedAuthorizationCaseComponent) value; // RegulatedAuthorizationCaseComponent 1319 } else 1320 return super.setProperty(name, value); 1321 return value; 1322 } 1323 1324 @Override 1325 public Base makeProperty(int hash, String name) throws FHIRException { 1326 switch (hash) { 1327 case -1618432855: return addIdentifier(); 1328 case -1867885268: return addSubject(); 1329 case 3575610: return getType(); 1330 case -1724546052: return getDescriptionElement(); 1331 case -934795532: return addRegion(); 1332 case -892481550: return getStatus(); 1333 case 247524032: return getStatusDateElement(); 1334 case -1434195053: return getValidityPeriod(); 1335 case -597168804: return addIndication(); 1336 case -1618671268: return getIntendedUse(); 1337 case 93508670: return addBasis(); 1338 case -1211707988: return getHolder(); 1339 case 414760449: return getRegulator(); 1340 case -513945889: return addAttachedDocument(); 1341 case 3046192: return getCase(); 1342 default: return super.makeProperty(hash, name); 1343 } 1344 1345 } 1346 1347 @Override 1348 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1349 switch (hash) { 1350 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1351 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1352 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1353 case -1724546052: /*description*/ return new String[] {"markdown"}; 1354 case -934795532: /*region*/ return new String[] {"CodeableConcept"}; 1355 case -892481550: /*status*/ return new String[] {"CodeableConcept"}; 1356 case 247524032: /*statusDate*/ return new String[] {"dateTime"}; 1357 case -1434195053: /*validityPeriod*/ return new String[] {"Period"}; 1358 case -597168804: /*indication*/ return new String[] {"CodeableReference"}; 1359 case -1618671268: /*intendedUse*/ return new String[] {"CodeableConcept"}; 1360 case 93508670: /*basis*/ return new String[] {"CodeableConcept"}; 1361 case -1211707988: /*holder*/ return new String[] {"Reference"}; 1362 case 414760449: /*regulator*/ return new String[] {"Reference"}; 1363 case -513945889: /*attachedDocument*/ return new String[] {"Reference"}; 1364 case 3046192: /*case*/ return new String[] {}; 1365 default: return super.getTypesForProperty(hash, name); 1366 } 1367 1368 } 1369 1370 @Override 1371 public Base addChild(String name) throws FHIRException { 1372 if (name.equals("identifier")) { 1373 return addIdentifier(); 1374 } 1375 else if (name.equals("subject")) { 1376 return addSubject(); 1377 } 1378 else if (name.equals("type")) { 1379 this.type = new CodeableConcept(); 1380 return this.type; 1381 } 1382 else if (name.equals("description")) { 1383 throw new FHIRException("Cannot call addChild on a primitive type RegulatedAuthorization.description"); 1384 } 1385 else if (name.equals("region")) { 1386 return addRegion(); 1387 } 1388 else if (name.equals("status")) { 1389 this.status = new CodeableConcept(); 1390 return this.status; 1391 } 1392 else if (name.equals("statusDate")) { 1393 throw new FHIRException("Cannot call addChild on a primitive type RegulatedAuthorization.statusDate"); 1394 } 1395 else if (name.equals("validityPeriod")) { 1396 this.validityPeriod = new Period(); 1397 return this.validityPeriod; 1398 } 1399 else if (name.equals("indication")) { 1400 return addIndication(); 1401 } 1402 else if (name.equals("intendedUse")) { 1403 this.intendedUse = new CodeableConcept(); 1404 return this.intendedUse; 1405 } 1406 else if (name.equals("basis")) { 1407 return addBasis(); 1408 } 1409 else if (name.equals("holder")) { 1410 this.holder = new Reference(); 1411 return this.holder; 1412 } 1413 else if (name.equals("regulator")) { 1414 this.regulator = new Reference(); 1415 return this.regulator; 1416 } 1417 else if (name.equals("attachedDocument")) { 1418 return addAttachedDocument(); 1419 } 1420 else if (name.equals("case")) { 1421 this.case_ = new RegulatedAuthorizationCaseComponent(); 1422 return this.case_; 1423 } 1424 else 1425 return super.addChild(name); 1426 } 1427 1428 public String fhirType() { 1429 return "RegulatedAuthorization"; 1430 1431 } 1432 1433 public RegulatedAuthorization copy() { 1434 RegulatedAuthorization dst = new RegulatedAuthorization(); 1435 copyValues(dst); 1436 return dst; 1437 } 1438 1439 public void copyValues(RegulatedAuthorization dst) { 1440 super.copyValues(dst); 1441 if (identifier != null) { 1442 dst.identifier = new ArrayList<Identifier>(); 1443 for (Identifier i : identifier) 1444 dst.identifier.add(i.copy()); 1445 }; 1446 if (subject != null) { 1447 dst.subject = new ArrayList<Reference>(); 1448 for (Reference i : subject) 1449 dst.subject.add(i.copy()); 1450 }; 1451 dst.type = type == null ? null : type.copy(); 1452 dst.description = description == null ? null : description.copy(); 1453 if (region != null) { 1454 dst.region = new ArrayList<CodeableConcept>(); 1455 for (CodeableConcept i : region) 1456 dst.region.add(i.copy()); 1457 }; 1458 dst.status = status == null ? null : status.copy(); 1459 dst.statusDate = statusDate == null ? null : statusDate.copy(); 1460 dst.validityPeriod = validityPeriod == null ? null : validityPeriod.copy(); 1461 if (indication != null) { 1462 dst.indication = new ArrayList<CodeableReference>(); 1463 for (CodeableReference i : indication) 1464 dst.indication.add(i.copy()); 1465 }; 1466 dst.intendedUse = intendedUse == null ? null : intendedUse.copy(); 1467 if (basis != null) { 1468 dst.basis = new ArrayList<CodeableConcept>(); 1469 for (CodeableConcept i : basis) 1470 dst.basis.add(i.copy()); 1471 }; 1472 dst.holder = holder == null ? null : holder.copy(); 1473 dst.regulator = regulator == null ? null : regulator.copy(); 1474 if (attachedDocument != null) { 1475 dst.attachedDocument = new ArrayList<Reference>(); 1476 for (Reference i : attachedDocument) 1477 dst.attachedDocument.add(i.copy()); 1478 }; 1479 dst.case_ = case_ == null ? null : case_.copy(); 1480 } 1481 1482 protected RegulatedAuthorization typedCopy() { 1483 return copy(); 1484 } 1485 1486 @Override 1487 public boolean equalsDeep(Base other_) { 1488 if (!super.equalsDeep(other_)) 1489 return false; 1490 if (!(other_ instanceof RegulatedAuthorization)) 1491 return false; 1492 RegulatedAuthorization o = (RegulatedAuthorization) other_; 1493 return compareDeep(identifier, o.identifier, true) && compareDeep(subject, o.subject, true) && compareDeep(type, o.type, true) 1494 && compareDeep(description, o.description, true) && compareDeep(region, o.region, true) && compareDeep(status, o.status, true) 1495 && compareDeep(statusDate, o.statusDate, true) && compareDeep(validityPeriod, o.validityPeriod, true) 1496 && compareDeep(indication, o.indication, true) && compareDeep(intendedUse, o.intendedUse, true) 1497 && compareDeep(basis, o.basis, true) && compareDeep(holder, o.holder, true) && compareDeep(regulator, o.regulator, true) 1498 && compareDeep(attachedDocument, o.attachedDocument, true) && compareDeep(case_, o.case_, true) 1499 ; 1500 } 1501 1502 @Override 1503 public boolean equalsShallow(Base other_) { 1504 if (!super.equalsShallow(other_)) 1505 return false; 1506 if (!(other_ instanceof RegulatedAuthorization)) 1507 return false; 1508 RegulatedAuthorization o = (RegulatedAuthorization) other_; 1509 return compareValues(description, o.description, true) && compareValues(statusDate, o.statusDate, true) 1510 ; 1511 } 1512 1513 public boolean isEmpty() { 1514 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, subject, type 1515 , description, region, status, statusDate, validityPeriod, indication, intendedUse 1516 , basis, holder, regulator, attachedDocument, case_); 1517 } 1518 1519 @Override 1520 public ResourceType getResourceType() { 1521 return ResourceType.RegulatedAuthorization; 1522 } 1523 1524 /** 1525 * Search parameter: <b>case-type</b> 1526 * <p> 1527 * Description: <b>The defining type of case</b><br> 1528 * Type: <b>token</b><br> 1529 * Path: <b>RegulatedAuthorization.case.type</b><br> 1530 * </p> 1531 */ 1532 @SearchParamDefinition(name="case-type", path="RegulatedAuthorization.case.type", description="The defining type of case", type="token" ) 1533 public static final String SP_CASE_TYPE = "case-type"; 1534 /** 1535 * <b>Fluent Client</b> search parameter constant for <b>case-type</b> 1536 * <p> 1537 * Description: <b>The defining type of case</b><br> 1538 * Type: <b>token</b><br> 1539 * Path: <b>RegulatedAuthorization.case.type</b><br> 1540 * </p> 1541 */ 1542 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CASE_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CASE_TYPE); 1543 1544 /** 1545 * Search parameter: <b>case</b> 1546 * <p> 1547 * Description: <b>The case or procedure number</b><br> 1548 * Type: <b>token</b><br> 1549 * Path: <b>RegulatedAuthorization.case.identifier</b><br> 1550 * </p> 1551 */ 1552 @SearchParamDefinition(name="case", path="RegulatedAuthorization.case.identifier", description="The case or procedure number", type="token" ) 1553 public static final String SP_CASE = "case"; 1554 /** 1555 * <b>Fluent Client</b> search parameter constant for <b>case</b> 1556 * <p> 1557 * Description: <b>The case or procedure number</b><br> 1558 * Type: <b>token</b><br> 1559 * Path: <b>RegulatedAuthorization.case.identifier</b><br> 1560 * </p> 1561 */ 1562 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CASE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CASE); 1563 1564 /** 1565 * Search parameter: <b>holder</b> 1566 * <p> 1567 * Description: <b>The organization that holds the granted authorization</b><br> 1568 * Type: <b>reference</b><br> 1569 * Path: <b>RegulatedAuthorization.holder</b><br> 1570 * </p> 1571 */ 1572 @SearchParamDefinition(name="holder", path="RegulatedAuthorization.holder", description="The organization that holds the granted authorization", type="reference", target={Organization.class } ) 1573 public static final String SP_HOLDER = "holder"; 1574 /** 1575 * <b>Fluent Client</b> search parameter constant for <b>holder</b> 1576 * <p> 1577 * Description: <b>The organization that holds the granted authorization</b><br> 1578 * Type: <b>reference</b><br> 1579 * Path: <b>RegulatedAuthorization.holder</b><br> 1580 * </p> 1581 */ 1582 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam HOLDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_HOLDER); 1583 1584/** 1585 * Constant for fluent queries to be used to add include statements. Specifies 1586 * the path value of "<b>RegulatedAuthorization:holder</b>". 1587 */ 1588 public static final ca.uhn.fhir.model.api.Include INCLUDE_HOLDER = new ca.uhn.fhir.model.api.Include("RegulatedAuthorization:holder").toLocked(); 1589 1590 /** 1591 * Search parameter: <b>identifier</b> 1592 * <p> 1593 * Description: <b>Business identifier for the authorization, typically assigned by the authorizing body</b><br> 1594 * Type: <b>token</b><br> 1595 * Path: <b>RegulatedAuthorization.identifier</b><br> 1596 * </p> 1597 */ 1598 @SearchParamDefinition(name="identifier", path="RegulatedAuthorization.identifier", description="Business identifier for the authorization, typically assigned by the authorizing body", type="token" ) 1599 public static final String SP_IDENTIFIER = "identifier"; 1600 /** 1601 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1602 * <p> 1603 * Description: <b>Business identifier for the authorization, typically assigned by the authorizing body</b><br> 1604 * Type: <b>token</b><br> 1605 * Path: <b>RegulatedAuthorization.identifier</b><br> 1606 * </p> 1607 */ 1608 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1609 1610 /** 1611 * Search parameter: <b>region</b> 1612 * <p> 1613 * Description: <b>The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted</b><br> 1614 * Type: <b>token</b><br> 1615 * Path: <b>RegulatedAuthorization.region</b><br> 1616 * </p> 1617 */ 1618 @SearchParamDefinition(name="region", path="RegulatedAuthorization.region", description="The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted", type="token" ) 1619 public static final String SP_REGION = "region"; 1620 /** 1621 * <b>Fluent Client</b> search parameter constant for <b>region</b> 1622 * <p> 1623 * Description: <b>The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted</b><br> 1624 * Type: <b>token</b><br> 1625 * Path: <b>RegulatedAuthorization.region</b><br> 1626 * </p> 1627 */ 1628 public static final ca.uhn.fhir.rest.gclient.TokenClientParam REGION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REGION); 1629 1630 /** 1631 * Search parameter: <b>status</b> 1632 * <p> 1633 * Description: <b>The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications</b><br> 1634 * Type: <b>token</b><br> 1635 * Path: <b>RegulatedAuthorization.status</b><br> 1636 * </p> 1637 */ 1638 @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" ) 1639 public static final String SP_STATUS = "status"; 1640 /** 1641 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1642 * <p> 1643 * Description: <b>The status that is authorised e.g. approved. Intermediate states can be tracked with cases and applications</b><br> 1644 * Type: <b>token</b><br> 1645 * Path: <b>RegulatedAuthorization.status</b><br> 1646 * </p> 1647 */ 1648 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1649 1650 /** 1651 * Search parameter: <b>subject</b> 1652 * <p> 1653 * Description: <b>The type of regulated product, treatment, facility or activity that is being authorized</b><br> 1654 * Type: <b>reference</b><br> 1655 * Path: <b>RegulatedAuthorization.subject</b><br> 1656 * </p> 1657 */ 1658 @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 } ) 1659 public static final String SP_SUBJECT = "subject"; 1660 /** 1661 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1662 * <p> 1663 * Description: <b>The type of regulated product, treatment, facility or activity that is being authorized</b><br> 1664 * Type: <b>reference</b><br> 1665 * Path: <b>RegulatedAuthorization.subject</b><br> 1666 * </p> 1667 */ 1668 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1669 1670/** 1671 * Constant for fluent queries to be used to add include statements. Specifies 1672 * the path value of "<b>RegulatedAuthorization:subject</b>". 1673 */ 1674 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RegulatedAuthorization:subject").toLocked(); 1675 1676 1677} 1678