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