001package org.hl7.fhir.r4b.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 Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. 052 */ 053@ResourceDef(name="ActivityDefinition", profile="http://hl7.org/fhir/StructureDefinition/ActivityDefinition") 054public class ActivityDefinition extends DomainResource { 055 056 public enum RequestResourceType { 057 /** 058 * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). 059 */ 060 APPOINTMENT, 061 /** 062 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 063 */ 064 APPOINTMENTRESPONSE, 065 /** 066 * Healthcare plan for patient or group. 067 */ 068 CAREPLAN, 069 /** 070 * Claim, Pre-determination or Pre-authorization. 071 */ 072 CLAIM, 073 /** 074 * A request for information to be sent to a receiver. 075 */ 076 COMMUNICATIONREQUEST, 077 /** 078 * Legal Agreement. 079 */ 080 CONTRACT, 081 /** 082 * Medical device request. 083 */ 084 DEVICEREQUEST, 085 /** 086 * Enrollment request. 087 */ 088 ENROLLMENTREQUEST, 089 /** 090 * Guidance or advice relating to an immunization. 091 */ 092 IMMUNIZATIONRECOMMENDATION, 093 /** 094 * Ordering of medication for patient or group. 095 */ 096 MEDICATIONREQUEST, 097 /** 098 * Diet, formula or nutritional supplement request. 099 */ 100 NUTRITIONORDER, 101 /** 102 * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. 103 */ 104 SERVICEREQUEST, 105 /** 106 * Request for a medication, substance or device. 107 */ 108 SUPPLYREQUEST, 109 /** 110 * A task to be performed. 111 */ 112 TASK, 113 /** 114 * Prescription for vision correction products for a patient. 115 */ 116 VISIONPRESCRIPTION, 117 /** 118 * added to help the parsers with the generic types 119 */ 120 NULL; 121 public static RequestResourceType fromCode(String codeString) throws FHIRException { 122 if (codeString == null || "".equals(codeString)) 123 return null; 124 if ("Appointment".equals(codeString)) 125 return APPOINTMENT; 126 if ("AppointmentResponse".equals(codeString)) 127 return APPOINTMENTRESPONSE; 128 if ("CarePlan".equals(codeString)) 129 return CAREPLAN; 130 if ("Claim".equals(codeString)) 131 return CLAIM; 132 if ("CommunicationRequest".equals(codeString)) 133 return COMMUNICATIONREQUEST; 134 if ("Contract".equals(codeString)) 135 return CONTRACT; 136 if ("DeviceRequest".equals(codeString)) 137 return DEVICEREQUEST; 138 if ("EnrollmentRequest".equals(codeString)) 139 return ENROLLMENTREQUEST; 140 if ("ImmunizationRecommendation".equals(codeString)) 141 return IMMUNIZATIONRECOMMENDATION; 142 if ("MedicationRequest".equals(codeString)) 143 return MEDICATIONREQUEST; 144 if ("NutritionOrder".equals(codeString)) 145 return NUTRITIONORDER; 146 if ("ServiceRequest".equals(codeString)) 147 return SERVICEREQUEST; 148 if ("SupplyRequest".equals(codeString)) 149 return SUPPLYREQUEST; 150 if ("Task".equals(codeString)) 151 return TASK; 152 if ("VisionPrescription".equals(codeString)) 153 return VISIONPRESCRIPTION; 154 if (Configuration.isAcceptInvalidEnums()) 155 return null; 156 else 157 throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'"); 158 } 159 public String toCode() { 160 switch (this) { 161 case APPOINTMENT: return "Appointment"; 162 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 163 case CAREPLAN: return "CarePlan"; 164 case CLAIM: return "Claim"; 165 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 166 case CONTRACT: return "Contract"; 167 case DEVICEREQUEST: return "DeviceRequest"; 168 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 169 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 170 case MEDICATIONREQUEST: return "MedicationRequest"; 171 case NUTRITIONORDER: return "NutritionOrder"; 172 case SERVICEREQUEST: return "ServiceRequest"; 173 case SUPPLYREQUEST: return "SupplyRequest"; 174 case TASK: return "Task"; 175 case VISIONPRESCRIPTION: return "VisionPrescription"; 176 case NULL: return null; 177 default: return "?"; 178 } 179 } 180 public String getSystem() { 181 switch (this) { 182 case APPOINTMENT: return "http://hl7.org/fhir/request-resource-types"; 183 case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/request-resource-types"; 184 case CAREPLAN: return "http://hl7.org/fhir/request-resource-types"; 185 case CLAIM: return "http://hl7.org/fhir/request-resource-types"; 186 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types"; 187 case CONTRACT: return "http://hl7.org/fhir/request-resource-types"; 188 case DEVICEREQUEST: return "http://hl7.org/fhir/request-resource-types"; 189 case ENROLLMENTREQUEST: return "http://hl7.org/fhir/request-resource-types"; 190 case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/request-resource-types"; 191 case MEDICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types"; 192 case NUTRITIONORDER: return "http://hl7.org/fhir/request-resource-types"; 193 case SERVICEREQUEST: return "http://hl7.org/fhir/request-resource-types"; 194 case SUPPLYREQUEST: return "http://hl7.org/fhir/request-resource-types"; 195 case TASK: return "http://hl7.org/fhir/request-resource-types"; 196 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/request-resource-types"; 197 case NULL: return null; 198 default: return "?"; 199 } 200 } 201 public String getDefinition() { 202 switch (this) { 203 case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 204 case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 205 case CAREPLAN: return "Healthcare plan for patient or group."; 206 case CLAIM: return "Claim, Pre-determination or Pre-authorization."; 207 case COMMUNICATIONREQUEST: return "A request for information to be sent to a receiver."; 208 case CONTRACT: return "Legal Agreement."; 209 case DEVICEREQUEST: return "Medical device request."; 210 case ENROLLMENTREQUEST: return "Enrollment request."; 211 case IMMUNIZATIONRECOMMENDATION: return "Guidance or advice relating to an immunization."; 212 case MEDICATIONREQUEST: return "Ordering of medication for patient or group."; 213 case NUTRITIONORDER: return "Diet, formula or nutritional supplement request."; 214 case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; 215 case SUPPLYREQUEST: return "Request for a medication, substance or device."; 216 case TASK: return "A task to be performed."; 217 case VISIONPRESCRIPTION: return "Prescription for vision correction products for a patient."; 218 case NULL: return null; 219 default: return "?"; 220 } 221 } 222 public String getDisplay() { 223 switch (this) { 224 case APPOINTMENT: return "Appointment"; 225 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 226 case CAREPLAN: return "CarePlan"; 227 case CLAIM: return "Claim"; 228 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 229 case CONTRACT: return "Contract"; 230 case DEVICEREQUEST: return "DeviceRequest"; 231 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 232 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 233 case MEDICATIONREQUEST: return "MedicationRequest"; 234 case NUTRITIONORDER: return "NutritionOrder"; 235 case SERVICEREQUEST: return "ServiceRequest"; 236 case SUPPLYREQUEST: return "SupplyRequest"; 237 case TASK: return "Task"; 238 case VISIONPRESCRIPTION: return "VisionPrescription"; 239 case NULL: return null; 240 default: return "?"; 241 } 242 } 243 } 244 245 public static class RequestResourceTypeEnumFactory implements EnumFactory<RequestResourceType> { 246 public RequestResourceType fromCode(String codeString) throws IllegalArgumentException { 247 if (codeString == null || "".equals(codeString)) 248 if (codeString == null || "".equals(codeString)) 249 return null; 250 if ("Appointment".equals(codeString)) 251 return RequestResourceType.APPOINTMENT; 252 if ("AppointmentResponse".equals(codeString)) 253 return RequestResourceType.APPOINTMENTRESPONSE; 254 if ("CarePlan".equals(codeString)) 255 return RequestResourceType.CAREPLAN; 256 if ("Claim".equals(codeString)) 257 return RequestResourceType.CLAIM; 258 if ("CommunicationRequest".equals(codeString)) 259 return RequestResourceType.COMMUNICATIONREQUEST; 260 if ("Contract".equals(codeString)) 261 return RequestResourceType.CONTRACT; 262 if ("DeviceRequest".equals(codeString)) 263 return RequestResourceType.DEVICEREQUEST; 264 if ("EnrollmentRequest".equals(codeString)) 265 return RequestResourceType.ENROLLMENTREQUEST; 266 if ("ImmunizationRecommendation".equals(codeString)) 267 return RequestResourceType.IMMUNIZATIONRECOMMENDATION; 268 if ("MedicationRequest".equals(codeString)) 269 return RequestResourceType.MEDICATIONREQUEST; 270 if ("NutritionOrder".equals(codeString)) 271 return RequestResourceType.NUTRITIONORDER; 272 if ("ServiceRequest".equals(codeString)) 273 return RequestResourceType.SERVICEREQUEST; 274 if ("SupplyRequest".equals(codeString)) 275 return RequestResourceType.SUPPLYREQUEST; 276 if ("Task".equals(codeString)) 277 return RequestResourceType.TASK; 278 if ("VisionPrescription".equals(codeString)) 279 return RequestResourceType.VISIONPRESCRIPTION; 280 throw new IllegalArgumentException("Unknown RequestResourceType code '"+codeString+"'"); 281 } 282 public Enumeration<RequestResourceType> fromType(Base code) throws FHIRException { 283 if (code == null) 284 return null; 285 if (code.isEmpty()) 286 return new Enumeration<RequestResourceType>(this); 287 String codeString = ((PrimitiveType) code).asStringValue(); 288 if (codeString == null || "".equals(codeString)) 289 return null; 290 if ("Appointment".equals(codeString)) 291 return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENT); 292 if ("AppointmentResponse".equals(codeString)) 293 return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENTRESPONSE); 294 if ("CarePlan".equals(codeString)) 295 return new Enumeration<RequestResourceType>(this, RequestResourceType.CAREPLAN); 296 if ("Claim".equals(codeString)) 297 return new Enumeration<RequestResourceType>(this, RequestResourceType.CLAIM); 298 if ("CommunicationRequest".equals(codeString)) 299 return new Enumeration<RequestResourceType>(this, RequestResourceType.COMMUNICATIONREQUEST); 300 if ("Contract".equals(codeString)) 301 return new Enumeration<RequestResourceType>(this, RequestResourceType.CONTRACT); 302 if ("DeviceRequest".equals(codeString)) 303 return new Enumeration<RequestResourceType>(this, RequestResourceType.DEVICEREQUEST); 304 if ("EnrollmentRequest".equals(codeString)) 305 return new Enumeration<RequestResourceType>(this, RequestResourceType.ENROLLMENTREQUEST); 306 if ("ImmunizationRecommendation".equals(codeString)) 307 return new Enumeration<RequestResourceType>(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION); 308 if ("MedicationRequest".equals(codeString)) 309 return new Enumeration<RequestResourceType>(this, RequestResourceType.MEDICATIONREQUEST); 310 if ("NutritionOrder".equals(codeString)) 311 return new Enumeration<RequestResourceType>(this, RequestResourceType.NUTRITIONORDER); 312 if ("ServiceRequest".equals(codeString)) 313 return new Enumeration<RequestResourceType>(this, RequestResourceType.SERVICEREQUEST); 314 if ("SupplyRequest".equals(codeString)) 315 return new Enumeration<RequestResourceType>(this, RequestResourceType.SUPPLYREQUEST); 316 if ("Task".equals(codeString)) 317 return new Enumeration<RequestResourceType>(this, RequestResourceType.TASK); 318 if ("VisionPrescription".equals(codeString)) 319 return new Enumeration<RequestResourceType>(this, RequestResourceType.VISIONPRESCRIPTION); 320 throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'"); 321 } 322 public String toCode(RequestResourceType code) { 323 if (code == RequestResourceType.APPOINTMENT) 324 return "Appointment"; 325 if (code == RequestResourceType.APPOINTMENTRESPONSE) 326 return "AppointmentResponse"; 327 if (code == RequestResourceType.CAREPLAN) 328 return "CarePlan"; 329 if (code == RequestResourceType.CLAIM) 330 return "Claim"; 331 if (code == RequestResourceType.COMMUNICATIONREQUEST) 332 return "CommunicationRequest"; 333 if (code == RequestResourceType.CONTRACT) 334 return "Contract"; 335 if (code == RequestResourceType.DEVICEREQUEST) 336 return "DeviceRequest"; 337 if (code == RequestResourceType.ENROLLMENTREQUEST) 338 return "EnrollmentRequest"; 339 if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION) 340 return "ImmunizationRecommendation"; 341 if (code == RequestResourceType.MEDICATIONREQUEST) 342 return "MedicationRequest"; 343 if (code == RequestResourceType.NUTRITIONORDER) 344 return "NutritionOrder"; 345 if (code == RequestResourceType.SERVICEREQUEST) 346 return "ServiceRequest"; 347 if (code == RequestResourceType.SUPPLYREQUEST) 348 return "SupplyRequest"; 349 if (code == RequestResourceType.TASK) 350 return "Task"; 351 if (code == RequestResourceType.VISIONPRESCRIPTION) 352 return "VisionPrescription"; 353 return "?"; 354 } 355 public String toSystem(RequestResourceType code) { 356 return code.getSystem(); 357 } 358 } 359 360 @Block() 361 public static class ActivityDefinitionParticipantComponent extends BackboneElement implements IBaseBackboneElement { 362 /** 363 * The type of participant in the action. 364 */ 365 @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 366 @Description(shortDefinition="patient | practitioner | related-person | device", formalDefinition="The type of participant in the action." ) 367 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") 368 protected Enumeration<ActionParticipantType> type; 369 370 /** 371 * The role the participant should play in performing the described action. 372 */ 373 @Child(name = "role", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 374 @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc.", formalDefinition="The role the participant should play in performing the described action." ) 375 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") 376 protected CodeableConcept role; 377 378 private static final long serialVersionUID = -1152013659L; 379 380 /** 381 * Constructor 382 */ 383 public ActivityDefinitionParticipantComponent() { 384 super(); 385 } 386 387 /** 388 * Constructor 389 */ 390 public ActivityDefinitionParticipantComponent(ActionParticipantType type) { 391 super(); 392 this.setType(type); 393 } 394 395 /** 396 * @return {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 397 */ 398 public Enumeration<ActionParticipantType> getTypeElement() { 399 if (this.type == null) 400 if (Configuration.errorOnAutoCreate()) 401 throw new Error("Attempt to auto-create ActivityDefinitionParticipantComponent.type"); 402 else if (Configuration.doAutoCreate()) 403 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); // bb 404 return this.type; 405 } 406 407 public boolean hasTypeElement() { 408 return this.type != null && !this.type.isEmpty(); 409 } 410 411 public boolean hasType() { 412 return this.type != null && !this.type.isEmpty(); 413 } 414 415 /** 416 * @param value {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 417 */ 418 public ActivityDefinitionParticipantComponent setTypeElement(Enumeration<ActionParticipantType> value) { 419 this.type = value; 420 return this; 421 } 422 423 /** 424 * @return The type of participant in the action. 425 */ 426 public ActionParticipantType getType() { 427 return this.type == null ? null : this.type.getValue(); 428 } 429 430 /** 431 * @param value The type of participant in the action. 432 */ 433 public ActivityDefinitionParticipantComponent setType(ActionParticipantType value) { 434 if (this.type == null) 435 this.type = new Enumeration<ActionParticipantType>(new ActionParticipantTypeEnumFactory()); 436 this.type.setValue(value); 437 return this; 438 } 439 440 /** 441 * @return {@link #role} (The role the participant should play in performing the described action.) 442 */ 443 public CodeableConcept getRole() { 444 if (this.role == null) 445 if (Configuration.errorOnAutoCreate()) 446 throw new Error("Attempt to auto-create ActivityDefinitionParticipantComponent.role"); 447 else if (Configuration.doAutoCreate()) 448 this.role = new CodeableConcept(); // cc 449 return this.role; 450 } 451 452 public boolean hasRole() { 453 return this.role != null && !this.role.isEmpty(); 454 } 455 456 /** 457 * @param value {@link #role} (The role the participant should play in performing the described action.) 458 */ 459 public ActivityDefinitionParticipantComponent setRole(CodeableConcept value) { 460 this.role = value; 461 return this; 462 } 463 464 protected void listChildren(List<Property> children) { 465 super.listChildren(children); 466 children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); 467 children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); 468 } 469 470 @Override 471 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 472 switch (_hash) { 473 case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); 474 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); 475 default: return super.getNamedProperty(_hash, _name, _checkValid); 476 } 477 478 } 479 480 @Override 481 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 482 switch (hash) { 483 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<ActionParticipantType> 484 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 485 default: return super.getProperty(hash, name, checkValid); 486 } 487 488 } 489 490 @Override 491 public Base setProperty(int hash, String name, Base value) throws FHIRException { 492 switch (hash) { 493 case 3575610: // type 494 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 495 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 496 return value; 497 case 3506294: // role 498 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 499 return value; 500 default: return super.setProperty(hash, name, value); 501 } 502 503 } 504 505 @Override 506 public Base setProperty(String name, Base value) throws FHIRException { 507 if (name.equals("type")) { 508 value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 509 this.type = (Enumeration) value; // Enumeration<ActionParticipantType> 510 } else if (name.equals("role")) { 511 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 512 } else 513 return super.setProperty(name, value); 514 return value; 515 } 516 517 @Override 518 public Base makeProperty(int hash, String name) throws FHIRException { 519 switch (hash) { 520 case 3575610: return getTypeElement(); 521 case 3506294: return getRole(); 522 default: return super.makeProperty(hash, name); 523 } 524 525 } 526 527 @Override 528 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 529 switch (hash) { 530 case 3575610: /*type*/ return new String[] {"code"}; 531 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 532 default: return super.getTypesForProperty(hash, name); 533 } 534 535 } 536 537 @Override 538 public Base addChild(String name) throws FHIRException { 539 if (name.equals("type")) { 540 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.participant.type"); 541 } 542 else if (name.equals("role")) { 543 this.role = new CodeableConcept(); 544 return this.role; 545 } 546 else 547 return super.addChild(name); 548 } 549 550 public ActivityDefinitionParticipantComponent copy() { 551 ActivityDefinitionParticipantComponent dst = new ActivityDefinitionParticipantComponent(); 552 copyValues(dst); 553 return dst; 554 } 555 556 public void copyValues(ActivityDefinitionParticipantComponent dst) { 557 super.copyValues(dst); 558 dst.type = type == null ? null : type.copy(); 559 dst.role = role == null ? null : role.copy(); 560 } 561 562 @Override 563 public boolean equalsDeep(Base other_) { 564 if (!super.equalsDeep(other_)) 565 return false; 566 if (!(other_ instanceof ActivityDefinitionParticipantComponent)) 567 return false; 568 ActivityDefinitionParticipantComponent o = (ActivityDefinitionParticipantComponent) other_; 569 return compareDeep(type, o.type, true) && compareDeep(role, o.role, true); 570 } 571 572 @Override 573 public boolean equalsShallow(Base other_) { 574 if (!super.equalsShallow(other_)) 575 return false; 576 if (!(other_ instanceof ActivityDefinitionParticipantComponent)) 577 return false; 578 ActivityDefinitionParticipantComponent o = (ActivityDefinitionParticipantComponent) other_; 579 return compareValues(type, o.type, true); 580 } 581 582 public boolean isEmpty() { 583 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, role); 584 } 585 586 public String fhirType() { 587 return "ActivityDefinition.participant"; 588 589 } 590 591 } 592 593 @Block() 594 public static class ActivityDefinitionDynamicValueComponent extends BackboneElement implements IBaseBackboneElement { 595 /** 596 * The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 597 */ 598 @Child(name = "path", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 599 @Description(shortDefinition="The path to the element to be set dynamically", formalDefinition="The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." ) 600 protected StringType path; 601 602 /** 603 * An expression specifying the value of the customized element. 604 */ 605 @Child(name = "expression", type = {Expression.class}, order=2, min=1, max=1, modifier=false, summary=false) 606 @Description(shortDefinition="An expression that provides the dynamic value for the customization", formalDefinition="An expression specifying the value of the customized element." ) 607 protected Expression expression; 608 609 private static final long serialVersionUID = 1064529082L; 610 611 /** 612 * Constructor 613 */ 614 public ActivityDefinitionDynamicValueComponent() { 615 super(); 616 } 617 618 /** 619 * Constructor 620 */ 621 public ActivityDefinitionDynamicValueComponent(String path, Expression expression) { 622 super(); 623 this.setPath(path); 624 this.setExpression(expression); 625 } 626 627 /** 628 * @return {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 629 */ 630 public StringType getPathElement() { 631 if (this.path == null) 632 if (Configuration.errorOnAutoCreate()) 633 throw new Error("Attempt to auto-create ActivityDefinitionDynamicValueComponent.path"); 634 else if (Configuration.doAutoCreate()) 635 this.path = new StringType(); // bb 636 return this.path; 637 } 638 639 public boolean hasPathElement() { 640 return this.path != null && !this.path.isEmpty(); 641 } 642 643 public boolean hasPath() { 644 return this.path != null && !this.path.isEmpty(); 645 } 646 647 /** 648 * @param value {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value 649 */ 650 public ActivityDefinitionDynamicValueComponent setPathElement(StringType value) { 651 this.path = value; 652 return this; 653 } 654 655 /** 656 * @return The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 657 */ 658 public String getPath() { 659 return this.path == null ? null : this.path.getValue(); 660 } 661 662 /** 663 * @param value The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). 664 */ 665 public ActivityDefinitionDynamicValueComponent setPath(String value) { 666 if (this.path == null) 667 this.path = new StringType(); 668 this.path.setValue(value); 669 return this; 670 } 671 672 /** 673 * @return {@link #expression} (An expression specifying the value of the customized element.) 674 */ 675 public Expression getExpression() { 676 if (this.expression == null) 677 if (Configuration.errorOnAutoCreate()) 678 throw new Error("Attempt to auto-create ActivityDefinitionDynamicValueComponent.expression"); 679 else if (Configuration.doAutoCreate()) 680 this.expression = new Expression(); // cc 681 return this.expression; 682 } 683 684 public boolean hasExpression() { 685 return this.expression != null && !this.expression.isEmpty(); 686 } 687 688 /** 689 * @param value {@link #expression} (An expression specifying the value of the customized element.) 690 */ 691 public ActivityDefinitionDynamicValueComponent setExpression(Expression value) { 692 this.expression = value; 693 return this; 694 } 695 696 protected void listChildren(List<Property> children) { 697 super.listChildren(children); 698 children.add(new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path)); 699 children.add(new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression)); 700 } 701 702 @Override 703 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 704 switch (_hash) { 705 case 3433509: /*path*/ return new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path); 706 case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression); 707 default: return super.getNamedProperty(_hash, _name, _checkValid); 708 } 709 710 } 711 712 @Override 713 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 714 switch (hash) { 715 case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType 716 case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression 717 default: return super.getProperty(hash, name, checkValid); 718 } 719 720 } 721 722 @Override 723 public Base setProperty(int hash, String name, Base value) throws FHIRException { 724 switch (hash) { 725 case 3433509: // path 726 this.path = TypeConvertor.castToString(value); // StringType 727 return value; 728 case -1795452264: // expression 729 this.expression = TypeConvertor.castToExpression(value); // Expression 730 return value; 731 default: return super.setProperty(hash, name, value); 732 } 733 734 } 735 736 @Override 737 public Base setProperty(String name, Base value) throws FHIRException { 738 if (name.equals("path")) { 739 this.path = TypeConvertor.castToString(value); // StringType 740 } else if (name.equals("expression")) { 741 this.expression = TypeConvertor.castToExpression(value); // Expression 742 } else 743 return super.setProperty(name, value); 744 return value; 745 } 746 747 @Override 748 public Base makeProperty(int hash, String name) throws FHIRException { 749 switch (hash) { 750 case 3433509: return getPathElement(); 751 case -1795452264: return getExpression(); 752 default: return super.makeProperty(hash, name); 753 } 754 755 } 756 757 @Override 758 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 759 switch (hash) { 760 case 3433509: /*path*/ return new String[] {"string"}; 761 case -1795452264: /*expression*/ return new String[] {"Expression"}; 762 default: return super.getTypesForProperty(hash, name); 763 } 764 765 } 766 767 @Override 768 public Base addChild(String name) throws FHIRException { 769 if (name.equals("path")) { 770 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.dynamicValue.path"); 771 } 772 else if (name.equals("expression")) { 773 this.expression = new Expression(); 774 return this.expression; 775 } 776 else 777 return super.addChild(name); 778 } 779 780 public ActivityDefinitionDynamicValueComponent copy() { 781 ActivityDefinitionDynamicValueComponent dst = new ActivityDefinitionDynamicValueComponent(); 782 copyValues(dst); 783 return dst; 784 } 785 786 public void copyValues(ActivityDefinitionDynamicValueComponent dst) { 787 super.copyValues(dst); 788 dst.path = path == null ? null : path.copy(); 789 dst.expression = expression == null ? null : expression.copy(); 790 } 791 792 @Override 793 public boolean equalsDeep(Base other_) { 794 if (!super.equalsDeep(other_)) 795 return false; 796 if (!(other_ instanceof ActivityDefinitionDynamicValueComponent)) 797 return false; 798 ActivityDefinitionDynamicValueComponent o = (ActivityDefinitionDynamicValueComponent) other_; 799 return compareDeep(path, o.path, true) && compareDeep(expression, o.expression, true); 800 } 801 802 @Override 803 public boolean equalsShallow(Base other_) { 804 if (!super.equalsShallow(other_)) 805 return false; 806 if (!(other_ instanceof ActivityDefinitionDynamicValueComponent)) 807 return false; 808 ActivityDefinitionDynamicValueComponent o = (ActivityDefinitionDynamicValueComponent) other_; 809 return compareValues(path, o.path, true); 810 } 811 812 public boolean isEmpty() { 813 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, expression); 814 } 815 816 public String fhirType() { 817 return "ActivityDefinition.dynamicValue"; 818 819 } 820 821 } 822 823 /** 824 * An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. 825 */ 826 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 827 @Description(shortDefinition="Canonical identifier for this activity definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers." ) 828 protected UriType url; 829 830 /** 831 * A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance. 832 */ 833 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 834 @Description(shortDefinition="Additional identifier for the activity definition", formalDefinition="A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 835 protected List<Identifier> identifier; 836 837 /** 838 * The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets. 839 */ 840 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 841 @Description(shortDefinition="Business version of the activity definition", formalDefinition="The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets." ) 842 protected StringType version; 843 844 /** 845 * A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 846 */ 847 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 848 @Description(shortDefinition="Name for this activity definition (computer friendly)", formalDefinition="A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 849 protected StringType name; 850 851 /** 852 * A short, descriptive, user-friendly title for the activity definition. 853 */ 854 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 855 @Description(shortDefinition="Name for this activity definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the activity definition." ) 856 protected StringType title; 857 858 /** 859 * An explanatory or alternate title for the activity definition giving additional information about its content. 860 */ 861 @Child(name = "subtitle", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 862 @Description(shortDefinition="Subordinate title of the activity definition", formalDefinition="An explanatory or alternate title for the activity definition giving additional information about its content." ) 863 protected StringType subtitle; 864 865 /** 866 * The status of this activity definition. Enables tracking the life-cycle of the content. 867 */ 868 @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) 869 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this activity definition. Enables tracking the life-cycle of the content." ) 870 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 871 protected Enumeration<PublicationStatus> status; 872 873 /** 874 * A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 875 */ 876 @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) 877 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 878 protected BooleanType experimental; 879 880 /** 881 * A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. 882 */ 883 @Child(name = "subject", type = {CodeableConcept.class, Group.class, CanonicalType.class}, order=8, min=0, max=1, modifier=false, summary=false) 884 @Description(shortDefinition="Type of individual the activity definition is intended for", formalDefinition="A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource." ) 885 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") 886 protected DataType subject; 887 888 /** 889 * The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes. 890 */ 891 @Child(name = "date", type = {DateTimeType.class}, order=9, min=0, max=1, modifier=false, summary=true) 892 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes." ) 893 protected DateTimeType date; 894 895 /** 896 * The name of the organization or individual that published the activity definition. 897 */ 898 @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) 899 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the activity definition." ) 900 protected StringType publisher; 901 902 /** 903 * Contact details to assist a user in finding and communicating with the publisher. 904 */ 905 @Child(name = "contact", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 906 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 907 protected List<ContactDetail> contact; 908 909 /** 910 * A free text natural language description of the activity definition from a consumer's perspective. 911 */ 912 @Child(name = "description", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=true) 913 @Description(shortDefinition="Natural language description of the activity definition", formalDefinition="A free text natural language description of the activity definition from a consumer's perspective." ) 914 protected MarkdownType description; 915 916 /** 917 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances. 918 */ 919 @Child(name = "useContext", type = {UsageContext.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 920 @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances." ) 921 protected List<UsageContext> useContext; 922 923 /** 924 * A legal or geographic region in which the activity definition is intended to be used. 925 */ 926 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 927 @Description(shortDefinition="Intended jurisdiction for activity definition (if applicable)", formalDefinition="A legal or geographic region in which the activity definition is intended to be used." ) 928 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 929 protected List<CodeableConcept> jurisdiction; 930 931 /** 932 * Explanation of why this activity definition is needed and why it has been designed as it has. 933 */ 934 @Child(name = "purpose", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) 935 @Description(shortDefinition="Why this activity definition is defined", formalDefinition="Explanation of why this activity definition is needed and why it has been designed as it has." ) 936 protected MarkdownType purpose; 937 938 /** 939 * A detailed description of how the activity definition is used from a clinical perspective. 940 */ 941 @Child(name = "usage", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) 942 @Description(shortDefinition="Describes the clinical usage of the activity definition", formalDefinition="A detailed description of how the activity definition is used from a clinical perspective." ) 943 protected StringType usage; 944 945 /** 946 * A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. 947 */ 948 @Child(name = "copyright", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=false) 949 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition." ) 950 protected MarkdownType copyright; 951 952 /** 953 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 954 */ 955 @Child(name = "approvalDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) 956 @Description(shortDefinition="When the activity definition was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) 957 protected DateType approvalDate; 958 959 /** 960 * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 961 */ 962 @Child(name = "lastReviewDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false) 963 @Description(shortDefinition="When the activity definition was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) 964 protected DateType lastReviewDate; 965 966 /** 967 * The period during which the activity definition content was or is planned to be in active use. 968 */ 969 @Child(name = "effectivePeriod", type = {Period.class}, order=20, min=0, max=1, modifier=false, summary=true) 970 @Description(shortDefinition="When the activity definition is expected to be used", formalDefinition="The period during which the activity definition content was or is planned to be in active use." ) 971 protected Period effectivePeriod; 972 973 /** 974 * Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching. 975 */ 976 @Child(name = "topic", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 977 @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc.", formalDefinition="Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching." ) 978 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") 979 protected List<CodeableConcept> topic; 980 981 /** 982 * An individiual or organization primarily involved in the creation and maintenance of the content. 983 */ 984 @Child(name = "author", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 985 @Description(shortDefinition="Who authored the content", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the content." ) 986 protected List<ContactDetail> author; 987 988 /** 989 * An individual or organization primarily responsible for internal coherence of the content. 990 */ 991 @Child(name = "editor", type = {ContactDetail.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 992 @Description(shortDefinition="Who edited the content", formalDefinition="An individual or organization primarily responsible for internal coherence of the content." ) 993 protected List<ContactDetail> editor; 994 995 /** 996 * An individual or organization primarily responsible for review of some aspect of the content. 997 */ 998 @Child(name = "reviewer", type = {ContactDetail.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 999 @Description(shortDefinition="Who reviewed the content", formalDefinition="An individual or organization primarily responsible for review of some aspect of the content." ) 1000 protected List<ContactDetail> reviewer; 1001 1002 /** 1003 * An individual or organization responsible for officially endorsing the content for use in some setting. 1004 */ 1005 @Child(name = "endorser", type = {ContactDetail.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1006 @Description(shortDefinition="Who endorsed the content", formalDefinition="An individual or organization responsible for officially endorsing the content for use in some setting." ) 1007 protected List<ContactDetail> endorser; 1008 1009 /** 1010 * Related artifacts such as additional documentation, justification, or bibliographic references. 1011 */ 1012 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1013 @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, or bibliographic references." ) 1014 protected List<RelatedArtifact> relatedArtifact; 1015 1016 /** 1017 * A reference to a Library resource containing any formal logic used by the activity definition. 1018 */ 1019 @Child(name = "library", type = {CanonicalType.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1020 @Description(shortDefinition="Logic used by the activity definition", formalDefinition="A reference to a Library resource containing any formal logic used by the activity definition." ) 1021 protected List<CanonicalType> library; 1022 1023 /** 1024 * A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource. 1025 */ 1026 @Child(name = "kind", type = {CodeType.class}, order=28, min=0, max=1, modifier=false, summary=true) 1027 @Description(shortDefinition="Kind of resource", formalDefinition="A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource." ) 1028 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-resource-types") 1029 protected Enumeration<RequestResourceType> kind; 1030 1031 /** 1032 * A profile to which the target of the activity definition is expected to conform. 1033 */ 1034 @Child(name = "profile", type = {CanonicalType.class}, order=29, min=0, max=1, modifier=false, summary=false) 1035 @Description(shortDefinition="What profile the resource needs to conform to", formalDefinition="A profile to which the target of the activity definition is expected to conform." ) 1036 protected CanonicalType profile; 1037 1038 /** 1039 * Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter. 1040 */ 1041 @Child(name = "code", type = {CodeableConcept.class}, order=30, min=0, max=1, modifier=false, summary=true) 1042 @Description(shortDefinition="Detail type of activity", formalDefinition="Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter." ) 1043 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") 1044 protected CodeableConcept code; 1045 1046 /** 1047 * Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. 1048 */ 1049 @Child(name = "intent", type = {CodeType.class}, order=31, min=0, max=1, modifier=false, summary=false) 1050 @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain." ) 1051 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") 1052 protected Enumeration<RequestIntent> intent; 1053 1054 /** 1055 * Indicates how quickly the activity should be addressed with respect to other requests. 1056 */ 1057 @Child(name = "priority", type = {CodeType.class}, order=32, min=0, max=1, modifier=false, summary=false) 1058 @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the activity should be addressed with respect to other requests." ) 1059 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") 1060 protected Enumeration<RequestPriority> priority; 1061 1062 /** 1063 * Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action. 1064 */ 1065 @Child(name = "doNotPerform", type = {BooleanType.class}, order=33, min=0, max=1, modifier=true, summary=true) 1066 @Description(shortDefinition="True if the activity should not be performed", formalDefinition="Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action." ) 1067 protected BooleanType doNotPerform; 1068 1069 /** 1070 * The period, timing or frequency upon which the described activity is to occur. 1071 */ 1072 @Child(name = "timing", type = {Timing.class, DateTimeType.class, Age.class, Period.class, Range.class, Duration.class}, order=34, min=0, max=1, modifier=false, summary=false) 1073 @Description(shortDefinition="When activity is to occur", formalDefinition="The period, timing or frequency upon which the described activity is to occur." ) 1074 protected DataType timing; 1075 1076 /** 1077 * Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. 1078 */ 1079 @Child(name = "location", type = {Location.class}, order=35, min=0, max=1, modifier=false, summary=false) 1080 @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc." ) 1081 protected Reference location; 1082 1083 /** 1084 * Indicates who should participate in performing the action described. 1085 */ 1086 @Child(name = "participant", type = {}, order=36, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1087 @Description(shortDefinition="Who should participate in the action", formalDefinition="Indicates who should participate in performing the action described." ) 1088 protected List<ActivityDefinitionParticipantComponent> participant; 1089 1090 /** 1091 * Identifies the food, drug or other product being consumed or supplied in the activity. 1092 */ 1093 @Child(name = "product", type = {Medication.class, Substance.class, Ingredient.class, CodeableConcept.class}, order=37, min=0, max=1, modifier=false, summary=false) 1094 @Description(shortDefinition="What's administered/supplied", formalDefinition="Identifies the food, drug or other product being consumed or supplied in the activity." ) 1095 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") 1096 protected DataType product; 1097 1098 /** 1099 * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). 1100 */ 1101 @Child(name = "quantity", type = {Quantity.class}, order=38, min=0, max=1, modifier=false, summary=false) 1102 @Description(shortDefinition="How much is administered/consumed/supplied", formalDefinition="Identifies the quantity expected to be consumed at once (per dose, per meal, etc.)." ) 1103 protected Quantity quantity; 1104 1105 /** 1106 * Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources. 1107 */ 1108 @Child(name = "dosage", type = {Dosage.class}, order=39, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1109 @Description(shortDefinition="Detailed dosage instructions", formalDefinition="Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources." ) 1110 protected List<Dosage> dosage; 1111 1112 /** 1113 * Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites). 1114 */ 1115 @Child(name = "bodySite", type = {CodeableConcept.class}, order=40, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1116 @Description(shortDefinition="What part of body to perform on", formalDefinition="Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites)." ) 1117 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") 1118 protected List<CodeableConcept> bodySite; 1119 1120 /** 1121 * Defines specimen requirements for the action to be performed, such as required specimens for a lab test. 1122 */ 1123 @Child(name = "specimenRequirement", type = {SpecimenDefinition.class}, order=41, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1124 @Description(shortDefinition="What specimens are required to perform this action", formalDefinition="Defines specimen requirements for the action to be performed, such as required specimens for a lab test." ) 1125 protected List<Reference> specimenRequirement; 1126 1127 /** 1128 * Defines observation requirements for the action to be performed, such as body weight or surface area. 1129 */ 1130 @Child(name = "observationRequirement", type = {ObservationDefinition.class}, order=42, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1131 @Description(shortDefinition="What observations are required to perform this action", formalDefinition="Defines observation requirements for the action to be performed, such as body weight or surface area." ) 1132 protected List<Reference> observationRequirement; 1133 1134 /** 1135 * Defines the observations that are expected to be produced by the action. 1136 */ 1137 @Child(name = "observationResultRequirement", type = {ObservationDefinition.class}, order=43, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1138 @Description(shortDefinition="What observations must be produced by this action", formalDefinition="Defines the observations that are expected to be produced by the action." ) 1139 protected List<Reference> observationResultRequirement; 1140 1141 /** 1142 * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 1143 */ 1144 @Child(name = "transform", type = {CanonicalType.class}, order=44, min=0, max=1, modifier=false, summary=false) 1145 @Description(shortDefinition="Transform to apply the template", formalDefinition="A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input." ) 1146 protected CanonicalType transform; 1147 1148 /** 1149 * Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result. 1150 */ 1151 @Child(name = "dynamicValue", type = {}, order=45, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1152 @Description(shortDefinition="Dynamic aspects of the definition", formalDefinition="Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result." ) 1153 protected List<ActivityDefinitionDynamicValueComponent> dynamicValue; 1154 1155 private static final long serialVersionUID = 1615489416L; 1156 1157 /** 1158 * Constructor 1159 */ 1160 public ActivityDefinition() { 1161 super(); 1162 } 1163 1164 /** 1165 * Constructor 1166 */ 1167 public ActivityDefinition(PublicationStatus status) { 1168 super(); 1169 this.setStatus(status); 1170 } 1171 1172 /** 1173 * @return {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1174 */ 1175 public UriType getUrlElement() { 1176 if (this.url == null) 1177 if (Configuration.errorOnAutoCreate()) 1178 throw new Error("Attempt to auto-create ActivityDefinition.url"); 1179 else if (Configuration.doAutoCreate()) 1180 this.url = new UriType(); // bb 1181 return this.url; 1182 } 1183 1184 public boolean hasUrlElement() { 1185 return this.url != null && !this.url.isEmpty(); 1186 } 1187 1188 public boolean hasUrl() { 1189 return this.url != null && !this.url.isEmpty(); 1190 } 1191 1192 /** 1193 * @param value {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1194 */ 1195 public ActivityDefinition setUrlElement(UriType value) { 1196 this.url = value; 1197 return this; 1198 } 1199 1200 /** 1201 * @return An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. 1202 */ 1203 public String getUrl() { 1204 return this.url == null ? null : this.url.getValue(); 1205 } 1206 1207 /** 1208 * @param value An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. 1209 */ 1210 public ActivityDefinition setUrl(String value) { 1211 if (Utilities.noString(value)) 1212 this.url = null; 1213 else { 1214 if (this.url == null) 1215 this.url = new UriType(); 1216 this.url.setValue(value); 1217 } 1218 return this; 1219 } 1220 1221 /** 1222 * @return {@link #identifier} (A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1223 */ 1224 public List<Identifier> getIdentifier() { 1225 if (this.identifier == null) 1226 this.identifier = new ArrayList<Identifier>(); 1227 return this.identifier; 1228 } 1229 1230 /** 1231 * @return Returns a reference to <code>this</code> for easy method chaining 1232 */ 1233 public ActivityDefinition setIdentifier(List<Identifier> theIdentifier) { 1234 this.identifier = theIdentifier; 1235 return this; 1236 } 1237 1238 public boolean hasIdentifier() { 1239 if (this.identifier == null) 1240 return false; 1241 for (Identifier item : this.identifier) 1242 if (!item.isEmpty()) 1243 return true; 1244 return false; 1245 } 1246 1247 public Identifier addIdentifier() { //3 1248 Identifier t = new Identifier(); 1249 if (this.identifier == null) 1250 this.identifier = new ArrayList<Identifier>(); 1251 this.identifier.add(t); 1252 return t; 1253 } 1254 1255 public ActivityDefinition addIdentifier(Identifier t) { //3 1256 if (t == null) 1257 return this; 1258 if (this.identifier == null) 1259 this.identifier = new ArrayList<Identifier>(); 1260 this.identifier.add(t); 1261 return this; 1262 } 1263 1264 /** 1265 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1266 */ 1267 public Identifier getIdentifierFirstRep() { 1268 if (getIdentifier().isEmpty()) { 1269 addIdentifier(); 1270 } 1271 return getIdentifier().get(0); 1272 } 1273 1274 /** 1275 * @return {@link #version} (The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1276 */ 1277 public StringType getVersionElement() { 1278 if (this.version == null) 1279 if (Configuration.errorOnAutoCreate()) 1280 throw new Error("Attempt to auto-create ActivityDefinition.version"); 1281 else if (Configuration.doAutoCreate()) 1282 this.version = new StringType(); // bb 1283 return this.version; 1284 } 1285 1286 public boolean hasVersionElement() { 1287 return this.version != null && !this.version.isEmpty(); 1288 } 1289 1290 public boolean hasVersion() { 1291 return this.version != null && !this.version.isEmpty(); 1292 } 1293 1294 /** 1295 * @param value {@link #version} (The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1296 */ 1297 public ActivityDefinition setVersionElement(StringType value) { 1298 this.version = value; 1299 return this; 1300 } 1301 1302 /** 1303 * @return The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets. 1304 */ 1305 public String getVersion() { 1306 return this.version == null ? null : this.version.getValue(); 1307 } 1308 1309 /** 1310 * @param value The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets. 1311 */ 1312 public ActivityDefinition setVersion(String value) { 1313 if (Utilities.noString(value)) 1314 this.version = null; 1315 else { 1316 if (this.version == null) 1317 this.version = new StringType(); 1318 this.version.setValue(value); 1319 } 1320 return this; 1321 } 1322 1323 /** 1324 * @return {@link #name} (A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1325 */ 1326 public StringType getNameElement() { 1327 if (this.name == null) 1328 if (Configuration.errorOnAutoCreate()) 1329 throw new Error("Attempt to auto-create ActivityDefinition.name"); 1330 else if (Configuration.doAutoCreate()) 1331 this.name = new StringType(); // bb 1332 return this.name; 1333 } 1334 1335 public boolean hasNameElement() { 1336 return this.name != null && !this.name.isEmpty(); 1337 } 1338 1339 public boolean hasName() { 1340 return this.name != null && !this.name.isEmpty(); 1341 } 1342 1343 /** 1344 * @param value {@link #name} (A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1345 */ 1346 public ActivityDefinition setNameElement(StringType value) { 1347 this.name = value; 1348 return this; 1349 } 1350 1351 /** 1352 * @return A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1353 */ 1354 public String getName() { 1355 return this.name == null ? null : this.name.getValue(); 1356 } 1357 1358 /** 1359 * @param value A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. 1360 */ 1361 public ActivityDefinition setName(String value) { 1362 if (Utilities.noString(value)) 1363 this.name = null; 1364 else { 1365 if (this.name == null) 1366 this.name = new StringType(); 1367 this.name.setValue(value); 1368 } 1369 return this; 1370 } 1371 1372 /** 1373 * @return {@link #title} (A short, descriptive, user-friendly title for the activity definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1374 */ 1375 public StringType getTitleElement() { 1376 if (this.title == null) 1377 if (Configuration.errorOnAutoCreate()) 1378 throw new Error("Attempt to auto-create ActivityDefinition.title"); 1379 else if (Configuration.doAutoCreate()) 1380 this.title = new StringType(); // bb 1381 return this.title; 1382 } 1383 1384 public boolean hasTitleElement() { 1385 return this.title != null && !this.title.isEmpty(); 1386 } 1387 1388 public boolean hasTitle() { 1389 return this.title != null && !this.title.isEmpty(); 1390 } 1391 1392 /** 1393 * @param value {@link #title} (A short, descriptive, user-friendly title for the activity definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1394 */ 1395 public ActivityDefinition setTitleElement(StringType value) { 1396 this.title = value; 1397 return this; 1398 } 1399 1400 /** 1401 * @return A short, descriptive, user-friendly title for the activity definition. 1402 */ 1403 public String getTitle() { 1404 return this.title == null ? null : this.title.getValue(); 1405 } 1406 1407 /** 1408 * @param value A short, descriptive, user-friendly title for the activity definition. 1409 */ 1410 public ActivityDefinition setTitle(String value) { 1411 if (Utilities.noString(value)) 1412 this.title = null; 1413 else { 1414 if (this.title == null) 1415 this.title = new StringType(); 1416 this.title.setValue(value); 1417 } 1418 return this; 1419 } 1420 1421 /** 1422 * @return {@link #subtitle} (An explanatory or alternate title for the activity definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1423 */ 1424 public StringType getSubtitleElement() { 1425 if (this.subtitle == null) 1426 if (Configuration.errorOnAutoCreate()) 1427 throw new Error("Attempt to auto-create ActivityDefinition.subtitle"); 1428 else if (Configuration.doAutoCreate()) 1429 this.subtitle = new StringType(); // bb 1430 return this.subtitle; 1431 } 1432 1433 public boolean hasSubtitleElement() { 1434 return this.subtitle != null && !this.subtitle.isEmpty(); 1435 } 1436 1437 public boolean hasSubtitle() { 1438 return this.subtitle != null && !this.subtitle.isEmpty(); 1439 } 1440 1441 /** 1442 * @param value {@link #subtitle} (An explanatory or alternate title for the activity definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 1443 */ 1444 public ActivityDefinition setSubtitleElement(StringType value) { 1445 this.subtitle = value; 1446 return this; 1447 } 1448 1449 /** 1450 * @return An explanatory or alternate title for the activity definition giving additional information about its content. 1451 */ 1452 public String getSubtitle() { 1453 return this.subtitle == null ? null : this.subtitle.getValue(); 1454 } 1455 1456 /** 1457 * @param value An explanatory or alternate title for the activity definition giving additional information about its content. 1458 */ 1459 public ActivityDefinition setSubtitle(String value) { 1460 if (Utilities.noString(value)) 1461 this.subtitle = null; 1462 else { 1463 if (this.subtitle == null) 1464 this.subtitle = new StringType(); 1465 this.subtitle.setValue(value); 1466 } 1467 return this; 1468 } 1469 1470 /** 1471 * @return {@link #status} (The status of this activity definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1472 */ 1473 public Enumeration<PublicationStatus> getStatusElement() { 1474 if (this.status == null) 1475 if (Configuration.errorOnAutoCreate()) 1476 throw new Error("Attempt to auto-create ActivityDefinition.status"); 1477 else if (Configuration.doAutoCreate()) 1478 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1479 return this.status; 1480 } 1481 1482 public boolean hasStatusElement() { 1483 return this.status != null && !this.status.isEmpty(); 1484 } 1485 1486 public boolean hasStatus() { 1487 return this.status != null && !this.status.isEmpty(); 1488 } 1489 1490 /** 1491 * @param value {@link #status} (The status of this activity definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1492 */ 1493 public ActivityDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1494 this.status = value; 1495 return this; 1496 } 1497 1498 /** 1499 * @return The status of this activity definition. Enables tracking the life-cycle of the content. 1500 */ 1501 public PublicationStatus getStatus() { 1502 return this.status == null ? null : this.status.getValue(); 1503 } 1504 1505 /** 1506 * @param value The status of this activity definition. Enables tracking the life-cycle of the content. 1507 */ 1508 public ActivityDefinition setStatus(PublicationStatus value) { 1509 if (this.status == null) 1510 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1511 this.status.setValue(value); 1512 return this; 1513 } 1514 1515 /** 1516 * @return {@link #experimental} (A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 1517 */ 1518 public BooleanType getExperimentalElement() { 1519 if (this.experimental == null) 1520 if (Configuration.errorOnAutoCreate()) 1521 throw new Error("Attempt to auto-create ActivityDefinition.experimental"); 1522 else if (Configuration.doAutoCreate()) 1523 this.experimental = new BooleanType(); // bb 1524 return this.experimental; 1525 } 1526 1527 public boolean hasExperimentalElement() { 1528 return this.experimental != null && !this.experimental.isEmpty(); 1529 } 1530 1531 public boolean hasExperimental() { 1532 return this.experimental != null && !this.experimental.isEmpty(); 1533 } 1534 1535 /** 1536 * @param value {@link #experimental} (A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 1537 */ 1538 public ActivityDefinition setExperimentalElement(BooleanType value) { 1539 this.experimental = value; 1540 return this; 1541 } 1542 1543 /** 1544 * @return A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 1545 */ 1546 public boolean getExperimental() { 1547 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 1548 } 1549 1550 /** 1551 * @param value A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 1552 */ 1553 public ActivityDefinition setExperimental(boolean value) { 1554 if (this.experimental == null) 1555 this.experimental = new BooleanType(); 1556 this.experimental.setValue(value); 1557 return this; 1558 } 1559 1560 /** 1561 * @return {@link #subject} (A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.) 1562 */ 1563 public DataType getSubject() { 1564 return this.subject; 1565 } 1566 1567 /** 1568 * @return {@link #subject} (A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.) 1569 */ 1570 public CodeableConcept getSubjectCodeableConcept() throws FHIRException { 1571 if (this.subject == null) 1572 this.subject = new CodeableConcept(); 1573 if (!(this.subject instanceof CodeableConcept)) 1574 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.subject.getClass().getName()+" was encountered"); 1575 return (CodeableConcept) this.subject; 1576 } 1577 1578 public boolean hasSubjectCodeableConcept() { 1579 return this != null && this.subject instanceof CodeableConcept; 1580 } 1581 1582 /** 1583 * @return {@link #subject} (A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.) 1584 */ 1585 public Reference getSubjectReference() throws FHIRException { 1586 if (this.subject == null) 1587 this.subject = new Reference(); 1588 if (!(this.subject instanceof Reference)) 1589 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.subject.getClass().getName()+" was encountered"); 1590 return (Reference) this.subject; 1591 } 1592 1593 public boolean hasSubjectReference() { 1594 return this != null && this.subject instanceof Reference; 1595 } 1596 1597 /** 1598 * @return {@link #subject} (A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.) 1599 */ 1600 public CanonicalType getSubjectCanonicalType() throws FHIRException { 1601 if (this.subject == null) 1602 this.subject = new CanonicalType(); 1603 if (!(this.subject instanceof CanonicalType)) 1604 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.subject.getClass().getName()+" was encountered"); 1605 return (CanonicalType) this.subject; 1606 } 1607 1608 public boolean hasSubjectCanonicalType() { 1609 return this != null && this.subject instanceof CanonicalType; 1610 } 1611 1612 public boolean hasSubject() { 1613 return this.subject != null && !this.subject.isEmpty(); 1614 } 1615 1616 /** 1617 * @param value {@link #subject} (A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.) 1618 */ 1619 public ActivityDefinition setSubject(DataType value) { 1620 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference || value instanceof CanonicalType)) 1621 throw new Error("Not the right type for ActivityDefinition.subject[x]: "+value.fhirType()); 1622 this.subject = value; 1623 return this; 1624 } 1625 1626 /** 1627 * @return {@link #date} (The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1628 */ 1629 public DateTimeType getDateElement() { 1630 if (this.date == null) 1631 if (Configuration.errorOnAutoCreate()) 1632 throw new Error("Attempt to auto-create ActivityDefinition.date"); 1633 else if (Configuration.doAutoCreate()) 1634 this.date = new DateTimeType(); // bb 1635 return this.date; 1636 } 1637 1638 public boolean hasDateElement() { 1639 return this.date != null && !this.date.isEmpty(); 1640 } 1641 1642 public boolean hasDate() { 1643 return this.date != null && !this.date.isEmpty(); 1644 } 1645 1646 /** 1647 * @param value {@link #date} (The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1648 */ 1649 public ActivityDefinition setDateElement(DateTimeType value) { 1650 this.date = value; 1651 return this; 1652 } 1653 1654 /** 1655 * @return The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes. 1656 */ 1657 public Date getDate() { 1658 return this.date == null ? null : this.date.getValue(); 1659 } 1660 1661 /** 1662 * @param value The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes. 1663 */ 1664 public ActivityDefinition setDate(Date value) { 1665 if (value == null) 1666 this.date = null; 1667 else { 1668 if (this.date == null) 1669 this.date = new DateTimeType(); 1670 this.date.setValue(value); 1671 } 1672 return this; 1673 } 1674 1675 /** 1676 * @return {@link #publisher} (The name of the organization or individual that published the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1677 */ 1678 public StringType getPublisherElement() { 1679 if (this.publisher == null) 1680 if (Configuration.errorOnAutoCreate()) 1681 throw new Error("Attempt to auto-create ActivityDefinition.publisher"); 1682 else if (Configuration.doAutoCreate()) 1683 this.publisher = new StringType(); // bb 1684 return this.publisher; 1685 } 1686 1687 public boolean hasPublisherElement() { 1688 return this.publisher != null && !this.publisher.isEmpty(); 1689 } 1690 1691 public boolean hasPublisher() { 1692 return this.publisher != null && !this.publisher.isEmpty(); 1693 } 1694 1695 /** 1696 * @param value {@link #publisher} (The name of the organization or individual that published the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1697 */ 1698 public ActivityDefinition setPublisherElement(StringType value) { 1699 this.publisher = value; 1700 return this; 1701 } 1702 1703 /** 1704 * @return The name of the organization or individual that published the activity definition. 1705 */ 1706 public String getPublisher() { 1707 return this.publisher == null ? null : this.publisher.getValue(); 1708 } 1709 1710 /** 1711 * @param value The name of the organization or individual that published the activity definition. 1712 */ 1713 public ActivityDefinition setPublisher(String value) { 1714 if (Utilities.noString(value)) 1715 this.publisher = null; 1716 else { 1717 if (this.publisher == null) 1718 this.publisher = new StringType(); 1719 this.publisher.setValue(value); 1720 } 1721 return this; 1722 } 1723 1724 /** 1725 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 1726 */ 1727 public List<ContactDetail> getContact() { 1728 if (this.contact == null) 1729 this.contact = new ArrayList<ContactDetail>(); 1730 return this.contact; 1731 } 1732 1733 /** 1734 * @return Returns a reference to <code>this</code> for easy method chaining 1735 */ 1736 public ActivityDefinition setContact(List<ContactDetail> theContact) { 1737 this.contact = theContact; 1738 return this; 1739 } 1740 1741 public boolean hasContact() { 1742 if (this.contact == null) 1743 return false; 1744 for (ContactDetail item : this.contact) 1745 if (!item.isEmpty()) 1746 return true; 1747 return false; 1748 } 1749 1750 public ContactDetail addContact() { //3 1751 ContactDetail t = new ContactDetail(); 1752 if (this.contact == null) 1753 this.contact = new ArrayList<ContactDetail>(); 1754 this.contact.add(t); 1755 return t; 1756 } 1757 1758 public ActivityDefinition addContact(ContactDetail t) { //3 1759 if (t == null) 1760 return this; 1761 if (this.contact == null) 1762 this.contact = new ArrayList<ContactDetail>(); 1763 this.contact.add(t); 1764 return this; 1765 } 1766 1767 /** 1768 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 1769 */ 1770 public ContactDetail getContactFirstRep() { 1771 if (getContact().isEmpty()) { 1772 addContact(); 1773 } 1774 return getContact().get(0); 1775 } 1776 1777 /** 1778 * @return {@link #description} (A free text natural language description of the activity definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1779 */ 1780 public MarkdownType getDescriptionElement() { 1781 if (this.description == null) 1782 if (Configuration.errorOnAutoCreate()) 1783 throw new Error("Attempt to auto-create ActivityDefinition.description"); 1784 else if (Configuration.doAutoCreate()) 1785 this.description = new MarkdownType(); // bb 1786 return this.description; 1787 } 1788 1789 public boolean hasDescriptionElement() { 1790 return this.description != null && !this.description.isEmpty(); 1791 } 1792 1793 public boolean hasDescription() { 1794 return this.description != null && !this.description.isEmpty(); 1795 } 1796 1797 /** 1798 * @param value {@link #description} (A free text natural language description of the activity definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1799 */ 1800 public ActivityDefinition setDescriptionElement(MarkdownType value) { 1801 this.description = value; 1802 return this; 1803 } 1804 1805 /** 1806 * @return A free text natural language description of the activity definition from a consumer's perspective. 1807 */ 1808 public String getDescription() { 1809 return this.description == null ? null : this.description.getValue(); 1810 } 1811 1812 /** 1813 * @param value A free text natural language description of the activity definition from a consumer's perspective. 1814 */ 1815 public ActivityDefinition setDescription(String value) { 1816 if (value == null) 1817 this.description = null; 1818 else { 1819 if (this.description == null) 1820 this.description = new MarkdownType(); 1821 this.description.setValue(value); 1822 } 1823 return this; 1824 } 1825 1826 /** 1827 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.) 1828 */ 1829 public List<UsageContext> getUseContext() { 1830 if (this.useContext == null) 1831 this.useContext = new ArrayList<UsageContext>(); 1832 return this.useContext; 1833 } 1834 1835 /** 1836 * @return Returns a reference to <code>this</code> for easy method chaining 1837 */ 1838 public ActivityDefinition setUseContext(List<UsageContext> theUseContext) { 1839 this.useContext = theUseContext; 1840 return this; 1841 } 1842 1843 public boolean hasUseContext() { 1844 if (this.useContext == null) 1845 return false; 1846 for (UsageContext item : this.useContext) 1847 if (!item.isEmpty()) 1848 return true; 1849 return false; 1850 } 1851 1852 public UsageContext addUseContext() { //3 1853 UsageContext t = new UsageContext(); 1854 if (this.useContext == null) 1855 this.useContext = new ArrayList<UsageContext>(); 1856 this.useContext.add(t); 1857 return t; 1858 } 1859 1860 public ActivityDefinition addUseContext(UsageContext t) { //3 1861 if (t == null) 1862 return this; 1863 if (this.useContext == null) 1864 this.useContext = new ArrayList<UsageContext>(); 1865 this.useContext.add(t); 1866 return this; 1867 } 1868 1869 /** 1870 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 1871 */ 1872 public UsageContext getUseContextFirstRep() { 1873 if (getUseContext().isEmpty()) { 1874 addUseContext(); 1875 } 1876 return getUseContext().get(0); 1877 } 1878 1879 /** 1880 * @return {@link #jurisdiction} (A legal or geographic region in which the activity definition is intended to be used.) 1881 */ 1882 public List<CodeableConcept> getJurisdiction() { 1883 if (this.jurisdiction == null) 1884 this.jurisdiction = new ArrayList<CodeableConcept>(); 1885 return this.jurisdiction; 1886 } 1887 1888 /** 1889 * @return Returns a reference to <code>this</code> for easy method chaining 1890 */ 1891 public ActivityDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 1892 this.jurisdiction = theJurisdiction; 1893 return this; 1894 } 1895 1896 public boolean hasJurisdiction() { 1897 if (this.jurisdiction == null) 1898 return false; 1899 for (CodeableConcept item : this.jurisdiction) 1900 if (!item.isEmpty()) 1901 return true; 1902 return false; 1903 } 1904 1905 public CodeableConcept addJurisdiction() { //3 1906 CodeableConcept t = new CodeableConcept(); 1907 if (this.jurisdiction == null) 1908 this.jurisdiction = new ArrayList<CodeableConcept>(); 1909 this.jurisdiction.add(t); 1910 return t; 1911 } 1912 1913 public ActivityDefinition addJurisdiction(CodeableConcept t) { //3 1914 if (t == null) 1915 return this; 1916 if (this.jurisdiction == null) 1917 this.jurisdiction = new ArrayList<CodeableConcept>(); 1918 this.jurisdiction.add(t); 1919 return this; 1920 } 1921 1922 /** 1923 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 1924 */ 1925 public CodeableConcept getJurisdictionFirstRep() { 1926 if (getJurisdiction().isEmpty()) { 1927 addJurisdiction(); 1928 } 1929 return getJurisdiction().get(0); 1930 } 1931 1932 /** 1933 * @return {@link #purpose} (Explanation of why this activity definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1934 */ 1935 public MarkdownType getPurposeElement() { 1936 if (this.purpose == null) 1937 if (Configuration.errorOnAutoCreate()) 1938 throw new Error("Attempt to auto-create ActivityDefinition.purpose"); 1939 else if (Configuration.doAutoCreate()) 1940 this.purpose = new MarkdownType(); // bb 1941 return this.purpose; 1942 } 1943 1944 public boolean hasPurposeElement() { 1945 return this.purpose != null && !this.purpose.isEmpty(); 1946 } 1947 1948 public boolean hasPurpose() { 1949 return this.purpose != null && !this.purpose.isEmpty(); 1950 } 1951 1952 /** 1953 * @param value {@link #purpose} (Explanation of why this activity definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1954 */ 1955 public ActivityDefinition setPurposeElement(MarkdownType value) { 1956 this.purpose = value; 1957 return this; 1958 } 1959 1960 /** 1961 * @return Explanation of why this activity definition is needed and why it has been designed as it has. 1962 */ 1963 public String getPurpose() { 1964 return this.purpose == null ? null : this.purpose.getValue(); 1965 } 1966 1967 /** 1968 * @param value Explanation of why this activity definition is needed and why it has been designed as it has. 1969 */ 1970 public ActivityDefinition setPurpose(String value) { 1971 if (value == null) 1972 this.purpose = null; 1973 else { 1974 if (this.purpose == null) 1975 this.purpose = new MarkdownType(); 1976 this.purpose.setValue(value); 1977 } 1978 return this; 1979 } 1980 1981 /** 1982 * @return {@link #usage} (A detailed description of how the activity definition is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 1983 */ 1984 public StringType getUsageElement() { 1985 if (this.usage == null) 1986 if (Configuration.errorOnAutoCreate()) 1987 throw new Error("Attempt to auto-create ActivityDefinition.usage"); 1988 else if (Configuration.doAutoCreate()) 1989 this.usage = new StringType(); // bb 1990 return this.usage; 1991 } 1992 1993 public boolean hasUsageElement() { 1994 return this.usage != null && !this.usage.isEmpty(); 1995 } 1996 1997 public boolean hasUsage() { 1998 return this.usage != null && !this.usage.isEmpty(); 1999 } 2000 2001 /** 2002 * @param value {@link #usage} (A detailed description of how the activity definition is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 2003 */ 2004 public ActivityDefinition setUsageElement(StringType value) { 2005 this.usage = value; 2006 return this; 2007 } 2008 2009 /** 2010 * @return A detailed description of how the activity definition is used from a clinical perspective. 2011 */ 2012 public String getUsage() { 2013 return this.usage == null ? null : this.usage.getValue(); 2014 } 2015 2016 /** 2017 * @param value A detailed description of how the activity definition is used from a clinical perspective. 2018 */ 2019 public ActivityDefinition setUsage(String value) { 2020 if (Utilities.noString(value)) 2021 this.usage = null; 2022 else { 2023 if (this.usage == null) 2024 this.usage = new StringType(); 2025 this.usage.setValue(value); 2026 } 2027 return this; 2028 } 2029 2030 /** 2031 * @return {@link #copyright} (A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2032 */ 2033 public MarkdownType getCopyrightElement() { 2034 if (this.copyright == null) 2035 if (Configuration.errorOnAutoCreate()) 2036 throw new Error("Attempt to auto-create ActivityDefinition.copyright"); 2037 else if (Configuration.doAutoCreate()) 2038 this.copyright = new MarkdownType(); // bb 2039 return this.copyright; 2040 } 2041 2042 public boolean hasCopyrightElement() { 2043 return this.copyright != null && !this.copyright.isEmpty(); 2044 } 2045 2046 public boolean hasCopyright() { 2047 return this.copyright != null && !this.copyright.isEmpty(); 2048 } 2049 2050 /** 2051 * @param value {@link #copyright} (A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 2052 */ 2053 public ActivityDefinition setCopyrightElement(MarkdownType value) { 2054 this.copyright = value; 2055 return this; 2056 } 2057 2058 /** 2059 * @return A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. 2060 */ 2061 public String getCopyright() { 2062 return this.copyright == null ? null : this.copyright.getValue(); 2063 } 2064 2065 /** 2066 * @param value A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition. 2067 */ 2068 public ActivityDefinition setCopyright(String value) { 2069 if (value == null) 2070 this.copyright = null; 2071 else { 2072 if (this.copyright == null) 2073 this.copyright = new MarkdownType(); 2074 this.copyright.setValue(value); 2075 } 2076 return this; 2077 } 2078 2079 /** 2080 * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 2081 */ 2082 public DateType getApprovalDateElement() { 2083 if (this.approvalDate == null) 2084 if (Configuration.errorOnAutoCreate()) 2085 throw new Error("Attempt to auto-create ActivityDefinition.approvalDate"); 2086 else if (Configuration.doAutoCreate()) 2087 this.approvalDate = new DateType(); // bb 2088 return this.approvalDate; 2089 } 2090 2091 public boolean hasApprovalDateElement() { 2092 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2093 } 2094 2095 public boolean hasApprovalDate() { 2096 return this.approvalDate != null && !this.approvalDate.isEmpty(); 2097 } 2098 2099 /** 2100 * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 2101 */ 2102 public ActivityDefinition setApprovalDateElement(DateType value) { 2103 this.approvalDate = value; 2104 return this; 2105 } 2106 2107 /** 2108 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2109 */ 2110 public Date getApprovalDate() { 2111 return this.approvalDate == null ? null : this.approvalDate.getValue(); 2112 } 2113 2114 /** 2115 * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 2116 */ 2117 public ActivityDefinition setApprovalDate(Date value) { 2118 if (value == null) 2119 this.approvalDate = null; 2120 else { 2121 if (this.approvalDate == null) 2122 this.approvalDate = new DateType(); 2123 this.approvalDate.setValue(value); 2124 } 2125 return this; 2126 } 2127 2128 /** 2129 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2130 */ 2131 public DateType getLastReviewDateElement() { 2132 if (this.lastReviewDate == null) 2133 if (Configuration.errorOnAutoCreate()) 2134 throw new Error("Attempt to auto-create ActivityDefinition.lastReviewDate"); 2135 else if (Configuration.doAutoCreate()) 2136 this.lastReviewDate = new DateType(); // bb 2137 return this.lastReviewDate; 2138 } 2139 2140 public boolean hasLastReviewDateElement() { 2141 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2142 } 2143 2144 public boolean hasLastReviewDate() { 2145 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 2146 } 2147 2148 /** 2149 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 2150 */ 2151 public ActivityDefinition setLastReviewDateElement(DateType value) { 2152 this.lastReviewDate = value; 2153 return this; 2154 } 2155 2156 /** 2157 * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 2158 */ 2159 public Date getLastReviewDate() { 2160 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 2161 } 2162 2163 /** 2164 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 2165 */ 2166 public ActivityDefinition setLastReviewDate(Date value) { 2167 if (value == null) 2168 this.lastReviewDate = null; 2169 else { 2170 if (this.lastReviewDate == null) 2171 this.lastReviewDate = new DateType(); 2172 this.lastReviewDate.setValue(value); 2173 } 2174 return this; 2175 } 2176 2177 /** 2178 * @return {@link #effectivePeriod} (The period during which the activity definition content was or is planned to be in active use.) 2179 */ 2180 public Period getEffectivePeriod() { 2181 if (this.effectivePeriod == null) 2182 if (Configuration.errorOnAutoCreate()) 2183 throw new Error("Attempt to auto-create ActivityDefinition.effectivePeriod"); 2184 else if (Configuration.doAutoCreate()) 2185 this.effectivePeriod = new Period(); // cc 2186 return this.effectivePeriod; 2187 } 2188 2189 public boolean hasEffectivePeriod() { 2190 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 2191 } 2192 2193 /** 2194 * @param value {@link #effectivePeriod} (The period during which the activity definition content was or is planned to be in active use.) 2195 */ 2196 public ActivityDefinition setEffectivePeriod(Period value) { 2197 this.effectivePeriod = value; 2198 return this; 2199 } 2200 2201 /** 2202 * @return {@link #topic} (Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching.) 2203 */ 2204 public List<CodeableConcept> getTopic() { 2205 if (this.topic == null) 2206 this.topic = new ArrayList<CodeableConcept>(); 2207 return this.topic; 2208 } 2209 2210 /** 2211 * @return Returns a reference to <code>this</code> for easy method chaining 2212 */ 2213 public ActivityDefinition setTopic(List<CodeableConcept> theTopic) { 2214 this.topic = theTopic; 2215 return this; 2216 } 2217 2218 public boolean hasTopic() { 2219 if (this.topic == null) 2220 return false; 2221 for (CodeableConcept item : this.topic) 2222 if (!item.isEmpty()) 2223 return true; 2224 return false; 2225 } 2226 2227 public CodeableConcept addTopic() { //3 2228 CodeableConcept t = new CodeableConcept(); 2229 if (this.topic == null) 2230 this.topic = new ArrayList<CodeableConcept>(); 2231 this.topic.add(t); 2232 return t; 2233 } 2234 2235 public ActivityDefinition addTopic(CodeableConcept t) { //3 2236 if (t == null) 2237 return this; 2238 if (this.topic == null) 2239 this.topic = new ArrayList<CodeableConcept>(); 2240 this.topic.add(t); 2241 return this; 2242 } 2243 2244 /** 2245 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} 2246 */ 2247 public CodeableConcept getTopicFirstRep() { 2248 if (getTopic().isEmpty()) { 2249 addTopic(); 2250 } 2251 return getTopic().get(0); 2252 } 2253 2254 /** 2255 * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the content.) 2256 */ 2257 public List<ContactDetail> getAuthor() { 2258 if (this.author == null) 2259 this.author = new ArrayList<ContactDetail>(); 2260 return this.author; 2261 } 2262 2263 /** 2264 * @return Returns a reference to <code>this</code> for easy method chaining 2265 */ 2266 public ActivityDefinition setAuthor(List<ContactDetail> theAuthor) { 2267 this.author = theAuthor; 2268 return this; 2269 } 2270 2271 public boolean hasAuthor() { 2272 if (this.author == null) 2273 return false; 2274 for (ContactDetail item : this.author) 2275 if (!item.isEmpty()) 2276 return true; 2277 return false; 2278 } 2279 2280 public ContactDetail addAuthor() { //3 2281 ContactDetail t = new ContactDetail(); 2282 if (this.author == null) 2283 this.author = new ArrayList<ContactDetail>(); 2284 this.author.add(t); 2285 return t; 2286 } 2287 2288 public ActivityDefinition addAuthor(ContactDetail t) { //3 2289 if (t == null) 2290 return this; 2291 if (this.author == null) 2292 this.author = new ArrayList<ContactDetail>(); 2293 this.author.add(t); 2294 return this; 2295 } 2296 2297 /** 2298 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} 2299 */ 2300 public ContactDetail getAuthorFirstRep() { 2301 if (getAuthor().isEmpty()) { 2302 addAuthor(); 2303 } 2304 return getAuthor().get(0); 2305 } 2306 2307 /** 2308 * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the content.) 2309 */ 2310 public List<ContactDetail> getEditor() { 2311 if (this.editor == null) 2312 this.editor = new ArrayList<ContactDetail>(); 2313 return this.editor; 2314 } 2315 2316 /** 2317 * @return Returns a reference to <code>this</code> for easy method chaining 2318 */ 2319 public ActivityDefinition setEditor(List<ContactDetail> theEditor) { 2320 this.editor = theEditor; 2321 return this; 2322 } 2323 2324 public boolean hasEditor() { 2325 if (this.editor == null) 2326 return false; 2327 for (ContactDetail item : this.editor) 2328 if (!item.isEmpty()) 2329 return true; 2330 return false; 2331 } 2332 2333 public ContactDetail addEditor() { //3 2334 ContactDetail t = new ContactDetail(); 2335 if (this.editor == null) 2336 this.editor = new ArrayList<ContactDetail>(); 2337 this.editor.add(t); 2338 return t; 2339 } 2340 2341 public ActivityDefinition addEditor(ContactDetail t) { //3 2342 if (t == null) 2343 return this; 2344 if (this.editor == null) 2345 this.editor = new ArrayList<ContactDetail>(); 2346 this.editor.add(t); 2347 return this; 2348 } 2349 2350 /** 2351 * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} 2352 */ 2353 public ContactDetail getEditorFirstRep() { 2354 if (getEditor().isEmpty()) { 2355 addEditor(); 2356 } 2357 return getEditor().get(0); 2358 } 2359 2360 /** 2361 * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the content.) 2362 */ 2363 public List<ContactDetail> getReviewer() { 2364 if (this.reviewer == null) 2365 this.reviewer = new ArrayList<ContactDetail>(); 2366 return this.reviewer; 2367 } 2368 2369 /** 2370 * @return Returns a reference to <code>this</code> for easy method chaining 2371 */ 2372 public ActivityDefinition setReviewer(List<ContactDetail> theReviewer) { 2373 this.reviewer = theReviewer; 2374 return this; 2375 } 2376 2377 public boolean hasReviewer() { 2378 if (this.reviewer == null) 2379 return false; 2380 for (ContactDetail item : this.reviewer) 2381 if (!item.isEmpty()) 2382 return true; 2383 return false; 2384 } 2385 2386 public ContactDetail addReviewer() { //3 2387 ContactDetail t = new ContactDetail(); 2388 if (this.reviewer == null) 2389 this.reviewer = new ArrayList<ContactDetail>(); 2390 this.reviewer.add(t); 2391 return t; 2392 } 2393 2394 public ActivityDefinition addReviewer(ContactDetail t) { //3 2395 if (t == null) 2396 return this; 2397 if (this.reviewer == null) 2398 this.reviewer = new ArrayList<ContactDetail>(); 2399 this.reviewer.add(t); 2400 return this; 2401 } 2402 2403 /** 2404 * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} 2405 */ 2406 public ContactDetail getReviewerFirstRep() { 2407 if (getReviewer().isEmpty()) { 2408 addReviewer(); 2409 } 2410 return getReviewer().get(0); 2411 } 2412 2413 /** 2414 * @return {@link #endorser} (An individual or organization responsible for officially endorsing the content for use in some setting.) 2415 */ 2416 public List<ContactDetail> getEndorser() { 2417 if (this.endorser == null) 2418 this.endorser = new ArrayList<ContactDetail>(); 2419 return this.endorser; 2420 } 2421 2422 /** 2423 * @return Returns a reference to <code>this</code> for easy method chaining 2424 */ 2425 public ActivityDefinition setEndorser(List<ContactDetail> theEndorser) { 2426 this.endorser = theEndorser; 2427 return this; 2428 } 2429 2430 public boolean hasEndorser() { 2431 if (this.endorser == null) 2432 return false; 2433 for (ContactDetail item : this.endorser) 2434 if (!item.isEmpty()) 2435 return true; 2436 return false; 2437 } 2438 2439 public ContactDetail addEndorser() { //3 2440 ContactDetail t = new ContactDetail(); 2441 if (this.endorser == null) 2442 this.endorser = new ArrayList<ContactDetail>(); 2443 this.endorser.add(t); 2444 return t; 2445 } 2446 2447 public ActivityDefinition addEndorser(ContactDetail t) { //3 2448 if (t == null) 2449 return this; 2450 if (this.endorser == null) 2451 this.endorser = new ArrayList<ContactDetail>(); 2452 this.endorser.add(t); 2453 return this; 2454 } 2455 2456 /** 2457 * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} 2458 */ 2459 public ContactDetail getEndorserFirstRep() { 2460 if (getEndorser().isEmpty()) { 2461 addEndorser(); 2462 } 2463 return getEndorser().get(0); 2464 } 2465 2466 /** 2467 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, or bibliographic references.) 2468 */ 2469 public List<RelatedArtifact> getRelatedArtifact() { 2470 if (this.relatedArtifact == null) 2471 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2472 return this.relatedArtifact; 2473 } 2474 2475 /** 2476 * @return Returns a reference to <code>this</code> for easy method chaining 2477 */ 2478 public ActivityDefinition setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 2479 this.relatedArtifact = theRelatedArtifact; 2480 return this; 2481 } 2482 2483 public boolean hasRelatedArtifact() { 2484 if (this.relatedArtifact == null) 2485 return false; 2486 for (RelatedArtifact item : this.relatedArtifact) 2487 if (!item.isEmpty()) 2488 return true; 2489 return false; 2490 } 2491 2492 public RelatedArtifact addRelatedArtifact() { //3 2493 RelatedArtifact t = new RelatedArtifact(); 2494 if (this.relatedArtifact == null) 2495 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2496 this.relatedArtifact.add(t); 2497 return t; 2498 } 2499 2500 public ActivityDefinition addRelatedArtifact(RelatedArtifact t) { //3 2501 if (t == null) 2502 return this; 2503 if (this.relatedArtifact == null) 2504 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 2505 this.relatedArtifact.add(t); 2506 return this; 2507 } 2508 2509 /** 2510 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} 2511 */ 2512 public RelatedArtifact getRelatedArtifactFirstRep() { 2513 if (getRelatedArtifact().isEmpty()) { 2514 addRelatedArtifact(); 2515 } 2516 return getRelatedArtifact().get(0); 2517 } 2518 2519 /** 2520 * @return {@link #library} (A reference to a Library resource containing any formal logic used by the activity definition.) 2521 */ 2522 public List<CanonicalType> getLibrary() { 2523 if (this.library == null) 2524 this.library = new ArrayList<CanonicalType>(); 2525 return this.library; 2526 } 2527 2528 /** 2529 * @return Returns a reference to <code>this</code> for easy method chaining 2530 */ 2531 public ActivityDefinition setLibrary(List<CanonicalType> theLibrary) { 2532 this.library = theLibrary; 2533 return this; 2534 } 2535 2536 public boolean hasLibrary() { 2537 if (this.library == null) 2538 return false; 2539 for (CanonicalType item : this.library) 2540 if (!item.isEmpty()) 2541 return true; 2542 return false; 2543 } 2544 2545 /** 2546 * @return {@link #library} (A reference to a Library resource containing any formal logic used by the activity definition.) 2547 */ 2548 public CanonicalType addLibraryElement() {//2 2549 CanonicalType t = new CanonicalType(); 2550 if (this.library == null) 2551 this.library = new ArrayList<CanonicalType>(); 2552 this.library.add(t); 2553 return t; 2554 } 2555 2556 /** 2557 * @param value {@link #library} (A reference to a Library resource containing any formal logic used by the activity definition.) 2558 */ 2559 public ActivityDefinition addLibrary(String value) { //1 2560 CanonicalType t = new CanonicalType(); 2561 t.setValue(value); 2562 if (this.library == null) 2563 this.library = new ArrayList<CanonicalType>(); 2564 this.library.add(t); 2565 return this; 2566 } 2567 2568 /** 2569 * @param value {@link #library} (A reference to a Library resource containing any formal logic used by the activity definition.) 2570 */ 2571 public boolean hasLibrary(String value) { 2572 if (this.library == null) 2573 return false; 2574 for (CanonicalType v : this.library) 2575 if (v.getValue().equals(value)) // canonical 2576 return true; 2577 return false; 2578 } 2579 2580 /** 2581 * @return {@link #kind} (A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 2582 */ 2583 public Enumeration<RequestResourceType> getKindElement() { 2584 if (this.kind == null) 2585 if (Configuration.errorOnAutoCreate()) 2586 throw new Error("Attempt to auto-create ActivityDefinition.kind"); 2587 else if (Configuration.doAutoCreate()) 2588 this.kind = new Enumeration<RequestResourceType>(new RequestResourceTypeEnumFactory()); // bb 2589 return this.kind; 2590 } 2591 2592 public boolean hasKindElement() { 2593 return this.kind != null && !this.kind.isEmpty(); 2594 } 2595 2596 public boolean hasKind() { 2597 return this.kind != null && !this.kind.isEmpty(); 2598 } 2599 2600 /** 2601 * @param value {@link #kind} (A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 2602 */ 2603 public ActivityDefinition setKindElement(Enumeration<RequestResourceType> value) { 2604 this.kind = value; 2605 return this; 2606 } 2607 2608 /** 2609 * @return A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource. 2610 */ 2611 public RequestResourceType getKind() { 2612 return this.kind == null ? null : this.kind.getValue(); 2613 } 2614 2615 /** 2616 * @param value A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource. 2617 */ 2618 public ActivityDefinition setKind(RequestResourceType value) { 2619 if (value == null) 2620 this.kind = null; 2621 else { 2622 if (this.kind == null) 2623 this.kind = new Enumeration<RequestResourceType>(new RequestResourceTypeEnumFactory()); 2624 this.kind.setValue(value); 2625 } 2626 return this; 2627 } 2628 2629 /** 2630 * @return {@link #profile} (A profile to which the target of the activity definition is expected to conform.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 2631 */ 2632 public CanonicalType getProfileElement() { 2633 if (this.profile == null) 2634 if (Configuration.errorOnAutoCreate()) 2635 throw new Error("Attempt to auto-create ActivityDefinition.profile"); 2636 else if (Configuration.doAutoCreate()) 2637 this.profile = new CanonicalType(); // bb 2638 return this.profile; 2639 } 2640 2641 public boolean hasProfileElement() { 2642 return this.profile != null && !this.profile.isEmpty(); 2643 } 2644 2645 public boolean hasProfile() { 2646 return this.profile != null && !this.profile.isEmpty(); 2647 } 2648 2649 /** 2650 * @param value {@link #profile} (A profile to which the target of the activity definition is expected to conform.). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 2651 */ 2652 public ActivityDefinition setProfileElement(CanonicalType value) { 2653 this.profile = value; 2654 return this; 2655 } 2656 2657 /** 2658 * @return A profile to which the target of the activity definition is expected to conform. 2659 */ 2660 public String getProfile() { 2661 return this.profile == null ? null : this.profile.getValue(); 2662 } 2663 2664 /** 2665 * @param value A profile to which the target of the activity definition is expected to conform. 2666 */ 2667 public ActivityDefinition setProfile(String value) { 2668 if (Utilities.noString(value)) 2669 this.profile = null; 2670 else { 2671 if (this.profile == null) 2672 this.profile = new CanonicalType(); 2673 this.profile.setValue(value); 2674 } 2675 return this; 2676 } 2677 2678 /** 2679 * @return {@link #code} (Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.) 2680 */ 2681 public CodeableConcept getCode() { 2682 if (this.code == null) 2683 if (Configuration.errorOnAutoCreate()) 2684 throw new Error("Attempt to auto-create ActivityDefinition.code"); 2685 else if (Configuration.doAutoCreate()) 2686 this.code = new CodeableConcept(); // cc 2687 return this.code; 2688 } 2689 2690 public boolean hasCode() { 2691 return this.code != null && !this.code.isEmpty(); 2692 } 2693 2694 /** 2695 * @param value {@link #code} (Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.) 2696 */ 2697 public ActivityDefinition setCode(CodeableConcept value) { 2698 this.code = value; 2699 return this; 2700 } 2701 2702 /** 2703 * @return {@link #intent} (Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 2704 */ 2705 public Enumeration<RequestIntent> getIntentElement() { 2706 if (this.intent == null) 2707 if (Configuration.errorOnAutoCreate()) 2708 throw new Error("Attempt to auto-create ActivityDefinition.intent"); 2709 else if (Configuration.doAutoCreate()) 2710 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); // bb 2711 return this.intent; 2712 } 2713 2714 public boolean hasIntentElement() { 2715 return this.intent != null && !this.intent.isEmpty(); 2716 } 2717 2718 public boolean hasIntent() { 2719 return this.intent != null && !this.intent.isEmpty(); 2720 } 2721 2722 /** 2723 * @param value {@link #intent} (Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value 2724 */ 2725 public ActivityDefinition setIntentElement(Enumeration<RequestIntent> value) { 2726 this.intent = value; 2727 return this; 2728 } 2729 2730 /** 2731 * @return Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. 2732 */ 2733 public RequestIntent getIntent() { 2734 return this.intent == null ? null : this.intent.getValue(); 2735 } 2736 2737 /** 2738 * @param value Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain. 2739 */ 2740 public ActivityDefinition setIntent(RequestIntent value) { 2741 if (value == null) 2742 this.intent = null; 2743 else { 2744 if (this.intent == null) 2745 this.intent = new Enumeration<RequestIntent>(new RequestIntentEnumFactory()); 2746 this.intent.setValue(value); 2747 } 2748 return this; 2749 } 2750 2751 /** 2752 * @return {@link #priority} (Indicates how quickly the activity should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 2753 */ 2754 public Enumeration<RequestPriority> getPriorityElement() { 2755 if (this.priority == null) 2756 if (Configuration.errorOnAutoCreate()) 2757 throw new Error("Attempt to auto-create ActivityDefinition.priority"); 2758 else if (Configuration.doAutoCreate()) 2759 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); // bb 2760 return this.priority; 2761 } 2762 2763 public boolean hasPriorityElement() { 2764 return this.priority != null && !this.priority.isEmpty(); 2765 } 2766 2767 public boolean hasPriority() { 2768 return this.priority != null && !this.priority.isEmpty(); 2769 } 2770 2771 /** 2772 * @param value {@link #priority} (Indicates how quickly the activity should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value 2773 */ 2774 public ActivityDefinition setPriorityElement(Enumeration<RequestPriority> value) { 2775 this.priority = value; 2776 return this; 2777 } 2778 2779 /** 2780 * @return Indicates how quickly the activity should be addressed with respect to other requests. 2781 */ 2782 public RequestPriority getPriority() { 2783 return this.priority == null ? null : this.priority.getValue(); 2784 } 2785 2786 /** 2787 * @param value Indicates how quickly the activity should be addressed with respect to other requests. 2788 */ 2789 public ActivityDefinition setPriority(RequestPriority value) { 2790 if (value == null) 2791 this.priority = null; 2792 else { 2793 if (this.priority == null) 2794 this.priority = new Enumeration<RequestPriority>(new RequestPriorityEnumFactory()); 2795 this.priority.setValue(value); 2796 } 2797 return this; 2798 } 2799 2800 /** 2801 * @return {@link #doNotPerform} (Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 2802 */ 2803 public BooleanType getDoNotPerformElement() { 2804 if (this.doNotPerform == null) 2805 if (Configuration.errorOnAutoCreate()) 2806 throw new Error("Attempt to auto-create ActivityDefinition.doNotPerform"); 2807 else if (Configuration.doAutoCreate()) 2808 this.doNotPerform = new BooleanType(); // bb 2809 return this.doNotPerform; 2810 } 2811 2812 public boolean hasDoNotPerformElement() { 2813 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 2814 } 2815 2816 public boolean hasDoNotPerform() { 2817 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 2818 } 2819 2820 /** 2821 * @param value {@link #doNotPerform} (Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 2822 */ 2823 public ActivityDefinition setDoNotPerformElement(BooleanType value) { 2824 this.doNotPerform = value; 2825 return this; 2826 } 2827 2828 /** 2829 * @return Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action. 2830 */ 2831 public boolean getDoNotPerform() { 2832 return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); 2833 } 2834 2835 /** 2836 * @param value Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action. 2837 */ 2838 public ActivityDefinition setDoNotPerform(boolean value) { 2839 if (this.doNotPerform == null) 2840 this.doNotPerform = new BooleanType(); 2841 this.doNotPerform.setValue(value); 2842 return this; 2843 } 2844 2845 /** 2846 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2847 */ 2848 public DataType getTiming() { 2849 return this.timing; 2850 } 2851 2852 /** 2853 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2854 */ 2855 public Timing getTimingTiming() throws FHIRException { 2856 if (this.timing == null) 2857 this.timing = new Timing(); 2858 if (!(this.timing instanceof Timing)) 2859 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.timing.getClass().getName()+" was encountered"); 2860 return (Timing) this.timing; 2861 } 2862 2863 public boolean hasTimingTiming() { 2864 return this != null && this.timing instanceof Timing; 2865 } 2866 2867 /** 2868 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2869 */ 2870 public DateTimeType getTimingDateTimeType() throws FHIRException { 2871 if (this.timing == null) 2872 this.timing = new DateTimeType(); 2873 if (!(this.timing instanceof DateTimeType)) 2874 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.timing.getClass().getName()+" was encountered"); 2875 return (DateTimeType) this.timing; 2876 } 2877 2878 public boolean hasTimingDateTimeType() { 2879 return this != null && this.timing instanceof DateTimeType; 2880 } 2881 2882 /** 2883 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2884 */ 2885 public Age getTimingAge() throws FHIRException { 2886 if (this.timing == null) 2887 this.timing = new Age(); 2888 if (!(this.timing instanceof Age)) 2889 throw new FHIRException("Type mismatch: the type Age was expected, but "+this.timing.getClass().getName()+" was encountered"); 2890 return (Age) this.timing; 2891 } 2892 2893 public boolean hasTimingAge() { 2894 return this != null && this.timing instanceof Age; 2895 } 2896 2897 /** 2898 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2899 */ 2900 public Period getTimingPeriod() throws FHIRException { 2901 if (this.timing == null) 2902 this.timing = new Period(); 2903 if (!(this.timing instanceof Period)) 2904 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.timing.getClass().getName()+" was encountered"); 2905 return (Period) this.timing; 2906 } 2907 2908 public boolean hasTimingPeriod() { 2909 return this != null && this.timing instanceof Period; 2910 } 2911 2912 /** 2913 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2914 */ 2915 public Range getTimingRange() throws FHIRException { 2916 if (this.timing == null) 2917 this.timing = new Range(); 2918 if (!(this.timing instanceof Range)) 2919 throw new FHIRException("Type mismatch: the type Range was expected, but "+this.timing.getClass().getName()+" was encountered"); 2920 return (Range) this.timing; 2921 } 2922 2923 public boolean hasTimingRange() { 2924 return this != null && this.timing instanceof Range; 2925 } 2926 2927 /** 2928 * @return {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2929 */ 2930 public Duration getTimingDuration() throws FHIRException { 2931 if (this.timing == null) 2932 this.timing = new Duration(); 2933 if (!(this.timing instanceof Duration)) 2934 throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.timing.getClass().getName()+" was encountered"); 2935 return (Duration) this.timing; 2936 } 2937 2938 public boolean hasTimingDuration() { 2939 return this != null && this.timing instanceof Duration; 2940 } 2941 2942 public boolean hasTiming() { 2943 return this.timing != null && !this.timing.isEmpty(); 2944 } 2945 2946 /** 2947 * @param value {@link #timing} (The period, timing or frequency upon which the described activity is to occur.) 2948 */ 2949 public ActivityDefinition setTiming(DataType value) { 2950 if (value != null && !(value instanceof Timing || value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Range || value instanceof Duration)) 2951 throw new Error("Not the right type for ActivityDefinition.timing[x]: "+value.fhirType()); 2952 this.timing = value; 2953 return this; 2954 } 2955 2956 /** 2957 * @return {@link #location} (Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.) 2958 */ 2959 public Reference getLocation() { 2960 if (this.location == null) 2961 if (Configuration.errorOnAutoCreate()) 2962 throw new Error("Attempt to auto-create ActivityDefinition.location"); 2963 else if (Configuration.doAutoCreate()) 2964 this.location = new Reference(); // cc 2965 return this.location; 2966 } 2967 2968 public boolean hasLocation() { 2969 return this.location != null && !this.location.isEmpty(); 2970 } 2971 2972 /** 2973 * @param value {@link #location} (Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.) 2974 */ 2975 public ActivityDefinition setLocation(Reference value) { 2976 this.location = value; 2977 return this; 2978 } 2979 2980 /** 2981 * @return {@link #participant} (Indicates who should participate in performing the action described.) 2982 */ 2983 public List<ActivityDefinitionParticipantComponent> getParticipant() { 2984 if (this.participant == null) 2985 this.participant = new ArrayList<ActivityDefinitionParticipantComponent>(); 2986 return this.participant; 2987 } 2988 2989 /** 2990 * @return Returns a reference to <code>this</code> for easy method chaining 2991 */ 2992 public ActivityDefinition setParticipant(List<ActivityDefinitionParticipantComponent> theParticipant) { 2993 this.participant = theParticipant; 2994 return this; 2995 } 2996 2997 public boolean hasParticipant() { 2998 if (this.participant == null) 2999 return false; 3000 for (ActivityDefinitionParticipantComponent item : this.participant) 3001 if (!item.isEmpty()) 3002 return true; 3003 return false; 3004 } 3005 3006 public ActivityDefinitionParticipantComponent addParticipant() { //3 3007 ActivityDefinitionParticipantComponent t = new ActivityDefinitionParticipantComponent(); 3008 if (this.participant == null) 3009 this.participant = new ArrayList<ActivityDefinitionParticipantComponent>(); 3010 this.participant.add(t); 3011 return t; 3012 } 3013 3014 public ActivityDefinition addParticipant(ActivityDefinitionParticipantComponent t) { //3 3015 if (t == null) 3016 return this; 3017 if (this.participant == null) 3018 this.participant = new ArrayList<ActivityDefinitionParticipantComponent>(); 3019 this.participant.add(t); 3020 return this; 3021 } 3022 3023 /** 3024 * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} 3025 */ 3026 public ActivityDefinitionParticipantComponent getParticipantFirstRep() { 3027 if (getParticipant().isEmpty()) { 3028 addParticipant(); 3029 } 3030 return getParticipant().get(0); 3031 } 3032 3033 /** 3034 * @return {@link #product} (Identifies the food, drug or other product being consumed or supplied in the activity.) 3035 */ 3036 public DataType getProduct() { 3037 return this.product; 3038 } 3039 3040 /** 3041 * @return {@link #product} (Identifies the food, drug or other product being consumed or supplied in the activity.) 3042 */ 3043 public Reference getProductReference() throws FHIRException { 3044 if (this.product == null) 3045 this.product = new Reference(); 3046 if (!(this.product instanceof Reference)) 3047 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.product.getClass().getName()+" was encountered"); 3048 return (Reference) this.product; 3049 } 3050 3051 public boolean hasProductReference() { 3052 return this != null && this.product instanceof Reference; 3053 } 3054 3055 /** 3056 * @return {@link #product} (Identifies the food, drug or other product being consumed or supplied in the activity.) 3057 */ 3058 public CodeableConcept getProductCodeableConcept() throws FHIRException { 3059 if (this.product == null) 3060 this.product = new CodeableConcept(); 3061 if (!(this.product instanceof CodeableConcept)) 3062 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.product.getClass().getName()+" was encountered"); 3063 return (CodeableConcept) this.product; 3064 } 3065 3066 public boolean hasProductCodeableConcept() { 3067 return this != null && this.product instanceof CodeableConcept; 3068 } 3069 3070 public boolean hasProduct() { 3071 return this.product != null && !this.product.isEmpty(); 3072 } 3073 3074 /** 3075 * @param value {@link #product} (Identifies the food, drug or other product being consumed or supplied in the activity.) 3076 */ 3077 public ActivityDefinition setProduct(DataType value) { 3078 if (value != null && !(value instanceof Reference || value instanceof CodeableConcept)) 3079 throw new Error("Not the right type for ActivityDefinition.product[x]: "+value.fhirType()); 3080 this.product = value; 3081 return this; 3082 } 3083 3084 /** 3085 * @return {@link #quantity} (Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).) 3086 */ 3087 public Quantity getQuantity() { 3088 if (this.quantity == null) 3089 if (Configuration.errorOnAutoCreate()) 3090 throw new Error("Attempt to auto-create ActivityDefinition.quantity"); 3091 else if (Configuration.doAutoCreate()) 3092 this.quantity = new Quantity(); // cc 3093 return this.quantity; 3094 } 3095 3096 public boolean hasQuantity() { 3097 return this.quantity != null && !this.quantity.isEmpty(); 3098 } 3099 3100 /** 3101 * @param value {@link #quantity} (Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).) 3102 */ 3103 public ActivityDefinition setQuantity(Quantity value) { 3104 this.quantity = value; 3105 return this; 3106 } 3107 3108 /** 3109 * @return {@link #dosage} (Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.) 3110 */ 3111 public List<Dosage> getDosage() { 3112 if (this.dosage == null) 3113 this.dosage = new ArrayList<Dosage>(); 3114 return this.dosage; 3115 } 3116 3117 /** 3118 * @return Returns a reference to <code>this</code> for easy method chaining 3119 */ 3120 public ActivityDefinition setDosage(List<Dosage> theDosage) { 3121 this.dosage = theDosage; 3122 return this; 3123 } 3124 3125 public boolean hasDosage() { 3126 if (this.dosage == null) 3127 return false; 3128 for (Dosage item : this.dosage) 3129 if (!item.isEmpty()) 3130 return true; 3131 return false; 3132 } 3133 3134 public Dosage addDosage() { //3 3135 Dosage t = new Dosage(); 3136 if (this.dosage == null) 3137 this.dosage = new ArrayList<Dosage>(); 3138 this.dosage.add(t); 3139 return t; 3140 } 3141 3142 public ActivityDefinition addDosage(Dosage t) { //3 3143 if (t == null) 3144 return this; 3145 if (this.dosage == null) 3146 this.dosage = new ArrayList<Dosage>(); 3147 this.dosage.add(t); 3148 return this; 3149 } 3150 3151 /** 3152 * @return The first repetition of repeating field {@link #dosage}, creating it if it does not already exist {3} 3153 */ 3154 public Dosage getDosageFirstRep() { 3155 if (getDosage().isEmpty()) { 3156 addDosage(); 3157 } 3158 return getDosage().get(0); 3159 } 3160 3161 /** 3162 * @return {@link #bodySite} (Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).) 3163 */ 3164 public List<CodeableConcept> getBodySite() { 3165 if (this.bodySite == null) 3166 this.bodySite = new ArrayList<CodeableConcept>(); 3167 return this.bodySite; 3168 } 3169 3170 /** 3171 * @return Returns a reference to <code>this</code> for easy method chaining 3172 */ 3173 public ActivityDefinition setBodySite(List<CodeableConcept> theBodySite) { 3174 this.bodySite = theBodySite; 3175 return this; 3176 } 3177 3178 public boolean hasBodySite() { 3179 if (this.bodySite == null) 3180 return false; 3181 for (CodeableConcept item : this.bodySite) 3182 if (!item.isEmpty()) 3183 return true; 3184 return false; 3185 } 3186 3187 public CodeableConcept addBodySite() { //3 3188 CodeableConcept t = new CodeableConcept(); 3189 if (this.bodySite == null) 3190 this.bodySite = new ArrayList<CodeableConcept>(); 3191 this.bodySite.add(t); 3192 return t; 3193 } 3194 3195 public ActivityDefinition addBodySite(CodeableConcept t) { //3 3196 if (t == null) 3197 return this; 3198 if (this.bodySite == null) 3199 this.bodySite = new ArrayList<CodeableConcept>(); 3200 this.bodySite.add(t); 3201 return this; 3202 } 3203 3204 /** 3205 * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} 3206 */ 3207 public CodeableConcept getBodySiteFirstRep() { 3208 if (getBodySite().isEmpty()) { 3209 addBodySite(); 3210 } 3211 return getBodySite().get(0); 3212 } 3213 3214 /** 3215 * @return {@link #specimenRequirement} (Defines specimen requirements for the action to be performed, such as required specimens for a lab test.) 3216 */ 3217 public List<Reference> getSpecimenRequirement() { 3218 if (this.specimenRequirement == null) 3219 this.specimenRequirement = new ArrayList<Reference>(); 3220 return this.specimenRequirement; 3221 } 3222 3223 /** 3224 * @return Returns a reference to <code>this</code> for easy method chaining 3225 */ 3226 public ActivityDefinition setSpecimenRequirement(List<Reference> theSpecimenRequirement) { 3227 this.specimenRequirement = theSpecimenRequirement; 3228 return this; 3229 } 3230 3231 public boolean hasSpecimenRequirement() { 3232 if (this.specimenRequirement == null) 3233 return false; 3234 for (Reference item : this.specimenRequirement) 3235 if (!item.isEmpty()) 3236 return true; 3237 return false; 3238 } 3239 3240 public Reference addSpecimenRequirement() { //3 3241 Reference t = new Reference(); 3242 if (this.specimenRequirement == null) 3243 this.specimenRequirement = new ArrayList<Reference>(); 3244 this.specimenRequirement.add(t); 3245 return t; 3246 } 3247 3248 public ActivityDefinition addSpecimenRequirement(Reference t) { //3 3249 if (t == null) 3250 return this; 3251 if (this.specimenRequirement == null) 3252 this.specimenRequirement = new ArrayList<Reference>(); 3253 this.specimenRequirement.add(t); 3254 return this; 3255 } 3256 3257 /** 3258 * @return The first repetition of repeating field {@link #specimenRequirement}, creating it if it does not already exist {3} 3259 */ 3260 public Reference getSpecimenRequirementFirstRep() { 3261 if (getSpecimenRequirement().isEmpty()) { 3262 addSpecimenRequirement(); 3263 } 3264 return getSpecimenRequirement().get(0); 3265 } 3266 3267 /** 3268 * @return {@link #observationRequirement} (Defines observation requirements for the action to be performed, such as body weight or surface area.) 3269 */ 3270 public List<Reference> getObservationRequirement() { 3271 if (this.observationRequirement == null) 3272 this.observationRequirement = new ArrayList<Reference>(); 3273 return this.observationRequirement; 3274 } 3275 3276 /** 3277 * @return Returns a reference to <code>this</code> for easy method chaining 3278 */ 3279 public ActivityDefinition setObservationRequirement(List<Reference> theObservationRequirement) { 3280 this.observationRequirement = theObservationRequirement; 3281 return this; 3282 } 3283 3284 public boolean hasObservationRequirement() { 3285 if (this.observationRequirement == null) 3286 return false; 3287 for (Reference item : this.observationRequirement) 3288 if (!item.isEmpty()) 3289 return true; 3290 return false; 3291 } 3292 3293 public Reference addObservationRequirement() { //3 3294 Reference t = new Reference(); 3295 if (this.observationRequirement == null) 3296 this.observationRequirement = new ArrayList<Reference>(); 3297 this.observationRequirement.add(t); 3298 return t; 3299 } 3300 3301 public ActivityDefinition addObservationRequirement(Reference t) { //3 3302 if (t == null) 3303 return this; 3304 if (this.observationRequirement == null) 3305 this.observationRequirement = new ArrayList<Reference>(); 3306 this.observationRequirement.add(t); 3307 return this; 3308 } 3309 3310 /** 3311 * @return The first repetition of repeating field {@link #observationRequirement}, creating it if it does not already exist {3} 3312 */ 3313 public Reference getObservationRequirementFirstRep() { 3314 if (getObservationRequirement().isEmpty()) { 3315 addObservationRequirement(); 3316 } 3317 return getObservationRequirement().get(0); 3318 } 3319 3320 /** 3321 * @return {@link #observationResultRequirement} (Defines the observations that are expected to be produced by the action.) 3322 */ 3323 public List<Reference> getObservationResultRequirement() { 3324 if (this.observationResultRequirement == null) 3325 this.observationResultRequirement = new ArrayList<Reference>(); 3326 return this.observationResultRequirement; 3327 } 3328 3329 /** 3330 * @return Returns a reference to <code>this</code> for easy method chaining 3331 */ 3332 public ActivityDefinition setObservationResultRequirement(List<Reference> theObservationResultRequirement) { 3333 this.observationResultRequirement = theObservationResultRequirement; 3334 return this; 3335 } 3336 3337 public boolean hasObservationResultRequirement() { 3338 if (this.observationResultRequirement == null) 3339 return false; 3340 for (Reference item : this.observationResultRequirement) 3341 if (!item.isEmpty()) 3342 return true; 3343 return false; 3344 } 3345 3346 public Reference addObservationResultRequirement() { //3 3347 Reference t = new Reference(); 3348 if (this.observationResultRequirement == null) 3349 this.observationResultRequirement = new ArrayList<Reference>(); 3350 this.observationResultRequirement.add(t); 3351 return t; 3352 } 3353 3354 public ActivityDefinition addObservationResultRequirement(Reference t) { //3 3355 if (t == null) 3356 return this; 3357 if (this.observationResultRequirement == null) 3358 this.observationResultRequirement = new ArrayList<Reference>(); 3359 this.observationResultRequirement.add(t); 3360 return this; 3361 } 3362 3363 /** 3364 * @return The first repetition of repeating field {@link #observationResultRequirement}, creating it if it does not already exist {3} 3365 */ 3366 public Reference getObservationResultRequirementFirstRep() { 3367 if (getObservationResultRequirement().isEmpty()) { 3368 addObservationResultRequirement(); 3369 } 3370 return getObservationResultRequirement().get(0); 3371 } 3372 3373 /** 3374 * @return {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 3375 */ 3376 public CanonicalType getTransformElement() { 3377 if (this.transform == null) 3378 if (Configuration.errorOnAutoCreate()) 3379 throw new Error("Attempt to auto-create ActivityDefinition.transform"); 3380 else if (Configuration.doAutoCreate()) 3381 this.transform = new CanonicalType(); // bb 3382 return this.transform; 3383 } 3384 3385 public boolean hasTransformElement() { 3386 return this.transform != null && !this.transform.isEmpty(); 3387 } 3388 3389 public boolean hasTransform() { 3390 return this.transform != null && !this.transform.isEmpty(); 3391 } 3392 3393 /** 3394 * @param value {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value 3395 */ 3396 public ActivityDefinition setTransformElement(CanonicalType value) { 3397 this.transform = value; 3398 return this; 3399 } 3400 3401 /** 3402 * @return A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 3403 */ 3404 public String getTransform() { 3405 return this.transform == null ? null : this.transform.getValue(); 3406 } 3407 3408 /** 3409 * @param value A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. 3410 */ 3411 public ActivityDefinition setTransform(String value) { 3412 if (Utilities.noString(value)) 3413 this.transform = null; 3414 else { 3415 if (this.transform == null) 3416 this.transform = new CanonicalType(); 3417 this.transform.setValue(value); 3418 } 3419 return this; 3420 } 3421 3422 /** 3423 * @return {@link #dynamicValue} (Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result.) 3424 */ 3425 public List<ActivityDefinitionDynamicValueComponent> getDynamicValue() { 3426 if (this.dynamicValue == null) 3427 this.dynamicValue = new ArrayList<ActivityDefinitionDynamicValueComponent>(); 3428 return this.dynamicValue; 3429 } 3430 3431 /** 3432 * @return Returns a reference to <code>this</code> for easy method chaining 3433 */ 3434 public ActivityDefinition setDynamicValue(List<ActivityDefinitionDynamicValueComponent> theDynamicValue) { 3435 this.dynamicValue = theDynamicValue; 3436 return this; 3437 } 3438 3439 public boolean hasDynamicValue() { 3440 if (this.dynamicValue == null) 3441 return false; 3442 for (ActivityDefinitionDynamicValueComponent item : this.dynamicValue) 3443 if (!item.isEmpty()) 3444 return true; 3445 return false; 3446 } 3447 3448 public ActivityDefinitionDynamicValueComponent addDynamicValue() { //3 3449 ActivityDefinitionDynamicValueComponent t = new ActivityDefinitionDynamicValueComponent(); 3450 if (this.dynamicValue == null) 3451 this.dynamicValue = new ArrayList<ActivityDefinitionDynamicValueComponent>(); 3452 this.dynamicValue.add(t); 3453 return t; 3454 } 3455 3456 public ActivityDefinition addDynamicValue(ActivityDefinitionDynamicValueComponent t) { //3 3457 if (t == null) 3458 return this; 3459 if (this.dynamicValue == null) 3460 this.dynamicValue = new ArrayList<ActivityDefinitionDynamicValueComponent>(); 3461 this.dynamicValue.add(t); 3462 return this; 3463 } 3464 3465 /** 3466 * @return The first repetition of repeating field {@link #dynamicValue}, creating it if it does not already exist {3} 3467 */ 3468 public ActivityDefinitionDynamicValueComponent getDynamicValueFirstRep() { 3469 if (getDynamicValue().isEmpty()) { 3470 addDynamicValue(); 3471 } 3472 return getDynamicValue().get(0); 3473 } 3474 3475 protected void listChildren(List<Property> children) { 3476 super.listChildren(children); 3477 children.add(new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url)); 3478 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3479 children.add(new Property("version", "string", "The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version)); 3480 children.add(new Property("name", "string", "A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 3481 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the activity definition.", 0, 1, title)); 3482 children.add(new Property("subtitle", "string", "An explanatory or alternate title for the activity definition giving additional information about its content.", 0, 1, subtitle)); 3483 children.add(new Property("status", "code", "The status of this activity definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 3484 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 3485 children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject)); 3486 children.add(new Property("date", "dateTime", "The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.", 0, 1, date)); 3487 children.add(new Property("publisher", "string", "The name of the organization or individual that published the activity definition.", 0, 1, publisher)); 3488 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 3489 children.add(new Property("description", "markdown", "A free text natural language description of the activity definition from a consumer's perspective.", 0, 1, description)); 3490 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 3491 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the activity definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 3492 children.add(new Property("purpose", "markdown", "Explanation of why this activity definition is needed and why it has been designed as it has.", 0, 1, purpose)); 3493 children.add(new Property("usage", "string", "A detailed description of how the activity definition is used from a clinical perspective.", 0, 1, usage)); 3494 children.add(new Property("copyright", "markdown", "A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.", 0, 1, copyright)); 3495 children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 3496 children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); 3497 children.add(new Property("effectivePeriod", "Period", "The period during which the activity definition content was or is planned to be in active use.", 0, 1, effectivePeriod)); 3498 children.add(new Property("topic", "CodeableConcept", "Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); 3499 children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author)); 3500 children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor)); 3501 children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer)); 3502 children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); 3503 children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 3504 children.add(new Property("library", "canonical(Library)", "A reference to a Library resource containing any formal logic used by the activity definition.", 0, java.lang.Integer.MAX_VALUE, library)); 3505 children.add(new Property("kind", "code", "A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.", 0, 1, kind)); 3506 children.add(new Property("profile", "canonical(StructureDefinition)", "A profile to which the target of the activity definition is expected to conform.", 0, 1, profile)); 3507 children.add(new Property("code", "CodeableConcept", "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.", 0, 1, code)); 3508 children.add(new Property("intent", "code", "Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.", 0, 1, intent)); 3509 children.add(new Property("priority", "code", "Indicates how quickly the activity should be addressed with respect to other requests.", 0, 1, priority)); 3510 children.add(new Property("doNotPerform", "boolean", "Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.", 0, 1, doNotPerform)); 3511 children.add(new Property("timing[x]", "Timing|dateTime|Age|Period|Range|Duration", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing)); 3512 children.add(new Property("location", "Reference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location)); 3513 children.add(new Property("participant", "", "Indicates who should participate in performing the action described.", 0, java.lang.Integer.MAX_VALUE, participant)); 3514 children.add(new Property("product[x]", "Reference(Medication|Substance|Ingredient)|CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product)); 3515 children.add(new Property("quantity", "Quantity", "Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).", 0, 1, quantity)); 3516 children.add(new Property("dosage", "Dosage", "Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.", 0, java.lang.Integer.MAX_VALUE, dosage)); 3517 children.add(new Property("bodySite", "CodeableConcept", "Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).", 0, java.lang.Integer.MAX_VALUE, bodySite)); 3518 children.add(new Property("specimenRequirement", "Reference(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement)); 3519 children.add(new Property("observationRequirement", "Reference(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement)); 3520 children.add(new Property("observationResultRequirement", "Reference(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement)); 3521 children.add(new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform)); 3522 children.add(new Property("dynamicValue", "", "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue)); 3523 } 3524 3525 @Override 3526 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3527 switch (_hash) { 3528 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url); 3529 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 3530 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version); 3531 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 3532 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the activity definition.", 0, 1, title); 3533 case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "An explanatory or alternate title for the activity definition giving additional information about its content.", 0, 1, subtitle); 3534 case -892481550: /*status*/ return new Property("status", "code", "The status of this activity definition. Enables tracking the life-cycle of the content.", 0, 1, status); 3535 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 3536 case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); 3537 case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); 3538 case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); 3539 case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); 3540 case -1768521432: /*subjectCanonical*/ return new Property("subject[x]", "canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); 3541 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.", 0, 1, date); 3542 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the activity definition.", 0, 1, publisher); 3543 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 3544 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the activity definition from a consumer's perspective.", 0, 1, description); 3545 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 3546 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the activity definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 3547 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this activity definition is needed and why it has been designed as it has.", 0, 1, purpose); 3548 case 111574433: /*usage*/ return new Property("usage", "string", "A detailed description of how the activity definition is used from a clinical perspective.", 0, 1, usage); 3549 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the activity definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the activity definition.", 0, 1, copyright); 3550 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 3551 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); 3552 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the activity definition content was or is planned to be in active use.", 0, 1, effectivePeriod); 3553 case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptive topics related to the content of the activity. Topics provide a high-level categorization of the activity that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); 3554 case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author); 3555 case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor); 3556 case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the content.", 0, java.lang.Integer.MAX_VALUE, reviewer); 3557 case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); 3558 case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); 3559 case 166208699: /*library*/ return new Property("library", "canonical(Library)", "A reference to a Library resource containing any formal logic used by the activity definition.", 0, java.lang.Integer.MAX_VALUE, library); 3560 case 3292052: /*kind*/ return new Property("kind", "code", "A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.", 0, 1, kind); 3561 case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "A profile to which the target of the activity definition is expected to conform.", 0, 1, profile); 3562 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.", 0, 1, code); 3563 case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the level of authority/intentionality associated with the activity and where the request should fit into the workflow chain.", 0, 1, intent); 3564 case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the activity should be addressed with respect to other requests.", 0, 1, priority); 3565 case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.", 0, 1, doNotPerform); 3566 case 164632566: /*timing[x]*/ return new Property("timing[x]", "Timing|dateTime|Age|Period|Range|Duration", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3567 case -873664438: /*timing*/ return new Property("timing[x]", "Timing|dateTime|Age|Period|Range|Duration", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3568 case -497554124: /*timingTiming*/ return new Property("timing[x]", "Timing", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3569 case -1837458939: /*timingDateTime*/ return new Property("timing[x]", "dateTime", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3570 case 164607061: /*timingAge*/ return new Property("timing[x]", "Age", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3571 case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3572 case -710871277: /*timingRange*/ return new Property("timing[x]", "Range", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3573 case -1327253506: /*timingDuration*/ return new Property("timing[x]", "Duration", "The period, timing or frequency upon which the described activity is to occur.", 0, 1, timing); 3574 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location); 3575 case 767422259: /*participant*/ return new Property("participant", "", "Indicates who should participate in performing the action described.", 0, java.lang.Integer.MAX_VALUE, participant); 3576 case 1753005361: /*product[x]*/ return new Property("product[x]", "Reference(Medication|Substance|Ingredient)|CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product); 3577 case -309474065: /*product*/ return new Property("product[x]", "Reference(Medication|Substance|Ingredient)|CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product); 3578 case -669667556: /*productReference*/ return new Property("product[x]", "Reference(Medication|Substance|Ingredient)", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product); 3579 case 906854066: /*productCodeableConcept*/ return new Property("product[x]", "CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product); 3580 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).", 0, 1, quantity); 3581 case -1326018889: /*dosage*/ return new Property("dosage", "Dosage", "Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.", 0, java.lang.Integer.MAX_VALUE, dosage); 3582 case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).", 0, java.lang.Integer.MAX_VALUE, bodySite); 3583 case 1498467355: /*specimenRequirement*/ return new Property("specimenRequirement", "Reference(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement); 3584 case 362354807: /*observationRequirement*/ return new Property("observationRequirement", "Reference(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement); 3585 case 395230490: /*observationResultRequirement*/ return new Property("observationResultRequirement", "Reference(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement); 3586 case 1052666732: /*transform*/ return new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform); 3587 case 572625010: /*dynamicValue*/ return new Property("dynamicValue", "", "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue); 3588 default: return super.getNamedProperty(_hash, _name, _checkValid); 3589 } 3590 3591 } 3592 3593 @Override 3594 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3595 switch (hash) { 3596 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3597 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3598 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3599 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3600 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 3601 case -2060497896: /*subtitle*/ return this.subtitle == null ? new Base[0] : new Base[] {this.subtitle}; // StringType 3602 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 3603 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3604 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // DataType 3605 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3606 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3607 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 3608 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 3609 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 3610 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 3611 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 3612 case 111574433: /*usage*/ return this.usage == null ? new Base[0] : new Base[] {this.usage}; // StringType 3613 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 3614 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 3615 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 3616 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 3617 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 3618 case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail 3619 case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail 3620 case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail 3621 case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail 3622 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 3623 case 166208699: /*library*/ return this.library == null ? new Base[0] : this.library.toArray(new Base[this.library.size()]); // CanonicalType 3624 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<RequestResourceType> 3625 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType 3626 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 3627 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration<RequestIntent> 3628 case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration<RequestPriority> 3629 case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType 3630 case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType 3631 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference 3632 case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // ActivityDefinitionParticipantComponent 3633 case -309474065: /*product*/ return this.product == null ? new Base[0] : new Base[] {this.product}; // DataType 3634 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 3635 case -1326018889: /*dosage*/ return this.dosage == null ? new Base[0] : this.dosage.toArray(new Base[this.dosage.size()]); // Dosage 3636 case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept 3637 case 1498467355: /*specimenRequirement*/ return this.specimenRequirement == null ? new Base[0] : this.specimenRequirement.toArray(new Base[this.specimenRequirement.size()]); // Reference 3638 case 362354807: /*observationRequirement*/ return this.observationRequirement == null ? new Base[0] : this.observationRequirement.toArray(new Base[this.observationRequirement.size()]); // Reference 3639 case 395230490: /*observationResultRequirement*/ return this.observationResultRequirement == null ? new Base[0] : this.observationResultRequirement.toArray(new Base[this.observationResultRequirement.size()]); // Reference 3640 case 1052666732: /*transform*/ return this.transform == null ? new Base[0] : new Base[] {this.transform}; // CanonicalType 3641 case 572625010: /*dynamicValue*/ return this.dynamicValue == null ? new Base[0] : this.dynamicValue.toArray(new Base[this.dynamicValue.size()]); // ActivityDefinitionDynamicValueComponent 3642 default: return super.getProperty(hash, name, checkValid); 3643 } 3644 3645 } 3646 3647 @Override 3648 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3649 switch (hash) { 3650 case 116079: // url 3651 this.url = TypeConvertor.castToUri(value); // UriType 3652 return value; 3653 case -1618432855: // identifier 3654 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3655 return value; 3656 case 351608024: // version 3657 this.version = TypeConvertor.castToString(value); // StringType 3658 return value; 3659 case 3373707: // name 3660 this.name = TypeConvertor.castToString(value); // StringType 3661 return value; 3662 case 110371416: // title 3663 this.title = TypeConvertor.castToString(value); // StringType 3664 return value; 3665 case -2060497896: // subtitle 3666 this.subtitle = TypeConvertor.castToString(value); // StringType 3667 return value; 3668 case -892481550: // status 3669 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3670 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3671 return value; 3672 case -404562712: // experimental 3673 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3674 return value; 3675 case -1867885268: // subject 3676 this.subject = TypeConvertor.castToType(value); // DataType 3677 return value; 3678 case 3076014: // date 3679 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3680 return value; 3681 case 1447404028: // publisher 3682 this.publisher = TypeConvertor.castToString(value); // StringType 3683 return value; 3684 case 951526432: // contact 3685 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3686 return value; 3687 case -1724546052: // description 3688 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3689 return value; 3690 case -669707736: // useContext 3691 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 3692 return value; 3693 case -507075711: // jurisdiction 3694 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3695 return value; 3696 case -220463842: // purpose 3697 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 3698 return value; 3699 case 111574433: // usage 3700 this.usage = TypeConvertor.castToString(value); // StringType 3701 return value; 3702 case 1522889671: // copyright 3703 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 3704 return value; 3705 case 223539345: // approvalDate 3706 this.approvalDate = TypeConvertor.castToDate(value); // DateType 3707 return value; 3708 case -1687512484: // lastReviewDate 3709 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 3710 return value; 3711 case -403934648: // effectivePeriod 3712 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 3713 return value; 3714 case 110546223: // topic 3715 this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3716 return value; 3717 case -1406328437: // author 3718 this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3719 return value; 3720 case -1307827859: // editor 3721 this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3722 return value; 3723 case -261190139: // reviewer 3724 this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3725 return value; 3726 case 1740277666: // endorser 3727 this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 3728 return value; 3729 case 666807069: // relatedArtifact 3730 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact 3731 return value; 3732 case 166208699: // library 3733 this.getLibrary().add(TypeConvertor.castToCanonical(value)); // CanonicalType 3734 return value; 3735 case 3292052: // kind 3736 value = new RequestResourceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3737 this.kind = (Enumeration) value; // Enumeration<RequestResourceType> 3738 return value; 3739 case -309425751: // profile 3740 this.profile = TypeConvertor.castToCanonical(value); // CanonicalType 3741 return value; 3742 case 3059181: // code 3743 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3744 return value; 3745 case -1183762788: // intent 3746 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3747 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 3748 return value; 3749 case -1165461084: // priority 3750 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 3751 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 3752 return value; 3753 case -1788508167: // doNotPerform 3754 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 3755 return value; 3756 case -873664438: // timing 3757 this.timing = TypeConvertor.castToType(value); // DataType 3758 return value; 3759 case 1901043637: // location 3760 this.location = TypeConvertor.castToReference(value); // Reference 3761 return value; 3762 case 767422259: // participant 3763 this.getParticipant().add((ActivityDefinitionParticipantComponent) value); // ActivityDefinitionParticipantComponent 3764 return value; 3765 case -309474065: // product 3766 this.product = TypeConvertor.castToType(value); // DataType 3767 return value; 3768 case -1285004149: // quantity 3769 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 3770 return value; 3771 case -1326018889: // dosage 3772 this.getDosage().add(TypeConvertor.castToDosage(value)); // Dosage 3773 return value; 3774 case 1702620169: // bodySite 3775 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3776 return value; 3777 case 1498467355: // specimenRequirement 3778 this.getSpecimenRequirement().add(TypeConvertor.castToReference(value)); // Reference 3779 return value; 3780 case 362354807: // observationRequirement 3781 this.getObservationRequirement().add(TypeConvertor.castToReference(value)); // Reference 3782 return value; 3783 case 395230490: // observationResultRequirement 3784 this.getObservationResultRequirement().add(TypeConvertor.castToReference(value)); // Reference 3785 return value; 3786 case 1052666732: // transform 3787 this.transform = TypeConvertor.castToCanonical(value); // CanonicalType 3788 return value; 3789 case 572625010: // dynamicValue 3790 this.getDynamicValue().add((ActivityDefinitionDynamicValueComponent) value); // ActivityDefinitionDynamicValueComponent 3791 return value; 3792 default: return super.setProperty(hash, name, value); 3793 } 3794 3795 } 3796 3797 @Override 3798 public Base setProperty(String name, Base value) throws FHIRException { 3799 if (name.equals("url")) { 3800 this.url = TypeConvertor.castToUri(value); // UriType 3801 } else if (name.equals("identifier")) { 3802 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3803 } else if (name.equals("version")) { 3804 this.version = TypeConvertor.castToString(value); // StringType 3805 } else if (name.equals("name")) { 3806 this.name = TypeConvertor.castToString(value); // StringType 3807 } else if (name.equals("title")) { 3808 this.title = TypeConvertor.castToString(value); // StringType 3809 } else if (name.equals("subtitle")) { 3810 this.subtitle = TypeConvertor.castToString(value); // StringType 3811 } else if (name.equals("status")) { 3812 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 3813 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3814 } else if (name.equals("experimental")) { 3815 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 3816 } else if (name.equals("subject[x]")) { 3817 this.subject = TypeConvertor.castToType(value); // DataType 3818 } else if (name.equals("date")) { 3819 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 3820 } else if (name.equals("publisher")) { 3821 this.publisher = TypeConvertor.castToString(value); // StringType 3822 } else if (name.equals("contact")) { 3823 this.getContact().add(TypeConvertor.castToContactDetail(value)); 3824 } else if (name.equals("description")) { 3825 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 3826 } else if (name.equals("useContext")) { 3827 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 3828 } else if (name.equals("jurisdiction")) { 3829 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 3830 } else if (name.equals("purpose")) { 3831 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 3832 } else if (name.equals("usage")) { 3833 this.usage = TypeConvertor.castToString(value); // StringType 3834 } else if (name.equals("copyright")) { 3835 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 3836 } else if (name.equals("approvalDate")) { 3837 this.approvalDate = TypeConvertor.castToDate(value); // DateType 3838 } else if (name.equals("lastReviewDate")) { 3839 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 3840 } else if (name.equals("effectivePeriod")) { 3841 this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period 3842 } else if (name.equals("topic")) { 3843 this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); 3844 } else if (name.equals("author")) { 3845 this.getAuthor().add(TypeConvertor.castToContactDetail(value)); 3846 } else if (name.equals("editor")) { 3847 this.getEditor().add(TypeConvertor.castToContactDetail(value)); 3848 } else if (name.equals("reviewer")) { 3849 this.getReviewer().add(TypeConvertor.castToContactDetail(value)); 3850 } else if (name.equals("endorser")) { 3851 this.getEndorser().add(TypeConvertor.castToContactDetail(value)); 3852 } else if (name.equals("relatedArtifact")) { 3853 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); 3854 } else if (name.equals("library")) { 3855 this.getLibrary().add(TypeConvertor.castToCanonical(value)); 3856 } else if (name.equals("kind")) { 3857 value = new RequestResourceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 3858 this.kind = (Enumeration) value; // Enumeration<RequestResourceType> 3859 } else if (name.equals("profile")) { 3860 this.profile = TypeConvertor.castToCanonical(value); // CanonicalType 3861 } else if (name.equals("code")) { 3862 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3863 } else if (name.equals("intent")) { 3864 value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); 3865 this.intent = (Enumeration) value; // Enumeration<RequestIntent> 3866 } else if (name.equals("priority")) { 3867 value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); 3868 this.priority = (Enumeration) value; // Enumeration<RequestPriority> 3869 } else if (name.equals("doNotPerform")) { 3870 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 3871 } else if (name.equals("timing[x]")) { 3872 this.timing = TypeConvertor.castToType(value); // DataType 3873 } else if (name.equals("location")) { 3874 this.location = TypeConvertor.castToReference(value); // Reference 3875 } else if (name.equals("participant")) { 3876 this.getParticipant().add((ActivityDefinitionParticipantComponent) value); 3877 } else if (name.equals("product[x]")) { 3878 this.product = TypeConvertor.castToType(value); // DataType 3879 } else if (name.equals("quantity")) { 3880 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 3881 } else if (name.equals("dosage")) { 3882 this.getDosage().add(TypeConvertor.castToDosage(value)); 3883 } else if (name.equals("bodySite")) { 3884 this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); 3885 } else if (name.equals("specimenRequirement")) { 3886 this.getSpecimenRequirement().add(TypeConvertor.castToReference(value)); 3887 } else if (name.equals("observationRequirement")) { 3888 this.getObservationRequirement().add(TypeConvertor.castToReference(value)); 3889 } else if (name.equals("observationResultRequirement")) { 3890 this.getObservationResultRequirement().add(TypeConvertor.castToReference(value)); 3891 } else if (name.equals("transform")) { 3892 this.transform = TypeConvertor.castToCanonical(value); // CanonicalType 3893 } else if (name.equals("dynamicValue")) { 3894 this.getDynamicValue().add((ActivityDefinitionDynamicValueComponent) value); 3895 } else 3896 return super.setProperty(name, value); 3897 return value; 3898 } 3899 3900 @Override 3901 public Base makeProperty(int hash, String name) throws FHIRException { 3902 switch (hash) { 3903 case 116079: return getUrlElement(); 3904 case -1618432855: return addIdentifier(); 3905 case 351608024: return getVersionElement(); 3906 case 3373707: return getNameElement(); 3907 case 110371416: return getTitleElement(); 3908 case -2060497896: return getSubtitleElement(); 3909 case -892481550: return getStatusElement(); 3910 case -404562712: return getExperimentalElement(); 3911 case -573640748: return getSubject(); 3912 case -1867885268: return getSubject(); 3913 case 3076014: return getDateElement(); 3914 case 1447404028: return getPublisherElement(); 3915 case 951526432: return addContact(); 3916 case -1724546052: return getDescriptionElement(); 3917 case -669707736: return addUseContext(); 3918 case -507075711: return addJurisdiction(); 3919 case -220463842: return getPurposeElement(); 3920 case 111574433: return getUsageElement(); 3921 case 1522889671: return getCopyrightElement(); 3922 case 223539345: return getApprovalDateElement(); 3923 case -1687512484: return getLastReviewDateElement(); 3924 case -403934648: return getEffectivePeriod(); 3925 case 110546223: return addTopic(); 3926 case -1406328437: return addAuthor(); 3927 case -1307827859: return addEditor(); 3928 case -261190139: return addReviewer(); 3929 case 1740277666: return addEndorser(); 3930 case 666807069: return addRelatedArtifact(); 3931 case 166208699: return addLibraryElement(); 3932 case 3292052: return getKindElement(); 3933 case -309425751: return getProfileElement(); 3934 case 3059181: return getCode(); 3935 case -1183762788: return getIntentElement(); 3936 case -1165461084: return getPriorityElement(); 3937 case -1788508167: return getDoNotPerformElement(); 3938 case 164632566: return getTiming(); 3939 case -873664438: return getTiming(); 3940 case 1901043637: return getLocation(); 3941 case 767422259: return addParticipant(); 3942 case 1753005361: return getProduct(); 3943 case -309474065: return getProduct(); 3944 case -1285004149: return getQuantity(); 3945 case -1326018889: return addDosage(); 3946 case 1702620169: return addBodySite(); 3947 case 1498467355: return addSpecimenRequirement(); 3948 case 362354807: return addObservationRequirement(); 3949 case 395230490: return addObservationResultRequirement(); 3950 case 1052666732: return getTransformElement(); 3951 case 572625010: return addDynamicValue(); 3952 default: return super.makeProperty(hash, name); 3953 } 3954 3955 } 3956 3957 @Override 3958 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3959 switch (hash) { 3960 case 116079: /*url*/ return new String[] {"uri"}; 3961 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3962 case 351608024: /*version*/ return new String[] {"string"}; 3963 case 3373707: /*name*/ return new String[] {"string"}; 3964 case 110371416: /*title*/ return new String[] {"string"}; 3965 case -2060497896: /*subtitle*/ return new String[] {"string"}; 3966 case -892481550: /*status*/ return new String[] {"code"}; 3967 case -404562712: /*experimental*/ return new String[] {"boolean"}; 3968 case -1867885268: /*subject*/ return new String[] {"CodeableConcept", "Reference", "canonical"}; 3969 case 3076014: /*date*/ return new String[] {"dateTime"}; 3970 case 1447404028: /*publisher*/ return new String[] {"string"}; 3971 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 3972 case -1724546052: /*description*/ return new String[] {"markdown"}; 3973 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 3974 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 3975 case -220463842: /*purpose*/ return new String[] {"markdown"}; 3976 case 111574433: /*usage*/ return new String[] {"string"}; 3977 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 3978 case 223539345: /*approvalDate*/ return new String[] {"date"}; 3979 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 3980 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 3981 case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; 3982 case -1406328437: /*author*/ return new String[] {"ContactDetail"}; 3983 case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; 3984 case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; 3985 case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; 3986 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 3987 case 166208699: /*library*/ return new String[] {"canonical"}; 3988 case 3292052: /*kind*/ return new String[] {"code"}; 3989 case -309425751: /*profile*/ return new String[] {"canonical"}; 3990 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 3991 case -1183762788: /*intent*/ return new String[] {"code"}; 3992 case -1165461084: /*priority*/ return new String[] {"code"}; 3993 case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; 3994 case -873664438: /*timing*/ return new String[] {"Timing", "dateTime", "Age", "Period", "Range", "Duration"}; 3995 case 1901043637: /*location*/ return new String[] {"Reference"}; 3996 case 767422259: /*participant*/ return new String[] {}; 3997 case -309474065: /*product*/ return new String[] {"Reference", "CodeableConcept"}; 3998 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 3999 case -1326018889: /*dosage*/ return new String[] {"Dosage"}; 4000 case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; 4001 case 1498467355: /*specimenRequirement*/ return new String[] {"Reference"}; 4002 case 362354807: /*observationRequirement*/ return new String[] {"Reference"}; 4003 case 395230490: /*observationResultRequirement*/ return new String[] {"Reference"}; 4004 case 1052666732: /*transform*/ return new String[] {"canonical"}; 4005 case 572625010: /*dynamicValue*/ return new String[] {}; 4006 default: return super.getTypesForProperty(hash, name); 4007 } 4008 4009 } 4010 4011 @Override 4012 public Base addChild(String name) throws FHIRException { 4013 if (name.equals("url")) { 4014 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.url"); 4015 } 4016 else if (name.equals("identifier")) { 4017 return addIdentifier(); 4018 } 4019 else if (name.equals("version")) { 4020 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.version"); 4021 } 4022 else if (name.equals("name")) { 4023 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.name"); 4024 } 4025 else if (name.equals("title")) { 4026 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.title"); 4027 } 4028 else if (name.equals("subtitle")) { 4029 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.subtitle"); 4030 } 4031 else if (name.equals("status")) { 4032 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.status"); 4033 } 4034 else if (name.equals("experimental")) { 4035 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.experimental"); 4036 } 4037 else if (name.equals("subjectCodeableConcept")) { 4038 this.subject = new CodeableConcept(); 4039 return this.subject; 4040 } 4041 else if (name.equals("subjectReference")) { 4042 this.subject = new Reference(); 4043 return this.subject; 4044 } 4045 else if (name.equals("subjectCanonical")) { 4046 this.subject = new CanonicalType(); 4047 return this.subject; 4048 } 4049 else if (name.equals("date")) { 4050 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.date"); 4051 } 4052 else if (name.equals("publisher")) { 4053 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.publisher"); 4054 } 4055 else if (name.equals("contact")) { 4056 return addContact(); 4057 } 4058 else if (name.equals("description")) { 4059 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.description"); 4060 } 4061 else if (name.equals("useContext")) { 4062 return addUseContext(); 4063 } 4064 else if (name.equals("jurisdiction")) { 4065 return addJurisdiction(); 4066 } 4067 else if (name.equals("purpose")) { 4068 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.purpose"); 4069 } 4070 else if (name.equals("usage")) { 4071 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.usage"); 4072 } 4073 else if (name.equals("copyright")) { 4074 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.copyright"); 4075 } 4076 else if (name.equals("approvalDate")) { 4077 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.approvalDate"); 4078 } 4079 else if (name.equals("lastReviewDate")) { 4080 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.lastReviewDate"); 4081 } 4082 else if (name.equals("effectivePeriod")) { 4083 this.effectivePeriod = new Period(); 4084 return this.effectivePeriod; 4085 } 4086 else if (name.equals("topic")) { 4087 return addTopic(); 4088 } 4089 else if (name.equals("author")) { 4090 return addAuthor(); 4091 } 4092 else if (name.equals("editor")) { 4093 return addEditor(); 4094 } 4095 else if (name.equals("reviewer")) { 4096 return addReviewer(); 4097 } 4098 else if (name.equals("endorser")) { 4099 return addEndorser(); 4100 } 4101 else if (name.equals("relatedArtifact")) { 4102 return addRelatedArtifact(); 4103 } 4104 else if (name.equals("library")) { 4105 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.library"); 4106 } 4107 else if (name.equals("kind")) { 4108 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.kind"); 4109 } 4110 else if (name.equals("profile")) { 4111 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.profile"); 4112 } 4113 else if (name.equals("code")) { 4114 this.code = new CodeableConcept(); 4115 return this.code; 4116 } 4117 else if (name.equals("intent")) { 4118 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.intent"); 4119 } 4120 else if (name.equals("priority")) { 4121 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.priority"); 4122 } 4123 else if (name.equals("doNotPerform")) { 4124 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.doNotPerform"); 4125 } 4126 else if (name.equals("timingTiming")) { 4127 this.timing = new Timing(); 4128 return this.timing; 4129 } 4130 else if (name.equals("timingDateTime")) { 4131 this.timing = new DateTimeType(); 4132 return this.timing; 4133 } 4134 else if (name.equals("timingAge")) { 4135 this.timing = new Age(); 4136 return this.timing; 4137 } 4138 else if (name.equals("timingPeriod")) { 4139 this.timing = new Period(); 4140 return this.timing; 4141 } 4142 else if (name.equals("timingRange")) { 4143 this.timing = new Range(); 4144 return this.timing; 4145 } 4146 else if (name.equals("timingDuration")) { 4147 this.timing = new Duration(); 4148 return this.timing; 4149 } 4150 else if (name.equals("location")) { 4151 this.location = new Reference(); 4152 return this.location; 4153 } 4154 else if (name.equals("participant")) { 4155 return addParticipant(); 4156 } 4157 else if (name.equals("productReference")) { 4158 this.product = new Reference(); 4159 return this.product; 4160 } 4161 else if (name.equals("productCodeableConcept")) { 4162 this.product = new CodeableConcept(); 4163 return this.product; 4164 } 4165 else if (name.equals("quantity")) { 4166 this.quantity = new Quantity(); 4167 return this.quantity; 4168 } 4169 else if (name.equals("dosage")) { 4170 return addDosage(); 4171 } 4172 else if (name.equals("bodySite")) { 4173 return addBodySite(); 4174 } 4175 else if (name.equals("specimenRequirement")) { 4176 return addSpecimenRequirement(); 4177 } 4178 else if (name.equals("observationRequirement")) { 4179 return addObservationRequirement(); 4180 } 4181 else if (name.equals("observationResultRequirement")) { 4182 return addObservationResultRequirement(); 4183 } 4184 else if (name.equals("transform")) { 4185 throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.transform"); 4186 } 4187 else if (name.equals("dynamicValue")) { 4188 return addDynamicValue(); 4189 } 4190 else 4191 return super.addChild(name); 4192 } 4193 4194 public String fhirType() { 4195 return "ActivityDefinition"; 4196 4197 } 4198 4199 public ActivityDefinition copy() { 4200 ActivityDefinition dst = new ActivityDefinition(); 4201 copyValues(dst); 4202 return dst; 4203 } 4204 4205 public void copyValues(ActivityDefinition dst) { 4206 super.copyValues(dst); 4207 dst.url = url == null ? null : url.copy(); 4208 if (identifier != null) { 4209 dst.identifier = new ArrayList<Identifier>(); 4210 for (Identifier i : identifier) 4211 dst.identifier.add(i.copy()); 4212 }; 4213 dst.version = version == null ? null : version.copy(); 4214 dst.name = name == null ? null : name.copy(); 4215 dst.title = title == null ? null : title.copy(); 4216 dst.subtitle = subtitle == null ? null : subtitle.copy(); 4217 dst.status = status == null ? null : status.copy(); 4218 dst.experimental = experimental == null ? null : experimental.copy(); 4219 dst.subject = subject == null ? null : subject.copy(); 4220 dst.date = date == null ? null : date.copy(); 4221 dst.publisher = publisher == null ? null : publisher.copy(); 4222 if (contact != null) { 4223 dst.contact = new ArrayList<ContactDetail>(); 4224 for (ContactDetail i : contact) 4225 dst.contact.add(i.copy()); 4226 }; 4227 dst.description = description == null ? null : description.copy(); 4228 if (useContext != null) { 4229 dst.useContext = new ArrayList<UsageContext>(); 4230 for (UsageContext i : useContext) 4231 dst.useContext.add(i.copy()); 4232 }; 4233 if (jurisdiction != null) { 4234 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4235 for (CodeableConcept i : jurisdiction) 4236 dst.jurisdiction.add(i.copy()); 4237 }; 4238 dst.purpose = purpose == null ? null : purpose.copy(); 4239 dst.usage = usage == null ? null : usage.copy(); 4240 dst.copyright = copyright == null ? null : copyright.copy(); 4241 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 4242 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 4243 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 4244 if (topic != null) { 4245 dst.topic = new ArrayList<CodeableConcept>(); 4246 for (CodeableConcept i : topic) 4247 dst.topic.add(i.copy()); 4248 }; 4249 if (author != null) { 4250 dst.author = new ArrayList<ContactDetail>(); 4251 for (ContactDetail i : author) 4252 dst.author.add(i.copy()); 4253 }; 4254 if (editor != null) { 4255 dst.editor = new ArrayList<ContactDetail>(); 4256 for (ContactDetail i : editor) 4257 dst.editor.add(i.copy()); 4258 }; 4259 if (reviewer != null) { 4260 dst.reviewer = new ArrayList<ContactDetail>(); 4261 for (ContactDetail i : reviewer) 4262 dst.reviewer.add(i.copy()); 4263 }; 4264 if (endorser != null) { 4265 dst.endorser = new ArrayList<ContactDetail>(); 4266 for (ContactDetail i : endorser) 4267 dst.endorser.add(i.copy()); 4268 }; 4269 if (relatedArtifact != null) { 4270 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 4271 for (RelatedArtifact i : relatedArtifact) 4272 dst.relatedArtifact.add(i.copy()); 4273 }; 4274 if (library != null) { 4275 dst.library = new ArrayList<CanonicalType>(); 4276 for (CanonicalType i : library) 4277 dst.library.add(i.copy()); 4278 }; 4279 dst.kind = kind == null ? null : kind.copy(); 4280 dst.profile = profile == null ? null : profile.copy(); 4281 dst.code = code == null ? null : code.copy(); 4282 dst.intent = intent == null ? null : intent.copy(); 4283 dst.priority = priority == null ? null : priority.copy(); 4284 dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); 4285 dst.timing = timing == null ? null : timing.copy(); 4286 dst.location = location == null ? null : location.copy(); 4287 if (participant != null) { 4288 dst.participant = new ArrayList<ActivityDefinitionParticipantComponent>(); 4289 for (ActivityDefinitionParticipantComponent i : participant) 4290 dst.participant.add(i.copy()); 4291 }; 4292 dst.product = product == null ? null : product.copy(); 4293 dst.quantity = quantity == null ? null : quantity.copy(); 4294 if (dosage != null) { 4295 dst.dosage = new ArrayList<Dosage>(); 4296 for (Dosage i : dosage) 4297 dst.dosage.add(i.copy()); 4298 }; 4299 if (bodySite != null) { 4300 dst.bodySite = new ArrayList<CodeableConcept>(); 4301 for (CodeableConcept i : bodySite) 4302 dst.bodySite.add(i.copy()); 4303 }; 4304 if (specimenRequirement != null) { 4305 dst.specimenRequirement = new ArrayList<Reference>(); 4306 for (Reference i : specimenRequirement) 4307 dst.specimenRequirement.add(i.copy()); 4308 }; 4309 if (observationRequirement != null) { 4310 dst.observationRequirement = new ArrayList<Reference>(); 4311 for (Reference i : observationRequirement) 4312 dst.observationRequirement.add(i.copy()); 4313 }; 4314 if (observationResultRequirement != null) { 4315 dst.observationResultRequirement = new ArrayList<Reference>(); 4316 for (Reference i : observationResultRequirement) 4317 dst.observationResultRequirement.add(i.copy()); 4318 }; 4319 dst.transform = transform == null ? null : transform.copy(); 4320 if (dynamicValue != null) { 4321 dst.dynamicValue = new ArrayList<ActivityDefinitionDynamicValueComponent>(); 4322 for (ActivityDefinitionDynamicValueComponent i : dynamicValue) 4323 dst.dynamicValue.add(i.copy()); 4324 }; 4325 } 4326 4327 protected ActivityDefinition typedCopy() { 4328 return copy(); 4329 } 4330 4331 @Override 4332 public boolean equalsDeep(Base other_) { 4333 if (!super.equalsDeep(other_)) 4334 return false; 4335 if (!(other_ instanceof ActivityDefinition)) 4336 return false; 4337 ActivityDefinition o = (ActivityDefinition) other_; 4338 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 4339 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(subtitle, o.subtitle, true) 4340 && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(subject, o.subject, true) 4341 && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) 4342 && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 4343 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(usage, o.usage, true) 4344 && compareDeep(copyright, o.copyright, true) && compareDeep(approvalDate, o.approvalDate, true) 4345 && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) 4346 && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true) 4347 && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) 4348 && compareDeep(library, o.library, true) && compareDeep(kind, o.kind, true) && compareDeep(profile, o.profile, true) 4349 && compareDeep(code, o.code, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) 4350 && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(timing, o.timing, true) && compareDeep(location, o.location, true) 4351 && compareDeep(participant, o.participant, true) && compareDeep(product, o.product, true) && compareDeep(quantity, o.quantity, true) 4352 && compareDeep(dosage, o.dosage, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(specimenRequirement, o.specimenRequirement, true) 4353 && compareDeep(observationRequirement, o.observationRequirement, true) && compareDeep(observationResultRequirement, o.observationResultRequirement, true) 4354 && compareDeep(transform, o.transform, true) && compareDeep(dynamicValue, o.dynamicValue, true) 4355 ; 4356 } 4357 4358 @Override 4359 public boolean equalsShallow(Base other_) { 4360 if (!super.equalsShallow(other_)) 4361 return false; 4362 if (!(other_ instanceof ActivityDefinition)) 4363 return false; 4364 ActivityDefinition o = (ActivityDefinition) other_; 4365 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 4366 && compareValues(title, o.title, true) && compareValues(subtitle, o.subtitle, true) && compareValues(status, o.status, true) 4367 && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) 4368 && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(usage, o.usage, true) 4369 && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) 4370 && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(library, o.library, true) 4371 && compareValues(kind, o.kind, true) && compareValues(profile, o.profile, true) && compareValues(intent, o.intent, true) 4372 && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(transform, o.transform, true) 4373 ; 4374 } 4375 4376 public boolean isEmpty() { 4377 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 4378 , name, title, subtitle, status, experimental, subject, date, publisher, contact 4379 , description, useContext, jurisdiction, purpose, usage, copyright, approvalDate 4380 , lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact 4381 , library, kind, profile, code, intent, priority, doNotPerform, timing, location 4382 , participant, product, quantity, dosage, bodySite, specimenRequirement, observationRequirement 4383 , observationResultRequirement, transform, dynamicValue); 4384 } 4385 4386 @Override 4387 public ResourceType getResourceType() { 4388 return ResourceType.ActivityDefinition; 4389 } 4390 4391 /** 4392 * Search parameter: <b>composed-of</b> 4393 * <p> 4394 * Description: <b>What resource is being referenced</b><br> 4395 * Type: <b>reference</b><br> 4396 * Path: <b>ActivityDefinition.relatedArtifact.where(type='composed-of').resource</b><br> 4397 * </p> 4398 */ 4399 @SearchParamDefinition(name="composed-of", path="ActivityDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4400 public static final String SP_COMPOSED_OF = "composed-of"; 4401 /** 4402 * <b>Fluent Client</b> search parameter constant for <b>composed-of</b> 4403 * <p> 4404 * Description: <b>What resource is being referenced</b><br> 4405 * Type: <b>reference</b><br> 4406 * Path: <b>ActivityDefinition.relatedArtifact.where(type='composed-of').resource</b><br> 4407 * </p> 4408 */ 4409 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSED_OF); 4410 4411/** 4412 * Constant for fluent queries to be used to add include statements. Specifies 4413 * the path value of "<b>ActivityDefinition:composed-of</b>". 4414 */ 4415 public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include("ActivityDefinition:composed-of").toLocked(); 4416 4417 /** 4418 * Search parameter: <b>context-quantity</b> 4419 * <p> 4420 * Description: <b>A quantity- or range-valued use context assigned to the activity definition</b><br> 4421 * Type: <b>quantity</b><br> 4422 * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range)</b><br> 4423 * </p> 4424 */ 4425 @SearchParamDefinition(name="context-quantity", path="(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the activity definition", type="quantity" ) 4426 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 4427 /** 4428 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 4429 * <p> 4430 * Description: <b>A quantity- or range-valued use context assigned to the activity definition</b><br> 4431 * Type: <b>quantity</b><br> 4432 * Path: <b>(ActivityDefinition.useContext.value as Quantity) | (ActivityDefinition.useContext.value as Range)</b><br> 4433 * </p> 4434 */ 4435 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 4436 4437 /** 4438 * Search parameter: <b>context-type-quantity</b> 4439 * <p> 4440 * Description: <b>A use context type and quantity- or range-based value assigned to the activity definition</b><br> 4441 * Type: <b>composite</b><br> 4442 * Path: <b>ActivityDefinition.useContext</b><br> 4443 * </p> 4444 */ 4445 @SearchParamDefinition(name="context-type-quantity", path="ActivityDefinition.useContext", description="A use context type and quantity- or range-based value assigned to the activity definition", type="composite", compositeOf={"context-type", "context-quantity"} ) 4446 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 4447 /** 4448 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 4449 * <p> 4450 * Description: <b>A use context type and quantity- or range-based value assigned to the activity definition</b><br> 4451 * Type: <b>composite</b><br> 4452 * Path: <b>ActivityDefinition.useContext</b><br> 4453 * </p> 4454 */ 4455 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 4456 4457 /** 4458 * Search parameter: <b>context-type-value</b> 4459 * <p> 4460 * Description: <b>A use context type and value assigned to the activity definition</b><br> 4461 * Type: <b>composite</b><br> 4462 * Path: <b>ActivityDefinition.useContext</b><br> 4463 * </p> 4464 */ 4465 @SearchParamDefinition(name="context-type-value", path="ActivityDefinition.useContext", description="A use context type and value assigned to the activity definition", type="composite", compositeOf={"context-type", "context"} ) 4466 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 4467 /** 4468 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 4469 * <p> 4470 * Description: <b>A use context type and value assigned to the activity definition</b><br> 4471 * Type: <b>composite</b><br> 4472 * Path: <b>ActivityDefinition.useContext</b><br> 4473 * </p> 4474 */ 4475 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 4476 4477 /** 4478 * Search parameter: <b>context-type</b> 4479 * <p> 4480 * Description: <b>A type of use context assigned to the activity definition</b><br> 4481 * Type: <b>token</b><br> 4482 * Path: <b>ActivityDefinition.useContext.code</b><br> 4483 * </p> 4484 */ 4485 @SearchParamDefinition(name="context-type", path="ActivityDefinition.useContext.code", description="A type of use context assigned to the activity definition", type="token" ) 4486 public static final String SP_CONTEXT_TYPE = "context-type"; 4487 /** 4488 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 4489 * <p> 4490 * Description: <b>A type of use context assigned to the activity definition</b><br> 4491 * Type: <b>token</b><br> 4492 * Path: <b>ActivityDefinition.useContext.code</b><br> 4493 * </p> 4494 */ 4495 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 4496 4497 /** 4498 * Search parameter: <b>context</b> 4499 * <p> 4500 * Description: <b>A use context assigned to the activity definition</b><br> 4501 * Type: <b>token</b><br> 4502 * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept)</b><br> 4503 * </p> 4504 */ 4505 @SearchParamDefinition(name="context", path="(ActivityDefinition.useContext.value as CodeableConcept)", description="A use context assigned to the activity definition", type="token" ) 4506 public static final String SP_CONTEXT = "context"; 4507 /** 4508 * <b>Fluent Client</b> search parameter constant for <b>context</b> 4509 * <p> 4510 * Description: <b>A use context assigned to the activity definition</b><br> 4511 * Type: <b>token</b><br> 4512 * Path: <b>(ActivityDefinition.useContext.value as CodeableConcept)</b><br> 4513 * </p> 4514 */ 4515 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 4516 4517 /** 4518 * Search parameter: <b>date</b> 4519 * <p> 4520 * Description: <b>The activity definition publication date</b><br> 4521 * Type: <b>date</b><br> 4522 * Path: <b>ActivityDefinition.date</b><br> 4523 * </p> 4524 */ 4525 @SearchParamDefinition(name="date", path="ActivityDefinition.date", description="The activity definition publication date", type="date" ) 4526 public static final String SP_DATE = "date"; 4527 /** 4528 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4529 * <p> 4530 * Description: <b>The activity definition publication date</b><br> 4531 * Type: <b>date</b><br> 4532 * Path: <b>ActivityDefinition.date</b><br> 4533 * </p> 4534 */ 4535 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4536 4537 /** 4538 * Search parameter: <b>depends-on</b> 4539 * <p> 4540 * Description: <b>What resource is being referenced</b><br> 4541 * Type: <b>reference</b><br> 4542 * Path: <b>ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library</b><br> 4543 * </p> 4544 */ 4545 @SearchParamDefinition(name="depends-on", path="ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4546 public static final String SP_DEPENDS_ON = "depends-on"; 4547 /** 4548 * <b>Fluent Client</b> search parameter constant for <b>depends-on</b> 4549 * <p> 4550 * Description: <b>What resource is being referenced</b><br> 4551 * Type: <b>reference</b><br> 4552 * Path: <b>ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library</b><br> 4553 * </p> 4554 */ 4555 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON); 4556 4557/** 4558 * Constant for fluent queries to be used to add include statements. Specifies 4559 * the path value of "<b>ActivityDefinition:depends-on</b>". 4560 */ 4561 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("ActivityDefinition:depends-on").toLocked(); 4562 4563 /** 4564 * Search parameter: <b>derived-from</b> 4565 * <p> 4566 * Description: <b>What resource is being referenced</b><br> 4567 * Type: <b>reference</b><br> 4568 * Path: <b>ActivityDefinition.relatedArtifact.where(type='derived-from').resource</b><br> 4569 * </p> 4570 */ 4571 @SearchParamDefinition(name="derived-from", path="ActivityDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4572 public static final String SP_DERIVED_FROM = "derived-from"; 4573 /** 4574 * <b>Fluent Client</b> search parameter constant for <b>derived-from</b> 4575 * <p> 4576 * Description: <b>What resource is being referenced</b><br> 4577 * Type: <b>reference</b><br> 4578 * Path: <b>ActivityDefinition.relatedArtifact.where(type='derived-from').resource</b><br> 4579 * </p> 4580 */ 4581 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); 4582 4583/** 4584 * Constant for fluent queries to be used to add include statements. Specifies 4585 * the path value of "<b>ActivityDefinition:derived-from</b>". 4586 */ 4587 public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("ActivityDefinition:derived-from").toLocked(); 4588 4589 /** 4590 * Search parameter: <b>description</b> 4591 * <p> 4592 * Description: <b>The description of the activity definition</b><br> 4593 * Type: <b>string</b><br> 4594 * Path: <b>ActivityDefinition.description</b><br> 4595 * </p> 4596 */ 4597 @SearchParamDefinition(name="description", path="ActivityDefinition.description", description="The description of the activity definition", type="string" ) 4598 public static final String SP_DESCRIPTION = "description"; 4599 /** 4600 * <b>Fluent Client</b> search parameter constant for <b>description</b> 4601 * <p> 4602 * Description: <b>The description of the activity definition</b><br> 4603 * Type: <b>string</b><br> 4604 * Path: <b>ActivityDefinition.description</b><br> 4605 * </p> 4606 */ 4607 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 4608 4609 /** 4610 * Search parameter: <b>effective</b> 4611 * <p> 4612 * Description: <b>The time during which the activity definition is intended to be in use</b><br> 4613 * Type: <b>date</b><br> 4614 * Path: <b>ActivityDefinition.effectivePeriod</b><br> 4615 * </p> 4616 */ 4617 @SearchParamDefinition(name="effective", path="ActivityDefinition.effectivePeriod", description="The time during which the activity definition is intended to be in use", type="date" ) 4618 public static final String SP_EFFECTIVE = "effective"; 4619 /** 4620 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 4621 * <p> 4622 * Description: <b>The time during which the activity definition is intended to be in use</b><br> 4623 * Type: <b>date</b><br> 4624 * Path: <b>ActivityDefinition.effectivePeriod</b><br> 4625 * </p> 4626 */ 4627 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); 4628 4629 /** 4630 * Search parameter: <b>identifier</b> 4631 * <p> 4632 * Description: <b>External identifier for the activity definition</b><br> 4633 * Type: <b>token</b><br> 4634 * Path: <b>ActivityDefinition.identifier</b><br> 4635 * </p> 4636 */ 4637 @SearchParamDefinition(name="identifier", path="ActivityDefinition.identifier", description="External identifier for the activity definition", type="token" ) 4638 public static final String SP_IDENTIFIER = "identifier"; 4639 /** 4640 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 4641 * <p> 4642 * Description: <b>External identifier for the activity definition</b><br> 4643 * Type: <b>token</b><br> 4644 * Path: <b>ActivityDefinition.identifier</b><br> 4645 * </p> 4646 */ 4647 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 4648 4649 /** 4650 * Search parameter: <b>jurisdiction</b> 4651 * <p> 4652 * Description: <b>Intended jurisdiction for the activity definition</b><br> 4653 * Type: <b>token</b><br> 4654 * Path: <b>ActivityDefinition.jurisdiction</b><br> 4655 * </p> 4656 */ 4657 @SearchParamDefinition(name="jurisdiction", path="ActivityDefinition.jurisdiction", description="Intended jurisdiction for the activity definition", type="token" ) 4658 public static final String SP_JURISDICTION = "jurisdiction"; 4659 /** 4660 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 4661 * <p> 4662 * Description: <b>Intended jurisdiction for the activity definition</b><br> 4663 * Type: <b>token</b><br> 4664 * Path: <b>ActivityDefinition.jurisdiction</b><br> 4665 * </p> 4666 */ 4667 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 4668 4669 /** 4670 * Search parameter: <b>name</b> 4671 * <p> 4672 * Description: <b>Computationally friendly name of the activity definition</b><br> 4673 * Type: <b>string</b><br> 4674 * Path: <b>ActivityDefinition.name</b><br> 4675 * </p> 4676 */ 4677 @SearchParamDefinition(name="name", path="ActivityDefinition.name", description="Computationally friendly name of the activity definition", type="string" ) 4678 public static final String SP_NAME = "name"; 4679 /** 4680 * <b>Fluent Client</b> search parameter constant for <b>name</b> 4681 * <p> 4682 * Description: <b>Computationally friendly name of the activity definition</b><br> 4683 * Type: <b>string</b><br> 4684 * Path: <b>ActivityDefinition.name</b><br> 4685 * </p> 4686 */ 4687 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 4688 4689 /** 4690 * Search parameter: <b>predecessor</b> 4691 * <p> 4692 * Description: <b>What resource is being referenced</b><br> 4693 * Type: <b>reference</b><br> 4694 * Path: <b>ActivityDefinition.relatedArtifact.where(type='predecessor').resource</b><br> 4695 * </p> 4696 */ 4697 @SearchParamDefinition(name="predecessor", path="ActivityDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4698 public static final String SP_PREDECESSOR = "predecessor"; 4699 /** 4700 * <b>Fluent Client</b> search parameter constant for <b>predecessor</b> 4701 * <p> 4702 * Description: <b>What resource is being referenced</b><br> 4703 * Type: <b>reference</b><br> 4704 * Path: <b>ActivityDefinition.relatedArtifact.where(type='predecessor').resource</b><br> 4705 * </p> 4706 */ 4707 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); 4708 4709/** 4710 * Constant for fluent queries to be used to add include statements. Specifies 4711 * the path value of "<b>ActivityDefinition:predecessor</b>". 4712 */ 4713 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("ActivityDefinition:predecessor").toLocked(); 4714 4715 /** 4716 * Search parameter: <b>publisher</b> 4717 * <p> 4718 * Description: <b>Name of the publisher of the activity definition</b><br> 4719 * Type: <b>string</b><br> 4720 * Path: <b>ActivityDefinition.publisher</b><br> 4721 * </p> 4722 */ 4723 @SearchParamDefinition(name="publisher", path="ActivityDefinition.publisher", description="Name of the publisher of the activity definition", type="string" ) 4724 public static final String SP_PUBLISHER = "publisher"; 4725 /** 4726 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 4727 * <p> 4728 * Description: <b>Name of the publisher of the activity definition</b><br> 4729 * Type: <b>string</b><br> 4730 * Path: <b>ActivityDefinition.publisher</b><br> 4731 * </p> 4732 */ 4733 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 4734 4735 /** 4736 * Search parameter: <b>status</b> 4737 * <p> 4738 * Description: <b>The current status of the activity definition</b><br> 4739 * Type: <b>token</b><br> 4740 * Path: <b>ActivityDefinition.status</b><br> 4741 * </p> 4742 */ 4743 @SearchParamDefinition(name="status", path="ActivityDefinition.status", description="The current status of the activity definition", type="token" ) 4744 public static final String SP_STATUS = "status"; 4745 /** 4746 * <b>Fluent Client</b> search parameter constant for <b>status</b> 4747 * <p> 4748 * Description: <b>The current status of the activity definition</b><br> 4749 * Type: <b>token</b><br> 4750 * Path: <b>ActivityDefinition.status</b><br> 4751 * </p> 4752 */ 4753 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 4754 4755 /** 4756 * Search parameter: <b>successor</b> 4757 * <p> 4758 * Description: <b>What resource is being referenced</b><br> 4759 * Type: <b>reference</b><br> 4760 * Path: <b>ActivityDefinition.relatedArtifact.where(type='successor').resource</b><br> 4761 * </p> 4762 */ 4763 @SearchParamDefinition(name="successor", path="ActivityDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, CatalogEntry.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceMetric.class, DeviceRequest.class, DeviceUseStatement.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Media.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchDefinition.class, ResearchElementDefinition.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 4764 public static final String SP_SUCCESSOR = "successor"; 4765 /** 4766 * <b>Fluent Client</b> search parameter constant for <b>successor</b> 4767 * <p> 4768 * Description: <b>What resource is being referenced</b><br> 4769 * Type: <b>reference</b><br> 4770 * Path: <b>ActivityDefinition.relatedArtifact.where(type='successor').resource</b><br> 4771 * </p> 4772 */ 4773 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUCCESSOR); 4774 4775/** 4776 * Constant for fluent queries to be used to add include statements. Specifies 4777 * the path value of "<b>ActivityDefinition:successor</b>". 4778 */ 4779 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include("ActivityDefinition:successor").toLocked(); 4780 4781 /** 4782 * Search parameter: <b>title</b> 4783 * <p> 4784 * Description: <b>The human-friendly name of the activity definition</b><br> 4785 * Type: <b>string</b><br> 4786 * Path: <b>ActivityDefinition.title</b><br> 4787 * </p> 4788 */ 4789 @SearchParamDefinition(name="title", path="ActivityDefinition.title", description="The human-friendly name of the activity definition", type="string" ) 4790 public static final String SP_TITLE = "title"; 4791 /** 4792 * <b>Fluent Client</b> search parameter constant for <b>title</b> 4793 * <p> 4794 * Description: <b>The human-friendly name of the activity definition</b><br> 4795 * Type: <b>string</b><br> 4796 * Path: <b>ActivityDefinition.title</b><br> 4797 * </p> 4798 */ 4799 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 4800 4801 /** 4802 * Search parameter: <b>topic</b> 4803 * <p> 4804 * Description: <b>Topics associated with the module</b><br> 4805 * Type: <b>token</b><br> 4806 * Path: <b>ActivityDefinition.topic</b><br> 4807 * </p> 4808 */ 4809 @SearchParamDefinition(name="topic", path="ActivityDefinition.topic", description="Topics associated with the module", type="token" ) 4810 public static final String SP_TOPIC = "topic"; 4811 /** 4812 * <b>Fluent Client</b> search parameter constant for <b>topic</b> 4813 * <p> 4814 * Description: <b>Topics associated with the module</b><br> 4815 * Type: <b>token</b><br> 4816 * Path: <b>ActivityDefinition.topic</b><br> 4817 * </p> 4818 */ 4819 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); 4820 4821 /** 4822 * Search parameter: <b>url</b> 4823 * <p> 4824 * Description: <b>The uri that identifies the activity definition</b><br> 4825 * Type: <b>uri</b><br> 4826 * Path: <b>ActivityDefinition.url</b><br> 4827 * </p> 4828 */ 4829 @SearchParamDefinition(name="url", path="ActivityDefinition.url", description="The uri that identifies the activity definition", type="uri" ) 4830 public static final String SP_URL = "url"; 4831 /** 4832 * <b>Fluent Client</b> search parameter constant for <b>url</b> 4833 * <p> 4834 * Description: <b>The uri that identifies the activity definition</b><br> 4835 * Type: <b>uri</b><br> 4836 * Path: <b>ActivityDefinition.url</b><br> 4837 * </p> 4838 */ 4839 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 4840 4841 /** 4842 * Search parameter: <b>version</b> 4843 * <p> 4844 * Description: <b>The business version of the activity definition</b><br> 4845 * Type: <b>token</b><br> 4846 * Path: <b>ActivityDefinition.version</b><br> 4847 * </p> 4848 */ 4849 @SearchParamDefinition(name="version", path="ActivityDefinition.version", description="The business version of the activity definition", type="token" ) 4850 public static final String SP_VERSION = "version"; 4851 /** 4852 * <b>Fluent Client</b> search parameter constant for <b>version</b> 4853 * <p> 4854 * Description: <b>The business version of the activity definition</b><br> 4855 * Type: <b>token</b><br> 4856 * Path: <b>ActivityDefinition.version</b><br> 4857 * </p> 4858 */ 4859 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 4860 4861 4862} 4863