001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 033import java.util.Date; 034import java.util.List; 035 036import org.hl7.fhir.exceptions.FHIRException; 037import org.hl7.fhir.instance.model.api.ICompositeType; 038 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.DatatypeDef; 041import ca.uhn.fhir.model.api.annotation.Description; 042 043/** 044 * The marketing status describes the date when a medicinal product is actually 045 * put on the market or the date as of which it is no longer available. 046 */ 047@DatatypeDef(name = "MarketingStatus") 048public class MarketingStatus extends BackboneType implements ICompositeType { 049 050 /** 051 * The country in which the marketing authorisation has been granted shall be 052 * specified It should be specified using the ISO 3166 ? 1 alpha-2 code 053 * elements. 054 */ 055 @Child(name = "country", type = { 056 CodeableConcept.class }, order = 0, min = 1, max = 1, modifier = false, summary = true) 057 @Description(shortDefinition = "The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ? 1 alpha-2 code elements", formalDefinition = "The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ? 1 alpha-2 code elements.") 058 protected CodeableConcept country; 059 060 /** 061 * Where a Medicines Regulatory Agency has granted a marketing authorisation for 062 * which specific provisions within a jurisdiction apply, the jurisdiction can 063 * be specified using an appropriate controlled terminology The controlled term 064 * and the controlled term identifier shall be specified. 065 */ 066 @Child(name = "jurisdiction", type = { 067 CodeableConcept.class }, order = 1, min = 0, max = 1, modifier = false, summary = true) 068 @Description(shortDefinition = "Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified", formalDefinition = "Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified.") 069 protected CodeableConcept jurisdiction; 070 071 /** 072 * This attribute provides information on the status of the marketing of the 073 * medicinal product See ISO/TS 20443 for more information and examples. 074 */ 075 @Child(name = "status", type = { 076 CodeableConcept.class }, order = 2, min = 1, max = 1, modifier = false, summary = true) 077 @Description(shortDefinition = "This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples", formalDefinition = "This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples.") 078 protected CodeableConcept status; 079 080 /** 081 * The date when the Medicinal Product is placed on the market by the Marketing 082 * Authorisation Holder (or where applicable, the manufacturer/distributor) in a 083 * country and/or jurisdiction shall be provided A complete date consisting of 084 * day, month and year shall be specified using the ISO 8601 date format NOTE 085 * ?Placed on the market? refers to the release of the Medicinal Product into 086 * the distribution chain. 087 */ 088 @Child(name = "dateRange", type = { Period.class }, order = 3, min = 1, max = 1, modifier = false, summary = true) 089 @Description(shortDefinition = "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain", formalDefinition = "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.") 090 protected Period dateRange; 091 092 /** 093 * The date when the Medicinal Product is placed on the market by the Marketing 094 * Authorisation Holder (or where applicable, the manufacturer/distributor) in a 095 * country and/or jurisdiction shall be provided A complete date consisting of 096 * day, month and year shall be specified using the ISO 8601 date format NOTE 097 * ?Placed on the market? refers to the release of the Medicinal Product into 098 * the distribution chain. 099 */ 100 @Child(name = "restoreDate", type = { 101 DateTimeType.class }, order = 4, min = 0, max = 1, modifier = false, summary = true) 102 @Description(shortDefinition = "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain", formalDefinition = "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.") 103 protected DateTimeType restoreDate; 104 105 private static final long serialVersionUID = -1445736863L; 106 107 /** 108 * Constructor 109 */ 110 public MarketingStatus() { 111 super(); 112 } 113 114 /** 115 * Constructor 116 */ 117 public MarketingStatus(CodeableConcept country, CodeableConcept status, Period dateRange) { 118 super(); 119 this.country = country; 120 this.status = status; 121 this.dateRange = dateRange; 122 } 123 124 /** 125 * @return {@link #country} (The country in which the marketing authorisation 126 * has been granted shall be specified It should be specified using the 127 * ISO 3166 ? 1 alpha-2 code elements.) 128 */ 129 public CodeableConcept getCountry() { 130 if (this.country == null) 131 if (Configuration.errorOnAutoCreate()) 132 throw new Error("Attempt to auto-create MarketingStatus.country"); 133 else if (Configuration.doAutoCreate()) 134 this.country = new CodeableConcept(); // cc 135 return this.country; 136 } 137 138 public boolean hasCountry() { 139 return this.country != null && !this.country.isEmpty(); 140 } 141 142 /** 143 * @param value {@link #country} (The country in which the marketing 144 * authorisation has been granted shall be specified It should be 145 * specified using the ISO 3166 ? 1 alpha-2 code elements.) 146 */ 147 public MarketingStatus setCountry(CodeableConcept value) { 148 this.country = value; 149 return this; 150 } 151 152 /** 153 * @return {@link #jurisdiction} (Where a Medicines Regulatory Agency has 154 * granted a marketing authorisation for which specific provisions 155 * within a jurisdiction apply, the jurisdiction can be specified using 156 * an appropriate controlled terminology The controlled term and the 157 * controlled term identifier shall be specified.) 158 */ 159 public CodeableConcept getJurisdiction() { 160 if (this.jurisdiction == null) 161 if (Configuration.errorOnAutoCreate()) 162 throw new Error("Attempt to auto-create MarketingStatus.jurisdiction"); 163 else if (Configuration.doAutoCreate()) 164 this.jurisdiction = new CodeableConcept(); // cc 165 return this.jurisdiction; 166 } 167 168 public boolean hasJurisdiction() { 169 return this.jurisdiction != null && !this.jurisdiction.isEmpty(); 170 } 171 172 /** 173 * @param value {@link #jurisdiction} (Where a Medicines Regulatory Agency has 174 * granted a marketing authorisation for which specific provisions 175 * within a jurisdiction apply, the jurisdiction can be specified 176 * using an appropriate controlled terminology The controlled term 177 * and the controlled term identifier shall be specified.) 178 */ 179 public MarketingStatus setJurisdiction(CodeableConcept value) { 180 this.jurisdiction = value; 181 return this; 182 } 183 184 /** 185 * @return {@link #status} (This attribute provides information on the status of 186 * the marketing of the medicinal product See ISO/TS 20443 for more 187 * information and examples.) 188 */ 189 public CodeableConcept getStatus() { 190 if (this.status == null) 191 if (Configuration.errorOnAutoCreate()) 192 throw new Error("Attempt to auto-create MarketingStatus.status"); 193 else if (Configuration.doAutoCreate()) 194 this.status = new CodeableConcept(); // cc 195 return this.status; 196 } 197 198 public boolean hasStatus() { 199 return this.status != null && !this.status.isEmpty(); 200 } 201 202 /** 203 * @param value {@link #status} (This attribute provides information on the 204 * status of the marketing of the medicinal product See ISO/TS 205 * 20443 for more information and examples.) 206 */ 207 public MarketingStatus setStatus(CodeableConcept value) { 208 this.status = value; 209 return this; 210 } 211 212 /** 213 * @return {@link #dateRange} (The date when the Medicinal Product is placed on 214 * the market by the Marketing Authorisation Holder (or where 215 * applicable, the manufacturer/distributor) in a country and/or 216 * jurisdiction shall be provided A complete date consisting of day, 217 * month and year shall be specified using the ISO 8601 date format NOTE 218 * ?Placed on the market? refers to the release of the Medicinal Product 219 * into the distribution chain.) 220 */ 221 public Period getDateRange() { 222 if (this.dateRange == null) 223 if (Configuration.errorOnAutoCreate()) 224 throw new Error("Attempt to auto-create MarketingStatus.dateRange"); 225 else if (Configuration.doAutoCreate()) 226 this.dateRange = new Period(); // cc 227 return this.dateRange; 228 } 229 230 public boolean hasDateRange() { 231 return this.dateRange != null && !this.dateRange.isEmpty(); 232 } 233 234 /** 235 * @param value {@link #dateRange} (The date when the Medicinal Product is 236 * placed on the market by the Marketing Authorisation Holder (or 237 * where applicable, the manufacturer/distributor) in a country 238 * and/or jurisdiction shall be provided A complete date consisting 239 * of day, month and year shall be specified using the ISO 8601 240 * date format NOTE ?Placed on the market? refers to the release of 241 * the Medicinal Product into the distribution chain.) 242 */ 243 public MarketingStatus setDateRange(Period value) { 244 this.dateRange = value; 245 return this; 246 } 247 248 /** 249 * @return {@link #restoreDate} (The date when the Medicinal Product is placed 250 * on the market by the Marketing Authorisation Holder (or where 251 * applicable, the manufacturer/distributor) in a country and/or 252 * jurisdiction shall be provided A complete date consisting of day, 253 * month and year shall be specified using the ISO 8601 date format NOTE 254 * ?Placed on the market? refers to the release of the Medicinal Product 255 * into the distribution chain.). This is the underlying object with id, 256 * value and extensions. The accessor "getRestoreDate" gives direct 257 * access to the value 258 */ 259 public DateTimeType getRestoreDateElement() { 260 if (this.restoreDate == null) 261 if (Configuration.errorOnAutoCreate()) 262 throw new Error("Attempt to auto-create MarketingStatus.restoreDate"); 263 else if (Configuration.doAutoCreate()) 264 this.restoreDate = new DateTimeType(); // bb 265 return this.restoreDate; 266 } 267 268 public boolean hasRestoreDateElement() { 269 return this.restoreDate != null && !this.restoreDate.isEmpty(); 270 } 271 272 public boolean hasRestoreDate() { 273 return this.restoreDate != null && !this.restoreDate.isEmpty(); 274 } 275 276 /** 277 * @param value {@link #restoreDate} (The date when the Medicinal Product is 278 * placed on the market by the Marketing Authorisation Holder (or 279 * where applicable, the manufacturer/distributor) in a country 280 * and/or jurisdiction shall be provided A complete date consisting 281 * of day, month and year shall be specified using the ISO 8601 282 * date format NOTE ?Placed on the market? refers to the release of 283 * the Medicinal Product into the distribution chain.). This is the 284 * underlying object with id, value and extensions. The accessor 285 * "getRestoreDate" gives direct access to the value 286 */ 287 public MarketingStatus setRestoreDateElement(DateTimeType value) { 288 this.restoreDate = value; 289 return this; 290 } 291 292 /** 293 * @return The date when the Medicinal Product is placed on the market by the 294 * Marketing Authorisation Holder (or where applicable, the 295 * manufacturer/distributor) in a country and/or jurisdiction shall be 296 * provided A complete date consisting of day, month and year shall be 297 * specified using the ISO 8601 date format NOTE ?Placed on the market? 298 * refers to the release of the Medicinal Product into the distribution 299 * chain. 300 */ 301 public Date getRestoreDate() { 302 return this.restoreDate == null ? null : this.restoreDate.getValue(); 303 } 304 305 /** 306 * @param value The date when the Medicinal Product is placed on the market by 307 * the Marketing Authorisation Holder (or where applicable, the 308 * manufacturer/distributor) in a country and/or jurisdiction shall 309 * be provided A complete date consisting of day, month and year 310 * shall be specified using the ISO 8601 date format NOTE ?Placed 311 * on the market? refers to the release of the Medicinal Product 312 * into the distribution chain. 313 */ 314 public MarketingStatus setRestoreDate(Date value) { 315 if (value == null) 316 this.restoreDate = null; 317 else { 318 if (this.restoreDate == null) 319 this.restoreDate = new DateTimeType(); 320 this.restoreDate.setValue(value); 321 } 322 return this; 323 } 324 325 protected void listChildren(List<Property> children) { 326 super.listChildren(children); 327 children.add(new Property("country", "CodeableConcept", 328 "The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ? 1 alpha-2 code elements.", 329 0, 1, country)); 330 children.add(new Property("jurisdiction", "CodeableConcept", 331 "Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified.", 332 0, 1, jurisdiction)); 333 children.add(new Property("status", "CodeableConcept", 334 "This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples.", 335 0, 1, status)); 336 children.add(new Property("dateRange", "Period", 337 "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.", 338 0, 1, dateRange)); 339 children.add(new Property("restoreDate", "dateTime", 340 "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.", 341 0, 1, restoreDate)); 342 } 343 344 @Override 345 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 346 switch (_hash) { 347 case 957831062: 348 /* country */ return new Property("country", "CodeableConcept", 349 "The country in which the marketing authorisation has been granted shall be specified It should be specified using the ISO 3166 ? 1 alpha-2 code elements.", 350 0, 1, country); 351 case -507075711: 352 /* jurisdiction */ return new Property("jurisdiction", "CodeableConcept", 353 "Where a Medicines Regulatory Agency has granted a marketing authorisation for which specific provisions within a jurisdiction apply, the jurisdiction can be specified using an appropriate controlled terminology The controlled term and the controlled term identifier shall be specified.", 354 0, 1, jurisdiction); 355 case -892481550: 356 /* status */ return new Property("status", "CodeableConcept", 357 "This attribute provides information on the status of the marketing of the medicinal product See ISO/TS 20443 for more information and examples.", 358 0, 1, status); 359 case -261425617: 360 /* dateRange */ return new Property("dateRange", "Period", 361 "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.", 362 0, 1, dateRange); 363 case 329465692: 364 /* restoreDate */ return new Property("restoreDate", "dateTime", 365 "The date when the Medicinal Product is placed on the market by the Marketing Authorisation Holder (or where applicable, the manufacturer/distributor) in a country and/or jurisdiction shall be provided A complete date consisting of day, month and year shall be specified using the ISO 8601 date format NOTE ?Placed on the market? refers to the release of the Medicinal Product into the distribution chain.", 366 0, 1, restoreDate); 367 default: 368 return super.getNamedProperty(_hash, _name, _checkValid); 369 } 370 371 } 372 373 @Override 374 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 375 switch (hash) { 376 case 957831062: 377 /* country */ return this.country == null ? new Base[0] : new Base[] { this.country }; // CodeableConcept 378 case -507075711: 379 /* jurisdiction */ return this.jurisdiction == null ? new Base[0] : new Base[] { this.jurisdiction }; // CodeableConcept 380 case -892481550: 381 /* status */ return this.status == null ? new Base[0] : new Base[] { this.status }; // CodeableConcept 382 case -261425617: 383 /* dateRange */ return this.dateRange == null ? new Base[0] : new Base[] { this.dateRange }; // Period 384 case 329465692: 385 /* restoreDate */ return this.restoreDate == null ? new Base[0] : new Base[] { this.restoreDate }; // DateTimeType 386 default: 387 return super.getProperty(hash, name, checkValid); 388 } 389 390 } 391 392 @Override 393 public Base setProperty(int hash, String name, Base value) throws FHIRException { 394 switch (hash) { 395 case 957831062: // country 396 this.country = castToCodeableConcept(value); // CodeableConcept 397 return value; 398 case -507075711: // jurisdiction 399 this.jurisdiction = castToCodeableConcept(value); // CodeableConcept 400 return value; 401 case -892481550: // status 402 this.status = castToCodeableConcept(value); // CodeableConcept 403 return value; 404 case -261425617: // dateRange 405 this.dateRange = castToPeriod(value); // Period 406 return value; 407 case 329465692: // restoreDate 408 this.restoreDate = castToDateTime(value); // DateTimeType 409 return value; 410 default: 411 return super.setProperty(hash, name, value); 412 } 413 414 } 415 416 @Override 417 public Base setProperty(String name, Base value) throws FHIRException { 418 if (name.equals("country")) { 419 this.country = castToCodeableConcept(value); // CodeableConcept 420 } else if (name.equals("jurisdiction")) { 421 this.jurisdiction = castToCodeableConcept(value); // CodeableConcept 422 } else if (name.equals("status")) { 423 this.status = castToCodeableConcept(value); // CodeableConcept 424 } else if (name.equals("dateRange")) { 425 this.dateRange = castToPeriod(value); // Period 426 } else if (name.equals("restoreDate")) { 427 this.restoreDate = castToDateTime(value); // DateTimeType 428 } else 429 return super.setProperty(name, value); 430 return value; 431 } 432 433 @Override 434 public void removeChild(String name, Base value) throws FHIRException { 435 if (name.equals("country")) { 436 this.country = null; 437 } else if (name.equals("jurisdiction")) { 438 this.jurisdiction = null; 439 } else if (name.equals("status")) { 440 this.status = null; 441 } else if (name.equals("dateRange")) { 442 this.dateRange = null; 443 } else if (name.equals("restoreDate")) { 444 this.restoreDate = null; 445 } else 446 super.removeChild(name, value); 447 448 } 449 450 @Override 451 public Base makeProperty(int hash, String name) throws FHIRException { 452 switch (hash) { 453 case 957831062: 454 return getCountry(); 455 case -507075711: 456 return getJurisdiction(); 457 case -892481550: 458 return getStatus(); 459 case -261425617: 460 return getDateRange(); 461 case 329465692: 462 return getRestoreDateElement(); 463 default: 464 return super.makeProperty(hash, name); 465 } 466 467 } 468 469 @Override 470 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 471 switch (hash) { 472 case 957831062: 473 /* country */ return new String[] { "CodeableConcept" }; 474 case -507075711: 475 /* jurisdiction */ return new String[] { "CodeableConcept" }; 476 case -892481550: 477 /* status */ return new String[] { "CodeableConcept" }; 478 case -261425617: 479 /* dateRange */ return new String[] { "Period" }; 480 case 329465692: 481 /* restoreDate */ return new String[] { "dateTime" }; 482 default: 483 return super.getTypesForProperty(hash, name); 484 } 485 486 } 487 488 @Override 489 public Base addChild(String name) throws FHIRException { 490 if (name.equals("country")) { 491 this.country = new CodeableConcept(); 492 return this.country; 493 } else if (name.equals("jurisdiction")) { 494 this.jurisdiction = new CodeableConcept(); 495 return this.jurisdiction; 496 } else if (name.equals("status")) { 497 this.status = new CodeableConcept(); 498 return this.status; 499 } else if (name.equals("dateRange")) { 500 this.dateRange = new Period(); 501 return this.dateRange; 502 } else if (name.equals("restoreDate")) { 503 throw new FHIRException("Cannot call addChild on a singleton property MarketingStatus.restoreDate"); 504 } else 505 return super.addChild(name); 506 } 507 508 public String fhirType() { 509 return "MarketingStatus"; 510 511 } 512 513 public MarketingStatus copy() { 514 MarketingStatus dst = new MarketingStatus(); 515 copyValues(dst); 516 return dst; 517 } 518 519 public void copyValues(MarketingStatus dst) { 520 super.copyValues(dst); 521 dst.country = country == null ? null : country.copy(); 522 dst.jurisdiction = jurisdiction == null ? null : jurisdiction.copy(); 523 dst.status = status == null ? null : status.copy(); 524 dst.dateRange = dateRange == null ? null : dateRange.copy(); 525 dst.restoreDate = restoreDate == null ? null : restoreDate.copy(); 526 } 527 528 protected MarketingStatus typedCopy() { 529 return copy(); 530 } 531 532 @Override 533 public boolean equalsDeep(Base other_) { 534 if (!super.equalsDeep(other_)) 535 return false; 536 if (!(other_ instanceof MarketingStatus)) 537 return false; 538 MarketingStatus o = (MarketingStatus) other_; 539 return compareDeep(country, o.country, true) && compareDeep(jurisdiction, o.jurisdiction, true) 540 && compareDeep(status, o.status, true) && compareDeep(dateRange, o.dateRange, true) 541 && compareDeep(restoreDate, o.restoreDate, true); 542 } 543 544 @Override 545 public boolean equalsShallow(Base other_) { 546 if (!super.equalsShallow(other_)) 547 return false; 548 if (!(other_ instanceof MarketingStatus)) 549 return false; 550 MarketingStatus o = (MarketingStatus) other_; 551 return compareValues(restoreDate, o.restoreDate, true); 552 } 553 554 public boolean isEmpty() { 555 return super.isEmpty() 556 && ca.uhn.fhir.util.ElementUtil.isEmpty(country, jurisdiction, status, dateRange, restoreDate); 557 } 558 559}