
001package org.hl7.fhir.r5.openehr; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Thu, Mar 23, 2023 19:59+1100 for FHIR v5.0.0 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.openehr.Enumerations.*; 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.r5.model.*; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.ChildOrder; 044import ca.uhn.fhir.model.api.annotation.DatatypeDef; 045import ca.uhn.fhir.model.api.annotation.Description; 046import ca.uhn.fhir.model.api.annotation.Block; 047 048/** 049 * Audit details for any system in a feeder system chain. Audit details here means the general notion of who/where/when the information item to which the audit is attached was created. None of the attributes is defined as mandatory, however, in different scenarios, various combinations of attributes will usually be mandatory. This can be controlled by specifying feeder audit details in legacy archetypes. 050 */ 051@DatatypeDef(name="FEEDER_AUDIT_DETAILS") 052public class FEEDER_AUDIT_DETAILS extends LogicalBase implements ICompositeType { 053 054 /** 055 * Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system. 056 */ 057 @Child(name = "system_id", type = {StringType.class}, order=0, min=1, max=1, modifier=false, summary=false) 058 @Description(shortDefinition="Identifier of the system which handled the information item", formalDefinition="Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system." ) 059 protected StringType system_id; 060 061 /** 062 * Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object. 063 */ 064 @Child(name = "location", type = {PARTY_IDENTIFIED.class}, order=1, min=0, max=1, modifier=false, summary=false) 065 @Description(shortDefinition="Identifier of the particular site/facility within an organisation which handled the item", formalDefinition="Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object." ) 066 protected PARTY_IDENTIFIED location; 067 068 /** 069 * Identifiers for subject of the received information item. 070 */ 071 @Child(name = "subject", type = {PARTY_PROXY.class}, order=2, min=0, max=1, modifier=false, summary=false) 072 @Description(shortDefinition="Identifiers for subject of the received information item", formalDefinition="Identifiers for subject of the received information item." ) 073 protected PARTY_PROXY subject; 074 075 /** 076 * Optional provider(s) who created, committed, forwarded or otherwise handled the item. 077 */ 078 @Child(name = "provider", type = {PARTY_IDENTIFIED.class}, order=3, min=0, max=1, modifier=false, summary=false) 079 @Description(shortDefinition="Optional provider(s) who created, committed, forwarded or otherwise handled the item", formalDefinition="Optional provider(s) who created, committed, forwarded or otherwise handled the item." ) 080 protected PARTY_IDENTIFIED provider; 081 082 /** 083 * Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available. 084 */ 085 @Child(name = "time", type = {DV_DATE_TIME.class}, order=4, min=0, max=1, modifier=false, summary=false) 086 @Description(shortDefinition="Time of handling the item", formalDefinition="Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available." ) 087 protected DV_DATE_TIME time; 088 089 /** 090 * Any identifier used in the system such as `interim` , `final` , or numeric versions if available. 091 */ 092 @Child(name = "version_id", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 093 @Description(shortDefinition="Any identifier used in the system such as `interim` , `final` , or numeric versions if available", formalDefinition="Any identifier used in the system such as `interim` , `final` , or numeric versions if available." ) 094 protected StringType version_id; 095 096 /** 097 * Optional attribute to carry any custom meta-data. May be archetyped. 098 */ 099 @Child(name = "other_details", type = {ITEM_STRUCTURE.class}, order=6, min=0, max=1, modifier=false, summary=false) 100 @Description(shortDefinition="Optional attribute to carry any custom meta-data", formalDefinition="Optional attribute to carry any custom meta-data. May be archetyped." ) 101 protected ITEM_STRUCTURE other_details; 102 103 private static final long serialVersionUID = -31539140L; 104 105 /** 106 * Constructor 107 */ 108 public FEEDER_AUDIT_DETAILS() { 109 super(); 110 } 111 112 /** 113 * Constructor 114 */ 115 public FEEDER_AUDIT_DETAILS(String system_id) { 116 super(); 117 this.setSystem_id(system_id); 118 } 119 120 /** 121 * @return {@link #system_id} (Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system.). This is the underlying object with id, value and extensions. The accessor "getSystem_id" gives direct access to the value 122 */ 123 public StringType getSystem_idElement() { 124 if (this.system_id == null) 125 if (Configuration.errorOnAutoCreate()) 126 throw new Error("Attempt to auto-create FEEDER_AUDIT_DETAILS.system_id"); 127 else if (Configuration.doAutoCreate()) 128 this.system_id = new StringType(); // bb 129 return this.system_id; 130 } 131 132 public boolean hasSystem_idElement() { 133 return this.system_id != null && !this.system_id.isEmpty(); 134 } 135 136 public boolean hasSystem_id() { 137 return this.system_id != null && !this.system_id.isEmpty(); 138 } 139 140 /** 141 * @param value {@link #system_id} (Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system.). This is the underlying object with id, value and extensions. The accessor "getSystem_id" gives direct access to the value 142 */ 143 public FEEDER_AUDIT_DETAILS setSystem_idElement(StringType value) { 144 this.system_id = value; 145 return this; 146 } 147 148 /** 149 * @return Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system. 150 */ 151 public String getSystem_id() { 152 return this.system_id == null ? null : this.system_id.getValue(); 153 } 154 155 /** 156 * @param value Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system. 157 */ 158 public FEEDER_AUDIT_DETAILS setSystem_id(String value) { 159 if (this.system_id == null) 160 this.system_id = new StringType(); 161 this.system_id.setValue(value); 162 return this; 163 } 164 165 /** 166 * @return {@link #location} (Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object.) 167 */ 168 public PARTY_IDENTIFIED getLocation() { 169 if (this.location == null) 170 if (Configuration.errorOnAutoCreate()) 171 throw new Error("Attempt to auto-create FEEDER_AUDIT_DETAILS.location"); 172 else if (Configuration.doAutoCreate()) 173 this.location = new PARTY_IDENTIFIED(); // cc 174 return this.location; 175 } 176 177 public boolean hasLocation() { 178 return this.location != null && !this.location.isEmpty(); 179 } 180 181 /** 182 * @param value {@link #location} (Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object.) 183 */ 184 public FEEDER_AUDIT_DETAILS setLocation(PARTY_IDENTIFIED value) { 185 this.location = value; 186 return this; 187 } 188 189 /** 190 * @return {@link #subject} (Identifiers for subject of the received information item.) 191 */ 192 public PARTY_PROXY getSubject() { 193 return this.subject; 194 } 195 196 public boolean hasSubject() { 197 return this.subject != null && !this.subject.isEmpty(); 198 } 199 200 /** 201 * @param value {@link #subject} (Identifiers for subject of the received information item.) 202 */ 203 public FEEDER_AUDIT_DETAILS setSubject(PARTY_PROXY value) { 204 this.subject = value; 205 return this; 206 } 207 208 /** 209 * @return {@link #provider} (Optional provider(s) who created, committed, forwarded or otherwise handled the item.) 210 */ 211 public PARTY_IDENTIFIED getProvider() { 212 if (this.provider == null) 213 if (Configuration.errorOnAutoCreate()) 214 throw new Error("Attempt to auto-create FEEDER_AUDIT_DETAILS.provider"); 215 else if (Configuration.doAutoCreate()) 216 this.provider = new PARTY_IDENTIFIED(); // cc 217 return this.provider; 218 } 219 220 public boolean hasProvider() { 221 return this.provider != null && !this.provider.isEmpty(); 222 } 223 224 /** 225 * @param value {@link #provider} (Optional provider(s) who created, committed, forwarded or otherwise handled the item.) 226 */ 227 public FEEDER_AUDIT_DETAILS setProvider(PARTY_IDENTIFIED value) { 228 this.provider = value; 229 return this; 230 } 231 232 /** 233 * @return {@link #time} (Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available.) 234 */ 235 public DV_DATE_TIME getTime() { 236 if (this.time == null) 237 if (Configuration.errorOnAutoCreate()) 238 throw new Error("Attempt to auto-create FEEDER_AUDIT_DETAILS.time"); 239 else if (Configuration.doAutoCreate()) 240 this.time = new DV_DATE_TIME(); // cc 241 return this.time; 242 } 243 244 public boolean hasTime() { 245 return this.time != null && !this.time.isEmpty(); 246 } 247 248 /** 249 * @param value {@link #time} (Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available.) 250 */ 251 public FEEDER_AUDIT_DETAILS setTime(DV_DATE_TIME value) { 252 this.time = value; 253 return this; 254 } 255 256 /** 257 * @return {@link #version_id} (Any identifier used in the system such as `interim` , `final` , or numeric versions if available.). This is the underlying object with id, value and extensions. The accessor "getVersion_id" gives direct access to the value 258 */ 259 public StringType getVersion_idElement() { 260 if (this.version_id == null) 261 if (Configuration.errorOnAutoCreate()) 262 throw new Error("Attempt to auto-create FEEDER_AUDIT_DETAILS.version_id"); 263 else if (Configuration.doAutoCreate()) 264 this.version_id = new StringType(); // bb 265 return this.version_id; 266 } 267 268 public boolean hasVersion_idElement() { 269 return this.version_id != null && !this.version_id.isEmpty(); 270 } 271 272 public boolean hasVersion_id() { 273 return this.version_id != null && !this.version_id.isEmpty(); 274 } 275 276 /** 277 * @param value {@link #version_id} (Any identifier used in the system such as `interim` , `final` , or numeric versions if available.). This is the underlying object with id, value and extensions. The accessor "getVersion_id" gives direct access to the value 278 */ 279 public FEEDER_AUDIT_DETAILS setVersion_idElement(StringType value) { 280 this.version_id = value; 281 return this; 282 } 283 284 /** 285 * @return Any identifier used in the system such as `interim` , `final` , or numeric versions if available. 286 */ 287 public String getVersion_id() { 288 return this.version_id == null ? null : this.version_id.getValue(); 289 } 290 291 /** 292 * @param value Any identifier used in the system such as `interim` , `final` , or numeric versions if available. 293 */ 294 public FEEDER_AUDIT_DETAILS setVersion_id(String value) { 295 if (Utilities.noString(value)) 296 this.version_id = null; 297 else { 298 if (this.version_id == null) 299 this.version_id = new StringType(); 300 this.version_id.setValue(value); 301 } 302 return this; 303 } 304 305 /** 306 * @return {@link #other_details} (Optional attribute to carry any custom meta-data. May be archetyped.) 307 */ 308 public ITEM_STRUCTURE getOther_details() { 309 return this.other_details; 310 } 311 312 public boolean hasOther_details() { 313 return this.other_details != null && !this.other_details.isEmpty(); 314 } 315 316 /** 317 * @param value {@link #other_details} (Optional attribute to carry any custom meta-data. May be archetyped.) 318 */ 319 public FEEDER_AUDIT_DETAILS setOther_details(ITEM_STRUCTURE value) { 320 this.other_details = value; 321 return this; 322 } 323 324 protected void listChildren(List<Property> children) { 325 super.listChildren(children); 326 children.add(new Property("system_id", "string", "Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system.", 0, 1, system_id)); 327 children.add(new Property("location", "http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED", "Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object.", 0, 1, location)); 328 children.add(new Property("subject", "http://openehr.org/fhir/StructureDefinition/PARTY-PROXY", "Identifiers for subject of the received information item.", 0, 1, subject)); 329 children.add(new Property("provider", "http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED", "Optional provider(s) who created, committed, forwarded or otherwise handled the item.", 0, 1, provider)); 330 children.add(new Property("time", "http://openehr.org/fhir/StructureDefinition/DV-DATE-TIME", "Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available.", 0, 1, time)); 331 children.add(new Property("version_id", "string", "Any identifier used in the system such as `interim` , `final` , or numeric versions if available.", 0, 1, version_id)); 332 children.add(new Property("other_details", "http://openehr.org/fhir/StructureDefinition/ITEM-STRUCTURE", "Optional attribute to carry any custom meta-data. May be archetyped.", 0, 1, other_details)); 333 } 334 335 @Override 336 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 337 switch (_hash) { 338 case 1129127211: /*system_id*/ return new Property("system_id", "string", "Identifier of the system which handled the information item. This is the IT system owned by the organisation legally responsible for handling the data, and at which the data were previously created or passed by an earlier system.", 0, 1, system_id); 339 case 1901043637: /*location*/ return new Property("location", "http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED", "Identifier of the particular site/facility within an organisation which handled the item. For computability, this identifier needs to be e.g. a PKI identifier which can be included in the identifier list of the PARTY_IDENTIFIED object.", 0, 1, location); 340 case -1867885268: /*subject*/ return new Property("subject", "http://openehr.org/fhir/StructureDefinition/PARTY-PROXY", "Identifiers for subject of the received information item.", 0, 1, subject); 341 case -987494927: /*provider*/ return new Property("provider", "http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED", "Optional provider(s) who created, committed, forwarded or otherwise handled the item.", 0, 1, provider); 342 case 3560141: /*time*/ return new Property("time", "http://openehr.org/fhir/StructureDefinition/DV-DATE-TIME", "Time of handling the item. For an originating system, this will be time of creation, for an intermediate feeder system, this will be a time of accession or other time of handling, where available.", 0, 1, time); 343 case -670497310: /*version_id*/ return new Property("version_id", "string", "Any identifier used in the system such as `interim` , `final` , or numeric versions if available.", 0, 1, version_id); 344 case -1257043949: /*other_details*/ return new Property("other_details", "http://openehr.org/fhir/StructureDefinition/ITEM-STRUCTURE", "Optional attribute to carry any custom meta-data. May be archetyped.", 0, 1, other_details); 345 default: return super.getNamedProperty(_hash, _name, _checkValid); 346 } 347 348 } 349 350 @Override 351 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 352 switch (hash) { 353 case 1129127211: /*system_id*/ return this.system_id == null ? new Base[0] : new Base[] {this.system_id}; // StringType 354 case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // PARTY_IDENTIFIED 355 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // PARTY_PROXY 356 case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // PARTY_IDENTIFIED 357 case 3560141: /*time*/ return this.time == null ? new Base[0] : new Base[] {this.time}; // DV_DATE_TIME 358 case -670497310: /*version_id*/ return this.version_id == null ? new Base[0] : new Base[] {this.version_id}; // StringType 359 case -1257043949: /*other_details*/ return this.other_details == null ? new Base[0] : new Base[] {this.other_details}; // ITEM_STRUCTURE 360 default: return super.getProperty(hash, name, checkValid); 361 } 362 363 } 364 365 @Override 366 public Base setProperty(int hash, String name, Base value) throws FHIRException { 367 switch (hash) { 368 case 1129127211: // system_id 369 this.system_id = TypeConvertor.castToString(value); // StringType 370 return value; 371 case 1901043637: // location 372 this.location = (PARTY_IDENTIFIED) value; // PARTY_IDENTIFIED 373 return value; 374 case -1867885268: // subject 375 this.subject = (PARTY_PROXY) value; // PARTY_PROXY 376 return value; 377 case -987494927: // provider 378 this.provider = (PARTY_IDENTIFIED) value; // PARTY_IDENTIFIED 379 return value; 380 case 3560141: // time 381 this.time = (DV_DATE_TIME) value; // DV_DATE_TIME 382 return value; 383 case -670497310: // version_id 384 this.version_id = TypeConvertor.castToString(value); // StringType 385 return value; 386 case -1257043949: // other_details 387 this.other_details = (ITEM_STRUCTURE) value; // ITEM_STRUCTURE 388 return value; 389 default: return super.setProperty(hash, name, value); 390 } 391 392 } 393 394 @Override 395 public Base setProperty(String name, Base value) throws FHIRException { 396 if (name.equals("system_id")) { 397 this.system_id = TypeConvertor.castToString(value); // StringType 398 } else if (name.equals("location")) { 399 this.location = (PARTY_IDENTIFIED) value; // PARTY_IDENTIFIED 400 } else if (name.equals("subject")) { 401 this.subject = (PARTY_PROXY) value; // PARTY_PROXY 402 } else if (name.equals("provider")) { 403 this.provider = (PARTY_IDENTIFIED) value; // PARTY_IDENTIFIED 404 } else if (name.equals("time")) { 405 this.time = (DV_DATE_TIME) value; // DV_DATE_TIME 406 } else if (name.equals("version_id")) { 407 this.version_id = TypeConvertor.castToString(value); // StringType 408 } else if (name.equals("other_details")) { 409 this.other_details = (ITEM_STRUCTURE) value; // ITEM_STRUCTURE 410 } else 411 return super.setProperty(name, value); 412 return value; 413 } 414 415 @Override 416 public Base makeProperty(int hash, String name) throws FHIRException { 417 switch (hash) { 418 case 1129127211: return getSystem_idElement(); 419 case 1901043637: return getLocation(); 420 case -1867885268: /*div*/ 421 throw new Error("Unable to make an instance of the abstract property 'subject'"); 422 case -987494927: return getProvider(); 423 case 3560141: return getTime(); 424 case -670497310: return getVersion_idElement(); 425 case -1257043949: /*div*/ 426 throw new Error("Unable to make an instance of the abstract property 'other_details'"); 427 default: return super.makeProperty(hash, name); 428 } 429 430 } 431 432 @Override 433 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 434 switch (hash) { 435 case 1129127211: /*system_id*/ return new String[] {"string"}; 436 case 1901043637: /*location*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED"}; 437 case -1867885268: /*subject*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/PARTY-PROXY"}; 438 case -987494927: /*provider*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/PARTY-IDENTIFIED"}; 439 case 3560141: /*time*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/DV-DATE-TIME"}; 440 case -670497310: /*version_id*/ return new String[] {"string"}; 441 case -1257043949: /*other_details*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/ITEM-STRUCTURE"}; 442 default: return super.getTypesForProperty(hash, name); 443 } 444 445 } 446 447 @Override 448 public Base addChild(String name) throws FHIRException { 449 if (name.equals("system_id")) { 450 throw new FHIRException("Cannot call addChild on a singleton property FEEDER_AUDIT_DETAILS.system_id"); 451 } 452 else if (name.equals("location")) { 453 this.location = new PARTY_IDENTIFIED(); 454 return this.location; 455 } 456 else if (name.equals("subject")) { 457 throw new FHIRException("Cannot call addChild on an abstract type FEEDER_AUDIT_DETAILS.subject"); 458 } 459 else if (name.equals("provider")) { 460 this.provider = new PARTY_IDENTIFIED(); 461 return this.provider; 462 } 463 else if (name.equals("time")) { 464 this.time = new DV_DATE_TIME(); 465 return this.time; 466 } 467 else if (name.equals("version_id")) { 468 throw new FHIRException("Cannot call addChild on a singleton property FEEDER_AUDIT_DETAILS.version_id"); 469 } 470 else if (name.equals("other_details")) { 471 throw new FHIRException("Cannot call addChild on an abstract type FEEDER_AUDIT_DETAILS.other_details"); 472 } 473 else 474 return super.addChild(name); 475 } 476 477 public String fhirType() { 478 return "FEEDER_AUDIT_DETAILS"; 479 480 } 481 482 public FEEDER_AUDIT_DETAILS copy() { 483 FEEDER_AUDIT_DETAILS dst = new FEEDER_AUDIT_DETAILS(); 484 copyValues(dst); 485 return dst; 486 } 487 488 public void copyValues(FEEDER_AUDIT_DETAILS dst) { 489 super.copyValues(dst); 490 dst.system_id = system_id == null ? null : system_id.copy(); 491 dst.location = location == null ? null : location.copy(); 492 dst.subject = subject == null ? null : subject.copy(); 493 dst.provider = provider == null ? null : provider.copy(); 494 dst.time = time == null ? null : time.copy(); 495 dst.version_id = version_id == null ? null : version_id.copy(); 496 dst.other_details = other_details == null ? null : other_details.copy(); 497 } 498 499 protected FEEDER_AUDIT_DETAILS typedCopy() { 500 return copy(); 501 } 502 503 @Override 504 public boolean equalsDeep(Base other_) { 505 if (!super.equalsDeep(other_)) 506 return false; 507 if (!(other_ instanceof FEEDER_AUDIT_DETAILS)) 508 return false; 509 FEEDER_AUDIT_DETAILS o = (FEEDER_AUDIT_DETAILS) other_; 510 return compareDeep(system_id, o.system_id, true) && compareDeep(location, o.location, true) && compareDeep(subject, o.subject, true) 511 && compareDeep(provider, o.provider, true) && compareDeep(time, o.time, true) && compareDeep(version_id, o.version_id, true) 512 && compareDeep(other_details, o.other_details, true); 513 } 514 515 @Override 516 public boolean equalsShallow(Base other_) { 517 if (!super.equalsShallow(other_)) 518 return false; 519 if (!(other_ instanceof FEEDER_AUDIT_DETAILS)) 520 return false; 521 FEEDER_AUDIT_DETAILS o = (FEEDER_AUDIT_DETAILS) other_; 522 return compareValues(system_id, o.system_id, true) && compareValues(version_id, o.version_id, true) 523 ; 524 } 525 526 public boolean isEmpty() { 527 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(system_id, location, subject 528 , provider, time, version_id, other_details); 529 } 530 531 532} 533