001package org.hl7.fhir.dstu2016may.model; 002 003 004 005 006/* 007 Copyright (c) 2011+, HL7, Inc. 008 All rights reserved. 009 010 Redistribution and use in source and binary forms, with or without modification, 011 are permitted provided that the following conditions are met: 012 013 * Redistributions of source code must retain the above copyright notice, this 014 list of conditions and the following disclaimer. 015 * Redistributions in binary form must reproduce the above copyright notice, 016 this list of conditions and the following disclaimer in the documentation 017 and/or other materials provided with the distribution. 018 * Neither the name of HL7 nor the names of its contributors may be used to 019 endorse or promote products derived from this software without specific 020 prior written permission. 021 022 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 023 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 024 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 025 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 026 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 027 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 028 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 029 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 030 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 031 POSSIBILITY OF SUCH DAMAGE. 032 033*/ 034 035// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 036import java.util.ArrayList; 037import java.util.List; 038 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.utilities.Utilities; 041 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.Description; 044import ca.uhn.fhir.model.api.annotation.ResourceDef; 045import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 046/** 047 * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference. 048 */ 049@ResourceDef(name="Media", profile="http://hl7.org/fhir/Profile/Media") 050public class Media extends DomainResource { 051 052 public enum DigitalMediaType { 053 /** 054 * The media consists of one or more unmoving images, including photographs, computer-generated graphs and charts, and scanned documents 055 */ 056 PHOTO, 057 /** 058 * The media consists of a series of frames that capture a moving image 059 */ 060 VIDEO, 061 /** 062 * The media consists of a sound recording 063 */ 064 AUDIO, 065 /** 066 * added to help the parsers 067 */ 068 NULL; 069 public static DigitalMediaType fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("photo".equals(codeString)) 073 return PHOTO; 074 if ("video".equals(codeString)) 075 return VIDEO; 076 if ("audio".equals(codeString)) 077 return AUDIO; 078 throw new FHIRException("Unknown DigitalMediaType code '"+codeString+"'"); 079 } 080 public String toCode() { 081 switch (this) { 082 case PHOTO: return "photo"; 083 case VIDEO: return "video"; 084 case AUDIO: return "audio"; 085 case NULL: return null; 086 default: return "?"; 087 } 088 } 089 public String getSystem() { 090 switch (this) { 091 case PHOTO: return "http://hl7.org/fhir/digital-media-type"; 092 case VIDEO: return "http://hl7.org/fhir/digital-media-type"; 093 case AUDIO: return "http://hl7.org/fhir/digital-media-type"; 094 case NULL: return null; 095 default: return "?"; 096 } 097 } 098 public String getDefinition() { 099 switch (this) { 100 case PHOTO: return "The media consists of one or more unmoving images, including photographs, computer-generated graphs and charts, and scanned documents"; 101 case VIDEO: return "The media consists of a series of frames that capture a moving image"; 102 case AUDIO: return "The media consists of a sound recording"; 103 case NULL: return null; 104 default: return "?"; 105 } 106 } 107 public String getDisplay() { 108 switch (this) { 109 case PHOTO: return "Photo"; 110 case VIDEO: return "Video"; 111 case AUDIO: return "Audio"; 112 case NULL: return null; 113 default: return "?"; 114 } 115 } 116 } 117 118 public static class DigitalMediaTypeEnumFactory implements EnumFactory<DigitalMediaType> { 119 public DigitalMediaType fromCode(String codeString) throws IllegalArgumentException { 120 if (codeString == null || "".equals(codeString)) 121 if (codeString == null || "".equals(codeString)) 122 return null; 123 if ("photo".equals(codeString)) 124 return DigitalMediaType.PHOTO; 125 if ("video".equals(codeString)) 126 return DigitalMediaType.VIDEO; 127 if ("audio".equals(codeString)) 128 return DigitalMediaType.AUDIO; 129 throw new IllegalArgumentException("Unknown DigitalMediaType code '"+codeString+"'"); 130 } 131 public Enumeration<DigitalMediaType> fromType(Base code) throws FHIRException { 132 if (code == null || code.isEmpty()) 133 return null; 134 String codeString = ((PrimitiveType) code).asStringValue(); 135 if (codeString == null || "".equals(codeString)) 136 return null; 137 if ("photo".equals(codeString)) 138 return new Enumeration<DigitalMediaType>(this, DigitalMediaType.PHOTO); 139 if ("video".equals(codeString)) 140 return new Enumeration<DigitalMediaType>(this, DigitalMediaType.VIDEO); 141 if ("audio".equals(codeString)) 142 return new Enumeration<DigitalMediaType>(this, DigitalMediaType.AUDIO); 143 throw new FHIRException("Unknown DigitalMediaType code '"+codeString+"'"); 144 } 145 public String toCode(DigitalMediaType code) { 146 if (code == DigitalMediaType.PHOTO) 147 return "photo"; 148 if (code == DigitalMediaType.VIDEO) 149 return "video"; 150 if (code == DigitalMediaType.AUDIO) 151 return "audio"; 152 return "?"; 153 } 154 public String toSystem(DigitalMediaType code) { 155 return code.getSystem(); 156 } 157 } 158 159 /** 160 * Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers. 161 */ 162 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 163 @Description(shortDefinition="Identifier(s) for the image", formalDefinition="Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers." ) 164 protected List<Identifier> identifier; 165 166 /** 167 * Whether the media is a photo (still image), an audio recording, or a video recording. 168 */ 169 @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 170 @Description(shortDefinition="photo | video | audio", formalDefinition="Whether the media is a photo (still image), an audio recording, or a video recording." ) 171 protected Enumeration<DigitalMediaType> type; 172 173 /** 174 * Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality. 175 */ 176 @Child(name = "subtype", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) 177 @Description(shortDefinition="The type of acquisition equipment/process", formalDefinition="Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality." ) 178 protected CodeableConcept subtype; 179 180 /** 181 * The name of the imaging view e.g. Lateral or Antero-posterior (AP). 182 */ 183 @Child(name = "view", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) 184 @Description(shortDefinition="Imaging view, e.g. Lateral or Antero-posterior", formalDefinition="The name of the imaging view e.g. Lateral or Antero-posterior (AP)." ) 185 protected CodeableConcept view; 186 187 /** 188 * Who/What this Media is a record of. 189 */ 190 @Child(name = "subject", type = {Patient.class, Practitioner.class, Group.class, Device.class, Specimen.class}, order=4, min=0, max=1, modifier=false, summary=true) 191 @Description(shortDefinition="Who/What this Media is a record of", formalDefinition="Who/What this Media is a record of." ) 192 protected Reference subject; 193 194 /** 195 * The actual object that is the target of the reference (Who/What this Media is a record of.) 196 */ 197 protected Resource subjectTarget; 198 199 /** 200 * The person who administered the collection of the image. 201 */ 202 @Child(name = "operator", type = {Practitioner.class}, order=5, min=0, max=1, modifier=false, summary=true) 203 @Description(shortDefinition="The person who generated the image", formalDefinition="The person who administered the collection of the image." ) 204 protected Reference operator; 205 206 /** 207 * The actual object that is the target of the reference (The person who administered the collection of the image.) 208 */ 209 protected Practitioner operatorTarget; 210 211 /** 212 * The name of the device / manufacturer of the device that was used to make the recording. 213 */ 214 @Child(name = "deviceName", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) 215 @Description(shortDefinition="Name of the device/manufacturer", formalDefinition="The name of the device / manufacturer of the device that was used to make the recording." ) 216 protected StringType deviceName; 217 218 /** 219 * Height of the image in pixels (photo/video). 220 */ 221 @Child(name = "height", type = {PositiveIntType.class}, order=7, min=0, max=1, modifier=false, summary=true) 222 @Description(shortDefinition="Height of the image in pixels (photo/video)", formalDefinition="Height of the image in pixels (photo/video)." ) 223 protected PositiveIntType height; 224 225 /** 226 * Width of the image in pixels (photo/video). 227 */ 228 @Child(name = "width", type = {PositiveIntType.class}, order=8, min=0, max=1, modifier=false, summary=true) 229 @Description(shortDefinition="Width of the image in pixels (photo/video)", formalDefinition="Width of the image in pixels (photo/video)." ) 230 protected PositiveIntType width; 231 232 /** 233 * The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required. 234 */ 235 @Child(name = "frames", type = {PositiveIntType.class}, order=9, min=0, max=1, modifier=false, summary=true) 236 @Description(shortDefinition="Number of frames if > 1 (photo)", formalDefinition="The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required." ) 237 protected PositiveIntType frames; 238 239 /** 240 * The duration of the recording in seconds - for audio and video. 241 */ 242 @Child(name = "duration", type = {UnsignedIntType.class}, order=10, min=0, max=1, modifier=false, summary=true) 243 @Description(shortDefinition="Length in seconds (audio / video)", formalDefinition="The duration of the recording in seconds - for audio and video." ) 244 protected UnsignedIntType duration; 245 246 /** 247 * The actual content of the media - inline or by direct reference to the media source file. 248 */ 249 @Child(name = "content", type = {Attachment.class}, order=11, min=1, max=1, modifier=false, summary=false) 250 @Description(shortDefinition="Actual Media - reference or data", formalDefinition="The actual content of the media - inline or by direct reference to the media source file." ) 251 protected Attachment content; 252 253 private static final long serialVersionUID = -2144305643L; 254 255 /** 256 * Constructor 257 */ 258 public Media() { 259 super(); 260 } 261 262 /** 263 * Constructor 264 */ 265 public Media(Enumeration<DigitalMediaType> type, Attachment content) { 266 super(); 267 this.type = type; 268 this.content = content; 269 } 270 271 /** 272 * @return {@link #identifier} (Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers.) 273 */ 274 public List<Identifier> getIdentifier() { 275 if (this.identifier == null) 276 this.identifier = new ArrayList<Identifier>(); 277 return this.identifier; 278 } 279 280 public boolean hasIdentifier() { 281 if (this.identifier == null) 282 return false; 283 for (Identifier item : this.identifier) 284 if (!item.isEmpty()) 285 return true; 286 return false; 287 } 288 289 /** 290 * @return {@link #identifier} (Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers.) 291 */ 292 // syntactic sugar 293 public Identifier addIdentifier() { //3 294 Identifier t = new Identifier(); 295 if (this.identifier == null) 296 this.identifier = new ArrayList<Identifier>(); 297 this.identifier.add(t); 298 return t; 299 } 300 301 // syntactic sugar 302 public Media addIdentifier(Identifier t) { //3 303 if (t == null) 304 return this; 305 if (this.identifier == null) 306 this.identifier = new ArrayList<Identifier>(); 307 this.identifier.add(t); 308 return this; 309 } 310 311 /** 312 * @return {@link #type} (Whether the media is a photo (still image), an audio recording, or a video recording.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 313 */ 314 public Enumeration<DigitalMediaType> getTypeElement() { 315 if (this.type == null) 316 if (Configuration.errorOnAutoCreate()) 317 throw new Error("Attempt to auto-create Media.type"); 318 else if (Configuration.doAutoCreate()) 319 this.type = new Enumeration<DigitalMediaType>(new DigitalMediaTypeEnumFactory()); // bb 320 return this.type; 321 } 322 323 public boolean hasTypeElement() { 324 return this.type != null && !this.type.isEmpty(); 325 } 326 327 public boolean hasType() { 328 return this.type != null && !this.type.isEmpty(); 329 } 330 331 /** 332 * @param value {@link #type} (Whether the media is a photo (still image), an audio recording, or a video recording.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 333 */ 334 public Media setTypeElement(Enumeration<DigitalMediaType> value) { 335 this.type = value; 336 return this; 337 } 338 339 /** 340 * @return Whether the media is a photo (still image), an audio recording, or a video recording. 341 */ 342 public DigitalMediaType getType() { 343 return this.type == null ? null : this.type.getValue(); 344 } 345 346 /** 347 * @param value Whether the media is a photo (still image), an audio recording, or a video recording. 348 */ 349 public Media setType(DigitalMediaType value) { 350 if (this.type == null) 351 this.type = new Enumeration<DigitalMediaType>(new DigitalMediaTypeEnumFactory()); 352 this.type.setValue(value); 353 return this; 354 } 355 356 /** 357 * @return {@link #subtype} (Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality.) 358 */ 359 public CodeableConcept getSubtype() { 360 if (this.subtype == null) 361 if (Configuration.errorOnAutoCreate()) 362 throw new Error("Attempt to auto-create Media.subtype"); 363 else if (Configuration.doAutoCreate()) 364 this.subtype = new CodeableConcept(); // cc 365 return this.subtype; 366 } 367 368 public boolean hasSubtype() { 369 return this.subtype != null && !this.subtype.isEmpty(); 370 } 371 372 /** 373 * @param value {@link #subtype} (Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality.) 374 */ 375 public Media setSubtype(CodeableConcept value) { 376 this.subtype = value; 377 return this; 378 } 379 380 /** 381 * @return {@link #view} (The name of the imaging view e.g. Lateral or Antero-posterior (AP).) 382 */ 383 public CodeableConcept getView() { 384 if (this.view == null) 385 if (Configuration.errorOnAutoCreate()) 386 throw new Error("Attempt to auto-create Media.view"); 387 else if (Configuration.doAutoCreate()) 388 this.view = new CodeableConcept(); // cc 389 return this.view; 390 } 391 392 public boolean hasView() { 393 return this.view != null && !this.view.isEmpty(); 394 } 395 396 /** 397 * @param value {@link #view} (The name of the imaging view e.g. Lateral or Antero-posterior (AP).) 398 */ 399 public Media setView(CodeableConcept value) { 400 this.view = value; 401 return this; 402 } 403 404 /** 405 * @return {@link #subject} (Who/What this Media is a record of.) 406 */ 407 public Reference getSubject() { 408 if (this.subject == null) 409 if (Configuration.errorOnAutoCreate()) 410 throw new Error("Attempt to auto-create Media.subject"); 411 else if (Configuration.doAutoCreate()) 412 this.subject = new Reference(); // cc 413 return this.subject; 414 } 415 416 public boolean hasSubject() { 417 return this.subject != null && !this.subject.isEmpty(); 418 } 419 420 /** 421 * @param value {@link #subject} (Who/What this Media is a record of.) 422 */ 423 public Media setSubject(Reference value) { 424 this.subject = value; 425 return this; 426 } 427 428 /** 429 * @return {@link #subject} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Who/What this Media is a record of.) 430 */ 431 public Resource getSubjectTarget() { 432 return this.subjectTarget; 433 } 434 435 /** 436 * @param value {@link #subject} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Who/What this Media is a record of.) 437 */ 438 public Media setSubjectTarget(Resource value) { 439 this.subjectTarget = value; 440 return this; 441 } 442 443 /** 444 * @return {@link #operator} (The person who administered the collection of the image.) 445 */ 446 public Reference getOperator() { 447 if (this.operator == null) 448 if (Configuration.errorOnAutoCreate()) 449 throw new Error("Attempt to auto-create Media.operator"); 450 else if (Configuration.doAutoCreate()) 451 this.operator = new Reference(); // cc 452 return this.operator; 453 } 454 455 public boolean hasOperator() { 456 return this.operator != null && !this.operator.isEmpty(); 457 } 458 459 /** 460 * @param value {@link #operator} (The person who administered the collection of the image.) 461 */ 462 public Media setOperator(Reference value) { 463 this.operator = value; 464 return this; 465 } 466 467 /** 468 * @return {@link #operator} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The person who administered the collection of the image.) 469 */ 470 public Practitioner getOperatorTarget() { 471 if (this.operatorTarget == null) 472 if (Configuration.errorOnAutoCreate()) 473 throw new Error("Attempt to auto-create Media.operator"); 474 else if (Configuration.doAutoCreate()) 475 this.operatorTarget = new Practitioner(); // aa 476 return this.operatorTarget; 477 } 478 479 /** 480 * @param value {@link #operator} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The person who administered the collection of the image.) 481 */ 482 public Media setOperatorTarget(Practitioner value) { 483 this.operatorTarget = value; 484 return this; 485 } 486 487 /** 488 * @return {@link #deviceName} (The name of the device / manufacturer of the device that was used to make the recording.). This is the underlying object with id, value and extensions. The accessor "getDeviceName" gives direct access to the value 489 */ 490 public StringType getDeviceNameElement() { 491 if (this.deviceName == null) 492 if (Configuration.errorOnAutoCreate()) 493 throw new Error("Attempt to auto-create Media.deviceName"); 494 else if (Configuration.doAutoCreate()) 495 this.deviceName = new StringType(); // bb 496 return this.deviceName; 497 } 498 499 public boolean hasDeviceNameElement() { 500 return this.deviceName != null && !this.deviceName.isEmpty(); 501 } 502 503 public boolean hasDeviceName() { 504 return this.deviceName != null && !this.deviceName.isEmpty(); 505 } 506 507 /** 508 * @param value {@link #deviceName} (The name of the device / manufacturer of the device that was used to make the recording.). This is the underlying object with id, value and extensions. The accessor "getDeviceName" gives direct access to the value 509 */ 510 public Media setDeviceNameElement(StringType value) { 511 this.deviceName = value; 512 return this; 513 } 514 515 /** 516 * @return The name of the device / manufacturer of the device that was used to make the recording. 517 */ 518 public String getDeviceName() { 519 return this.deviceName == null ? null : this.deviceName.getValue(); 520 } 521 522 /** 523 * @param value The name of the device / manufacturer of the device that was used to make the recording. 524 */ 525 public Media setDeviceName(String value) { 526 if (Utilities.noString(value)) 527 this.deviceName = null; 528 else { 529 if (this.deviceName == null) 530 this.deviceName = new StringType(); 531 this.deviceName.setValue(value); 532 } 533 return this; 534 } 535 536 /** 537 * @return {@link #height} (Height of the image in pixels (photo/video).). This is the underlying object with id, value and extensions. The accessor "getHeight" gives direct access to the value 538 */ 539 public PositiveIntType getHeightElement() { 540 if (this.height == null) 541 if (Configuration.errorOnAutoCreate()) 542 throw new Error("Attempt to auto-create Media.height"); 543 else if (Configuration.doAutoCreate()) 544 this.height = new PositiveIntType(); // bb 545 return this.height; 546 } 547 548 public boolean hasHeightElement() { 549 return this.height != null && !this.height.isEmpty(); 550 } 551 552 public boolean hasHeight() { 553 return this.height != null && !this.height.isEmpty(); 554 } 555 556 /** 557 * @param value {@link #height} (Height of the image in pixels (photo/video).). This is the underlying object with id, value and extensions. The accessor "getHeight" gives direct access to the value 558 */ 559 public Media setHeightElement(PositiveIntType value) { 560 this.height = value; 561 return this; 562 } 563 564 /** 565 * @return Height of the image in pixels (photo/video). 566 */ 567 public int getHeight() { 568 return this.height == null || this.height.isEmpty() ? 0 : this.height.getValue(); 569 } 570 571 /** 572 * @param value Height of the image in pixels (photo/video). 573 */ 574 public Media setHeight(int value) { 575 if (this.height == null) 576 this.height = new PositiveIntType(); 577 this.height.setValue(value); 578 return this; 579 } 580 581 /** 582 * @return {@link #width} (Width of the image in pixels (photo/video).). This is the underlying object with id, value and extensions. The accessor "getWidth" gives direct access to the value 583 */ 584 public PositiveIntType getWidthElement() { 585 if (this.width == null) 586 if (Configuration.errorOnAutoCreate()) 587 throw new Error("Attempt to auto-create Media.width"); 588 else if (Configuration.doAutoCreate()) 589 this.width = new PositiveIntType(); // bb 590 return this.width; 591 } 592 593 public boolean hasWidthElement() { 594 return this.width != null && !this.width.isEmpty(); 595 } 596 597 public boolean hasWidth() { 598 return this.width != null && !this.width.isEmpty(); 599 } 600 601 /** 602 * @param value {@link #width} (Width of the image in pixels (photo/video).). This is the underlying object with id, value and extensions. The accessor "getWidth" gives direct access to the value 603 */ 604 public Media setWidthElement(PositiveIntType value) { 605 this.width = value; 606 return this; 607 } 608 609 /** 610 * @return Width of the image in pixels (photo/video). 611 */ 612 public int getWidth() { 613 return this.width == null || this.width.isEmpty() ? 0 : this.width.getValue(); 614 } 615 616 /** 617 * @param value Width of the image in pixels (photo/video). 618 */ 619 public Media setWidth(int value) { 620 if (this.width == null) 621 this.width = new PositiveIntType(); 622 this.width.setValue(value); 623 return this; 624 } 625 626 /** 627 * @return {@link #frames} (The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.). This is the underlying object with id, value and extensions. The accessor "getFrames" gives direct access to the value 628 */ 629 public PositiveIntType getFramesElement() { 630 if (this.frames == null) 631 if (Configuration.errorOnAutoCreate()) 632 throw new Error("Attempt to auto-create Media.frames"); 633 else if (Configuration.doAutoCreate()) 634 this.frames = new PositiveIntType(); // bb 635 return this.frames; 636 } 637 638 public boolean hasFramesElement() { 639 return this.frames != null && !this.frames.isEmpty(); 640 } 641 642 public boolean hasFrames() { 643 return this.frames != null && !this.frames.isEmpty(); 644 } 645 646 /** 647 * @param value {@link #frames} (The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.). This is the underlying object with id, value and extensions. The accessor "getFrames" gives direct access to the value 648 */ 649 public Media setFramesElement(PositiveIntType value) { 650 this.frames = value; 651 return this; 652 } 653 654 /** 655 * @return The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required. 656 */ 657 public int getFrames() { 658 return this.frames == null || this.frames.isEmpty() ? 0 : this.frames.getValue(); 659 } 660 661 /** 662 * @param value The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required. 663 */ 664 public Media setFrames(int value) { 665 if (this.frames == null) 666 this.frames = new PositiveIntType(); 667 this.frames.setValue(value); 668 return this; 669 } 670 671 /** 672 * @return {@link #duration} (The duration of the recording in seconds - for audio and video.). This is the underlying object with id, value and extensions. The accessor "getDuration" gives direct access to the value 673 */ 674 public UnsignedIntType getDurationElement() { 675 if (this.duration == null) 676 if (Configuration.errorOnAutoCreate()) 677 throw new Error("Attempt to auto-create Media.duration"); 678 else if (Configuration.doAutoCreate()) 679 this.duration = new UnsignedIntType(); // bb 680 return this.duration; 681 } 682 683 public boolean hasDurationElement() { 684 return this.duration != null && !this.duration.isEmpty(); 685 } 686 687 public boolean hasDuration() { 688 return this.duration != null && !this.duration.isEmpty(); 689 } 690 691 /** 692 * @param value {@link #duration} (The duration of the recording in seconds - for audio and video.). This is the underlying object with id, value and extensions. The accessor "getDuration" gives direct access to the value 693 */ 694 public Media setDurationElement(UnsignedIntType value) { 695 this.duration = value; 696 return this; 697 } 698 699 /** 700 * @return The duration of the recording in seconds - for audio and video. 701 */ 702 public int getDuration() { 703 return this.duration == null || this.duration.isEmpty() ? 0 : this.duration.getValue(); 704 } 705 706 /** 707 * @param value The duration of the recording in seconds - for audio and video. 708 */ 709 public Media setDuration(int value) { 710 if (this.duration == null) 711 this.duration = new UnsignedIntType(); 712 this.duration.setValue(value); 713 return this; 714 } 715 716 /** 717 * @return {@link #content} (The actual content of the media - inline or by direct reference to the media source file.) 718 */ 719 public Attachment getContent() { 720 if (this.content == null) 721 if (Configuration.errorOnAutoCreate()) 722 throw new Error("Attempt to auto-create Media.content"); 723 else if (Configuration.doAutoCreate()) 724 this.content = new Attachment(); // cc 725 return this.content; 726 } 727 728 public boolean hasContent() { 729 return this.content != null && !this.content.isEmpty(); 730 } 731 732 /** 733 * @param value {@link #content} (The actual content of the media - inline or by direct reference to the media source file.) 734 */ 735 public Media setContent(Attachment value) { 736 this.content = value; 737 return this; 738 } 739 740 protected void listChildren(List<Property> childrenList) { 741 super.listChildren(childrenList); 742 childrenList.add(new Property("identifier", "Identifier", "Identifiers associated with the image - these may include identifiers for the image itself, identifiers for the context of its collection (e.g. series ids) and context ids such as accession numbers or other workflow identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier)); 743 childrenList.add(new Property("type", "code", "Whether the media is a photo (still image), an audio recording, or a video recording.", 0, java.lang.Integer.MAX_VALUE, type)); 744 childrenList.add(new Property("subtype", "CodeableConcept", "Details of the type of the media - usually, how it was acquired (what type of device). If images sourced from a DICOM system, are wrapped in a Media resource, then this is the modality.", 0, java.lang.Integer.MAX_VALUE, subtype)); 745 childrenList.add(new Property("view", "CodeableConcept", "The name of the imaging view e.g. Lateral or Antero-posterior (AP).", 0, java.lang.Integer.MAX_VALUE, view)); 746 childrenList.add(new Property("subject", "Reference(Patient|Practitioner|Group|Device|Specimen)", "Who/What this Media is a record of.", 0, java.lang.Integer.MAX_VALUE, subject)); 747 childrenList.add(new Property("operator", "Reference(Practitioner)", "The person who administered the collection of the image.", 0, java.lang.Integer.MAX_VALUE, operator)); 748 childrenList.add(new Property("deviceName", "string", "The name of the device / manufacturer of the device that was used to make the recording.", 0, java.lang.Integer.MAX_VALUE, deviceName)); 749 childrenList.add(new Property("height", "positiveInt", "Height of the image in pixels (photo/video).", 0, java.lang.Integer.MAX_VALUE, height)); 750 childrenList.add(new Property("width", "positiveInt", "Width of the image in pixels (photo/video).", 0, java.lang.Integer.MAX_VALUE, width)); 751 childrenList.add(new Property("frames", "positiveInt", "The number of frames in a photo. This is used with a multi-page fax, or an imaging acquisition context that takes multiple slices in a single image, or an animated gif. If there is more than one frame, this SHALL have a value in order to alert interface software that a multi-frame capable rendering widget is required.", 0, java.lang.Integer.MAX_VALUE, frames)); 752 childrenList.add(new Property("duration", "unsignedInt", "The duration of the recording in seconds - for audio and video.", 0, java.lang.Integer.MAX_VALUE, duration)); 753 childrenList.add(new Property("content", "Attachment", "The actual content of the media - inline or by direct reference to the media source file.", 0, java.lang.Integer.MAX_VALUE, content)); 754 } 755 756 @Override 757 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 758 switch (hash) { 759 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 760 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<DigitalMediaType> 761 case -1867567750: /*subtype*/ return this.subtype == null ? new Base[0] : new Base[] {this.subtype}; // CodeableConcept 762 case 3619493: /*view*/ return this.view == null ? new Base[0] : new Base[] {this.view}; // CodeableConcept 763 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 764 case -500553564: /*operator*/ return this.operator == null ? new Base[0] : new Base[] {this.operator}; // Reference 765 case 780988929: /*deviceName*/ return this.deviceName == null ? new Base[0] : new Base[] {this.deviceName}; // StringType 766 case -1221029593: /*height*/ return this.height == null ? new Base[0] : new Base[] {this.height}; // PositiveIntType 767 case 113126854: /*width*/ return this.width == null ? new Base[0] : new Base[] {this.width}; // PositiveIntType 768 case -1266514778: /*frames*/ return this.frames == null ? new Base[0] : new Base[] {this.frames}; // PositiveIntType 769 case -1992012396: /*duration*/ return this.duration == null ? new Base[0] : new Base[] {this.duration}; // UnsignedIntType 770 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Attachment 771 default: return super.getProperty(hash, name, checkValid); 772 } 773 774 } 775 776 @Override 777 public void setProperty(int hash, String name, Base value) throws FHIRException { 778 switch (hash) { 779 case -1618432855: // identifier 780 this.getIdentifier().add(castToIdentifier(value)); // Identifier 781 break; 782 case 3575610: // type 783 this.type = new DigitalMediaTypeEnumFactory().fromType(value); // Enumeration<DigitalMediaType> 784 break; 785 case -1867567750: // subtype 786 this.subtype = castToCodeableConcept(value); // CodeableConcept 787 break; 788 case 3619493: // view 789 this.view = castToCodeableConcept(value); // CodeableConcept 790 break; 791 case -1867885268: // subject 792 this.subject = castToReference(value); // Reference 793 break; 794 case -500553564: // operator 795 this.operator = castToReference(value); // Reference 796 break; 797 case 780988929: // deviceName 798 this.deviceName = castToString(value); // StringType 799 break; 800 case -1221029593: // height 801 this.height = castToPositiveInt(value); // PositiveIntType 802 break; 803 case 113126854: // width 804 this.width = castToPositiveInt(value); // PositiveIntType 805 break; 806 case -1266514778: // frames 807 this.frames = castToPositiveInt(value); // PositiveIntType 808 break; 809 case -1992012396: // duration 810 this.duration = castToUnsignedInt(value); // UnsignedIntType 811 break; 812 case 951530617: // content 813 this.content = castToAttachment(value); // Attachment 814 break; 815 default: super.setProperty(hash, name, value); 816 } 817 818 } 819 820 @Override 821 public void setProperty(String name, Base value) throws FHIRException { 822 if (name.equals("identifier")) 823 this.getIdentifier().add(castToIdentifier(value)); 824 else if (name.equals("type")) 825 this.type = new DigitalMediaTypeEnumFactory().fromType(value); // Enumeration<DigitalMediaType> 826 else if (name.equals("subtype")) 827 this.subtype = castToCodeableConcept(value); // CodeableConcept 828 else if (name.equals("view")) 829 this.view = castToCodeableConcept(value); // CodeableConcept 830 else if (name.equals("subject")) 831 this.subject = castToReference(value); // Reference 832 else if (name.equals("operator")) 833 this.operator = castToReference(value); // Reference 834 else if (name.equals("deviceName")) 835 this.deviceName = castToString(value); // StringType 836 else if (name.equals("height")) 837 this.height = castToPositiveInt(value); // PositiveIntType 838 else if (name.equals("width")) 839 this.width = castToPositiveInt(value); // PositiveIntType 840 else if (name.equals("frames")) 841 this.frames = castToPositiveInt(value); // PositiveIntType 842 else if (name.equals("duration")) 843 this.duration = castToUnsignedInt(value); // UnsignedIntType 844 else if (name.equals("content")) 845 this.content = castToAttachment(value); // Attachment 846 else 847 super.setProperty(name, value); 848 } 849 850 @Override 851 public Base makeProperty(int hash, String name) throws FHIRException { 852 switch (hash) { 853 case -1618432855: return addIdentifier(); // Identifier 854 case 3575610: throw new FHIRException("Cannot make property type as it is not a complex type"); // Enumeration<DigitalMediaType> 855 case -1867567750: return getSubtype(); // CodeableConcept 856 case 3619493: return getView(); // CodeableConcept 857 case -1867885268: return getSubject(); // Reference 858 case -500553564: return getOperator(); // Reference 859 case 780988929: throw new FHIRException("Cannot make property deviceName as it is not a complex type"); // StringType 860 case -1221029593: throw new FHIRException("Cannot make property height as it is not a complex type"); // PositiveIntType 861 case 113126854: throw new FHIRException("Cannot make property width as it is not a complex type"); // PositiveIntType 862 case -1266514778: throw new FHIRException("Cannot make property frames as it is not a complex type"); // PositiveIntType 863 case -1992012396: throw new FHIRException("Cannot make property duration as it is not a complex type"); // UnsignedIntType 864 case 951530617: return getContent(); // Attachment 865 default: return super.makeProperty(hash, name); 866 } 867 868 } 869 870 @Override 871 public Base addChild(String name) throws FHIRException { 872 if (name.equals("identifier")) { 873 return addIdentifier(); 874 } 875 else if (name.equals("type")) { 876 throw new FHIRException("Cannot call addChild on a primitive type Media.type"); 877 } 878 else if (name.equals("subtype")) { 879 this.subtype = new CodeableConcept(); 880 return this.subtype; 881 } 882 else if (name.equals("view")) { 883 this.view = new CodeableConcept(); 884 return this.view; 885 } 886 else if (name.equals("subject")) { 887 this.subject = new Reference(); 888 return this.subject; 889 } 890 else if (name.equals("operator")) { 891 this.operator = new Reference(); 892 return this.operator; 893 } 894 else if (name.equals("deviceName")) { 895 throw new FHIRException("Cannot call addChild on a primitive type Media.deviceName"); 896 } 897 else if (name.equals("height")) { 898 throw new FHIRException("Cannot call addChild on a primitive type Media.height"); 899 } 900 else if (name.equals("width")) { 901 throw new FHIRException("Cannot call addChild on a primitive type Media.width"); 902 } 903 else if (name.equals("frames")) { 904 throw new FHIRException("Cannot call addChild on a primitive type Media.frames"); 905 } 906 else if (name.equals("duration")) { 907 throw new FHIRException("Cannot call addChild on a primitive type Media.duration"); 908 } 909 else if (name.equals("content")) { 910 this.content = new Attachment(); 911 return this.content; 912 } 913 else 914 return super.addChild(name); 915 } 916 917 public String fhirType() { 918 return "Media"; 919 920 } 921 922 public Media copy() { 923 Media dst = new Media(); 924 copyValues(dst); 925 if (identifier != null) { 926 dst.identifier = new ArrayList<Identifier>(); 927 for (Identifier i : identifier) 928 dst.identifier.add(i.copy()); 929 }; 930 dst.type = type == null ? null : type.copy(); 931 dst.subtype = subtype == null ? null : subtype.copy(); 932 dst.view = view == null ? null : view.copy(); 933 dst.subject = subject == null ? null : subject.copy(); 934 dst.operator = operator == null ? null : operator.copy(); 935 dst.deviceName = deviceName == null ? null : deviceName.copy(); 936 dst.height = height == null ? null : height.copy(); 937 dst.width = width == null ? null : width.copy(); 938 dst.frames = frames == null ? null : frames.copy(); 939 dst.duration = duration == null ? null : duration.copy(); 940 dst.content = content == null ? null : content.copy(); 941 return dst; 942 } 943 944 protected Media typedCopy() { 945 return copy(); 946 } 947 948 @Override 949 public boolean equalsDeep(Base other) { 950 if (!super.equalsDeep(other)) 951 return false; 952 if (!(other instanceof Media)) 953 return false; 954 Media o = (Media) other; 955 return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(subtype, o.subtype, true) 956 && compareDeep(view, o.view, true) && compareDeep(subject, o.subject, true) && compareDeep(operator, o.operator, true) 957 && compareDeep(deviceName, o.deviceName, true) && compareDeep(height, o.height, true) && compareDeep(width, o.width, true) 958 && compareDeep(frames, o.frames, true) && compareDeep(duration, o.duration, true) && compareDeep(content, o.content, true) 959 ; 960 } 961 962 @Override 963 public boolean equalsShallow(Base other) { 964 if (!super.equalsShallow(other)) 965 return false; 966 if (!(other instanceof Media)) 967 return false; 968 Media o = (Media) other; 969 return compareValues(type, o.type, true) && compareValues(deviceName, o.deviceName, true) && compareValues(height, o.height, true) 970 && compareValues(width, o.width, true) && compareValues(frames, o.frames, true) && compareValues(duration, o.duration, true) 971 ; 972 } 973 974 public boolean isEmpty() { 975 return super.isEmpty() && (identifier == null || identifier.isEmpty()) && (type == null || type.isEmpty()) 976 && (subtype == null || subtype.isEmpty()) && (view == null || view.isEmpty()) && (subject == null || subject.isEmpty()) 977 && (operator == null || operator.isEmpty()) && (deviceName == null || deviceName.isEmpty()) 978 && (height == null || height.isEmpty()) && (width == null || width.isEmpty()) && (frames == null || frames.isEmpty()) 979 && (duration == null || duration.isEmpty()) && (content == null || content.isEmpty()); 980 } 981 982 @Override 983 public ResourceType getResourceType() { 984 return ResourceType.Media; 985 } 986 987 /** 988 * Search parameter: <b>patient</b> 989 * <p> 990 * Description: <b>Who/What this Media is a record of</b><br> 991 * Type: <b>reference</b><br> 992 * Path: <b>Media.subject</b><br> 993 * </p> 994 */ 995 @SearchParamDefinition(name="patient", path="Media.subject", description="Who/What this Media is a record of", type="reference" ) 996 public static final String SP_PATIENT = "patient"; 997 /** 998 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 999 * <p> 1000 * Description: <b>Who/What this Media is a record of</b><br> 1001 * Type: <b>reference</b><br> 1002 * Path: <b>Media.subject</b><br> 1003 * </p> 1004 */ 1005 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1006 1007/** 1008 * Constant for fluent queries to be used to add include statements. Specifies 1009 * the path value of "<b>Media:patient</b>". 1010 */ 1011 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Media:patient").toLocked(); 1012 1013 /** 1014 * Search parameter: <b>created</b> 1015 * <p> 1016 * Description: <b>Date attachment was first created</b><br> 1017 * Type: <b>date</b><br> 1018 * Path: <b>Media.content.creation</b><br> 1019 * </p> 1020 */ 1021 @SearchParamDefinition(name="created", path="Media.content.creation", description="Date attachment was first created", type="date" ) 1022 public static final String SP_CREATED = "created"; 1023 /** 1024 * <b>Fluent Client</b> search parameter constant for <b>created</b> 1025 * <p> 1026 * Description: <b>Date attachment was first created</b><br> 1027 * Type: <b>date</b><br> 1028 * Path: <b>Media.content.creation</b><br> 1029 * </p> 1030 */ 1031 public static final ca.uhn.fhir.rest.gclient.DateClientParam CREATED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_CREATED); 1032 1033 /** 1034 * Search parameter: <b>subject</b> 1035 * <p> 1036 * Description: <b>Who/What this Media is a record of</b><br> 1037 * Type: <b>reference</b><br> 1038 * Path: <b>Media.subject</b><br> 1039 * </p> 1040 */ 1041 @SearchParamDefinition(name="subject", path="Media.subject", description="Who/What this Media is a record of", type="reference" ) 1042 public static final String SP_SUBJECT = "subject"; 1043 /** 1044 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1045 * <p> 1046 * Description: <b>Who/What this Media is a record of</b><br> 1047 * Type: <b>reference</b><br> 1048 * Path: <b>Media.subject</b><br> 1049 * </p> 1050 */ 1051 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1052 1053/** 1054 * Constant for fluent queries to be used to add include statements. Specifies 1055 * the path value of "<b>Media:subject</b>". 1056 */ 1057 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Media:subject").toLocked(); 1058 1059 /** 1060 * Search parameter: <b>subtype</b> 1061 * <p> 1062 * Description: <b>The type of acquisition equipment/process</b><br> 1063 * Type: <b>token</b><br> 1064 * Path: <b>Media.subtype</b><br> 1065 * </p> 1066 */ 1067 @SearchParamDefinition(name="subtype", path="Media.subtype", description="The type of acquisition equipment/process", type="token" ) 1068 public static final String SP_SUBTYPE = "subtype"; 1069 /** 1070 * <b>Fluent Client</b> search parameter constant for <b>subtype</b> 1071 * <p> 1072 * Description: <b>The type of acquisition equipment/process</b><br> 1073 * Type: <b>token</b><br> 1074 * Path: <b>Media.subtype</b><br> 1075 * </p> 1076 */ 1077 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SUBTYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SUBTYPE); 1078 1079 /** 1080 * Search parameter: <b>view</b> 1081 * <p> 1082 * Description: <b>Imaging view, e.g. Lateral or Antero-posterior</b><br> 1083 * Type: <b>token</b><br> 1084 * Path: <b>Media.view</b><br> 1085 * </p> 1086 */ 1087 @SearchParamDefinition(name="view", path="Media.view", description="Imaging view, e.g. Lateral or Antero-posterior", type="token" ) 1088 public static final String SP_VIEW = "view"; 1089 /** 1090 * <b>Fluent Client</b> search parameter constant for <b>view</b> 1091 * <p> 1092 * Description: <b>Imaging view, e.g. Lateral or Antero-posterior</b><br> 1093 * Type: <b>token</b><br> 1094 * Path: <b>Media.view</b><br> 1095 * </p> 1096 */ 1097 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VIEW = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VIEW); 1098 1099 /** 1100 * Search parameter: <b>type</b> 1101 * <p> 1102 * Description: <b>photo | video | audio</b><br> 1103 * Type: <b>token</b><br> 1104 * Path: <b>Media.type</b><br> 1105 * </p> 1106 */ 1107 @SearchParamDefinition(name="type", path="Media.type", description="photo | video | audio", type="token" ) 1108 public static final String SP_TYPE = "type"; 1109 /** 1110 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1111 * <p> 1112 * Description: <b>photo | video | audio</b><br> 1113 * Type: <b>token</b><br> 1114 * Path: <b>Media.type</b><br> 1115 * </p> 1116 */ 1117 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1118 1119 /** 1120 * Search parameter: <b>identifier</b> 1121 * <p> 1122 * Description: <b>Identifier(s) for the image</b><br> 1123 * Type: <b>token</b><br> 1124 * Path: <b>Media.identifier</b><br> 1125 * </p> 1126 */ 1127 @SearchParamDefinition(name="identifier", path="Media.identifier", description="Identifier(s) for the image", type="token" ) 1128 public static final String SP_IDENTIFIER = "identifier"; 1129 /** 1130 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1131 * <p> 1132 * Description: <b>Identifier(s) for the image</b><br> 1133 * Type: <b>token</b><br> 1134 * Path: <b>Media.identifier</b><br> 1135 * </p> 1136 */ 1137 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1138 1139 /** 1140 * Search parameter: <b>operator</b> 1141 * <p> 1142 * Description: <b>The person who generated the image</b><br> 1143 * Type: <b>reference</b><br> 1144 * Path: <b>Media.operator</b><br> 1145 * </p> 1146 */ 1147 @SearchParamDefinition(name="operator", path="Media.operator", description="The person who generated the image", type="reference" ) 1148 public static final String SP_OPERATOR = "operator"; 1149 /** 1150 * <b>Fluent Client</b> search parameter constant for <b>operator</b> 1151 * <p> 1152 * Description: <b>The person who generated the image</b><br> 1153 * Type: <b>reference</b><br> 1154 * Path: <b>Media.operator</b><br> 1155 * </p> 1156 */ 1157 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OPERATOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OPERATOR); 1158 1159/** 1160 * Constant for fluent queries to be used to add include statements. Specifies 1161 * the path value of "<b>Media:operator</b>". 1162 */ 1163 public static final ca.uhn.fhir.model.api.Include INCLUDE_OPERATOR = new ca.uhn.fhir.model.api.Include("Media:operator").toLocked(); 1164 1165 1166}