
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.r5.openehr.Enumerations.*; 038import org.hl7.fhir.exceptions.FHIRException; 039import org.hl7.fhir.r5.model.*; 040import org.hl7.fhir.instance.model.api.ICompositeType; 041import ca.uhn.fhir.model.api.annotation.Child; 042import ca.uhn.fhir.model.api.annotation.ChildOrder; 043import ca.uhn.fhir.model.api.annotation.DatatypeDef; 044import ca.uhn.fhir.model.api.annotation.Description; 045import ca.uhn.fhir.model.api.annotation.Block; 046 047/** 048 * Content of one version in a VERSIONED_COMPOSITION. A Composition is considered the unit of modification of the record, the unit of transmission in record Extracts, and the unit of attestation by authorising clinicians. In this latter sense, it may be considered equivalent to a signed document. NOTE: It is strongly recommended that the inherited attribute uid be populated in Compositions, using the UID copied from the object_id() of the uid field of the enclosing VERSION object. For example, the ORIGINAL_VERSION.uid 87284370-2D4B-4e3d-A3F3-F303D2F4F34B::uk.nhs.ehr1::2 would be copied to the uid field of the Composition. 049 */ 050@DatatypeDef(name="COMPOSITION") 051public class COMPOSITION extends LOCATABLE implements ICompositeType { 052 053 /** 054 * Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language. 055 */ 056 @Child(name = "language", type = {CODE_PHRASE.class}, order=0, min=1, max=1, modifier=false, summary=false) 057 @Description(shortDefinition="Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages", formalDefinition="Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language." ) 058 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-languages") 059 protected CODE_PHRASE language; 060 061 /** 062 * Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard. 063 */ 064 @Child(name = "territory", type = {CODE_PHRASE.class}, order=1, min=1, max=1, modifier=false, summary=false) 065 @Description(shortDefinition="Name of territory in which this Composition was written. Coded from the ISO 3166 standard", formalDefinition="Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard." ) 066 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="https://specifications.openehr.org/fhir/valueset-territories") 067 protected CODE_PHRASE territory; 068 069 /** 070 * Temporal category of this Composition, i.e. 071 072* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment). 073 074or any other code defined in the openEHR terminology group 'category'. 075 */ 076 @Child(name = "category", type = {DV_CODED_TEXT.class}, order=2, min=1, max=1, modifier=false, summary=false) 077 @Description(shortDefinition="Temporal category of this Composition, e.g. * 431|persistent|, 451|episodic|, or 433|event|", formalDefinition="Temporal category of this Composition, i.e.\r\n\r\n* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment).\r\n\r\nor any other code defined in the openEHR terminology group 'category'." ) 078 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="https://specifications.openehr.org/fhir/valueset-composition_category") 079 protected DV_CODED_TEXT category; 080 081 /** 082 * The clinical session context of this Composition, i.e. the contextual attributes of the clinical session. 083 */ 084 @Child(name = "context", type = {EVENT_CONTEXT.class}, order=3, min=0, max=1, modifier=false, summary=false) 085 @Description(shortDefinition="The clinical session context of this Composition, i.e. the contextual attributes of the clinical session", formalDefinition="The clinical session context of this Composition, i.e. the contextual attributes of the clinical session." ) 086 protected EVENT_CONTEXT context; 087 088 /** 089 * The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used. 090 */ 091 @Child(name = "composer", type = {PARTY_PROXY.class}, order=4, min=1, max=1, modifier=false, summary=false) 092 @Description(shortDefinition="The person primarily responsible for the content of the Composition. This is the identifier which should appear on the screen", formalDefinition="The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used." ) 093 protected PARTY_PROXY composer; 094 095 /** 096 * The content of this Composition. 097 */ 098 @Child(name = "content", type = {CONTENT_ITEM.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 099 @Description(shortDefinition="The content of this Composition", formalDefinition="The content of this Composition." ) 100 protected List<CONTENT_ITEM> contentList; 101 102 private static final long serialVersionUID = -520355958L; 103 104 /** 105 * Constructor 106 */ 107 public COMPOSITION() { 108 super(); 109 } 110 111 /** 112 * Constructor 113 */ 114 public COMPOSITION(CODE_PHRASE language, CODE_PHRASE territory, DV_CODED_TEXT category, PARTY_PROXY composer) { 115 super(); 116 this.setLanguage(language); 117 this.setTerritory(territory); 118 this.setCategory(category); 119 this.setComposer(composer); 120 } 121 122 /** 123 * @return {@link #language} (Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language.) 124 */ 125 public CODE_PHRASE getLanguage() { 126 if (this.language == null) 127 if (Configuration.errorOnAutoCreate()) 128 throw new Error("Attempt to auto-create COMPOSITION.language"); 129 else if (Configuration.doAutoCreate()) 130 this.language = new CODE_PHRASE(); // cc 131 return this.language; 132 } 133 134 public boolean hasLanguage() { 135 return this.language != null && !this.language.isEmpty(); 136 } 137 138 /** 139 * @param value {@link #language} (Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language.) 140 */ 141 public COMPOSITION setLanguage(CODE_PHRASE value) { 142 this.language = value; 143 return this; 144 } 145 146 /** 147 * @return {@link #territory} (Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard.) 148 */ 149 public CODE_PHRASE getTerritory() { 150 if (this.territory == null) 151 if (Configuration.errorOnAutoCreate()) 152 throw new Error("Attempt to auto-create COMPOSITION.territory"); 153 else if (Configuration.doAutoCreate()) 154 this.territory = new CODE_PHRASE(); // cc 155 return this.territory; 156 } 157 158 public boolean hasTerritory() { 159 return this.territory != null && !this.territory.isEmpty(); 160 } 161 162 /** 163 * @param value {@link #territory} (Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard.) 164 */ 165 public COMPOSITION setTerritory(CODE_PHRASE value) { 166 this.territory = value; 167 return this; 168 } 169 170 /** 171 * @return {@link #category} (Temporal category of this Composition, i.e. 172 173* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment). 174 175or any other code defined in the openEHR terminology group 'category'.) 176 */ 177 public DV_CODED_TEXT getCategory() { 178 if (this.category == null) 179 if (Configuration.errorOnAutoCreate()) 180 throw new Error("Attempt to auto-create COMPOSITION.category"); 181 else if (Configuration.doAutoCreate()) 182 this.category = new DV_CODED_TEXT(); // cc 183 return this.category; 184 } 185 186 public boolean hasCategory() { 187 return this.category != null && !this.category.isEmpty(); 188 } 189 190 /** 191 * @param value {@link #category} (Temporal category of this Composition, i.e. 192 193* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment). 194 195or any other code defined in the openEHR terminology group 'category'.) 196 */ 197 public COMPOSITION setCategory(DV_CODED_TEXT value) { 198 this.category = value; 199 return this; 200 } 201 202 /** 203 * @return {@link #context} (The clinical session context of this Composition, i.e. the contextual attributes of the clinical session.) 204 */ 205 public EVENT_CONTEXT getContext() { 206 if (this.context == null) 207 if (Configuration.errorOnAutoCreate()) 208 throw new Error("Attempt to auto-create COMPOSITION.context"); 209 else if (Configuration.doAutoCreate()) 210 this.context = new EVENT_CONTEXT(); // cc 211 return this.context; 212 } 213 214 public boolean hasContext() { 215 return this.context != null && !this.context.isEmpty(); 216 } 217 218 /** 219 * @param value {@link #context} (The clinical session context of this Composition, i.e. the contextual attributes of the clinical session.) 220 */ 221 public COMPOSITION setContext(EVENT_CONTEXT value) { 222 this.context = value; 223 return this; 224 } 225 226 /** 227 * @return {@link #composer} (The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used.) 228 */ 229 public PARTY_PROXY getComposer() { 230 return this.composer; 231 } 232 233 public boolean hasComposer() { 234 return this.composer != null && !this.composer.isEmpty(); 235 } 236 237 /** 238 * @param value {@link #composer} (The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used.) 239 */ 240 public COMPOSITION setComposer(PARTY_PROXY value) { 241 this.composer = value; 242 return this; 243 } 244 245 /** 246 * @return {@link #content} (The content of this Composition.) 247 */ 248 public List<CONTENT_ITEM> getContentList() { 249 if (this.contentList == null) 250 this.contentList = new ArrayList<CONTENT_ITEM>(); 251 return this.contentList; 252 } 253 254 /** 255 * @return Returns a reference to <code>this</code> for easy method chaining 256 */ 257 public COMPOSITION setContentList(List<CONTENT_ITEM> theContent) { 258 this.contentList = theContent; 259 return this; 260 } 261 262 public boolean hasContent() { 263 if (this.contentList == null) 264 return false; 265 for (CONTENT_ITEM item : this.contentList) 266 if (!item.isEmpty()) 267 return true; 268 return false; 269 } 270 271 public COMPOSITION addContent(CONTENT_ITEM t) { //3b 272 if (t == null) 273 return this; 274 if (this.contentList == null) 275 this.contentList = new ArrayList<CONTENT_ITEM>(); 276 this.contentList.add(t); 277 return this; 278 } 279 280 protected void listChildren(List<Property> children) { 281 super.listChildren(children); 282 children.add(new Property("language", "http://openehr.org/fhir/StructureDefinition/CODE-PHRASE", "Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language.", 0, 1, language)); 283 children.add(new Property("territory", "http://openehr.org/fhir/StructureDefinition/CODE-PHRASE", "Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard.", 0, 1, territory)); 284 children.add(new Property("category", "http://openehr.org/fhir/StructureDefinition/DV-CODED-TEXT", "Temporal category of this Composition, i.e.\r\n\r\n* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment).\r\n\r\nor any other code defined in the openEHR terminology group 'category'.", 0, 1, category)); 285 children.add(new Property("context", "http://openehr.org/fhir/StructureDefinition/EVENT-CONTEXT", "The clinical session context of this Composition, i.e. the contextual attributes of the clinical session.", 0, 1, context)); 286 children.add(new Property("composer", "http://openehr.org/fhir/StructureDefinition/PARTY-PROXY", "The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used.", 0, 1, composer)); 287 children.add(new Property("content", "http://openehr.org/fhir/StructureDefinition/CONTENT-ITEM", "The content of this Composition.", 0, java.lang.Integer.MAX_VALUE, contentList)); 288 } 289 290 @Override 291 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 292 switch (_hash) { 293 case -1613589672: /*language*/ return new Property("language", "http://openehr.org/fhir/StructureDefinition/CODE-PHRASE", "Mandatory indicator of the localised language in which this Composition is written. Coded from openEHR Code Set languages. The language of an Entry if different from the Composition is indicated in ENTRY.language.", 0, 1, language); 294 case -2115639270: /*territory*/ return new Property("territory", "http://openehr.org/fhir/StructureDefinition/CODE-PHRASE", "Name of territory in which this Composition was written. Coded from openEHR countries code set, which is an expression of the ISO 3166 standard.", 0, 1, territory); 295 case 50511102: /*category*/ return new Property("category", "http://openehr.org/fhir/StructureDefinition/DV-CODED-TEXT", "Temporal category of this Composition, i.e.\r\n\r\n* 431|persistent| - of potential life-time validity;* 451|episodic| - valid over the life of a care episode;* 433|event| - valid at the time of recording (long-term validity requires subsequent clinical assessment).\r\n\r\nor any other code defined in the openEHR terminology group 'category'.", 0, 1, category); 296 case 951530927: /*context*/ return new Property("context", "http://openehr.org/fhir/StructureDefinition/EVENT-CONTEXT", "The clinical session context of this Composition, i.e. the contextual attributes of the clinical session.", 0, 1, context); 297 case -599342816: /*composer*/ return new Property("composer", "http://openehr.org/fhir/StructureDefinition/PARTY-PROXY", "The person primarily responsible for the content of the Composition (but not necessarily its committal into the EHR system). This is the identifier which should appear on the screen. It may or may not be the person who entered the data. When it is the patient, the special self instance of PARTY_PROXY will be used.", 0, 1, composer); 298 case 951530617: /*content*/ return new Property("content", "http://openehr.org/fhir/StructureDefinition/CONTENT-ITEM", "The content of this Composition.", 0, java.lang.Integer.MAX_VALUE, contentList); 299 default: return super.getNamedProperty(_hash, _name, _checkValid); 300 } 301 302 } 303 304 @Override 305 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 306 switch (hash) { 307 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CODE_PHRASE 308 case -2115639270: /*territory*/ return this.territory == null ? new Base[0] : new Base[] {this.territory}; // CODE_PHRASE 309 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // DV_CODED_TEXT 310 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // EVENT_CONTEXT 311 case -599342816: /*composer*/ return this.composer == null ? new Base[0] : new Base[] {this.composer}; // PARTY_PROXY 312 case 951530617: /*content*/ return this.contentList == null ? new Base[0] : this.contentList.toArray(new Base[this.contentList.size()]); // CONTENT_ITEM 313 default: return super.getProperty(hash, name, checkValid); 314 } 315 316 } 317 318 @Override 319 public Base setProperty(int hash, String name, Base value) throws FHIRException { 320 switch (hash) { 321 case -1613589672: // language 322 this.language = (CODE_PHRASE) value; // CODE_PHRASE 323 return value; 324 case -2115639270: // territory 325 this.territory = (CODE_PHRASE) value; // CODE_PHRASE 326 return value; 327 case 50511102: // category 328 this.category = (DV_CODED_TEXT) value; // DV_CODED_TEXT 329 return value; 330 case 951530927: // context 331 this.context = (EVENT_CONTEXT) value; // EVENT_CONTEXT 332 return value; 333 case -599342816: // composer 334 this.composer = (PARTY_PROXY) value; // PARTY_PROXY 335 return value; 336 case 951530617: // content 337 this.getContentList().add((CONTENT_ITEM) value); // CONTENT_ITEM 338 return value; 339 default: return super.setProperty(hash, name, value); 340 } 341 342 } 343 344 @Override 345 public Base setProperty(String name, Base value) throws FHIRException { 346 if (name.equals("language")) { 347 this.language = (CODE_PHRASE) value; // CODE_PHRASE 348 } else if (name.equals("territory")) { 349 this.territory = (CODE_PHRASE) value; // CODE_PHRASE 350 } else if (name.equals("category")) { 351 this.category = (DV_CODED_TEXT) value; // DV_CODED_TEXT 352 } else if (name.equals("context")) { 353 this.context = (EVENT_CONTEXT) value; // EVENT_CONTEXT 354 } else if (name.equals("composer")) { 355 this.composer = (PARTY_PROXY) value; // PARTY_PROXY 356 } else if (name.equals("content")) { 357 this.getContentList().add((CONTENT_ITEM) value); // CONTENT_ITEM 358 } else 359 return super.setProperty(name, value); 360 return value; 361 } 362 363 @Override 364 public Base makeProperty(int hash, String name) throws FHIRException { 365 switch (hash) { 366 case -1613589672: return getLanguage(); 367 case -2115639270: return getTerritory(); 368 case 50511102: return getCategory(); 369 case 951530927: return getContext(); 370 case -599342816: /*div*/ 371 throw new Error("Unable to make an instance of the abstract property 'composer'"); 372 case 951530617: /*div*/ 373 throw new Error("Unable to make an instance of the abstract property 'content'"); 374 default: return super.makeProperty(hash, name); 375 } 376 377 } 378 379 @Override 380 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 381 switch (hash) { 382 case -1613589672: /*language*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/CODE-PHRASE"}; 383 case -2115639270: /*territory*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/CODE-PHRASE"}; 384 case 50511102: /*category*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/DV-CODED-TEXT"}; 385 case 951530927: /*context*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/EVENT-CONTEXT"}; 386 case -599342816: /*composer*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/PARTY-PROXY"}; 387 case 951530617: /*content*/ return new String[] {"http://openehr.org/fhir/StructureDefinition/CONTENT-ITEM"}; 388 default: return super.getTypesForProperty(hash, name); 389 } 390 391 } 392 393 @Override 394 public Base addChild(String name) throws FHIRException { 395 if (name.equals("language")) { 396 this.language = new CODE_PHRASE(); 397 return this.language; 398 } 399 else if (name.equals("territory")) { 400 this.territory = new CODE_PHRASE(); 401 return this.territory; 402 } 403 else if (name.equals("category")) { 404 this.category = new DV_CODED_TEXT(); 405 return this.category; 406 } 407 else if (name.equals("context")) { 408 this.context = new EVENT_CONTEXT(); 409 return this.context; 410 } 411 else if (name.equals("composer")) { 412 throw new FHIRException("Cannot call addChild on an abstract type COMPOSITION.composer"); 413 } 414 else if (name.equals("content")) { 415 throw new FHIRException("Cannot call addChild on an abstract type COMPOSITION.content"); 416 } 417 else 418 return super.addChild(name); 419 } 420 421 public String fhirType() { 422 return "COMPOSITION"; 423 424 } 425 426 public COMPOSITION copy() { 427 COMPOSITION dst = new COMPOSITION(); 428 copyValues(dst); 429 return dst; 430 } 431 432 public void copyValues(COMPOSITION dst) { 433 super.copyValues(dst); 434 dst.language = language == null ? null : language.copy(); 435 dst.territory = territory == null ? null : territory.copy(); 436 dst.category = category == null ? null : category.copy(); 437 dst.context = context == null ? null : context.copy(); 438 dst.composer = composer == null ? null : composer.copy(); 439 if (contentList != null) { 440 dst.contentList = new ArrayList<CONTENT_ITEM>(); 441 for (CONTENT_ITEM i : contentList) 442 dst.contentList.add(i.copy()); 443 }; 444 } 445 446 protected COMPOSITION typedCopy() { 447 return copy(); 448 } 449 450 @Override 451 public boolean equalsDeep(Base other_) { 452 if (!super.equalsDeep(other_)) 453 return false; 454 if (!(other_ instanceof COMPOSITION)) 455 return false; 456 COMPOSITION o = (COMPOSITION) other_; 457 return compareDeep(language, o.language, true) && compareDeep(territory, o.territory, true) && compareDeep(category, o.category, true) 458 && compareDeep(context, o.context, true) && compareDeep(composer, o.composer, true) && compareDeep(contentList, o.contentList, true) 459 ; 460 } 461 462 @Override 463 public boolean equalsShallow(Base other_) { 464 if (!super.equalsShallow(other_)) 465 return false; 466 if (!(other_ instanceof COMPOSITION)) 467 return false; 468 COMPOSITION o = (COMPOSITION) other_; 469 return true; 470 } 471 472 public boolean isEmpty() { 473 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, territory, category 474 , context, composer, contentList); 475 } 476 477 478} 479