001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.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.r5.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 provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content. 052 */ 053@ResourceDef(name="ArtifactAssessment", profile="http://hl7.org/fhir/StructureDefinition/ArtifactAssessment") 054public class ArtifactAssessment extends MetadataResource { 055 056 public enum ArtifactAssessmentDisposition { 057 /** 058 * The comment is unresolved 059 */ 060 UNRESOLVED, 061 /** 062 * The comment is not persuasive (rejected in full) 063 */ 064 NOTPERSUASIVE, 065 /** 066 * The comment is persuasive (accepted in full) 067 */ 068 PERSUASIVE, 069 /** 070 * The comment is persuasive with modification (partially accepted) 071 */ 072 PERSUASIVEWITHMODIFICATION, 073 /** 074 * The comment is not persuasive with modification (partially rejected) 075 */ 076 NOTPERSUASIVEWITHMODIFICATION, 077 /** 078 * added to help the parsers with the generic types 079 */ 080 NULL; 081 public static ArtifactAssessmentDisposition fromCode(String codeString) throws FHIRException { 082 if (codeString == null || "".equals(codeString)) 083 return null; 084 if ("unresolved".equals(codeString)) 085 return UNRESOLVED; 086 if ("not-persuasive".equals(codeString)) 087 return NOTPERSUASIVE; 088 if ("persuasive".equals(codeString)) 089 return PERSUASIVE; 090 if ("persuasive-with-modification".equals(codeString)) 091 return PERSUASIVEWITHMODIFICATION; 092 if ("not-persuasive-with-modification".equals(codeString)) 093 return NOTPERSUASIVEWITHMODIFICATION; 094 if (Configuration.isAcceptInvalidEnums()) 095 return null; 096 else 097 throw new FHIRException("Unknown ArtifactAssessmentDisposition code '"+codeString+"'"); 098 } 099 public String toCode() { 100 switch (this) { 101 case UNRESOLVED: return "unresolved"; 102 case NOTPERSUASIVE: return "not-persuasive"; 103 case PERSUASIVE: return "persuasive"; 104 case PERSUASIVEWITHMODIFICATION: return "persuasive-with-modification"; 105 case NOTPERSUASIVEWITHMODIFICATION: return "not-persuasive-with-modification"; 106 default: return "?"; 107 } 108 } 109 public String getSystem() { 110 switch (this) { 111 case UNRESOLVED: return "http://hl7.org/fhir/artifactassessment-disposition"; 112 case NOTPERSUASIVE: return "http://hl7.org/fhir/artifactassessment-disposition"; 113 case PERSUASIVE: return "http://hl7.org/fhir/artifactassessment-disposition"; 114 case PERSUASIVEWITHMODIFICATION: return "http://hl7.org/fhir/artifactassessment-disposition"; 115 case NOTPERSUASIVEWITHMODIFICATION: return "http://hl7.org/fhir/artifactassessment-disposition"; 116 default: return "?"; 117 } 118 } 119 public String getDefinition() { 120 switch (this) { 121 case UNRESOLVED: return "The comment is unresolved"; 122 case NOTPERSUASIVE: return "The comment is not persuasive (rejected in full)"; 123 case PERSUASIVE: return "The comment is persuasive (accepted in full)"; 124 case PERSUASIVEWITHMODIFICATION: return "The comment is persuasive with modification (partially accepted)"; 125 case NOTPERSUASIVEWITHMODIFICATION: return "The comment is not persuasive with modification (partially rejected)"; 126 default: return "?"; 127 } 128 } 129 public String getDisplay() { 130 switch (this) { 131 case UNRESOLVED: return "Unresolved"; 132 case NOTPERSUASIVE: return "Not Persuasive"; 133 case PERSUASIVE: return "Persuasive"; 134 case PERSUASIVEWITHMODIFICATION: return "Persuasive with Modification"; 135 case NOTPERSUASIVEWITHMODIFICATION: return "Not Persuasive with Modification"; 136 default: return "?"; 137 } 138 } 139 } 140 141 public static class ArtifactAssessmentDispositionEnumFactory implements EnumFactory<ArtifactAssessmentDisposition> { 142 public ArtifactAssessmentDisposition fromCode(String codeString) throws IllegalArgumentException { 143 if (codeString == null || "".equals(codeString)) 144 if (codeString == null || "".equals(codeString)) 145 return null; 146 if ("unresolved".equals(codeString)) 147 return ArtifactAssessmentDisposition.UNRESOLVED; 148 if ("not-persuasive".equals(codeString)) 149 return ArtifactAssessmentDisposition.NOTPERSUASIVE; 150 if ("persuasive".equals(codeString)) 151 return ArtifactAssessmentDisposition.PERSUASIVE; 152 if ("persuasive-with-modification".equals(codeString)) 153 return ArtifactAssessmentDisposition.PERSUASIVEWITHMODIFICATION; 154 if ("not-persuasive-with-modification".equals(codeString)) 155 return ArtifactAssessmentDisposition.NOTPERSUASIVEWITHMODIFICATION; 156 throw new IllegalArgumentException("Unknown ArtifactAssessmentDisposition code '"+codeString+"'"); 157 } 158 public Enumeration<ArtifactAssessmentDisposition> fromType(Base code) throws FHIRException { 159 if (code == null) 160 return null; 161 if (code.isEmpty()) 162 return new Enumeration<ArtifactAssessmentDisposition>(this); 163 String codeString = ((PrimitiveType) code).asStringValue(); 164 if (codeString == null || "".equals(codeString)) 165 return null; 166 if ("unresolved".equals(codeString)) 167 return new Enumeration<ArtifactAssessmentDisposition>(this, ArtifactAssessmentDisposition.UNRESOLVED); 168 if ("not-persuasive".equals(codeString)) 169 return new Enumeration<ArtifactAssessmentDisposition>(this, ArtifactAssessmentDisposition.NOTPERSUASIVE); 170 if ("persuasive".equals(codeString)) 171 return new Enumeration<ArtifactAssessmentDisposition>(this, ArtifactAssessmentDisposition.PERSUASIVE); 172 if ("persuasive-with-modification".equals(codeString)) 173 return new Enumeration<ArtifactAssessmentDisposition>(this, ArtifactAssessmentDisposition.PERSUASIVEWITHMODIFICATION); 174 if ("not-persuasive-with-modification".equals(codeString)) 175 return new Enumeration<ArtifactAssessmentDisposition>(this, ArtifactAssessmentDisposition.NOTPERSUASIVEWITHMODIFICATION); 176 throw new FHIRException("Unknown ArtifactAssessmentDisposition code '"+codeString+"'"); 177 } 178 public String toCode(ArtifactAssessmentDisposition code) { 179 if (code == ArtifactAssessmentDisposition.UNRESOLVED) 180 return "unresolved"; 181 if (code == ArtifactAssessmentDisposition.NOTPERSUASIVE) 182 return "not-persuasive"; 183 if (code == ArtifactAssessmentDisposition.PERSUASIVE) 184 return "persuasive"; 185 if (code == ArtifactAssessmentDisposition.PERSUASIVEWITHMODIFICATION) 186 return "persuasive-with-modification"; 187 if (code == ArtifactAssessmentDisposition.NOTPERSUASIVEWITHMODIFICATION) 188 return "not-persuasive-with-modification"; 189 return "?"; 190 } 191 public String toSystem(ArtifactAssessmentDisposition code) { 192 return code.getSystem(); 193 } 194 } 195 196 public enum ArtifactAssessmentInformationType { 197 /** 198 * A comment on the artifact 199 */ 200 COMMENT, 201 /** 202 * A classifier of the artifact 203 */ 204 CLASSIFIER, 205 /** 206 * A rating of the artifact 207 */ 208 RATING, 209 /** 210 * A container for multiple components 211 */ 212 CONTAINER, 213 /** 214 * A response to a comment 215 */ 216 RESPONSE, 217 /** 218 * A change request for the artifact 219 */ 220 CHANGEREQUEST, 221 /** 222 * added to help the parsers with the generic types 223 */ 224 NULL; 225 public static ArtifactAssessmentInformationType fromCode(String codeString) throws FHIRException { 226 if (codeString == null || "".equals(codeString)) 227 return null; 228 if ("comment".equals(codeString)) 229 return COMMENT; 230 if ("classifier".equals(codeString)) 231 return CLASSIFIER; 232 if ("rating".equals(codeString)) 233 return RATING; 234 if ("container".equals(codeString)) 235 return CONTAINER; 236 if ("response".equals(codeString)) 237 return RESPONSE; 238 if ("change-request".equals(codeString)) 239 return CHANGEREQUEST; 240 if (Configuration.isAcceptInvalidEnums()) 241 return null; 242 else 243 throw new FHIRException("Unknown ArtifactAssessmentInformationType code '"+codeString+"'"); 244 } 245 public String toCode() { 246 switch (this) { 247 case COMMENT: return "comment"; 248 case CLASSIFIER: return "classifier"; 249 case RATING: return "rating"; 250 case CONTAINER: return "container"; 251 case RESPONSE: return "response"; 252 case CHANGEREQUEST: return "change-request"; 253 default: return "?"; 254 } 255 } 256 public String getSystem() { 257 switch (this) { 258 case COMMENT: return "http://hl7.org/fhir/artifactassessment-information-type"; 259 case CLASSIFIER: return "http://hl7.org/fhir/artifactassessment-information-type"; 260 case RATING: return "http://hl7.org/fhir/artifactassessment-information-type"; 261 case CONTAINER: return "http://hl7.org/fhir/artifactassessment-information-type"; 262 case RESPONSE: return "http://hl7.org/fhir/artifactassessment-information-type"; 263 case CHANGEREQUEST: return "http://hl7.org/fhir/artifactassessment-information-type"; 264 default: return "?"; 265 } 266 } 267 public String getDefinition() { 268 switch (this) { 269 case COMMENT: return "A comment on the artifact"; 270 case CLASSIFIER: return "A classifier of the artifact"; 271 case RATING: return "A rating of the artifact"; 272 case CONTAINER: return "A container for multiple components"; 273 case RESPONSE: return "A response to a comment"; 274 case CHANGEREQUEST: return "A change request for the artifact"; 275 default: return "?"; 276 } 277 } 278 public String getDisplay() { 279 switch (this) { 280 case COMMENT: return "Comment"; 281 case CLASSIFIER: return "Classifier"; 282 case RATING: return "Rating"; 283 case CONTAINER: return "Container"; 284 case RESPONSE: return "Response"; 285 case CHANGEREQUEST: return "Change Request"; 286 default: return "?"; 287 } 288 } 289 } 290 291 public static class ArtifactAssessmentInformationTypeEnumFactory implements EnumFactory<ArtifactAssessmentInformationType> { 292 public ArtifactAssessmentInformationType fromCode(String codeString) throws IllegalArgumentException { 293 if (codeString == null || "".equals(codeString)) 294 if (codeString == null || "".equals(codeString)) 295 return null; 296 if ("comment".equals(codeString)) 297 return ArtifactAssessmentInformationType.COMMENT; 298 if ("classifier".equals(codeString)) 299 return ArtifactAssessmentInformationType.CLASSIFIER; 300 if ("rating".equals(codeString)) 301 return ArtifactAssessmentInformationType.RATING; 302 if ("container".equals(codeString)) 303 return ArtifactAssessmentInformationType.CONTAINER; 304 if ("response".equals(codeString)) 305 return ArtifactAssessmentInformationType.RESPONSE; 306 if ("change-request".equals(codeString)) 307 return ArtifactAssessmentInformationType.CHANGEREQUEST; 308 throw new IllegalArgumentException("Unknown ArtifactAssessmentInformationType code '"+codeString+"'"); 309 } 310 public Enumeration<ArtifactAssessmentInformationType> fromType(Base code) throws FHIRException { 311 if (code == null) 312 return null; 313 if (code.isEmpty()) 314 return new Enumeration<ArtifactAssessmentInformationType>(this); 315 String codeString = ((PrimitiveType) code).asStringValue(); 316 if (codeString == null || "".equals(codeString)) 317 return null; 318 if ("comment".equals(codeString)) 319 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.COMMENT); 320 if ("classifier".equals(codeString)) 321 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.CLASSIFIER); 322 if ("rating".equals(codeString)) 323 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.RATING); 324 if ("container".equals(codeString)) 325 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.CONTAINER); 326 if ("response".equals(codeString)) 327 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.RESPONSE); 328 if ("change-request".equals(codeString)) 329 return new Enumeration<ArtifactAssessmentInformationType>(this, ArtifactAssessmentInformationType.CHANGEREQUEST); 330 throw new FHIRException("Unknown ArtifactAssessmentInformationType code '"+codeString+"'"); 331 } 332 public String toCode(ArtifactAssessmentInformationType code) { 333 if (code == ArtifactAssessmentInformationType.COMMENT) 334 return "comment"; 335 if (code == ArtifactAssessmentInformationType.CLASSIFIER) 336 return "classifier"; 337 if (code == ArtifactAssessmentInformationType.RATING) 338 return "rating"; 339 if (code == ArtifactAssessmentInformationType.CONTAINER) 340 return "container"; 341 if (code == ArtifactAssessmentInformationType.RESPONSE) 342 return "response"; 343 if (code == ArtifactAssessmentInformationType.CHANGEREQUEST) 344 return "change-request"; 345 return "?"; 346 } 347 public String toSystem(ArtifactAssessmentInformationType code) { 348 return code.getSystem(); 349 } 350 } 351 352 public enum ArtifactAssessmentWorkflowStatus { 353 /** 354 * The comment has been submitted, but the responsible party has not yet been determined, or the responsible party has not yet determined the next steps to be taken. 355 */ 356 SUBMITTED, 357 /** 358 * The comment has been triaged, meaning the responsible party has been determined and next steps have been identified to address the comment. 359 */ 360 TRIAGED, 361 /** 362 * The comment is waiting for input from a specific party before next steps can be taken. 363 */ 364 WAITINGFORINPUT, 365 /** 366 * The comment has been resolved and no changes resulted from the resolution 367 */ 368 RESOLVEDNOCHANGE, 369 /** 370 * The comment has been resolved and changes are required to address the comment 371 */ 372 RESOLVEDCHANGEREQUIRED, 373 /** 374 * The comment is acceptable, but resolution of the comment and application of any associated changes have been deferred 375 */ 376 DEFERRED, 377 /** 378 * The comment is a duplicate of another comment already received 379 */ 380 DUPLICATE, 381 /** 382 * The comment is resolved and any necessary changes have been applied 383 */ 384 APPLIED, 385 /** 386 * The necessary changes to the artifact have been published in a new version of the artifact 387 */ 388 PUBLISHED, 389 /** 390 * added to help the parsers with the generic types 391 */ 392 NULL; 393 public static ArtifactAssessmentWorkflowStatus fromCode(String codeString) throws FHIRException { 394 if (codeString == null || "".equals(codeString)) 395 return null; 396 if ("submitted".equals(codeString)) 397 return SUBMITTED; 398 if ("triaged".equals(codeString)) 399 return TRIAGED; 400 if ("waiting-for-input".equals(codeString)) 401 return WAITINGFORINPUT; 402 if ("resolved-no-change".equals(codeString)) 403 return RESOLVEDNOCHANGE; 404 if ("resolved-change-required".equals(codeString)) 405 return RESOLVEDCHANGEREQUIRED; 406 if ("deferred".equals(codeString)) 407 return DEFERRED; 408 if ("duplicate".equals(codeString)) 409 return DUPLICATE; 410 if ("applied".equals(codeString)) 411 return APPLIED; 412 if ("published".equals(codeString)) 413 return PUBLISHED; 414 if (Configuration.isAcceptInvalidEnums()) 415 return null; 416 else 417 throw new FHIRException("Unknown ArtifactAssessmentWorkflowStatus code '"+codeString+"'"); 418 } 419 public String toCode() { 420 switch (this) { 421 case SUBMITTED: return "submitted"; 422 case TRIAGED: return "triaged"; 423 case WAITINGFORINPUT: return "waiting-for-input"; 424 case RESOLVEDNOCHANGE: return "resolved-no-change"; 425 case RESOLVEDCHANGEREQUIRED: return "resolved-change-required"; 426 case DEFERRED: return "deferred"; 427 case DUPLICATE: return "duplicate"; 428 case APPLIED: return "applied"; 429 case PUBLISHED: return "published"; 430 default: return "?"; 431 } 432 } 433 public String getSystem() { 434 switch (this) { 435 case SUBMITTED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 436 case TRIAGED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 437 case WAITINGFORINPUT: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 438 case RESOLVEDNOCHANGE: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 439 case RESOLVEDCHANGEREQUIRED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 440 case DEFERRED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 441 case DUPLICATE: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 442 case APPLIED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 443 case PUBLISHED: return "http://hl7.org/fhir/artifactassessment-workflow-status"; 444 default: return "?"; 445 } 446 } 447 public String getDefinition() { 448 switch (this) { 449 case SUBMITTED: return "The comment has been submitted, but the responsible party has not yet been determined, or the responsible party has not yet determined the next steps to be taken."; 450 case TRIAGED: return "The comment has been triaged, meaning the responsible party has been determined and next steps have been identified to address the comment."; 451 case WAITINGFORINPUT: return "The comment is waiting for input from a specific party before next steps can be taken."; 452 case RESOLVEDNOCHANGE: return "The comment has been resolved and no changes resulted from the resolution"; 453 case RESOLVEDCHANGEREQUIRED: return "The comment has been resolved and changes are required to address the comment"; 454 case DEFERRED: return "The comment is acceptable, but resolution of the comment and application of any associated changes have been deferred"; 455 case DUPLICATE: return "The comment is a duplicate of another comment already received"; 456 case APPLIED: return "The comment is resolved and any necessary changes have been applied"; 457 case PUBLISHED: return "The necessary changes to the artifact have been published in a new version of the artifact"; 458 default: return "?"; 459 } 460 } 461 public String getDisplay() { 462 switch (this) { 463 case SUBMITTED: return "Submitted"; 464 case TRIAGED: return "Triaged"; 465 case WAITINGFORINPUT: return "Waiting for Input"; 466 case RESOLVEDNOCHANGE: return "Resolved - No Change"; 467 case RESOLVEDCHANGEREQUIRED: return "Resolved - Change Required"; 468 case DEFERRED: return "Deferred"; 469 case DUPLICATE: return "Duplicate"; 470 case APPLIED: return "Applied"; 471 case PUBLISHED: return "Published"; 472 default: return "?"; 473 } 474 } 475 } 476 477 public static class ArtifactAssessmentWorkflowStatusEnumFactory implements EnumFactory<ArtifactAssessmentWorkflowStatus> { 478 public ArtifactAssessmentWorkflowStatus fromCode(String codeString) throws IllegalArgumentException { 479 if (codeString == null || "".equals(codeString)) 480 if (codeString == null || "".equals(codeString)) 481 return null; 482 if ("submitted".equals(codeString)) 483 return ArtifactAssessmentWorkflowStatus.SUBMITTED; 484 if ("triaged".equals(codeString)) 485 return ArtifactAssessmentWorkflowStatus.TRIAGED; 486 if ("waiting-for-input".equals(codeString)) 487 return ArtifactAssessmentWorkflowStatus.WAITINGFORINPUT; 488 if ("resolved-no-change".equals(codeString)) 489 return ArtifactAssessmentWorkflowStatus.RESOLVEDNOCHANGE; 490 if ("resolved-change-required".equals(codeString)) 491 return ArtifactAssessmentWorkflowStatus.RESOLVEDCHANGEREQUIRED; 492 if ("deferred".equals(codeString)) 493 return ArtifactAssessmentWorkflowStatus.DEFERRED; 494 if ("duplicate".equals(codeString)) 495 return ArtifactAssessmentWorkflowStatus.DUPLICATE; 496 if ("applied".equals(codeString)) 497 return ArtifactAssessmentWorkflowStatus.APPLIED; 498 if ("published".equals(codeString)) 499 return ArtifactAssessmentWorkflowStatus.PUBLISHED; 500 throw new IllegalArgumentException("Unknown ArtifactAssessmentWorkflowStatus code '"+codeString+"'"); 501 } 502 public Enumeration<ArtifactAssessmentWorkflowStatus> fromType(Base code) throws FHIRException { 503 if (code == null) 504 return null; 505 if (code.isEmpty()) 506 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this); 507 String codeString = ((PrimitiveType) code).asStringValue(); 508 if (codeString == null || "".equals(codeString)) 509 return null; 510 if ("submitted".equals(codeString)) 511 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.SUBMITTED); 512 if ("triaged".equals(codeString)) 513 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.TRIAGED); 514 if ("waiting-for-input".equals(codeString)) 515 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.WAITINGFORINPUT); 516 if ("resolved-no-change".equals(codeString)) 517 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.RESOLVEDNOCHANGE); 518 if ("resolved-change-required".equals(codeString)) 519 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.RESOLVEDCHANGEREQUIRED); 520 if ("deferred".equals(codeString)) 521 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.DEFERRED); 522 if ("duplicate".equals(codeString)) 523 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.DUPLICATE); 524 if ("applied".equals(codeString)) 525 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.APPLIED); 526 if ("published".equals(codeString)) 527 return new Enumeration<ArtifactAssessmentWorkflowStatus>(this, ArtifactAssessmentWorkflowStatus.PUBLISHED); 528 throw new FHIRException("Unknown ArtifactAssessmentWorkflowStatus code '"+codeString+"'"); 529 } 530 public String toCode(ArtifactAssessmentWorkflowStatus code) { 531 if (code == ArtifactAssessmentWorkflowStatus.SUBMITTED) 532 return "submitted"; 533 if (code == ArtifactAssessmentWorkflowStatus.TRIAGED) 534 return "triaged"; 535 if (code == ArtifactAssessmentWorkflowStatus.WAITINGFORINPUT) 536 return "waiting-for-input"; 537 if (code == ArtifactAssessmentWorkflowStatus.RESOLVEDNOCHANGE) 538 return "resolved-no-change"; 539 if (code == ArtifactAssessmentWorkflowStatus.RESOLVEDCHANGEREQUIRED) 540 return "resolved-change-required"; 541 if (code == ArtifactAssessmentWorkflowStatus.DEFERRED) 542 return "deferred"; 543 if (code == ArtifactAssessmentWorkflowStatus.DUPLICATE) 544 return "duplicate"; 545 if (code == ArtifactAssessmentWorkflowStatus.APPLIED) 546 return "applied"; 547 if (code == ArtifactAssessmentWorkflowStatus.PUBLISHED) 548 return "published"; 549 return "?"; 550 } 551 public String toSystem(ArtifactAssessmentWorkflowStatus code) { 552 return code.getSystem(); 553 } 554 } 555 556 @Block() 557 public static class ArtifactAssessmentContentComponent extends BackboneElement implements IBaseBackboneElement { 558 /** 559 * The type of information this component of the content represents. 560 */ 561 @Child(name = "informationType", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 562 @Description(shortDefinition="comment | classifier | rating | container | response | change-request", formalDefinition="The type of information this component of the content represents." ) 563 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/artifactassessment-information-type") 564 protected Enumeration<ArtifactAssessmentInformationType> informationType; 565 566 /** 567 * A brief summary of the content of this component. 568 */ 569 @Child(name = "summary", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 570 @Description(shortDefinition="Brief summary of the content", formalDefinition="A brief summary of the content of this component." ) 571 protected MarkdownType summary; 572 573 /** 574 * Indicates what type of content this component represents. 575 */ 576 @Child(name = "type", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) 577 @Description(shortDefinition="What type of content", formalDefinition="Indicates what type of content this component represents." ) 578 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/certainty-type") 579 protected CodeableConcept type; 580 581 /** 582 * Represents a rating, classifier, or assessment of the artifact. 583 */ 584 @Child(name = "classifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 585 @Description(shortDefinition="Rating, classifier, or assessment", formalDefinition="Represents a rating, classifier, or assessment of the artifact." ) 586 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/certainty-rating") 587 protected List<CodeableConcept> classifier; 588 589 /** 590 * Indicates who or what authored the content. 591 */ 592 @Child(name = "author", type = {Patient.class, Practitioner.class, PractitionerRole.class, Organization.class, Device.class}, order=5, min=0, max=1, modifier=false, summary=false) 593 @Description(shortDefinition="Who authored the content", formalDefinition="Indicates who or what authored the content." ) 594 protected Reference author; 595 596 /** 597 * A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource. 598 */ 599 @Child(name = "path", type = {UriType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 600 @Description(shortDefinition="What the comment is directed to", formalDefinition="A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource." ) 601 protected List<UriType> path; 602 603 /** 604 * Additional related artifacts that provide supporting documentation, additional evidence, or further information related to the content. 605 */ 606 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 607 @Description(shortDefinition="Additional information", formalDefinition="Additional related artifacts that provide supporting documentation, additional evidence, or further information related to the content." ) 608 protected List<RelatedArtifact> relatedArtifact; 609 610 /** 611 * Acceptable to publicly share the comment, classifier or rating. 612 */ 613 @Child(name = "freeToShare", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=false) 614 @Description(shortDefinition="Acceptable to publicly share the resource content", formalDefinition="Acceptable to publicly share the comment, classifier or rating." ) 615 protected BooleanType freeToShare; 616 617 /** 618 * If the informationType is container, the components of the content. 619 */ 620 @Child(name = "component", type = {ArtifactAssessmentContentComponent.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 621 @Description(shortDefinition="Contained content", formalDefinition="If the informationType is container, the components of the content." ) 622 protected List<ArtifactAssessmentContentComponent> component; 623 624 private static final long serialVersionUID = -1157330937L; 625 626 /** 627 * Constructor 628 */ 629 public ArtifactAssessmentContentComponent() { 630 super(); 631 } 632 633 /** 634 * @return {@link #informationType} (The type of information this component of the content represents.). This is the underlying object with id, value and extensions. The accessor "getInformationType" gives direct access to the value 635 */ 636 public Enumeration<ArtifactAssessmentInformationType> getInformationTypeElement() { 637 if (this.informationType == null) 638 if (Configuration.errorOnAutoCreate()) 639 throw new Error("Attempt to auto-create ArtifactAssessmentContentComponent.informationType"); 640 else if (Configuration.doAutoCreate()) 641 this.informationType = new Enumeration<ArtifactAssessmentInformationType>(new ArtifactAssessmentInformationTypeEnumFactory()); // bb 642 return this.informationType; 643 } 644 645 public boolean hasInformationTypeElement() { 646 return this.informationType != null && !this.informationType.isEmpty(); 647 } 648 649 public boolean hasInformationType() { 650 return this.informationType != null && !this.informationType.isEmpty(); 651 } 652 653 /** 654 * @param value {@link #informationType} (The type of information this component of the content represents.). This is the underlying object with id, value and extensions. The accessor "getInformationType" gives direct access to the value 655 */ 656 public ArtifactAssessmentContentComponent setInformationTypeElement(Enumeration<ArtifactAssessmentInformationType> value) { 657 this.informationType = value; 658 return this; 659 } 660 661 /** 662 * @return The type of information this component of the content represents. 663 */ 664 public ArtifactAssessmentInformationType getInformationType() { 665 return this.informationType == null ? null : this.informationType.getValue(); 666 } 667 668 /** 669 * @param value The type of information this component of the content represents. 670 */ 671 public ArtifactAssessmentContentComponent setInformationType(ArtifactAssessmentInformationType value) { 672 if (value == null) 673 this.informationType = null; 674 else { 675 if (this.informationType == null) 676 this.informationType = new Enumeration<ArtifactAssessmentInformationType>(new ArtifactAssessmentInformationTypeEnumFactory()); 677 this.informationType.setValue(value); 678 } 679 return this; 680 } 681 682 /** 683 * @return {@link #summary} (A brief summary of the content of this component.). This is the underlying object with id, value and extensions. The accessor "getSummary" gives direct access to the value 684 */ 685 public MarkdownType getSummaryElement() { 686 if (this.summary == null) 687 if (Configuration.errorOnAutoCreate()) 688 throw new Error("Attempt to auto-create ArtifactAssessmentContentComponent.summary"); 689 else if (Configuration.doAutoCreate()) 690 this.summary = new MarkdownType(); // bb 691 return this.summary; 692 } 693 694 public boolean hasSummaryElement() { 695 return this.summary != null && !this.summary.isEmpty(); 696 } 697 698 public boolean hasSummary() { 699 return this.summary != null && !this.summary.isEmpty(); 700 } 701 702 /** 703 * @param value {@link #summary} (A brief summary of the content of this component.). This is the underlying object with id, value and extensions. The accessor "getSummary" gives direct access to the value 704 */ 705 public ArtifactAssessmentContentComponent setSummaryElement(MarkdownType value) { 706 this.summary = value; 707 return this; 708 } 709 710 /** 711 * @return A brief summary of the content of this component. 712 */ 713 public String getSummary() { 714 return this.summary == null ? null : this.summary.getValue(); 715 } 716 717 /** 718 * @param value A brief summary of the content of this component. 719 */ 720 public ArtifactAssessmentContentComponent setSummary(String value) { 721 if (value == null) 722 this.summary = null; 723 else { 724 if (this.summary == null) 725 this.summary = new MarkdownType(); 726 this.summary.setValue(value); 727 } 728 return this; 729 } 730 731 /** 732 * @return {@link #type} (Indicates what type of content this component represents.) 733 */ 734 public CodeableConcept getType() { 735 if (this.type == null) 736 if (Configuration.errorOnAutoCreate()) 737 throw new Error("Attempt to auto-create ArtifactAssessmentContentComponent.type"); 738 else if (Configuration.doAutoCreate()) 739 this.type = new CodeableConcept(); // cc 740 return this.type; 741 } 742 743 public boolean hasType() { 744 return this.type != null && !this.type.isEmpty(); 745 } 746 747 /** 748 * @param value {@link #type} (Indicates what type of content this component represents.) 749 */ 750 public ArtifactAssessmentContentComponent setType(CodeableConcept value) { 751 this.type = value; 752 return this; 753 } 754 755 /** 756 * @return {@link #classifier} (Represents a rating, classifier, or assessment of the artifact.) 757 */ 758 public List<CodeableConcept> getClassifier() { 759 if (this.classifier == null) 760 this.classifier = new ArrayList<CodeableConcept>(); 761 return this.classifier; 762 } 763 764 /** 765 * @return Returns a reference to <code>this</code> for easy method chaining 766 */ 767 public ArtifactAssessmentContentComponent setClassifier(List<CodeableConcept> theClassifier) { 768 this.classifier = theClassifier; 769 return this; 770 } 771 772 public boolean hasClassifier() { 773 if (this.classifier == null) 774 return false; 775 for (CodeableConcept item : this.classifier) 776 if (!item.isEmpty()) 777 return true; 778 return false; 779 } 780 781 public CodeableConcept addClassifier() { //3 782 CodeableConcept t = new CodeableConcept(); 783 if (this.classifier == null) 784 this.classifier = new ArrayList<CodeableConcept>(); 785 this.classifier.add(t); 786 return t; 787 } 788 789 public ArtifactAssessmentContentComponent addClassifier(CodeableConcept t) { //3 790 if (t == null) 791 return this; 792 if (this.classifier == null) 793 this.classifier = new ArrayList<CodeableConcept>(); 794 this.classifier.add(t); 795 return this; 796 } 797 798 /** 799 * @return The first repetition of repeating field {@link #classifier}, creating it if it does not already exist {3} 800 */ 801 public CodeableConcept getClassifierFirstRep() { 802 if (getClassifier().isEmpty()) { 803 addClassifier(); 804 } 805 return getClassifier().get(0); 806 } 807 808 /** 809 * @return {@link #author} (Indicates who or what authored the content.) 810 */ 811 public Reference getAuthor() { 812 if (this.author == null) 813 if (Configuration.errorOnAutoCreate()) 814 throw new Error("Attempt to auto-create ArtifactAssessmentContentComponent.author"); 815 else if (Configuration.doAutoCreate()) 816 this.author = new Reference(); // cc 817 return this.author; 818 } 819 820 public boolean hasAuthor() { 821 return this.author != null && !this.author.isEmpty(); 822 } 823 824 /** 825 * @param value {@link #author} (Indicates who or what authored the content.) 826 */ 827 public ArtifactAssessmentContentComponent setAuthor(Reference value) { 828 this.author = value; 829 return this; 830 } 831 832 /** 833 * @return {@link #path} (A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.) 834 */ 835 public List<UriType> getPath() { 836 if (this.path == null) 837 this.path = new ArrayList<UriType>(); 838 return this.path; 839 } 840 841 /** 842 * @return Returns a reference to <code>this</code> for easy method chaining 843 */ 844 public ArtifactAssessmentContentComponent setPath(List<UriType> thePath) { 845 this.path = thePath; 846 return this; 847 } 848 849 public boolean hasPath() { 850 if (this.path == null) 851 return false; 852 for (UriType item : this.path) 853 if (!item.isEmpty()) 854 return true; 855 return false; 856 } 857 858 /** 859 * @return {@link #path} (A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.) 860 */ 861 public UriType addPathElement() {//2 862 UriType t = new UriType(); 863 if (this.path == null) 864 this.path = new ArrayList<UriType>(); 865 this.path.add(t); 866 return t; 867 } 868 869 /** 870 * @param value {@link #path} (A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.) 871 */ 872 public ArtifactAssessmentContentComponent addPath(String value) { //1 873 UriType t = new UriType(); 874 t.setValue(value); 875 if (this.path == null) 876 this.path = new ArrayList<UriType>(); 877 this.path.add(t); 878 return this; 879 } 880 881 /** 882 * @param value {@link #path} (A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.) 883 */ 884 public boolean hasPath(String value) { 885 if (this.path == null) 886 return false; 887 for (UriType v : this.path) 888 if (v.getValue().equals(value)) // uri 889 return true; 890 return false; 891 } 892 893 /** 894 * @return {@link #relatedArtifact} (Additional related artifacts that provide supporting documentation, additional evidence, or further information related to the content.) 895 */ 896 public List<RelatedArtifact> getRelatedArtifact() { 897 if (this.relatedArtifact == null) 898 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 899 return this.relatedArtifact; 900 } 901 902 /** 903 * @return Returns a reference to <code>this</code> for easy method chaining 904 */ 905 public ArtifactAssessmentContentComponent setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 906 this.relatedArtifact = theRelatedArtifact; 907 return this; 908 } 909 910 public boolean hasRelatedArtifact() { 911 if (this.relatedArtifact == null) 912 return false; 913 for (RelatedArtifact item : this.relatedArtifact) 914 if (!item.isEmpty()) 915 return true; 916 return false; 917 } 918 919 public RelatedArtifact addRelatedArtifact() { //3 920 RelatedArtifact t = new RelatedArtifact(); 921 if (this.relatedArtifact == null) 922 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 923 this.relatedArtifact.add(t); 924 return t; 925 } 926 927 public ArtifactAssessmentContentComponent addRelatedArtifact(RelatedArtifact t) { //3 928 if (t == null) 929 return this; 930 if (this.relatedArtifact == null) 931 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 932 this.relatedArtifact.add(t); 933 return this; 934 } 935 936 /** 937 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} 938 */ 939 public RelatedArtifact getRelatedArtifactFirstRep() { 940 if (getRelatedArtifact().isEmpty()) { 941 addRelatedArtifact(); 942 } 943 return getRelatedArtifact().get(0); 944 } 945 946 /** 947 * @return {@link #freeToShare} (Acceptable to publicly share the comment, classifier or rating.). This is the underlying object with id, value and extensions. The accessor "getFreeToShare" gives direct access to the value 948 */ 949 public BooleanType getFreeToShareElement() { 950 if (this.freeToShare == null) 951 if (Configuration.errorOnAutoCreate()) 952 throw new Error("Attempt to auto-create ArtifactAssessmentContentComponent.freeToShare"); 953 else if (Configuration.doAutoCreate()) 954 this.freeToShare = new BooleanType(); // bb 955 return this.freeToShare; 956 } 957 958 public boolean hasFreeToShareElement() { 959 return this.freeToShare != null && !this.freeToShare.isEmpty(); 960 } 961 962 public boolean hasFreeToShare() { 963 return this.freeToShare != null && !this.freeToShare.isEmpty(); 964 } 965 966 /** 967 * @param value {@link #freeToShare} (Acceptable to publicly share the comment, classifier or rating.). This is the underlying object with id, value and extensions. The accessor "getFreeToShare" gives direct access to the value 968 */ 969 public ArtifactAssessmentContentComponent setFreeToShareElement(BooleanType value) { 970 this.freeToShare = value; 971 return this; 972 } 973 974 /** 975 * @return Acceptable to publicly share the comment, classifier or rating. 976 */ 977 public boolean getFreeToShare() { 978 return this.freeToShare == null || this.freeToShare.isEmpty() ? false : this.freeToShare.getValue(); 979 } 980 981 /** 982 * @param value Acceptable to publicly share the comment, classifier or rating. 983 */ 984 public ArtifactAssessmentContentComponent setFreeToShare(boolean value) { 985 if (this.freeToShare == null) 986 this.freeToShare = new BooleanType(); 987 this.freeToShare.setValue(value); 988 return this; 989 } 990 991 /** 992 * @return {@link #component} (If the informationType is container, the components of the content.) 993 */ 994 public List<ArtifactAssessmentContentComponent> getComponent() { 995 if (this.component == null) 996 this.component = new ArrayList<ArtifactAssessmentContentComponent>(); 997 return this.component; 998 } 999 1000 /** 1001 * @return Returns a reference to <code>this</code> for easy method chaining 1002 */ 1003 public ArtifactAssessmentContentComponent setComponent(List<ArtifactAssessmentContentComponent> theComponent) { 1004 this.component = theComponent; 1005 return this; 1006 } 1007 1008 public boolean hasComponent() { 1009 if (this.component == null) 1010 return false; 1011 for (ArtifactAssessmentContentComponent item : this.component) 1012 if (!item.isEmpty()) 1013 return true; 1014 return false; 1015 } 1016 1017 public ArtifactAssessmentContentComponent addComponent() { //3 1018 ArtifactAssessmentContentComponent t = new ArtifactAssessmentContentComponent(); 1019 if (this.component == null) 1020 this.component = new ArrayList<ArtifactAssessmentContentComponent>(); 1021 this.component.add(t); 1022 return t; 1023 } 1024 1025 public ArtifactAssessmentContentComponent addComponent(ArtifactAssessmentContentComponent t) { //3 1026 if (t == null) 1027 return this; 1028 if (this.component == null) 1029 this.component = new ArrayList<ArtifactAssessmentContentComponent>(); 1030 this.component.add(t); 1031 return this; 1032 } 1033 1034 /** 1035 * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} 1036 */ 1037 public ArtifactAssessmentContentComponent getComponentFirstRep() { 1038 if (getComponent().isEmpty()) { 1039 addComponent(); 1040 } 1041 return getComponent().get(0); 1042 } 1043 1044 protected void listChildren(List<Property> children) { 1045 super.listChildren(children); 1046 children.add(new Property("informationType", "code", "The type of information this component of the content represents.", 0, 1, informationType)); 1047 children.add(new Property("summary", "markdown", "A brief summary of the content of this component.", 0, 1, summary)); 1048 children.add(new Property("type", "CodeableConcept", "Indicates what type of content this component represents.", 0, 1, type)); 1049 children.add(new Property("classifier", "CodeableConcept", "Represents a rating, classifier, or assessment of the artifact.", 0, java.lang.Integer.MAX_VALUE, classifier)); 1050 children.add(new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Organization|Device)", "Indicates who or what authored the content.", 0, 1, author)); 1051 children.add(new Property("path", "uri", "A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.", 0, java.lang.Integer.MAX_VALUE, path)); 1052 children.add(new Property("relatedArtifact", "RelatedArtifact", "Additional related artifacts that provide supporting documentation, additional evidence, or further information related to the content.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 1053 children.add(new Property("freeToShare", "boolean", "Acceptable to publicly share the comment, classifier or rating.", 0, 1, freeToShare)); 1054 children.add(new Property("component", "@ArtifactAssessment.content", "If the informationType is container, the components of the content.", 0, java.lang.Integer.MAX_VALUE, component)); 1055 } 1056 1057 @Override 1058 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1059 switch (_hash) { 1060 case 1302856326: /*informationType*/ return new Property("informationType", "code", "The type of information this component of the content represents.", 0, 1, informationType); 1061 case -1857640538: /*summary*/ return new Property("summary", "markdown", "A brief summary of the content of this component.", 0, 1, summary); 1062 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Indicates what type of content this component represents.", 0, 1, type); 1063 case -281470431: /*classifier*/ return new Property("classifier", "CodeableConcept", "Represents a rating, classifier, or assessment of the artifact.", 0, java.lang.Integer.MAX_VALUE, classifier); 1064 case -1406328437: /*author*/ return new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Organization|Device)", "Indicates who or what authored the content.", 0, 1, author); 1065 case 3433509: /*path*/ return new Property("path", "uri", "A URI that points to what the comment is about, such as a line of text in the CQL, or a specific element in a resource.", 0, java.lang.Integer.MAX_VALUE, path); 1066 case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Additional related artifacts that provide supporting documentation, additional evidence, or further information related to the content.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); 1067 case -1268656616: /*freeToShare*/ return new Property("freeToShare", "boolean", "Acceptable to publicly share the comment, classifier or rating.", 0, 1, freeToShare); 1068 case -1399907075: /*component*/ return new Property("component", "@ArtifactAssessment.content", "If the informationType is container, the components of the content.", 0, java.lang.Integer.MAX_VALUE, component); 1069 default: return super.getNamedProperty(_hash, _name, _checkValid); 1070 } 1071 1072 } 1073 1074 @Override 1075 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1076 switch (hash) { 1077 case 1302856326: /*informationType*/ return this.informationType == null ? new Base[0] : new Base[] {this.informationType}; // Enumeration<ArtifactAssessmentInformationType> 1078 case -1857640538: /*summary*/ return this.summary == null ? new Base[0] : new Base[] {this.summary}; // MarkdownType 1079 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1080 case -281470431: /*classifier*/ return this.classifier == null ? new Base[0] : this.classifier.toArray(new Base[this.classifier.size()]); // CodeableConcept 1081 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 1082 case 3433509: /*path*/ return this.path == null ? new Base[0] : this.path.toArray(new Base[this.path.size()]); // UriType 1083 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 1084 case -1268656616: /*freeToShare*/ return this.freeToShare == null ? new Base[0] : new Base[] {this.freeToShare}; // BooleanType 1085 case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ArtifactAssessmentContentComponent 1086 default: return super.getProperty(hash, name, checkValid); 1087 } 1088 1089 } 1090 1091 @Override 1092 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1093 switch (hash) { 1094 case 1302856326: // informationType 1095 value = new ArtifactAssessmentInformationTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1096 this.informationType = (Enumeration) value; // Enumeration<ArtifactAssessmentInformationType> 1097 return value; 1098 case -1857640538: // summary 1099 this.summary = TypeConvertor.castToMarkdown(value); // MarkdownType 1100 return value; 1101 case 3575610: // type 1102 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1103 return value; 1104 case -281470431: // classifier 1105 this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1106 return value; 1107 case -1406328437: // author 1108 this.author = TypeConvertor.castToReference(value); // Reference 1109 return value; 1110 case 3433509: // path 1111 this.getPath().add(TypeConvertor.castToUri(value)); // UriType 1112 return value; 1113 case 666807069: // relatedArtifact 1114 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact 1115 return value; 1116 case -1268656616: // freeToShare 1117 this.freeToShare = TypeConvertor.castToBoolean(value); // BooleanType 1118 return value; 1119 case -1399907075: // component 1120 this.getComponent().add((ArtifactAssessmentContentComponent) value); // ArtifactAssessmentContentComponent 1121 return value; 1122 default: return super.setProperty(hash, name, value); 1123 } 1124 1125 } 1126 1127 @Override 1128 public Base setProperty(String name, Base value) throws FHIRException { 1129 if (name.equals("informationType")) { 1130 value = new ArtifactAssessmentInformationTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1131 this.informationType = (Enumeration) value; // Enumeration<ArtifactAssessmentInformationType> 1132 } else if (name.equals("summary")) { 1133 this.summary = TypeConvertor.castToMarkdown(value); // MarkdownType 1134 } else if (name.equals("type")) { 1135 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1136 } else if (name.equals("classifier")) { 1137 this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); 1138 } else if (name.equals("author")) { 1139 this.author = TypeConvertor.castToReference(value); // Reference 1140 } else if (name.equals("path")) { 1141 this.getPath().add(TypeConvertor.castToUri(value)); 1142 } else if (name.equals("relatedArtifact")) { 1143 this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); 1144 } else if (name.equals("freeToShare")) { 1145 this.freeToShare = TypeConvertor.castToBoolean(value); // BooleanType 1146 } else if (name.equals("component")) { 1147 this.getComponent().add((ArtifactAssessmentContentComponent) value); 1148 } else 1149 return super.setProperty(name, value); 1150 return value; 1151 } 1152 1153 @Override 1154 public Base makeProperty(int hash, String name) throws FHIRException { 1155 switch (hash) { 1156 case 1302856326: return getInformationTypeElement(); 1157 case -1857640538: return getSummaryElement(); 1158 case 3575610: return getType(); 1159 case -281470431: return addClassifier(); 1160 case -1406328437: return getAuthor(); 1161 case 3433509: return addPathElement(); 1162 case 666807069: return addRelatedArtifact(); 1163 case -1268656616: return getFreeToShareElement(); 1164 case -1399907075: return addComponent(); 1165 default: return super.makeProperty(hash, name); 1166 } 1167 1168 } 1169 1170 @Override 1171 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1172 switch (hash) { 1173 case 1302856326: /*informationType*/ return new String[] {"code"}; 1174 case -1857640538: /*summary*/ return new String[] {"markdown"}; 1175 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1176 case -281470431: /*classifier*/ return new String[] {"CodeableConcept"}; 1177 case -1406328437: /*author*/ return new String[] {"Reference"}; 1178 case 3433509: /*path*/ return new String[] {"uri"}; 1179 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 1180 case -1268656616: /*freeToShare*/ return new String[] {"boolean"}; 1181 case -1399907075: /*component*/ return new String[] {"@ArtifactAssessment.content"}; 1182 default: return super.getTypesForProperty(hash, name); 1183 } 1184 1185 } 1186 1187 @Override 1188 public Base addChild(String name) throws FHIRException { 1189 if (name.equals("informationType")) { 1190 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.content.informationType"); 1191 } 1192 else if (name.equals("summary")) { 1193 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.content.summary"); 1194 } 1195 else if (name.equals("type")) { 1196 this.type = new CodeableConcept(); 1197 return this.type; 1198 } 1199 else if (name.equals("classifier")) { 1200 return addClassifier(); 1201 } 1202 else if (name.equals("author")) { 1203 this.author = new Reference(); 1204 return this.author; 1205 } 1206 else if (name.equals("path")) { 1207 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.content.path"); 1208 } 1209 else if (name.equals("relatedArtifact")) { 1210 return addRelatedArtifact(); 1211 } 1212 else if (name.equals("freeToShare")) { 1213 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.content.freeToShare"); 1214 } 1215 else if (name.equals("component")) { 1216 return addComponent(); 1217 } 1218 else 1219 return super.addChild(name); 1220 } 1221 1222 public ArtifactAssessmentContentComponent copy() { 1223 ArtifactAssessmentContentComponent dst = new ArtifactAssessmentContentComponent(); 1224 copyValues(dst); 1225 return dst; 1226 } 1227 1228 public void copyValues(ArtifactAssessmentContentComponent dst) { 1229 super.copyValues(dst); 1230 dst.informationType = informationType == null ? null : informationType.copy(); 1231 dst.summary = summary == null ? null : summary.copy(); 1232 dst.type = type == null ? null : type.copy(); 1233 if (classifier != null) { 1234 dst.classifier = new ArrayList<CodeableConcept>(); 1235 for (CodeableConcept i : classifier) 1236 dst.classifier.add(i.copy()); 1237 }; 1238 dst.author = author == null ? null : author.copy(); 1239 if (path != null) { 1240 dst.path = new ArrayList<UriType>(); 1241 for (UriType i : path) 1242 dst.path.add(i.copy()); 1243 }; 1244 if (relatedArtifact != null) { 1245 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 1246 for (RelatedArtifact i : relatedArtifact) 1247 dst.relatedArtifact.add(i.copy()); 1248 }; 1249 dst.freeToShare = freeToShare == null ? null : freeToShare.copy(); 1250 if (component != null) { 1251 dst.component = new ArrayList<ArtifactAssessmentContentComponent>(); 1252 for (ArtifactAssessmentContentComponent i : component) 1253 dst.component.add(i.copy()); 1254 }; 1255 } 1256 1257 @Override 1258 public boolean equalsDeep(Base other_) { 1259 if (!super.equalsDeep(other_)) 1260 return false; 1261 if (!(other_ instanceof ArtifactAssessmentContentComponent)) 1262 return false; 1263 ArtifactAssessmentContentComponent o = (ArtifactAssessmentContentComponent) other_; 1264 return compareDeep(informationType, o.informationType, true) && compareDeep(summary, o.summary, true) 1265 && compareDeep(type, o.type, true) && compareDeep(classifier, o.classifier, true) && compareDeep(author, o.author, true) 1266 && compareDeep(path, o.path, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(freeToShare, o.freeToShare, true) 1267 && compareDeep(component, o.component, true); 1268 } 1269 1270 @Override 1271 public boolean equalsShallow(Base other_) { 1272 if (!super.equalsShallow(other_)) 1273 return false; 1274 if (!(other_ instanceof ArtifactAssessmentContentComponent)) 1275 return false; 1276 ArtifactAssessmentContentComponent o = (ArtifactAssessmentContentComponent) other_; 1277 return compareValues(informationType, o.informationType, true) && compareValues(summary, o.summary, true) 1278 && compareValues(path, o.path, true) && compareValues(freeToShare, o.freeToShare, true); 1279 } 1280 1281 public boolean isEmpty() { 1282 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(informationType, summary, type 1283 , classifier, author, path, relatedArtifact, freeToShare, component); 1284 } 1285 1286 public String fhirType() { 1287 return "ArtifactAssessment.content"; 1288 1289 } 1290 1291 } 1292 1293 /** 1294 * A formal identifier that is used to identify this artifact assessment when it is represented in other formats, or referenced in a specification, model, design or an instance. 1295 */ 1296 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1297 @Description(shortDefinition="Additional identifier for the artifact assessment", formalDefinition="A formal identifier that is used to identify this artifact assessment when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 1298 protected List<Identifier> identifier; 1299 1300 /** 1301 * Display of or reference to the bibliographic citation of the comment, classifier, or rating. 1302 */ 1303 @Child(name = "citeAs", type = {Citation.class, MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1304 @Description(shortDefinition="How to cite the comment or rating", formalDefinition="Display of or reference to the bibliographic citation of the comment, classifier, or rating." ) 1305 protected DataType citeAs; 1306 1307 /** 1308 * The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes. 1309 */ 1310 @Child(name = "date", type = {DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1311 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes." ) 1312 protected DateTimeType date; 1313 1314 /** 1315 * A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment. 1316 */ 1317 @Child(name = "copyright", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1318 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment." ) 1319 protected MarkdownType copyright; 1320 1321 /** 1322 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1323 */ 1324 @Child(name = "approvalDate", type = {DateType.class}, order=4, min=0, max=1, modifier=false, summary=false) 1325 @Description(shortDefinition="When the artifact assessment 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." ) 1326 protected DateType approvalDate; 1327 1328 /** 1329 * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 1330 */ 1331 @Child(name = "lastReviewDate", type = {DateType.class}, order=5, min=0, max=1, modifier=false, summary=true) 1332 @Description(shortDefinition="When the artifact assessment 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." ) 1333 protected DateType lastReviewDate; 1334 1335 /** 1336 * A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about. 1337 */ 1338 @Child(name = "artifact", type = {Reference.class, CanonicalType.class, UriType.class}, order=6, min=1, max=1, modifier=false, summary=true) 1339 @Description(shortDefinition="The artifact assessed, commented upon or rated", formalDefinition="A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about." ) 1340 protected DataType artifact; 1341 1342 /** 1343 * A component comment, classifier, or rating of the artifact. 1344 */ 1345 @Child(name = "content", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1346 @Description(shortDefinition="Comment, classifier, or rating content", formalDefinition="A component comment, classifier, or rating of the artifact." ) 1347 protected List<ArtifactAssessmentContentComponent> content; 1348 1349 /** 1350 * Indicates the workflow status of the comment or change request. 1351 */ 1352 @Child(name = "workflowStatus", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 1353 @Description(shortDefinition="submitted | triaged | waiting-for-input | resolved-no-change | resolved-change-required | deferred | duplicate | applied | published", formalDefinition="Indicates the workflow status of the comment or change request." ) 1354 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/artifactassessment-workflow-status") 1355 protected Enumeration<ArtifactAssessmentWorkflowStatus> workflowStatus; 1356 1357 /** 1358 * Indicates the disposition of the responsible party to the comment or change request. 1359 */ 1360 @Child(name = "disposition", type = {CodeType.class}, order=9, min=0, max=1, modifier=false, summary=true) 1361 @Description(shortDefinition="unresolved | not-persuasive | persuasive | persuasive-with-modification | not-persuasive-with-modification", formalDefinition="Indicates the disposition of the responsible party to the comment or change request." ) 1362 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/artifactassessment-disposition") 1363 protected Enumeration<ArtifactAssessmentDisposition> disposition; 1364 1365 private static final long serialVersionUID = -2002325424L; 1366 1367 /** 1368 * Constructor 1369 */ 1370 public ArtifactAssessment() { 1371 super(); 1372 } 1373 1374 /** 1375 * Constructor 1376 */ 1377 public ArtifactAssessment(DataType artifact) { 1378 super(); 1379 this.setArtifact(artifact); 1380 } 1381 1382 /** 1383 * @return {@link #identifier} (A formal identifier that is used to identify this artifact assessment when it is represented in other formats, or referenced in a specification, model, design or an instance.) 1384 */ 1385 public List<Identifier> getIdentifier() { 1386 if (this.identifier == null) 1387 this.identifier = new ArrayList<Identifier>(); 1388 return this.identifier; 1389 } 1390 1391 /** 1392 * @return Returns a reference to <code>this</code> for easy method chaining 1393 */ 1394 public ArtifactAssessment setIdentifier(List<Identifier> theIdentifier) { 1395 this.identifier = theIdentifier; 1396 return this; 1397 } 1398 1399 public boolean hasIdentifier() { 1400 if (this.identifier == null) 1401 return false; 1402 for (Identifier item : this.identifier) 1403 if (!item.isEmpty()) 1404 return true; 1405 return false; 1406 } 1407 1408 public Identifier addIdentifier() { //3 1409 Identifier t = new Identifier(); 1410 if (this.identifier == null) 1411 this.identifier = new ArrayList<Identifier>(); 1412 this.identifier.add(t); 1413 return t; 1414 } 1415 1416 public ArtifactAssessment addIdentifier(Identifier t) { //3 1417 if (t == null) 1418 return this; 1419 if (this.identifier == null) 1420 this.identifier = new ArrayList<Identifier>(); 1421 this.identifier.add(t); 1422 return this; 1423 } 1424 1425 /** 1426 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 1427 */ 1428 public Identifier getIdentifierFirstRep() { 1429 if (getIdentifier().isEmpty()) { 1430 addIdentifier(); 1431 } 1432 return getIdentifier().get(0); 1433 } 1434 1435 /** 1436 * @return {@link #citeAs} (Display of or reference to the bibliographic citation of the comment, classifier, or rating.) 1437 */ 1438 public DataType getCiteAs() { 1439 return this.citeAs; 1440 } 1441 1442 /** 1443 * @return {@link #citeAs} (Display of or reference to the bibliographic citation of the comment, classifier, or rating.) 1444 */ 1445 public Reference getCiteAsReference() throws FHIRException { 1446 if (this.citeAs == null) 1447 this.citeAs = new Reference(); 1448 if (!(this.citeAs instanceof Reference)) 1449 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.citeAs.getClass().getName()+" was encountered"); 1450 return (Reference) this.citeAs; 1451 } 1452 1453 public boolean hasCiteAsReference() { 1454 return this != null && this.citeAs instanceof Reference; 1455 } 1456 1457 /** 1458 * @return {@link #citeAs} (Display of or reference to the bibliographic citation of the comment, classifier, or rating.) 1459 */ 1460 public MarkdownType getCiteAsMarkdownType() throws FHIRException { 1461 if (this.citeAs == null) 1462 this.citeAs = new MarkdownType(); 1463 if (!(this.citeAs instanceof MarkdownType)) 1464 throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.citeAs.getClass().getName()+" was encountered"); 1465 return (MarkdownType) this.citeAs; 1466 } 1467 1468 public boolean hasCiteAsMarkdownType() { 1469 return this != null && this.citeAs instanceof MarkdownType; 1470 } 1471 1472 public boolean hasCiteAs() { 1473 return this.citeAs != null && !this.citeAs.isEmpty(); 1474 } 1475 1476 /** 1477 * @param value {@link #citeAs} (Display of or reference to the bibliographic citation of the comment, classifier, or rating.) 1478 */ 1479 public ArtifactAssessment setCiteAs(DataType value) { 1480 if (value != null && !(value instanceof Reference || value instanceof MarkdownType)) 1481 throw new Error("Not the right type for ArtifactAssessment.citeAs[x]: "+value.fhirType()); 1482 this.citeAs = value; 1483 return this; 1484 } 1485 1486 /** 1487 * @return {@link #date} (The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1488 */ 1489 public DateTimeType getDateElement() { 1490 if (this.date == null) 1491 if (Configuration.errorOnAutoCreate()) 1492 throw new Error("Attempt to auto-create ArtifactAssessment.date"); 1493 else if (Configuration.doAutoCreate()) 1494 this.date = new DateTimeType(); // bb 1495 return this.date; 1496 } 1497 1498 public boolean hasDateElement() { 1499 return this.date != null && !this.date.isEmpty(); 1500 } 1501 1502 public boolean hasDate() { 1503 return this.date != null && !this.date.isEmpty(); 1504 } 1505 1506 /** 1507 * @param value {@link #date} (The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1508 */ 1509 public ArtifactAssessment setDateElement(DateTimeType value) { 1510 this.date = value; 1511 return this; 1512 } 1513 1514 /** 1515 * @return The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes. 1516 */ 1517 public Date getDate() { 1518 return this.date == null ? null : this.date.getValue(); 1519 } 1520 1521 /** 1522 * @param value The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes. 1523 */ 1524 public ArtifactAssessment setDate(Date value) { 1525 if (value == null) 1526 this.date = null; 1527 else { 1528 if (this.date == null) 1529 this.date = new DateTimeType(); 1530 this.date.setValue(value); 1531 } 1532 return this; 1533 } 1534 1535 /** 1536 * @return {@link #copyright} (A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1537 */ 1538 public MarkdownType getCopyrightElement() { 1539 if (this.copyright == null) 1540 if (Configuration.errorOnAutoCreate()) 1541 throw new Error("Attempt to auto-create ArtifactAssessment.copyright"); 1542 else if (Configuration.doAutoCreate()) 1543 this.copyright = new MarkdownType(); // bb 1544 return this.copyright; 1545 } 1546 1547 public boolean hasCopyrightElement() { 1548 return this.copyright != null && !this.copyright.isEmpty(); 1549 } 1550 1551 public boolean hasCopyright() { 1552 return this.copyright != null && !this.copyright.isEmpty(); 1553 } 1554 1555 /** 1556 * @param value {@link #copyright} (A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1557 */ 1558 public ArtifactAssessment setCopyrightElement(MarkdownType value) { 1559 this.copyright = value; 1560 return this; 1561 } 1562 1563 /** 1564 * @return A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment. 1565 */ 1566 public String getCopyright() { 1567 return this.copyright == null ? null : this.copyright.getValue(); 1568 } 1569 1570 /** 1571 * @param value A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment. 1572 */ 1573 public ArtifactAssessment setCopyright(String value) { 1574 if (value == null) 1575 this.copyright = null; 1576 else { 1577 if (this.copyright == null) 1578 this.copyright = new MarkdownType(); 1579 this.copyright.setValue(value); 1580 } 1581 return this; 1582 } 1583 1584 /** 1585 * @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 1586 */ 1587 public DateType getApprovalDateElement() { 1588 if (this.approvalDate == null) 1589 if (Configuration.errorOnAutoCreate()) 1590 throw new Error("Attempt to auto-create ArtifactAssessment.approvalDate"); 1591 else if (Configuration.doAutoCreate()) 1592 this.approvalDate = new DateType(); // bb 1593 return this.approvalDate; 1594 } 1595 1596 public boolean hasApprovalDateElement() { 1597 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1598 } 1599 1600 public boolean hasApprovalDate() { 1601 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1602 } 1603 1604 /** 1605 * @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 1606 */ 1607 public ArtifactAssessment setApprovalDateElement(DateType value) { 1608 this.approvalDate = value; 1609 return this; 1610 } 1611 1612 /** 1613 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1614 */ 1615 public Date getApprovalDate() { 1616 return this.approvalDate == null ? null : this.approvalDate.getValue(); 1617 } 1618 1619 /** 1620 * @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. 1621 */ 1622 public ArtifactAssessment setApprovalDate(Date value) { 1623 if (value == null) 1624 this.approvalDate = null; 1625 else { 1626 if (this.approvalDate == null) 1627 this.approvalDate = new DateType(); 1628 this.approvalDate.setValue(value); 1629 } 1630 return this; 1631 } 1632 1633 /** 1634 * @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 1635 */ 1636 public DateType getLastReviewDateElement() { 1637 if (this.lastReviewDate == null) 1638 if (Configuration.errorOnAutoCreate()) 1639 throw new Error("Attempt to auto-create ArtifactAssessment.lastReviewDate"); 1640 else if (Configuration.doAutoCreate()) 1641 this.lastReviewDate = new DateType(); // bb 1642 return this.lastReviewDate; 1643 } 1644 1645 public boolean hasLastReviewDateElement() { 1646 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1647 } 1648 1649 public boolean hasLastReviewDate() { 1650 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1651 } 1652 1653 /** 1654 * @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 1655 */ 1656 public ArtifactAssessment setLastReviewDateElement(DateType value) { 1657 this.lastReviewDate = value; 1658 return this; 1659 } 1660 1661 /** 1662 * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 1663 */ 1664 public Date getLastReviewDate() { 1665 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 1666 } 1667 1668 /** 1669 * @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. 1670 */ 1671 public ArtifactAssessment setLastReviewDate(Date value) { 1672 if (value == null) 1673 this.lastReviewDate = null; 1674 else { 1675 if (this.lastReviewDate == null) 1676 this.lastReviewDate = new DateType(); 1677 this.lastReviewDate.setValue(value); 1678 } 1679 return this; 1680 } 1681 1682 /** 1683 * @return {@link #artifact} (A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.) 1684 */ 1685 public DataType getArtifact() { 1686 return this.artifact; 1687 } 1688 1689 /** 1690 * @return {@link #artifact} (A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.) 1691 */ 1692 public Reference getArtifactReference() throws FHIRException { 1693 if (this.artifact == null) 1694 this.artifact = new Reference(); 1695 if (!(this.artifact instanceof Reference)) 1696 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.artifact.getClass().getName()+" was encountered"); 1697 return (Reference) this.artifact; 1698 } 1699 1700 public boolean hasArtifactReference() { 1701 return this != null && this.artifact instanceof Reference; 1702 } 1703 1704 /** 1705 * @return {@link #artifact} (A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.) 1706 */ 1707 public CanonicalType getArtifactCanonicalType() throws FHIRException { 1708 if (this.artifact == null) 1709 this.artifact = new CanonicalType(); 1710 if (!(this.artifact instanceof CanonicalType)) 1711 throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.artifact.getClass().getName()+" was encountered"); 1712 return (CanonicalType) this.artifact; 1713 } 1714 1715 public boolean hasArtifactCanonicalType() { 1716 return this != null && this.artifact instanceof CanonicalType; 1717 } 1718 1719 /** 1720 * @return {@link #artifact} (A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.) 1721 */ 1722 public UriType getArtifactUriType() throws FHIRException { 1723 if (this.artifact == null) 1724 this.artifact = new UriType(); 1725 if (!(this.artifact instanceof UriType)) 1726 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.artifact.getClass().getName()+" was encountered"); 1727 return (UriType) this.artifact; 1728 } 1729 1730 public boolean hasArtifactUriType() { 1731 return this != null && this.artifact instanceof UriType; 1732 } 1733 1734 public boolean hasArtifact() { 1735 return this.artifact != null && !this.artifact.isEmpty(); 1736 } 1737 1738 /** 1739 * @param value {@link #artifact} (A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.) 1740 */ 1741 public ArtifactAssessment setArtifact(DataType value) { 1742 if (value != null && !(value instanceof Reference || value instanceof CanonicalType || value instanceof UriType)) 1743 throw new Error("Not the right type for ArtifactAssessment.artifact[x]: "+value.fhirType()); 1744 this.artifact = value; 1745 return this; 1746 } 1747 1748 /** 1749 * @return {@link #content} (A component comment, classifier, or rating of the artifact.) 1750 */ 1751 public List<ArtifactAssessmentContentComponent> getContent() { 1752 if (this.content == null) 1753 this.content = new ArrayList<ArtifactAssessmentContentComponent>(); 1754 return this.content; 1755 } 1756 1757 /** 1758 * @return Returns a reference to <code>this</code> for easy method chaining 1759 */ 1760 public ArtifactAssessment setContent(List<ArtifactAssessmentContentComponent> theContent) { 1761 this.content = theContent; 1762 return this; 1763 } 1764 1765 public boolean hasContent() { 1766 if (this.content == null) 1767 return false; 1768 for (ArtifactAssessmentContentComponent item : this.content) 1769 if (!item.isEmpty()) 1770 return true; 1771 return false; 1772 } 1773 1774 public ArtifactAssessmentContentComponent addContent() { //3 1775 ArtifactAssessmentContentComponent t = new ArtifactAssessmentContentComponent(); 1776 if (this.content == null) 1777 this.content = new ArrayList<ArtifactAssessmentContentComponent>(); 1778 this.content.add(t); 1779 return t; 1780 } 1781 1782 public ArtifactAssessment addContent(ArtifactAssessmentContentComponent t) { //3 1783 if (t == null) 1784 return this; 1785 if (this.content == null) 1786 this.content = new ArrayList<ArtifactAssessmentContentComponent>(); 1787 this.content.add(t); 1788 return this; 1789 } 1790 1791 /** 1792 * @return The first repetition of repeating field {@link #content}, creating it if it does not already exist {3} 1793 */ 1794 public ArtifactAssessmentContentComponent getContentFirstRep() { 1795 if (getContent().isEmpty()) { 1796 addContent(); 1797 } 1798 return getContent().get(0); 1799 } 1800 1801 /** 1802 * @return {@link #workflowStatus} (Indicates the workflow status of the comment or change request.). This is the underlying object with id, value and extensions. The accessor "getWorkflowStatus" gives direct access to the value 1803 */ 1804 public Enumeration<ArtifactAssessmentWorkflowStatus> getWorkflowStatusElement() { 1805 if (this.workflowStatus == null) 1806 if (Configuration.errorOnAutoCreate()) 1807 throw new Error("Attempt to auto-create ArtifactAssessment.workflowStatus"); 1808 else if (Configuration.doAutoCreate()) 1809 this.workflowStatus = new Enumeration<ArtifactAssessmentWorkflowStatus>(new ArtifactAssessmentWorkflowStatusEnumFactory()); // bb 1810 return this.workflowStatus; 1811 } 1812 1813 public boolean hasWorkflowStatusElement() { 1814 return this.workflowStatus != null && !this.workflowStatus.isEmpty(); 1815 } 1816 1817 public boolean hasWorkflowStatus() { 1818 return this.workflowStatus != null && !this.workflowStatus.isEmpty(); 1819 } 1820 1821 /** 1822 * @param value {@link #workflowStatus} (Indicates the workflow status of the comment or change request.). This is the underlying object with id, value and extensions. The accessor "getWorkflowStatus" gives direct access to the value 1823 */ 1824 public ArtifactAssessment setWorkflowStatusElement(Enumeration<ArtifactAssessmentWorkflowStatus> value) { 1825 this.workflowStatus = value; 1826 return this; 1827 } 1828 1829 /** 1830 * @return Indicates the workflow status of the comment or change request. 1831 */ 1832 public ArtifactAssessmentWorkflowStatus getWorkflowStatus() { 1833 return this.workflowStatus == null ? null : this.workflowStatus.getValue(); 1834 } 1835 1836 /** 1837 * @param value Indicates the workflow status of the comment or change request. 1838 */ 1839 public ArtifactAssessment setWorkflowStatus(ArtifactAssessmentWorkflowStatus value) { 1840 if (value == null) 1841 this.workflowStatus = null; 1842 else { 1843 if (this.workflowStatus == null) 1844 this.workflowStatus = new Enumeration<ArtifactAssessmentWorkflowStatus>(new ArtifactAssessmentWorkflowStatusEnumFactory()); 1845 this.workflowStatus.setValue(value); 1846 } 1847 return this; 1848 } 1849 1850 /** 1851 * @return {@link #disposition} (Indicates the disposition of the responsible party to the comment or change request.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 1852 */ 1853 public Enumeration<ArtifactAssessmentDisposition> getDispositionElement() { 1854 if (this.disposition == null) 1855 if (Configuration.errorOnAutoCreate()) 1856 throw new Error("Attempt to auto-create ArtifactAssessment.disposition"); 1857 else if (Configuration.doAutoCreate()) 1858 this.disposition = new Enumeration<ArtifactAssessmentDisposition>(new ArtifactAssessmentDispositionEnumFactory()); // bb 1859 return this.disposition; 1860 } 1861 1862 public boolean hasDispositionElement() { 1863 return this.disposition != null && !this.disposition.isEmpty(); 1864 } 1865 1866 public boolean hasDisposition() { 1867 return this.disposition != null && !this.disposition.isEmpty(); 1868 } 1869 1870 /** 1871 * @param value {@link #disposition} (Indicates the disposition of the responsible party to the comment or change request.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value 1872 */ 1873 public ArtifactAssessment setDispositionElement(Enumeration<ArtifactAssessmentDisposition> value) { 1874 this.disposition = value; 1875 return this; 1876 } 1877 1878 /** 1879 * @return Indicates the disposition of the responsible party to the comment or change request. 1880 */ 1881 public ArtifactAssessmentDisposition getDisposition() { 1882 return this.disposition == null ? null : this.disposition.getValue(); 1883 } 1884 1885 /** 1886 * @param value Indicates the disposition of the responsible party to the comment or change request. 1887 */ 1888 public ArtifactAssessment setDisposition(ArtifactAssessmentDisposition value) { 1889 if (value == null) 1890 this.disposition = null; 1891 else { 1892 if (this.disposition == null) 1893 this.disposition = new Enumeration<ArtifactAssessmentDisposition>(new ArtifactAssessmentDispositionEnumFactory()); 1894 this.disposition.setValue(value); 1895 } 1896 return this; 1897 } 1898 1899 /** 1900 * not supported on this implementation 1901 */ 1902 @Override 1903 public int getUrlMax() { 1904 return 0; 1905 } 1906 /** 1907 * @return {@link #url} (An absolute URI that is used to identify this artifact assessment 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 artifact assessment is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the artifact assessment is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1908 */ 1909 public UriType getUrlElement() { 1910 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"url\""); 1911 } 1912 1913 public boolean hasUrlElement() { 1914 return false; 1915 } 1916 public boolean hasUrl() { 1917 return false; 1918 } 1919 1920 /** 1921 * @param value {@link #url} (An absolute URI that is used to identify this artifact assessment 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 artifact assessment is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the artifact assessment is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1922 */ 1923 public ArtifactAssessment setUrlElement(UriType value) { 1924 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"url\""); 1925 } 1926 public String getUrl() { 1927 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"url\""); 1928 } 1929 /** 1930 * @param value An absolute URI that is used to identify this artifact assessment 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 artifact assessment is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the artifact assessment is stored on different servers. 1931 */ 1932 public ArtifactAssessment setUrl(String value) { 1933 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"url\""); 1934 } 1935 /** 1936 * not supported on this implementation 1937 */ 1938 @Override 1939 public int getVersionMax() { 1940 return 0; 1941 } 1942 /** 1943 * @return {@link #version} (The identifier that is used to identify this version of the artifact assessment when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the artifact assessment 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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1944 */ 1945 public StringType getVersionElement() { 1946 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"version\""); 1947 } 1948 1949 public boolean hasVersionElement() { 1950 return false; 1951 } 1952 public boolean hasVersion() { 1953 return false; 1954 } 1955 1956 /** 1957 * @param value {@link #version} (The identifier that is used to identify this version of the artifact assessment when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the artifact assessment 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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1958 */ 1959 public ArtifactAssessment setVersionElement(StringType value) { 1960 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"version\""); 1961 } 1962 public String getVersion() { 1963 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"version\""); 1964 } 1965 /** 1966 * @param value The identifier that is used to identify this version of the artifact assessment when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the artifact assessment 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. 1967 */ 1968 public ArtifactAssessment setVersion(String value) { 1969 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"version\""); 1970 } 1971 /** 1972 * not supported on this implementation 1973 */ 1974 @Override 1975 public int getNameMax() { 1976 return 0; 1977 } 1978 /** 1979 * @return {@link #name} (A natural language name identifying the artifact assessment. 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 1980 */ 1981 public StringType getNameElement() { 1982 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"name\""); 1983 } 1984 1985 public boolean hasNameElement() { 1986 return false; 1987 } 1988 public boolean hasName() { 1989 return false; 1990 } 1991 1992 /** 1993 * @param value {@link #name} (A natural language name identifying the artifact assessment. 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 1994 */ 1995 public ArtifactAssessment setNameElement(StringType value) { 1996 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"name\""); 1997 } 1998 public String getName() { 1999 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"name\""); 2000 } 2001 /** 2002 * @param value A natural language name identifying the artifact assessment. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2003 */ 2004 public ArtifactAssessment setName(String value) { 2005 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"name\""); 2006 } 2007 /** 2008 * not supported on this implementation 2009 */ 2010 @Override 2011 public int getTitleMax() { 2012 return 0; 2013 } 2014 /** 2015 * @return {@link #title} (A short, descriptive, user-friendly title for the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2016 */ 2017 public StringType getTitleElement() { 2018 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"title\""); 2019 } 2020 2021 public boolean hasTitleElement() { 2022 return false; 2023 } 2024 public boolean hasTitle() { 2025 return false; 2026 } 2027 2028 /** 2029 * @param value {@link #title} (A short, descriptive, user-friendly title for the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2030 */ 2031 public ArtifactAssessment setTitleElement(StringType value) { 2032 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"title\""); 2033 } 2034 public String getTitle() { 2035 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"title\""); 2036 } 2037 /** 2038 * @param value A short, descriptive, user-friendly title for the artifact assessment. 2039 */ 2040 public ArtifactAssessment setTitle(String value) { 2041 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"title\""); 2042 } 2043 /** 2044 * not supported on this implementation 2045 */ 2046 @Override 2047 public int getStatusMax() { 2048 return 0; 2049 } 2050 /** 2051 * @return {@link #status} (The status of this artifact assessment. 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 2052 */ 2053 public Enumeration<PublicationStatus> getStatusElement() { 2054 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"status\""); 2055 } 2056 2057 public boolean hasStatusElement() { 2058 return false; 2059 } 2060 public boolean hasStatus() { 2061 return false; 2062 } 2063 2064 /** 2065 * @param value {@link #status} (The status of this artifact assessment. 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 2066 */ 2067 public ArtifactAssessment setStatusElement(Enumeration<PublicationStatus> value) { 2068 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"status\""); 2069 } 2070 public PublicationStatus getStatus() { 2071 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"status\""); 2072 } 2073 /** 2074 * @param value The status of this artifact assessment. Enables tracking the life-cycle of the content. 2075 */ 2076 public ArtifactAssessment setStatus(PublicationStatus value) { 2077 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"status\""); 2078 } 2079 /** 2080 * not supported on this implementation 2081 */ 2082 @Override 2083 public int getExperimentalMax() { 2084 return 0; 2085 } 2086 /** 2087 * @return {@link #experimental} (A Boolean value to indicate that this artifact assessment 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 2088 */ 2089 public BooleanType getExperimentalElement() { 2090 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"experimental\""); 2091 } 2092 2093 public boolean hasExperimentalElement() { 2094 return false; 2095 } 2096 public boolean hasExperimental() { 2097 return false; 2098 } 2099 2100 /** 2101 * @param value {@link #experimental} (A Boolean value to indicate that this artifact assessment 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 2102 */ 2103 public ArtifactAssessment setExperimentalElement(BooleanType value) { 2104 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"experimental\""); 2105 } 2106 public boolean getExperimental() { 2107 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"experimental\""); 2108 } 2109 /** 2110 * @param value A Boolean value to indicate that this artifact assessment is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 2111 */ 2112 public ArtifactAssessment setExperimental(boolean value) { 2113 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"experimental\""); 2114 } 2115 /** 2116 * not supported on this implementation 2117 */ 2118 @Override 2119 public int getPublisherMax() { 2120 return 0; 2121 } 2122 /** 2123 * @return {@link #publisher} (The name of the organization or individual that published the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2124 */ 2125 public StringType getPublisherElement() { 2126 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"publisher\""); 2127 } 2128 2129 public boolean hasPublisherElement() { 2130 return false; 2131 } 2132 public boolean hasPublisher() { 2133 return false; 2134 } 2135 2136 /** 2137 * @param value {@link #publisher} (The name of the organization or individual that published the artifact assessment.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2138 */ 2139 public ArtifactAssessment setPublisherElement(StringType value) { 2140 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"publisher\""); 2141 } 2142 public String getPublisher() { 2143 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"publisher\""); 2144 } 2145 /** 2146 * @param value The name of the organization or individual that published the artifact assessment. 2147 */ 2148 public ArtifactAssessment setPublisher(String value) { 2149 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"publisher\""); 2150 } 2151 /** 2152 * not supported on this implementation 2153 */ 2154 @Override 2155 public int getContactMax() { 2156 return 0; 2157 } 2158 /** 2159 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 2160 */ 2161 public List<ContactDetail> getContact() { 2162 return new ArrayList<>(); 2163 } 2164 /** 2165 * @return Returns a reference to <code>this</code> for easy method chaining 2166 */ 2167 public ArtifactAssessment setContact(List<ContactDetail> theContact) { 2168 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"contact\""); 2169 } 2170 public boolean hasContact() { 2171 return false; 2172 } 2173 2174 public ContactDetail addContact() { //3 2175 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"contact\""); 2176 } 2177 public ArtifactAssessment addContact(ContactDetail t) { //3 2178 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"contact\""); 2179 } 2180 /** 2181 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {2} 2182 */ 2183 public ContactDetail getContactFirstRep() { 2184 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"contact\""); 2185 } 2186 /** 2187 * not supported on this implementation 2188 */ 2189 @Override 2190 public int getDescriptionMax() { 2191 return 0; 2192 } 2193 /** 2194 * @return {@link #description} (A free text natural language description of the artifact assessment from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2195 */ 2196 public MarkdownType getDescriptionElement() { 2197 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"description\""); 2198 } 2199 2200 public boolean hasDescriptionElement() { 2201 return false; 2202 } 2203 public boolean hasDescription() { 2204 return false; 2205 } 2206 2207 /** 2208 * @param value {@link #description} (A free text natural language description of the artifact assessment from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2209 */ 2210 public ArtifactAssessment setDescriptionElement(MarkdownType value) { 2211 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"description\""); 2212 } 2213 public String getDescription() { 2214 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"description\""); 2215 } 2216 /** 2217 * @param value A free text natural language description of the artifact assessment from a consumer's perspective. 2218 */ 2219 public ArtifactAssessment setDescription(String value) { 2220 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"description\""); 2221 } 2222 /** 2223 * not supported on this implementation 2224 */ 2225 @Override 2226 public int getUseContextMax() { 2227 return 0; 2228 } 2229 /** 2230 * @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 artifact assessment instances.) 2231 */ 2232 public List<UsageContext> getUseContext() { 2233 return new ArrayList<>(); 2234 } 2235 /** 2236 * @return Returns a reference to <code>this</code> for easy method chaining 2237 */ 2238 public ArtifactAssessment setUseContext(List<UsageContext> theUseContext) { 2239 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"useContext\""); 2240 } 2241 public boolean hasUseContext() { 2242 return false; 2243 } 2244 2245 public UsageContext addUseContext() { //3 2246 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"useContext\""); 2247 } 2248 public ArtifactAssessment addUseContext(UsageContext t) { //3 2249 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"useContext\""); 2250 } 2251 /** 2252 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {2} 2253 */ 2254 public UsageContext getUseContextFirstRep() { 2255 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"useContext\""); 2256 } 2257 /** 2258 * not supported on this implementation 2259 */ 2260 @Override 2261 public int getJurisdictionMax() { 2262 return 0; 2263 } 2264 /** 2265 * @return {@link #jurisdiction} (A legal or geographic region in which the artifact assessment is intended to be used.) 2266 */ 2267 public List<CodeableConcept> getJurisdiction() { 2268 return new ArrayList<>(); 2269 } 2270 /** 2271 * @return Returns a reference to <code>this</code> for easy method chaining 2272 */ 2273 public ArtifactAssessment setJurisdiction(List<CodeableConcept> theJurisdiction) { 2274 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"jurisdiction\""); 2275 } 2276 public boolean hasJurisdiction() { 2277 return false; 2278 } 2279 2280 public CodeableConcept addJurisdiction() { //3 2281 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"jurisdiction\""); 2282 } 2283 public ArtifactAssessment addJurisdiction(CodeableConcept t) { //3 2284 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"jurisdiction\""); 2285 } 2286 /** 2287 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2} 2288 */ 2289 public CodeableConcept getJurisdictionFirstRep() { 2290 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"jurisdiction\""); 2291 } 2292 /** 2293 * not supported on this implementation 2294 */ 2295 @Override 2296 public int getPurposeMax() { 2297 return 0; 2298 } 2299 /** 2300 * @return {@link #purpose} (Explanation of why this artifact assessment 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 2301 */ 2302 public MarkdownType getPurposeElement() { 2303 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"purpose\""); 2304 } 2305 2306 public boolean hasPurposeElement() { 2307 return false; 2308 } 2309 public boolean hasPurpose() { 2310 return false; 2311 } 2312 2313 /** 2314 * @param value {@link #purpose} (Explanation of why this artifact assessment 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 2315 */ 2316 public ArtifactAssessment setPurposeElement(MarkdownType value) { 2317 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"purpose\""); 2318 } 2319 public String getPurpose() { 2320 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"purpose\""); 2321 } 2322 /** 2323 * @param value Explanation of why this artifact assessment is needed and why it has been designed as it has. 2324 */ 2325 public ArtifactAssessment setPurpose(String value) { 2326 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"purpose\""); 2327 } 2328 /** 2329 * not supported on this implementation 2330 */ 2331 @Override 2332 public int getEffectivePeriodMax() { 2333 return 0; 2334 } 2335 /** 2336 * @return {@link #effectivePeriod} (The period during which the artifact assessment content was or is planned to be in active use.) 2337 */ 2338 public Period getEffectivePeriod() { 2339 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"effectivePeriod\""); 2340 } 2341 public boolean hasEffectivePeriod() { 2342 return false; 2343 } 2344 /** 2345 * @param value {@link #effectivePeriod} (The period during which the artifact assessment content was or is planned to be in active use.) 2346 */ 2347 public ArtifactAssessment setEffectivePeriod(Period value) { 2348 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"effectivePeriod\""); 2349 } 2350 2351 /** 2352 * not supported on this implementation 2353 */ 2354 @Override 2355 public int getTopicMax() { 2356 return 0; 2357 } 2358 /** 2359 * @return {@link #topic} (Descriptive topics related to the content of the library. Topics provide a high-level categorization of the library that can be useful for filtering and searching.) 2360 */ 2361 public List<CodeableConcept> getTopic() { 2362 return new ArrayList<>(); 2363 } 2364 /** 2365 * @return Returns a reference to <code>this</code> for easy method chaining 2366 */ 2367 public ArtifactAssessment setTopic(List<CodeableConcept> theTopic) { 2368 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"topic\""); 2369 } 2370 public boolean hasTopic() { 2371 return false; 2372 } 2373 2374 public CodeableConcept addTopic() { //3 2375 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"topic\""); 2376 } 2377 public ArtifactAssessment addTopic(CodeableConcept t) { //3 2378 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"topic\""); 2379 } 2380 /** 2381 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} 2382 */ 2383 public CodeableConcept getTopicFirstRep() { 2384 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"topic\""); 2385 } 2386 /** 2387 * not supported on this implementation 2388 */ 2389 @Override 2390 public int getAuthorMax() { 2391 return 0; 2392 } 2393 /** 2394 * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the artifact assessment.) 2395 */ 2396 public List<ContactDetail> getAuthor() { 2397 return new ArrayList<>(); 2398 } 2399 /** 2400 * @return Returns a reference to <code>this</code> for easy method chaining 2401 */ 2402 public ArtifactAssessment setAuthor(List<ContactDetail> theAuthor) { 2403 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"author\""); 2404 } 2405 public boolean hasAuthor() { 2406 return false; 2407 } 2408 2409 public ContactDetail addAuthor() { //3 2410 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"author\""); 2411 } 2412 public ArtifactAssessment addAuthor(ContactDetail t) { //3 2413 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"author\""); 2414 } 2415 /** 2416 * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} 2417 */ 2418 public ContactDetail getAuthorFirstRep() { 2419 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"author\""); 2420 } 2421 /** 2422 * not supported on this implementation 2423 */ 2424 @Override 2425 public int getEditorMax() { 2426 return 0; 2427 } 2428 /** 2429 * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the artifact assessment.) 2430 */ 2431 public List<ContactDetail> getEditor() { 2432 return new ArrayList<>(); 2433 } 2434 /** 2435 * @return Returns a reference to <code>this</code> for easy method chaining 2436 */ 2437 public ArtifactAssessment setEditor(List<ContactDetail> theEditor) { 2438 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"editor\""); 2439 } 2440 public boolean hasEditor() { 2441 return false; 2442 } 2443 2444 public ContactDetail addEditor() { //3 2445 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"editor\""); 2446 } 2447 public ArtifactAssessment addEditor(ContactDetail t) { //3 2448 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"editor\""); 2449 } 2450 /** 2451 * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} 2452 */ 2453 public ContactDetail getEditorFirstRep() { 2454 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"editor\""); 2455 } 2456 /** 2457 * not supported on this implementation 2458 */ 2459 @Override 2460 public int getReviewerMax() { 2461 return 0; 2462 } 2463 /** 2464 * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the artifact assessment.) 2465 */ 2466 public List<ContactDetail> getReviewer() { 2467 return new ArrayList<>(); 2468 } 2469 /** 2470 * @return Returns a reference to <code>this</code> for easy method chaining 2471 */ 2472 public ArtifactAssessment setReviewer(List<ContactDetail> theReviewer) { 2473 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"reviewer\""); 2474 } 2475 public boolean hasReviewer() { 2476 return false; 2477 } 2478 2479 public ContactDetail addReviewer() { //3 2480 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"reviewer\""); 2481 } 2482 public ArtifactAssessment addReviewer(ContactDetail t) { //3 2483 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"reviewer\""); 2484 } 2485 /** 2486 * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} 2487 */ 2488 public ContactDetail getReviewerFirstRep() { 2489 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"reviewer\""); 2490 } 2491 /** 2492 * not supported on this implementation 2493 */ 2494 @Override 2495 public int getEndorserMax() { 2496 return 0; 2497 } 2498 /** 2499 * @return {@link #endorser} (An individual or organization responsible for officially endorsing the artifact assessment for use in some setting.) 2500 */ 2501 public List<ContactDetail> getEndorser() { 2502 return new ArrayList<>(); 2503 } 2504 /** 2505 * @return Returns a reference to <code>this</code> for easy method chaining 2506 */ 2507 public ArtifactAssessment setEndorser(List<ContactDetail> theEndorser) { 2508 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"endorser\""); 2509 } 2510 public boolean hasEndorser() { 2511 return false; 2512 } 2513 2514 public ContactDetail addEndorser() { //3 2515 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"endorser\""); 2516 } 2517 public ArtifactAssessment addEndorser(ContactDetail t) { //3 2518 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"endorser\""); 2519 } 2520 /** 2521 * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} 2522 */ 2523 public ContactDetail getEndorserFirstRep() { 2524 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"endorser\""); 2525 } 2526 /** 2527 * not supported on this implementation 2528 */ 2529 @Override 2530 public int getRelatedArtifactMax() { 2531 return 0; 2532 } 2533 /** 2534 * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) 2535 */ 2536 public List<RelatedArtifact> getRelatedArtifact() { 2537 return new ArrayList<>(); 2538 } 2539 /** 2540 * @return Returns a reference to <code>this</code> for easy method chaining 2541 */ 2542 public ArtifactAssessment setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 2543 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"relatedArtifact\""); 2544 } 2545 public boolean hasRelatedArtifact() { 2546 return false; 2547 } 2548 2549 public RelatedArtifact addRelatedArtifact() { //3 2550 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"relatedArtifact\""); 2551 } 2552 public ArtifactAssessment addRelatedArtifact(RelatedArtifact t) { //3 2553 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"relatedArtifact\""); 2554 } 2555 /** 2556 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} 2557 */ 2558 public RelatedArtifact getRelatedArtifactFirstRep() { 2559 throw new Error("The resource type \"ArtifactAssessment\" does not implement the property \"relatedArtifact\""); 2560 } 2561 protected void listChildren(List<Property> children) { 2562 super.listChildren(children); 2563 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this artifact assessment when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 2564 children.add(new Property("citeAs[x]", "Reference(Citation)|markdown", "Display of or reference to the bibliographic citation of the comment, classifier, or rating.", 0, 1, citeAs)); 2565 children.add(new Property("date", "dateTime", "The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes.", 0, 1, date)); 2566 children.add(new Property("copyright", "markdown", "A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment.", 0, 1, copyright)); 2567 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)); 2568 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)); 2569 children.add(new Property("artifact[x]", "Reference(Any)|canonical|uri", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact)); 2570 children.add(new Property("content", "", "A component comment, classifier, or rating of the artifact.", 0, java.lang.Integer.MAX_VALUE, content)); 2571 children.add(new Property("workflowStatus", "code", "Indicates the workflow status of the comment or change request.", 0, 1, workflowStatus)); 2572 children.add(new Property("disposition", "code", "Indicates the disposition of the responsible party to the comment or change request.", 0, 1, disposition)); 2573 } 2574 2575 @Override 2576 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2577 switch (_hash) { 2578 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this artifact assessment when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 2579 case -1706539017: /*citeAs[x]*/ return new Property("citeAs[x]", "Reference(Citation)|markdown", "Display of or reference to the bibliographic citation of the comment, classifier, or rating.", 0, 1, citeAs); 2580 case -1360156695: /*citeAs*/ return new Property("citeAs[x]", "Reference(Citation)|markdown", "Display of or reference to the bibliographic citation of the comment, classifier, or rating.", 0, 1, citeAs); 2581 case 1269009762: /*citeAsReference*/ return new Property("citeAs[x]", "Reference(Citation)", "Display of or reference to the bibliographic citation of the comment, classifier, or rating.", 0, 1, citeAs); 2582 case 456265720: /*citeAsMarkdown*/ return new Property("citeAs[x]", "markdown", "Display of or reference to the bibliographic citation of the comment, classifier, or rating.", 0, 1, citeAs); 2583 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the artifact assessment was published. The date must change when the disposition changes and it must change if the workflow status code changes. In addition, it should change when the substantive content of the artifact assessment changes.", 0, 1, date); 2584 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the artifact assessment and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the artifact assessment.", 0, 1, copyright); 2585 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); 2586 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); 2587 case -1130056338: /*artifact[x]*/ return new Property("artifact[x]", "Reference(Any)|canonical|uri", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact); 2588 case -1228798510: /*artifact*/ return new Property("artifact[x]", "Reference(Any)|canonical|uri", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact); 2589 case -683686503: /*artifactReference*/ return new Property("artifact[x]", "Reference(Any)", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact); 2590 case 1069820738: /*artifactCanonical*/ return new Property("artifact[x]", "canonical", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact); 2591 case -1130062278: /*artifactUri*/ return new Property("artifact[x]", "uri", "A reference to a resource, canonical resource, or non-FHIR resource which the comment or assessment is about.", 0, 1, artifact); 2592 case 951530617: /*content*/ return new Property("content", "", "A component comment, classifier, or rating of the artifact.", 0, java.lang.Integer.MAX_VALUE, content); 2593 case 697796753: /*workflowStatus*/ return new Property("workflowStatus", "code", "Indicates the workflow status of the comment or change request.", 0, 1, workflowStatus); 2594 case 583380919: /*disposition*/ return new Property("disposition", "code", "Indicates the disposition of the responsible party to the comment or change request.", 0, 1, disposition); 2595 default: return super.getNamedProperty(_hash, _name, _checkValid); 2596 } 2597 2598 } 2599 2600 @Override 2601 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2602 switch (hash) { 2603 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2604 case -1360156695: /*citeAs*/ return this.citeAs == null ? new Base[0] : new Base[] {this.citeAs}; // DataType 2605 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2606 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 2607 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 2608 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 2609 case -1228798510: /*artifact*/ return this.artifact == null ? new Base[0] : new Base[] {this.artifact}; // DataType 2610 case 951530617: /*content*/ return this.content == null ? new Base[0] : this.content.toArray(new Base[this.content.size()]); // ArtifactAssessmentContentComponent 2611 case 697796753: /*workflowStatus*/ return this.workflowStatus == null ? new Base[0] : new Base[] {this.workflowStatus}; // Enumeration<ArtifactAssessmentWorkflowStatus> 2612 case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // Enumeration<ArtifactAssessmentDisposition> 2613 default: return super.getProperty(hash, name, checkValid); 2614 } 2615 2616 } 2617 2618 @Override 2619 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2620 switch (hash) { 2621 case -1618432855: // identifier 2622 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 2623 return value; 2624 case -1360156695: // citeAs 2625 this.citeAs = TypeConvertor.castToType(value); // DataType 2626 return value; 2627 case 3076014: // date 2628 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 2629 return value; 2630 case 1522889671: // copyright 2631 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 2632 return value; 2633 case 223539345: // approvalDate 2634 this.approvalDate = TypeConvertor.castToDate(value); // DateType 2635 return value; 2636 case -1687512484: // lastReviewDate 2637 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 2638 return value; 2639 case -1228798510: // artifact 2640 this.artifact = TypeConvertor.castToType(value); // DataType 2641 return value; 2642 case 951530617: // content 2643 this.getContent().add((ArtifactAssessmentContentComponent) value); // ArtifactAssessmentContentComponent 2644 return value; 2645 case 697796753: // workflowStatus 2646 value = new ArtifactAssessmentWorkflowStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2647 this.workflowStatus = (Enumeration) value; // Enumeration<ArtifactAssessmentWorkflowStatus> 2648 return value; 2649 case 583380919: // disposition 2650 value = new ArtifactAssessmentDispositionEnumFactory().fromType(TypeConvertor.castToCode(value)); 2651 this.disposition = (Enumeration) value; // Enumeration<ArtifactAssessmentDisposition> 2652 return value; 2653 default: return super.setProperty(hash, name, value); 2654 } 2655 2656 } 2657 2658 @Override 2659 public Base setProperty(String name, Base value) throws FHIRException { 2660 if (name.equals("identifier")) { 2661 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 2662 } else if (name.equals("citeAs[x]")) { 2663 this.citeAs = TypeConvertor.castToType(value); // DataType 2664 } else if (name.equals("date")) { 2665 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 2666 } else if (name.equals("copyright")) { 2667 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 2668 } else if (name.equals("approvalDate")) { 2669 this.approvalDate = TypeConvertor.castToDate(value); // DateType 2670 } else if (name.equals("lastReviewDate")) { 2671 this.lastReviewDate = TypeConvertor.castToDate(value); // DateType 2672 } else if (name.equals("artifact[x]")) { 2673 this.artifact = TypeConvertor.castToType(value); // DataType 2674 } else if (name.equals("content")) { 2675 this.getContent().add((ArtifactAssessmentContentComponent) value); 2676 } else if (name.equals("workflowStatus")) { 2677 value = new ArtifactAssessmentWorkflowStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 2678 this.workflowStatus = (Enumeration) value; // Enumeration<ArtifactAssessmentWorkflowStatus> 2679 } else if (name.equals("disposition")) { 2680 value = new ArtifactAssessmentDispositionEnumFactory().fromType(TypeConvertor.castToCode(value)); 2681 this.disposition = (Enumeration) value; // Enumeration<ArtifactAssessmentDisposition> 2682 } else 2683 return super.setProperty(name, value); 2684 return value; 2685 } 2686 2687 @Override 2688 public Base makeProperty(int hash, String name) throws FHIRException { 2689 switch (hash) { 2690 case -1618432855: return addIdentifier(); 2691 case -1706539017: return getCiteAs(); 2692 case -1360156695: return getCiteAs(); 2693 case 3076014: return getDateElement(); 2694 case 1522889671: return getCopyrightElement(); 2695 case 223539345: return getApprovalDateElement(); 2696 case -1687512484: return getLastReviewDateElement(); 2697 case -1130056338: return getArtifact(); 2698 case -1228798510: return getArtifact(); 2699 case 951530617: return addContent(); 2700 case 697796753: return getWorkflowStatusElement(); 2701 case 583380919: return getDispositionElement(); 2702 default: return super.makeProperty(hash, name); 2703 } 2704 2705 } 2706 2707 @Override 2708 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2709 switch (hash) { 2710 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2711 case -1360156695: /*citeAs*/ return new String[] {"Reference", "markdown"}; 2712 case 3076014: /*date*/ return new String[] {"dateTime"}; 2713 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 2714 case 223539345: /*approvalDate*/ return new String[] {"date"}; 2715 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 2716 case -1228798510: /*artifact*/ return new String[] {"Reference", "canonical", "uri"}; 2717 case 951530617: /*content*/ return new String[] {}; 2718 case 697796753: /*workflowStatus*/ return new String[] {"code"}; 2719 case 583380919: /*disposition*/ return new String[] {"code"}; 2720 default: return super.getTypesForProperty(hash, name); 2721 } 2722 2723 } 2724 2725 @Override 2726 public Base addChild(String name) throws FHIRException { 2727 if (name.equals("identifier")) { 2728 return addIdentifier(); 2729 } 2730 else if (name.equals("citeAsReference")) { 2731 this.citeAs = new Reference(); 2732 return this.citeAs; 2733 } 2734 else if (name.equals("citeAsMarkdown")) { 2735 this.citeAs = new MarkdownType(); 2736 return this.citeAs; 2737 } 2738 else if (name.equals("date")) { 2739 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.date"); 2740 } 2741 else if (name.equals("copyright")) { 2742 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.copyright"); 2743 } 2744 else if (name.equals("approvalDate")) { 2745 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.approvalDate"); 2746 } 2747 else if (name.equals("lastReviewDate")) { 2748 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.lastReviewDate"); 2749 } 2750 else if (name.equals("artifactReference")) { 2751 this.artifact = new Reference(); 2752 return this.artifact; 2753 } 2754 else if (name.equals("artifactCanonical")) { 2755 this.artifact = new CanonicalType(); 2756 return this.artifact; 2757 } 2758 else if (name.equals("artifactUri")) { 2759 this.artifact = new UriType(); 2760 return this.artifact; 2761 } 2762 else if (name.equals("content")) { 2763 return addContent(); 2764 } 2765 else if (name.equals("workflowStatus")) { 2766 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.workflowStatus"); 2767 } 2768 else if (name.equals("disposition")) { 2769 throw new FHIRException("Cannot call addChild on a primitive type ArtifactAssessment.disposition"); 2770 } 2771 else 2772 return super.addChild(name); 2773 } 2774 2775 public String fhirType() { 2776 return "ArtifactAssessment"; 2777 2778 } 2779 2780 public ArtifactAssessment copy() { 2781 ArtifactAssessment dst = new ArtifactAssessment(); 2782 copyValues(dst); 2783 return dst; 2784 } 2785 2786 public void copyValues(ArtifactAssessment dst) { 2787 super.copyValues(dst); 2788 if (identifier != null) { 2789 dst.identifier = new ArrayList<Identifier>(); 2790 for (Identifier i : identifier) 2791 dst.identifier.add(i.copy()); 2792 }; 2793 dst.citeAs = citeAs == null ? null : citeAs.copy(); 2794 dst.date = date == null ? null : date.copy(); 2795 dst.copyright = copyright == null ? null : copyright.copy(); 2796 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 2797 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 2798 dst.artifact = artifact == null ? null : artifact.copy(); 2799 if (content != null) { 2800 dst.content = new ArrayList<ArtifactAssessmentContentComponent>(); 2801 for (ArtifactAssessmentContentComponent i : content) 2802 dst.content.add(i.copy()); 2803 }; 2804 dst.workflowStatus = workflowStatus == null ? null : workflowStatus.copy(); 2805 dst.disposition = disposition == null ? null : disposition.copy(); 2806 } 2807 2808 protected ArtifactAssessment typedCopy() { 2809 return copy(); 2810 } 2811 2812 @Override 2813 public boolean equalsDeep(Base other_) { 2814 if (!super.equalsDeep(other_)) 2815 return false; 2816 if (!(other_ instanceof ArtifactAssessment)) 2817 return false; 2818 ArtifactAssessment o = (ArtifactAssessment) other_; 2819 return compareDeep(identifier, o.identifier, true) && compareDeep(citeAs, o.citeAs, true) && compareDeep(date, o.date, true) 2820 && compareDeep(copyright, o.copyright, true) && compareDeep(approvalDate, o.approvalDate, true) 2821 && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(artifact, o.artifact, true) 2822 && compareDeep(content, o.content, true) && compareDeep(workflowStatus, o.workflowStatus, true) 2823 && compareDeep(disposition, o.disposition, true); 2824 } 2825 2826 @Override 2827 public boolean equalsShallow(Base other_) { 2828 if (!super.equalsShallow(other_)) 2829 return false; 2830 if (!(other_ instanceof ArtifactAssessment)) 2831 return false; 2832 ArtifactAssessment o = (ArtifactAssessment) other_; 2833 return compareValues(date, o.date, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) 2834 && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(workflowStatus, o.workflowStatus, true) 2835 && compareValues(disposition, o.disposition, true); 2836 } 2837 2838 public boolean isEmpty() { 2839 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, citeAs, date 2840 , copyright, approvalDate, lastReviewDate, artifact, content, workflowStatus, disposition 2841 ); 2842 } 2843 2844 @Override 2845 public ResourceType getResourceType() { 2846 return ResourceType.ArtifactAssessment; 2847 } 2848 2849 /** 2850 * Search parameter: <b>date</b> 2851 * <p> 2852 * Description: <b>The artifact assessment publication date</b><br> 2853 * Type: <b>date</b><br> 2854 * Path: <b>ArtifactAssessment.date</b><br> 2855 * </p> 2856 */ 2857 @SearchParamDefinition(name="date", path="ArtifactAssessment.date", description="The artifact assessment publication date", type="date" ) 2858 public static final String SP_DATE = "date"; 2859 /** 2860 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2861 * <p> 2862 * Description: <b>The artifact assessment publication date</b><br> 2863 * Type: <b>date</b><br> 2864 * Path: <b>ArtifactAssessment.date</b><br> 2865 * </p> 2866 */ 2867 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2868 2869 2870} 2871