![](/hapi-fhir/images/logos/raccoon-forwards.png)
001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on 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 java.math.*; 038import org.hl7.fhir.utilities.Utilities; 039import org.hl7.fhir.r5.model.Enumerations.*; 040import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 041import org.hl7.fhir.exceptions.FHIRException; 042import org.hl7.fhir.instance.model.api.ICompositeType; 043import ca.uhn.fhir.model.api.annotation.ResourceDef; 044import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 045import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 046import ca.uhn.fhir.model.api.annotation.Child; 047import ca.uhn.fhir.model.api.annotation.ChildOrder; 048import ca.uhn.fhir.model.api.annotation.Description; 049import ca.uhn.fhir.model.api.annotation.Block; 050 051/** 052 * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. 053 */ 054@ResourceDef(name="Contract", profile="http://hl7.org/fhir/StructureDefinition/Contract") 055public class Contract extends DomainResource { 056 057 public enum ContractResourcePublicationStatusCodes { 058 /** 059 * Contract is augmented with additional information to correct errors in a predecessor or to updated values in a predecessor. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: revised; replaced. 060 */ 061 AMENDED, 062 /** 063 * Contract is augmented with additional information that was missing from a predecessor Contract. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: updated, replaced. 064 */ 065 APPENDED, 066 /** 067 * Contract is terminated due to failure of the Grantor and/or the Grantee to fulfil one or more contract provisions. Usage: Abnormal contract termination. Precedence Order = 10. Comparable FHIR and v.3 status codes: stopped; failed; aborted. 068 */ 069 CANCELLED, 070 /** 071 * Contract is pended to rectify failure of the Grantor or the Grantee to fulfil contract provision(s). E.g., Grantee complaint about Grantor's failure to comply with contract provisions. Usage: Contract pended. Precedence Order = 7. Comparable FHIR and v.3 status codes: on hold; pended; suspended. 072 */ 073 DISPUTED, 074 /** 075 * Contract was created in error. No Precedence Order. Status may be applied to a Contract with any status. 076 */ 077 ENTEREDINERROR, 078 /** 079 * Contract execution pending; may be executed when either the Grantor or the Grantee accepts the contract provisions by signing. I.e., where either the Grantor or the Grantee has signed, but not both. E.g., when an insurance applicant signs the insurers application, which references the policy. Usage: Optional first step of contract execution activity. May be skipped and contracting activity moves directly to executed state. Precedence Order = 3. Comparable FHIR and v.3 status codes: draft; preliminary; planned; intended; active. 080 */ 081 EXECUTABLE, 082 /** 083 * Contract is activated for period stipulated when both the Grantor and Grantee have signed it. Usage: Required state for normal completion of contracting activity. Precedence Order = 6. Comparable FHIR and v.3 status codes: accepted; completed. 084 */ 085 EXECUTED, 086 /** 087 * Contract execution is suspended while either or both the Grantor and Grantee propose and consider new or revised contract provisions. I.e., where the party which has not signed proposes changes to the terms. E .g., a life insurer declines to agree to the signed application because the life insurer has evidence that the applicant, who asserted to being younger or a non-smoker to get a lower premium rate - but offers instead to agree to a higher premium based on the applicants actual age or smoking status. Usage: Optional contract activity between executable and executed state. Precedence Order = 4. Comparable FHIR and v.3 status codes: in progress; review; held. 088 */ 089 NEGOTIABLE, 090 /** 091 * Contract is a proposal by either the Grantor or the Grantee. Aka - A Contract hard copy or electronic 'template', 'form' or 'application'. E.g., health insurance application; consent directive form. Usage: Beginning of contract negotiation, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 2. Comparable FHIR and v.3 status codes: requested; new. 092 */ 093 OFFERED, 094 /** 095 * Contract template is available as the basis for an application or offer by the Grantor or Grantee. E.g., health insurance policy; consent directive policy. Usage: Required initial contract activity, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 1. Comparable FHIR and v.3 status codes: proposed; intended. 096 */ 097 POLICY, 098 /** 099 * Execution of the Contract is not completed because either or both the Grantor and Grantee decline to accept some or all of the contract provisions. Usage: Optional contract activity between executable and abnormal termination. Precedence Order = 5. Comparable FHIR and v.3 status codes: stopped; cancelled. 100 */ 101 REJECTED, 102 /** 103 * Beginning of a successor Contract at the termination of predecessor Contract lifecycle. Usage: Follows termination of a preceding Contract that has reached its expiry date. Precedence Order = 13. Comparable FHIR and v.3 status codes: superseded. 104 */ 105 RENEWED, 106 /** 107 * A Contract that is rescinded. May be required prior to replacing with an updated Contract. Comparable FHIR and v.3 status codes: nullified. 108 */ 109 REVOKED, 110 /** 111 * Contract is reactivated after being pended because of faulty execution. *E.g., competency of the signer(s), or where the policy is substantially different from and did not accompany the application/form so that the applicant could not compare them. Aka - ''reactivated''. Usage: Optional stage where a pended contract is reactivated. Precedence Order = 8. Comparable FHIR and v.3 status codes: reactivated. 112 */ 113 RESOLVED, 114 /** 115 * Contract reaches its expiry date. It might or might not be renewed or renegotiated. Usage: Normal end of contract period. Precedence Order = 12. Comparable FHIR and v.3 status codes: Obsoleted. 116 */ 117 TERMINATED, 118 /** 119 * added to help the parsers with the generic types 120 */ 121 NULL; 122 public static ContractResourcePublicationStatusCodes fromCode(String codeString) throws FHIRException { 123 if (codeString == null || "".equals(codeString)) 124 return null; 125 if ("amended".equals(codeString)) 126 return AMENDED; 127 if ("appended".equals(codeString)) 128 return APPENDED; 129 if ("cancelled".equals(codeString)) 130 return CANCELLED; 131 if ("disputed".equals(codeString)) 132 return DISPUTED; 133 if ("entered-in-error".equals(codeString)) 134 return ENTEREDINERROR; 135 if ("executable".equals(codeString)) 136 return EXECUTABLE; 137 if ("executed".equals(codeString)) 138 return EXECUTED; 139 if ("negotiable".equals(codeString)) 140 return NEGOTIABLE; 141 if ("offered".equals(codeString)) 142 return OFFERED; 143 if ("policy".equals(codeString)) 144 return POLICY; 145 if ("rejected".equals(codeString)) 146 return REJECTED; 147 if ("renewed".equals(codeString)) 148 return RENEWED; 149 if ("revoked".equals(codeString)) 150 return REVOKED; 151 if ("resolved".equals(codeString)) 152 return RESOLVED; 153 if ("terminated".equals(codeString)) 154 return TERMINATED; 155 if (Configuration.isAcceptInvalidEnums()) 156 return null; 157 else 158 throw new FHIRException("Unknown ContractResourcePublicationStatusCodes code '"+codeString+"'"); 159 } 160 public String toCode() { 161 switch (this) { 162 case AMENDED: return "amended"; 163 case APPENDED: return "appended"; 164 case CANCELLED: return "cancelled"; 165 case DISPUTED: return "disputed"; 166 case ENTEREDINERROR: return "entered-in-error"; 167 case EXECUTABLE: return "executable"; 168 case EXECUTED: return "executed"; 169 case NEGOTIABLE: return "negotiable"; 170 case OFFERED: return "offered"; 171 case POLICY: return "policy"; 172 case REJECTED: return "rejected"; 173 case RENEWED: return "renewed"; 174 case REVOKED: return "revoked"; 175 case RESOLVED: return "resolved"; 176 case TERMINATED: return "terminated"; 177 case NULL: return null; 178 default: return "?"; 179 } 180 } 181 public String getSystem() { 182 switch (this) { 183 case AMENDED: return "http://hl7.org/fhir/contract-publicationstatus"; 184 case APPENDED: return "http://hl7.org/fhir/contract-publicationstatus"; 185 case CANCELLED: return "http://hl7.org/fhir/contract-publicationstatus"; 186 case DISPUTED: return "http://hl7.org/fhir/contract-publicationstatus"; 187 case ENTEREDINERROR: return "http://hl7.org/fhir/contract-publicationstatus"; 188 case EXECUTABLE: return "http://hl7.org/fhir/contract-publicationstatus"; 189 case EXECUTED: return "http://hl7.org/fhir/contract-publicationstatus"; 190 case NEGOTIABLE: return "http://hl7.org/fhir/contract-publicationstatus"; 191 case OFFERED: return "http://hl7.org/fhir/contract-publicationstatus"; 192 case POLICY: return "http://hl7.org/fhir/contract-publicationstatus"; 193 case REJECTED: return "http://hl7.org/fhir/contract-publicationstatus"; 194 case RENEWED: return "http://hl7.org/fhir/contract-publicationstatus"; 195 case REVOKED: return "http://hl7.org/fhir/contract-publicationstatus"; 196 case RESOLVED: return "http://hl7.org/fhir/contract-publicationstatus"; 197 case TERMINATED: return "http://hl7.org/fhir/contract-publicationstatus"; 198 case NULL: return null; 199 default: return "?"; 200 } 201 } 202 public String getDefinition() { 203 switch (this) { 204 case AMENDED: return "Contract is augmented with additional information to correct errors in a predecessor or to updated values in a predecessor. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: revised; replaced."; 205 case APPENDED: return "Contract is augmented with additional information that was missing from a predecessor Contract. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: updated, replaced."; 206 case CANCELLED: return "Contract is terminated due to failure of the Grantor and/or the Grantee to fulfil one or more contract provisions. Usage: Abnormal contract termination. Precedence Order = 10. Comparable FHIR and v.3 status codes: stopped; failed; aborted."; 207 case DISPUTED: return "Contract is pended to rectify failure of the Grantor or the Grantee to fulfil contract provision(s). E.g., Grantee complaint about Grantor's failure to comply with contract provisions. Usage: Contract pended. Precedence Order = 7. Comparable FHIR and v.3 status codes: on hold; pended; suspended."; 208 case ENTEREDINERROR: return "Contract was created in error. No Precedence Order. Status may be applied to a Contract with any status."; 209 case EXECUTABLE: return "Contract execution pending; may be executed when either the Grantor or the Grantee accepts the contract provisions by signing. I.e., where either the Grantor or the Grantee has signed, but not both. E.g., when an insurance applicant signs the insurers application, which references the policy. Usage: Optional first step of contract execution activity. May be skipped and contracting activity moves directly to executed state. Precedence Order = 3. Comparable FHIR and v.3 status codes: draft; preliminary; planned; intended; active."; 210 case EXECUTED: return "Contract is activated for period stipulated when both the Grantor and Grantee have signed it. Usage: Required state for normal completion of contracting activity. Precedence Order = 6. Comparable FHIR and v.3 status codes: accepted; completed."; 211 case NEGOTIABLE: return "Contract execution is suspended while either or both the Grantor and Grantee propose and consider new or revised contract provisions. I.e., where the party which has not signed proposes changes to the terms. E .g., a life insurer declines to agree to the signed application because the life insurer has evidence that the applicant, who asserted to being younger or a non-smoker to get a lower premium rate - but offers instead to agree to a higher premium based on the applicants actual age or smoking status. Usage: Optional contract activity between executable and executed state. Precedence Order = 4. Comparable FHIR and v.3 status codes: in progress; review; held."; 212 case OFFERED: return "Contract is a proposal by either the Grantor or the Grantee. Aka - A Contract hard copy or electronic 'template', 'form' or 'application'. E.g., health insurance application; consent directive form. Usage: Beginning of contract negotiation, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 2. Comparable FHIR and v.3 status codes: requested; new."; 213 case POLICY: return "Contract template is available as the basis for an application or offer by the Grantor or Grantee. E.g., health insurance policy; consent directive policy. Usage: Required initial contract activity, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 1. Comparable FHIR and v.3 status codes: proposed; intended."; 214 case REJECTED: return " Execution of the Contract is not completed because either or both the Grantor and Grantee decline to accept some or all of the contract provisions. Usage: Optional contract activity between executable and abnormal termination. Precedence Order = 5. Comparable FHIR and v.3 status codes: stopped; cancelled."; 215 case RENEWED: return "Beginning of a successor Contract at the termination of predecessor Contract lifecycle. Usage: Follows termination of a preceding Contract that has reached its expiry date. Precedence Order = 13. Comparable FHIR and v.3 status codes: superseded."; 216 case REVOKED: return "A Contract that is rescinded. May be required prior to replacing with an updated Contract. Comparable FHIR and v.3 status codes: nullified."; 217 case RESOLVED: return "Contract is reactivated after being pended because of faulty execution. *E.g., competency of the signer(s), or where the policy is substantially different from and did not accompany the application/form so that the applicant could not compare them. Aka - ''reactivated''. Usage: Optional stage where a pended contract is reactivated. Precedence Order = 8. Comparable FHIR and v.3 status codes: reactivated."; 218 case TERMINATED: return "Contract reaches its expiry date. It might or might not be renewed or renegotiated. Usage: Normal end of contract period. Precedence Order = 12. Comparable FHIR and v.3 status codes: Obsoleted."; 219 case NULL: return null; 220 default: return "?"; 221 } 222 } 223 public String getDisplay() { 224 switch (this) { 225 case AMENDED: return "Amended"; 226 case APPENDED: return "Appended"; 227 case CANCELLED: return "Cancelled"; 228 case DISPUTED: return "Disputed"; 229 case ENTEREDINERROR: return "Entered in Error"; 230 case EXECUTABLE: return "Executable"; 231 case EXECUTED: return "Executed"; 232 case NEGOTIABLE: return "Negotiable"; 233 case OFFERED: return "Offered"; 234 case POLICY: return "Policy"; 235 case REJECTED: return "Rejected"; 236 case RENEWED: return "Renewed"; 237 case REVOKED: return "Revoked"; 238 case RESOLVED: return "Resolved"; 239 case TERMINATED: return "Terminated"; 240 case NULL: return null; 241 default: return "?"; 242 } 243 } 244 } 245 246 public static class ContractResourcePublicationStatusCodesEnumFactory implements EnumFactory<ContractResourcePublicationStatusCodes> { 247 public ContractResourcePublicationStatusCodes fromCode(String codeString) throws IllegalArgumentException { 248 if (codeString == null || "".equals(codeString)) 249 if (codeString == null || "".equals(codeString)) 250 return null; 251 if ("amended".equals(codeString)) 252 return ContractResourcePublicationStatusCodes.AMENDED; 253 if ("appended".equals(codeString)) 254 return ContractResourcePublicationStatusCodes.APPENDED; 255 if ("cancelled".equals(codeString)) 256 return ContractResourcePublicationStatusCodes.CANCELLED; 257 if ("disputed".equals(codeString)) 258 return ContractResourcePublicationStatusCodes.DISPUTED; 259 if ("entered-in-error".equals(codeString)) 260 return ContractResourcePublicationStatusCodes.ENTEREDINERROR; 261 if ("executable".equals(codeString)) 262 return ContractResourcePublicationStatusCodes.EXECUTABLE; 263 if ("executed".equals(codeString)) 264 return ContractResourcePublicationStatusCodes.EXECUTED; 265 if ("negotiable".equals(codeString)) 266 return ContractResourcePublicationStatusCodes.NEGOTIABLE; 267 if ("offered".equals(codeString)) 268 return ContractResourcePublicationStatusCodes.OFFERED; 269 if ("policy".equals(codeString)) 270 return ContractResourcePublicationStatusCodes.POLICY; 271 if ("rejected".equals(codeString)) 272 return ContractResourcePublicationStatusCodes.REJECTED; 273 if ("renewed".equals(codeString)) 274 return ContractResourcePublicationStatusCodes.RENEWED; 275 if ("revoked".equals(codeString)) 276 return ContractResourcePublicationStatusCodes.REVOKED; 277 if ("resolved".equals(codeString)) 278 return ContractResourcePublicationStatusCodes.RESOLVED; 279 if ("terminated".equals(codeString)) 280 return ContractResourcePublicationStatusCodes.TERMINATED; 281 throw new IllegalArgumentException("Unknown ContractResourcePublicationStatusCodes code '"+codeString+"'"); 282 } 283 public Enumeration<ContractResourcePublicationStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException { 284 if (code == null) 285 return null; 286 if (code.isEmpty()) 287 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.NULL, code); 288 String codeString = ((PrimitiveType) code).asStringValue(); 289 if (codeString == null || "".equals(codeString)) 290 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.NULL, code); 291 if ("amended".equals(codeString)) 292 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.AMENDED, code); 293 if ("appended".equals(codeString)) 294 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.APPENDED, code); 295 if ("cancelled".equals(codeString)) 296 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.CANCELLED, code); 297 if ("disputed".equals(codeString)) 298 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.DISPUTED, code); 299 if ("entered-in-error".equals(codeString)) 300 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.ENTEREDINERROR, code); 301 if ("executable".equals(codeString)) 302 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.EXECUTABLE, code); 303 if ("executed".equals(codeString)) 304 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.EXECUTED, code); 305 if ("negotiable".equals(codeString)) 306 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.NEGOTIABLE, code); 307 if ("offered".equals(codeString)) 308 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.OFFERED, code); 309 if ("policy".equals(codeString)) 310 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.POLICY, code); 311 if ("rejected".equals(codeString)) 312 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.REJECTED, code); 313 if ("renewed".equals(codeString)) 314 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.RENEWED, code); 315 if ("revoked".equals(codeString)) 316 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.REVOKED, code); 317 if ("resolved".equals(codeString)) 318 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.RESOLVED, code); 319 if ("terminated".equals(codeString)) 320 return new Enumeration<ContractResourcePublicationStatusCodes>(this, ContractResourcePublicationStatusCodes.TERMINATED, code); 321 throw new FHIRException("Unknown ContractResourcePublicationStatusCodes code '"+codeString+"'"); 322 } 323 public String toCode(ContractResourcePublicationStatusCodes code) { 324 if (code == ContractResourcePublicationStatusCodes.AMENDED) 325 return "amended"; 326 if (code == ContractResourcePublicationStatusCodes.APPENDED) 327 return "appended"; 328 if (code == ContractResourcePublicationStatusCodes.CANCELLED) 329 return "cancelled"; 330 if (code == ContractResourcePublicationStatusCodes.DISPUTED) 331 return "disputed"; 332 if (code == ContractResourcePublicationStatusCodes.ENTEREDINERROR) 333 return "entered-in-error"; 334 if (code == ContractResourcePublicationStatusCodes.EXECUTABLE) 335 return "executable"; 336 if (code == ContractResourcePublicationStatusCodes.EXECUTED) 337 return "executed"; 338 if (code == ContractResourcePublicationStatusCodes.NEGOTIABLE) 339 return "negotiable"; 340 if (code == ContractResourcePublicationStatusCodes.OFFERED) 341 return "offered"; 342 if (code == ContractResourcePublicationStatusCodes.POLICY) 343 return "policy"; 344 if (code == ContractResourcePublicationStatusCodes.REJECTED) 345 return "rejected"; 346 if (code == ContractResourcePublicationStatusCodes.RENEWED) 347 return "renewed"; 348 if (code == ContractResourcePublicationStatusCodes.REVOKED) 349 return "revoked"; 350 if (code == ContractResourcePublicationStatusCodes.RESOLVED) 351 return "resolved"; 352 if (code == ContractResourcePublicationStatusCodes.TERMINATED) 353 return "terminated"; 354 return "?"; 355 } 356 public String toSystem(ContractResourcePublicationStatusCodes code) { 357 return code.getSystem(); 358 } 359 } 360 361 public enum ContractResourceStatusCodes { 362 /** 363 * Contract is augmented with additional information to correct errors in a predecessor or to updated values in a predecessor. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: revised; replaced. 364 */ 365 AMENDED, 366 /** 367 * Contract is augmented with additional information that was missing from a predecessor Contract. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: updated, replaced. 368 */ 369 APPENDED, 370 /** 371 * Contract is terminated due to failure of the Grantor and/or the Grantee to fulfil one or more contract provisions. Usage: Abnormal contract termination. Precedence Order = 10. Comparable FHIR and v.3 status codes: stopped; failed; aborted. 372 */ 373 CANCELLED, 374 /** 375 * Contract is pended to rectify failure of the Grantor or the Grantee to fulfil contract provision(s). E.g., Grantee complaint about Grantor's failure to comply with contract provisions. Usage: Contract pended. Precedence Order = 7. Comparable FHIR and v.3 status codes: on hold; pended; suspended. 376 */ 377 DISPUTED, 378 /** 379 * Contract was created in error. No Precedence Order. Status may be applied to a Contract with any status. 380 */ 381 ENTEREDINERROR, 382 /** 383 * Contract execution pending; may be executed when either the Grantor or the Grantee accepts the contract provisions by signing. I.e., where either the Grantor or the Grantee has signed, but not both. E.g., when an insurance applicant signs the insurers application, which references the policy. Usage: Optional first step of contract execution activity. May be skipped and contracting activity moves directly to executed state. Precedence Order = 3. Comparable FHIR and v.3 status codes: draft; preliminary; planned; intended; active. 384 */ 385 EXECUTABLE, 386 /** 387 * Contract is activated for period stipulated when both the Grantor and Grantee have signed it. Usage: Required state for normal completion of contracting activity. Precedence Order = 6. Comparable FHIR and v.3 status codes: accepted; completed. 388 */ 389 EXECUTED, 390 /** 391 * Contract execution is suspended while either or both the Grantor and Grantee propose and consider new or revised contract provisions. I.e., where the party which has not signed proposes changes to the terms. E .g., a life insurer declines to agree to the signed application because the life insurer has evidence that the applicant, who asserted to being younger or a non-smoker to get a lower premium rate - but offers instead to agree to a higher premium based on the applicants actual age or smoking status. Usage: Optional contract activity between executable and executed state. Precedence Order = 4. Comparable FHIR and v.3 status codes: in progress; review; held. 392 */ 393 NEGOTIABLE, 394 /** 395 * Contract is a proposal by either the Grantor or the Grantee. Aka - A Contract hard copy or electronic 'template', 'form' or 'application'. E.g., health insurance application; consent directive form. Usage: Beginning of contract negotiation, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 2. Comparable FHIR and v.3 status codes: requested; new. 396 */ 397 OFFERED, 398 /** 399 * Contract template is available as the basis for an application or offer by the Grantor or Grantee. E.g., health insurance policy; consent directive policy. Usage: Required initial contract activity, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 1. Comparable FHIR and v.3 status codes: proposed; intended. 400 */ 401 POLICY, 402 /** 403 * Execution of the Contract is not completed because either or both the Grantor and Grantee decline to accept some or all of the contract provisions. Usage: Optional contract activity between executable and abnormal termination. Precedence Order = 5. Comparable FHIR and v.3 status codes: stopped; cancelled. 404 */ 405 REJECTED, 406 /** 407 * Beginning of a successor Contract at the termination of predecessor Contract lifecycle. Usage: Follows termination of a preceding Contract that has reached its expiry date. Precedence Order = 13. Comparable FHIR and v.3 status codes: superseded. 408 */ 409 RENEWED, 410 /** 411 * A Contract that is rescinded. May be required prior to replacing with an updated Contract. Comparable FHIR and v.3 status codes: nullified. 412 */ 413 REVOKED, 414 /** 415 * Contract is reactivated after being pended because of faulty execution. *E.g., competency of the signer(s), or where the policy is substantially different from and did not accompany the application/form so that the applicant could not compare them. Aka - ''reactivated''. Usage: Optional stage where a pended contract is reactivated. Precedence Order = 8. Comparable FHIR and v.3 status codes: reactivated. 416 */ 417 RESOLVED, 418 /** 419 * Contract reaches its expiry date. It might or might not be renewed or renegotiated. Usage: Normal end of contract period. Precedence Order = 12. Comparable FHIR and v.3 status codes: Obsoleted. 420 */ 421 TERMINATED, 422 /** 423 * added to help the parsers with the generic types 424 */ 425 NULL; 426 public static ContractResourceStatusCodes fromCode(String codeString) throws FHIRException { 427 if (codeString == null || "".equals(codeString)) 428 return null; 429 if ("amended".equals(codeString)) 430 return AMENDED; 431 if ("appended".equals(codeString)) 432 return APPENDED; 433 if ("cancelled".equals(codeString)) 434 return CANCELLED; 435 if ("disputed".equals(codeString)) 436 return DISPUTED; 437 if ("entered-in-error".equals(codeString)) 438 return ENTEREDINERROR; 439 if ("executable".equals(codeString)) 440 return EXECUTABLE; 441 if ("executed".equals(codeString)) 442 return EXECUTED; 443 if ("negotiable".equals(codeString)) 444 return NEGOTIABLE; 445 if ("offered".equals(codeString)) 446 return OFFERED; 447 if ("policy".equals(codeString)) 448 return POLICY; 449 if ("rejected".equals(codeString)) 450 return REJECTED; 451 if ("renewed".equals(codeString)) 452 return RENEWED; 453 if ("revoked".equals(codeString)) 454 return REVOKED; 455 if ("resolved".equals(codeString)) 456 return RESOLVED; 457 if ("terminated".equals(codeString)) 458 return TERMINATED; 459 if (Configuration.isAcceptInvalidEnums()) 460 return null; 461 else 462 throw new FHIRException("Unknown ContractResourceStatusCodes code '"+codeString+"'"); 463 } 464 public String toCode() { 465 switch (this) { 466 case AMENDED: return "amended"; 467 case APPENDED: return "appended"; 468 case CANCELLED: return "cancelled"; 469 case DISPUTED: return "disputed"; 470 case ENTEREDINERROR: return "entered-in-error"; 471 case EXECUTABLE: return "executable"; 472 case EXECUTED: return "executed"; 473 case NEGOTIABLE: return "negotiable"; 474 case OFFERED: return "offered"; 475 case POLICY: return "policy"; 476 case REJECTED: return "rejected"; 477 case RENEWED: return "renewed"; 478 case REVOKED: return "revoked"; 479 case RESOLVED: return "resolved"; 480 case TERMINATED: return "terminated"; 481 case NULL: return null; 482 default: return "?"; 483 } 484 } 485 public String getSystem() { 486 switch (this) { 487 case AMENDED: return "http://hl7.org/fhir/contract-status"; 488 case APPENDED: return "http://hl7.org/fhir/contract-status"; 489 case CANCELLED: return "http://hl7.org/fhir/contract-status"; 490 case DISPUTED: return "http://hl7.org/fhir/contract-status"; 491 case ENTEREDINERROR: return "http://hl7.org/fhir/contract-status"; 492 case EXECUTABLE: return "http://hl7.org/fhir/contract-status"; 493 case EXECUTED: return "http://hl7.org/fhir/contract-status"; 494 case NEGOTIABLE: return "http://hl7.org/fhir/contract-status"; 495 case OFFERED: return "http://hl7.org/fhir/contract-status"; 496 case POLICY: return "http://hl7.org/fhir/contract-status"; 497 case REJECTED: return "http://hl7.org/fhir/contract-status"; 498 case RENEWED: return "http://hl7.org/fhir/contract-status"; 499 case REVOKED: return "http://hl7.org/fhir/contract-status"; 500 case RESOLVED: return "http://hl7.org/fhir/contract-status"; 501 case TERMINATED: return "http://hl7.org/fhir/contract-status"; 502 case NULL: return null; 503 default: return "?"; 504 } 505 } 506 public String getDefinition() { 507 switch (this) { 508 case AMENDED: return "Contract is augmented with additional information to correct errors in a predecessor or to updated values in a predecessor. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: revised; replaced."; 509 case APPENDED: return "Contract is augmented with additional information that was missing from a predecessor Contract. Usage: Contract altered within effective time. Precedence Order = 9. Comparable FHIR and v.3 status codes: updated, replaced."; 510 case CANCELLED: return "Contract is terminated due to failure of the Grantor and/or the Grantee to fulfil one or more contract provisions. Usage: Abnormal contract termination. Precedence Order = 10. Comparable FHIR and v.3 status codes: stopped; failed; aborted."; 511 case DISPUTED: return "Contract is pended to rectify failure of the Grantor or the Grantee to fulfil contract provision(s). E.g., Grantee complaint about Grantor's failure to comply with contract provisions. Usage: Contract pended. Precedence Order = 7. Comparable FHIR and v.3 status codes: on hold; pended; suspended."; 512 case ENTEREDINERROR: return "Contract was created in error. No Precedence Order. Status may be applied to a Contract with any status."; 513 case EXECUTABLE: return "Contract execution pending; may be executed when either the Grantor or the Grantee accepts the contract provisions by signing. I.e., where either the Grantor or the Grantee has signed, but not both. E.g., when an insurance applicant signs the insurers application, which references the policy. Usage: Optional first step of contract execution activity. May be skipped and contracting activity moves directly to executed state. Precedence Order = 3. Comparable FHIR and v.3 status codes: draft; preliminary; planned; intended; active."; 514 case EXECUTED: return "Contract is activated for period stipulated when both the Grantor and Grantee have signed it. Usage: Required state for normal completion of contracting activity. Precedence Order = 6. Comparable FHIR and v.3 status codes: accepted; completed."; 515 case NEGOTIABLE: return "Contract execution is suspended while either or both the Grantor and Grantee propose and consider new or revised contract provisions. I.e., where the party which has not signed proposes changes to the terms. E .g., a life insurer declines to agree to the signed application because the life insurer has evidence that the applicant, who asserted to being younger or a non-smoker to get a lower premium rate - but offers instead to agree to a higher premium based on the applicants actual age or smoking status. Usage: Optional contract activity between executable and executed state. Precedence Order = 4. Comparable FHIR and v.3 status codes: in progress; review; held."; 516 case OFFERED: return "Contract is a proposal by either the Grantor or the Grantee. Aka - A Contract hard copy or electronic 'template', 'form' or 'application'. E.g., health insurance application; consent directive form. Usage: Beginning of contract negotiation, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 2. Comparable FHIR and v.3 status codes: requested; new."; 517 case POLICY: return "Contract template is available as the basis for an application or offer by the Grantor or Grantee. E.g., health insurance policy; consent directive policy. Usage: Required initial contract activity, which may have been completed as a precondition because used for 0..* contracts. Precedence Order = 1. Comparable FHIR and v.3 status codes: proposed; intended."; 518 case REJECTED: return " Execution of the Contract is not completed because either or both the Grantor and Grantee decline to accept some or all of the contract provisions. Usage: Optional contract activity between executable and abnormal termination. Precedence Order = 5. Comparable FHIR and v.3 status codes: stopped; cancelled."; 519 case RENEWED: return "Beginning of a successor Contract at the termination of predecessor Contract lifecycle. Usage: Follows termination of a preceding Contract that has reached its expiry date. Precedence Order = 13. Comparable FHIR and v.3 status codes: superseded."; 520 case REVOKED: return "A Contract that is rescinded. May be required prior to replacing with an updated Contract. Comparable FHIR and v.3 status codes: nullified."; 521 case RESOLVED: return "Contract is reactivated after being pended because of faulty execution. *E.g., competency of the signer(s), or where the policy is substantially different from and did not accompany the application/form so that the applicant could not compare them. Aka - ''reactivated''. Usage: Optional stage where a pended contract is reactivated. Precedence Order = 8. Comparable FHIR and v.3 status codes: reactivated."; 522 case TERMINATED: return "Contract reaches its expiry date. It might or might not be renewed or renegotiated. Usage: Normal end of contract period. Precedence Order = 12. Comparable FHIR and v.3 status codes: Obsoleted."; 523 case NULL: return null; 524 default: return "?"; 525 } 526 } 527 public String getDisplay() { 528 switch (this) { 529 case AMENDED: return "Amended"; 530 case APPENDED: return "Appended"; 531 case CANCELLED: return "Cancelled"; 532 case DISPUTED: return "Disputed"; 533 case ENTEREDINERROR: return "Entered in Error"; 534 case EXECUTABLE: return "Executable"; 535 case EXECUTED: return "Executed"; 536 case NEGOTIABLE: return "Negotiable"; 537 case OFFERED: return "Offered"; 538 case POLICY: return "Policy"; 539 case REJECTED: return "Rejected"; 540 case RENEWED: return "Renewed"; 541 case REVOKED: return "Revoked"; 542 case RESOLVED: return "Resolved"; 543 case TERMINATED: return "Terminated"; 544 case NULL: return null; 545 default: return "?"; 546 } 547 } 548 } 549 550 public static class ContractResourceStatusCodesEnumFactory implements EnumFactory<ContractResourceStatusCodes> { 551 public ContractResourceStatusCodes fromCode(String codeString) throws IllegalArgumentException { 552 if (codeString == null || "".equals(codeString)) 553 if (codeString == null || "".equals(codeString)) 554 return null; 555 if ("amended".equals(codeString)) 556 return ContractResourceStatusCodes.AMENDED; 557 if ("appended".equals(codeString)) 558 return ContractResourceStatusCodes.APPENDED; 559 if ("cancelled".equals(codeString)) 560 return ContractResourceStatusCodes.CANCELLED; 561 if ("disputed".equals(codeString)) 562 return ContractResourceStatusCodes.DISPUTED; 563 if ("entered-in-error".equals(codeString)) 564 return ContractResourceStatusCodes.ENTEREDINERROR; 565 if ("executable".equals(codeString)) 566 return ContractResourceStatusCodes.EXECUTABLE; 567 if ("executed".equals(codeString)) 568 return ContractResourceStatusCodes.EXECUTED; 569 if ("negotiable".equals(codeString)) 570 return ContractResourceStatusCodes.NEGOTIABLE; 571 if ("offered".equals(codeString)) 572 return ContractResourceStatusCodes.OFFERED; 573 if ("policy".equals(codeString)) 574 return ContractResourceStatusCodes.POLICY; 575 if ("rejected".equals(codeString)) 576 return ContractResourceStatusCodes.REJECTED; 577 if ("renewed".equals(codeString)) 578 return ContractResourceStatusCodes.RENEWED; 579 if ("revoked".equals(codeString)) 580 return ContractResourceStatusCodes.REVOKED; 581 if ("resolved".equals(codeString)) 582 return ContractResourceStatusCodes.RESOLVED; 583 if ("terminated".equals(codeString)) 584 return ContractResourceStatusCodes.TERMINATED; 585 throw new IllegalArgumentException("Unknown ContractResourceStatusCodes code '"+codeString+"'"); 586 } 587 public Enumeration<ContractResourceStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException { 588 if (code == null) 589 return null; 590 if (code.isEmpty()) 591 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.NULL, code); 592 String codeString = ((PrimitiveType) code).asStringValue(); 593 if (codeString == null || "".equals(codeString)) 594 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.NULL, code); 595 if ("amended".equals(codeString)) 596 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.AMENDED, code); 597 if ("appended".equals(codeString)) 598 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.APPENDED, code); 599 if ("cancelled".equals(codeString)) 600 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.CANCELLED, code); 601 if ("disputed".equals(codeString)) 602 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.DISPUTED, code); 603 if ("entered-in-error".equals(codeString)) 604 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.ENTEREDINERROR, code); 605 if ("executable".equals(codeString)) 606 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.EXECUTABLE, code); 607 if ("executed".equals(codeString)) 608 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.EXECUTED, code); 609 if ("negotiable".equals(codeString)) 610 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.NEGOTIABLE, code); 611 if ("offered".equals(codeString)) 612 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.OFFERED, code); 613 if ("policy".equals(codeString)) 614 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.POLICY, code); 615 if ("rejected".equals(codeString)) 616 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.REJECTED, code); 617 if ("renewed".equals(codeString)) 618 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.RENEWED, code); 619 if ("revoked".equals(codeString)) 620 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.REVOKED, code); 621 if ("resolved".equals(codeString)) 622 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.RESOLVED, code); 623 if ("terminated".equals(codeString)) 624 return new Enumeration<ContractResourceStatusCodes>(this, ContractResourceStatusCodes.TERMINATED, code); 625 throw new FHIRException("Unknown ContractResourceStatusCodes code '"+codeString+"'"); 626 } 627 public String toCode(ContractResourceStatusCodes code) { 628 if (code == ContractResourceStatusCodes.AMENDED) 629 return "amended"; 630 if (code == ContractResourceStatusCodes.APPENDED) 631 return "appended"; 632 if (code == ContractResourceStatusCodes.CANCELLED) 633 return "cancelled"; 634 if (code == ContractResourceStatusCodes.DISPUTED) 635 return "disputed"; 636 if (code == ContractResourceStatusCodes.ENTEREDINERROR) 637 return "entered-in-error"; 638 if (code == ContractResourceStatusCodes.EXECUTABLE) 639 return "executable"; 640 if (code == ContractResourceStatusCodes.EXECUTED) 641 return "executed"; 642 if (code == ContractResourceStatusCodes.NEGOTIABLE) 643 return "negotiable"; 644 if (code == ContractResourceStatusCodes.OFFERED) 645 return "offered"; 646 if (code == ContractResourceStatusCodes.POLICY) 647 return "policy"; 648 if (code == ContractResourceStatusCodes.REJECTED) 649 return "rejected"; 650 if (code == ContractResourceStatusCodes.RENEWED) 651 return "renewed"; 652 if (code == ContractResourceStatusCodes.REVOKED) 653 return "revoked"; 654 if (code == ContractResourceStatusCodes.RESOLVED) 655 return "resolved"; 656 if (code == ContractResourceStatusCodes.TERMINATED) 657 return "terminated"; 658 return "?"; 659 } 660 public String toSystem(ContractResourceStatusCodes code) { 661 return code.getSystem(); 662 } 663 } 664 665 @Block() 666 public static class ContentDefinitionComponent extends BackboneElement implements IBaseBackboneElement { 667 /** 668 * Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation. 669 */ 670 @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) 671 @Description(shortDefinition="Content structure and use", formalDefinition="Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation." ) 672 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-definition-type") 673 protected CodeableConcept type; 674 675 /** 676 * Detailed Precusory content type. 677 */ 678 @Child(name = "subType", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 679 @Description(shortDefinition="Detailed Content Type Definition", formalDefinition="Detailed Precusory content type." ) 680 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-definition-subtype") 681 protected CodeableConcept subType; 682 683 /** 684 * The individual or organization that published the Contract precursor content. 685 */ 686 @Child(name = "publisher", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) 687 @Description(shortDefinition="Publisher Entity", formalDefinition="The individual or organization that published the Contract precursor content." ) 688 protected Reference publisher; 689 690 /** 691 * The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. 692 */ 693 @Child(name = "publicationDate", type = {DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) 694 @Description(shortDefinition="When published", formalDefinition="The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes." ) 695 protected DateTimeType publicationDate; 696 697 /** 698 * amended | appended | cancelled | disputed | entered-in-error | executable +. 699 */ 700 @Child(name = "publicationStatus", type = {CodeType.class}, order=5, min=1, max=1, modifier=false, summary=false) 701 @Description(shortDefinition="amended | appended | cancelled | disputed | entered-in-error | executable +", formalDefinition="amended | appended | cancelled | disputed | entered-in-error | executable +." ) 702 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-publicationstatus") 703 protected Enumeration<ContractResourcePublicationStatusCodes> publicationStatus; 704 705 /** 706 * A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. 707 */ 708 @Child(name = "copyright", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) 709 @Description(shortDefinition="Publication Ownership", formalDefinition="A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content." ) 710 protected MarkdownType copyright; 711 712 private static final long serialVersionUID = 306178803L; 713 714 /** 715 * Constructor 716 */ 717 public ContentDefinitionComponent() { 718 super(); 719 } 720 721 /** 722 * Constructor 723 */ 724 public ContentDefinitionComponent(CodeableConcept type, ContractResourcePublicationStatusCodes publicationStatus) { 725 super(); 726 this.setType(type); 727 this.setPublicationStatus(publicationStatus); 728 } 729 730 /** 731 * @return {@link #type} (Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation.) 732 */ 733 public CodeableConcept getType() { 734 if (this.type == null) 735 if (Configuration.errorOnAutoCreate()) 736 throw new Error("Attempt to auto-create ContentDefinitionComponent.type"); 737 else if (Configuration.doAutoCreate()) 738 this.type = new CodeableConcept(); // cc 739 return this.type; 740 } 741 742 public boolean hasType() { 743 return this.type != null && !this.type.isEmpty(); 744 } 745 746 /** 747 * @param value {@link #type} (Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation.) 748 */ 749 public ContentDefinitionComponent setType(CodeableConcept value) { 750 this.type = value; 751 return this; 752 } 753 754 /** 755 * @return {@link #subType} (Detailed Precusory content type.) 756 */ 757 public CodeableConcept getSubType() { 758 if (this.subType == null) 759 if (Configuration.errorOnAutoCreate()) 760 throw new Error("Attempt to auto-create ContentDefinitionComponent.subType"); 761 else if (Configuration.doAutoCreate()) 762 this.subType = new CodeableConcept(); // cc 763 return this.subType; 764 } 765 766 public boolean hasSubType() { 767 return this.subType != null && !this.subType.isEmpty(); 768 } 769 770 /** 771 * @param value {@link #subType} (Detailed Precusory content type.) 772 */ 773 public ContentDefinitionComponent setSubType(CodeableConcept value) { 774 this.subType = value; 775 return this; 776 } 777 778 /** 779 * @return {@link #publisher} (The individual or organization that published the Contract precursor content.) 780 */ 781 public Reference getPublisher() { 782 if (this.publisher == null) 783 if (Configuration.errorOnAutoCreate()) 784 throw new Error("Attempt to auto-create ContentDefinitionComponent.publisher"); 785 else if (Configuration.doAutoCreate()) 786 this.publisher = new Reference(); // cc 787 return this.publisher; 788 } 789 790 public boolean hasPublisher() { 791 return this.publisher != null && !this.publisher.isEmpty(); 792 } 793 794 /** 795 * @param value {@link #publisher} (The individual or organization that published the Contract precursor content.) 796 */ 797 public ContentDefinitionComponent setPublisher(Reference value) { 798 this.publisher = value; 799 return this; 800 } 801 802 /** 803 * @return {@link #publicationDate} (The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value 804 */ 805 public DateTimeType getPublicationDateElement() { 806 if (this.publicationDate == null) 807 if (Configuration.errorOnAutoCreate()) 808 throw new Error("Attempt to auto-create ContentDefinitionComponent.publicationDate"); 809 else if (Configuration.doAutoCreate()) 810 this.publicationDate = new DateTimeType(); // bb 811 return this.publicationDate; 812 } 813 814 public boolean hasPublicationDateElement() { 815 return this.publicationDate != null && !this.publicationDate.isEmpty(); 816 } 817 818 public boolean hasPublicationDate() { 819 return this.publicationDate != null && !this.publicationDate.isEmpty(); 820 } 821 822 /** 823 * @param value {@link #publicationDate} (The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value 824 */ 825 public ContentDefinitionComponent setPublicationDateElement(DateTimeType value) { 826 this.publicationDate = value; 827 return this; 828 } 829 830 /** 831 * @return The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. 832 */ 833 public Date getPublicationDate() { 834 return this.publicationDate == null ? null : this.publicationDate.getValue(); 835 } 836 837 /** 838 * @param value The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes. 839 */ 840 public ContentDefinitionComponent setPublicationDate(Date value) { 841 if (value == null) 842 this.publicationDate = null; 843 else { 844 if (this.publicationDate == null) 845 this.publicationDate = new DateTimeType(); 846 this.publicationDate.setValue(value); 847 } 848 return this; 849 } 850 851 /** 852 * @return {@link #publicationStatus} (amended | appended | cancelled | disputed | entered-in-error | executable +.). This is the underlying object with id, value and extensions. The accessor "getPublicationStatus" gives direct access to the value 853 */ 854 public Enumeration<ContractResourcePublicationStatusCodes> getPublicationStatusElement() { 855 if (this.publicationStatus == null) 856 if (Configuration.errorOnAutoCreate()) 857 throw new Error("Attempt to auto-create ContentDefinitionComponent.publicationStatus"); 858 else if (Configuration.doAutoCreate()) 859 this.publicationStatus = new Enumeration<ContractResourcePublicationStatusCodes>(new ContractResourcePublicationStatusCodesEnumFactory()); // bb 860 return this.publicationStatus; 861 } 862 863 public boolean hasPublicationStatusElement() { 864 return this.publicationStatus != null && !this.publicationStatus.isEmpty(); 865 } 866 867 public boolean hasPublicationStatus() { 868 return this.publicationStatus != null && !this.publicationStatus.isEmpty(); 869 } 870 871 /** 872 * @param value {@link #publicationStatus} (amended | appended | cancelled | disputed | entered-in-error | executable +.). This is the underlying object with id, value and extensions. The accessor "getPublicationStatus" gives direct access to the value 873 */ 874 public ContentDefinitionComponent setPublicationStatusElement(Enumeration<ContractResourcePublicationStatusCodes> value) { 875 this.publicationStatus = value; 876 return this; 877 } 878 879 /** 880 * @return amended | appended | cancelled | disputed | entered-in-error | executable +. 881 */ 882 public ContractResourcePublicationStatusCodes getPublicationStatus() { 883 return this.publicationStatus == null ? null : this.publicationStatus.getValue(); 884 } 885 886 /** 887 * @param value amended | appended | cancelled | disputed | entered-in-error | executable +. 888 */ 889 public ContentDefinitionComponent setPublicationStatus(ContractResourcePublicationStatusCodes value) { 890 if (this.publicationStatus == null) 891 this.publicationStatus = new Enumeration<ContractResourcePublicationStatusCodes>(new ContractResourcePublicationStatusCodesEnumFactory()); 892 this.publicationStatus.setValue(value); 893 return this; 894 } 895 896 /** 897 * @return {@link #copyright} (A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 898 */ 899 public MarkdownType getCopyrightElement() { 900 if (this.copyright == null) 901 if (Configuration.errorOnAutoCreate()) 902 throw new Error("Attempt to auto-create ContentDefinitionComponent.copyright"); 903 else if (Configuration.doAutoCreate()) 904 this.copyright = new MarkdownType(); // bb 905 return this.copyright; 906 } 907 908 public boolean hasCopyrightElement() { 909 return this.copyright != null && !this.copyright.isEmpty(); 910 } 911 912 public boolean hasCopyright() { 913 return this.copyright != null && !this.copyright.isEmpty(); 914 } 915 916 /** 917 * @param value {@link #copyright} (A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 918 */ 919 public ContentDefinitionComponent setCopyrightElement(MarkdownType value) { 920 this.copyright = value; 921 return this; 922 } 923 924 /** 925 * @return A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. 926 */ 927 public String getCopyright() { 928 return this.copyright == null ? null : this.copyright.getValue(); 929 } 930 931 /** 932 * @param value A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content. 933 */ 934 public ContentDefinitionComponent setCopyright(String value) { 935 if (Utilities.noString(value)) 936 this.copyright = null; 937 else { 938 if (this.copyright == null) 939 this.copyright = new MarkdownType(); 940 this.copyright.setValue(value); 941 } 942 return this; 943 } 944 945 protected void listChildren(List<Property> children) { 946 super.listChildren(children); 947 children.add(new Property("type", "CodeableConcept", "Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation.", 0, 1, type)); 948 children.add(new Property("subType", "CodeableConcept", "Detailed Precusory content type.", 0, 1, subType)); 949 children.add(new Property("publisher", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization that published the Contract precursor content.", 0, 1, publisher)); 950 children.add(new Property("publicationDate", "dateTime", "The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes.", 0, 1, publicationDate)); 951 children.add(new Property("publicationStatus", "code", "amended | appended | cancelled | disputed | entered-in-error | executable +.", 0, 1, publicationStatus)); 952 children.add(new Property("copyright", "markdown", "A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content.", 0, 1, copyright)); 953 } 954 955 @Override 956 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 957 switch (_hash) { 958 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Precusory content structure and use, i.e., a boilerplate, template, application for a contract such as an insurance policy or benefits under a program, e.g., workers compensation.", 0, 1, type); 959 case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "Detailed Precusory content type.", 0, 1, subType); 960 case 1447404028: /*publisher*/ return new Property("publisher", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization that published the Contract precursor content.", 0, 1, publisher); 961 case 1470566394: /*publicationDate*/ return new Property("publicationDate", "dateTime", "The date (and optionally time) when the contract was last significantly changed. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the contract changes.", 0, 1, publicationDate); 962 case 616500542: /*publicationStatus*/ return new Property("publicationStatus", "code", "amended | appended | cancelled | disputed | entered-in-error | executable +.", 0, 1, publicationStatus); 963 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to Contract precursor content. Copyright statements are generally legal restrictions on the use and publishing of the Contract precursor content.", 0, 1, copyright); 964 default: return super.getNamedProperty(_hash, _name, _checkValid); 965 } 966 967 } 968 969 @Override 970 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 971 switch (hash) { 972 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 973 case -1868521062: /*subType*/ return this.subType == null ? new Base[0] : new Base[] {this.subType}; // CodeableConcept 974 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // Reference 975 case 1470566394: /*publicationDate*/ return this.publicationDate == null ? new Base[0] : new Base[] {this.publicationDate}; // DateTimeType 976 case 616500542: /*publicationStatus*/ return this.publicationStatus == null ? new Base[0] : new Base[] {this.publicationStatus}; // Enumeration<ContractResourcePublicationStatusCodes> 977 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 978 default: return super.getProperty(hash, name, checkValid); 979 } 980 981 } 982 983 @Override 984 public Base setProperty(int hash, String name, Base value) throws FHIRException { 985 switch (hash) { 986 case 3575610: // type 987 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 988 return value; 989 case -1868521062: // subType 990 this.subType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 991 return value; 992 case 1447404028: // publisher 993 this.publisher = TypeConvertor.castToReference(value); // Reference 994 return value; 995 case 1470566394: // publicationDate 996 this.publicationDate = TypeConvertor.castToDateTime(value); // DateTimeType 997 return value; 998 case 616500542: // publicationStatus 999 value = new ContractResourcePublicationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1000 this.publicationStatus = (Enumeration) value; // Enumeration<ContractResourcePublicationStatusCodes> 1001 return value; 1002 case 1522889671: // copyright 1003 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 1004 return value; 1005 default: return super.setProperty(hash, name, value); 1006 } 1007 1008 } 1009 1010 @Override 1011 public Base setProperty(String name, Base value) throws FHIRException { 1012 if (name.equals("type")) { 1013 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1014 } else if (name.equals("subType")) { 1015 this.subType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1016 } else if (name.equals("publisher")) { 1017 this.publisher = TypeConvertor.castToReference(value); // Reference 1018 } else if (name.equals("publicationDate")) { 1019 this.publicationDate = TypeConvertor.castToDateTime(value); // DateTimeType 1020 } else if (name.equals("publicationStatus")) { 1021 value = new ContractResourcePublicationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1022 this.publicationStatus = (Enumeration) value; // Enumeration<ContractResourcePublicationStatusCodes> 1023 } else if (name.equals("copyright")) { 1024 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 1025 } else 1026 return super.setProperty(name, value); 1027 return value; 1028 } 1029 1030 @Override 1031 public void removeChild(String name, Base value) throws FHIRException { 1032 if (name.equals("type")) { 1033 this.type = null; 1034 } else if (name.equals("subType")) { 1035 this.subType = null; 1036 } else if (name.equals("publisher")) { 1037 this.publisher = null; 1038 } else if (name.equals("publicationDate")) { 1039 this.publicationDate = null; 1040 } else if (name.equals("publicationStatus")) { 1041 value = new ContractResourcePublicationStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1042 this.publicationStatus = (Enumeration) value; // Enumeration<ContractResourcePublicationStatusCodes> 1043 } else if (name.equals("copyright")) { 1044 this.copyright = null; 1045 } else 1046 super.removeChild(name, value); 1047 1048 } 1049 1050 @Override 1051 public Base makeProperty(int hash, String name) throws FHIRException { 1052 switch (hash) { 1053 case 3575610: return getType(); 1054 case -1868521062: return getSubType(); 1055 case 1447404028: return getPublisher(); 1056 case 1470566394: return getPublicationDateElement(); 1057 case 616500542: return getPublicationStatusElement(); 1058 case 1522889671: return getCopyrightElement(); 1059 default: return super.makeProperty(hash, name); 1060 } 1061 1062 } 1063 1064 @Override 1065 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1066 switch (hash) { 1067 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1068 case -1868521062: /*subType*/ return new String[] {"CodeableConcept"}; 1069 case 1447404028: /*publisher*/ return new String[] {"Reference"}; 1070 case 1470566394: /*publicationDate*/ return new String[] {"dateTime"}; 1071 case 616500542: /*publicationStatus*/ return new String[] {"code"}; 1072 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 1073 default: return super.getTypesForProperty(hash, name); 1074 } 1075 1076 } 1077 1078 @Override 1079 public Base addChild(String name) throws FHIRException { 1080 if (name.equals("type")) { 1081 this.type = new CodeableConcept(); 1082 return this.type; 1083 } 1084 else if (name.equals("subType")) { 1085 this.subType = new CodeableConcept(); 1086 return this.subType; 1087 } 1088 else if (name.equals("publisher")) { 1089 this.publisher = new Reference(); 1090 return this.publisher; 1091 } 1092 else if (name.equals("publicationDate")) { 1093 throw new FHIRException("Cannot call addChild on a singleton property Contract.contentDefinition.publicationDate"); 1094 } 1095 else if (name.equals("publicationStatus")) { 1096 throw new FHIRException("Cannot call addChild on a singleton property Contract.contentDefinition.publicationStatus"); 1097 } 1098 else if (name.equals("copyright")) { 1099 throw new FHIRException("Cannot call addChild on a singleton property Contract.contentDefinition.copyright"); 1100 } 1101 else 1102 return super.addChild(name); 1103 } 1104 1105 public ContentDefinitionComponent copy() { 1106 ContentDefinitionComponent dst = new ContentDefinitionComponent(); 1107 copyValues(dst); 1108 return dst; 1109 } 1110 1111 public void copyValues(ContentDefinitionComponent dst) { 1112 super.copyValues(dst); 1113 dst.type = type == null ? null : type.copy(); 1114 dst.subType = subType == null ? null : subType.copy(); 1115 dst.publisher = publisher == null ? null : publisher.copy(); 1116 dst.publicationDate = publicationDate == null ? null : publicationDate.copy(); 1117 dst.publicationStatus = publicationStatus == null ? null : publicationStatus.copy(); 1118 dst.copyright = copyright == null ? null : copyright.copy(); 1119 } 1120 1121 @Override 1122 public boolean equalsDeep(Base other_) { 1123 if (!super.equalsDeep(other_)) 1124 return false; 1125 if (!(other_ instanceof ContentDefinitionComponent)) 1126 return false; 1127 ContentDefinitionComponent o = (ContentDefinitionComponent) other_; 1128 return compareDeep(type, o.type, true) && compareDeep(subType, o.subType, true) && compareDeep(publisher, o.publisher, true) 1129 && compareDeep(publicationDate, o.publicationDate, true) && compareDeep(publicationStatus, o.publicationStatus, true) 1130 && compareDeep(copyright, o.copyright, true); 1131 } 1132 1133 @Override 1134 public boolean equalsShallow(Base other_) { 1135 if (!super.equalsShallow(other_)) 1136 return false; 1137 if (!(other_ instanceof ContentDefinitionComponent)) 1138 return false; 1139 ContentDefinitionComponent o = (ContentDefinitionComponent) other_; 1140 return compareValues(publicationDate, o.publicationDate, true) && compareValues(publicationStatus, o.publicationStatus, true) 1141 && compareValues(copyright, o.copyright, true); 1142 } 1143 1144 public boolean isEmpty() { 1145 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, subType, publisher 1146 , publicationDate, publicationStatus, copyright); 1147 } 1148 1149 public String fhirType() { 1150 return "Contract.contentDefinition"; 1151 1152 } 1153 1154 } 1155 1156 @Block() 1157 public static class TermComponent extends BackboneElement implements IBaseBackboneElement { 1158 /** 1159 * Unique identifier for this particular Contract Provision. 1160 */ 1161 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 1162 @Description(shortDefinition="Contract Term Number", formalDefinition="Unique identifier for this particular Contract Provision." ) 1163 protected Identifier identifier; 1164 1165 /** 1166 * When this Contract Provision was issued. 1167 */ 1168 @Child(name = "issued", type = {DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=true) 1169 @Description(shortDefinition="Contract Term Issue Date Time", formalDefinition="When this Contract Provision was issued." ) 1170 protected DateTimeType issued; 1171 1172 /** 1173 * Relevant time or time-period when this Contract Provision is applicable. 1174 */ 1175 @Child(name = "applies", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=true) 1176 @Description(shortDefinition="Contract Term Effective Time", formalDefinition="Relevant time or time-period when this Contract Provision is applicable." ) 1177 protected Period applies; 1178 1179 /** 1180 * The entity that the term applies to. 1181 */ 1182 @Child(name = "topic", type = {CodeableConcept.class, Reference.class}, order=4, min=0, max=1, modifier=false, summary=false) 1183 @Description(shortDefinition="Term Concern", formalDefinition="The entity that the term applies to." ) 1184 protected DataType topic; 1185 1186 /** 1187 * A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time. 1188 */ 1189 @Child(name = "type", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) 1190 @Description(shortDefinition="Contract Term Type or Form", formalDefinition="A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time." ) 1191 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-term-type") 1192 protected CodeableConcept type; 1193 1194 /** 1195 * A specialized legal clause or condition based on overarching contract type. 1196 */ 1197 @Child(name = "subType", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) 1198 @Description(shortDefinition="Contract Term Type specific classification", formalDefinition="A specialized legal clause or condition based on overarching contract type." ) 1199 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-term-subtype") 1200 protected CodeableConcept subType; 1201 1202 /** 1203 * Statement of a provision in a policy or a contract. 1204 */ 1205 @Child(name = "text", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) 1206 @Description(shortDefinition="Term Statement", formalDefinition="Statement of a provision in a policy or a contract." ) 1207 protected StringType text; 1208 1209 /** 1210 * Security labels that protect the handling of information about the term and its elements, which may be specifically identified. 1211 */ 1212 @Child(name = "securityLabel", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1213 @Description(shortDefinition="Protection for the Term", formalDefinition="Security labels that protect the handling of information about the term and its elements, which may be specifically identified." ) 1214 protected List<SecurityLabelComponent> securityLabel; 1215 1216 /** 1217 * The matter of concern in the context of this provision of the agrement. 1218 */ 1219 @Child(name = "offer", type = {}, order=9, min=1, max=1, modifier=false, summary=false) 1220 @Description(shortDefinition="Context of the Contract term", formalDefinition="The matter of concern in the context of this provision of the agrement." ) 1221 protected ContractOfferComponent offer; 1222 1223 /** 1224 * Contract Term Asset List. 1225 */ 1226 @Child(name = "asset", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1227 @Description(shortDefinition="Contract Term Asset List", formalDefinition="Contract Term Asset List." ) 1228 protected List<ContractAssetComponent> asset; 1229 1230 /** 1231 * An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place. 1232 */ 1233 @Child(name = "action", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1234 @Description(shortDefinition="Entity being ascribed responsibility", formalDefinition="An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place." ) 1235 protected List<ActionComponent> action; 1236 1237 /** 1238 * Nested group of Contract Provisions. 1239 */ 1240 @Child(name = "group", type = {TermComponent.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1241 @Description(shortDefinition="Nested Contract Term Group", formalDefinition="Nested group of Contract Provisions." ) 1242 protected List<TermComponent> group; 1243 1244 private static final long serialVersionUID = -1647037544L; 1245 1246 /** 1247 * Constructor 1248 */ 1249 public TermComponent() { 1250 super(); 1251 } 1252 1253 /** 1254 * Constructor 1255 */ 1256 public TermComponent(ContractOfferComponent offer) { 1257 super(); 1258 this.setOffer(offer); 1259 } 1260 1261 /** 1262 * @return {@link #identifier} (Unique identifier for this particular Contract Provision.) 1263 */ 1264 public Identifier getIdentifier() { 1265 if (this.identifier == null) 1266 if (Configuration.errorOnAutoCreate()) 1267 throw new Error("Attempt to auto-create TermComponent.identifier"); 1268 else if (Configuration.doAutoCreate()) 1269 this.identifier = new Identifier(); // cc 1270 return this.identifier; 1271 } 1272 1273 public boolean hasIdentifier() { 1274 return this.identifier != null && !this.identifier.isEmpty(); 1275 } 1276 1277 /** 1278 * @param value {@link #identifier} (Unique identifier for this particular Contract Provision.) 1279 */ 1280 public TermComponent setIdentifier(Identifier value) { 1281 this.identifier = value; 1282 return this; 1283 } 1284 1285 /** 1286 * @return {@link #issued} (When this Contract Provision was issued.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 1287 */ 1288 public DateTimeType getIssuedElement() { 1289 if (this.issued == null) 1290 if (Configuration.errorOnAutoCreate()) 1291 throw new Error("Attempt to auto-create TermComponent.issued"); 1292 else if (Configuration.doAutoCreate()) 1293 this.issued = new DateTimeType(); // bb 1294 return this.issued; 1295 } 1296 1297 public boolean hasIssuedElement() { 1298 return this.issued != null && !this.issued.isEmpty(); 1299 } 1300 1301 public boolean hasIssued() { 1302 return this.issued != null && !this.issued.isEmpty(); 1303 } 1304 1305 /** 1306 * @param value {@link #issued} (When this Contract Provision was issued.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 1307 */ 1308 public TermComponent setIssuedElement(DateTimeType value) { 1309 this.issued = value; 1310 return this; 1311 } 1312 1313 /** 1314 * @return When this Contract Provision was issued. 1315 */ 1316 public Date getIssued() { 1317 return this.issued == null ? null : this.issued.getValue(); 1318 } 1319 1320 /** 1321 * @param value When this Contract Provision was issued. 1322 */ 1323 public TermComponent setIssued(Date value) { 1324 if (value == null) 1325 this.issued = null; 1326 else { 1327 if (this.issued == null) 1328 this.issued = new DateTimeType(); 1329 this.issued.setValue(value); 1330 } 1331 return this; 1332 } 1333 1334 /** 1335 * @return {@link #applies} (Relevant time or time-period when this Contract Provision is applicable.) 1336 */ 1337 public Period getApplies() { 1338 if (this.applies == null) 1339 if (Configuration.errorOnAutoCreate()) 1340 throw new Error("Attempt to auto-create TermComponent.applies"); 1341 else if (Configuration.doAutoCreate()) 1342 this.applies = new Period(); // cc 1343 return this.applies; 1344 } 1345 1346 public boolean hasApplies() { 1347 return this.applies != null && !this.applies.isEmpty(); 1348 } 1349 1350 /** 1351 * @param value {@link #applies} (Relevant time or time-period when this Contract Provision is applicable.) 1352 */ 1353 public TermComponent setApplies(Period value) { 1354 this.applies = value; 1355 return this; 1356 } 1357 1358 /** 1359 * @return {@link #topic} (The entity that the term applies to.) 1360 */ 1361 public DataType getTopic() { 1362 return this.topic; 1363 } 1364 1365 /** 1366 * @return {@link #topic} (The entity that the term applies to.) 1367 */ 1368 public CodeableConcept getTopicCodeableConcept() throws FHIRException { 1369 if (this.topic == null) 1370 this.topic = new CodeableConcept(); 1371 if (!(this.topic instanceof CodeableConcept)) 1372 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.topic.getClass().getName()+" was encountered"); 1373 return (CodeableConcept) this.topic; 1374 } 1375 1376 public boolean hasTopicCodeableConcept() { 1377 return this != null && this.topic instanceof CodeableConcept; 1378 } 1379 1380 /** 1381 * @return {@link #topic} (The entity that the term applies to.) 1382 */ 1383 public Reference getTopicReference() throws FHIRException { 1384 if (this.topic == null) 1385 this.topic = new Reference(); 1386 if (!(this.topic instanceof Reference)) 1387 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.topic.getClass().getName()+" was encountered"); 1388 return (Reference) this.topic; 1389 } 1390 1391 public boolean hasTopicReference() { 1392 return this != null && this.topic instanceof Reference; 1393 } 1394 1395 public boolean hasTopic() { 1396 return this.topic != null && !this.topic.isEmpty(); 1397 } 1398 1399 /** 1400 * @param value {@link #topic} (The entity that the term applies to.) 1401 */ 1402 public TermComponent setTopic(DataType value) { 1403 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 1404 throw new FHIRException("Not the right type for Contract.term.topic[x]: "+value.fhirType()); 1405 this.topic = value; 1406 return this; 1407 } 1408 1409 /** 1410 * @return {@link #type} (A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time.) 1411 */ 1412 public CodeableConcept getType() { 1413 if (this.type == null) 1414 if (Configuration.errorOnAutoCreate()) 1415 throw new Error("Attempt to auto-create TermComponent.type"); 1416 else if (Configuration.doAutoCreate()) 1417 this.type = new CodeableConcept(); // cc 1418 return this.type; 1419 } 1420 1421 public boolean hasType() { 1422 return this.type != null && !this.type.isEmpty(); 1423 } 1424 1425 /** 1426 * @param value {@link #type} (A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time.) 1427 */ 1428 public TermComponent setType(CodeableConcept value) { 1429 this.type = value; 1430 return this; 1431 } 1432 1433 /** 1434 * @return {@link #subType} (A specialized legal clause or condition based on overarching contract type.) 1435 */ 1436 public CodeableConcept getSubType() { 1437 if (this.subType == null) 1438 if (Configuration.errorOnAutoCreate()) 1439 throw new Error("Attempt to auto-create TermComponent.subType"); 1440 else if (Configuration.doAutoCreate()) 1441 this.subType = new CodeableConcept(); // cc 1442 return this.subType; 1443 } 1444 1445 public boolean hasSubType() { 1446 return this.subType != null && !this.subType.isEmpty(); 1447 } 1448 1449 /** 1450 * @param value {@link #subType} (A specialized legal clause or condition based on overarching contract type.) 1451 */ 1452 public TermComponent setSubType(CodeableConcept value) { 1453 this.subType = value; 1454 return this; 1455 } 1456 1457 /** 1458 * @return {@link #text} (Statement of a provision in a policy or a contract.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 1459 */ 1460 public StringType getTextElement() { 1461 if (this.text == null) 1462 if (Configuration.errorOnAutoCreate()) 1463 throw new Error("Attempt to auto-create TermComponent.text"); 1464 else if (Configuration.doAutoCreate()) 1465 this.text = new StringType(); // bb 1466 return this.text; 1467 } 1468 1469 public boolean hasTextElement() { 1470 return this.text != null && !this.text.isEmpty(); 1471 } 1472 1473 public boolean hasText() { 1474 return this.text != null && !this.text.isEmpty(); 1475 } 1476 1477 /** 1478 * @param value {@link #text} (Statement of a provision in a policy or a contract.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 1479 */ 1480 public TermComponent setTextElement(StringType value) { 1481 this.text = value; 1482 return this; 1483 } 1484 1485 /** 1486 * @return Statement of a provision in a policy or a contract. 1487 */ 1488 public String getText() { 1489 return this.text == null ? null : this.text.getValue(); 1490 } 1491 1492 /** 1493 * @param value Statement of a provision in a policy or a contract. 1494 */ 1495 public TermComponent setText(String value) { 1496 if (Utilities.noString(value)) 1497 this.text = null; 1498 else { 1499 if (this.text == null) 1500 this.text = new StringType(); 1501 this.text.setValue(value); 1502 } 1503 return this; 1504 } 1505 1506 /** 1507 * @return {@link #securityLabel} (Security labels that protect the handling of information about the term and its elements, which may be specifically identified.) 1508 */ 1509 public List<SecurityLabelComponent> getSecurityLabel() { 1510 if (this.securityLabel == null) 1511 this.securityLabel = new ArrayList<SecurityLabelComponent>(); 1512 return this.securityLabel; 1513 } 1514 1515 /** 1516 * @return Returns a reference to <code>this</code> for easy method chaining 1517 */ 1518 public TermComponent setSecurityLabel(List<SecurityLabelComponent> theSecurityLabel) { 1519 this.securityLabel = theSecurityLabel; 1520 return this; 1521 } 1522 1523 public boolean hasSecurityLabel() { 1524 if (this.securityLabel == null) 1525 return false; 1526 for (SecurityLabelComponent item : this.securityLabel) 1527 if (!item.isEmpty()) 1528 return true; 1529 return false; 1530 } 1531 1532 public SecurityLabelComponent addSecurityLabel() { //3 1533 SecurityLabelComponent t = new SecurityLabelComponent(); 1534 if (this.securityLabel == null) 1535 this.securityLabel = new ArrayList<SecurityLabelComponent>(); 1536 this.securityLabel.add(t); 1537 return t; 1538 } 1539 1540 public TermComponent addSecurityLabel(SecurityLabelComponent t) { //3 1541 if (t == null) 1542 return this; 1543 if (this.securityLabel == null) 1544 this.securityLabel = new ArrayList<SecurityLabelComponent>(); 1545 this.securityLabel.add(t); 1546 return this; 1547 } 1548 1549 /** 1550 * @return The first repetition of repeating field {@link #securityLabel}, creating it if it does not already exist {3} 1551 */ 1552 public SecurityLabelComponent getSecurityLabelFirstRep() { 1553 if (getSecurityLabel().isEmpty()) { 1554 addSecurityLabel(); 1555 } 1556 return getSecurityLabel().get(0); 1557 } 1558 1559 /** 1560 * @return {@link #offer} (The matter of concern in the context of this provision of the agrement.) 1561 */ 1562 public ContractOfferComponent getOffer() { 1563 if (this.offer == null) 1564 if (Configuration.errorOnAutoCreate()) 1565 throw new Error("Attempt to auto-create TermComponent.offer"); 1566 else if (Configuration.doAutoCreate()) 1567 this.offer = new ContractOfferComponent(); // cc 1568 return this.offer; 1569 } 1570 1571 public boolean hasOffer() { 1572 return this.offer != null && !this.offer.isEmpty(); 1573 } 1574 1575 /** 1576 * @param value {@link #offer} (The matter of concern in the context of this provision of the agrement.) 1577 */ 1578 public TermComponent setOffer(ContractOfferComponent value) { 1579 this.offer = value; 1580 return this; 1581 } 1582 1583 /** 1584 * @return {@link #asset} (Contract Term Asset List.) 1585 */ 1586 public List<ContractAssetComponent> getAsset() { 1587 if (this.asset == null) 1588 this.asset = new ArrayList<ContractAssetComponent>(); 1589 return this.asset; 1590 } 1591 1592 /** 1593 * @return Returns a reference to <code>this</code> for easy method chaining 1594 */ 1595 public TermComponent setAsset(List<ContractAssetComponent> theAsset) { 1596 this.asset = theAsset; 1597 return this; 1598 } 1599 1600 public boolean hasAsset() { 1601 if (this.asset == null) 1602 return false; 1603 for (ContractAssetComponent item : this.asset) 1604 if (!item.isEmpty()) 1605 return true; 1606 return false; 1607 } 1608 1609 public ContractAssetComponent addAsset() { //3 1610 ContractAssetComponent t = new ContractAssetComponent(); 1611 if (this.asset == null) 1612 this.asset = new ArrayList<ContractAssetComponent>(); 1613 this.asset.add(t); 1614 return t; 1615 } 1616 1617 public TermComponent addAsset(ContractAssetComponent t) { //3 1618 if (t == null) 1619 return this; 1620 if (this.asset == null) 1621 this.asset = new ArrayList<ContractAssetComponent>(); 1622 this.asset.add(t); 1623 return this; 1624 } 1625 1626 /** 1627 * @return The first repetition of repeating field {@link #asset}, creating it if it does not already exist {3} 1628 */ 1629 public ContractAssetComponent getAssetFirstRep() { 1630 if (getAsset().isEmpty()) { 1631 addAsset(); 1632 } 1633 return getAsset().get(0); 1634 } 1635 1636 /** 1637 * @return {@link #action} (An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.) 1638 */ 1639 public List<ActionComponent> getAction() { 1640 if (this.action == null) 1641 this.action = new ArrayList<ActionComponent>(); 1642 return this.action; 1643 } 1644 1645 /** 1646 * @return Returns a reference to <code>this</code> for easy method chaining 1647 */ 1648 public TermComponent setAction(List<ActionComponent> theAction) { 1649 this.action = theAction; 1650 return this; 1651 } 1652 1653 public boolean hasAction() { 1654 if (this.action == null) 1655 return false; 1656 for (ActionComponent item : this.action) 1657 if (!item.isEmpty()) 1658 return true; 1659 return false; 1660 } 1661 1662 public ActionComponent addAction() { //3 1663 ActionComponent t = new ActionComponent(); 1664 if (this.action == null) 1665 this.action = new ArrayList<ActionComponent>(); 1666 this.action.add(t); 1667 return t; 1668 } 1669 1670 public TermComponent addAction(ActionComponent t) { //3 1671 if (t == null) 1672 return this; 1673 if (this.action == null) 1674 this.action = new ArrayList<ActionComponent>(); 1675 this.action.add(t); 1676 return this; 1677 } 1678 1679 /** 1680 * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} 1681 */ 1682 public ActionComponent getActionFirstRep() { 1683 if (getAction().isEmpty()) { 1684 addAction(); 1685 } 1686 return getAction().get(0); 1687 } 1688 1689 /** 1690 * @return {@link #group} (Nested group of Contract Provisions.) 1691 */ 1692 public List<TermComponent> getGroup() { 1693 if (this.group == null) 1694 this.group = new ArrayList<TermComponent>(); 1695 return this.group; 1696 } 1697 1698 /** 1699 * @return Returns a reference to <code>this</code> for easy method chaining 1700 */ 1701 public TermComponent setGroup(List<TermComponent> theGroup) { 1702 this.group = theGroup; 1703 return this; 1704 } 1705 1706 public boolean hasGroup() { 1707 if (this.group == null) 1708 return false; 1709 for (TermComponent item : this.group) 1710 if (!item.isEmpty()) 1711 return true; 1712 return false; 1713 } 1714 1715 public TermComponent addGroup() { //3 1716 TermComponent t = new TermComponent(); 1717 if (this.group == null) 1718 this.group = new ArrayList<TermComponent>(); 1719 this.group.add(t); 1720 return t; 1721 } 1722 1723 public TermComponent addGroup(TermComponent t) { //3 1724 if (t == null) 1725 return this; 1726 if (this.group == null) 1727 this.group = new ArrayList<TermComponent>(); 1728 this.group.add(t); 1729 return this; 1730 } 1731 1732 /** 1733 * @return The first repetition of repeating field {@link #group}, creating it if it does not already exist {3} 1734 */ 1735 public TermComponent getGroupFirstRep() { 1736 if (getGroup().isEmpty()) { 1737 addGroup(); 1738 } 1739 return getGroup().get(0); 1740 } 1741 1742 protected void listChildren(List<Property> children) { 1743 super.listChildren(children); 1744 children.add(new Property("identifier", "Identifier", "Unique identifier for this particular Contract Provision.", 0, 1, identifier)); 1745 children.add(new Property("issued", "dateTime", "When this Contract Provision was issued.", 0, 1, issued)); 1746 children.add(new Property("applies", "Period", "Relevant time or time-period when this Contract Provision is applicable.", 0, 1, applies)); 1747 children.add(new Property("topic[x]", "CodeableConcept|Reference(Any)", "The entity that the term applies to.", 0, 1, topic)); 1748 children.add(new Property("type", "CodeableConcept", "A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time.", 0, 1, type)); 1749 children.add(new Property("subType", "CodeableConcept", "A specialized legal clause or condition based on overarching contract type.", 0, 1, subType)); 1750 children.add(new Property("text", "string", "Statement of a provision in a policy or a contract.", 0, 1, text)); 1751 children.add(new Property("securityLabel", "", "Security labels that protect the handling of information about the term and its elements, which may be specifically identified.", 0, java.lang.Integer.MAX_VALUE, securityLabel)); 1752 children.add(new Property("offer", "", "The matter of concern in the context of this provision of the agrement.", 0, 1, offer)); 1753 children.add(new Property("asset", "", "Contract Term Asset List.", 0, java.lang.Integer.MAX_VALUE, asset)); 1754 children.add(new Property("action", "", "An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.", 0, java.lang.Integer.MAX_VALUE, action)); 1755 children.add(new Property("group", "@Contract.term", "Nested group of Contract Provisions.", 0, java.lang.Integer.MAX_VALUE, group)); 1756 } 1757 1758 @Override 1759 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1760 switch (_hash) { 1761 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for this particular Contract Provision.", 0, 1, identifier); 1762 case -1179159893: /*issued*/ return new Property("issued", "dateTime", "When this Contract Provision was issued.", 0, 1, issued); 1763 case -793235316: /*applies*/ return new Property("applies", "Period", "Relevant time or time-period when this Contract Provision is applicable.", 0, 1, applies); 1764 case -957295375: /*topic[x]*/ return new Property("topic[x]", "CodeableConcept|Reference(Any)", "The entity that the term applies to.", 0, 1, topic); 1765 case 110546223: /*topic*/ return new Property("topic[x]", "CodeableConcept|Reference(Any)", "The entity that the term applies to.", 0, 1, topic); 1766 case 777778802: /*topicCodeableConcept*/ return new Property("topic[x]", "CodeableConcept", "The entity that the term applies to.", 0, 1, topic); 1767 case -343345444: /*topicReference*/ return new Property("topic[x]", "Reference(Any)", "The entity that the term applies to.", 0, 1, topic); 1768 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A legal clause or condition contained within a contract that requires one or both parties to perform a particular requirement by some specified time or prevents one or both parties from performing a particular requirement by some specified time.", 0, 1, type); 1769 case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "A specialized legal clause or condition based on overarching contract type.", 0, 1, subType); 1770 case 3556653: /*text*/ return new Property("text", "string", "Statement of a provision in a policy or a contract.", 0, 1, text); 1771 case -722296940: /*securityLabel*/ return new Property("securityLabel", "", "Security labels that protect the handling of information about the term and its elements, which may be specifically identified.", 0, java.lang.Integer.MAX_VALUE, securityLabel); 1772 case 105650780: /*offer*/ return new Property("offer", "", "The matter of concern in the context of this provision of the agrement.", 0, 1, offer); 1773 case 93121264: /*asset*/ return new Property("asset", "", "Contract Term Asset List.", 0, java.lang.Integer.MAX_VALUE, asset); 1774 case -1422950858: /*action*/ return new Property("action", "", "An actor taking a role in an activity for which it can be assigned some degree of responsibility for the activity taking place.", 0, java.lang.Integer.MAX_VALUE, action); 1775 case 98629247: /*group*/ return new Property("group", "@Contract.term", "Nested group of Contract Provisions.", 0, java.lang.Integer.MAX_VALUE, group); 1776 default: return super.getNamedProperty(_hash, _name, _checkValid); 1777 } 1778 1779 } 1780 1781 @Override 1782 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1783 switch (hash) { 1784 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 1785 case -1179159893: /*issued*/ return this.issued == null ? new Base[0] : new Base[] {this.issued}; // DateTimeType 1786 case -793235316: /*applies*/ return this.applies == null ? new Base[0] : new Base[] {this.applies}; // Period 1787 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : new Base[] {this.topic}; // DataType 1788 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1789 case -1868521062: /*subType*/ return this.subType == null ? new Base[0] : new Base[] {this.subType}; // CodeableConcept 1790 case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType 1791 case -722296940: /*securityLabel*/ return this.securityLabel == null ? new Base[0] : this.securityLabel.toArray(new Base[this.securityLabel.size()]); // SecurityLabelComponent 1792 case 105650780: /*offer*/ return this.offer == null ? new Base[0] : new Base[] {this.offer}; // ContractOfferComponent 1793 case 93121264: /*asset*/ return this.asset == null ? new Base[0] : this.asset.toArray(new Base[this.asset.size()]); // ContractAssetComponent 1794 case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // ActionComponent 1795 case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // TermComponent 1796 default: return super.getProperty(hash, name, checkValid); 1797 } 1798 1799 } 1800 1801 @Override 1802 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1803 switch (hash) { 1804 case -1618432855: // identifier 1805 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 1806 return value; 1807 case -1179159893: // issued 1808 this.issued = TypeConvertor.castToDateTime(value); // DateTimeType 1809 return value; 1810 case -793235316: // applies 1811 this.applies = TypeConvertor.castToPeriod(value); // Period 1812 return value; 1813 case 110546223: // topic 1814 this.topic = TypeConvertor.castToType(value); // DataType 1815 return value; 1816 case 3575610: // type 1817 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1818 return value; 1819 case -1868521062: // subType 1820 this.subType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1821 return value; 1822 case 3556653: // text 1823 this.text = TypeConvertor.castToString(value); // StringType 1824 return value; 1825 case -722296940: // securityLabel 1826 this.getSecurityLabel().add((SecurityLabelComponent) value); // SecurityLabelComponent 1827 return value; 1828 case 105650780: // offer 1829 this.offer = (ContractOfferComponent) value; // ContractOfferComponent 1830 return value; 1831 case 93121264: // asset 1832 this.getAsset().add((ContractAssetComponent) value); // ContractAssetComponent 1833 return value; 1834 case -1422950858: // action 1835 this.getAction().add((ActionComponent) value); // ActionComponent 1836 return value; 1837 case 98629247: // group 1838 this.getGroup().add((TermComponent) value); // TermComponent 1839 return value; 1840 default: return super.setProperty(hash, name, value); 1841 } 1842 1843 } 1844 1845 @Override 1846 public Base setProperty(String name, Base value) throws FHIRException { 1847 if (name.equals("identifier")) { 1848 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 1849 } else if (name.equals("issued")) { 1850 this.issued = TypeConvertor.castToDateTime(value); // DateTimeType 1851 } else if (name.equals("applies")) { 1852 this.applies = TypeConvertor.castToPeriod(value); // Period 1853 } else if (name.equals("topic[x]")) { 1854 this.topic = TypeConvertor.castToType(value); // DataType 1855 } else if (name.equals("type")) { 1856 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1857 } else if (name.equals("subType")) { 1858 this.subType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 1859 } else if (name.equals("text")) { 1860 this.text = TypeConvertor.castToString(value); // StringType 1861 } else if (name.equals("securityLabel")) { 1862 this.getSecurityLabel().add((SecurityLabelComponent) value); 1863 } else if (name.equals("offer")) { 1864 this.offer = (ContractOfferComponent) value; // ContractOfferComponent 1865 } else if (name.equals("asset")) { 1866 this.getAsset().add((ContractAssetComponent) value); 1867 } else if (name.equals("action")) { 1868 this.getAction().add((ActionComponent) value); 1869 } else if (name.equals("group")) { 1870 this.getGroup().add((TermComponent) value); 1871 } else 1872 return super.setProperty(name, value); 1873 return value; 1874 } 1875 1876 @Override 1877 public void removeChild(String name, Base value) throws FHIRException { 1878 if (name.equals("identifier")) { 1879 this.identifier = null; 1880 } else if (name.equals("issued")) { 1881 this.issued = null; 1882 } else if (name.equals("applies")) { 1883 this.applies = null; 1884 } else if (name.equals("topic[x]")) { 1885 this.topic = null; 1886 } else if (name.equals("type")) { 1887 this.type = null; 1888 } else if (name.equals("subType")) { 1889 this.subType = null; 1890 } else if (name.equals("text")) { 1891 this.text = null; 1892 } else if (name.equals("securityLabel")) { 1893 this.getSecurityLabel().remove((SecurityLabelComponent) value); 1894 } else if (name.equals("offer")) { 1895 this.offer = (ContractOfferComponent) value; // ContractOfferComponent 1896 } else if (name.equals("asset")) { 1897 this.getAsset().remove((ContractAssetComponent) value); 1898 } else if (name.equals("action")) { 1899 this.getAction().remove((ActionComponent) value); 1900 } else if (name.equals("group")) { 1901 this.getGroup().remove((TermComponent) value); 1902 } else 1903 super.removeChild(name, value); 1904 1905 } 1906 1907 @Override 1908 public Base makeProperty(int hash, String name) throws FHIRException { 1909 switch (hash) { 1910 case -1618432855: return getIdentifier(); 1911 case -1179159893: return getIssuedElement(); 1912 case -793235316: return getApplies(); 1913 case -957295375: return getTopic(); 1914 case 110546223: return getTopic(); 1915 case 3575610: return getType(); 1916 case -1868521062: return getSubType(); 1917 case 3556653: return getTextElement(); 1918 case -722296940: return addSecurityLabel(); 1919 case 105650780: return getOffer(); 1920 case 93121264: return addAsset(); 1921 case -1422950858: return addAction(); 1922 case 98629247: return addGroup(); 1923 default: return super.makeProperty(hash, name); 1924 } 1925 1926 } 1927 1928 @Override 1929 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1930 switch (hash) { 1931 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1932 case -1179159893: /*issued*/ return new String[] {"dateTime"}; 1933 case -793235316: /*applies*/ return new String[] {"Period"}; 1934 case 110546223: /*topic*/ return new String[] {"CodeableConcept", "Reference"}; 1935 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1936 case -1868521062: /*subType*/ return new String[] {"CodeableConcept"}; 1937 case 3556653: /*text*/ return new String[] {"string"}; 1938 case -722296940: /*securityLabel*/ return new String[] {}; 1939 case 105650780: /*offer*/ return new String[] {}; 1940 case 93121264: /*asset*/ return new String[] {}; 1941 case -1422950858: /*action*/ return new String[] {}; 1942 case 98629247: /*group*/ return new String[] {"@Contract.term"}; 1943 default: return super.getTypesForProperty(hash, name); 1944 } 1945 1946 } 1947 1948 @Override 1949 public Base addChild(String name) throws FHIRException { 1950 if (name.equals("identifier")) { 1951 this.identifier = new Identifier(); 1952 return this.identifier; 1953 } 1954 else if (name.equals("issued")) { 1955 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.issued"); 1956 } 1957 else if (name.equals("applies")) { 1958 this.applies = new Period(); 1959 return this.applies; 1960 } 1961 else if (name.equals("topicCodeableConcept")) { 1962 this.topic = new CodeableConcept(); 1963 return this.topic; 1964 } 1965 else if (name.equals("topicReference")) { 1966 this.topic = new Reference(); 1967 return this.topic; 1968 } 1969 else if (name.equals("type")) { 1970 this.type = new CodeableConcept(); 1971 return this.type; 1972 } 1973 else if (name.equals("subType")) { 1974 this.subType = new CodeableConcept(); 1975 return this.subType; 1976 } 1977 else if (name.equals("text")) { 1978 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.text"); 1979 } 1980 else if (name.equals("securityLabel")) { 1981 return addSecurityLabel(); 1982 } 1983 else if (name.equals("offer")) { 1984 this.offer = new ContractOfferComponent(); 1985 return this.offer; 1986 } 1987 else if (name.equals("asset")) { 1988 return addAsset(); 1989 } 1990 else if (name.equals("action")) { 1991 return addAction(); 1992 } 1993 else if (name.equals("group")) { 1994 return addGroup(); 1995 } 1996 else 1997 return super.addChild(name); 1998 } 1999 2000 public TermComponent copy() { 2001 TermComponent dst = new TermComponent(); 2002 copyValues(dst); 2003 return dst; 2004 } 2005 2006 public void copyValues(TermComponent dst) { 2007 super.copyValues(dst); 2008 dst.identifier = identifier == null ? null : identifier.copy(); 2009 dst.issued = issued == null ? null : issued.copy(); 2010 dst.applies = applies == null ? null : applies.copy(); 2011 dst.topic = topic == null ? null : topic.copy(); 2012 dst.type = type == null ? null : type.copy(); 2013 dst.subType = subType == null ? null : subType.copy(); 2014 dst.text = text == null ? null : text.copy(); 2015 if (securityLabel != null) { 2016 dst.securityLabel = new ArrayList<SecurityLabelComponent>(); 2017 for (SecurityLabelComponent i : securityLabel) 2018 dst.securityLabel.add(i.copy()); 2019 }; 2020 dst.offer = offer == null ? null : offer.copy(); 2021 if (asset != null) { 2022 dst.asset = new ArrayList<ContractAssetComponent>(); 2023 for (ContractAssetComponent i : asset) 2024 dst.asset.add(i.copy()); 2025 }; 2026 if (action != null) { 2027 dst.action = new ArrayList<ActionComponent>(); 2028 for (ActionComponent i : action) 2029 dst.action.add(i.copy()); 2030 }; 2031 if (group != null) { 2032 dst.group = new ArrayList<TermComponent>(); 2033 for (TermComponent i : group) 2034 dst.group.add(i.copy()); 2035 }; 2036 } 2037 2038 @Override 2039 public boolean equalsDeep(Base other_) { 2040 if (!super.equalsDeep(other_)) 2041 return false; 2042 if (!(other_ instanceof TermComponent)) 2043 return false; 2044 TermComponent o = (TermComponent) other_; 2045 return compareDeep(identifier, o.identifier, true) && compareDeep(issued, o.issued, true) && compareDeep(applies, o.applies, true) 2046 && compareDeep(topic, o.topic, true) && compareDeep(type, o.type, true) && compareDeep(subType, o.subType, true) 2047 && compareDeep(text, o.text, true) && compareDeep(securityLabel, o.securityLabel, true) && compareDeep(offer, o.offer, true) 2048 && compareDeep(asset, o.asset, true) && compareDeep(action, o.action, true) && compareDeep(group, o.group, true) 2049 ; 2050 } 2051 2052 @Override 2053 public boolean equalsShallow(Base other_) { 2054 if (!super.equalsShallow(other_)) 2055 return false; 2056 if (!(other_ instanceof TermComponent)) 2057 return false; 2058 TermComponent o = (TermComponent) other_; 2059 return compareValues(issued, o.issued, true) && compareValues(text, o.text, true); 2060 } 2061 2062 public boolean isEmpty() { 2063 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, issued, applies 2064 , topic, type, subType, text, securityLabel, offer, asset, action, group); 2065 } 2066 2067 public String fhirType() { 2068 return "Contract.term"; 2069 2070 } 2071 2072 } 2073 2074 @Block() 2075 public static class SecurityLabelComponent extends BackboneElement implements IBaseBackboneElement { 2076 /** 2077 * Number used to link this term or term element to the applicable Security Label. 2078 */ 2079 @Child(name = "number", type = {UnsignedIntType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2080 @Description(shortDefinition="Link to Security Labels", formalDefinition="Number used to link this term or term element to the applicable Security Label." ) 2081 protected List<UnsignedIntType> number; 2082 2083 /** 2084 * Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements. 2085 */ 2086 @Child(name = "classification", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) 2087 @Description(shortDefinition="Confidentiality Protection", formalDefinition="Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements." ) 2088 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-security-classification") 2089 protected Coding classification; 2090 2091 /** 2092 * Security label privacy tag that specifies the applicable privacy and security policies governing this term and/or term elements. 2093 */ 2094 @Child(name = "category", type = {Coding.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2095 @Description(shortDefinition="Applicable Policy", formalDefinition="Security label privacy tag that specifies the applicable privacy and security policies governing this term and/or term elements." ) 2096 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-security-category") 2097 protected List<Coding> category; 2098 2099 /** 2100 * Security label privacy tag that specifies the manner in which term and/or term elements are to be protected. 2101 */ 2102 @Child(name = "control", type = {Coding.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2103 @Description(shortDefinition="Handling Instructions", formalDefinition="Security label privacy tag that specifies the manner in which term and/or term elements are to be protected." ) 2104 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-security-control") 2105 protected List<Coding> control; 2106 2107 private static final long serialVersionUID = 788281758L; 2108 2109 /** 2110 * Constructor 2111 */ 2112 public SecurityLabelComponent() { 2113 super(); 2114 } 2115 2116 /** 2117 * Constructor 2118 */ 2119 public SecurityLabelComponent(Coding classification) { 2120 super(); 2121 this.setClassification(classification); 2122 } 2123 2124 /** 2125 * @return {@link #number} (Number used to link this term or term element to the applicable Security Label.) 2126 */ 2127 public List<UnsignedIntType> getNumber() { 2128 if (this.number == null) 2129 this.number = new ArrayList<UnsignedIntType>(); 2130 return this.number; 2131 } 2132 2133 /** 2134 * @return Returns a reference to <code>this</code> for easy method chaining 2135 */ 2136 public SecurityLabelComponent setNumber(List<UnsignedIntType> theNumber) { 2137 this.number = theNumber; 2138 return this; 2139 } 2140 2141 public boolean hasNumber() { 2142 if (this.number == null) 2143 return false; 2144 for (UnsignedIntType item : this.number) 2145 if (!item.isEmpty()) 2146 return true; 2147 return false; 2148 } 2149 2150 /** 2151 * @return {@link #number} (Number used to link this term or term element to the applicable Security Label.) 2152 */ 2153 public UnsignedIntType addNumberElement() {//2 2154 UnsignedIntType t = new UnsignedIntType(); 2155 if (this.number == null) 2156 this.number = new ArrayList<UnsignedIntType>(); 2157 this.number.add(t); 2158 return t; 2159 } 2160 2161 /** 2162 * @param value {@link #number} (Number used to link this term or term element to the applicable Security Label.) 2163 */ 2164 public SecurityLabelComponent addNumber(int value) { //1 2165 UnsignedIntType t = new UnsignedIntType(); 2166 t.setValue(value); 2167 if (this.number == null) 2168 this.number = new ArrayList<UnsignedIntType>(); 2169 this.number.add(t); 2170 return this; 2171 } 2172 2173 /** 2174 * @param value {@link #number} (Number used to link this term or term element to the applicable Security Label.) 2175 */ 2176 public boolean hasNumber(int value) { 2177 if (this.number == null) 2178 return false; 2179 for (UnsignedIntType v : this.number) 2180 if (v.getValue().equals(value)) // unsignedInt 2181 return true; 2182 return false; 2183 } 2184 2185 /** 2186 * @return {@link #classification} (Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements.) 2187 */ 2188 public Coding getClassification() { 2189 if (this.classification == null) 2190 if (Configuration.errorOnAutoCreate()) 2191 throw new Error("Attempt to auto-create SecurityLabelComponent.classification"); 2192 else if (Configuration.doAutoCreate()) 2193 this.classification = new Coding(); // cc 2194 return this.classification; 2195 } 2196 2197 public boolean hasClassification() { 2198 return this.classification != null && !this.classification.isEmpty(); 2199 } 2200 2201 /** 2202 * @param value {@link #classification} (Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements.) 2203 */ 2204 public SecurityLabelComponent setClassification(Coding value) { 2205 this.classification = value; 2206 return this; 2207 } 2208 2209 /** 2210 * @return {@link #category} (Security label privacy tag that specifies the applicable privacy and security policies governing this term and/or term elements.) 2211 */ 2212 public List<Coding> getCategory() { 2213 if (this.category == null) 2214 this.category = new ArrayList<Coding>(); 2215 return this.category; 2216 } 2217 2218 /** 2219 * @return Returns a reference to <code>this</code> for easy method chaining 2220 */ 2221 public SecurityLabelComponent setCategory(List<Coding> theCategory) { 2222 this.category = theCategory; 2223 return this; 2224 } 2225 2226 public boolean hasCategory() { 2227 if (this.category == null) 2228 return false; 2229 for (Coding item : this.category) 2230 if (!item.isEmpty()) 2231 return true; 2232 return false; 2233 } 2234 2235 public Coding addCategory() { //3 2236 Coding t = new Coding(); 2237 if (this.category == null) 2238 this.category = new ArrayList<Coding>(); 2239 this.category.add(t); 2240 return t; 2241 } 2242 2243 public SecurityLabelComponent addCategory(Coding t) { //3 2244 if (t == null) 2245 return this; 2246 if (this.category == null) 2247 this.category = new ArrayList<Coding>(); 2248 this.category.add(t); 2249 return this; 2250 } 2251 2252 /** 2253 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 2254 */ 2255 public Coding getCategoryFirstRep() { 2256 if (getCategory().isEmpty()) { 2257 addCategory(); 2258 } 2259 return getCategory().get(0); 2260 } 2261 2262 /** 2263 * @return {@link #control} (Security label privacy tag that specifies the manner in which term and/or term elements are to be protected.) 2264 */ 2265 public List<Coding> getControl() { 2266 if (this.control == null) 2267 this.control = new ArrayList<Coding>(); 2268 return this.control; 2269 } 2270 2271 /** 2272 * @return Returns a reference to <code>this</code> for easy method chaining 2273 */ 2274 public SecurityLabelComponent setControl(List<Coding> theControl) { 2275 this.control = theControl; 2276 return this; 2277 } 2278 2279 public boolean hasControl() { 2280 if (this.control == null) 2281 return false; 2282 for (Coding item : this.control) 2283 if (!item.isEmpty()) 2284 return true; 2285 return false; 2286 } 2287 2288 public Coding addControl() { //3 2289 Coding t = new Coding(); 2290 if (this.control == null) 2291 this.control = new ArrayList<Coding>(); 2292 this.control.add(t); 2293 return t; 2294 } 2295 2296 public SecurityLabelComponent addControl(Coding t) { //3 2297 if (t == null) 2298 return this; 2299 if (this.control == null) 2300 this.control = new ArrayList<Coding>(); 2301 this.control.add(t); 2302 return this; 2303 } 2304 2305 /** 2306 * @return The first repetition of repeating field {@link #control}, creating it if it does not already exist {3} 2307 */ 2308 public Coding getControlFirstRep() { 2309 if (getControl().isEmpty()) { 2310 addControl(); 2311 } 2312 return getControl().get(0); 2313 } 2314 2315 protected void listChildren(List<Property> children) { 2316 super.listChildren(children); 2317 children.add(new Property("number", "unsignedInt", "Number used to link this term or term element to the applicable Security Label.", 0, java.lang.Integer.MAX_VALUE, number)); 2318 children.add(new Property("classification", "Coding", "Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements.", 0, 1, classification)); 2319 children.add(new Property("category", "Coding", "Security label privacy tag that specifies the applicable privacy and security policies governing this term and/or term elements.", 0, java.lang.Integer.MAX_VALUE, category)); 2320 children.add(new Property("control", "Coding", "Security label privacy tag that specifies the manner in which term and/or term elements are to be protected.", 0, java.lang.Integer.MAX_VALUE, control)); 2321 } 2322 2323 @Override 2324 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2325 switch (_hash) { 2326 case -1034364087: /*number*/ return new Property("number", "unsignedInt", "Number used to link this term or term element to the applicable Security Label.", 0, java.lang.Integer.MAX_VALUE, number); 2327 case 382350310: /*classification*/ return new Property("classification", "Coding", "Security label privacy tag that specifies the level of confidentiality protection required for this term and/or term elements.", 0, 1, classification); 2328 case 50511102: /*category*/ return new Property("category", "Coding", "Security label privacy tag that specifies the applicable privacy and security policies governing this term and/or term elements.", 0, java.lang.Integer.MAX_VALUE, category); 2329 case 951543133: /*control*/ return new Property("control", "Coding", "Security label privacy tag that specifies the manner in which term and/or term elements are to be protected.", 0, java.lang.Integer.MAX_VALUE, control); 2330 default: return super.getNamedProperty(_hash, _name, _checkValid); 2331 } 2332 2333 } 2334 2335 @Override 2336 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2337 switch (hash) { 2338 case -1034364087: /*number*/ return this.number == null ? new Base[0] : this.number.toArray(new Base[this.number.size()]); // UnsignedIntType 2339 case 382350310: /*classification*/ return this.classification == null ? new Base[0] : new Base[] {this.classification}; // Coding 2340 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // Coding 2341 case 951543133: /*control*/ return this.control == null ? new Base[0] : this.control.toArray(new Base[this.control.size()]); // Coding 2342 default: return super.getProperty(hash, name, checkValid); 2343 } 2344 2345 } 2346 2347 @Override 2348 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2349 switch (hash) { 2350 case -1034364087: // number 2351 this.getNumber().add(TypeConvertor.castToUnsignedInt(value)); // UnsignedIntType 2352 return value; 2353 case 382350310: // classification 2354 this.classification = TypeConvertor.castToCoding(value); // Coding 2355 return value; 2356 case 50511102: // category 2357 this.getCategory().add(TypeConvertor.castToCoding(value)); // Coding 2358 return value; 2359 case 951543133: // control 2360 this.getControl().add(TypeConvertor.castToCoding(value)); // Coding 2361 return value; 2362 default: return super.setProperty(hash, name, value); 2363 } 2364 2365 } 2366 2367 @Override 2368 public Base setProperty(String name, Base value) throws FHIRException { 2369 if (name.equals("number")) { 2370 this.getNumber().add(TypeConvertor.castToUnsignedInt(value)); 2371 } else if (name.equals("classification")) { 2372 this.classification = TypeConvertor.castToCoding(value); // Coding 2373 } else if (name.equals("category")) { 2374 this.getCategory().add(TypeConvertor.castToCoding(value)); 2375 } else if (name.equals("control")) { 2376 this.getControl().add(TypeConvertor.castToCoding(value)); 2377 } else 2378 return super.setProperty(name, value); 2379 return value; 2380 } 2381 2382 @Override 2383 public void removeChild(String name, Base value) throws FHIRException { 2384 if (name.equals("number")) { 2385 this.getNumber().remove(value); 2386 } else if (name.equals("classification")) { 2387 this.classification = null; 2388 } else if (name.equals("category")) { 2389 this.getCategory().remove(value); 2390 } else if (name.equals("control")) { 2391 this.getControl().remove(value); 2392 } else 2393 super.removeChild(name, value); 2394 2395 } 2396 2397 @Override 2398 public Base makeProperty(int hash, String name) throws FHIRException { 2399 switch (hash) { 2400 case -1034364087: return addNumberElement(); 2401 case 382350310: return getClassification(); 2402 case 50511102: return addCategory(); 2403 case 951543133: return addControl(); 2404 default: return super.makeProperty(hash, name); 2405 } 2406 2407 } 2408 2409 @Override 2410 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2411 switch (hash) { 2412 case -1034364087: /*number*/ return new String[] {"unsignedInt"}; 2413 case 382350310: /*classification*/ return new String[] {"Coding"}; 2414 case 50511102: /*category*/ return new String[] {"Coding"}; 2415 case 951543133: /*control*/ return new String[] {"Coding"}; 2416 default: return super.getTypesForProperty(hash, name); 2417 } 2418 2419 } 2420 2421 @Override 2422 public Base addChild(String name) throws FHIRException { 2423 if (name.equals("number")) { 2424 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.securityLabel.number"); 2425 } 2426 else if (name.equals("classification")) { 2427 this.classification = new Coding(); 2428 return this.classification; 2429 } 2430 else if (name.equals("category")) { 2431 return addCategory(); 2432 } 2433 else if (name.equals("control")) { 2434 return addControl(); 2435 } 2436 else 2437 return super.addChild(name); 2438 } 2439 2440 public SecurityLabelComponent copy() { 2441 SecurityLabelComponent dst = new SecurityLabelComponent(); 2442 copyValues(dst); 2443 return dst; 2444 } 2445 2446 public void copyValues(SecurityLabelComponent dst) { 2447 super.copyValues(dst); 2448 if (number != null) { 2449 dst.number = new ArrayList<UnsignedIntType>(); 2450 for (UnsignedIntType i : number) 2451 dst.number.add(i.copy()); 2452 }; 2453 dst.classification = classification == null ? null : classification.copy(); 2454 if (category != null) { 2455 dst.category = new ArrayList<Coding>(); 2456 for (Coding i : category) 2457 dst.category.add(i.copy()); 2458 }; 2459 if (control != null) { 2460 dst.control = new ArrayList<Coding>(); 2461 for (Coding i : control) 2462 dst.control.add(i.copy()); 2463 }; 2464 } 2465 2466 @Override 2467 public boolean equalsDeep(Base other_) { 2468 if (!super.equalsDeep(other_)) 2469 return false; 2470 if (!(other_ instanceof SecurityLabelComponent)) 2471 return false; 2472 SecurityLabelComponent o = (SecurityLabelComponent) other_; 2473 return compareDeep(number, o.number, true) && compareDeep(classification, o.classification, true) 2474 && compareDeep(category, o.category, true) && compareDeep(control, o.control, true); 2475 } 2476 2477 @Override 2478 public boolean equalsShallow(Base other_) { 2479 if (!super.equalsShallow(other_)) 2480 return false; 2481 if (!(other_ instanceof SecurityLabelComponent)) 2482 return false; 2483 SecurityLabelComponent o = (SecurityLabelComponent) other_; 2484 return compareValues(number, o.number, true); 2485 } 2486 2487 public boolean isEmpty() { 2488 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(number, classification, category 2489 , control); 2490 } 2491 2492 public String fhirType() { 2493 return "Contract.term.securityLabel"; 2494 2495 } 2496 2497 } 2498 2499 @Block() 2500 public static class ContractOfferComponent extends BackboneElement implements IBaseBackboneElement { 2501 /** 2502 * Unique identifier for this particular Contract Provision. 2503 */ 2504 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2505 @Description(shortDefinition="Offer business ID", formalDefinition="Unique identifier for this particular Contract Provision." ) 2506 protected List<Identifier> identifier; 2507 2508 /** 2509 * Offer Recipient. 2510 */ 2511 @Child(name = "party", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2512 @Description(shortDefinition="Offer Recipient", formalDefinition="Offer Recipient." ) 2513 protected List<ContractPartyComponent> party; 2514 2515 /** 2516 * The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30). 2517 */ 2518 @Child(name = "topic", type = {Reference.class}, order=3, min=0, max=1, modifier=false, summary=true) 2519 @Description(shortDefinition="Negotiable offer asset", formalDefinition="The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30)." ) 2520 protected Reference topic; 2521 2522 /** 2523 * Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit. 2524 */ 2525 @Child(name = "type", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 2526 @Description(shortDefinition="Contract Offer Type or Form", formalDefinition="Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit." ) 2527 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-term-type") 2528 protected CodeableConcept type; 2529 2530 /** 2531 * Type of choice made by accepting party with respect to an offer made by an offeror/ grantee. 2532 */ 2533 @Child(name = "decision", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) 2534 @Description(shortDefinition="Accepting party choice", formalDefinition="Type of choice made by accepting party with respect to an offer made by an offeror/ grantee." ) 2535 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActConsentDirective") 2536 protected CodeableConcept decision; 2537 2538 /** 2539 * How the decision about a Contract was conveyed. 2540 */ 2541 @Child(name = "decisionMode", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2542 @Description(shortDefinition="How decision is conveyed", formalDefinition="How the decision about a Contract was conveyed." ) 2543 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-decision-mode") 2544 protected List<CodeableConcept> decisionMode; 2545 2546 /** 2547 * Response to offer text. 2548 */ 2549 @Child(name = "answer", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2550 @Description(shortDefinition="Response to offer text", formalDefinition="Response to offer text." ) 2551 protected List<AnswerComponent> answer; 2552 2553 /** 2554 * Human readable form of this Contract Offer. 2555 */ 2556 @Child(name = "text", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 2557 @Description(shortDefinition="Human readable offer text", formalDefinition="Human readable form of this Contract Offer." ) 2558 protected StringType text; 2559 2560 /** 2561 * The id of the clause or question text of the offer in the referenced questionnaire/response. 2562 */ 2563 @Child(name = "linkId", type = {StringType.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2564 @Description(shortDefinition="Pointer to text", formalDefinition="The id of the clause or question text of the offer in the referenced questionnaire/response." ) 2565 protected List<StringType> linkId; 2566 2567 /** 2568 * Security labels that protects the offer. 2569 */ 2570 @Child(name = "securityLabelNumber", type = {UnsignedIntType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2571 @Description(shortDefinition="Offer restriction numbers", formalDefinition="Security labels that protects the offer." ) 2572 protected List<UnsignedIntType> securityLabelNumber; 2573 2574 private static final long serialVersionUID = -852140711L; 2575 2576 /** 2577 * Constructor 2578 */ 2579 public ContractOfferComponent() { 2580 super(); 2581 } 2582 2583 /** 2584 * @return {@link #identifier} (Unique identifier for this particular Contract Provision.) 2585 */ 2586 public List<Identifier> getIdentifier() { 2587 if (this.identifier == null) 2588 this.identifier = new ArrayList<Identifier>(); 2589 return this.identifier; 2590 } 2591 2592 /** 2593 * @return Returns a reference to <code>this</code> for easy method chaining 2594 */ 2595 public ContractOfferComponent setIdentifier(List<Identifier> theIdentifier) { 2596 this.identifier = theIdentifier; 2597 return this; 2598 } 2599 2600 public boolean hasIdentifier() { 2601 if (this.identifier == null) 2602 return false; 2603 for (Identifier item : this.identifier) 2604 if (!item.isEmpty()) 2605 return true; 2606 return false; 2607 } 2608 2609 public Identifier addIdentifier() { //3 2610 Identifier t = new Identifier(); 2611 if (this.identifier == null) 2612 this.identifier = new ArrayList<Identifier>(); 2613 this.identifier.add(t); 2614 return t; 2615 } 2616 2617 public ContractOfferComponent addIdentifier(Identifier t) { //3 2618 if (t == null) 2619 return this; 2620 if (this.identifier == null) 2621 this.identifier = new ArrayList<Identifier>(); 2622 this.identifier.add(t); 2623 return this; 2624 } 2625 2626 /** 2627 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2628 */ 2629 public Identifier getIdentifierFirstRep() { 2630 if (getIdentifier().isEmpty()) { 2631 addIdentifier(); 2632 } 2633 return getIdentifier().get(0); 2634 } 2635 2636 /** 2637 * @return {@link #party} (Offer Recipient.) 2638 */ 2639 public List<ContractPartyComponent> getParty() { 2640 if (this.party == null) 2641 this.party = new ArrayList<ContractPartyComponent>(); 2642 return this.party; 2643 } 2644 2645 /** 2646 * @return Returns a reference to <code>this</code> for easy method chaining 2647 */ 2648 public ContractOfferComponent setParty(List<ContractPartyComponent> theParty) { 2649 this.party = theParty; 2650 return this; 2651 } 2652 2653 public boolean hasParty() { 2654 if (this.party == null) 2655 return false; 2656 for (ContractPartyComponent item : this.party) 2657 if (!item.isEmpty()) 2658 return true; 2659 return false; 2660 } 2661 2662 public ContractPartyComponent addParty() { //3 2663 ContractPartyComponent t = new ContractPartyComponent(); 2664 if (this.party == null) 2665 this.party = new ArrayList<ContractPartyComponent>(); 2666 this.party.add(t); 2667 return t; 2668 } 2669 2670 public ContractOfferComponent addParty(ContractPartyComponent t) { //3 2671 if (t == null) 2672 return this; 2673 if (this.party == null) 2674 this.party = new ArrayList<ContractPartyComponent>(); 2675 this.party.add(t); 2676 return this; 2677 } 2678 2679 /** 2680 * @return The first repetition of repeating field {@link #party}, creating it if it does not already exist {3} 2681 */ 2682 public ContractPartyComponent getPartyFirstRep() { 2683 if (getParty().isEmpty()) { 2684 addParty(); 2685 } 2686 return getParty().get(0); 2687 } 2688 2689 /** 2690 * @return {@link #topic} (The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).) 2691 */ 2692 public Reference getTopic() { 2693 if (this.topic == null) 2694 if (Configuration.errorOnAutoCreate()) 2695 throw new Error("Attempt to auto-create ContractOfferComponent.topic"); 2696 else if (Configuration.doAutoCreate()) 2697 this.topic = new Reference(); // cc 2698 return this.topic; 2699 } 2700 2701 public boolean hasTopic() { 2702 return this.topic != null && !this.topic.isEmpty(); 2703 } 2704 2705 /** 2706 * @param value {@link #topic} (The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).) 2707 */ 2708 public ContractOfferComponent setTopic(Reference value) { 2709 this.topic = value; 2710 return this; 2711 } 2712 2713 /** 2714 * @return {@link #type} (Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.) 2715 */ 2716 public CodeableConcept getType() { 2717 if (this.type == null) 2718 if (Configuration.errorOnAutoCreate()) 2719 throw new Error("Attempt to auto-create ContractOfferComponent.type"); 2720 else if (Configuration.doAutoCreate()) 2721 this.type = new CodeableConcept(); // cc 2722 return this.type; 2723 } 2724 2725 public boolean hasType() { 2726 return this.type != null && !this.type.isEmpty(); 2727 } 2728 2729 /** 2730 * @param value {@link #type} (Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.) 2731 */ 2732 public ContractOfferComponent setType(CodeableConcept value) { 2733 this.type = value; 2734 return this; 2735 } 2736 2737 /** 2738 * @return {@link #decision} (Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.) 2739 */ 2740 public CodeableConcept getDecision() { 2741 if (this.decision == null) 2742 if (Configuration.errorOnAutoCreate()) 2743 throw new Error("Attempt to auto-create ContractOfferComponent.decision"); 2744 else if (Configuration.doAutoCreate()) 2745 this.decision = new CodeableConcept(); // cc 2746 return this.decision; 2747 } 2748 2749 public boolean hasDecision() { 2750 return this.decision != null && !this.decision.isEmpty(); 2751 } 2752 2753 /** 2754 * @param value {@link #decision} (Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.) 2755 */ 2756 public ContractOfferComponent setDecision(CodeableConcept value) { 2757 this.decision = value; 2758 return this; 2759 } 2760 2761 /** 2762 * @return {@link #decisionMode} (How the decision about a Contract was conveyed.) 2763 */ 2764 public List<CodeableConcept> getDecisionMode() { 2765 if (this.decisionMode == null) 2766 this.decisionMode = new ArrayList<CodeableConcept>(); 2767 return this.decisionMode; 2768 } 2769 2770 /** 2771 * @return Returns a reference to <code>this</code> for easy method chaining 2772 */ 2773 public ContractOfferComponent setDecisionMode(List<CodeableConcept> theDecisionMode) { 2774 this.decisionMode = theDecisionMode; 2775 return this; 2776 } 2777 2778 public boolean hasDecisionMode() { 2779 if (this.decisionMode == null) 2780 return false; 2781 for (CodeableConcept item : this.decisionMode) 2782 if (!item.isEmpty()) 2783 return true; 2784 return false; 2785 } 2786 2787 public CodeableConcept addDecisionMode() { //3 2788 CodeableConcept t = new CodeableConcept(); 2789 if (this.decisionMode == null) 2790 this.decisionMode = new ArrayList<CodeableConcept>(); 2791 this.decisionMode.add(t); 2792 return t; 2793 } 2794 2795 public ContractOfferComponent addDecisionMode(CodeableConcept t) { //3 2796 if (t == null) 2797 return this; 2798 if (this.decisionMode == null) 2799 this.decisionMode = new ArrayList<CodeableConcept>(); 2800 this.decisionMode.add(t); 2801 return this; 2802 } 2803 2804 /** 2805 * @return The first repetition of repeating field {@link #decisionMode}, creating it if it does not already exist {3} 2806 */ 2807 public CodeableConcept getDecisionModeFirstRep() { 2808 if (getDecisionMode().isEmpty()) { 2809 addDecisionMode(); 2810 } 2811 return getDecisionMode().get(0); 2812 } 2813 2814 /** 2815 * @return {@link #answer} (Response to offer text.) 2816 */ 2817 public List<AnswerComponent> getAnswer() { 2818 if (this.answer == null) 2819 this.answer = new ArrayList<AnswerComponent>(); 2820 return this.answer; 2821 } 2822 2823 /** 2824 * @return Returns a reference to <code>this</code> for easy method chaining 2825 */ 2826 public ContractOfferComponent setAnswer(List<AnswerComponent> theAnswer) { 2827 this.answer = theAnswer; 2828 return this; 2829 } 2830 2831 public boolean hasAnswer() { 2832 if (this.answer == null) 2833 return false; 2834 for (AnswerComponent item : this.answer) 2835 if (!item.isEmpty()) 2836 return true; 2837 return false; 2838 } 2839 2840 public AnswerComponent addAnswer() { //3 2841 AnswerComponent t = new AnswerComponent(); 2842 if (this.answer == null) 2843 this.answer = new ArrayList<AnswerComponent>(); 2844 this.answer.add(t); 2845 return t; 2846 } 2847 2848 public ContractOfferComponent addAnswer(AnswerComponent t) { //3 2849 if (t == null) 2850 return this; 2851 if (this.answer == null) 2852 this.answer = new ArrayList<AnswerComponent>(); 2853 this.answer.add(t); 2854 return this; 2855 } 2856 2857 /** 2858 * @return The first repetition of repeating field {@link #answer}, creating it if it does not already exist {3} 2859 */ 2860 public AnswerComponent getAnswerFirstRep() { 2861 if (getAnswer().isEmpty()) { 2862 addAnswer(); 2863 } 2864 return getAnswer().get(0); 2865 } 2866 2867 /** 2868 * @return {@link #text} (Human readable form of this Contract Offer.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 2869 */ 2870 public StringType getTextElement() { 2871 if (this.text == null) 2872 if (Configuration.errorOnAutoCreate()) 2873 throw new Error("Attempt to auto-create ContractOfferComponent.text"); 2874 else if (Configuration.doAutoCreate()) 2875 this.text = new StringType(); // bb 2876 return this.text; 2877 } 2878 2879 public boolean hasTextElement() { 2880 return this.text != null && !this.text.isEmpty(); 2881 } 2882 2883 public boolean hasText() { 2884 return this.text != null && !this.text.isEmpty(); 2885 } 2886 2887 /** 2888 * @param value {@link #text} (Human readable form of this Contract Offer.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 2889 */ 2890 public ContractOfferComponent setTextElement(StringType value) { 2891 this.text = value; 2892 return this; 2893 } 2894 2895 /** 2896 * @return Human readable form of this Contract Offer. 2897 */ 2898 public String getText() { 2899 return this.text == null ? null : this.text.getValue(); 2900 } 2901 2902 /** 2903 * @param value Human readable form of this Contract Offer. 2904 */ 2905 public ContractOfferComponent setText(String value) { 2906 if (Utilities.noString(value)) 2907 this.text = null; 2908 else { 2909 if (this.text == null) 2910 this.text = new StringType(); 2911 this.text.setValue(value); 2912 } 2913 return this; 2914 } 2915 2916 /** 2917 * @return {@link #linkId} (The id of the clause or question text of the offer in the referenced questionnaire/response.) 2918 */ 2919 public List<StringType> getLinkId() { 2920 if (this.linkId == null) 2921 this.linkId = new ArrayList<StringType>(); 2922 return this.linkId; 2923 } 2924 2925 /** 2926 * @return Returns a reference to <code>this</code> for easy method chaining 2927 */ 2928 public ContractOfferComponent setLinkId(List<StringType> theLinkId) { 2929 this.linkId = theLinkId; 2930 return this; 2931 } 2932 2933 public boolean hasLinkId() { 2934 if (this.linkId == null) 2935 return false; 2936 for (StringType item : this.linkId) 2937 if (!item.isEmpty()) 2938 return true; 2939 return false; 2940 } 2941 2942 /** 2943 * @return {@link #linkId} (The id of the clause or question text of the offer in the referenced questionnaire/response.) 2944 */ 2945 public StringType addLinkIdElement() {//2 2946 StringType t = new StringType(); 2947 if (this.linkId == null) 2948 this.linkId = new ArrayList<StringType>(); 2949 this.linkId.add(t); 2950 return t; 2951 } 2952 2953 /** 2954 * @param value {@link #linkId} (The id of the clause or question text of the offer in the referenced questionnaire/response.) 2955 */ 2956 public ContractOfferComponent addLinkId(String value) { //1 2957 StringType t = new StringType(); 2958 t.setValue(value); 2959 if (this.linkId == null) 2960 this.linkId = new ArrayList<StringType>(); 2961 this.linkId.add(t); 2962 return this; 2963 } 2964 2965 /** 2966 * @param value {@link #linkId} (The id of the clause or question text of the offer in the referenced questionnaire/response.) 2967 */ 2968 public boolean hasLinkId(String value) { 2969 if (this.linkId == null) 2970 return false; 2971 for (StringType v : this.linkId) 2972 if (v.getValue().equals(value)) // string 2973 return true; 2974 return false; 2975 } 2976 2977 /** 2978 * @return {@link #securityLabelNumber} (Security labels that protects the offer.) 2979 */ 2980 public List<UnsignedIntType> getSecurityLabelNumber() { 2981 if (this.securityLabelNumber == null) 2982 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 2983 return this.securityLabelNumber; 2984 } 2985 2986 /** 2987 * @return Returns a reference to <code>this</code> for easy method chaining 2988 */ 2989 public ContractOfferComponent setSecurityLabelNumber(List<UnsignedIntType> theSecurityLabelNumber) { 2990 this.securityLabelNumber = theSecurityLabelNumber; 2991 return this; 2992 } 2993 2994 public boolean hasSecurityLabelNumber() { 2995 if (this.securityLabelNumber == null) 2996 return false; 2997 for (UnsignedIntType item : this.securityLabelNumber) 2998 if (!item.isEmpty()) 2999 return true; 3000 return false; 3001 } 3002 3003 /** 3004 * @return {@link #securityLabelNumber} (Security labels that protects the offer.) 3005 */ 3006 public UnsignedIntType addSecurityLabelNumberElement() {//2 3007 UnsignedIntType t = new UnsignedIntType(); 3008 if (this.securityLabelNumber == null) 3009 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 3010 this.securityLabelNumber.add(t); 3011 return t; 3012 } 3013 3014 /** 3015 * @param value {@link #securityLabelNumber} (Security labels that protects the offer.) 3016 */ 3017 public ContractOfferComponent addSecurityLabelNumber(int value) { //1 3018 UnsignedIntType t = new UnsignedIntType(); 3019 t.setValue(value); 3020 if (this.securityLabelNumber == null) 3021 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 3022 this.securityLabelNumber.add(t); 3023 return this; 3024 } 3025 3026 /** 3027 * @param value {@link #securityLabelNumber} (Security labels that protects the offer.) 3028 */ 3029 public boolean hasSecurityLabelNumber(int value) { 3030 if (this.securityLabelNumber == null) 3031 return false; 3032 for (UnsignedIntType v : this.securityLabelNumber) 3033 if (v.getValue().equals(value)) // unsignedInt 3034 return true; 3035 return false; 3036 } 3037 3038 protected void listChildren(List<Property> children) { 3039 super.listChildren(children); 3040 children.add(new Property("identifier", "Identifier", "Unique identifier for this particular Contract Provision.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3041 children.add(new Property("party", "", "Offer Recipient.", 0, java.lang.Integer.MAX_VALUE, party)); 3042 children.add(new Property("topic", "Reference(Any)", "The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).", 0, 1, topic)); 3043 children.add(new Property("type", "CodeableConcept", "Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.", 0, 1, type)); 3044 children.add(new Property("decision", "CodeableConcept", "Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.", 0, 1, decision)); 3045 children.add(new Property("decisionMode", "CodeableConcept", "How the decision about a Contract was conveyed.", 0, java.lang.Integer.MAX_VALUE, decisionMode)); 3046 children.add(new Property("answer", "", "Response to offer text.", 0, java.lang.Integer.MAX_VALUE, answer)); 3047 children.add(new Property("text", "string", "Human readable form of this Contract Offer.", 0, 1, text)); 3048 children.add(new Property("linkId", "string", "The id of the clause or question text of the offer in the referenced questionnaire/response.", 0, java.lang.Integer.MAX_VALUE, linkId)); 3049 children.add(new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the offer.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber)); 3050 } 3051 3052 @Override 3053 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3054 switch (_hash) { 3055 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for this particular Contract Provision.", 0, java.lang.Integer.MAX_VALUE, identifier); 3056 case 106437350: /*party*/ return new Property("party", "", "Offer Recipient.", 0, java.lang.Integer.MAX_VALUE, party); 3057 case 110546223: /*topic*/ return new Property("topic", "Reference(Any)", "The owner of an asset has the residual control rights over the asset: the right to decide all usages of the asset in any way not inconsistent with a prior contract, custom, or law (Hart, 1995, p. 30).", 0, 1, topic); 3058 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of Contract Provision such as specific requirements, purposes for actions, obligations, prohibitions, e.g. life time maximum benefit.", 0, 1, type); 3059 case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "Type of choice made by accepting party with respect to an offer made by an offeror/ grantee.", 0, 1, decision); 3060 case 675909535: /*decisionMode*/ return new Property("decisionMode", "CodeableConcept", "How the decision about a Contract was conveyed.", 0, java.lang.Integer.MAX_VALUE, decisionMode); 3061 case -1412808770: /*answer*/ return new Property("answer", "", "Response to offer text.", 0, java.lang.Integer.MAX_VALUE, answer); 3062 case 3556653: /*text*/ return new Property("text", "string", "Human readable form of this Contract Offer.", 0, 1, text); 3063 case -1102667083: /*linkId*/ return new Property("linkId", "string", "The id of the clause or question text of the offer in the referenced questionnaire/response.", 0, java.lang.Integer.MAX_VALUE, linkId); 3064 case -149460995: /*securityLabelNumber*/ return new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the offer.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber); 3065 default: return super.getNamedProperty(_hash, _name, _checkValid); 3066 } 3067 3068 } 3069 3070 @Override 3071 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3072 switch (hash) { 3073 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 3074 case 106437350: /*party*/ return this.party == null ? new Base[0] : this.party.toArray(new Base[this.party.size()]); // ContractPartyComponent 3075 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : new Base[] {this.topic}; // Reference 3076 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 3077 case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept 3078 case 675909535: /*decisionMode*/ return this.decisionMode == null ? new Base[0] : this.decisionMode.toArray(new Base[this.decisionMode.size()]); // CodeableConcept 3079 case -1412808770: /*answer*/ return this.answer == null ? new Base[0] : this.answer.toArray(new Base[this.answer.size()]); // AnswerComponent 3080 case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType 3081 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : this.linkId.toArray(new Base[this.linkId.size()]); // StringType 3082 case -149460995: /*securityLabelNumber*/ return this.securityLabelNumber == null ? new Base[0] : this.securityLabelNumber.toArray(new Base[this.securityLabelNumber.size()]); // UnsignedIntType 3083 default: return super.getProperty(hash, name, checkValid); 3084 } 3085 3086 } 3087 3088 @Override 3089 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3090 switch (hash) { 3091 case -1618432855: // identifier 3092 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 3093 return value; 3094 case 106437350: // party 3095 this.getParty().add((ContractPartyComponent) value); // ContractPartyComponent 3096 return value; 3097 case 110546223: // topic 3098 this.topic = TypeConvertor.castToReference(value); // Reference 3099 return value; 3100 case 3575610: // type 3101 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3102 return value; 3103 case 565719004: // decision 3104 this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3105 return value; 3106 case 675909535: // decisionMode 3107 this.getDecisionMode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 3108 return value; 3109 case -1412808770: // answer 3110 this.getAnswer().add((AnswerComponent) value); // AnswerComponent 3111 return value; 3112 case 3556653: // text 3113 this.text = TypeConvertor.castToString(value); // StringType 3114 return value; 3115 case -1102667083: // linkId 3116 this.getLinkId().add(TypeConvertor.castToString(value)); // StringType 3117 return value; 3118 case -149460995: // securityLabelNumber 3119 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); // UnsignedIntType 3120 return value; 3121 default: return super.setProperty(hash, name, value); 3122 } 3123 3124 } 3125 3126 @Override 3127 public Base setProperty(String name, Base value) throws FHIRException { 3128 if (name.equals("identifier")) { 3129 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 3130 } else if (name.equals("party")) { 3131 this.getParty().add((ContractPartyComponent) value); 3132 } else if (name.equals("topic")) { 3133 this.topic = TypeConvertor.castToReference(value); // Reference 3134 } else if (name.equals("type")) { 3135 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3136 } else if (name.equals("decision")) { 3137 this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3138 } else if (name.equals("decisionMode")) { 3139 this.getDecisionMode().add(TypeConvertor.castToCodeableConcept(value)); 3140 } else if (name.equals("answer")) { 3141 this.getAnswer().add((AnswerComponent) value); 3142 } else if (name.equals("text")) { 3143 this.text = TypeConvertor.castToString(value); // StringType 3144 } else if (name.equals("linkId")) { 3145 this.getLinkId().add(TypeConvertor.castToString(value)); 3146 } else if (name.equals("securityLabelNumber")) { 3147 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); 3148 } else 3149 return super.setProperty(name, value); 3150 return value; 3151 } 3152 3153 @Override 3154 public void removeChild(String name, Base value) throws FHIRException { 3155 if (name.equals("identifier")) { 3156 this.getIdentifier().remove(value); 3157 } else if (name.equals("party")) { 3158 this.getParty().remove((ContractPartyComponent) value); 3159 } else if (name.equals("topic")) { 3160 this.topic = null; 3161 } else if (name.equals("type")) { 3162 this.type = null; 3163 } else if (name.equals("decision")) { 3164 this.decision = null; 3165 } else if (name.equals("decisionMode")) { 3166 this.getDecisionMode().remove(value); 3167 } else if (name.equals("answer")) { 3168 this.getAnswer().remove((AnswerComponent) value); 3169 } else if (name.equals("text")) { 3170 this.text = null; 3171 } else if (name.equals("linkId")) { 3172 this.getLinkId().remove(value); 3173 } else if (name.equals("securityLabelNumber")) { 3174 this.getSecurityLabelNumber().remove(value); 3175 } else 3176 super.removeChild(name, value); 3177 3178 } 3179 3180 @Override 3181 public Base makeProperty(int hash, String name) throws FHIRException { 3182 switch (hash) { 3183 case -1618432855: return addIdentifier(); 3184 case 106437350: return addParty(); 3185 case 110546223: return getTopic(); 3186 case 3575610: return getType(); 3187 case 565719004: return getDecision(); 3188 case 675909535: return addDecisionMode(); 3189 case -1412808770: return addAnswer(); 3190 case 3556653: return getTextElement(); 3191 case -1102667083: return addLinkIdElement(); 3192 case -149460995: return addSecurityLabelNumberElement(); 3193 default: return super.makeProperty(hash, name); 3194 } 3195 3196 } 3197 3198 @Override 3199 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3200 switch (hash) { 3201 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 3202 case 106437350: /*party*/ return new String[] {}; 3203 case 110546223: /*topic*/ return new String[] {"Reference"}; 3204 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 3205 case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; 3206 case 675909535: /*decisionMode*/ return new String[] {"CodeableConcept"}; 3207 case -1412808770: /*answer*/ return new String[] {}; 3208 case 3556653: /*text*/ return new String[] {"string"}; 3209 case -1102667083: /*linkId*/ return new String[] {"string"}; 3210 case -149460995: /*securityLabelNumber*/ return new String[] {"unsignedInt"}; 3211 default: return super.getTypesForProperty(hash, name); 3212 } 3213 3214 } 3215 3216 @Override 3217 public Base addChild(String name) throws FHIRException { 3218 if (name.equals("identifier")) { 3219 return addIdentifier(); 3220 } 3221 else if (name.equals("party")) { 3222 return addParty(); 3223 } 3224 else if (name.equals("topic")) { 3225 this.topic = new Reference(); 3226 return this.topic; 3227 } 3228 else if (name.equals("type")) { 3229 this.type = new CodeableConcept(); 3230 return this.type; 3231 } 3232 else if (name.equals("decision")) { 3233 this.decision = new CodeableConcept(); 3234 return this.decision; 3235 } 3236 else if (name.equals("decisionMode")) { 3237 return addDecisionMode(); 3238 } 3239 else if (name.equals("answer")) { 3240 return addAnswer(); 3241 } 3242 else if (name.equals("text")) { 3243 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.offer.text"); 3244 } 3245 else if (name.equals("linkId")) { 3246 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.offer.linkId"); 3247 } 3248 else if (name.equals("securityLabelNumber")) { 3249 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.offer.securityLabelNumber"); 3250 } 3251 else 3252 return super.addChild(name); 3253 } 3254 3255 public ContractOfferComponent copy() { 3256 ContractOfferComponent dst = new ContractOfferComponent(); 3257 copyValues(dst); 3258 return dst; 3259 } 3260 3261 public void copyValues(ContractOfferComponent dst) { 3262 super.copyValues(dst); 3263 if (identifier != null) { 3264 dst.identifier = new ArrayList<Identifier>(); 3265 for (Identifier i : identifier) 3266 dst.identifier.add(i.copy()); 3267 }; 3268 if (party != null) { 3269 dst.party = new ArrayList<ContractPartyComponent>(); 3270 for (ContractPartyComponent i : party) 3271 dst.party.add(i.copy()); 3272 }; 3273 dst.topic = topic == null ? null : topic.copy(); 3274 dst.type = type == null ? null : type.copy(); 3275 dst.decision = decision == null ? null : decision.copy(); 3276 if (decisionMode != null) { 3277 dst.decisionMode = new ArrayList<CodeableConcept>(); 3278 for (CodeableConcept i : decisionMode) 3279 dst.decisionMode.add(i.copy()); 3280 }; 3281 if (answer != null) { 3282 dst.answer = new ArrayList<AnswerComponent>(); 3283 for (AnswerComponent i : answer) 3284 dst.answer.add(i.copy()); 3285 }; 3286 dst.text = text == null ? null : text.copy(); 3287 if (linkId != null) { 3288 dst.linkId = new ArrayList<StringType>(); 3289 for (StringType i : linkId) 3290 dst.linkId.add(i.copy()); 3291 }; 3292 if (securityLabelNumber != null) { 3293 dst.securityLabelNumber = new ArrayList<UnsignedIntType>(); 3294 for (UnsignedIntType i : securityLabelNumber) 3295 dst.securityLabelNumber.add(i.copy()); 3296 }; 3297 } 3298 3299 @Override 3300 public boolean equalsDeep(Base other_) { 3301 if (!super.equalsDeep(other_)) 3302 return false; 3303 if (!(other_ instanceof ContractOfferComponent)) 3304 return false; 3305 ContractOfferComponent o = (ContractOfferComponent) other_; 3306 return compareDeep(identifier, o.identifier, true) && compareDeep(party, o.party, true) && compareDeep(topic, o.topic, true) 3307 && compareDeep(type, o.type, true) && compareDeep(decision, o.decision, true) && compareDeep(decisionMode, o.decisionMode, true) 3308 && compareDeep(answer, o.answer, true) && compareDeep(text, o.text, true) && compareDeep(linkId, o.linkId, true) 3309 && compareDeep(securityLabelNumber, o.securityLabelNumber, true); 3310 } 3311 3312 @Override 3313 public boolean equalsShallow(Base other_) { 3314 if (!super.equalsShallow(other_)) 3315 return false; 3316 if (!(other_ instanceof ContractOfferComponent)) 3317 return false; 3318 ContractOfferComponent o = (ContractOfferComponent) other_; 3319 return compareValues(text, o.text, true) && compareValues(linkId, o.linkId, true) && compareValues(securityLabelNumber, o.securityLabelNumber, true) 3320 ; 3321 } 3322 3323 public boolean isEmpty() { 3324 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, party, topic 3325 , type, decision, decisionMode, answer, text, linkId, securityLabelNumber); 3326 } 3327 3328 public String fhirType() { 3329 return "Contract.term.offer"; 3330 3331 } 3332 3333 } 3334 3335 @Block() 3336 public static class ContractPartyComponent extends BackboneElement implements IBaseBackboneElement { 3337 /** 3338 * Participant in the offer. 3339 */ 3340 @Child(name = "reference", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class, Group.class, Organization.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3341 @Description(shortDefinition="Referenced entity", formalDefinition="Participant in the offer." ) 3342 protected List<Reference> reference; 3343 3344 /** 3345 * How the party participates in the offer. 3346 */ 3347 @Child(name = "role", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) 3348 @Description(shortDefinition="Participant engagement type", formalDefinition="How the party participates in the offer." ) 3349 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-party-role") 3350 protected CodeableConcept role; 3351 3352 private static final long serialVersionUID = -1599592477L; 3353 3354 /** 3355 * Constructor 3356 */ 3357 public ContractPartyComponent() { 3358 super(); 3359 } 3360 3361 /** 3362 * Constructor 3363 */ 3364 public ContractPartyComponent(Reference reference, CodeableConcept role) { 3365 super(); 3366 this.addReference(reference); 3367 this.setRole(role); 3368 } 3369 3370 /** 3371 * @return {@link #reference} (Participant in the offer.) 3372 */ 3373 public List<Reference> getReference() { 3374 if (this.reference == null) 3375 this.reference = new ArrayList<Reference>(); 3376 return this.reference; 3377 } 3378 3379 /** 3380 * @return Returns a reference to <code>this</code> for easy method chaining 3381 */ 3382 public ContractPartyComponent setReference(List<Reference> theReference) { 3383 this.reference = theReference; 3384 return this; 3385 } 3386 3387 public boolean hasReference() { 3388 if (this.reference == null) 3389 return false; 3390 for (Reference item : this.reference) 3391 if (!item.isEmpty()) 3392 return true; 3393 return false; 3394 } 3395 3396 public Reference addReference() { //3 3397 Reference t = new Reference(); 3398 if (this.reference == null) 3399 this.reference = new ArrayList<Reference>(); 3400 this.reference.add(t); 3401 return t; 3402 } 3403 3404 public ContractPartyComponent addReference(Reference t) { //3 3405 if (t == null) 3406 return this; 3407 if (this.reference == null) 3408 this.reference = new ArrayList<Reference>(); 3409 this.reference.add(t); 3410 return this; 3411 } 3412 3413 /** 3414 * @return The first repetition of repeating field {@link #reference}, creating it if it does not already exist {3} 3415 */ 3416 public Reference getReferenceFirstRep() { 3417 if (getReference().isEmpty()) { 3418 addReference(); 3419 } 3420 return getReference().get(0); 3421 } 3422 3423 /** 3424 * @return {@link #role} (How the party participates in the offer.) 3425 */ 3426 public CodeableConcept getRole() { 3427 if (this.role == null) 3428 if (Configuration.errorOnAutoCreate()) 3429 throw new Error("Attempt to auto-create ContractPartyComponent.role"); 3430 else if (Configuration.doAutoCreate()) 3431 this.role = new CodeableConcept(); // cc 3432 return this.role; 3433 } 3434 3435 public boolean hasRole() { 3436 return this.role != null && !this.role.isEmpty(); 3437 } 3438 3439 /** 3440 * @param value {@link #role} (How the party participates in the offer.) 3441 */ 3442 public ContractPartyComponent setRole(CodeableConcept value) { 3443 this.role = value; 3444 return this; 3445 } 3446 3447 protected void listChildren(List<Property> children) { 3448 super.listChildren(children); 3449 children.add(new Property("reference", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "Participant in the offer.", 0, java.lang.Integer.MAX_VALUE, reference)); 3450 children.add(new Property("role", "CodeableConcept", "How the party participates in the offer.", 0, 1, role)); 3451 } 3452 3453 @Override 3454 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3455 switch (_hash) { 3456 case -925155509: /*reference*/ return new Property("reference", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "Participant in the offer.", 0, java.lang.Integer.MAX_VALUE, reference); 3457 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "How the party participates in the offer.", 0, 1, role); 3458 default: return super.getNamedProperty(_hash, _name, _checkValid); 3459 } 3460 3461 } 3462 3463 @Override 3464 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3465 switch (hash) { 3466 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : this.reference.toArray(new Base[this.reference.size()]); // Reference 3467 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 3468 default: return super.getProperty(hash, name, checkValid); 3469 } 3470 3471 } 3472 3473 @Override 3474 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3475 switch (hash) { 3476 case -925155509: // reference 3477 this.getReference().add(TypeConvertor.castToReference(value)); // Reference 3478 return value; 3479 case 3506294: // role 3480 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3481 return value; 3482 default: return super.setProperty(hash, name, value); 3483 } 3484 3485 } 3486 3487 @Override 3488 public Base setProperty(String name, Base value) throws FHIRException { 3489 if (name.equals("reference")) { 3490 this.getReference().add(TypeConvertor.castToReference(value)); 3491 } else if (name.equals("role")) { 3492 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 3493 } else 3494 return super.setProperty(name, value); 3495 return value; 3496 } 3497 3498 @Override 3499 public void removeChild(String name, Base value) throws FHIRException { 3500 if (name.equals("reference")) { 3501 this.getReference().remove(value); 3502 } else if (name.equals("role")) { 3503 this.role = null; 3504 } else 3505 super.removeChild(name, value); 3506 3507 } 3508 3509 @Override 3510 public Base makeProperty(int hash, String name) throws FHIRException { 3511 switch (hash) { 3512 case -925155509: return addReference(); 3513 case 3506294: return getRole(); 3514 default: return super.makeProperty(hash, name); 3515 } 3516 3517 } 3518 3519 @Override 3520 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3521 switch (hash) { 3522 case -925155509: /*reference*/ return new String[] {"Reference"}; 3523 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 3524 default: return super.getTypesForProperty(hash, name); 3525 } 3526 3527 } 3528 3529 @Override 3530 public Base addChild(String name) throws FHIRException { 3531 if (name.equals("reference")) { 3532 return addReference(); 3533 } 3534 else if (name.equals("role")) { 3535 this.role = new CodeableConcept(); 3536 return this.role; 3537 } 3538 else 3539 return super.addChild(name); 3540 } 3541 3542 public ContractPartyComponent copy() { 3543 ContractPartyComponent dst = new ContractPartyComponent(); 3544 copyValues(dst); 3545 return dst; 3546 } 3547 3548 public void copyValues(ContractPartyComponent dst) { 3549 super.copyValues(dst); 3550 if (reference != null) { 3551 dst.reference = new ArrayList<Reference>(); 3552 for (Reference i : reference) 3553 dst.reference.add(i.copy()); 3554 }; 3555 dst.role = role == null ? null : role.copy(); 3556 } 3557 3558 @Override 3559 public boolean equalsDeep(Base other_) { 3560 if (!super.equalsDeep(other_)) 3561 return false; 3562 if (!(other_ instanceof ContractPartyComponent)) 3563 return false; 3564 ContractPartyComponent o = (ContractPartyComponent) other_; 3565 return compareDeep(reference, o.reference, true) && compareDeep(role, o.role, true); 3566 } 3567 3568 @Override 3569 public boolean equalsShallow(Base other_) { 3570 if (!super.equalsShallow(other_)) 3571 return false; 3572 if (!(other_ instanceof ContractPartyComponent)) 3573 return false; 3574 ContractPartyComponent o = (ContractPartyComponent) other_; 3575 return true; 3576 } 3577 3578 public boolean isEmpty() { 3579 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, role); 3580 } 3581 3582 public String fhirType() { 3583 return "Contract.term.offer.party"; 3584 3585 } 3586 3587 } 3588 3589 @Block() 3590 public static class AnswerComponent extends BackboneElement implements IBaseBackboneElement { 3591 /** 3592 * Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research. 3593 */ 3594 @Child(name = "value", type = {BooleanType.class, DecimalType.class, IntegerType.class, DateType.class, DateTimeType.class, TimeType.class, StringType.class, UriType.class, Attachment.class, Coding.class, Quantity.class, Reference.class}, order=1, min=1, max=1, modifier=false, summary=false) 3595 @Description(shortDefinition="The actual answer response", formalDefinition="Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research." ) 3596 protected DataType value; 3597 3598 private static final long serialVersionUID = -1135414639L; 3599 3600 /** 3601 * Constructor 3602 */ 3603 public AnswerComponent() { 3604 super(); 3605 } 3606 3607 /** 3608 * Constructor 3609 */ 3610 public AnswerComponent(DataType value) { 3611 super(); 3612 this.setValue(value); 3613 } 3614 3615 /** 3616 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3617 */ 3618 public DataType getValue() { 3619 return this.value; 3620 } 3621 3622 /** 3623 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3624 */ 3625 public BooleanType getValueBooleanType() throws FHIRException { 3626 if (this.value == null) 3627 this.value = new BooleanType(); 3628 if (!(this.value instanceof BooleanType)) 3629 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 3630 return (BooleanType) this.value; 3631 } 3632 3633 public boolean hasValueBooleanType() { 3634 return this != null && this.value instanceof BooleanType; 3635 } 3636 3637 /** 3638 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3639 */ 3640 public DecimalType getValueDecimalType() throws FHIRException { 3641 if (this.value == null) 3642 this.value = new DecimalType(); 3643 if (!(this.value instanceof DecimalType)) 3644 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 3645 return (DecimalType) this.value; 3646 } 3647 3648 public boolean hasValueDecimalType() { 3649 return this != null && this.value instanceof DecimalType; 3650 } 3651 3652 /** 3653 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3654 */ 3655 public IntegerType getValueIntegerType() throws FHIRException { 3656 if (this.value == null) 3657 this.value = new IntegerType(); 3658 if (!(this.value instanceof IntegerType)) 3659 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 3660 return (IntegerType) this.value; 3661 } 3662 3663 public boolean hasValueIntegerType() { 3664 return this != null && this.value instanceof IntegerType; 3665 } 3666 3667 /** 3668 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3669 */ 3670 public DateType getValueDateType() throws FHIRException { 3671 if (this.value == null) 3672 this.value = new DateType(); 3673 if (!(this.value instanceof DateType)) 3674 throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.value.getClass().getName()+" was encountered"); 3675 return (DateType) this.value; 3676 } 3677 3678 public boolean hasValueDateType() { 3679 return this != null && this.value instanceof DateType; 3680 } 3681 3682 /** 3683 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3684 */ 3685 public DateTimeType getValueDateTimeType() throws FHIRException { 3686 if (this.value == null) 3687 this.value = new DateTimeType(); 3688 if (!(this.value instanceof DateTimeType)) 3689 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 3690 return (DateTimeType) this.value; 3691 } 3692 3693 public boolean hasValueDateTimeType() { 3694 return this != null && this.value instanceof DateTimeType; 3695 } 3696 3697 /** 3698 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3699 */ 3700 public TimeType getValueTimeType() throws FHIRException { 3701 if (this.value == null) 3702 this.value = new TimeType(); 3703 if (!(this.value instanceof TimeType)) 3704 throw new FHIRException("Type mismatch: the type TimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 3705 return (TimeType) this.value; 3706 } 3707 3708 public boolean hasValueTimeType() { 3709 return this != null && this.value instanceof TimeType; 3710 } 3711 3712 /** 3713 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3714 */ 3715 public StringType getValueStringType() throws FHIRException { 3716 if (this.value == null) 3717 this.value = new StringType(); 3718 if (!(this.value instanceof StringType)) 3719 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 3720 return (StringType) this.value; 3721 } 3722 3723 public boolean hasValueStringType() { 3724 return this != null && this.value instanceof StringType; 3725 } 3726 3727 /** 3728 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3729 */ 3730 public UriType getValueUriType() throws FHIRException { 3731 if (this.value == null) 3732 this.value = new UriType(); 3733 if (!(this.value instanceof UriType)) 3734 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.value.getClass().getName()+" was encountered"); 3735 return (UriType) this.value; 3736 } 3737 3738 public boolean hasValueUriType() { 3739 return this != null && this.value instanceof UriType; 3740 } 3741 3742 /** 3743 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3744 */ 3745 public Attachment getValueAttachment() throws FHIRException { 3746 if (this.value == null) 3747 this.value = new Attachment(); 3748 if (!(this.value instanceof Attachment)) 3749 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.value.getClass().getName()+" was encountered"); 3750 return (Attachment) this.value; 3751 } 3752 3753 public boolean hasValueAttachment() { 3754 return this != null && this.value instanceof Attachment; 3755 } 3756 3757 /** 3758 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3759 */ 3760 public Coding getValueCoding() throws FHIRException { 3761 if (this.value == null) 3762 this.value = new Coding(); 3763 if (!(this.value instanceof Coding)) 3764 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); 3765 return (Coding) this.value; 3766 } 3767 3768 public boolean hasValueCoding() { 3769 return this != null && this.value instanceof Coding; 3770 } 3771 3772 /** 3773 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3774 */ 3775 public Quantity getValueQuantity() throws FHIRException { 3776 if (this.value == null) 3777 this.value = new Quantity(); 3778 if (!(this.value instanceof Quantity)) 3779 throw new FHIRException("Type mismatch: the type Quantity was expected, but "+this.value.getClass().getName()+" was encountered"); 3780 return (Quantity) this.value; 3781 } 3782 3783 public boolean hasValueQuantity() { 3784 return this != null && this.value instanceof Quantity; 3785 } 3786 3787 /** 3788 * @return {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3789 */ 3790 public Reference getValueReference() throws FHIRException { 3791 if (this.value == null) 3792 this.value = new Reference(); 3793 if (!(this.value instanceof Reference)) 3794 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.value.getClass().getName()+" was encountered"); 3795 return (Reference) this.value; 3796 } 3797 3798 public boolean hasValueReference() { 3799 return this != null && this.value instanceof Reference; 3800 } 3801 3802 public boolean hasValue() { 3803 return this.value != null && !this.value.isEmpty(); 3804 } 3805 3806 /** 3807 * @param value {@link #value} (Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.) 3808 */ 3809 public AnswerComponent setValue(DataType value) { 3810 if (value != null && !(value instanceof BooleanType || value instanceof DecimalType || value instanceof IntegerType || value instanceof DateType || value instanceof DateTimeType || value instanceof TimeType || value instanceof StringType || value instanceof UriType || value instanceof Attachment || value instanceof Coding || value instanceof Quantity || value instanceof Reference)) 3811 throw new FHIRException("Not the right type for Contract.term.offer.answer.value[x]: "+value.fhirType()); 3812 this.value = value; 3813 return this; 3814 } 3815 3816 protected void listChildren(List<Property> children) { 3817 super.listChildren(children); 3818 children.add(new Property("value[x]", "boolean|decimal|integer|date|dateTime|time|string|uri|Attachment|Coding|Quantity|Reference(Any)", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value)); 3819 } 3820 3821 @Override 3822 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 3823 switch (_hash) { 3824 case -1410166417: /*value[x]*/ return new Property("value[x]", "boolean|decimal|integer|date|dateTime|time|string|uri|Attachment|Coding|Quantity|Reference(Any)", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3825 case 111972721: /*value*/ return new Property("value[x]", "boolean|decimal|integer|date|dateTime|time|string|uri|Attachment|Coding|Quantity|Reference(Any)", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3826 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3827 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3828 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3829 case -766192449: /*valueDate*/ return new Property("value[x]", "date", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3830 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3831 case -765708322: /*valueTime*/ return new Property("value[x]", "time", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3832 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3833 case -1410172357: /*valueUri*/ return new Property("value[x]", "uri", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3834 case -475566732: /*valueAttachment*/ return new Property("value[x]", "Attachment", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3835 case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3836 case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3837 case 1755241690: /*valueReference*/ return new Property("value[x]", "Reference(Any)", "Response to an offer clause or question text, which enables selection of values to be agreed to, e.g., the period of participation, the date of occupancy of a rental, warranty duration, or whether biospecimen may be used for further research.", 0, 1, value); 3838 default: return super.getNamedProperty(_hash, _name, _checkValid); 3839 } 3840 3841 } 3842 3843 @Override 3844 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3845 switch (hash) { 3846 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 3847 default: return super.getProperty(hash, name, checkValid); 3848 } 3849 3850 } 3851 3852 @Override 3853 public Base setProperty(int hash, String name, Base value) throws FHIRException { 3854 switch (hash) { 3855 case 111972721: // value 3856 this.value = TypeConvertor.castToType(value); // DataType 3857 return value; 3858 default: return super.setProperty(hash, name, value); 3859 } 3860 3861 } 3862 3863 @Override 3864 public Base setProperty(String name, Base value) throws FHIRException { 3865 if (name.equals("value[x]")) { 3866 this.value = TypeConvertor.castToType(value); // DataType 3867 } else 3868 return super.setProperty(name, value); 3869 return value; 3870 } 3871 3872 @Override 3873 public void removeChild(String name, Base value) throws FHIRException { 3874 if (name.equals("value[x]")) { 3875 this.value = null; 3876 } else 3877 super.removeChild(name, value); 3878 3879 } 3880 3881 @Override 3882 public Base makeProperty(int hash, String name) throws FHIRException { 3883 switch (hash) { 3884 case -1410166417: return getValue(); 3885 case 111972721: return getValue(); 3886 default: return super.makeProperty(hash, name); 3887 } 3888 3889 } 3890 3891 @Override 3892 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3893 switch (hash) { 3894 case 111972721: /*value*/ return new String[] {"boolean", "decimal", "integer", "date", "dateTime", "time", "string", "uri", "Attachment", "Coding", "Quantity", "Reference"}; 3895 default: return super.getTypesForProperty(hash, name); 3896 } 3897 3898 } 3899 3900 @Override 3901 public Base addChild(String name) throws FHIRException { 3902 if (name.equals("valueBoolean")) { 3903 this.value = new BooleanType(); 3904 return this.value; 3905 } 3906 else if (name.equals("valueDecimal")) { 3907 this.value = new DecimalType(); 3908 return this.value; 3909 } 3910 else if (name.equals("valueInteger")) { 3911 this.value = new IntegerType(); 3912 return this.value; 3913 } 3914 else if (name.equals("valueDate")) { 3915 this.value = new DateType(); 3916 return this.value; 3917 } 3918 else if (name.equals("valueDateTime")) { 3919 this.value = new DateTimeType(); 3920 return this.value; 3921 } 3922 else if (name.equals("valueTime")) { 3923 this.value = new TimeType(); 3924 return this.value; 3925 } 3926 else if (name.equals("valueString")) { 3927 this.value = new StringType(); 3928 return this.value; 3929 } 3930 else if (name.equals("valueUri")) { 3931 this.value = new UriType(); 3932 return this.value; 3933 } 3934 else if (name.equals("valueAttachment")) { 3935 this.value = new Attachment(); 3936 return this.value; 3937 } 3938 else if (name.equals("valueCoding")) { 3939 this.value = new Coding(); 3940 return this.value; 3941 } 3942 else if (name.equals("valueQuantity")) { 3943 this.value = new Quantity(); 3944 return this.value; 3945 } 3946 else if (name.equals("valueReference")) { 3947 this.value = new Reference(); 3948 return this.value; 3949 } 3950 else 3951 return super.addChild(name); 3952 } 3953 3954 public AnswerComponent copy() { 3955 AnswerComponent dst = new AnswerComponent(); 3956 copyValues(dst); 3957 return dst; 3958 } 3959 3960 public void copyValues(AnswerComponent dst) { 3961 super.copyValues(dst); 3962 dst.value = value == null ? null : value.copy(); 3963 } 3964 3965 @Override 3966 public boolean equalsDeep(Base other_) { 3967 if (!super.equalsDeep(other_)) 3968 return false; 3969 if (!(other_ instanceof AnswerComponent)) 3970 return false; 3971 AnswerComponent o = (AnswerComponent) other_; 3972 return compareDeep(value, o.value, true); 3973 } 3974 3975 @Override 3976 public boolean equalsShallow(Base other_) { 3977 if (!super.equalsShallow(other_)) 3978 return false; 3979 if (!(other_ instanceof AnswerComponent)) 3980 return false; 3981 AnswerComponent o = (AnswerComponent) other_; 3982 return true; 3983 } 3984 3985 public boolean isEmpty() { 3986 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(value); 3987 } 3988 3989 public String fhirType() { 3990 return "Contract.term.offer.answer"; 3991 3992 } 3993 3994 } 3995 3996 @Block() 3997 public static class ContractAssetComponent extends BackboneElement implements IBaseBackboneElement { 3998 /** 3999 * Differentiates the kind of the asset . 4000 */ 4001 @Child(name = "scope", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) 4002 @Description(shortDefinition="Range of asset", formalDefinition="Differentiates the kind of the asset ." ) 4003 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-assetscope") 4004 protected CodeableConcept scope; 4005 4006 /** 4007 * Target entity type about which the term may be concerned. 4008 */ 4009 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4010 @Description(shortDefinition="Asset category", formalDefinition="Target entity type about which the term may be concerned." ) 4011 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-assettype") 4012 protected List<CodeableConcept> type; 4013 4014 /** 4015 * Associated entities. 4016 */ 4017 @Child(name = "typeReference", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4018 @Description(shortDefinition="Associated entities", formalDefinition="Associated entities." ) 4019 protected List<Reference> typeReference; 4020 4021 /** 4022 * May be a subtype or part of an offered asset. 4023 */ 4024 @Child(name = "subtype", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4025 @Description(shortDefinition="Asset sub-category", formalDefinition="May be a subtype or part of an offered asset." ) 4026 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-assetsubtype") 4027 protected List<CodeableConcept> subtype; 4028 4029 /** 4030 * Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree. 4031 */ 4032 @Child(name = "relationship", type = {Coding.class}, order=5, min=0, max=1, modifier=false, summary=false) 4033 @Description(shortDefinition="Kinship of the asset", formalDefinition="Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree." ) 4034 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-content-class") 4035 protected Coding relationship; 4036 4037 /** 4038 * Circumstance of the asset. 4039 */ 4040 @Child(name = "context", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4041 @Description(shortDefinition="Circumstance of the asset", formalDefinition="Circumstance of the asset." ) 4042 protected List<AssetContextComponent> context; 4043 4044 /** 4045 * Description of the quality and completeness of the asset that may be a factor in its valuation. 4046 */ 4047 @Child(name = "condition", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) 4048 @Description(shortDefinition="Quality desctiption of asset", formalDefinition="Description of the quality and completeness of the asset that may be a factor in its valuation." ) 4049 protected StringType condition; 4050 4051 /** 4052 * Type of Asset availability for use or ownership. 4053 */ 4054 @Child(name = "periodType", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4055 @Description(shortDefinition="Asset availability types", formalDefinition="Type of Asset availability for use or ownership." ) 4056 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/asset-availability") 4057 protected List<CodeableConcept> periodType; 4058 4059 /** 4060 * Asset relevant contractual time period. 4061 */ 4062 @Child(name = "period", type = {Period.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4063 @Description(shortDefinition="Time period of the asset", formalDefinition="Asset relevant contractual time period." ) 4064 protected List<Period> period; 4065 4066 /** 4067 * Time period of asset use. 4068 */ 4069 @Child(name = "usePeriod", type = {Period.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4070 @Description(shortDefinition="Time period", formalDefinition="Time period of asset use." ) 4071 protected List<Period> usePeriod; 4072 4073 /** 4074 * Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. 4075 */ 4076 @Child(name = "text", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) 4077 @Description(shortDefinition="Asset clause or question text", formalDefinition="Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract." ) 4078 protected StringType text; 4079 4080 /** 4081 * Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse. 4082 */ 4083 @Child(name = "linkId", type = {StringType.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4084 @Description(shortDefinition="Pointer to asset text", formalDefinition="Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse." ) 4085 protected List<StringType> linkId; 4086 4087 /** 4088 * Response to assets. 4089 */ 4090 @Child(name = "answer", type = {AnswerComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4091 @Description(shortDefinition="Response to assets", formalDefinition="Response to assets." ) 4092 protected List<AnswerComponent> answer; 4093 4094 /** 4095 * Security labels that protects the asset. 4096 */ 4097 @Child(name = "securityLabelNumber", type = {UnsignedIntType.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4098 @Description(shortDefinition="Asset restriction numbers", formalDefinition="Security labels that protects the asset." ) 4099 protected List<UnsignedIntType> securityLabelNumber; 4100 4101 /** 4102 * Contract Valued Item List. 4103 */ 4104 @Child(name = "valuedItem", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 4105 @Description(shortDefinition="Contract Valued Item List", formalDefinition="Contract Valued Item List." ) 4106 protected List<ValuedItemComponent> valuedItem; 4107 4108 private static final long serialVersionUID = -581986730L; 4109 4110 /** 4111 * Constructor 4112 */ 4113 public ContractAssetComponent() { 4114 super(); 4115 } 4116 4117 /** 4118 * @return {@link #scope} (Differentiates the kind of the asset .) 4119 */ 4120 public CodeableConcept getScope() { 4121 if (this.scope == null) 4122 if (Configuration.errorOnAutoCreate()) 4123 throw new Error("Attempt to auto-create ContractAssetComponent.scope"); 4124 else if (Configuration.doAutoCreate()) 4125 this.scope = new CodeableConcept(); // cc 4126 return this.scope; 4127 } 4128 4129 public boolean hasScope() { 4130 return this.scope != null && !this.scope.isEmpty(); 4131 } 4132 4133 /** 4134 * @param value {@link #scope} (Differentiates the kind of the asset .) 4135 */ 4136 public ContractAssetComponent setScope(CodeableConcept value) { 4137 this.scope = value; 4138 return this; 4139 } 4140 4141 /** 4142 * @return {@link #type} (Target entity type about which the term may be concerned.) 4143 */ 4144 public List<CodeableConcept> getType() { 4145 if (this.type == null) 4146 this.type = new ArrayList<CodeableConcept>(); 4147 return this.type; 4148 } 4149 4150 /** 4151 * @return Returns a reference to <code>this</code> for easy method chaining 4152 */ 4153 public ContractAssetComponent setType(List<CodeableConcept> theType) { 4154 this.type = theType; 4155 return this; 4156 } 4157 4158 public boolean hasType() { 4159 if (this.type == null) 4160 return false; 4161 for (CodeableConcept item : this.type) 4162 if (!item.isEmpty()) 4163 return true; 4164 return false; 4165 } 4166 4167 public CodeableConcept addType() { //3 4168 CodeableConcept t = new CodeableConcept(); 4169 if (this.type == null) 4170 this.type = new ArrayList<CodeableConcept>(); 4171 this.type.add(t); 4172 return t; 4173 } 4174 4175 public ContractAssetComponent addType(CodeableConcept t) { //3 4176 if (t == null) 4177 return this; 4178 if (this.type == null) 4179 this.type = new ArrayList<CodeableConcept>(); 4180 this.type.add(t); 4181 return this; 4182 } 4183 4184 /** 4185 * @return The first repetition of repeating field {@link #type}, creating it if it does not already exist {3} 4186 */ 4187 public CodeableConcept getTypeFirstRep() { 4188 if (getType().isEmpty()) { 4189 addType(); 4190 } 4191 return getType().get(0); 4192 } 4193 4194 /** 4195 * @return {@link #typeReference} (Associated entities.) 4196 */ 4197 public List<Reference> getTypeReference() { 4198 if (this.typeReference == null) 4199 this.typeReference = new ArrayList<Reference>(); 4200 return this.typeReference; 4201 } 4202 4203 /** 4204 * @return Returns a reference to <code>this</code> for easy method chaining 4205 */ 4206 public ContractAssetComponent setTypeReference(List<Reference> theTypeReference) { 4207 this.typeReference = theTypeReference; 4208 return this; 4209 } 4210 4211 public boolean hasTypeReference() { 4212 if (this.typeReference == null) 4213 return false; 4214 for (Reference item : this.typeReference) 4215 if (!item.isEmpty()) 4216 return true; 4217 return false; 4218 } 4219 4220 public Reference addTypeReference() { //3 4221 Reference t = new Reference(); 4222 if (this.typeReference == null) 4223 this.typeReference = new ArrayList<Reference>(); 4224 this.typeReference.add(t); 4225 return t; 4226 } 4227 4228 public ContractAssetComponent addTypeReference(Reference t) { //3 4229 if (t == null) 4230 return this; 4231 if (this.typeReference == null) 4232 this.typeReference = new ArrayList<Reference>(); 4233 this.typeReference.add(t); 4234 return this; 4235 } 4236 4237 /** 4238 * @return The first repetition of repeating field {@link #typeReference}, creating it if it does not already exist {3} 4239 */ 4240 public Reference getTypeReferenceFirstRep() { 4241 if (getTypeReference().isEmpty()) { 4242 addTypeReference(); 4243 } 4244 return getTypeReference().get(0); 4245 } 4246 4247 /** 4248 * @return {@link #subtype} (May be a subtype or part of an offered asset.) 4249 */ 4250 public List<CodeableConcept> getSubtype() { 4251 if (this.subtype == null) 4252 this.subtype = new ArrayList<CodeableConcept>(); 4253 return this.subtype; 4254 } 4255 4256 /** 4257 * @return Returns a reference to <code>this</code> for easy method chaining 4258 */ 4259 public ContractAssetComponent setSubtype(List<CodeableConcept> theSubtype) { 4260 this.subtype = theSubtype; 4261 return this; 4262 } 4263 4264 public boolean hasSubtype() { 4265 if (this.subtype == null) 4266 return false; 4267 for (CodeableConcept item : this.subtype) 4268 if (!item.isEmpty()) 4269 return true; 4270 return false; 4271 } 4272 4273 public CodeableConcept addSubtype() { //3 4274 CodeableConcept t = new CodeableConcept(); 4275 if (this.subtype == null) 4276 this.subtype = new ArrayList<CodeableConcept>(); 4277 this.subtype.add(t); 4278 return t; 4279 } 4280 4281 public ContractAssetComponent addSubtype(CodeableConcept t) { //3 4282 if (t == null) 4283 return this; 4284 if (this.subtype == null) 4285 this.subtype = new ArrayList<CodeableConcept>(); 4286 this.subtype.add(t); 4287 return this; 4288 } 4289 4290 /** 4291 * @return The first repetition of repeating field {@link #subtype}, creating it if it does not already exist {3} 4292 */ 4293 public CodeableConcept getSubtypeFirstRep() { 4294 if (getSubtype().isEmpty()) { 4295 addSubtype(); 4296 } 4297 return getSubtype().get(0); 4298 } 4299 4300 /** 4301 * @return {@link #relationship} (Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree.) 4302 */ 4303 public Coding getRelationship() { 4304 if (this.relationship == null) 4305 if (Configuration.errorOnAutoCreate()) 4306 throw new Error("Attempt to auto-create ContractAssetComponent.relationship"); 4307 else if (Configuration.doAutoCreate()) 4308 this.relationship = new Coding(); // cc 4309 return this.relationship; 4310 } 4311 4312 public boolean hasRelationship() { 4313 return this.relationship != null && !this.relationship.isEmpty(); 4314 } 4315 4316 /** 4317 * @param value {@link #relationship} (Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree.) 4318 */ 4319 public ContractAssetComponent setRelationship(Coding value) { 4320 this.relationship = value; 4321 return this; 4322 } 4323 4324 /** 4325 * @return {@link #context} (Circumstance of the asset.) 4326 */ 4327 public List<AssetContextComponent> getContext() { 4328 if (this.context == null) 4329 this.context = new ArrayList<AssetContextComponent>(); 4330 return this.context; 4331 } 4332 4333 /** 4334 * @return Returns a reference to <code>this</code> for easy method chaining 4335 */ 4336 public ContractAssetComponent setContext(List<AssetContextComponent> theContext) { 4337 this.context = theContext; 4338 return this; 4339 } 4340 4341 public boolean hasContext() { 4342 if (this.context == null) 4343 return false; 4344 for (AssetContextComponent item : this.context) 4345 if (!item.isEmpty()) 4346 return true; 4347 return false; 4348 } 4349 4350 public AssetContextComponent addContext() { //3 4351 AssetContextComponent t = new AssetContextComponent(); 4352 if (this.context == null) 4353 this.context = new ArrayList<AssetContextComponent>(); 4354 this.context.add(t); 4355 return t; 4356 } 4357 4358 public ContractAssetComponent addContext(AssetContextComponent t) { //3 4359 if (t == null) 4360 return this; 4361 if (this.context == null) 4362 this.context = new ArrayList<AssetContextComponent>(); 4363 this.context.add(t); 4364 return this; 4365 } 4366 4367 /** 4368 * @return The first repetition of repeating field {@link #context}, creating it if it does not already exist {3} 4369 */ 4370 public AssetContextComponent getContextFirstRep() { 4371 if (getContext().isEmpty()) { 4372 addContext(); 4373 } 4374 return getContext().get(0); 4375 } 4376 4377 /** 4378 * @return {@link #condition} (Description of the quality and completeness of the asset that may be a factor in its valuation.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 4379 */ 4380 public StringType getConditionElement() { 4381 if (this.condition == null) 4382 if (Configuration.errorOnAutoCreate()) 4383 throw new Error("Attempt to auto-create ContractAssetComponent.condition"); 4384 else if (Configuration.doAutoCreate()) 4385 this.condition = new StringType(); // bb 4386 return this.condition; 4387 } 4388 4389 public boolean hasConditionElement() { 4390 return this.condition != null && !this.condition.isEmpty(); 4391 } 4392 4393 public boolean hasCondition() { 4394 return this.condition != null && !this.condition.isEmpty(); 4395 } 4396 4397 /** 4398 * @param value {@link #condition} (Description of the quality and completeness of the asset that may be a factor in its valuation.). This is the underlying object with id, value and extensions. The accessor "getCondition" gives direct access to the value 4399 */ 4400 public ContractAssetComponent setConditionElement(StringType value) { 4401 this.condition = value; 4402 return this; 4403 } 4404 4405 /** 4406 * @return Description of the quality and completeness of the asset that may be a factor in its valuation. 4407 */ 4408 public String getCondition() { 4409 return this.condition == null ? null : this.condition.getValue(); 4410 } 4411 4412 /** 4413 * @param value Description of the quality and completeness of the asset that may be a factor in its valuation. 4414 */ 4415 public ContractAssetComponent setCondition(String value) { 4416 if (Utilities.noString(value)) 4417 this.condition = null; 4418 else { 4419 if (this.condition == null) 4420 this.condition = new StringType(); 4421 this.condition.setValue(value); 4422 } 4423 return this; 4424 } 4425 4426 /** 4427 * @return {@link #periodType} (Type of Asset availability for use or ownership.) 4428 */ 4429 public List<CodeableConcept> getPeriodType() { 4430 if (this.periodType == null) 4431 this.periodType = new ArrayList<CodeableConcept>(); 4432 return this.periodType; 4433 } 4434 4435 /** 4436 * @return Returns a reference to <code>this</code> for easy method chaining 4437 */ 4438 public ContractAssetComponent setPeriodType(List<CodeableConcept> thePeriodType) { 4439 this.periodType = thePeriodType; 4440 return this; 4441 } 4442 4443 public boolean hasPeriodType() { 4444 if (this.periodType == null) 4445 return false; 4446 for (CodeableConcept item : this.periodType) 4447 if (!item.isEmpty()) 4448 return true; 4449 return false; 4450 } 4451 4452 public CodeableConcept addPeriodType() { //3 4453 CodeableConcept t = new CodeableConcept(); 4454 if (this.periodType == null) 4455 this.periodType = new ArrayList<CodeableConcept>(); 4456 this.periodType.add(t); 4457 return t; 4458 } 4459 4460 public ContractAssetComponent addPeriodType(CodeableConcept t) { //3 4461 if (t == null) 4462 return this; 4463 if (this.periodType == null) 4464 this.periodType = new ArrayList<CodeableConcept>(); 4465 this.periodType.add(t); 4466 return this; 4467 } 4468 4469 /** 4470 * @return The first repetition of repeating field {@link #periodType}, creating it if it does not already exist {3} 4471 */ 4472 public CodeableConcept getPeriodTypeFirstRep() { 4473 if (getPeriodType().isEmpty()) { 4474 addPeriodType(); 4475 } 4476 return getPeriodType().get(0); 4477 } 4478 4479 /** 4480 * @return {@link #period} (Asset relevant contractual time period.) 4481 */ 4482 public List<Period> getPeriod() { 4483 if (this.period == null) 4484 this.period = new ArrayList<Period>(); 4485 return this.period; 4486 } 4487 4488 /** 4489 * @return Returns a reference to <code>this</code> for easy method chaining 4490 */ 4491 public ContractAssetComponent setPeriod(List<Period> thePeriod) { 4492 this.period = thePeriod; 4493 return this; 4494 } 4495 4496 public boolean hasPeriod() { 4497 if (this.period == null) 4498 return false; 4499 for (Period item : this.period) 4500 if (!item.isEmpty()) 4501 return true; 4502 return false; 4503 } 4504 4505 public Period addPeriod() { //3 4506 Period t = new Period(); 4507 if (this.period == null) 4508 this.period = new ArrayList<Period>(); 4509 this.period.add(t); 4510 return t; 4511 } 4512 4513 public ContractAssetComponent addPeriod(Period t) { //3 4514 if (t == null) 4515 return this; 4516 if (this.period == null) 4517 this.period = new ArrayList<Period>(); 4518 this.period.add(t); 4519 return this; 4520 } 4521 4522 /** 4523 * @return The first repetition of repeating field {@link #period}, creating it if it does not already exist {3} 4524 */ 4525 public Period getPeriodFirstRep() { 4526 if (getPeriod().isEmpty()) { 4527 addPeriod(); 4528 } 4529 return getPeriod().get(0); 4530 } 4531 4532 /** 4533 * @return {@link #usePeriod} (Time period of asset use.) 4534 */ 4535 public List<Period> getUsePeriod() { 4536 if (this.usePeriod == null) 4537 this.usePeriod = new ArrayList<Period>(); 4538 return this.usePeriod; 4539 } 4540 4541 /** 4542 * @return Returns a reference to <code>this</code> for easy method chaining 4543 */ 4544 public ContractAssetComponent setUsePeriod(List<Period> theUsePeriod) { 4545 this.usePeriod = theUsePeriod; 4546 return this; 4547 } 4548 4549 public boolean hasUsePeriod() { 4550 if (this.usePeriod == null) 4551 return false; 4552 for (Period item : this.usePeriod) 4553 if (!item.isEmpty()) 4554 return true; 4555 return false; 4556 } 4557 4558 public Period addUsePeriod() { //3 4559 Period t = new Period(); 4560 if (this.usePeriod == null) 4561 this.usePeriod = new ArrayList<Period>(); 4562 this.usePeriod.add(t); 4563 return t; 4564 } 4565 4566 public ContractAssetComponent addUsePeriod(Period t) { //3 4567 if (t == null) 4568 return this; 4569 if (this.usePeriod == null) 4570 this.usePeriod = new ArrayList<Period>(); 4571 this.usePeriod.add(t); 4572 return this; 4573 } 4574 4575 /** 4576 * @return The first repetition of repeating field {@link #usePeriod}, creating it if it does not already exist {3} 4577 */ 4578 public Period getUsePeriodFirstRep() { 4579 if (getUsePeriod().isEmpty()) { 4580 addUsePeriod(); 4581 } 4582 return getUsePeriod().get(0); 4583 } 4584 4585 /** 4586 * @return {@link #text} (Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 4587 */ 4588 public StringType getTextElement() { 4589 if (this.text == null) 4590 if (Configuration.errorOnAutoCreate()) 4591 throw new Error("Attempt to auto-create ContractAssetComponent.text"); 4592 else if (Configuration.doAutoCreate()) 4593 this.text = new StringType(); // bb 4594 return this.text; 4595 } 4596 4597 public boolean hasTextElement() { 4598 return this.text != null && !this.text.isEmpty(); 4599 } 4600 4601 public boolean hasText() { 4602 return this.text != null && !this.text.isEmpty(); 4603 } 4604 4605 /** 4606 * @param value {@link #text} (Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 4607 */ 4608 public ContractAssetComponent setTextElement(StringType value) { 4609 this.text = value; 4610 return this; 4611 } 4612 4613 /** 4614 * @return Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. 4615 */ 4616 public String getText() { 4617 return this.text == null ? null : this.text.getValue(); 4618 } 4619 4620 /** 4621 * @param value Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract. 4622 */ 4623 public ContractAssetComponent setText(String value) { 4624 if (Utilities.noString(value)) 4625 this.text = null; 4626 else { 4627 if (this.text == null) 4628 this.text = new StringType(); 4629 this.text.setValue(value); 4630 } 4631 return this; 4632 } 4633 4634 /** 4635 * @return {@link #linkId} (Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.) 4636 */ 4637 public List<StringType> getLinkId() { 4638 if (this.linkId == null) 4639 this.linkId = new ArrayList<StringType>(); 4640 return this.linkId; 4641 } 4642 4643 /** 4644 * @return Returns a reference to <code>this</code> for easy method chaining 4645 */ 4646 public ContractAssetComponent setLinkId(List<StringType> theLinkId) { 4647 this.linkId = theLinkId; 4648 return this; 4649 } 4650 4651 public boolean hasLinkId() { 4652 if (this.linkId == null) 4653 return false; 4654 for (StringType item : this.linkId) 4655 if (!item.isEmpty()) 4656 return true; 4657 return false; 4658 } 4659 4660 /** 4661 * @return {@link #linkId} (Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.) 4662 */ 4663 public StringType addLinkIdElement() {//2 4664 StringType t = new StringType(); 4665 if (this.linkId == null) 4666 this.linkId = new ArrayList<StringType>(); 4667 this.linkId.add(t); 4668 return t; 4669 } 4670 4671 /** 4672 * @param value {@link #linkId} (Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.) 4673 */ 4674 public ContractAssetComponent addLinkId(String value) { //1 4675 StringType t = new StringType(); 4676 t.setValue(value); 4677 if (this.linkId == null) 4678 this.linkId = new ArrayList<StringType>(); 4679 this.linkId.add(t); 4680 return this; 4681 } 4682 4683 /** 4684 * @param value {@link #linkId} (Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.) 4685 */ 4686 public boolean hasLinkId(String value) { 4687 if (this.linkId == null) 4688 return false; 4689 for (StringType v : this.linkId) 4690 if (v.getValue().equals(value)) // string 4691 return true; 4692 return false; 4693 } 4694 4695 /** 4696 * @return {@link #answer} (Response to assets.) 4697 */ 4698 public List<AnswerComponent> getAnswer() { 4699 if (this.answer == null) 4700 this.answer = new ArrayList<AnswerComponent>(); 4701 return this.answer; 4702 } 4703 4704 /** 4705 * @return Returns a reference to <code>this</code> for easy method chaining 4706 */ 4707 public ContractAssetComponent setAnswer(List<AnswerComponent> theAnswer) { 4708 this.answer = theAnswer; 4709 return this; 4710 } 4711 4712 public boolean hasAnswer() { 4713 if (this.answer == null) 4714 return false; 4715 for (AnswerComponent item : this.answer) 4716 if (!item.isEmpty()) 4717 return true; 4718 return false; 4719 } 4720 4721 public AnswerComponent addAnswer() { //3 4722 AnswerComponent t = new AnswerComponent(); 4723 if (this.answer == null) 4724 this.answer = new ArrayList<AnswerComponent>(); 4725 this.answer.add(t); 4726 return t; 4727 } 4728 4729 public ContractAssetComponent addAnswer(AnswerComponent t) { //3 4730 if (t == null) 4731 return this; 4732 if (this.answer == null) 4733 this.answer = new ArrayList<AnswerComponent>(); 4734 this.answer.add(t); 4735 return this; 4736 } 4737 4738 /** 4739 * @return The first repetition of repeating field {@link #answer}, creating it if it does not already exist {3} 4740 */ 4741 public AnswerComponent getAnswerFirstRep() { 4742 if (getAnswer().isEmpty()) { 4743 addAnswer(); 4744 } 4745 return getAnswer().get(0); 4746 } 4747 4748 /** 4749 * @return {@link #securityLabelNumber} (Security labels that protects the asset.) 4750 */ 4751 public List<UnsignedIntType> getSecurityLabelNumber() { 4752 if (this.securityLabelNumber == null) 4753 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 4754 return this.securityLabelNumber; 4755 } 4756 4757 /** 4758 * @return Returns a reference to <code>this</code> for easy method chaining 4759 */ 4760 public ContractAssetComponent setSecurityLabelNumber(List<UnsignedIntType> theSecurityLabelNumber) { 4761 this.securityLabelNumber = theSecurityLabelNumber; 4762 return this; 4763 } 4764 4765 public boolean hasSecurityLabelNumber() { 4766 if (this.securityLabelNumber == null) 4767 return false; 4768 for (UnsignedIntType item : this.securityLabelNumber) 4769 if (!item.isEmpty()) 4770 return true; 4771 return false; 4772 } 4773 4774 /** 4775 * @return {@link #securityLabelNumber} (Security labels that protects the asset.) 4776 */ 4777 public UnsignedIntType addSecurityLabelNumberElement() {//2 4778 UnsignedIntType t = new UnsignedIntType(); 4779 if (this.securityLabelNumber == null) 4780 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 4781 this.securityLabelNumber.add(t); 4782 return t; 4783 } 4784 4785 /** 4786 * @param value {@link #securityLabelNumber} (Security labels that protects the asset.) 4787 */ 4788 public ContractAssetComponent addSecurityLabelNumber(int value) { //1 4789 UnsignedIntType t = new UnsignedIntType(); 4790 t.setValue(value); 4791 if (this.securityLabelNumber == null) 4792 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 4793 this.securityLabelNumber.add(t); 4794 return this; 4795 } 4796 4797 /** 4798 * @param value {@link #securityLabelNumber} (Security labels that protects the asset.) 4799 */ 4800 public boolean hasSecurityLabelNumber(int value) { 4801 if (this.securityLabelNumber == null) 4802 return false; 4803 for (UnsignedIntType v : this.securityLabelNumber) 4804 if (v.getValue().equals(value)) // unsignedInt 4805 return true; 4806 return false; 4807 } 4808 4809 /** 4810 * @return {@link #valuedItem} (Contract Valued Item List.) 4811 */ 4812 public List<ValuedItemComponent> getValuedItem() { 4813 if (this.valuedItem == null) 4814 this.valuedItem = new ArrayList<ValuedItemComponent>(); 4815 return this.valuedItem; 4816 } 4817 4818 /** 4819 * @return Returns a reference to <code>this</code> for easy method chaining 4820 */ 4821 public ContractAssetComponent setValuedItem(List<ValuedItemComponent> theValuedItem) { 4822 this.valuedItem = theValuedItem; 4823 return this; 4824 } 4825 4826 public boolean hasValuedItem() { 4827 if (this.valuedItem == null) 4828 return false; 4829 for (ValuedItemComponent item : this.valuedItem) 4830 if (!item.isEmpty()) 4831 return true; 4832 return false; 4833 } 4834 4835 public ValuedItemComponent addValuedItem() { //3 4836 ValuedItemComponent t = new ValuedItemComponent(); 4837 if (this.valuedItem == null) 4838 this.valuedItem = new ArrayList<ValuedItemComponent>(); 4839 this.valuedItem.add(t); 4840 return t; 4841 } 4842 4843 public ContractAssetComponent addValuedItem(ValuedItemComponent t) { //3 4844 if (t == null) 4845 return this; 4846 if (this.valuedItem == null) 4847 this.valuedItem = new ArrayList<ValuedItemComponent>(); 4848 this.valuedItem.add(t); 4849 return this; 4850 } 4851 4852 /** 4853 * @return The first repetition of repeating field {@link #valuedItem}, creating it if it does not already exist {3} 4854 */ 4855 public ValuedItemComponent getValuedItemFirstRep() { 4856 if (getValuedItem().isEmpty()) { 4857 addValuedItem(); 4858 } 4859 return getValuedItem().get(0); 4860 } 4861 4862 protected void listChildren(List<Property> children) { 4863 super.listChildren(children); 4864 children.add(new Property("scope", "CodeableConcept", "Differentiates the kind of the asset .", 0, 1, scope)); 4865 children.add(new Property("type", "CodeableConcept", "Target entity type about which the term may be concerned.", 0, java.lang.Integer.MAX_VALUE, type)); 4866 children.add(new Property("typeReference", "Reference(Any)", "Associated entities.", 0, java.lang.Integer.MAX_VALUE, typeReference)); 4867 children.add(new Property("subtype", "CodeableConcept", "May be a subtype or part of an offered asset.", 0, java.lang.Integer.MAX_VALUE, subtype)); 4868 children.add(new Property("relationship", "Coding", "Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree.", 0, 1, relationship)); 4869 children.add(new Property("context", "", "Circumstance of the asset.", 0, java.lang.Integer.MAX_VALUE, context)); 4870 children.add(new Property("condition", "string", "Description of the quality and completeness of the asset that may be a factor in its valuation.", 0, 1, condition)); 4871 children.add(new Property("periodType", "CodeableConcept", "Type of Asset availability for use or ownership.", 0, java.lang.Integer.MAX_VALUE, periodType)); 4872 children.add(new Property("period", "Period", "Asset relevant contractual time period.", 0, java.lang.Integer.MAX_VALUE, period)); 4873 children.add(new Property("usePeriod", "Period", "Time period of asset use.", 0, java.lang.Integer.MAX_VALUE, usePeriod)); 4874 children.add(new Property("text", "string", "Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract.", 0, 1, text)); 4875 children.add(new Property("linkId", "string", "Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId)); 4876 children.add(new Property("answer", "@Contract.term.offer.answer", "Response to assets.", 0, java.lang.Integer.MAX_VALUE, answer)); 4877 children.add(new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the asset.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber)); 4878 children.add(new Property("valuedItem", "", "Contract Valued Item List.", 0, java.lang.Integer.MAX_VALUE, valuedItem)); 4879 } 4880 4881 @Override 4882 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4883 switch (_hash) { 4884 case 109264468: /*scope*/ return new Property("scope", "CodeableConcept", "Differentiates the kind of the asset .", 0, 1, scope); 4885 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Target entity type about which the term may be concerned.", 0, java.lang.Integer.MAX_VALUE, type); 4886 case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(Any)", "Associated entities.", 0, java.lang.Integer.MAX_VALUE, typeReference); 4887 case -1867567750: /*subtype*/ return new Property("subtype", "CodeableConcept", "May be a subtype or part of an offered asset.", 0, java.lang.Integer.MAX_VALUE, subtype); 4888 case -261851592: /*relationship*/ return new Property("relationship", "Coding", "Specifies the applicability of the term to an asset resource instance, and instances it refers to orinstances that refer to it, and/or are owned by the offeree.", 0, 1, relationship); 4889 case 951530927: /*context*/ return new Property("context", "", "Circumstance of the asset.", 0, java.lang.Integer.MAX_VALUE, context); 4890 case -861311717: /*condition*/ return new Property("condition", "string", "Description of the quality and completeness of the asset that may be a factor in its valuation.", 0, 1, condition); 4891 case 384348315: /*periodType*/ return new Property("periodType", "CodeableConcept", "Type of Asset availability for use or ownership.", 0, java.lang.Integer.MAX_VALUE, periodType); 4892 case -991726143: /*period*/ return new Property("period", "Period", "Asset relevant contractual time period.", 0, java.lang.Integer.MAX_VALUE, period); 4893 case -628382168: /*usePeriod*/ return new Property("usePeriod", "Period", "Time period of asset use.", 0, java.lang.Integer.MAX_VALUE, usePeriod); 4894 case 3556653: /*text*/ return new Property("text", "string", "Clause or question text (Prose Object) concerning the asset in a linked form, such as a QuestionnaireResponse used in the formation of the contract.", 0, 1, text); 4895 case -1102667083: /*linkId*/ return new Property("linkId", "string", "Id [identifier??] of the clause or question text about the asset in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId); 4896 case -1412808770: /*answer*/ return new Property("answer", "@Contract.term.offer.answer", "Response to assets.", 0, java.lang.Integer.MAX_VALUE, answer); 4897 case -149460995: /*securityLabelNumber*/ return new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the asset.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber); 4898 case 2046675654: /*valuedItem*/ return new Property("valuedItem", "", "Contract Valued Item List.", 0, java.lang.Integer.MAX_VALUE, valuedItem); 4899 default: return super.getNamedProperty(_hash, _name, _checkValid); 4900 } 4901 4902 } 4903 4904 @Override 4905 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4906 switch (hash) { 4907 case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // CodeableConcept 4908 case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept 4909 case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : this.typeReference.toArray(new Base[this.typeReference.size()]); // Reference 4910 case -1867567750: /*subtype*/ return this.subtype == null ? new Base[0] : this.subtype.toArray(new Base[this.subtype.size()]); // CodeableConcept 4911 case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Coding 4912 case 951530927: /*context*/ return this.context == null ? new Base[0] : this.context.toArray(new Base[this.context.size()]); // AssetContextComponent 4913 case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // StringType 4914 case 384348315: /*periodType*/ return this.periodType == null ? new Base[0] : this.periodType.toArray(new Base[this.periodType.size()]); // CodeableConcept 4915 case -991726143: /*period*/ return this.period == null ? new Base[0] : this.period.toArray(new Base[this.period.size()]); // Period 4916 case -628382168: /*usePeriod*/ return this.usePeriod == null ? new Base[0] : this.usePeriod.toArray(new Base[this.usePeriod.size()]); // Period 4917 case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType 4918 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : this.linkId.toArray(new Base[this.linkId.size()]); // StringType 4919 case -1412808770: /*answer*/ return this.answer == null ? new Base[0] : this.answer.toArray(new Base[this.answer.size()]); // AnswerComponent 4920 case -149460995: /*securityLabelNumber*/ return this.securityLabelNumber == null ? new Base[0] : this.securityLabelNumber.toArray(new Base[this.securityLabelNumber.size()]); // UnsignedIntType 4921 case 2046675654: /*valuedItem*/ return this.valuedItem == null ? new Base[0] : this.valuedItem.toArray(new Base[this.valuedItem.size()]); // ValuedItemComponent 4922 default: return super.getProperty(hash, name, checkValid); 4923 } 4924 4925 } 4926 4927 @Override 4928 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4929 switch (hash) { 4930 case 109264468: // scope 4931 this.scope = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4932 return value; 4933 case 3575610: // type 4934 this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4935 return value; 4936 case 2074825009: // typeReference 4937 this.getTypeReference().add(TypeConvertor.castToReference(value)); // Reference 4938 return value; 4939 case -1867567750: // subtype 4940 this.getSubtype().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4941 return value; 4942 case -261851592: // relationship 4943 this.relationship = TypeConvertor.castToCoding(value); // Coding 4944 return value; 4945 case 951530927: // context 4946 this.getContext().add((AssetContextComponent) value); // AssetContextComponent 4947 return value; 4948 case -861311717: // condition 4949 this.condition = TypeConvertor.castToString(value); // StringType 4950 return value; 4951 case 384348315: // periodType 4952 this.getPeriodType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4953 return value; 4954 case -991726143: // period 4955 this.getPeriod().add(TypeConvertor.castToPeriod(value)); // Period 4956 return value; 4957 case -628382168: // usePeriod 4958 this.getUsePeriod().add(TypeConvertor.castToPeriod(value)); // Period 4959 return value; 4960 case 3556653: // text 4961 this.text = TypeConvertor.castToString(value); // StringType 4962 return value; 4963 case -1102667083: // linkId 4964 this.getLinkId().add(TypeConvertor.castToString(value)); // StringType 4965 return value; 4966 case -1412808770: // answer 4967 this.getAnswer().add((AnswerComponent) value); // AnswerComponent 4968 return value; 4969 case -149460995: // securityLabelNumber 4970 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); // UnsignedIntType 4971 return value; 4972 case 2046675654: // valuedItem 4973 this.getValuedItem().add((ValuedItemComponent) value); // ValuedItemComponent 4974 return value; 4975 default: return super.setProperty(hash, name, value); 4976 } 4977 4978 } 4979 4980 @Override 4981 public Base setProperty(String name, Base value) throws FHIRException { 4982 if (name.equals("scope")) { 4983 this.scope = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 4984 } else if (name.equals("type")) { 4985 this.getType().add(TypeConvertor.castToCodeableConcept(value)); 4986 } else if (name.equals("typeReference")) { 4987 this.getTypeReference().add(TypeConvertor.castToReference(value)); 4988 } else if (name.equals("subtype")) { 4989 this.getSubtype().add(TypeConvertor.castToCodeableConcept(value)); 4990 } else if (name.equals("relationship")) { 4991 this.relationship = TypeConvertor.castToCoding(value); // Coding 4992 } else if (name.equals("context")) { 4993 this.getContext().add((AssetContextComponent) value); 4994 } else if (name.equals("condition")) { 4995 this.condition = TypeConvertor.castToString(value); // StringType 4996 } else if (name.equals("periodType")) { 4997 this.getPeriodType().add(TypeConvertor.castToCodeableConcept(value)); 4998 } else if (name.equals("period")) { 4999 this.getPeriod().add(TypeConvertor.castToPeriod(value)); 5000 } else if (name.equals("usePeriod")) { 5001 this.getUsePeriod().add(TypeConvertor.castToPeriod(value)); 5002 } else if (name.equals("text")) { 5003 this.text = TypeConvertor.castToString(value); // StringType 5004 } else if (name.equals("linkId")) { 5005 this.getLinkId().add(TypeConvertor.castToString(value)); 5006 } else if (name.equals("answer")) { 5007 this.getAnswer().add((AnswerComponent) value); 5008 } else if (name.equals("securityLabelNumber")) { 5009 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); 5010 } else if (name.equals("valuedItem")) { 5011 this.getValuedItem().add((ValuedItemComponent) value); 5012 } else 5013 return super.setProperty(name, value); 5014 return value; 5015 } 5016 5017 @Override 5018 public void removeChild(String name, Base value) throws FHIRException { 5019 if (name.equals("scope")) { 5020 this.scope = null; 5021 } else if (name.equals("type")) { 5022 this.getType().remove(value); 5023 } else if (name.equals("typeReference")) { 5024 this.getTypeReference().remove(value); 5025 } else if (name.equals("subtype")) { 5026 this.getSubtype().remove(value); 5027 } else if (name.equals("relationship")) { 5028 this.relationship = null; 5029 } else if (name.equals("context")) { 5030 this.getContext().remove((AssetContextComponent) value); 5031 } else if (name.equals("condition")) { 5032 this.condition = null; 5033 } else if (name.equals("periodType")) { 5034 this.getPeriodType().remove(value); 5035 } else if (name.equals("period")) { 5036 this.getPeriod().remove(value); 5037 } else if (name.equals("usePeriod")) { 5038 this.getUsePeriod().remove(value); 5039 } else if (name.equals("text")) { 5040 this.text = null; 5041 } else if (name.equals("linkId")) { 5042 this.getLinkId().remove(value); 5043 } else if (name.equals("answer")) { 5044 this.getAnswer().remove((AnswerComponent) value); 5045 } else if (name.equals("securityLabelNumber")) { 5046 this.getSecurityLabelNumber().remove(value); 5047 } else if (name.equals("valuedItem")) { 5048 this.getValuedItem().remove((ValuedItemComponent) value); 5049 } else 5050 super.removeChild(name, value); 5051 5052 } 5053 5054 @Override 5055 public Base makeProperty(int hash, String name) throws FHIRException { 5056 switch (hash) { 5057 case 109264468: return getScope(); 5058 case 3575610: return addType(); 5059 case 2074825009: return addTypeReference(); 5060 case -1867567750: return addSubtype(); 5061 case -261851592: return getRelationship(); 5062 case 951530927: return addContext(); 5063 case -861311717: return getConditionElement(); 5064 case 384348315: return addPeriodType(); 5065 case -991726143: return addPeriod(); 5066 case -628382168: return addUsePeriod(); 5067 case 3556653: return getTextElement(); 5068 case -1102667083: return addLinkIdElement(); 5069 case -1412808770: return addAnswer(); 5070 case -149460995: return addSecurityLabelNumberElement(); 5071 case 2046675654: return addValuedItem(); 5072 default: return super.makeProperty(hash, name); 5073 } 5074 5075 } 5076 5077 @Override 5078 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5079 switch (hash) { 5080 case 109264468: /*scope*/ return new String[] {"CodeableConcept"}; 5081 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 5082 case 2074825009: /*typeReference*/ return new String[] {"Reference"}; 5083 case -1867567750: /*subtype*/ return new String[] {"CodeableConcept"}; 5084 case -261851592: /*relationship*/ return new String[] {"Coding"}; 5085 case 951530927: /*context*/ return new String[] {}; 5086 case -861311717: /*condition*/ return new String[] {"string"}; 5087 case 384348315: /*periodType*/ return new String[] {"CodeableConcept"}; 5088 case -991726143: /*period*/ return new String[] {"Period"}; 5089 case -628382168: /*usePeriod*/ return new String[] {"Period"}; 5090 case 3556653: /*text*/ return new String[] {"string"}; 5091 case -1102667083: /*linkId*/ return new String[] {"string"}; 5092 case -1412808770: /*answer*/ return new String[] {"@Contract.term.offer.answer"}; 5093 case -149460995: /*securityLabelNumber*/ return new String[] {"unsignedInt"}; 5094 case 2046675654: /*valuedItem*/ return new String[] {}; 5095 default: return super.getTypesForProperty(hash, name); 5096 } 5097 5098 } 5099 5100 @Override 5101 public Base addChild(String name) throws FHIRException { 5102 if (name.equals("scope")) { 5103 this.scope = new CodeableConcept(); 5104 return this.scope; 5105 } 5106 else if (name.equals("type")) { 5107 return addType(); 5108 } 5109 else if (name.equals("typeReference")) { 5110 return addTypeReference(); 5111 } 5112 else if (name.equals("subtype")) { 5113 return addSubtype(); 5114 } 5115 else if (name.equals("relationship")) { 5116 this.relationship = new Coding(); 5117 return this.relationship; 5118 } 5119 else if (name.equals("context")) { 5120 return addContext(); 5121 } 5122 else if (name.equals("condition")) { 5123 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.condition"); 5124 } 5125 else if (name.equals("periodType")) { 5126 return addPeriodType(); 5127 } 5128 else if (name.equals("period")) { 5129 return addPeriod(); 5130 } 5131 else if (name.equals("usePeriod")) { 5132 return addUsePeriod(); 5133 } 5134 else if (name.equals("text")) { 5135 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.text"); 5136 } 5137 else if (name.equals("linkId")) { 5138 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.linkId"); 5139 } 5140 else if (name.equals("answer")) { 5141 return addAnswer(); 5142 } 5143 else if (name.equals("securityLabelNumber")) { 5144 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.securityLabelNumber"); 5145 } 5146 else if (name.equals("valuedItem")) { 5147 return addValuedItem(); 5148 } 5149 else 5150 return super.addChild(name); 5151 } 5152 5153 public ContractAssetComponent copy() { 5154 ContractAssetComponent dst = new ContractAssetComponent(); 5155 copyValues(dst); 5156 return dst; 5157 } 5158 5159 public void copyValues(ContractAssetComponent dst) { 5160 super.copyValues(dst); 5161 dst.scope = scope == null ? null : scope.copy(); 5162 if (type != null) { 5163 dst.type = new ArrayList<CodeableConcept>(); 5164 for (CodeableConcept i : type) 5165 dst.type.add(i.copy()); 5166 }; 5167 if (typeReference != null) { 5168 dst.typeReference = new ArrayList<Reference>(); 5169 for (Reference i : typeReference) 5170 dst.typeReference.add(i.copy()); 5171 }; 5172 if (subtype != null) { 5173 dst.subtype = new ArrayList<CodeableConcept>(); 5174 for (CodeableConcept i : subtype) 5175 dst.subtype.add(i.copy()); 5176 }; 5177 dst.relationship = relationship == null ? null : relationship.copy(); 5178 if (context != null) { 5179 dst.context = new ArrayList<AssetContextComponent>(); 5180 for (AssetContextComponent i : context) 5181 dst.context.add(i.copy()); 5182 }; 5183 dst.condition = condition == null ? null : condition.copy(); 5184 if (periodType != null) { 5185 dst.periodType = new ArrayList<CodeableConcept>(); 5186 for (CodeableConcept i : periodType) 5187 dst.periodType.add(i.copy()); 5188 }; 5189 if (period != null) { 5190 dst.period = new ArrayList<Period>(); 5191 for (Period i : period) 5192 dst.period.add(i.copy()); 5193 }; 5194 if (usePeriod != null) { 5195 dst.usePeriod = new ArrayList<Period>(); 5196 for (Period i : usePeriod) 5197 dst.usePeriod.add(i.copy()); 5198 }; 5199 dst.text = text == null ? null : text.copy(); 5200 if (linkId != null) { 5201 dst.linkId = new ArrayList<StringType>(); 5202 for (StringType i : linkId) 5203 dst.linkId.add(i.copy()); 5204 }; 5205 if (answer != null) { 5206 dst.answer = new ArrayList<AnswerComponent>(); 5207 for (AnswerComponent i : answer) 5208 dst.answer.add(i.copy()); 5209 }; 5210 if (securityLabelNumber != null) { 5211 dst.securityLabelNumber = new ArrayList<UnsignedIntType>(); 5212 for (UnsignedIntType i : securityLabelNumber) 5213 dst.securityLabelNumber.add(i.copy()); 5214 }; 5215 if (valuedItem != null) { 5216 dst.valuedItem = new ArrayList<ValuedItemComponent>(); 5217 for (ValuedItemComponent i : valuedItem) 5218 dst.valuedItem.add(i.copy()); 5219 }; 5220 } 5221 5222 @Override 5223 public boolean equalsDeep(Base other_) { 5224 if (!super.equalsDeep(other_)) 5225 return false; 5226 if (!(other_ instanceof ContractAssetComponent)) 5227 return false; 5228 ContractAssetComponent o = (ContractAssetComponent) other_; 5229 return compareDeep(scope, o.scope, true) && compareDeep(type, o.type, true) && compareDeep(typeReference, o.typeReference, true) 5230 && compareDeep(subtype, o.subtype, true) && compareDeep(relationship, o.relationship, true) && compareDeep(context, o.context, true) 5231 && compareDeep(condition, o.condition, true) && compareDeep(periodType, o.periodType, true) && compareDeep(period, o.period, true) 5232 && compareDeep(usePeriod, o.usePeriod, true) && compareDeep(text, o.text, true) && compareDeep(linkId, o.linkId, true) 5233 && compareDeep(answer, o.answer, true) && compareDeep(securityLabelNumber, o.securityLabelNumber, true) 5234 && compareDeep(valuedItem, o.valuedItem, true); 5235 } 5236 5237 @Override 5238 public boolean equalsShallow(Base other_) { 5239 if (!super.equalsShallow(other_)) 5240 return false; 5241 if (!(other_ instanceof ContractAssetComponent)) 5242 return false; 5243 ContractAssetComponent o = (ContractAssetComponent) other_; 5244 return compareValues(condition, o.condition, true) && compareValues(text, o.text, true) && compareValues(linkId, o.linkId, true) 5245 && compareValues(securityLabelNumber, o.securityLabelNumber, true); 5246 } 5247 5248 public boolean isEmpty() { 5249 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(scope, type, typeReference 5250 , subtype, relationship, context, condition, periodType, period, usePeriod, text 5251 , linkId, answer, securityLabelNumber, valuedItem); 5252 } 5253 5254 public String fhirType() { 5255 return "Contract.term.asset"; 5256 5257 } 5258 5259 } 5260 5261 @Block() 5262 public static class AssetContextComponent extends BackboneElement implements IBaseBackboneElement { 5263 /** 5264 * Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction. 5265 */ 5266 @Child(name = "reference", type = {Reference.class}, order=1, min=0, max=1, modifier=false, summary=false) 5267 @Description(shortDefinition="Creator,custodian or owner", formalDefinition="Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction." ) 5268 protected Reference reference; 5269 5270 /** 5271 * Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location. 5272 */ 5273 @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5274 @Description(shortDefinition="Codeable asset context", formalDefinition="Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location." ) 5275 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-assetcontext") 5276 protected List<CodeableConcept> code; 5277 5278 /** 5279 * Context description. 5280 */ 5281 @Child(name = "text", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 5282 @Description(shortDefinition="Context description", formalDefinition="Context description." ) 5283 protected StringType text; 5284 5285 private static final long serialVersionUID = -388598648L; 5286 5287 /** 5288 * Constructor 5289 */ 5290 public AssetContextComponent() { 5291 super(); 5292 } 5293 5294 /** 5295 * @return {@link #reference} (Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction.) 5296 */ 5297 public Reference getReference() { 5298 if (this.reference == null) 5299 if (Configuration.errorOnAutoCreate()) 5300 throw new Error("Attempt to auto-create AssetContextComponent.reference"); 5301 else if (Configuration.doAutoCreate()) 5302 this.reference = new Reference(); // cc 5303 return this.reference; 5304 } 5305 5306 public boolean hasReference() { 5307 return this.reference != null && !this.reference.isEmpty(); 5308 } 5309 5310 /** 5311 * @param value {@link #reference} (Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction.) 5312 */ 5313 public AssetContextComponent setReference(Reference value) { 5314 this.reference = value; 5315 return this; 5316 } 5317 5318 /** 5319 * @return {@link #code} (Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location.) 5320 */ 5321 public List<CodeableConcept> getCode() { 5322 if (this.code == null) 5323 this.code = new ArrayList<CodeableConcept>(); 5324 return this.code; 5325 } 5326 5327 /** 5328 * @return Returns a reference to <code>this</code> for easy method chaining 5329 */ 5330 public AssetContextComponent setCode(List<CodeableConcept> theCode) { 5331 this.code = theCode; 5332 return this; 5333 } 5334 5335 public boolean hasCode() { 5336 if (this.code == null) 5337 return false; 5338 for (CodeableConcept item : this.code) 5339 if (!item.isEmpty()) 5340 return true; 5341 return false; 5342 } 5343 5344 public CodeableConcept addCode() { //3 5345 CodeableConcept t = new CodeableConcept(); 5346 if (this.code == null) 5347 this.code = new ArrayList<CodeableConcept>(); 5348 this.code.add(t); 5349 return t; 5350 } 5351 5352 public AssetContextComponent addCode(CodeableConcept t) { //3 5353 if (t == null) 5354 return this; 5355 if (this.code == null) 5356 this.code = new ArrayList<CodeableConcept>(); 5357 this.code.add(t); 5358 return this; 5359 } 5360 5361 /** 5362 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} 5363 */ 5364 public CodeableConcept getCodeFirstRep() { 5365 if (getCode().isEmpty()) { 5366 addCode(); 5367 } 5368 return getCode().get(0); 5369 } 5370 5371 /** 5372 * @return {@link #text} (Context description.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 5373 */ 5374 public StringType getTextElement() { 5375 if (this.text == null) 5376 if (Configuration.errorOnAutoCreate()) 5377 throw new Error("Attempt to auto-create AssetContextComponent.text"); 5378 else if (Configuration.doAutoCreate()) 5379 this.text = new StringType(); // bb 5380 return this.text; 5381 } 5382 5383 public boolean hasTextElement() { 5384 return this.text != null && !this.text.isEmpty(); 5385 } 5386 5387 public boolean hasText() { 5388 return this.text != null && !this.text.isEmpty(); 5389 } 5390 5391 /** 5392 * @param value {@link #text} (Context description.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value 5393 */ 5394 public AssetContextComponent setTextElement(StringType value) { 5395 this.text = value; 5396 return this; 5397 } 5398 5399 /** 5400 * @return Context description. 5401 */ 5402 public String getText() { 5403 return this.text == null ? null : this.text.getValue(); 5404 } 5405 5406 /** 5407 * @param value Context description. 5408 */ 5409 public AssetContextComponent setText(String value) { 5410 if (Utilities.noString(value)) 5411 this.text = null; 5412 else { 5413 if (this.text == null) 5414 this.text = new StringType(); 5415 this.text.setValue(value); 5416 } 5417 return this; 5418 } 5419 5420 protected void listChildren(List<Property> children) { 5421 super.listChildren(children); 5422 children.add(new Property("reference", "Reference(Any)", "Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction.", 0, 1, reference)); 5423 children.add(new Property("code", "CodeableConcept", "Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location.", 0, java.lang.Integer.MAX_VALUE, code)); 5424 children.add(new Property("text", "string", "Context description.", 0, 1, text)); 5425 } 5426 5427 @Override 5428 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 5429 switch (_hash) { 5430 case -925155509: /*reference*/ return new Property("reference", "Reference(Any)", "Asset context reference may include the creator, custodian, or owning Person or Organization (e.g., bank, repository), location held, e.g., building, jurisdiction.", 0, 1, reference); 5431 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Coded representation of the context generally or of the Referenced entity, such as the asset holder type or location.", 0, java.lang.Integer.MAX_VALUE, code); 5432 case 3556653: /*text*/ return new Property("text", "string", "Context description.", 0, 1, text); 5433 default: return super.getNamedProperty(_hash, _name, _checkValid); 5434 } 5435 5436 } 5437 5438 @Override 5439 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 5440 switch (hash) { 5441 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference 5442 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 5443 case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType 5444 default: return super.getProperty(hash, name, checkValid); 5445 } 5446 5447 } 5448 5449 @Override 5450 public Base setProperty(int hash, String name, Base value) throws FHIRException { 5451 switch (hash) { 5452 case -925155509: // reference 5453 this.reference = TypeConvertor.castToReference(value); // Reference 5454 return value; 5455 case 3059181: // code 5456 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 5457 return value; 5458 case 3556653: // text 5459 this.text = TypeConvertor.castToString(value); // StringType 5460 return value; 5461 default: return super.setProperty(hash, name, value); 5462 } 5463 5464 } 5465 5466 @Override 5467 public Base setProperty(String name, Base value) throws FHIRException { 5468 if (name.equals("reference")) { 5469 this.reference = TypeConvertor.castToReference(value); // Reference 5470 } else if (name.equals("code")) { 5471 this.getCode().add(TypeConvertor.castToCodeableConcept(value)); 5472 } else if (name.equals("text")) { 5473 this.text = TypeConvertor.castToString(value); // StringType 5474 } else 5475 return super.setProperty(name, value); 5476 return value; 5477 } 5478 5479 @Override 5480 public void removeChild(String name, Base value) throws FHIRException { 5481 if (name.equals("reference")) { 5482 this.reference = null; 5483 } else if (name.equals("code")) { 5484 this.getCode().remove(value); 5485 } else if (name.equals("text")) { 5486 this.text = null; 5487 } else 5488 super.removeChild(name, value); 5489 5490 } 5491 5492 @Override 5493 public Base makeProperty(int hash, String name) throws FHIRException { 5494 switch (hash) { 5495 case -925155509: return getReference(); 5496 case 3059181: return addCode(); 5497 case 3556653: return getTextElement(); 5498 default: return super.makeProperty(hash, name); 5499 } 5500 5501 } 5502 5503 @Override 5504 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 5505 switch (hash) { 5506 case -925155509: /*reference*/ return new String[] {"Reference"}; 5507 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 5508 case 3556653: /*text*/ return new String[] {"string"}; 5509 default: return super.getTypesForProperty(hash, name); 5510 } 5511 5512 } 5513 5514 @Override 5515 public Base addChild(String name) throws FHIRException { 5516 if (name.equals("reference")) { 5517 this.reference = new Reference(); 5518 return this.reference; 5519 } 5520 else if (name.equals("code")) { 5521 return addCode(); 5522 } 5523 else if (name.equals("text")) { 5524 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.context.text"); 5525 } 5526 else 5527 return super.addChild(name); 5528 } 5529 5530 public AssetContextComponent copy() { 5531 AssetContextComponent dst = new AssetContextComponent(); 5532 copyValues(dst); 5533 return dst; 5534 } 5535 5536 public void copyValues(AssetContextComponent dst) { 5537 super.copyValues(dst); 5538 dst.reference = reference == null ? null : reference.copy(); 5539 if (code != null) { 5540 dst.code = new ArrayList<CodeableConcept>(); 5541 for (CodeableConcept i : code) 5542 dst.code.add(i.copy()); 5543 }; 5544 dst.text = text == null ? null : text.copy(); 5545 } 5546 5547 @Override 5548 public boolean equalsDeep(Base other_) { 5549 if (!super.equalsDeep(other_)) 5550 return false; 5551 if (!(other_ instanceof AssetContextComponent)) 5552 return false; 5553 AssetContextComponent o = (AssetContextComponent) other_; 5554 return compareDeep(reference, o.reference, true) && compareDeep(code, o.code, true) && compareDeep(text, o.text, true) 5555 ; 5556 } 5557 5558 @Override 5559 public boolean equalsShallow(Base other_) { 5560 if (!super.equalsShallow(other_)) 5561 return false; 5562 if (!(other_ instanceof AssetContextComponent)) 5563 return false; 5564 AssetContextComponent o = (AssetContextComponent) other_; 5565 return compareValues(text, o.text, true); 5566 } 5567 5568 public boolean isEmpty() { 5569 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, code, text); 5570 } 5571 5572 public String fhirType() { 5573 return "Contract.term.asset.context"; 5574 5575 } 5576 5577 } 5578 5579 @Block() 5580 public static class ValuedItemComponent extends BackboneElement implements IBaseBackboneElement { 5581 /** 5582 * Specific type of Contract Valued Item that may be priced. 5583 */ 5584 @Child(name = "entity", type = {CodeableConcept.class, Reference.class}, order=1, min=0, max=1, modifier=false, summary=false) 5585 @Description(shortDefinition="Contract Valued Item Type", formalDefinition="Specific type of Contract Valued Item that may be priced." ) 5586 protected DataType entity; 5587 5588 /** 5589 * Identifies a Contract Valued Item instance. 5590 */ 5591 @Child(name = "identifier", type = {Identifier.class}, order=2, min=0, max=1, modifier=false, summary=false) 5592 @Description(shortDefinition="Contract Valued Item Number", formalDefinition="Identifies a Contract Valued Item instance." ) 5593 protected Identifier identifier; 5594 5595 /** 5596 * Indicates the time during which this Contract ValuedItem information is effective. 5597 */ 5598 @Child(name = "effectiveTime", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 5599 @Description(shortDefinition="Contract Valued Item Effective Tiem", formalDefinition="Indicates the time during which this Contract ValuedItem information is effective." ) 5600 protected DateTimeType effectiveTime; 5601 5602 /** 5603 * Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances. 5604 */ 5605 @Child(name = "quantity", type = {Quantity.class}, order=4, min=0, max=1, modifier=false, summary=false) 5606 @Description(shortDefinition="Count of Contract Valued Items", formalDefinition="Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances." ) 5607 protected Quantity quantity; 5608 5609 /** 5610 * A Contract Valued Item unit valuation measure. 5611 */ 5612 @Child(name = "unitPrice", type = {Money.class}, order=5, min=0, max=1, modifier=false, summary=false) 5613 @Description(shortDefinition="Contract Valued Item fee, charge, or cost", formalDefinition="A Contract Valued Item unit valuation measure." ) 5614 protected Money unitPrice; 5615 5616 /** 5617 * A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5618 */ 5619 @Child(name = "factor", type = {DecimalType.class}, order=6, min=0, max=1, modifier=false, summary=false) 5620 @Description(shortDefinition="Contract Valued Item Price Scaling Factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) 5621 protected DecimalType factor; 5622 5623 /** 5624 * An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. 5625 */ 5626 @Child(name = "points", type = {DecimalType.class}, order=7, min=0, max=1, modifier=false, summary=false) 5627 @Description(shortDefinition="Contract Valued Item Difficulty Scaling Factor", formalDefinition="An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point." ) 5628 protected DecimalType points; 5629 5630 /** 5631 * Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied. 5632 */ 5633 @Child(name = "net", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) 5634 @Description(shortDefinition="Total Contract Valued Item Value", formalDefinition="Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied." ) 5635 protected Money net; 5636 5637 /** 5638 * Terms of valuation. 5639 */ 5640 @Child(name = "payment", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) 5641 @Description(shortDefinition="Terms of valuation", formalDefinition="Terms of valuation." ) 5642 protected StringType payment; 5643 5644 /** 5645 * When payment is due. 5646 */ 5647 @Child(name = "paymentDate", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=false) 5648 @Description(shortDefinition="When payment is due", formalDefinition="When payment is due." ) 5649 protected DateTimeType paymentDate; 5650 5651 /** 5652 * Who will make payment. 5653 */ 5654 @Child(name = "responsible", type = {Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=11, min=0, max=1, modifier=false, summary=false) 5655 @Description(shortDefinition="Who will make payment", formalDefinition="Who will make payment." ) 5656 protected Reference responsible; 5657 5658 /** 5659 * Who will receive payment. 5660 */ 5661 @Child(name = "recipient", type = {Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=12, min=0, max=1, modifier=false, summary=false) 5662 @Description(shortDefinition="Who will receive payment", formalDefinition="Who will receive payment." ) 5663 protected Reference recipient; 5664 5665 /** 5666 * Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse. 5667 */ 5668 @Child(name = "linkId", type = {StringType.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5669 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse." ) 5670 protected List<StringType> linkId; 5671 5672 /** 5673 * A set of security labels that define which terms are controlled by this condition. 5674 */ 5675 @Child(name = "securityLabelNumber", type = {UnsignedIntType.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 5676 @Description(shortDefinition="Security Labels that define affected terms", formalDefinition="A set of security labels that define which terms are controlled by this condition." ) 5677 protected List<UnsignedIntType> securityLabelNumber; 5678 5679 private static final long serialVersionUID = 915998998L; 5680 5681 /** 5682 * Constructor 5683 */ 5684 public ValuedItemComponent() { 5685 super(); 5686 } 5687 5688 /** 5689 * @return {@link #entity} (Specific type of Contract Valued Item that may be priced.) 5690 */ 5691 public DataType getEntity() { 5692 return this.entity; 5693 } 5694 5695 /** 5696 * @return {@link #entity} (Specific type of Contract Valued Item that may be priced.) 5697 */ 5698 public CodeableConcept getEntityCodeableConcept() throws FHIRException { 5699 if (this.entity == null) 5700 this.entity = new CodeableConcept(); 5701 if (!(this.entity instanceof CodeableConcept)) 5702 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.entity.getClass().getName()+" was encountered"); 5703 return (CodeableConcept) this.entity; 5704 } 5705 5706 public boolean hasEntityCodeableConcept() { 5707 return this != null && this.entity instanceof CodeableConcept; 5708 } 5709 5710 /** 5711 * @return {@link #entity} (Specific type of Contract Valued Item that may be priced.) 5712 */ 5713 public Reference getEntityReference() throws FHIRException { 5714 if (this.entity == null) 5715 this.entity = new Reference(); 5716 if (!(this.entity instanceof Reference)) 5717 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.entity.getClass().getName()+" was encountered"); 5718 return (Reference) this.entity; 5719 } 5720 5721 public boolean hasEntityReference() { 5722 return this != null && this.entity instanceof Reference; 5723 } 5724 5725 public boolean hasEntity() { 5726 return this.entity != null && !this.entity.isEmpty(); 5727 } 5728 5729 /** 5730 * @param value {@link #entity} (Specific type of Contract Valued Item that may be priced.) 5731 */ 5732 public ValuedItemComponent setEntity(DataType value) { 5733 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 5734 throw new FHIRException("Not the right type for Contract.term.asset.valuedItem.entity[x]: "+value.fhirType()); 5735 this.entity = value; 5736 return this; 5737 } 5738 5739 /** 5740 * @return {@link #identifier} (Identifies a Contract Valued Item instance.) 5741 */ 5742 public Identifier getIdentifier() { 5743 if (this.identifier == null) 5744 if (Configuration.errorOnAutoCreate()) 5745 throw new Error("Attempt to auto-create ValuedItemComponent.identifier"); 5746 else if (Configuration.doAutoCreate()) 5747 this.identifier = new Identifier(); // cc 5748 return this.identifier; 5749 } 5750 5751 public boolean hasIdentifier() { 5752 return this.identifier != null && !this.identifier.isEmpty(); 5753 } 5754 5755 /** 5756 * @param value {@link #identifier} (Identifies a Contract Valued Item instance.) 5757 */ 5758 public ValuedItemComponent setIdentifier(Identifier value) { 5759 this.identifier = value; 5760 return this; 5761 } 5762 5763 /** 5764 * @return {@link #effectiveTime} (Indicates the time during which this Contract ValuedItem information is effective.). This is the underlying object with id, value and extensions. The accessor "getEffectiveTime" gives direct access to the value 5765 */ 5766 public DateTimeType getEffectiveTimeElement() { 5767 if (this.effectiveTime == null) 5768 if (Configuration.errorOnAutoCreate()) 5769 throw new Error("Attempt to auto-create ValuedItemComponent.effectiveTime"); 5770 else if (Configuration.doAutoCreate()) 5771 this.effectiveTime = new DateTimeType(); // bb 5772 return this.effectiveTime; 5773 } 5774 5775 public boolean hasEffectiveTimeElement() { 5776 return this.effectiveTime != null && !this.effectiveTime.isEmpty(); 5777 } 5778 5779 public boolean hasEffectiveTime() { 5780 return this.effectiveTime != null && !this.effectiveTime.isEmpty(); 5781 } 5782 5783 /** 5784 * @param value {@link #effectiveTime} (Indicates the time during which this Contract ValuedItem information is effective.). This is the underlying object with id, value and extensions. The accessor "getEffectiveTime" gives direct access to the value 5785 */ 5786 public ValuedItemComponent setEffectiveTimeElement(DateTimeType value) { 5787 this.effectiveTime = value; 5788 return this; 5789 } 5790 5791 /** 5792 * @return Indicates the time during which this Contract ValuedItem information is effective. 5793 */ 5794 public Date getEffectiveTime() { 5795 return this.effectiveTime == null ? null : this.effectiveTime.getValue(); 5796 } 5797 5798 /** 5799 * @param value Indicates the time during which this Contract ValuedItem information is effective. 5800 */ 5801 public ValuedItemComponent setEffectiveTime(Date value) { 5802 if (value == null) 5803 this.effectiveTime = null; 5804 else { 5805 if (this.effectiveTime == null) 5806 this.effectiveTime = new DateTimeType(); 5807 this.effectiveTime.setValue(value); 5808 } 5809 return this; 5810 } 5811 5812 /** 5813 * @return {@link #quantity} (Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.) 5814 */ 5815 public Quantity getQuantity() { 5816 if (this.quantity == null) 5817 if (Configuration.errorOnAutoCreate()) 5818 throw new Error("Attempt to auto-create ValuedItemComponent.quantity"); 5819 else if (Configuration.doAutoCreate()) 5820 this.quantity = new Quantity(); // cc 5821 return this.quantity; 5822 } 5823 5824 public boolean hasQuantity() { 5825 return this.quantity != null && !this.quantity.isEmpty(); 5826 } 5827 5828 /** 5829 * @param value {@link #quantity} (Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.) 5830 */ 5831 public ValuedItemComponent setQuantity(Quantity value) { 5832 this.quantity = value; 5833 return this; 5834 } 5835 5836 /** 5837 * @return {@link #unitPrice} (A Contract Valued Item unit valuation measure.) 5838 */ 5839 public Money getUnitPrice() { 5840 if (this.unitPrice == null) 5841 if (Configuration.errorOnAutoCreate()) 5842 throw new Error("Attempt to auto-create ValuedItemComponent.unitPrice"); 5843 else if (Configuration.doAutoCreate()) 5844 this.unitPrice = new Money(); // cc 5845 return this.unitPrice; 5846 } 5847 5848 public boolean hasUnitPrice() { 5849 return this.unitPrice != null && !this.unitPrice.isEmpty(); 5850 } 5851 5852 /** 5853 * @param value {@link #unitPrice} (A Contract Valued Item unit valuation measure.) 5854 */ 5855 public ValuedItemComponent setUnitPrice(Money value) { 5856 this.unitPrice = value; 5857 return this; 5858 } 5859 5860 /** 5861 * @return {@link #factor} (A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value 5862 */ 5863 public DecimalType getFactorElement() { 5864 if (this.factor == null) 5865 if (Configuration.errorOnAutoCreate()) 5866 throw new Error("Attempt to auto-create ValuedItemComponent.factor"); 5867 else if (Configuration.doAutoCreate()) 5868 this.factor = new DecimalType(); // bb 5869 return this.factor; 5870 } 5871 5872 public boolean hasFactorElement() { 5873 return this.factor != null && !this.factor.isEmpty(); 5874 } 5875 5876 public boolean hasFactor() { 5877 return this.factor != null && !this.factor.isEmpty(); 5878 } 5879 5880 /** 5881 * @param value {@link #factor} (A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value 5882 */ 5883 public ValuedItemComponent setFactorElement(DecimalType value) { 5884 this.factor = value; 5885 return this; 5886 } 5887 5888 /** 5889 * @return A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5890 */ 5891 public BigDecimal getFactor() { 5892 return this.factor == null ? null : this.factor.getValue(); 5893 } 5894 5895 /** 5896 * @param value A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5897 */ 5898 public ValuedItemComponent setFactor(BigDecimal value) { 5899 if (value == null) 5900 this.factor = null; 5901 else { 5902 if (this.factor == null) 5903 this.factor = new DecimalType(); 5904 this.factor.setValue(value); 5905 } 5906 return this; 5907 } 5908 5909 /** 5910 * @param value A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5911 */ 5912 public ValuedItemComponent setFactor(long value) { 5913 this.factor = new DecimalType(); 5914 this.factor.setValue(value); 5915 return this; 5916 } 5917 5918 /** 5919 * @param value A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. 5920 */ 5921 public ValuedItemComponent setFactor(double value) { 5922 this.factor = new DecimalType(); 5923 this.factor.setValue(value); 5924 return this; 5925 } 5926 5927 /** 5928 * @return {@link #points} (An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.). This is the underlying object with id, value and extensions. The accessor "getPoints" gives direct access to the value 5929 */ 5930 public DecimalType getPointsElement() { 5931 if (this.points == null) 5932 if (Configuration.errorOnAutoCreate()) 5933 throw new Error("Attempt to auto-create ValuedItemComponent.points"); 5934 else if (Configuration.doAutoCreate()) 5935 this.points = new DecimalType(); // bb 5936 return this.points; 5937 } 5938 5939 public boolean hasPointsElement() { 5940 return this.points != null && !this.points.isEmpty(); 5941 } 5942 5943 public boolean hasPoints() { 5944 return this.points != null && !this.points.isEmpty(); 5945 } 5946 5947 /** 5948 * @param value {@link #points} (An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.). This is the underlying object with id, value and extensions. The accessor "getPoints" gives direct access to the value 5949 */ 5950 public ValuedItemComponent setPointsElement(DecimalType value) { 5951 this.points = value; 5952 return this; 5953 } 5954 5955 /** 5956 * @return An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. 5957 */ 5958 public BigDecimal getPoints() { 5959 return this.points == null ? null : this.points.getValue(); 5960 } 5961 5962 /** 5963 * @param value An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. 5964 */ 5965 public ValuedItemComponent setPoints(BigDecimal value) { 5966 if (value == null) 5967 this.points = null; 5968 else { 5969 if (this.points == null) 5970 this.points = new DecimalType(); 5971 this.points.setValue(value); 5972 } 5973 return this; 5974 } 5975 5976 /** 5977 * @param value An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. 5978 */ 5979 public ValuedItemComponent setPoints(long value) { 5980 this.points = new DecimalType(); 5981 this.points.setValue(value); 5982 return this; 5983 } 5984 5985 /** 5986 * @param value An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point. 5987 */ 5988 public ValuedItemComponent setPoints(double value) { 5989 this.points = new DecimalType(); 5990 this.points.setValue(value); 5991 return this; 5992 } 5993 5994 /** 5995 * @return {@link #net} (Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.) 5996 */ 5997 public Money getNet() { 5998 if (this.net == null) 5999 if (Configuration.errorOnAutoCreate()) 6000 throw new Error("Attempt to auto-create ValuedItemComponent.net"); 6001 else if (Configuration.doAutoCreate()) 6002 this.net = new Money(); // cc 6003 return this.net; 6004 } 6005 6006 public boolean hasNet() { 6007 return this.net != null && !this.net.isEmpty(); 6008 } 6009 6010 /** 6011 * @param value {@link #net} (Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.) 6012 */ 6013 public ValuedItemComponent setNet(Money value) { 6014 this.net = value; 6015 return this; 6016 } 6017 6018 /** 6019 * @return {@link #payment} (Terms of valuation.). This is the underlying object with id, value and extensions. The accessor "getPayment" gives direct access to the value 6020 */ 6021 public StringType getPaymentElement() { 6022 if (this.payment == null) 6023 if (Configuration.errorOnAutoCreate()) 6024 throw new Error("Attempt to auto-create ValuedItemComponent.payment"); 6025 else if (Configuration.doAutoCreate()) 6026 this.payment = new StringType(); // bb 6027 return this.payment; 6028 } 6029 6030 public boolean hasPaymentElement() { 6031 return this.payment != null && !this.payment.isEmpty(); 6032 } 6033 6034 public boolean hasPayment() { 6035 return this.payment != null && !this.payment.isEmpty(); 6036 } 6037 6038 /** 6039 * @param value {@link #payment} (Terms of valuation.). This is the underlying object with id, value and extensions. The accessor "getPayment" gives direct access to the value 6040 */ 6041 public ValuedItemComponent setPaymentElement(StringType value) { 6042 this.payment = value; 6043 return this; 6044 } 6045 6046 /** 6047 * @return Terms of valuation. 6048 */ 6049 public String getPayment() { 6050 return this.payment == null ? null : this.payment.getValue(); 6051 } 6052 6053 /** 6054 * @param value Terms of valuation. 6055 */ 6056 public ValuedItemComponent setPayment(String value) { 6057 if (Utilities.noString(value)) 6058 this.payment = null; 6059 else { 6060 if (this.payment == null) 6061 this.payment = new StringType(); 6062 this.payment.setValue(value); 6063 } 6064 return this; 6065 } 6066 6067 /** 6068 * @return {@link #paymentDate} (When payment is due.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value 6069 */ 6070 public DateTimeType getPaymentDateElement() { 6071 if (this.paymentDate == null) 6072 if (Configuration.errorOnAutoCreate()) 6073 throw new Error("Attempt to auto-create ValuedItemComponent.paymentDate"); 6074 else if (Configuration.doAutoCreate()) 6075 this.paymentDate = new DateTimeType(); // bb 6076 return this.paymentDate; 6077 } 6078 6079 public boolean hasPaymentDateElement() { 6080 return this.paymentDate != null && !this.paymentDate.isEmpty(); 6081 } 6082 6083 public boolean hasPaymentDate() { 6084 return this.paymentDate != null && !this.paymentDate.isEmpty(); 6085 } 6086 6087 /** 6088 * @param value {@link #paymentDate} (When payment is due.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value 6089 */ 6090 public ValuedItemComponent setPaymentDateElement(DateTimeType value) { 6091 this.paymentDate = value; 6092 return this; 6093 } 6094 6095 /** 6096 * @return When payment is due. 6097 */ 6098 public Date getPaymentDate() { 6099 return this.paymentDate == null ? null : this.paymentDate.getValue(); 6100 } 6101 6102 /** 6103 * @param value When payment is due. 6104 */ 6105 public ValuedItemComponent setPaymentDate(Date value) { 6106 if (value == null) 6107 this.paymentDate = null; 6108 else { 6109 if (this.paymentDate == null) 6110 this.paymentDate = new DateTimeType(); 6111 this.paymentDate.setValue(value); 6112 } 6113 return this; 6114 } 6115 6116 /** 6117 * @return {@link #responsible} (Who will make payment.) 6118 */ 6119 public Reference getResponsible() { 6120 if (this.responsible == null) 6121 if (Configuration.errorOnAutoCreate()) 6122 throw new Error("Attempt to auto-create ValuedItemComponent.responsible"); 6123 else if (Configuration.doAutoCreate()) 6124 this.responsible = new Reference(); // cc 6125 return this.responsible; 6126 } 6127 6128 public boolean hasResponsible() { 6129 return this.responsible != null && !this.responsible.isEmpty(); 6130 } 6131 6132 /** 6133 * @param value {@link #responsible} (Who will make payment.) 6134 */ 6135 public ValuedItemComponent setResponsible(Reference value) { 6136 this.responsible = value; 6137 return this; 6138 } 6139 6140 /** 6141 * @return {@link #recipient} (Who will receive payment.) 6142 */ 6143 public Reference getRecipient() { 6144 if (this.recipient == null) 6145 if (Configuration.errorOnAutoCreate()) 6146 throw new Error("Attempt to auto-create ValuedItemComponent.recipient"); 6147 else if (Configuration.doAutoCreate()) 6148 this.recipient = new Reference(); // cc 6149 return this.recipient; 6150 } 6151 6152 public boolean hasRecipient() { 6153 return this.recipient != null && !this.recipient.isEmpty(); 6154 } 6155 6156 /** 6157 * @param value {@link #recipient} (Who will receive payment.) 6158 */ 6159 public ValuedItemComponent setRecipient(Reference value) { 6160 this.recipient = value; 6161 return this; 6162 } 6163 6164 /** 6165 * @return {@link #linkId} (Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.) 6166 */ 6167 public List<StringType> getLinkId() { 6168 if (this.linkId == null) 6169 this.linkId = new ArrayList<StringType>(); 6170 return this.linkId; 6171 } 6172 6173 /** 6174 * @return Returns a reference to <code>this</code> for easy method chaining 6175 */ 6176 public ValuedItemComponent setLinkId(List<StringType> theLinkId) { 6177 this.linkId = theLinkId; 6178 return this; 6179 } 6180 6181 public boolean hasLinkId() { 6182 if (this.linkId == null) 6183 return false; 6184 for (StringType item : this.linkId) 6185 if (!item.isEmpty()) 6186 return true; 6187 return false; 6188 } 6189 6190 /** 6191 * @return {@link #linkId} (Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.) 6192 */ 6193 public StringType addLinkIdElement() {//2 6194 StringType t = new StringType(); 6195 if (this.linkId == null) 6196 this.linkId = new ArrayList<StringType>(); 6197 this.linkId.add(t); 6198 return t; 6199 } 6200 6201 /** 6202 * @param value {@link #linkId} (Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.) 6203 */ 6204 public ValuedItemComponent addLinkId(String value) { //1 6205 StringType t = new StringType(); 6206 t.setValue(value); 6207 if (this.linkId == null) 6208 this.linkId = new ArrayList<StringType>(); 6209 this.linkId.add(t); 6210 return this; 6211 } 6212 6213 /** 6214 * @param value {@link #linkId} (Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.) 6215 */ 6216 public boolean hasLinkId(String value) { 6217 if (this.linkId == null) 6218 return false; 6219 for (StringType v : this.linkId) 6220 if (v.getValue().equals(value)) // string 6221 return true; 6222 return false; 6223 } 6224 6225 /** 6226 * @return {@link #securityLabelNumber} (A set of security labels that define which terms are controlled by this condition.) 6227 */ 6228 public List<UnsignedIntType> getSecurityLabelNumber() { 6229 if (this.securityLabelNumber == null) 6230 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 6231 return this.securityLabelNumber; 6232 } 6233 6234 /** 6235 * @return Returns a reference to <code>this</code> for easy method chaining 6236 */ 6237 public ValuedItemComponent setSecurityLabelNumber(List<UnsignedIntType> theSecurityLabelNumber) { 6238 this.securityLabelNumber = theSecurityLabelNumber; 6239 return this; 6240 } 6241 6242 public boolean hasSecurityLabelNumber() { 6243 if (this.securityLabelNumber == null) 6244 return false; 6245 for (UnsignedIntType item : this.securityLabelNumber) 6246 if (!item.isEmpty()) 6247 return true; 6248 return false; 6249 } 6250 6251 /** 6252 * @return {@link #securityLabelNumber} (A set of security labels that define which terms are controlled by this condition.) 6253 */ 6254 public UnsignedIntType addSecurityLabelNumberElement() {//2 6255 UnsignedIntType t = new UnsignedIntType(); 6256 if (this.securityLabelNumber == null) 6257 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 6258 this.securityLabelNumber.add(t); 6259 return t; 6260 } 6261 6262 /** 6263 * @param value {@link #securityLabelNumber} (A set of security labels that define which terms are controlled by this condition.) 6264 */ 6265 public ValuedItemComponent addSecurityLabelNumber(int value) { //1 6266 UnsignedIntType t = new UnsignedIntType(); 6267 t.setValue(value); 6268 if (this.securityLabelNumber == null) 6269 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 6270 this.securityLabelNumber.add(t); 6271 return this; 6272 } 6273 6274 /** 6275 * @param value {@link #securityLabelNumber} (A set of security labels that define which terms are controlled by this condition.) 6276 */ 6277 public boolean hasSecurityLabelNumber(int value) { 6278 if (this.securityLabelNumber == null) 6279 return false; 6280 for (UnsignedIntType v : this.securityLabelNumber) 6281 if (v.getValue().equals(value)) // unsignedInt 6282 return true; 6283 return false; 6284 } 6285 6286 protected void listChildren(List<Property> children) { 6287 super.listChildren(children); 6288 children.add(new Property("entity[x]", "CodeableConcept|Reference(Any)", "Specific type of Contract Valued Item that may be priced.", 0, 1, entity)); 6289 children.add(new Property("identifier", "Identifier", "Identifies a Contract Valued Item instance.", 0, 1, identifier)); 6290 children.add(new Property("effectiveTime", "dateTime", "Indicates the time during which this Contract ValuedItem information is effective.", 0, 1, effectiveTime)); 6291 children.add(new Property("quantity", "Quantity", "Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.", 0, 1, quantity)); 6292 children.add(new Property("unitPrice", "Money", "A Contract Valued Item unit valuation measure.", 0, 1, unitPrice)); 6293 children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); 6294 children.add(new Property("points", "decimal", "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.", 0, 1, points)); 6295 children.add(new Property("net", "Money", "Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.", 0, 1, net)); 6296 children.add(new Property("payment", "string", "Terms of valuation.", 0, 1, payment)); 6297 children.add(new Property("paymentDate", "dateTime", "When payment is due.", 0, 1, paymentDate)); 6298 children.add(new Property("responsible", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Who will make payment.", 0, 1, responsible)); 6299 children.add(new Property("recipient", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Who will receive payment.", 0, 1, recipient)); 6300 children.add(new Property("linkId", "string", "Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId)); 6301 children.add(new Property("securityLabelNumber", "unsignedInt", "A set of security labels that define which terms are controlled by this condition.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber)); 6302 } 6303 6304 @Override 6305 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 6306 switch (_hash) { 6307 case -740568643: /*entity[x]*/ return new Property("entity[x]", "CodeableConcept|Reference(Any)", "Specific type of Contract Valued Item that may be priced.", 0, 1, entity); 6308 case -1298275357: /*entity*/ return new Property("entity[x]", "CodeableConcept|Reference(Any)", "Specific type of Contract Valued Item that may be priced.", 0, 1, entity); 6309 case 924197182: /*entityCodeableConcept*/ return new Property("entity[x]", "CodeableConcept", "Specific type of Contract Valued Item that may be priced.", 0, 1, entity); 6310 case -356635992: /*entityReference*/ return new Property("entity[x]", "Reference(Any)", "Specific type of Contract Valued Item that may be priced.", 0, 1, entity); 6311 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifies a Contract Valued Item instance.", 0, 1, identifier); 6312 case -929905388: /*effectiveTime*/ return new Property("effectiveTime", "dateTime", "Indicates the time during which this Contract ValuedItem information is effective.", 0, 1, effectiveTime); 6313 case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "Specifies the units by which the Contract Valued Item is measured or counted, and quantifies the countable or measurable Contract Valued Item instances.", 0, 1, quantity); 6314 case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "A Contract Valued Item unit valuation measure.", 0, 1, unitPrice); 6315 case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of the Contract Valued Item delivered. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); 6316 case -982754077: /*points*/ return new Property("points", "decimal", "An amount that expresses the weighting (based on difficulty, cost and/or resource intensiveness) associated with the Contract Valued Item delivered. The concept of Points allows for assignment of point values for a Contract Valued Item, such that a monetary amount can be assigned to each point.", 0, 1, points); 6317 case 108957: /*net*/ return new Property("net", "Money", "Expresses the product of the Contract Valued Item unitQuantity and the unitPriceAmt. For example, the formula: unit Quantity * unit Price (Cost per Point) * factor Number * points = net Amount. Quantity, factor and points are assumed to be 1 if not supplied.", 0, 1, net); 6318 case -786681338: /*payment*/ return new Property("payment", "string", "Terms of valuation.", 0, 1, payment); 6319 case -1540873516: /*paymentDate*/ return new Property("paymentDate", "dateTime", "When payment is due.", 0, 1, paymentDate); 6320 case 1847674614: /*responsible*/ return new Property("responsible", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Who will make payment.", 0, 1, responsible); 6321 case 820081177: /*recipient*/ return new Property("recipient", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Who will receive payment.", 0, 1, recipient); 6322 case -1102667083: /*linkId*/ return new Property("linkId", "string", "Id of the clause or question text related to the context of this valuedItem in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId); 6323 case -149460995: /*securityLabelNumber*/ return new Property("securityLabelNumber", "unsignedInt", "A set of security labels that define which terms are controlled by this condition.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber); 6324 default: return super.getNamedProperty(_hash, _name, _checkValid); 6325 } 6326 6327 } 6328 6329 @Override 6330 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 6331 switch (hash) { 6332 case -1298275357: /*entity*/ return this.entity == null ? new Base[0] : new Base[] {this.entity}; // DataType 6333 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 6334 case -929905388: /*effectiveTime*/ return this.effectiveTime == null ? new Base[0] : new Base[] {this.effectiveTime}; // DateTimeType 6335 case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity 6336 case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money 6337 case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType 6338 case -982754077: /*points*/ return this.points == null ? new Base[0] : new Base[] {this.points}; // DecimalType 6339 case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money 6340 case -786681338: /*payment*/ return this.payment == null ? new Base[0] : new Base[] {this.payment}; // StringType 6341 case -1540873516: /*paymentDate*/ return this.paymentDate == null ? new Base[0] : new Base[] {this.paymentDate}; // DateTimeType 6342 case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // Reference 6343 case 820081177: /*recipient*/ return this.recipient == null ? new Base[0] : new Base[] {this.recipient}; // Reference 6344 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : this.linkId.toArray(new Base[this.linkId.size()]); // StringType 6345 case -149460995: /*securityLabelNumber*/ return this.securityLabelNumber == null ? new Base[0] : this.securityLabelNumber.toArray(new Base[this.securityLabelNumber.size()]); // UnsignedIntType 6346 default: return super.getProperty(hash, name, checkValid); 6347 } 6348 6349 } 6350 6351 @Override 6352 public Base setProperty(int hash, String name, Base value) throws FHIRException { 6353 switch (hash) { 6354 case -1298275357: // entity 6355 this.entity = TypeConvertor.castToType(value); // DataType 6356 return value; 6357 case -1618432855: // identifier 6358 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 6359 return value; 6360 case -929905388: // effectiveTime 6361 this.effectiveTime = TypeConvertor.castToDateTime(value); // DateTimeType 6362 return value; 6363 case -1285004149: // quantity 6364 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 6365 return value; 6366 case -486196699: // unitPrice 6367 this.unitPrice = TypeConvertor.castToMoney(value); // Money 6368 return value; 6369 case -1282148017: // factor 6370 this.factor = TypeConvertor.castToDecimal(value); // DecimalType 6371 return value; 6372 case -982754077: // points 6373 this.points = TypeConvertor.castToDecimal(value); // DecimalType 6374 return value; 6375 case 108957: // net 6376 this.net = TypeConvertor.castToMoney(value); // Money 6377 return value; 6378 case -786681338: // payment 6379 this.payment = TypeConvertor.castToString(value); // StringType 6380 return value; 6381 case -1540873516: // paymentDate 6382 this.paymentDate = TypeConvertor.castToDateTime(value); // DateTimeType 6383 return value; 6384 case 1847674614: // responsible 6385 this.responsible = TypeConvertor.castToReference(value); // Reference 6386 return value; 6387 case 820081177: // recipient 6388 this.recipient = TypeConvertor.castToReference(value); // Reference 6389 return value; 6390 case -1102667083: // linkId 6391 this.getLinkId().add(TypeConvertor.castToString(value)); // StringType 6392 return value; 6393 case -149460995: // securityLabelNumber 6394 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); // UnsignedIntType 6395 return value; 6396 default: return super.setProperty(hash, name, value); 6397 } 6398 6399 } 6400 6401 @Override 6402 public Base setProperty(String name, Base value) throws FHIRException { 6403 if (name.equals("entity[x]")) { 6404 this.entity = TypeConvertor.castToType(value); // DataType 6405 } else if (name.equals("identifier")) { 6406 this.identifier = TypeConvertor.castToIdentifier(value); // Identifier 6407 } else if (name.equals("effectiveTime")) { 6408 this.effectiveTime = TypeConvertor.castToDateTime(value); // DateTimeType 6409 } else if (name.equals("quantity")) { 6410 this.quantity = TypeConvertor.castToQuantity(value); // Quantity 6411 } else if (name.equals("unitPrice")) { 6412 this.unitPrice = TypeConvertor.castToMoney(value); // Money 6413 } else if (name.equals("factor")) { 6414 this.factor = TypeConvertor.castToDecimal(value); // DecimalType 6415 } else if (name.equals("points")) { 6416 this.points = TypeConvertor.castToDecimal(value); // DecimalType 6417 } else if (name.equals("net")) { 6418 this.net = TypeConvertor.castToMoney(value); // Money 6419 } else if (name.equals("payment")) { 6420 this.payment = TypeConvertor.castToString(value); // StringType 6421 } else if (name.equals("paymentDate")) { 6422 this.paymentDate = TypeConvertor.castToDateTime(value); // DateTimeType 6423 } else if (name.equals("responsible")) { 6424 this.responsible = TypeConvertor.castToReference(value); // Reference 6425 } else if (name.equals("recipient")) { 6426 this.recipient = TypeConvertor.castToReference(value); // Reference 6427 } else if (name.equals("linkId")) { 6428 this.getLinkId().add(TypeConvertor.castToString(value)); 6429 } else if (name.equals("securityLabelNumber")) { 6430 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); 6431 } else 6432 return super.setProperty(name, value); 6433 return value; 6434 } 6435 6436 @Override 6437 public void removeChild(String name, Base value) throws FHIRException { 6438 if (name.equals("entity[x]")) { 6439 this.entity = null; 6440 } else if (name.equals("identifier")) { 6441 this.identifier = null; 6442 } else if (name.equals("effectiveTime")) { 6443 this.effectiveTime = null; 6444 } else if (name.equals("quantity")) { 6445 this.quantity = null; 6446 } else if (name.equals("unitPrice")) { 6447 this.unitPrice = null; 6448 } else if (name.equals("factor")) { 6449 this.factor = null; 6450 } else if (name.equals("points")) { 6451 this.points = null; 6452 } else if (name.equals("net")) { 6453 this.net = null; 6454 } else if (name.equals("payment")) { 6455 this.payment = null; 6456 } else if (name.equals("paymentDate")) { 6457 this.paymentDate = null; 6458 } else if (name.equals("responsible")) { 6459 this.responsible = null; 6460 } else if (name.equals("recipient")) { 6461 this.recipient = null; 6462 } else if (name.equals("linkId")) { 6463 this.getLinkId().remove(value); 6464 } else if (name.equals("securityLabelNumber")) { 6465 this.getSecurityLabelNumber().remove(value); 6466 } else 6467 super.removeChild(name, value); 6468 6469 } 6470 6471 @Override 6472 public Base makeProperty(int hash, String name) throws FHIRException { 6473 switch (hash) { 6474 case -740568643: return getEntity(); 6475 case -1298275357: return getEntity(); 6476 case -1618432855: return getIdentifier(); 6477 case -929905388: return getEffectiveTimeElement(); 6478 case -1285004149: return getQuantity(); 6479 case -486196699: return getUnitPrice(); 6480 case -1282148017: return getFactorElement(); 6481 case -982754077: return getPointsElement(); 6482 case 108957: return getNet(); 6483 case -786681338: return getPaymentElement(); 6484 case -1540873516: return getPaymentDateElement(); 6485 case 1847674614: return getResponsible(); 6486 case 820081177: return getRecipient(); 6487 case -1102667083: return addLinkIdElement(); 6488 case -149460995: return addSecurityLabelNumberElement(); 6489 default: return super.makeProperty(hash, name); 6490 } 6491 6492 } 6493 6494 @Override 6495 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 6496 switch (hash) { 6497 case -1298275357: /*entity*/ return new String[] {"CodeableConcept", "Reference"}; 6498 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 6499 case -929905388: /*effectiveTime*/ return new String[] {"dateTime"}; 6500 case -1285004149: /*quantity*/ return new String[] {"Quantity"}; 6501 case -486196699: /*unitPrice*/ return new String[] {"Money"}; 6502 case -1282148017: /*factor*/ return new String[] {"decimal"}; 6503 case -982754077: /*points*/ return new String[] {"decimal"}; 6504 case 108957: /*net*/ return new String[] {"Money"}; 6505 case -786681338: /*payment*/ return new String[] {"string"}; 6506 case -1540873516: /*paymentDate*/ return new String[] {"dateTime"}; 6507 case 1847674614: /*responsible*/ return new String[] {"Reference"}; 6508 case 820081177: /*recipient*/ return new String[] {"Reference"}; 6509 case -1102667083: /*linkId*/ return new String[] {"string"}; 6510 case -149460995: /*securityLabelNumber*/ return new String[] {"unsignedInt"}; 6511 default: return super.getTypesForProperty(hash, name); 6512 } 6513 6514 } 6515 6516 @Override 6517 public Base addChild(String name) throws FHIRException { 6518 if (name.equals("entityCodeableConcept")) { 6519 this.entity = new CodeableConcept(); 6520 return this.entity; 6521 } 6522 else if (name.equals("entityReference")) { 6523 this.entity = new Reference(); 6524 return this.entity; 6525 } 6526 else if (name.equals("identifier")) { 6527 this.identifier = new Identifier(); 6528 return this.identifier; 6529 } 6530 else if (name.equals("effectiveTime")) { 6531 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.effectiveTime"); 6532 } 6533 else if (name.equals("quantity")) { 6534 this.quantity = new Quantity(); 6535 return this.quantity; 6536 } 6537 else if (name.equals("unitPrice")) { 6538 this.unitPrice = new Money(); 6539 return this.unitPrice; 6540 } 6541 else if (name.equals("factor")) { 6542 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.factor"); 6543 } 6544 else if (name.equals("points")) { 6545 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.points"); 6546 } 6547 else if (name.equals("net")) { 6548 this.net = new Money(); 6549 return this.net; 6550 } 6551 else if (name.equals("payment")) { 6552 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.payment"); 6553 } 6554 else if (name.equals("paymentDate")) { 6555 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.paymentDate"); 6556 } 6557 else if (name.equals("responsible")) { 6558 this.responsible = new Reference(); 6559 return this.responsible; 6560 } 6561 else if (name.equals("recipient")) { 6562 this.recipient = new Reference(); 6563 return this.recipient; 6564 } 6565 else if (name.equals("linkId")) { 6566 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.linkId"); 6567 } 6568 else if (name.equals("securityLabelNumber")) { 6569 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.asset.valuedItem.securityLabelNumber"); 6570 } 6571 else 6572 return super.addChild(name); 6573 } 6574 6575 public ValuedItemComponent copy() { 6576 ValuedItemComponent dst = new ValuedItemComponent(); 6577 copyValues(dst); 6578 return dst; 6579 } 6580 6581 public void copyValues(ValuedItemComponent dst) { 6582 super.copyValues(dst); 6583 dst.entity = entity == null ? null : entity.copy(); 6584 dst.identifier = identifier == null ? null : identifier.copy(); 6585 dst.effectiveTime = effectiveTime == null ? null : effectiveTime.copy(); 6586 dst.quantity = quantity == null ? null : quantity.copy(); 6587 dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); 6588 dst.factor = factor == null ? null : factor.copy(); 6589 dst.points = points == null ? null : points.copy(); 6590 dst.net = net == null ? null : net.copy(); 6591 dst.payment = payment == null ? null : payment.copy(); 6592 dst.paymentDate = paymentDate == null ? null : paymentDate.copy(); 6593 dst.responsible = responsible == null ? null : responsible.copy(); 6594 dst.recipient = recipient == null ? null : recipient.copy(); 6595 if (linkId != null) { 6596 dst.linkId = new ArrayList<StringType>(); 6597 for (StringType i : linkId) 6598 dst.linkId.add(i.copy()); 6599 }; 6600 if (securityLabelNumber != null) { 6601 dst.securityLabelNumber = new ArrayList<UnsignedIntType>(); 6602 for (UnsignedIntType i : securityLabelNumber) 6603 dst.securityLabelNumber.add(i.copy()); 6604 }; 6605 } 6606 6607 @Override 6608 public boolean equalsDeep(Base other_) { 6609 if (!super.equalsDeep(other_)) 6610 return false; 6611 if (!(other_ instanceof ValuedItemComponent)) 6612 return false; 6613 ValuedItemComponent o = (ValuedItemComponent) other_; 6614 return compareDeep(entity, o.entity, true) && compareDeep(identifier, o.identifier, true) && compareDeep(effectiveTime, o.effectiveTime, true) 6615 && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) 6616 && compareDeep(points, o.points, true) && compareDeep(net, o.net, true) && compareDeep(payment, o.payment, true) 6617 && compareDeep(paymentDate, o.paymentDate, true) && compareDeep(responsible, o.responsible, true) 6618 && compareDeep(recipient, o.recipient, true) && compareDeep(linkId, o.linkId, true) && compareDeep(securityLabelNumber, o.securityLabelNumber, true) 6619 ; 6620 } 6621 6622 @Override 6623 public boolean equalsShallow(Base other_) { 6624 if (!super.equalsShallow(other_)) 6625 return false; 6626 if (!(other_ instanceof ValuedItemComponent)) 6627 return false; 6628 ValuedItemComponent o = (ValuedItemComponent) other_; 6629 return compareValues(effectiveTime, o.effectiveTime, true) && compareValues(factor, o.factor, true) 6630 && compareValues(points, o.points, true) && compareValues(payment, o.payment, true) && compareValues(paymentDate, o.paymentDate, true) 6631 && compareValues(linkId, o.linkId, true) && compareValues(securityLabelNumber, o.securityLabelNumber, true) 6632 ; 6633 } 6634 6635 public boolean isEmpty() { 6636 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(entity, identifier, effectiveTime 6637 , quantity, unitPrice, factor, points, net, payment, paymentDate, responsible 6638 , recipient, linkId, securityLabelNumber); 6639 } 6640 6641 public String fhirType() { 6642 return "Contract.term.asset.valuedItem"; 6643 6644 } 6645 6646 } 6647 6648 @Block() 6649 public static class ActionComponent extends BackboneElement implements IBaseBackboneElement { 6650 /** 6651 * True if the term prohibits the action. 6652 */ 6653 @Child(name = "doNotPerform", type = {BooleanType.class}, order=1, min=0, max=1, modifier=true, summary=false) 6654 @Description(shortDefinition="True if the term prohibits the action", formalDefinition="True if the term prohibits the action." ) 6655 protected BooleanType doNotPerform; 6656 6657 /** 6658 * Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term. 6659 */ 6660 @Child(name = "type", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) 6661 @Description(shortDefinition="Type or form of the action", formalDefinition="Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term." ) 6662 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-action") 6663 protected CodeableConcept type; 6664 6665 /** 6666 * Entity of the action. 6667 */ 6668 @Child(name = "subject", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6669 @Description(shortDefinition="Entity of the action", formalDefinition="Entity of the action." ) 6670 protected List<ActionSubjectComponent> subject; 6671 6672 /** 6673 * Reason or purpose for the action stipulated by this Contract Provision. 6674 */ 6675 @Child(name = "intent", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=false) 6676 @Description(shortDefinition="Purpose for the Contract Term Action", formalDefinition="Reason or purpose for the action stipulated by this Contract Provision." ) 6677 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-PurposeOfUse") 6678 protected CodeableConcept intent; 6679 6680 /** 6681 * Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse. 6682 */ 6683 @Child(name = "linkId", type = {StringType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6684 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse." ) 6685 protected List<StringType> linkId; 6686 6687 /** 6688 * Current state of the term action. 6689 */ 6690 @Child(name = "status", type = {CodeableConcept.class}, order=6, min=1, max=1, modifier=false, summary=false) 6691 @Description(shortDefinition="State of the action", formalDefinition="Current state of the term action." ) 6692 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-actionstatus") 6693 protected CodeableConcept status; 6694 6695 /** 6696 * Encounter or Episode with primary association to the specified term activity. 6697 */ 6698 @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=7, min=0, max=1, modifier=false, summary=false) 6699 @Description(shortDefinition="Episode associated with action", formalDefinition="Encounter or Episode with primary association to the specified term activity." ) 6700 protected Reference context; 6701 6702 /** 6703 * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. 6704 */ 6705 @Child(name = "contextLinkId", type = {StringType.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6706 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse." ) 6707 protected List<StringType> contextLinkId; 6708 6709 /** 6710 * When action happens. 6711 */ 6712 @Child(name = "occurrence", type = {DateTimeType.class, Period.class, Timing.class}, order=9, min=0, max=1, modifier=false, summary=false) 6713 @Description(shortDefinition="When action happens", formalDefinition="When action happens." ) 6714 protected DataType occurrence; 6715 6716 /** 6717 * Who or what initiated the action and has responsibility for its activation. 6718 */ 6719 @Child(name = "requester", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class, Group.class, Organization.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6720 @Description(shortDefinition="Who asked for action", formalDefinition="Who or what initiated the action and has responsibility for its activation." ) 6721 protected List<Reference> requester; 6722 6723 /** 6724 * Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse. 6725 */ 6726 @Child(name = "requesterLinkId", type = {StringType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6727 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse." ) 6728 protected List<StringType> requesterLinkId; 6729 6730 /** 6731 * The type of individual that is desired or required to perform or not perform the action. 6732 */ 6733 @Child(name = "performerType", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6734 @Description(shortDefinition="Kind of service performer", formalDefinition="The type of individual that is desired or required to perform or not perform the action." ) 6735 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participation-role-type") 6736 protected List<CodeableConcept> performerType; 6737 6738 /** 6739 * The type of role or competency of an individual desired or required to perform or not perform the action. 6740 */ 6741 @Child(name = "performerRole", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=false) 6742 @Description(shortDefinition="Competency of the performer", formalDefinition="The type of role or competency of an individual desired or required to perform or not perform the action." ) 6743 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/security-role-type") 6744 protected CodeableConcept performerRole; 6745 6746 /** 6747 * Indicates who or what is being asked to perform (or not perform) the ction. 6748 */ 6749 @Child(name = "performer", type = {RelatedPerson.class, Patient.class, Practitioner.class, PractitionerRole.class, CareTeam.class, Device.class, Substance.class, Organization.class, Location.class}, order=14, min=0, max=1, modifier=false, summary=false) 6750 @Description(shortDefinition="Actor that wil execute (or not) the action", formalDefinition="Indicates who or what is being asked to perform (or not perform) the ction." ) 6751 protected Reference performer; 6752 6753 /** 6754 * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. 6755 */ 6756 @Child(name = "performerLinkId", type = {StringType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6757 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse." ) 6758 protected List<StringType> performerLinkId; 6759 6760 /** 6761 * Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action. 6762 */ 6763 @Child(name = "reason", type = {CodeableReference.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6764 @Description(shortDefinition="Why is action (not) needed?", formalDefinition="Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action." ) 6765 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-PurposeOfUse") 6766 protected List<CodeableReference> reason; 6767 6768 /** 6769 * Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse. 6770 */ 6771 @Child(name = "reasonLinkId", type = {StringType.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6772 @Description(shortDefinition="Pointer to specific item", formalDefinition="Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse." ) 6773 protected List<StringType> reasonLinkId; 6774 6775 /** 6776 * Comments made about the term action made by the requester, performer, subject or other participants. 6777 */ 6778 @Child(name = "note", type = {Annotation.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6779 @Description(shortDefinition="Comments about the action", formalDefinition="Comments made about the term action made by the requester, performer, subject or other participants." ) 6780 protected List<Annotation> note; 6781 6782 /** 6783 * Security labels that protects the action. 6784 */ 6785 @Child(name = "securityLabelNumber", type = {UnsignedIntType.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 6786 @Description(shortDefinition="Action restriction numbers", formalDefinition="Security labels that protects the action." ) 6787 protected List<UnsignedIntType> securityLabelNumber; 6788 6789 private static final long serialVersionUID = 337159017L; 6790 6791 /** 6792 * Constructor 6793 */ 6794 public ActionComponent() { 6795 super(); 6796 } 6797 6798 /** 6799 * Constructor 6800 */ 6801 public ActionComponent(CodeableConcept type, CodeableConcept intent, CodeableConcept status) { 6802 super(); 6803 this.setType(type); 6804 this.setIntent(intent); 6805 this.setStatus(status); 6806 } 6807 6808 /** 6809 * @return {@link #doNotPerform} (True if the term prohibits the action.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 6810 */ 6811 public BooleanType getDoNotPerformElement() { 6812 if (this.doNotPerform == null) 6813 if (Configuration.errorOnAutoCreate()) 6814 throw new Error("Attempt to auto-create ActionComponent.doNotPerform"); 6815 else if (Configuration.doAutoCreate()) 6816 this.doNotPerform = new BooleanType(); // bb 6817 return this.doNotPerform; 6818 } 6819 6820 public boolean hasDoNotPerformElement() { 6821 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 6822 } 6823 6824 public boolean hasDoNotPerform() { 6825 return this.doNotPerform != null && !this.doNotPerform.isEmpty(); 6826 } 6827 6828 /** 6829 * @param value {@link #doNotPerform} (True if the term prohibits the action.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value 6830 */ 6831 public ActionComponent setDoNotPerformElement(BooleanType value) { 6832 this.doNotPerform = value; 6833 return this; 6834 } 6835 6836 /** 6837 * @return True if the term prohibits the action. 6838 */ 6839 public boolean getDoNotPerform() { 6840 return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); 6841 } 6842 6843 /** 6844 * @param value True if the term prohibits the action. 6845 */ 6846 public ActionComponent setDoNotPerform(boolean value) { 6847 if (this.doNotPerform == null) 6848 this.doNotPerform = new BooleanType(); 6849 this.doNotPerform.setValue(value); 6850 return this; 6851 } 6852 6853 /** 6854 * @return {@link #type} (Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.) 6855 */ 6856 public CodeableConcept getType() { 6857 if (this.type == null) 6858 if (Configuration.errorOnAutoCreate()) 6859 throw new Error("Attempt to auto-create ActionComponent.type"); 6860 else if (Configuration.doAutoCreate()) 6861 this.type = new CodeableConcept(); // cc 6862 return this.type; 6863 } 6864 6865 public boolean hasType() { 6866 return this.type != null && !this.type.isEmpty(); 6867 } 6868 6869 /** 6870 * @param value {@link #type} (Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.) 6871 */ 6872 public ActionComponent setType(CodeableConcept value) { 6873 this.type = value; 6874 return this; 6875 } 6876 6877 /** 6878 * @return {@link #subject} (Entity of the action.) 6879 */ 6880 public List<ActionSubjectComponent> getSubject() { 6881 if (this.subject == null) 6882 this.subject = new ArrayList<ActionSubjectComponent>(); 6883 return this.subject; 6884 } 6885 6886 /** 6887 * @return Returns a reference to <code>this</code> for easy method chaining 6888 */ 6889 public ActionComponent setSubject(List<ActionSubjectComponent> theSubject) { 6890 this.subject = theSubject; 6891 return this; 6892 } 6893 6894 public boolean hasSubject() { 6895 if (this.subject == null) 6896 return false; 6897 for (ActionSubjectComponent item : this.subject) 6898 if (!item.isEmpty()) 6899 return true; 6900 return false; 6901 } 6902 6903 public ActionSubjectComponent addSubject() { //3 6904 ActionSubjectComponent t = new ActionSubjectComponent(); 6905 if (this.subject == null) 6906 this.subject = new ArrayList<ActionSubjectComponent>(); 6907 this.subject.add(t); 6908 return t; 6909 } 6910 6911 public ActionComponent addSubject(ActionSubjectComponent t) { //3 6912 if (t == null) 6913 return this; 6914 if (this.subject == null) 6915 this.subject = new ArrayList<ActionSubjectComponent>(); 6916 this.subject.add(t); 6917 return this; 6918 } 6919 6920 /** 6921 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} 6922 */ 6923 public ActionSubjectComponent getSubjectFirstRep() { 6924 if (getSubject().isEmpty()) { 6925 addSubject(); 6926 } 6927 return getSubject().get(0); 6928 } 6929 6930 /** 6931 * @return {@link #intent} (Reason or purpose for the action stipulated by this Contract Provision.) 6932 */ 6933 public CodeableConcept getIntent() { 6934 if (this.intent == null) 6935 if (Configuration.errorOnAutoCreate()) 6936 throw new Error("Attempt to auto-create ActionComponent.intent"); 6937 else if (Configuration.doAutoCreate()) 6938 this.intent = new CodeableConcept(); // cc 6939 return this.intent; 6940 } 6941 6942 public boolean hasIntent() { 6943 return this.intent != null && !this.intent.isEmpty(); 6944 } 6945 6946 /** 6947 * @param value {@link #intent} (Reason or purpose for the action stipulated by this Contract Provision.) 6948 */ 6949 public ActionComponent setIntent(CodeableConcept value) { 6950 this.intent = value; 6951 return this; 6952 } 6953 6954 /** 6955 * @return {@link #linkId} (Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.) 6956 */ 6957 public List<StringType> getLinkId() { 6958 if (this.linkId == null) 6959 this.linkId = new ArrayList<StringType>(); 6960 return this.linkId; 6961 } 6962 6963 /** 6964 * @return Returns a reference to <code>this</code> for easy method chaining 6965 */ 6966 public ActionComponent setLinkId(List<StringType> theLinkId) { 6967 this.linkId = theLinkId; 6968 return this; 6969 } 6970 6971 public boolean hasLinkId() { 6972 if (this.linkId == null) 6973 return false; 6974 for (StringType item : this.linkId) 6975 if (!item.isEmpty()) 6976 return true; 6977 return false; 6978 } 6979 6980 /** 6981 * @return {@link #linkId} (Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.) 6982 */ 6983 public StringType addLinkIdElement() {//2 6984 StringType t = new StringType(); 6985 if (this.linkId == null) 6986 this.linkId = new ArrayList<StringType>(); 6987 this.linkId.add(t); 6988 return t; 6989 } 6990 6991 /** 6992 * @param value {@link #linkId} (Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.) 6993 */ 6994 public ActionComponent addLinkId(String value) { //1 6995 StringType t = new StringType(); 6996 t.setValue(value); 6997 if (this.linkId == null) 6998 this.linkId = new ArrayList<StringType>(); 6999 this.linkId.add(t); 7000 return this; 7001 } 7002 7003 /** 7004 * @param value {@link #linkId} (Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.) 7005 */ 7006 public boolean hasLinkId(String value) { 7007 if (this.linkId == null) 7008 return false; 7009 for (StringType v : this.linkId) 7010 if (v.getValue().equals(value)) // string 7011 return true; 7012 return false; 7013 } 7014 7015 /** 7016 * @return {@link #status} (Current state of the term action.) 7017 */ 7018 public CodeableConcept getStatus() { 7019 if (this.status == null) 7020 if (Configuration.errorOnAutoCreate()) 7021 throw new Error("Attempt to auto-create ActionComponent.status"); 7022 else if (Configuration.doAutoCreate()) 7023 this.status = new CodeableConcept(); // cc 7024 return this.status; 7025 } 7026 7027 public boolean hasStatus() { 7028 return this.status != null && !this.status.isEmpty(); 7029 } 7030 7031 /** 7032 * @param value {@link #status} (Current state of the term action.) 7033 */ 7034 public ActionComponent setStatus(CodeableConcept value) { 7035 this.status = value; 7036 return this; 7037 } 7038 7039 /** 7040 * @return {@link #context} (Encounter or Episode with primary association to the specified term activity.) 7041 */ 7042 public Reference getContext() { 7043 if (this.context == null) 7044 if (Configuration.errorOnAutoCreate()) 7045 throw new Error("Attempt to auto-create ActionComponent.context"); 7046 else if (Configuration.doAutoCreate()) 7047 this.context = new Reference(); // cc 7048 return this.context; 7049 } 7050 7051 public boolean hasContext() { 7052 return this.context != null && !this.context.isEmpty(); 7053 } 7054 7055 /** 7056 * @param value {@link #context} (Encounter or Episode with primary association to the specified term activity.) 7057 */ 7058 public ActionComponent setContext(Reference value) { 7059 this.context = value; 7060 return this; 7061 } 7062 7063 /** 7064 * @return {@link #contextLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7065 */ 7066 public List<StringType> getContextLinkId() { 7067 if (this.contextLinkId == null) 7068 this.contextLinkId = new ArrayList<StringType>(); 7069 return this.contextLinkId; 7070 } 7071 7072 /** 7073 * @return Returns a reference to <code>this</code> for easy method chaining 7074 */ 7075 public ActionComponent setContextLinkId(List<StringType> theContextLinkId) { 7076 this.contextLinkId = theContextLinkId; 7077 return this; 7078 } 7079 7080 public boolean hasContextLinkId() { 7081 if (this.contextLinkId == null) 7082 return false; 7083 for (StringType item : this.contextLinkId) 7084 if (!item.isEmpty()) 7085 return true; 7086 return false; 7087 } 7088 7089 /** 7090 * @return {@link #contextLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7091 */ 7092 public StringType addContextLinkIdElement() {//2 7093 StringType t = new StringType(); 7094 if (this.contextLinkId == null) 7095 this.contextLinkId = new ArrayList<StringType>(); 7096 this.contextLinkId.add(t); 7097 return t; 7098 } 7099 7100 /** 7101 * @param value {@link #contextLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7102 */ 7103 public ActionComponent addContextLinkId(String value) { //1 7104 StringType t = new StringType(); 7105 t.setValue(value); 7106 if (this.contextLinkId == null) 7107 this.contextLinkId = new ArrayList<StringType>(); 7108 this.contextLinkId.add(t); 7109 return this; 7110 } 7111 7112 /** 7113 * @param value {@link #contextLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7114 */ 7115 public boolean hasContextLinkId(String value) { 7116 if (this.contextLinkId == null) 7117 return false; 7118 for (StringType v : this.contextLinkId) 7119 if (v.getValue().equals(value)) // string 7120 return true; 7121 return false; 7122 } 7123 7124 /** 7125 * @return {@link #occurrence} (When action happens.) 7126 */ 7127 public DataType getOccurrence() { 7128 return this.occurrence; 7129 } 7130 7131 /** 7132 * @return {@link #occurrence} (When action happens.) 7133 */ 7134 public DateTimeType getOccurrenceDateTimeType() throws FHIRException { 7135 if (this.occurrence == null) 7136 this.occurrence = new DateTimeType(); 7137 if (!(this.occurrence instanceof DateTimeType)) 7138 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 7139 return (DateTimeType) this.occurrence; 7140 } 7141 7142 public boolean hasOccurrenceDateTimeType() { 7143 return this != null && this.occurrence instanceof DateTimeType; 7144 } 7145 7146 /** 7147 * @return {@link #occurrence} (When action happens.) 7148 */ 7149 public Period getOccurrencePeriod() throws FHIRException { 7150 if (this.occurrence == null) 7151 this.occurrence = new Period(); 7152 if (!(this.occurrence instanceof Period)) 7153 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 7154 return (Period) this.occurrence; 7155 } 7156 7157 public boolean hasOccurrencePeriod() { 7158 return this != null && this.occurrence instanceof Period; 7159 } 7160 7161 /** 7162 * @return {@link #occurrence} (When action happens.) 7163 */ 7164 public Timing getOccurrenceTiming() throws FHIRException { 7165 if (this.occurrence == null) 7166 this.occurrence = new Timing(); 7167 if (!(this.occurrence instanceof Timing)) 7168 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.occurrence.getClass().getName()+" was encountered"); 7169 return (Timing) this.occurrence; 7170 } 7171 7172 public boolean hasOccurrenceTiming() { 7173 return this != null && this.occurrence instanceof Timing; 7174 } 7175 7176 public boolean hasOccurrence() { 7177 return this.occurrence != null && !this.occurrence.isEmpty(); 7178 } 7179 7180 /** 7181 * @param value {@link #occurrence} (When action happens.) 7182 */ 7183 public ActionComponent setOccurrence(DataType value) { 7184 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Timing)) 7185 throw new FHIRException("Not the right type for Contract.term.action.occurrence[x]: "+value.fhirType()); 7186 this.occurrence = value; 7187 return this; 7188 } 7189 7190 /** 7191 * @return {@link #requester} (Who or what initiated the action and has responsibility for its activation.) 7192 */ 7193 public List<Reference> getRequester() { 7194 if (this.requester == null) 7195 this.requester = new ArrayList<Reference>(); 7196 return this.requester; 7197 } 7198 7199 /** 7200 * @return Returns a reference to <code>this</code> for easy method chaining 7201 */ 7202 public ActionComponent setRequester(List<Reference> theRequester) { 7203 this.requester = theRequester; 7204 return this; 7205 } 7206 7207 public boolean hasRequester() { 7208 if (this.requester == null) 7209 return false; 7210 for (Reference item : this.requester) 7211 if (!item.isEmpty()) 7212 return true; 7213 return false; 7214 } 7215 7216 public Reference addRequester() { //3 7217 Reference t = new Reference(); 7218 if (this.requester == null) 7219 this.requester = new ArrayList<Reference>(); 7220 this.requester.add(t); 7221 return t; 7222 } 7223 7224 public ActionComponent addRequester(Reference t) { //3 7225 if (t == null) 7226 return this; 7227 if (this.requester == null) 7228 this.requester = new ArrayList<Reference>(); 7229 this.requester.add(t); 7230 return this; 7231 } 7232 7233 /** 7234 * @return The first repetition of repeating field {@link #requester}, creating it if it does not already exist {3} 7235 */ 7236 public Reference getRequesterFirstRep() { 7237 if (getRequester().isEmpty()) { 7238 addRequester(); 7239 } 7240 return getRequester().get(0); 7241 } 7242 7243 /** 7244 * @return {@link #requesterLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7245 */ 7246 public List<StringType> getRequesterLinkId() { 7247 if (this.requesterLinkId == null) 7248 this.requesterLinkId = new ArrayList<StringType>(); 7249 return this.requesterLinkId; 7250 } 7251 7252 /** 7253 * @return Returns a reference to <code>this</code> for easy method chaining 7254 */ 7255 public ActionComponent setRequesterLinkId(List<StringType> theRequesterLinkId) { 7256 this.requesterLinkId = theRequesterLinkId; 7257 return this; 7258 } 7259 7260 public boolean hasRequesterLinkId() { 7261 if (this.requesterLinkId == null) 7262 return false; 7263 for (StringType item : this.requesterLinkId) 7264 if (!item.isEmpty()) 7265 return true; 7266 return false; 7267 } 7268 7269 /** 7270 * @return {@link #requesterLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7271 */ 7272 public StringType addRequesterLinkIdElement() {//2 7273 StringType t = new StringType(); 7274 if (this.requesterLinkId == null) 7275 this.requesterLinkId = new ArrayList<StringType>(); 7276 this.requesterLinkId.add(t); 7277 return t; 7278 } 7279 7280 /** 7281 * @param value {@link #requesterLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7282 */ 7283 public ActionComponent addRequesterLinkId(String value) { //1 7284 StringType t = new StringType(); 7285 t.setValue(value); 7286 if (this.requesterLinkId == null) 7287 this.requesterLinkId = new ArrayList<StringType>(); 7288 this.requesterLinkId.add(t); 7289 return this; 7290 } 7291 7292 /** 7293 * @param value {@link #requesterLinkId} (Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.) 7294 */ 7295 public boolean hasRequesterLinkId(String value) { 7296 if (this.requesterLinkId == null) 7297 return false; 7298 for (StringType v : this.requesterLinkId) 7299 if (v.getValue().equals(value)) // string 7300 return true; 7301 return false; 7302 } 7303 7304 /** 7305 * @return {@link #performerType} (The type of individual that is desired or required to perform or not perform the action.) 7306 */ 7307 public List<CodeableConcept> getPerformerType() { 7308 if (this.performerType == null) 7309 this.performerType = new ArrayList<CodeableConcept>(); 7310 return this.performerType; 7311 } 7312 7313 /** 7314 * @return Returns a reference to <code>this</code> for easy method chaining 7315 */ 7316 public ActionComponent setPerformerType(List<CodeableConcept> thePerformerType) { 7317 this.performerType = thePerformerType; 7318 return this; 7319 } 7320 7321 public boolean hasPerformerType() { 7322 if (this.performerType == null) 7323 return false; 7324 for (CodeableConcept item : this.performerType) 7325 if (!item.isEmpty()) 7326 return true; 7327 return false; 7328 } 7329 7330 public CodeableConcept addPerformerType() { //3 7331 CodeableConcept t = new CodeableConcept(); 7332 if (this.performerType == null) 7333 this.performerType = new ArrayList<CodeableConcept>(); 7334 this.performerType.add(t); 7335 return t; 7336 } 7337 7338 public ActionComponent addPerformerType(CodeableConcept t) { //3 7339 if (t == null) 7340 return this; 7341 if (this.performerType == null) 7342 this.performerType = new ArrayList<CodeableConcept>(); 7343 this.performerType.add(t); 7344 return this; 7345 } 7346 7347 /** 7348 * @return The first repetition of repeating field {@link #performerType}, creating it if it does not already exist {3} 7349 */ 7350 public CodeableConcept getPerformerTypeFirstRep() { 7351 if (getPerformerType().isEmpty()) { 7352 addPerformerType(); 7353 } 7354 return getPerformerType().get(0); 7355 } 7356 7357 /** 7358 * @return {@link #performerRole} (The type of role or competency of an individual desired or required to perform or not perform the action.) 7359 */ 7360 public CodeableConcept getPerformerRole() { 7361 if (this.performerRole == null) 7362 if (Configuration.errorOnAutoCreate()) 7363 throw new Error("Attempt to auto-create ActionComponent.performerRole"); 7364 else if (Configuration.doAutoCreate()) 7365 this.performerRole = new CodeableConcept(); // cc 7366 return this.performerRole; 7367 } 7368 7369 public boolean hasPerformerRole() { 7370 return this.performerRole != null && !this.performerRole.isEmpty(); 7371 } 7372 7373 /** 7374 * @param value {@link #performerRole} (The type of role or competency of an individual desired or required to perform or not perform the action.) 7375 */ 7376 public ActionComponent setPerformerRole(CodeableConcept value) { 7377 this.performerRole = value; 7378 return this; 7379 } 7380 7381 /** 7382 * @return {@link #performer} (Indicates who or what is being asked to perform (or not perform) the ction.) 7383 */ 7384 public Reference getPerformer() { 7385 if (this.performer == null) 7386 if (Configuration.errorOnAutoCreate()) 7387 throw new Error("Attempt to auto-create ActionComponent.performer"); 7388 else if (Configuration.doAutoCreate()) 7389 this.performer = new Reference(); // cc 7390 return this.performer; 7391 } 7392 7393 public boolean hasPerformer() { 7394 return this.performer != null && !this.performer.isEmpty(); 7395 } 7396 7397 /** 7398 * @param value {@link #performer} (Indicates who or what is being asked to perform (or not perform) the ction.) 7399 */ 7400 public ActionComponent setPerformer(Reference value) { 7401 this.performer = value; 7402 return this; 7403 } 7404 7405 /** 7406 * @return {@link #performerLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7407 */ 7408 public List<StringType> getPerformerLinkId() { 7409 if (this.performerLinkId == null) 7410 this.performerLinkId = new ArrayList<StringType>(); 7411 return this.performerLinkId; 7412 } 7413 7414 /** 7415 * @return Returns a reference to <code>this</code> for easy method chaining 7416 */ 7417 public ActionComponent setPerformerLinkId(List<StringType> thePerformerLinkId) { 7418 this.performerLinkId = thePerformerLinkId; 7419 return this; 7420 } 7421 7422 public boolean hasPerformerLinkId() { 7423 if (this.performerLinkId == null) 7424 return false; 7425 for (StringType item : this.performerLinkId) 7426 if (!item.isEmpty()) 7427 return true; 7428 return false; 7429 } 7430 7431 /** 7432 * @return {@link #performerLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7433 */ 7434 public StringType addPerformerLinkIdElement() {//2 7435 StringType t = new StringType(); 7436 if (this.performerLinkId == null) 7437 this.performerLinkId = new ArrayList<StringType>(); 7438 this.performerLinkId.add(t); 7439 return t; 7440 } 7441 7442 /** 7443 * @param value {@link #performerLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7444 */ 7445 public ActionComponent addPerformerLinkId(String value) { //1 7446 StringType t = new StringType(); 7447 t.setValue(value); 7448 if (this.performerLinkId == null) 7449 this.performerLinkId = new ArrayList<StringType>(); 7450 this.performerLinkId.add(t); 7451 return this; 7452 } 7453 7454 /** 7455 * @param value {@link #performerLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7456 */ 7457 public boolean hasPerformerLinkId(String value) { 7458 if (this.performerLinkId == null) 7459 return false; 7460 for (StringType v : this.performerLinkId) 7461 if (v.getValue().equals(value)) // string 7462 return true; 7463 return false; 7464 } 7465 7466 /** 7467 * @return {@link #reason} (Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action.) 7468 */ 7469 public List<CodeableReference> getReason() { 7470 if (this.reason == null) 7471 this.reason = new ArrayList<CodeableReference>(); 7472 return this.reason; 7473 } 7474 7475 /** 7476 * @return Returns a reference to <code>this</code> for easy method chaining 7477 */ 7478 public ActionComponent setReason(List<CodeableReference> theReason) { 7479 this.reason = theReason; 7480 return this; 7481 } 7482 7483 public boolean hasReason() { 7484 if (this.reason == null) 7485 return false; 7486 for (CodeableReference item : this.reason) 7487 if (!item.isEmpty()) 7488 return true; 7489 return false; 7490 } 7491 7492 public CodeableReference addReason() { //3 7493 CodeableReference t = new CodeableReference(); 7494 if (this.reason == null) 7495 this.reason = new ArrayList<CodeableReference>(); 7496 this.reason.add(t); 7497 return t; 7498 } 7499 7500 public ActionComponent addReason(CodeableReference t) { //3 7501 if (t == null) 7502 return this; 7503 if (this.reason == null) 7504 this.reason = new ArrayList<CodeableReference>(); 7505 this.reason.add(t); 7506 return this; 7507 } 7508 7509 /** 7510 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 7511 */ 7512 public CodeableReference getReasonFirstRep() { 7513 if (getReason().isEmpty()) { 7514 addReason(); 7515 } 7516 return getReason().get(0); 7517 } 7518 7519 /** 7520 * @return {@link #reasonLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7521 */ 7522 public List<StringType> getReasonLinkId() { 7523 if (this.reasonLinkId == null) 7524 this.reasonLinkId = new ArrayList<StringType>(); 7525 return this.reasonLinkId; 7526 } 7527 7528 /** 7529 * @return Returns a reference to <code>this</code> for easy method chaining 7530 */ 7531 public ActionComponent setReasonLinkId(List<StringType> theReasonLinkId) { 7532 this.reasonLinkId = theReasonLinkId; 7533 return this; 7534 } 7535 7536 public boolean hasReasonLinkId() { 7537 if (this.reasonLinkId == null) 7538 return false; 7539 for (StringType item : this.reasonLinkId) 7540 if (!item.isEmpty()) 7541 return true; 7542 return false; 7543 } 7544 7545 /** 7546 * @return {@link #reasonLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7547 */ 7548 public StringType addReasonLinkIdElement() {//2 7549 StringType t = new StringType(); 7550 if (this.reasonLinkId == null) 7551 this.reasonLinkId = new ArrayList<StringType>(); 7552 this.reasonLinkId.add(t); 7553 return t; 7554 } 7555 7556 /** 7557 * @param value {@link #reasonLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7558 */ 7559 public ActionComponent addReasonLinkId(String value) { //1 7560 StringType t = new StringType(); 7561 t.setValue(value); 7562 if (this.reasonLinkId == null) 7563 this.reasonLinkId = new ArrayList<StringType>(); 7564 this.reasonLinkId.add(t); 7565 return this; 7566 } 7567 7568 /** 7569 * @param value {@link #reasonLinkId} (Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.) 7570 */ 7571 public boolean hasReasonLinkId(String value) { 7572 if (this.reasonLinkId == null) 7573 return false; 7574 for (StringType v : this.reasonLinkId) 7575 if (v.getValue().equals(value)) // string 7576 return true; 7577 return false; 7578 } 7579 7580 /** 7581 * @return {@link #note} (Comments made about the term action made by the requester, performer, subject or other participants.) 7582 */ 7583 public List<Annotation> getNote() { 7584 if (this.note == null) 7585 this.note = new ArrayList<Annotation>(); 7586 return this.note; 7587 } 7588 7589 /** 7590 * @return Returns a reference to <code>this</code> for easy method chaining 7591 */ 7592 public ActionComponent setNote(List<Annotation> theNote) { 7593 this.note = theNote; 7594 return this; 7595 } 7596 7597 public boolean hasNote() { 7598 if (this.note == null) 7599 return false; 7600 for (Annotation item : this.note) 7601 if (!item.isEmpty()) 7602 return true; 7603 return false; 7604 } 7605 7606 public Annotation addNote() { //3 7607 Annotation t = new Annotation(); 7608 if (this.note == null) 7609 this.note = new ArrayList<Annotation>(); 7610 this.note.add(t); 7611 return t; 7612 } 7613 7614 public ActionComponent addNote(Annotation t) { //3 7615 if (t == null) 7616 return this; 7617 if (this.note == null) 7618 this.note = new ArrayList<Annotation>(); 7619 this.note.add(t); 7620 return this; 7621 } 7622 7623 /** 7624 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 7625 */ 7626 public Annotation getNoteFirstRep() { 7627 if (getNote().isEmpty()) { 7628 addNote(); 7629 } 7630 return getNote().get(0); 7631 } 7632 7633 /** 7634 * @return {@link #securityLabelNumber} (Security labels that protects the action.) 7635 */ 7636 public List<UnsignedIntType> getSecurityLabelNumber() { 7637 if (this.securityLabelNumber == null) 7638 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 7639 return this.securityLabelNumber; 7640 } 7641 7642 /** 7643 * @return Returns a reference to <code>this</code> for easy method chaining 7644 */ 7645 public ActionComponent setSecurityLabelNumber(List<UnsignedIntType> theSecurityLabelNumber) { 7646 this.securityLabelNumber = theSecurityLabelNumber; 7647 return this; 7648 } 7649 7650 public boolean hasSecurityLabelNumber() { 7651 if (this.securityLabelNumber == null) 7652 return false; 7653 for (UnsignedIntType item : this.securityLabelNumber) 7654 if (!item.isEmpty()) 7655 return true; 7656 return false; 7657 } 7658 7659 /** 7660 * @return {@link #securityLabelNumber} (Security labels that protects the action.) 7661 */ 7662 public UnsignedIntType addSecurityLabelNumberElement() {//2 7663 UnsignedIntType t = new UnsignedIntType(); 7664 if (this.securityLabelNumber == null) 7665 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 7666 this.securityLabelNumber.add(t); 7667 return t; 7668 } 7669 7670 /** 7671 * @param value {@link #securityLabelNumber} (Security labels that protects the action.) 7672 */ 7673 public ActionComponent addSecurityLabelNumber(int value) { //1 7674 UnsignedIntType t = new UnsignedIntType(); 7675 t.setValue(value); 7676 if (this.securityLabelNumber == null) 7677 this.securityLabelNumber = new ArrayList<UnsignedIntType>(); 7678 this.securityLabelNumber.add(t); 7679 return this; 7680 } 7681 7682 /** 7683 * @param value {@link #securityLabelNumber} (Security labels that protects the action.) 7684 */ 7685 public boolean hasSecurityLabelNumber(int value) { 7686 if (this.securityLabelNumber == null) 7687 return false; 7688 for (UnsignedIntType v : this.securityLabelNumber) 7689 if (v.getValue().equals(value)) // unsignedInt 7690 return true; 7691 return false; 7692 } 7693 7694 protected void listChildren(List<Property> children) { 7695 super.listChildren(children); 7696 children.add(new Property("doNotPerform", "boolean", "True if the term prohibits the action.", 0, 1, doNotPerform)); 7697 children.add(new Property("type", "CodeableConcept", "Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.", 0, 1, type)); 7698 children.add(new Property("subject", "", "Entity of the action.", 0, java.lang.Integer.MAX_VALUE, subject)); 7699 children.add(new Property("intent", "CodeableConcept", "Reason or purpose for the action stipulated by this Contract Provision.", 0, 1, intent)); 7700 children.add(new Property("linkId", "string", "Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId)); 7701 children.add(new Property("status", "CodeableConcept", "Current state of the term action.", 0, 1, status)); 7702 children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "Encounter or Episode with primary association to the specified term activity.", 0, 1, context)); 7703 children.add(new Property("contextLinkId", "string", "Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, contextLinkId)); 7704 children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "When action happens.", 0, 1, occurrence)); 7705 children.add(new Property("requester", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "Who or what initiated the action and has responsibility for its activation.", 0, java.lang.Integer.MAX_VALUE, requester)); 7706 children.add(new Property("requesterLinkId", "string", "Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, requesterLinkId)); 7707 children.add(new Property("performerType", "CodeableConcept", "The type of individual that is desired or required to perform or not perform the action.", 0, java.lang.Integer.MAX_VALUE, performerType)); 7708 children.add(new Property("performerRole", "CodeableConcept", "The type of role or competency of an individual desired or required to perform or not perform the action.", 0, 1, performerRole)); 7709 children.add(new Property("performer", "Reference(RelatedPerson|Patient|Practitioner|PractitionerRole|CareTeam|Device|Substance|Organization|Location)", "Indicates who or what is being asked to perform (or not perform) the ction.", 0, 1, performer)); 7710 children.add(new Property("performerLinkId", "string", "Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, performerLinkId)); 7711 children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference|Questionnaire|QuestionnaireResponse)", "Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action.", 0, java.lang.Integer.MAX_VALUE, reason)); 7712 children.add(new Property("reasonLinkId", "string", "Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, reasonLinkId)); 7713 children.add(new Property("note", "Annotation", "Comments made about the term action made by the requester, performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note)); 7714 children.add(new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the action.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber)); 7715 } 7716 7717 @Override 7718 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 7719 switch (_hash) { 7720 case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "True if the term prohibits the action.", 0, 1, doNotPerform); 7721 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Activity or service obligation to be done or not done, performed or not performed, effectuated or not by this Contract term.", 0, 1, type); 7722 case -1867885268: /*subject*/ return new Property("subject", "", "Entity of the action.", 0, java.lang.Integer.MAX_VALUE, subject); 7723 case -1183762788: /*intent*/ return new Property("intent", "CodeableConcept", "Reason or purpose for the action stipulated by this Contract Provision.", 0, 1, intent); 7724 case -1102667083: /*linkId*/ return new Property("linkId", "string", "Id [identifier??] of the clause or question text related to this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, linkId); 7725 case -892481550: /*status*/ return new Property("status", "CodeableConcept", "Current state of the term action.", 0, 1, status); 7726 case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "Encounter or Episode with primary association to the specified term activity.", 0, 1, context); 7727 case -288783036: /*contextLinkId*/ return new Property("contextLinkId", "string", "Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, contextLinkId); 7728 case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "When action happens.", 0, 1, occurrence); 7729 case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "When action happens.", 0, 1, occurrence); 7730 case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime", "When action happens.", 0, 1, occurrence); 7731 case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "Period", "When action happens.", 0, 1, occurrence); 7732 case 1515218299: /*occurrenceTiming*/ return new Property("occurrence[x]", "Timing", "When action happens.", 0, 1, occurrence); 7733 case 693933948: /*requester*/ return new Property("requester", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "Who or what initiated the action and has responsibility for its activation.", 0, java.lang.Integer.MAX_VALUE, requester); 7734 case -1468032687: /*requesterLinkId*/ return new Property("requesterLinkId", "string", "Id [identifier??] of the clause or question text related to the requester of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, requesterLinkId); 7735 case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The type of individual that is desired or required to perform or not perform the action.", 0, java.lang.Integer.MAX_VALUE, performerType); 7736 case -901513884: /*performerRole*/ return new Property("performerRole", "CodeableConcept", "The type of role or competency of an individual desired or required to perform or not perform the action.", 0, 1, performerRole); 7737 case 481140686: /*performer*/ return new Property("performer", "Reference(RelatedPerson|Patient|Practitioner|PractitionerRole|CareTeam|Device|Substance|Organization|Location)", "Indicates who or what is being asked to perform (or not perform) the ction.", 0, 1, performer); 7738 case 1051302947: /*performerLinkId*/ return new Property("performerLinkId", "string", "Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, performerLinkId); 7739 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference|Questionnaire|QuestionnaireResponse)", "Rationale for the action to be performed or not performed. Describes why the action is permitted or prohibited. Either a coded concept, or another resource whose existence justifies permitting or not permitting this action.", 0, java.lang.Integer.MAX_VALUE, reason); 7740 case -1557963239: /*reasonLinkId*/ return new Property("reasonLinkId", "string", "Id [identifier??] of the clause or question text related to the reason type or reference of this action in the referenced form or QuestionnaireResponse.", 0, java.lang.Integer.MAX_VALUE, reasonLinkId); 7741 case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the term action made by the requester, performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note); 7742 case -149460995: /*securityLabelNumber*/ return new Property("securityLabelNumber", "unsignedInt", "Security labels that protects the action.", 0, java.lang.Integer.MAX_VALUE, securityLabelNumber); 7743 default: return super.getNamedProperty(_hash, _name, _checkValid); 7744 } 7745 7746 } 7747 7748 @Override 7749 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 7750 switch (hash) { 7751 case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType 7752 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 7753 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // ActionSubjectComponent 7754 case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // CodeableConcept 7755 case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : this.linkId.toArray(new Base[this.linkId.size()]); // StringType 7756 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept 7757 case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference 7758 case -288783036: /*contextLinkId*/ return this.contextLinkId == null ? new Base[0] : this.contextLinkId.toArray(new Base[this.contextLinkId.size()]); // StringType 7759 case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType 7760 case 693933948: /*requester*/ return this.requester == null ? new Base[0] : this.requester.toArray(new Base[this.requester.size()]); // Reference 7761 case -1468032687: /*requesterLinkId*/ return this.requesterLinkId == null ? new Base[0] : this.requesterLinkId.toArray(new Base[this.requesterLinkId.size()]); // StringType 7762 case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : this.performerType.toArray(new Base[this.performerType.size()]); // CodeableConcept 7763 case -901513884: /*performerRole*/ return this.performerRole == null ? new Base[0] : new Base[] {this.performerRole}; // CodeableConcept 7764 case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference 7765 case 1051302947: /*performerLinkId*/ return this.performerLinkId == null ? new Base[0] : this.performerLinkId.toArray(new Base[this.performerLinkId.size()]); // StringType 7766 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 7767 case -1557963239: /*reasonLinkId*/ return this.reasonLinkId == null ? new Base[0] : this.reasonLinkId.toArray(new Base[this.reasonLinkId.size()]); // StringType 7768 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 7769 case -149460995: /*securityLabelNumber*/ return this.securityLabelNumber == null ? new Base[0] : this.securityLabelNumber.toArray(new Base[this.securityLabelNumber.size()]); // UnsignedIntType 7770 default: return super.getProperty(hash, name, checkValid); 7771 } 7772 7773 } 7774 7775 @Override 7776 public Base setProperty(int hash, String name, Base value) throws FHIRException { 7777 switch (hash) { 7778 case -1788508167: // doNotPerform 7779 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 7780 return value; 7781 case 3575610: // type 7782 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7783 return value; 7784 case -1867885268: // subject 7785 this.getSubject().add((ActionSubjectComponent) value); // ActionSubjectComponent 7786 return value; 7787 case -1183762788: // intent 7788 this.intent = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7789 return value; 7790 case -1102667083: // linkId 7791 this.getLinkId().add(TypeConvertor.castToString(value)); // StringType 7792 return value; 7793 case -892481550: // status 7794 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7795 return value; 7796 case 951530927: // context 7797 this.context = TypeConvertor.castToReference(value); // Reference 7798 return value; 7799 case -288783036: // contextLinkId 7800 this.getContextLinkId().add(TypeConvertor.castToString(value)); // StringType 7801 return value; 7802 case 1687874001: // occurrence 7803 this.occurrence = TypeConvertor.castToType(value); // DataType 7804 return value; 7805 case 693933948: // requester 7806 this.getRequester().add(TypeConvertor.castToReference(value)); // Reference 7807 return value; 7808 case -1468032687: // requesterLinkId 7809 this.getRequesterLinkId().add(TypeConvertor.castToString(value)); // StringType 7810 return value; 7811 case -901444568: // performerType 7812 this.getPerformerType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 7813 return value; 7814 case -901513884: // performerRole 7815 this.performerRole = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7816 return value; 7817 case 481140686: // performer 7818 this.performer = TypeConvertor.castToReference(value); // Reference 7819 return value; 7820 case 1051302947: // performerLinkId 7821 this.getPerformerLinkId().add(TypeConvertor.castToString(value)); // StringType 7822 return value; 7823 case -934964668: // reason 7824 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 7825 return value; 7826 case -1557963239: // reasonLinkId 7827 this.getReasonLinkId().add(TypeConvertor.castToString(value)); // StringType 7828 return value; 7829 case 3387378: // note 7830 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 7831 return value; 7832 case -149460995: // securityLabelNumber 7833 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); // UnsignedIntType 7834 return value; 7835 default: return super.setProperty(hash, name, value); 7836 } 7837 7838 } 7839 7840 @Override 7841 public Base setProperty(String name, Base value) throws FHIRException { 7842 if (name.equals("doNotPerform")) { 7843 this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType 7844 } else if (name.equals("type")) { 7845 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7846 } else if (name.equals("subject")) { 7847 this.getSubject().add((ActionSubjectComponent) value); 7848 } else if (name.equals("intent")) { 7849 this.intent = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7850 } else if (name.equals("linkId")) { 7851 this.getLinkId().add(TypeConvertor.castToString(value)); 7852 } else if (name.equals("status")) { 7853 this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7854 } else if (name.equals("context")) { 7855 this.context = TypeConvertor.castToReference(value); // Reference 7856 } else if (name.equals("contextLinkId")) { 7857 this.getContextLinkId().add(TypeConvertor.castToString(value)); 7858 } else if (name.equals("occurrence[x]")) { 7859 this.occurrence = TypeConvertor.castToType(value); // DataType 7860 } else if (name.equals("requester")) { 7861 this.getRequester().add(TypeConvertor.castToReference(value)); 7862 } else if (name.equals("requesterLinkId")) { 7863 this.getRequesterLinkId().add(TypeConvertor.castToString(value)); 7864 } else if (name.equals("performerType")) { 7865 this.getPerformerType().add(TypeConvertor.castToCodeableConcept(value)); 7866 } else if (name.equals("performerRole")) { 7867 this.performerRole = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 7868 } else if (name.equals("performer")) { 7869 this.performer = TypeConvertor.castToReference(value); // Reference 7870 } else if (name.equals("performerLinkId")) { 7871 this.getPerformerLinkId().add(TypeConvertor.castToString(value)); 7872 } else if (name.equals("reason")) { 7873 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 7874 } else if (name.equals("reasonLinkId")) { 7875 this.getReasonLinkId().add(TypeConvertor.castToString(value)); 7876 } else if (name.equals("note")) { 7877 this.getNote().add(TypeConvertor.castToAnnotation(value)); 7878 } else if (name.equals("securityLabelNumber")) { 7879 this.getSecurityLabelNumber().add(TypeConvertor.castToUnsignedInt(value)); 7880 } else 7881 return super.setProperty(name, value); 7882 return value; 7883 } 7884 7885 @Override 7886 public void removeChild(String name, Base value) throws FHIRException { 7887 if (name.equals("doNotPerform")) { 7888 this.doNotPerform = null; 7889 } else if (name.equals("type")) { 7890 this.type = null; 7891 } else if (name.equals("subject")) { 7892 this.getSubject().remove((ActionSubjectComponent) value); 7893 } else if (name.equals("intent")) { 7894 this.intent = null; 7895 } else if (name.equals("linkId")) { 7896 this.getLinkId().remove(value); 7897 } else if (name.equals("status")) { 7898 this.status = null; 7899 } else if (name.equals("context")) { 7900 this.context = null; 7901 } else if (name.equals("contextLinkId")) { 7902 this.getContextLinkId().remove(value); 7903 } else if (name.equals("occurrence[x]")) { 7904 this.occurrence = null; 7905 } else if (name.equals("requester")) { 7906 this.getRequester().remove(value); 7907 } else if (name.equals("requesterLinkId")) { 7908 this.getRequesterLinkId().remove(value); 7909 } else if (name.equals("performerType")) { 7910 this.getPerformerType().remove(value); 7911 } else if (name.equals("performerRole")) { 7912 this.performerRole = null; 7913 } else if (name.equals("performer")) { 7914 this.performer = null; 7915 } else if (name.equals("performerLinkId")) { 7916 this.getPerformerLinkId().remove(value); 7917 } else if (name.equals("reason")) { 7918 this.getReason().remove(value); 7919 } else if (name.equals("reasonLinkId")) { 7920 this.getReasonLinkId().remove(value); 7921 } else if (name.equals("note")) { 7922 this.getNote().remove(value); 7923 } else if (name.equals("securityLabelNumber")) { 7924 this.getSecurityLabelNumber().remove(value); 7925 } else 7926 super.removeChild(name, value); 7927 7928 } 7929 7930 @Override 7931 public Base makeProperty(int hash, String name) throws FHIRException { 7932 switch (hash) { 7933 case -1788508167: return getDoNotPerformElement(); 7934 case 3575610: return getType(); 7935 case -1867885268: return addSubject(); 7936 case -1183762788: return getIntent(); 7937 case -1102667083: return addLinkIdElement(); 7938 case -892481550: return getStatus(); 7939 case 951530927: return getContext(); 7940 case -288783036: return addContextLinkIdElement(); 7941 case -2022646513: return getOccurrence(); 7942 case 1687874001: return getOccurrence(); 7943 case 693933948: return addRequester(); 7944 case -1468032687: return addRequesterLinkIdElement(); 7945 case -901444568: return addPerformerType(); 7946 case -901513884: return getPerformerRole(); 7947 case 481140686: return getPerformer(); 7948 case 1051302947: return addPerformerLinkIdElement(); 7949 case -934964668: return addReason(); 7950 case -1557963239: return addReasonLinkIdElement(); 7951 case 3387378: return addNote(); 7952 case -149460995: return addSecurityLabelNumberElement(); 7953 default: return super.makeProperty(hash, name); 7954 } 7955 7956 } 7957 7958 @Override 7959 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 7960 switch (hash) { 7961 case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; 7962 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 7963 case -1867885268: /*subject*/ return new String[] {}; 7964 case -1183762788: /*intent*/ return new String[] {"CodeableConcept"}; 7965 case -1102667083: /*linkId*/ return new String[] {"string"}; 7966 case -892481550: /*status*/ return new String[] {"CodeableConcept"}; 7967 case 951530927: /*context*/ return new String[] {"Reference"}; 7968 case -288783036: /*contextLinkId*/ return new String[] {"string"}; 7969 case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "Timing"}; 7970 case 693933948: /*requester*/ return new String[] {"Reference"}; 7971 case -1468032687: /*requesterLinkId*/ return new String[] {"string"}; 7972 case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; 7973 case -901513884: /*performerRole*/ return new String[] {"CodeableConcept"}; 7974 case 481140686: /*performer*/ return new String[] {"Reference"}; 7975 case 1051302947: /*performerLinkId*/ return new String[] {"string"}; 7976 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 7977 case -1557963239: /*reasonLinkId*/ return new String[] {"string"}; 7978 case 3387378: /*note*/ return new String[] {"Annotation"}; 7979 case -149460995: /*securityLabelNumber*/ return new String[] {"unsignedInt"}; 7980 default: return super.getTypesForProperty(hash, name); 7981 } 7982 7983 } 7984 7985 @Override 7986 public Base addChild(String name) throws FHIRException { 7987 if (name.equals("doNotPerform")) { 7988 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.doNotPerform"); 7989 } 7990 else if (name.equals("type")) { 7991 this.type = new CodeableConcept(); 7992 return this.type; 7993 } 7994 else if (name.equals("subject")) { 7995 return addSubject(); 7996 } 7997 else if (name.equals("intent")) { 7998 this.intent = new CodeableConcept(); 7999 return this.intent; 8000 } 8001 else if (name.equals("linkId")) { 8002 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.linkId"); 8003 } 8004 else if (name.equals("status")) { 8005 this.status = new CodeableConcept(); 8006 return this.status; 8007 } 8008 else if (name.equals("context")) { 8009 this.context = new Reference(); 8010 return this.context; 8011 } 8012 else if (name.equals("contextLinkId")) { 8013 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.contextLinkId"); 8014 } 8015 else if (name.equals("occurrenceDateTime")) { 8016 this.occurrence = new DateTimeType(); 8017 return this.occurrence; 8018 } 8019 else if (name.equals("occurrencePeriod")) { 8020 this.occurrence = new Period(); 8021 return this.occurrence; 8022 } 8023 else if (name.equals("occurrenceTiming")) { 8024 this.occurrence = new Timing(); 8025 return this.occurrence; 8026 } 8027 else if (name.equals("requester")) { 8028 return addRequester(); 8029 } 8030 else if (name.equals("requesterLinkId")) { 8031 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.requesterLinkId"); 8032 } 8033 else if (name.equals("performerType")) { 8034 return addPerformerType(); 8035 } 8036 else if (name.equals("performerRole")) { 8037 this.performerRole = new CodeableConcept(); 8038 return this.performerRole; 8039 } 8040 else if (name.equals("performer")) { 8041 this.performer = new Reference(); 8042 return this.performer; 8043 } 8044 else if (name.equals("performerLinkId")) { 8045 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.performerLinkId"); 8046 } 8047 else if (name.equals("reason")) { 8048 return addReason(); 8049 } 8050 else if (name.equals("reasonLinkId")) { 8051 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.reasonLinkId"); 8052 } 8053 else if (name.equals("note")) { 8054 return addNote(); 8055 } 8056 else if (name.equals("securityLabelNumber")) { 8057 throw new FHIRException("Cannot call addChild on a singleton property Contract.term.action.securityLabelNumber"); 8058 } 8059 else 8060 return super.addChild(name); 8061 } 8062 8063 public ActionComponent copy() { 8064 ActionComponent dst = new ActionComponent(); 8065 copyValues(dst); 8066 return dst; 8067 } 8068 8069 public void copyValues(ActionComponent dst) { 8070 super.copyValues(dst); 8071 dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); 8072 dst.type = type == null ? null : type.copy(); 8073 if (subject != null) { 8074 dst.subject = new ArrayList<ActionSubjectComponent>(); 8075 for (ActionSubjectComponent i : subject) 8076 dst.subject.add(i.copy()); 8077 }; 8078 dst.intent = intent == null ? null : intent.copy(); 8079 if (linkId != null) { 8080 dst.linkId = new ArrayList<StringType>(); 8081 for (StringType i : linkId) 8082 dst.linkId.add(i.copy()); 8083 }; 8084 dst.status = status == null ? null : status.copy(); 8085 dst.context = context == null ? null : context.copy(); 8086 if (contextLinkId != null) { 8087 dst.contextLinkId = new ArrayList<StringType>(); 8088 for (StringType i : contextLinkId) 8089 dst.contextLinkId.add(i.copy()); 8090 }; 8091 dst.occurrence = occurrence == null ? null : occurrence.copy(); 8092 if (requester != null) { 8093 dst.requester = new ArrayList<Reference>(); 8094 for (Reference i : requester) 8095 dst.requester.add(i.copy()); 8096 }; 8097 if (requesterLinkId != null) { 8098 dst.requesterLinkId = new ArrayList<StringType>(); 8099 for (StringType i : requesterLinkId) 8100 dst.requesterLinkId.add(i.copy()); 8101 }; 8102 if (performerType != null) { 8103 dst.performerType = new ArrayList<CodeableConcept>(); 8104 for (CodeableConcept i : performerType) 8105 dst.performerType.add(i.copy()); 8106 }; 8107 dst.performerRole = performerRole == null ? null : performerRole.copy(); 8108 dst.performer = performer == null ? null : performer.copy(); 8109 if (performerLinkId != null) { 8110 dst.performerLinkId = new ArrayList<StringType>(); 8111 for (StringType i : performerLinkId) 8112 dst.performerLinkId.add(i.copy()); 8113 }; 8114 if (reason != null) { 8115 dst.reason = new ArrayList<CodeableReference>(); 8116 for (CodeableReference i : reason) 8117 dst.reason.add(i.copy()); 8118 }; 8119 if (reasonLinkId != null) { 8120 dst.reasonLinkId = new ArrayList<StringType>(); 8121 for (StringType i : reasonLinkId) 8122 dst.reasonLinkId.add(i.copy()); 8123 }; 8124 if (note != null) { 8125 dst.note = new ArrayList<Annotation>(); 8126 for (Annotation i : note) 8127 dst.note.add(i.copy()); 8128 }; 8129 if (securityLabelNumber != null) { 8130 dst.securityLabelNumber = new ArrayList<UnsignedIntType>(); 8131 for (UnsignedIntType i : securityLabelNumber) 8132 dst.securityLabelNumber.add(i.copy()); 8133 }; 8134 } 8135 8136 @Override 8137 public boolean equalsDeep(Base other_) { 8138 if (!super.equalsDeep(other_)) 8139 return false; 8140 if (!(other_ instanceof ActionComponent)) 8141 return false; 8142 ActionComponent o = (ActionComponent) other_; 8143 return compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(type, o.type, true) && compareDeep(subject, o.subject, true) 8144 && compareDeep(intent, o.intent, true) && compareDeep(linkId, o.linkId, true) && compareDeep(status, o.status, true) 8145 && compareDeep(context, o.context, true) && compareDeep(contextLinkId, o.contextLinkId, true) && compareDeep(occurrence, o.occurrence, true) 8146 && compareDeep(requester, o.requester, true) && compareDeep(requesterLinkId, o.requesterLinkId, true) 8147 && compareDeep(performerType, o.performerType, true) && compareDeep(performerRole, o.performerRole, true) 8148 && compareDeep(performer, o.performer, true) && compareDeep(performerLinkId, o.performerLinkId, true) 8149 && compareDeep(reason, o.reason, true) && compareDeep(reasonLinkId, o.reasonLinkId, true) && compareDeep(note, o.note, true) 8150 && compareDeep(securityLabelNumber, o.securityLabelNumber, true); 8151 } 8152 8153 @Override 8154 public boolean equalsShallow(Base other_) { 8155 if (!super.equalsShallow(other_)) 8156 return false; 8157 if (!(other_ instanceof ActionComponent)) 8158 return false; 8159 ActionComponent o = (ActionComponent) other_; 8160 return compareValues(doNotPerform, o.doNotPerform, true) && compareValues(linkId, o.linkId, true) && compareValues(contextLinkId, o.contextLinkId, true) 8161 && compareValues(requesterLinkId, o.requesterLinkId, true) && compareValues(performerLinkId, o.performerLinkId, true) 8162 && compareValues(reasonLinkId, o.reasonLinkId, true) && compareValues(securityLabelNumber, o.securityLabelNumber, true) 8163 ; 8164 } 8165 8166 public boolean isEmpty() { 8167 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(doNotPerform, type, subject 8168 , intent, linkId, status, context, contextLinkId, occurrence, requester, requesterLinkId 8169 , performerType, performerRole, performer, performerLinkId, reason, reasonLinkId 8170 , note, securityLabelNumber); 8171 } 8172 8173 public String fhirType() { 8174 return "Contract.term.action"; 8175 8176 } 8177 8178 } 8179 8180 @Block() 8181 public static class ActionSubjectComponent extends BackboneElement implements IBaseBackboneElement { 8182 /** 8183 * The entity the action is performed or not performed on or for. 8184 */ 8185 @Child(name = "reference", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class, Group.class, Organization.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 8186 @Description(shortDefinition="Entity of the action", formalDefinition="The entity the action is performed or not performed on or for." ) 8187 protected List<Reference> reference; 8188 8189 /** 8190 * Role type of agent assigned roles in this Contract. 8191 */ 8192 @Child(name = "role", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 8193 @Description(shortDefinition="Role type of the agent", formalDefinition="Role type of agent assigned roles in this Contract." ) 8194 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-actorrole") 8195 protected CodeableConcept role; 8196 8197 private static final long serialVersionUID = -1599592477L; 8198 8199 /** 8200 * Constructor 8201 */ 8202 public ActionSubjectComponent() { 8203 super(); 8204 } 8205 8206 /** 8207 * Constructor 8208 */ 8209 public ActionSubjectComponent(Reference reference) { 8210 super(); 8211 this.addReference(reference); 8212 } 8213 8214 /** 8215 * @return {@link #reference} (The entity the action is performed or not performed on or for.) 8216 */ 8217 public List<Reference> getReference() { 8218 if (this.reference == null) 8219 this.reference = new ArrayList<Reference>(); 8220 return this.reference; 8221 } 8222 8223 /** 8224 * @return Returns a reference to <code>this</code> for easy method chaining 8225 */ 8226 public ActionSubjectComponent setReference(List<Reference> theReference) { 8227 this.reference = theReference; 8228 return this; 8229 } 8230 8231 public boolean hasReference() { 8232 if (this.reference == null) 8233 return false; 8234 for (Reference item : this.reference) 8235 if (!item.isEmpty()) 8236 return true; 8237 return false; 8238 } 8239 8240 public Reference addReference() { //3 8241 Reference t = new Reference(); 8242 if (this.reference == null) 8243 this.reference = new ArrayList<Reference>(); 8244 this.reference.add(t); 8245 return t; 8246 } 8247 8248 public ActionSubjectComponent addReference(Reference t) { //3 8249 if (t == null) 8250 return this; 8251 if (this.reference == null) 8252 this.reference = new ArrayList<Reference>(); 8253 this.reference.add(t); 8254 return this; 8255 } 8256 8257 /** 8258 * @return The first repetition of repeating field {@link #reference}, creating it if it does not already exist {3} 8259 */ 8260 public Reference getReferenceFirstRep() { 8261 if (getReference().isEmpty()) { 8262 addReference(); 8263 } 8264 return getReference().get(0); 8265 } 8266 8267 /** 8268 * @return {@link #role} (Role type of agent assigned roles in this Contract.) 8269 */ 8270 public CodeableConcept getRole() { 8271 if (this.role == null) 8272 if (Configuration.errorOnAutoCreate()) 8273 throw new Error("Attempt to auto-create ActionSubjectComponent.role"); 8274 else if (Configuration.doAutoCreate()) 8275 this.role = new CodeableConcept(); // cc 8276 return this.role; 8277 } 8278 8279 public boolean hasRole() { 8280 return this.role != null && !this.role.isEmpty(); 8281 } 8282 8283 /** 8284 * @param value {@link #role} (Role type of agent assigned roles in this Contract.) 8285 */ 8286 public ActionSubjectComponent setRole(CodeableConcept value) { 8287 this.role = value; 8288 return this; 8289 } 8290 8291 protected void listChildren(List<Property> children) { 8292 super.listChildren(children); 8293 children.add(new Property("reference", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "The entity the action is performed or not performed on or for.", 0, java.lang.Integer.MAX_VALUE, reference)); 8294 children.add(new Property("role", "CodeableConcept", "Role type of agent assigned roles in this Contract.", 0, 1, role)); 8295 } 8296 8297 @Override 8298 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 8299 switch (_hash) { 8300 case -925155509: /*reference*/ return new Property("reference", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device|Group|Organization)", "The entity the action is performed or not performed on or for.", 0, java.lang.Integer.MAX_VALUE, reference); 8301 case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Role type of agent assigned roles in this Contract.", 0, 1, role); 8302 default: return super.getNamedProperty(_hash, _name, _checkValid); 8303 } 8304 8305 } 8306 8307 @Override 8308 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 8309 switch (hash) { 8310 case -925155509: /*reference*/ return this.reference == null ? new Base[0] : this.reference.toArray(new Base[this.reference.size()]); // Reference 8311 case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept 8312 default: return super.getProperty(hash, name, checkValid); 8313 } 8314 8315 } 8316 8317 @Override 8318 public Base setProperty(int hash, String name, Base value) throws FHIRException { 8319 switch (hash) { 8320 case -925155509: // reference 8321 this.getReference().add(TypeConvertor.castToReference(value)); // Reference 8322 return value; 8323 case 3506294: // role 8324 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 8325 return value; 8326 default: return super.setProperty(hash, name, value); 8327 } 8328 8329 } 8330 8331 @Override 8332 public Base setProperty(String name, Base value) throws FHIRException { 8333 if (name.equals("reference")) { 8334 this.getReference().add(TypeConvertor.castToReference(value)); 8335 } else if (name.equals("role")) { 8336 this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 8337 } else 8338 return super.setProperty(name, value); 8339 return value; 8340 } 8341 8342 @Override 8343 public void removeChild(String name, Base value) throws FHIRException { 8344 if (name.equals("reference")) { 8345 this.getReference().remove(value); 8346 } else if (name.equals("role")) { 8347 this.role = null; 8348 } else 8349 super.removeChild(name, value); 8350 8351 } 8352 8353 @Override 8354 public Base makeProperty(int hash, String name) throws FHIRException { 8355 switch (hash) { 8356 case -925155509: return addReference(); 8357 case 3506294: return getRole(); 8358 default: return super.makeProperty(hash, name); 8359 } 8360 8361 } 8362 8363 @Override 8364 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 8365 switch (hash) { 8366 case -925155509: /*reference*/ return new String[] {"Reference"}; 8367 case 3506294: /*role*/ return new String[] {"CodeableConcept"}; 8368 default: return super.getTypesForProperty(hash, name); 8369 } 8370 8371 } 8372 8373 @Override 8374 public Base addChild(String name) throws FHIRException { 8375 if (name.equals("reference")) { 8376 return addReference(); 8377 } 8378 else if (name.equals("role")) { 8379 this.role = new CodeableConcept(); 8380 return this.role; 8381 } 8382 else 8383 return super.addChild(name); 8384 } 8385 8386 public ActionSubjectComponent copy() { 8387 ActionSubjectComponent dst = new ActionSubjectComponent(); 8388 copyValues(dst); 8389 return dst; 8390 } 8391 8392 public void copyValues(ActionSubjectComponent dst) { 8393 super.copyValues(dst); 8394 if (reference != null) { 8395 dst.reference = new ArrayList<Reference>(); 8396 for (Reference i : reference) 8397 dst.reference.add(i.copy()); 8398 }; 8399 dst.role = role == null ? null : role.copy(); 8400 } 8401 8402 @Override 8403 public boolean equalsDeep(Base other_) { 8404 if (!super.equalsDeep(other_)) 8405 return false; 8406 if (!(other_ instanceof ActionSubjectComponent)) 8407 return false; 8408 ActionSubjectComponent o = (ActionSubjectComponent) other_; 8409 return compareDeep(reference, o.reference, true) && compareDeep(role, o.role, true); 8410 } 8411 8412 @Override 8413 public boolean equalsShallow(Base other_) { 8414 if (!super.equalsShallow(other_)) 8415 return false; 8416 if (!(other_ instanceof ActionSubjectComponent)) 8417 return false; 8418 ActionSubjectComponent o = (ActionSubjectComponent) other_; 8419 return true; 8420 } 8421 8422 public boolean isEmpty() { 8423 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, role); 8424 } 8425 8426 public String fhirType() { 8427 return "Contract.term.action.subject"; 8428 8429 } 8430 8431 } 8432 8433 @Block() 8434 public static class SignatoryComponent extends BackboneElement implements IBaseBackboneElement { 8435 /** 8436 * Role of this Contract signer, e.g. notary, grantee. 8437 */ 8438 @Child(name = "type", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false) 8439 @Description(shortDefinition="Contract Signatory Role", formalDefinition="Role of this Contract signer, e.g. notary, grantee." ) 8440 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-signer-type") 8441 protected Coding type; 8442 8443 /** 8444 * Party which is a signator to this Contract. 8445 */ 8446 @Child(name = "party", type = {Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=2, min=1, max=1, modifier=false, summary=false) 8447 @Description(shortDefinition="Contract Signatory Party", formalDefinition="Party which is a signator to this Contract." ) 8448 protected Reference party; 8449 8450 /** 8451 * Legally binding Contract DSIG signature contents in Base64. 8452 */ 8453 @Child(name = "signature", type = {Signature.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 8454 @Description(shortDefinition="Contract Documentation Signature", formalDefinition="Legally binding Contract DSIG signature contents in Base64." ) 8455 protected List<Signature> signature; 8456 8457 private static final long serialVersionUID = 1384929729L; 8458 8459 /** 8460 * Constructor 8461 */ 8462 public SignatoryComponent() { 8463 super(); 8464 } 8465 8466 /** 8467 * Constructor 8468 */ 8469 public SignatoryComponent(Coding type, Reference party, Signature signature) { 8470 super(); 8471 this.setType(type); 8472 this.setParty(party); 8473 this.addSignature(signature); 8474 } 8475 8476 /** 8477 * @return {@link #type} (Role of this Contract signer, e.g. notary, grantee.) 8478 */ 8479 public Coding getType() { 8480 if (this.type == null) 8481 if (Configuration.errorOnAutoCreate()) 8482 throw new Error("Attempt to auto-create SignatoryComponent.type"); 8483 else if (Configuration.doAutoCreate()) 8484 this.type = new Coding(); // cc 8485 return this.type; 8486 } 8487 8488 public boolean hasType() { 8489 return this.type != null && !this.type.isEmpty(); 8490 } 8491 8492 /** 8493 * @param value {@link #type} (Role of this Contract signer, e.g. notary, grantee.) 8494 */ 8495 public SignatoryComponent setType(Coding value) { 8496 this.type = value; 8497 return this; 8498 } 8499 8500 /** 8501 * @return {@link #party} (Party which is a signator to this Contract.) 8502 */ 8503 public Reference getParty() { 8504 if (this.party == null) 8505 if (Configuration.errorOnAutoCreate()) 8506 throw new Error("Attempt to auto-create SignatoryComponent.party"); 8507 else if (Configuration.doAutoCreate()) 8508 this.party = new Reference(); // cc 8509 return this.party; 8510 } 8511 8512 public boolean hasParty() { 8513 return this.party != null && !this.party.isEmpty(); 8514 } 8515 8516 /** 8517 * @param value {@link #party} (Party which is a signator to this Contract.) 8518 */ 8519 public SignatoryComponent setParty(Reference value) { 8520 this.party = value; 8521 return this; 8522 } 8523 8524 /** 8525 * @return {@link #signature} (Legally binding Contract DSIG signature contents in Base64.) 8526 */ 8527 public List<Signature> getSignature() { 8528 if (this.signature == null) 8529 this.signature = new ArrayList<Signature>(); 8530 return this.signature; 8531 } 8532 8533 /** 8534 * @return Returns a reference to <code>this</code> for easy method chaining 8535 */ 8536 public SignatoryComponent setSignature(List<Signature> theSignature) { 8537 this.signature = theSignature; 8538 return this; 8539 } 8540 8541 public boolean hasSignature() { 8542 if (this.signature == null) 8543 return false; 8544 for (Signature item : this.signature) 8545 if (!item.isEmpty()) 8546 return true; 8547 return false; 8548 } 8549 8550 public Signature addSignature() { //3 8551 Signature t = new Signature(); 8552 if (this.signature == null) 8553 this.signature = new ArrayList<Signature>(); 8554 this.signature.add(t); 8555 return t; 8556 } 8557 8558 public SignatoryComponent addSignature(Signature t) { //3 8559 if (t == null) 8560 return this; 8561 if (this.signature == null) 8562 this.signature = new ArrayList<Signature>(); 8563 this.signature.add(t); 8564 return this; 8565 } 8566 8567 /** 8568 * @return The first repetition of repeating field {@link #signature}, creating it if it does not already exist {3} 8569 */ 8570 public Signature getSignatureFirstRep() { 8571 if (getSignature().isEmpty()) { 8572 addSignature(); 8573 } 8574 return getSignature().get(0); 8575 } 8576 8577 protected void listChildren(List<Property> children) { 8578 super.listChildren(children); 8579 children.add(new Property("type", "Coding", "Role of this Contract signer, e.g. notary, grantee.", 0, 1, type)); 8580 children.add(new Property("party", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Party which is a signator to this Contract.", 0, 1, party)); 8581 children.add(new Property("signature", "Signature", "Legally binding Contract DSIG signature contents in Base64.", 0, java.lang.Integer.MAX_VALUE, signature)); 8582 } 8583 8584 @Override 8585 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 8586 switch (_hash) { 8587 case 3575610: /*type*/ return new Property("type", "Coding", "Role of this Contract signer, e.g. notary, grantee.", 0, 1, type); 8588 case 106437350: /*party*/ return new Property("party", "Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Party which is a signator to this Contract.", 0, 1, party); 8589 case 1073584312: /*signature*/ return new Property("signature", "Signature", "Legally binding Contract DSIG signature contents in Base64.", 0, java.lang.Integer.MAX_VALUE, signature); 8590 default: return super.getNamedProperty(_hash, _name, _checkValid); 8591 } 8592 8593 } 8594 8595 @Override 8596 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 8597 switch (hash) { 8598 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Coding 8599 case 106437350: /*party*/ return this.party == null ? new Base[0] : new Base[] {this.party}; // Reference 8600 case 1073584312: /*signature*/ return this.signature == null ? new Base[0] : this.signature.toArray(new Base[this.signature.size()]); // Signature 8601 default: return super.getProperty(hash, name, checkValid); 8602 } 8603 8604 } 8605 8606 @Override 8607 public Base setProperty(int hash, String name, Base value) throws FHIRException { 8608 switch (hash) { 8609 case 3575610: // type 8610 this.type = TypeConvertor.castToCoding(value); // Coding 8611 return value; 8612 case 106437350: // party 8613 this.party = TypeConvertor.castToReference(value); // Reference 8614 return value; 8615 case 1073584312: // signature 8616 this.getSignature().add(TypeConvertor.castToSignature(value)); // Signature 8617 return value; 8618 default: return super.setProperty(hash, name, value); 8619 } 8620 8621 } 8622 8623 @Override 8624 public Base setProperty(String name, Base value) throws FHIRException { 8625 if (name.equals("type")) { 8626 this.type = TypeConvertor.castToCoding(value); // Coding 8627 } else if (name.equals("party")) { 8628 this.party = TypeConvertor.castToReference(value); // Reference 8629 } else if (name.equals("signature")) { 8630 this.getSignature().add(TypeConvertor.castToSignature(value)); 8631 } else 8632 return super.setProperty(name, value); 8633 return value; 8634 } 8635 8636 @Override 8637 public void removeChild(String name, Base value) throws FHIRException { 8638 if (name.equals("type")) { 8639 this.type = null; 8640 } else if (name.equals("party")) { 8641 this.party = null; 8642 } else if (name.equals("signature")) { 8643 this.getSignature().remove(value); 8644 } else 8645 super.removeChild(name, value); 8646 8647 } 8648 8649 @Override 8650 public Base makeProperty(int hash, String name) throws FHIRException { 8651 switch (hash) { 8652 case 3575610: return getType(); 8653 case 106437350: return getParty(); 8654 case 1073584312: return addSignature(); 8655 default: return super.makeProperty(hash, name); 8656 } 8657 8658 } 8659 8660 @Override 8661 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 8662 switch (hash) { 8663 case 3575610: /*type*/ return new String[] {"Coding"}; 8664 case 106437350: /*party*/ return new String[] {"Reference"}; 8665 case 1073584312: /*signature*/ return new String[] {"Signature"}; 8666 default: return super.getTypesForProperty(hash, name); 8667 } 8668 8669 } 8670 8671 @Override 8672 public Base addChild(String name) throws FHIRException { 8673 if (name.equals("type")) { 8674 this.type = new Coding(); 8675 return this.type; 8676 } 8677 else if (name.equals("party")) { 8678 this.party = new Reference(); 8679 return this.party; 8680 } 8681 else if (name.equals("signature")) { 8682 return addSignature(); 8683 } 8684 else 8685 return super.addChild(name); 8686 } 8687 8688 public SignatoryComponent copy() { 8689 SignatoryComponent dst = new SignatoryComponent(); 8690 copyValues(dst); 8691 return dst; 8692 } 8693 8694 public void copyValues(SignatoryComponent dst) { 8695 super.copyValues(dst); 8696 dst.type = type == null ? null : type.copy(); 8697 dst.party = party == null ? null : party.copy(); 8698 if (signature != null) { 8699 dst.signature = new ArrayList<Signature>(); 8700 for (Signature i : signature) 8701 dst.signature.add(i.copy()); 8702 }; 8703 } 8704 8705 @Override 8706 public boolean equalsDeep(Base other_) { 8707 if (!super.equalsDeep(other_)) 8708 return false; 8709 if (!(other_ instanceof SignatoryComponent)) 8710 return false; 8711 SignatoryComponent o = (SignatoryComponent) other_; 8712 return compareDeep(type, o.type, true) && compareDeep(party, o.party, true) && compareDeep(signature, o.signature, true) 8713 ; 8714 } 8715 8716 @Override 8717 public boolean equalsShallow(Base other_) { 8718 if (!super.equalsShallow(other_)) 8719 return false; 8720 if (!(other_ instanceof SignatoryComponent)) 8721 return false; 8722 SignatoryComponent o = (SignatoryComponent) other_; 8723 return true; 8724 } 8725 8726 public boolean isEmpty() { 8727 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, party, signature); 8728 } 8729 8730 public String fhirType() { 8731 return "Contract.signer"; 8732 8733 } 8734 8735 } 8736 8737 @Block() 8738 public static class FriendlyLanguageComponent extends BackboneElement implements IBaseBackboneElement { 8739 /** 8740 * Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability. 8741 */ 8742 @Child(name = "content", type = {Attachment.class, Composition.class, DocumentReference.class, QuestionnaireResponse.class}, order=1, min=1, max=1, modifier=false, summary=false) 8743 @Description(shortDefinition="Easily comprehended representation of this Contract", formalDefinition="Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability." ) 8744 protected DataType content; 8745 8746 private static final long serialVersionUID = -1954179063L; 8747 8748 /** 8749 * Constructor 8750 */ 8751 public FriendlyLanguageComponent() { 8752 super(); 8753 } 8754 8755 /** 8756 * Constructor 8757 */ 8758 public FriendlyLanguageComponent(DataType content) { 8759 super(); 8760 this.setContent(content); 8761 } 8762 8763 /** 8764 * @return {@link #content} (Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.) 8765 */ 8766 public DataType getContent() { 8767 return this.content; 8768 } 8769 8770 /** 8771 * @return {@link #content} (Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.) 8772 */ 8773 public Attachment getContentAttachment() throws FHIRException { 8774 if (this.content == null) 8775 this.content = new Attachment(); 8776 if (!(this.content instanceof Attachment)) 8777 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.content.getClass().getName()+" was encountered"); 8778 return (Attachment) this.content; 8779 } 8780 8781 public boolean hasContentAttachment() { 8782 return this != null && this.content instanceof Attachment; 8783 } 8784 8785 /** 8786 * @return {@link #content} (Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.) 8787 */ 8788 public Reference getContentReference() throws FHIRException { 8789 if (this.content == null) 8790 this.content = new Reference(); 8791 if (!(this.content instanceof Reference)) 8792 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.content.getClass().getName()+" was encountered"); 8793 return (Reference) this.content; 8794 } 8795 8796 public boolean hasContentReference() { 8797 return this != null && this.content instanceof Reference; 8798 } 8799 8800 public boolean hasContent() { 8801 return this.content != null && !this.content.isEmpty(); 8802 } 8803 8804 /** 8805 * @param value {@link #content} (Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.) 8806 */ 8807 public FriendlyLanguageComponent setContent(DataType value) { 8808 if (value != null && !(value instanceof Attachment || value instanceof Reference)) 8809 throw new FHIRException("Not the right type for Contract.friendly.content[x]: "+value.fhirType()); 8810 this.content = value; 8811 return this; 8812 } 8813 8814 protected void listChildren(List<Property> children) { 8815 super.listChildren(children); 8816 children.add(new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.", 0, 1, content)); 8817 } 8818 8819 @Override 8820 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 8821 switch (_hash) { 8822 case 264548711: /*content[x]*/ return new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.", 0, 1, content); 8823 case 951530617: /*content*/ return new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.", 0, 1, content); 8824 case -702028164: /*contentAttachment*/ return new Property("content[x]", "Attachment", "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.", 0, 1, content); 8825 case 1193747154: /*contentReference*/ return new Property("content[x]", "Reference(Composition|DocumentReference|QuestionnaireResponse)", "Human readable rendering of this Contract in a format and representation intended to enhance comprehension and ensure understandability.", 0, 1, content); 8826 default: return super.getNamedProperty(_hash, _name, _checkValid); 8827 } 8828 8829 } 8830 8831 @Override 8832 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 8833 switch (hash) { 8834 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // DataType 8835 default: return super.getProperty(hash, name, checkValid); 8836 } 8837 8838 } 8839 8840 @Override 8841 public Base setProperty(int hash, String name, Base value) throws FHIRException { 8842 switch (hash) { 8843 case 951530617: // content 8844 this.content = TypeConvertor.castToType(value); // DataType 8845 return value; 8846 default: return super.setProperty(hash, name, value); 8847 } 8848 8849 } 8850 8851 @Override 8852 public Base setProperty(String name, Base value) throws FHIRException { 8853 if (name.equals("content[x]")) { 8854 this.content = TypeConvertor.castToType(value); // DataType 8855 } else 8856 return super.setProperty(name, value); 8857 return value; 8858 } 8859 8860 @Override 8861 public void removeChild(String name, Base value) throws FHIRException { 8862 if (name.equals("content[x]")) { 8863 this.content = null; 8864 } else 8865 super.removeChild(name, value); 8866 8867 } 8868 8869 @Override 8870 public Base makeProperty(int hash, String name) throws FHIRException { 8871 switch (hash) { 8872 case 264548711: return getContent(); 8873 case 951530617: return getContent(); 8874 default: return super.makeProperty(hash, name); 8875 } 8876 8877 } 8878 8879 @Override 8880 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 8881 switch (hash) { 8882 case 951530617: /*content*/ return new String[] {"Attachment", "Reference"}; 8883 default: return super.getTypesForProperty(hash, name); 8884 } 8885 8886 } 8887 8888 @Override 8889 public Base addChild(String name) throws FHIRException { 8890 if (name.equals("contentAttachment")) { 8891 this.content = new Attachment(); 8892 return this.content; 8893 } 8894 else if (name.equals("contentReference")) { 8895 this.content = new Reference(); 8896 return this.content; 8897 } 8898 else 8899 return super.addChild(name); 8900 } 8901 8902 public FriendlyLanguageComponent copy() { 8903 FriendlyLanguageComponent dst = new FriendlyLanguageComponent(); 8904 copyValues(dst); 8905 return dst; 8906 } 8907 8908 public void copyValues(FriendlyLanguageComponent dst) { 8909 super.copyValues(dst); 8910 dst.content = content == null ? null : content.copy(); 8911 } 8912 8913 @Override 8914 public boolean equalsDeep(Base other_) { 8915 if (!super.equalsDeep(other_)) 8916 return false; 8917 if (!(other_ instanceof FriendlyLanguageComponent)) 8918 return false; 8919 FriendlyLanguageComponent o = (FriendlyLanguageComponent) other_; 8920 return compareDeep(content, o.content, true); 8921 } 8922 8923 @Override 8924 public boolean equalsShallow(Base other_) { 8925 if (!super.equalsShallow(other_)) 8926 return false; 8927 if (!(other_ instanceof FriendlyLanguageComponent)) 8928 return false; 8929 FriendlyLanguageComponent o = (FriendlyLanguageComponent) other_; 8930 return true; 8931 } 8932 8933 public boolean isEmpty() { 8934 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(content); 8935 } 8936 8937 public String fhirType() { 8938 return "Contract.friendly"; 8939 8940 } 8941 8942 } 8943 8944 @Block() 8945 public static class LegalLanguageComponent extends BackboneElement implements IBaseBackboneElement { 8946 /** 8947 * Contract legal text in human renderable form. 8948 */ 8949 @Child(name = "content", type = {Attachment.class, Composition.class, DocumentReference.class, QuestionnaireResponse.class}, order=1, min=1, max=1, modifier=false, summary=false) 8950 @Description(shortDefinition="Contract Legal Text", formalDefinition="Contract legal text in human renderable form." ) 8951 protected DataType content; 8952 8953 private static final long serialVersionUID = -1954179063L; 8954 8955 /** 8956 * Constructor 8957 */ 8958 public LegalLanguageComponent() { 8959 super(); 8960 } 8961 8962 /** 8963 * Constructor 8964 */ 8965 public LegalLanguageComponent(DataType content) { 8966 super(); 8967 this.setContent(content); 8968 } 8969 8970 /** 8971 * @return {@link #content} (Contract legal text in human renderable form.) 8972 */ 8973 public DataType getContent() { 8974 return this.content; 8975 } 8976 8977 /** 8978 * @return {@link #content} (Contract legal text in human renderable form.) 8979 */ 8980 public Attachment getContentAttachment() throws FHIRException { 8981 if (this.content == null) 8982 this.content = new Attachment(); 8983 if (!(this.content instanceof Attachment)) 8984 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.content.getClass().getName()+" was encountered"); 8985 return (Attachment) this.content; 8986 } 8987 8988 public boolean hasContentAttachment() { 8989 return this != null && this.content instanceof Attachment; 8990 } 8991 8992 /** 8993 * @return {@link #content} (Contract legal text in human renderable form.) 8994 */ 8995 public Reference getContentReference() throws FHIRException { 8996 if (this.content == null) 8997 this.content = new Reference(); 8998 if (!(this.content instanceof Reference)) 8999 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.content.getClass().getName()+" was encountered"); 9000 return (Reference) this.content; 9001 } 9002 9003 public boolean hasContentReference() { 9004 return this != null && this.content instanceof Reference; 9005 } 9006 9007 public boolean hasContent() { 9008 return this.content != null && !this.content.isEmpty(); 9009 } 9010 9011 /** 9012 * @param value {@link #content} (Contract legal text in human renderable form.) 9013 */ 9014 public LegalLanguageComponent setContent(DataType value) { 9015 if (value != null && !(value instanceof Attachment || value instanceof Reference)) 9016 throw new FHIRException("Not the right type for Contract.legal.content[x]: "+value.fhirType()); 9017 this.content = value; 9018 return this; 9019 } 9020 9021 protected void listChildren(List<Property> children) { 9022 super.listChildren(children); 9023 children.add(new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Contract legal text in human renderable form.", 0, 1, content)); 9024 } 9025 9026 @Override 9027 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 9028 switch (_hash) { 9029 case 264548711: /*content[x]*/ return new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Contract legal text in human renderable form.", 0, 1, content); 9030 case 951530617: /*content*/ return new Property("content[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse)", "Contract legal text in human renderable form.", 0, 1, content); 9031 case -702028164: /*contentAttachment*/ return new Property("content[x]", "Attachment", "Contract legal text in human renderable form.", 0, 1, content); 9032 case 1193747154: /*contentReference*/ return new Property("content[x]", "Reference(Composition|DocumentReference|QuestionnaireResponse)", "Contract legal text in human renderable form.", 0, 1, content); 9033 default: return super.getNamedProperty(_hash, _name, _checkValid); 9034 } 9035 9036 } 9037 9038 @Override 9039 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 9040 switch (hash) { 9041 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // DataType 9042 default: return super.getProperty(hash, name, checkValid); 9043 } 9044 9045 } 9046 9047 @Override 9048 public Base setProperty(int hash, String name, Base value) throws FHIRException { 9049 switch (hash) { 9050 case 951530617: // content 9051 this.content = TypeConvertor.castToType(value); // DataType 9052 return value; 9053 default: return super.setProperty(hash, name, value); 9054 } 9055 9056 } 9057 9058 @Override 9059 public Base setProperty(String name, Base value) throws FHIRException { 9060 if (name.equals("content[x]")) { 9061 this.content = TypeConvertor.castToType(value); // DataType 9062 } else 9063 return super.setProperty(name, value); 9064 return value; 9065 } 9066 9067 @Override 9068 public void removeChild(String name, Base value) throws FHIRException { 9069 if (name.equals("content[x]")) { 9070 this.content = null; 9071 } else 9072 super.removeChild(name, value); 9073 9074 } 9075 9076 @Override 9077 public Base makeProperty(int hash, String name) throws FHIRException { 9078 switch (hash) { 9079 case 264548711: return getContent(); 9080 case 951530617: return getContent(); 9081 default: return super.makeProperty(hash, name); 9082 } 9083 9084 } 9085 9086 @Override 9087 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 9088 switch (hash) { 9089 case 951530617: /*content*/ return new String[] {"Attachment", "Reference"}; 9090 default: return super.getTypesForProperty(hash, name); 9091 } 9092 9093 } 9094 9095 @Override 9096 public Base addChild(String name) throws FHIRException { 9097 if (name.equals("contentAttachment")) { 9098 this.content = new Attachment(); 9099 return this.content; 9100 } 9101 else if (name.equals("contentReference")) { 9102 this.content = new Reference(); 9103 return this.content; 9104 } 9105 else 9106 return super.addChild(name); 9107 } 9108 9109 public LegalLanguageComponent copy() { 9110 LegalLanguageComponent dst = new LegalLanguageComponent(); 9111 copyValues(dst); 9112 return dst; 9113 } 9114 9115 public void copyValues(LegalLanguageComponent dst) { 9116 super.copyValues(dst); 9117 dst.content = content == null ? null : content.copy(); 9118 } 9119 9120 @Override 9121 public boolean equalsDeep(Base other_) { 9122 if (!super.equalsDeep(other_)) 9123 return false; 9124 if (!(other_ instanceof LegalLanguageComponent)) 9125 return false; 9126 LegalLanguageComponent o = (LegalLanguageComponent) other_; 9127 return compareDeep(content, o.content, true); 9128 } 9129 9130 @Override 9131 public boolean equalsShallow(Base other_) { 9132 if (!super.equalsShallow(other_)) 9133 return false; 9134 if (!(other_ instanceof LegalLanguageComponent)) 9135 return false; 9136 LegalLanguageComponent o = (LegalLanguageComponent) other_; 9137 return true; 9138 } 9139 9140 public boolean isEmpty() { 9141 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(content); 9142 } 9143 9144 public String fhirType() { 9145 return "Contract.legal"; 9146 9147 } 9148 9149 } 9150 9151 @Block() 9152 public static class ComputableLanguageComponent extends BackboneElement implements IBaseBackboneElement { 9153 /** 9154 * Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal). 9155 */ 9156 @Child(name = "content", type = {Attachment.class, DocumentReference.class}, order=1, min=1, max=1, modifier=false, summary=false) 9157 @Description(shortDefinition="Computable Contract Rules", formalDefinition="Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal)." ) 9158 protected DataType content; 9159 9160 private static final long serialVersionUID = -1954179063L; 9161 9162 /** 9163 * Constructor 9164 */ 9165 public ComputableLanguageComponent() { 9166 super(); 9167 } 9168 9169 /** 9170 * Constructor 9171 */ 9172 public ComputableLanguageComponent(DataType content) { 9173 super(); 9174 this.setContent(content); 9175 } 9176 9177 /** 9178 * @return {@link #content} (Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).) 9179 */ 9180 public DataType getContent() { 9181 return this.content; 9182 } 9183 9184 /** 9185 * @return {@link #content} (Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).) 9186 */ 9187 public Attachment getContentAttachment() throws FHIRException { 9188 if (this.content == null) 9189 this.content = new Attachment(); 9190 if (!(this.content instanceof Attachment)) 9191 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.content.getClass().getName()+" was encountered"); 9192 return (Attachment) this.content; 9193 } 9194 9195 public boolean hasContentAttachment() { 9196 return this != null && this.content instanceof Attachment; 9197 } 9198 9199 /** 9200 * @return {@link #content} (Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).) 9201 */ 9202 public Reference getContentReference() throws FHIRException { 9203 if (this.content == null) 9204 this.content = new Reference(); 9205 if (!(this.content instanceof Reference)) 9206 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.content.getClass().getName()+" was encountered"); 9207 return (Reference) this.content; 9208 } 9209 9210 public boolean hasContentReference() { 9211 return this != null && this.content instanceof Reference; 9212 } 9213 9214 public boolean hasContent() { 9215 return this.content != null && !this.content.isEmpty(); 9216 } 9217 9218 /** 9219 * @param value {@link #content} (Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).) 9220 */ 9221 public ComputableLanguageComponent setContent(DataType value) { 9222 if (value != null && !(value instanceof Attachment || value instanceof Reference)) 9223 throw new FHIRException("Not the right type for Contract.rule.content[x]: "+value.fhirType()); 9224 this.content = value; 9225 return this; 9226 } 9227 9228 protected void listChildren(List<Property> children) { 9229 super.listChildren(children); 9230 children.add(new Property("content[x]", "Attachment|Reference(DocumentReference)", "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).", 0, 1, content)); 9231 } 9232 9233 @Override 9234 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 9235 switch (_hash) { 9236 case 264548711: /*content[x]*/ return new Property("content[x]", "Attachment|Reference(DocumentReference)", "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).", 0, 1, content); 9237 case 951530617: /*content*/ return new Property("content[x]", "Attachment|Reference(DocumentReference)", "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).", 0, 1, content); 9238 case -702028164: /*contentAttachment*/ return new Property("content[x]", "Attachment", "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).", 0, 1, content); 9239 case 1193747154: /*contentReference*/ return new Property("content[x]", "Reference(DocumentReference)", "Computable Contract conveyed using a policy rule language (e.g. XACML, DKAL, SecPal).", 0, 1, content); 9240 default: return super.getNamedProperty(_hash, _name, _checkValid); 9241 } 9242 9243 } 9244 9245 @Override 9246 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 9247 switch (hash) { 9248 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // DataType 9249 default: return super.getProperty(hash, name, checkValid); 9250 } 9251 9252 } 9253 9254 @Override 9255 public Base setProperty(int hash, String name, Base value) throws FHIRException { 9256 switch (hash) { 9257 case 951530617: // content 9258 this.content = TypeConvertor.castToType(value); // DataType 9259 return value; 9260 default: return super.setProperty(hash, name, value); 9261 } 9262 9263 } 9264 9265 @Override 9266 public Base setProperty(String name, Base value) throws FHIRException { 9267 if (name.equals("content[x]")) { 9268 this.content = TypeConvertor.castToType(value); // DataType 9269 } else 9270 return super.setProperty(name, value); 9271 return value; 9272 } 9273 9274 @Override 9275 public void removeChild(String name, Base value) throws FHIRException { 9276 if (name.equals("content[x]")) { 9277 this.content = null; 9278 } else 9279 super.removeChild(name, value); 9280 9281 } 9282 9283 @Override 9284 public Base makeProperty(int hash, String name) throws FHIRException { 9285 switch (hash) { 9286 case 264548711: return getContent(); 9287 case 951530617: return getContent(); 9288 default: return super.makeProperty(hash, name); 9289 } 9290 9291 } 9292 9293 @Override 9294 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 9295 switch (hash) { 9296 case 951530617: /*content*/ return new String[] {"Attachment", "Reference"}; 9297 default: return super.getTypesForProperty(hash, name); 9298 } 9299 9300 } 9301 9302 @Override 9303 public Base addChild(String name) throws FHIRException { 9304 if (name.equals("contentAttachment")) { 9305 this.content = new Attachment(); 9306 return this.content; 9307 } 9308 else if (name.equals("contentReference")) { 9309 this.content = new Reference(); 9310 return this.content; 9311 } 9312 else 9313 return super.addChild(name); 9314 } 9315 9316 public ComputableLanguageComponent copy() { 9317 ComputableLanguageComponent dst = new ComputableLanguageComponent(); 9318 copyValues(dst); 9319 return dst; 9320 } 9321 9322 public void copyValues(ComputableLanguageComponent dst) { 9323 super.copyValues(dst); 9324 dst.content = content == null ? null : content.copy(); 9325 } 9326 9327 @Override 9328 public boolean equalsDeep(Base other_) { 9329 if (!super.equalsDeep(other_)) 9330 return false; 9331 if (!(other_ instanceof ComputableLanguageComponent)) 9332 return false; 9333 ComputableLanguageComponent o = (ComputableLanguageComponent) other_; 9334 return compareDeep(content, o.content, true); 9335 } 9336 9337 @Override 9338 public boolean equalsShallow(Base other_) { 9339 if (!super.equalsShallow(other_)) 9340 return false; 9341 if (!(other_ instanceof ComputableLanguageComponent)) 9342 return false; 9343 ComputableLanguageComponent o = (ComputableLanguageComponent) other_; 9344 return true; 9345 } 9346 9347 public boolean isEmpty() { 9348 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(content); 9349 } 9350 9351 public String fhirType() { 9352 return "Contract.rule"; 9353 9354 } 9355 9356 } 9357 9358 /** 9359 * Unique identifier for this Contract or a derivative that references a Source Contract. 9360 */ 9361 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 9362 @Description(shortDefinition="Contract number", formalDefinition="Unique identifier for this Contract or a derivative that references a Source Contract." ) 9363 protected List<Identifier> identifier; 9364 9365 /** 9366 * Canonical identifier for this contract, represented as a URI (globally unique). 9367 */ 9368 @Child(name = "url", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=false) 9369 @Description(shortDefinition="Basal definition", formalDefinition="Canonical identifier for this contract, represented as a URI (globally unique)." ) 9370 protected UriType url; 9371 9372 /** 9373 * An edition identifier used for business purposes to label business significant variants. 9374 */ 9375 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 9376 @Description(shortDefinition="Business edition", formalDefinition="An edition identifier used for business purposes to label business significant variants." ) 9377 protected StringType version; 9378 9379 /** 9380 * The status of the resource instance. 9381 */ 9382 @Child(name = "status", type = {CodeType.class}, order=3, min=0, max=1, modifier=true, summary=true) 9383 @Description(shortDefinition="amended | appended | cancelled | disputed | entered-in-error | executable +", formalDefinition="The status of the resource instance." ) 9384 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-status") 9385 protected Enumeration<ContractResourceStatusCodes> status; 9386 9387 /** 9388 * Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement. 9389 */ 9390 @Child(name = "legalState", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) 9391 @Description(shortDefinition="Negotiation status", formalDefinition="Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement." ) 9392 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-legalstate") 9393 protected CodeableConcept legalState; 9394 9395 /** 9396 * The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract. 9397 */ 9398 @Child(name = "instantiatesCanonical", type = {Contract.class}, order=5, min=0, max=1, modifier=false, summary=false) 9399 @Description(shortDefinition="Source Contract Definition", formalDefinition="The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract." ) 9400 protected Reference instantiatesCanonical; 9401 9402 /** 9403 * The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. 9404 */ 9405 @Child(name = "instantiatesUri", type = {UriType.class}, order=6, min=0, max=1, modifier=false, summary=false) 9406 @Description(shortDefinition="External Contract Definition", formalDefinition="The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract." ) 9407 protected UriType instantiatesUri; 9408 9409 /** 9410 * The minimal content derived from the basal information source at a specific stage in its lifecycle. 9411 */ 9412 @Child(name = "contentDerivative", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) 9413 @Description(shortDefinition="Content derived from the basal information", formalDefinition="The minimal content derived from the basal information source at a specific stage in its lifecycle." ) 9414 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-content-derivative") 9415 protected CodeableConcept contentDerivative; 9416 9417 /** 9418 * When this Contract was issued. 9419 */ 9420 @Child(name = "issued", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 9421 @Description(shortDefinition="When this Contract was issued", formalDefinition="When this Contract was issued." ) 9422 protected DateTimeType issued; 9423 9424 /** 9425 * Relevant time or time-period when this Contract is applicable. 9426 */ 9427 @Child(name = "applies", type = {Period.class}, order=9, min=0, max=1, modifier=false, summary=true) 9428 @Description(shortDefinition="Effective time", formalDefinition="Relevant time or time-period when this Contract is applicable." ) 9429 protected Period applies; 9430 9431 /** 9432 * Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract. 9433 */ 9434 @Child(name = "expirationType", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=false) 9435 @Description(shortDefinition="Contract cessation cause", formalDefinition="Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract." ) 9436 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-expiration-type") 9437 protected CodeableConcept expirationType; 9438 9439 /** 9440 * The target entity impacted by or of interest to parties to the agreement. 9441 */ 9442 @Child(name = "subject", type = {Reference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 9443 @Description(shortDefinition="Contract Target Entity", formalDefinition="The target entity impacted by or of interest to parties to the agreement." ) 9444 protected List<Reference> subject; 9445 9446 /** 9447 * A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies. 9448 */ 9449 @Child(name = "authority", type = {Organization.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9450 @Description(shortDefinition="Authority under which this Contract has standing", formalDefinition="A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies." ) 9451 protected List<Reference> authority; 9452 9453 /** 9454 * Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources. 9455 */ 9456 @Child(name = "domain", type = {Location.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9457 @Description(shortDefinition="A sphere of control governed by an authoritative jurisdiction, organization, or person", formalDefinition="Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources." ) 9458 protected List<Reference> domain; 9459 9460 /** 9461 * Sites in which the contract is complied with, exercised, or in force. 9462 */ 9463 @Child(name = "site", type = {Location.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9464 @Description(shortDefinition="Specific Location", formalDefinition="Sites in which the contract is complied with, exercised, or in force." ) 9465 protected List<Reference> site; 9466 9467 /** 9468 * A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation. 9469 */ 9470 @Child(name = "name", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=true) 9471 @Description(shortDefinition="Computer friendly designation", formalDefinition="A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 9472 protected StringType name; 9473 9474 /** 9475 * A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state. 9476 */ 9477 @Child(name = "title", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=true) 9478 @Description(shortDefinition="Human Friendly name", formalDefinition="A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state." ) 9479 protected StringType title; 9480 9481 /** 9482 * A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state. 9483 */ 9484 @Child(name = "subtitle", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) 9485 @Description(shortDefinition="Subordinate Friendly name", formalDefinition="A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state." ) 9486 protected StringType subtitle; 9487 9488 /** 9489 * Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation. 9490 */ 9491 @Child(name = "alias", type = {StringType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9492 @Description(shortDefinition="Acronym or short name", formalDefinition="Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation." ) 9493 protected List<StringType> alias; 9494 9495 /** 9496 * The individual or organization that authored the Contract definition, derivative, or instance in any legal state. 9497 */ 9498 @Child(name = "author", type = {Patient.class, Practitioner.class, PractitionerRole.class, Organization.class}, order=19, min=0, max=1, modifier=false, summary=false) 9499 @Description(shortDefinition="Source of Contract", formalDefinition="The individual or organization that authored the Contract definition, derivative, or instance in any legal state." ) 9500 protected Reference author; 9501 9502 /** 9503 * A selector of legal concerns for this Contract definition, derivative, or instance in any legal state. 9504 */ 9505 @Child(name = "scope", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=false) 9506 @Description(shortDefinition="Range of Legal Concerns", formalDefinition="A selector of legal concerns for this Contract definition, derivative, or instance in any legal state." ) 9507 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-scope") 9508 protected CodeableConcept scope; 9509 9510 /** 9511 * Narrows the range of legal concerns to focus on the achievement of specific contractual objectives. 9512 */ 9513 @Child(name = "topic", type = {CodeableConcept.class, Reference.class}, order=21, min=0, max=1, modifier=false, summary=false) 9514 @Description(shortDefinition="Focus of contract interest", formalDefinition="Narrows the range of legal concerns to focus on the achievement of specific contractual objectives." ) 9515 protected DataType topic; 9516 9517 /** 9518 * A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract. 9519 */ 9520 @Child(name = "type", type = {CodeableConcept.class}, order=22, min=0, max=1, modifier=false, summary=true) 9521 @Description(shortDefinition="Legal instrument category", formalDefinition="A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract." ) 9522 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-type") 9523 protected CodeableConcept type; 9524 9525 /** 9526 * Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope. 9527 */ 9528 @Child(name = "subType", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 9529 @Description(shortDefinition="Subtype within the context of type", formalDefinition="Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope." ) 9530 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/contract-subtype") 9531 protected List<CodeableConcept> subType; 9532 9533 /** 9534 * Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract. 9535 */ 9536 @Child(name = "contentDefinition", type = {}, order=24, min=0, max=1, modifier=false, summary=false) 9537 @Description(shortDefinition="Contract precursor content", formalDefinition="Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract." ) 9538 protected ContentDefinitionComponent contentDefinition; 9539 9540 /** 9541 * One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups. 9542 */ 9543 @Child(name = "term", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9544 @Description(shortDefinition="Contract Term List", formalDefinition="One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups." ) 9545 protected List<TermComponent> term; 9546 9547 /** 9548 * Information that may be needed by/relevant to the performer in their execution of this term action. 9549 */ 9550 @Child(name = "supportingInfo", type = {Reference.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9551 @Description(shortDefinition="Extra Information", formalDefinition="Information that may be needed by/relevant to the performer in their execution of this term action." ) 9552 protected List<Reference> supportingInfo; 9553 9554 /** 9555 * Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provenance.entity indicates the target that was changed in the update (see [Provenance.entity](provenance-definitions.html#Provenance.entity)). 9556 */ 9557 @Child(name = "relevantHistory", type = {Provenance.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9558 @Description(shortDefinition="Key event in Contract History", formalDefinition="Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provenance.entity indicates the target that was changed in the update (see [Provenance.entity](provenance-definitions.html#Provenance.entity))." ) 9559 protected List<Reference> relevantHistory; 9560 9561 /** 9562 * Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness. 9563 */ 9564 @Child(name = "signer", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9565 @Description(shortDefinition="Contract Signatory", formalDefinition="Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness." ) 9566 protected List<SignatoryComponent> signer; 9567 9568 /** 9569 * The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement. 9570 */ 9571 @Child(name = "friendly", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9572 @Description(shortDefinition="Contract Friendly Language", formalDefinition="The \"patient friendly language\" versionof the Contract in whole or in parts. \"Patient friendly language\" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement." ) 9573 protected List<FriendlyLanguageComponent> friendly; 9574 9575 /** 9576 * List of Legal expressions or representations of this Contract. 9577 */ 9578 @Child(name = "legal", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9579 @Description(shortDefinition="Contract Legal Language", formalDefinition="List of Legal expressions or representations of this Contract." ) 9580 protected List<LegalLanguageComponent> legal; 9581 9582 /** 9583 * List of Computable Policy Rule Language Representations of this Contract. 9584 */ 9585 @Child(name = "rule", type = {}, order=31, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 9586 @Description(shortDefinition="Computable Contract Language", formalDefinition="List of Computable Policy Rule Language Representations of this Contract." ) 9587 protected List<ComputableLanguageComponent> rule; 9588 9589 /** 9590 * Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract. 9591 */ 9592 @Child(name = "legallyBinding", type = {Attachment.class, Composition.class, DocumentReference.class, QuestionnaireResponse.class, Contract.class}, order=32, min=0, max=1, modifier=false, summary=false) 9593 @Description(shortDefinition="Binding Contract", formalDefinition="Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract." ) 9594 protected DataType legallyBinding; 9595 9596 private static final long serialVersionUID = -792431459L; 9597 9598 /** 9599 * Constructor 9600 */ 9601 public Contract() { 9602 super(); 9603 } 9604 9605 /** 9606 * @return {@link #identifier} (Unique identifier for this Contract or a derivative that references a Source Contract.) 9607 */ 9608 public List<Identifier> getIdentifier() { 9609 if (this.identifier == null) 9610 this.identifier = new ArrayList<Identifier>(); 9611 return this.identifier; 9612 } 9613 9614 /** 9615 * @return Returns a reference to <code>this</code> for easy method chaining 9616 */ 9617 public Contract setIdentifier(List<Identifier> theIdentifier) { 9618 this.identifier = theIdentifier; 9619 return this; 9620 } 9621 9622 public boolean hasIdentifier() { 9623 if (this.identifier == null) 9624 return false; 9625 for (Identifier item : this.identifier) 9626 if (!item.isEmpty()) 9627 return true; 9628 return false; 9629 } 9630 9631 public Identifier addIdentifier() { //3 9632 Identifier t = new Identifier(); 9633 if (this.identifier == null) 9634 this.identifier = new ArrayList<Identifier>(); 9635 this.identifier.add(t); 9636 return t; 9637 } 9638 9639 public Contract addIdentifier(Identifier t) { //3 9640 if (t == null) 9641 return this; 9642 if (this.identifier == null) 9643 this.identifier = new ArrayList<Identifier>(); 9644 this.identifier.add(t); 9645 return this; 9646 } 9647 9648 /** 9649 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 9650 */ 9651 public Identifier getIdentifierFirstRep() { 9652 if (getIdentifier().isEmpty()) { 9653 addIdentifier(); 9654 } 9655 return getIdentifier().get(0); 9656 } 9657 9658 /** 9659 * @return {@link #url} (Canonical identifier for this contract, represented as a URI (globally unique).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 9660 */ 9661 public UriType getUrlElement() { 9662 if (this.url == null) 9663 if (Configuration.errorOnAutoCreate()) 9664 throw new Error("Attempt to auto-create Contract.url"); 9665 else if (Configuration.doAutoCreate()) 9666 this.url = new UriType(); // bb 9667 return this.url; 9668 } 9669 9670 public boolean hasUrlElement() { 9671 return this.url != null && !this.url.isEmpty(); 9672 } 9673 9674 public boolean hasUrl() { 9675 return this.url != null && !this.url.isEmpty(); 9676 } 9677 9678 /** 9679 * @param value {@link #url} (Canonical identifier for this contract, represented as a URI (globally unique).). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 9680 */ 9681 public Contract setUrlElement(UriType value) { 9682 this.url = value; 9683 return this; 9684 } 9685 9686 /** 9687 * @return Canonical identifier for this contract, represented as a URI (globally unique). 9688 */ 9689 public String getUrl() { 9690 return this.url == null ? null : this.url.getValue(); 9691 } 9692 9693 /** 9694 * @param value Canonical identifier for this contract, represented as a URI (globally unique). 9695 */ 9696 public Contract setUrl(String value) { 9697 if (Utilities.noString(value)) 9698 this.url = null; 9699 else { 9700 if (this.url == null) 9701 this.url = new UriType(); 9702 this.url.setValue(value); 9703 } 9704 return this; 9705 } 9706 9707 /** 9708 * @return {@link #version} (An edition identifier used for business purposes to label business significant variants.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 9709 */ 9710 public StringType getVersionElement() { 9711 if (this.version == null) 9712 if (Configuration.errorOnAutoCreate()) 9713 throw new Error("Attempt to auto-create Contract.version"); 9714 else if (Configuration.doAutoCreate()) 9715 this.version = new StringType(); // bb 9716 return this.version; 9717 } 9718 9719 public boolean hasVersionElement() { 9720 return this.version != null && !this.version.isEmpty(); 9721 } 9722 9723 public boolean hasVersion() { 9724 return this.version != null && !this.version.isEmpty(); 9725 } 9726 9727 /** 9728 * @param value {@link #version} (An edition identifier used for business purposes to label business significant variants.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 9729 */ 9730 public Contract setVersionElement(StringType value) { 9731 this.version = value; 9732 return this; 9733 } 9734 9735 /** 9736 * @return An edition identifier used for business purposes to label business significant variants. 9737 */ 9738 public String getVersion() { 9739 return this.version == null ? null : this.version.getValue(); 9740 } 9741 9742 /** 9743 * @param value An edition identifier used for business purposes to label business significant variants. 9744 */ 9745 public Contract setVersion(String value) { 9746 if (Utilities.noString(value)) 9747 this.version = null; 9748 else { 9749 if (this.version == null) 9750 this.version = new StringType(); 9751 this.version.setValue(value); 9752 } 9753 return this; 9754 } 9755 9756 /** 9757 * @return {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 9758 */ 9759 public Enumeration<ContractResourceStatusCodes> getStatusElement() { 9760 if (this.status == null) 9761 if (Configuration.errorOnAutoCreate()) 9762 throw new Error("Attempt to auto-create Contract.status"); 9763 else if (Configuration.doAutoCreate()) 9764 this.status = new Enumeration<ContractResourceStatusCodes>(new ContractResourceStatusCodesEnumFactory()); // bb 9765 return this.status; 9766 } 9767 9768 public boolean hasStatusElement() { 9769 return this.status != null && !this.status.isEmpty(); 9770 } 9771 9772 public boolean hasStatus() { 9773 return this.status != null && !this.status.isEmpty(); 9774 } 9775 9776 /** 9777 * @param value {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 9778 */ 9779 public Contract setStatusElement(Enumeration<ContractResourceStatusCodes> value) { 9780 this.status = value; 9781 return this; 9782 } 9783 9784 /** 9785 * @return The status of the resource instance. 9786 */ 9787 public ContractResourceStatusCodes getStatus() { 9788 return this.status == null ? null : this.status.getValue(); 9789 } 9790 9791 /** 9792 * @param value The status of the resource instance. 9793 */ 9794 public Contract setStatus(ContractResourceStatusCodes value) { 9795 if (value == null) 9796 this.status = null; 9797 else { 9798 if (this.status == null) 9799 this.status = new Enumeration<ContractResourceStatusCodes>(new ContractResourceStatusCodesEnumFactory()); 9800 this.status.setValue(value); 9801 } 9802 return this; 9803 } 9804 9805 /** 9806 * @return {@link #legalState} (Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement.) 9807 */ 9808 public CodeableConcept getLegalState() { 9809 if (this.legalState == null) 9810 if (Configuration.errorOnAutoCreate()) 9811 throw new Error("Attempt to auto-create Contract.legalState"); 9812 else if (Configuration.doAutoCreate()) 9813 this.legalState = new CodeableConcept(); // cc 9814 return this.legalState; 9815 } 9816 9817 public boolean hasLegalState() { 9818 return this.legalState != null && !this.legalState.isEmpty(); 9819 } 9820 9821 /** 9822 * @param value {@link #legalState} (Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement.) 9823 */ 9824 public Contract setLegalState(CodeableConcept value) { 9825 this.legalState = value; 9826 return this; 9827 } 9828 9829 /** 9830 * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.) 9831 */ 9832 public Reference getInstantiatesCanonical() { 9833 if (this.instantiatesCanonical == null) 9834 if (Configuration.errorOnAutoCreate()) 9835 throw new Error("Attempt to auto-create Contract.instantiatesCanonical"); 9836 else if (Configuration.doAutoCreate()) 9837 this.instantiatesCanonical = new Reference(); // cc 9838 return this.instantiatesCanonical; 9839 } 9840 9841 public boolean hasInstantiatesCanonical() { 9842 return this.instantiatesCanonical != null && !this.instantiatesCanonical.isEmpty(); 9843 } 9844 9845 /** 9846 * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.) 9847 */ 9848 public Contract setInstantiatesCanonical(Reference value) { 9849 this.instantiatesCanonical = value; 9850 return this; 9851 } 9852 9853 /** 9854 * @return {@link #instantiatesUri} (The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value 9855 */ 9856 public UriType getInstantiatesUriElement() { 9857 if (this.instantiatesUri == null) 9858 if (Configuration.errorOnAutoCreate()) 9859 throw new Error("Attempt to auto-create Contract.instantiatesUri"); 9860 else if (Configuration.doAutoCreate()) 9861 this.instantiatesUri = new UriType(); // bb 9862 return this.instantiatesUri; 9863 } 9864 9865 public boolean hasInstantiatesUriElement() { 9866 return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); 9867 } 9868 9869 public boolean hasInstantiatesUri() { 9870 return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); 9871 } 9872 9873 /** 9874 * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value 9875 */ 9876 public Contract setInstantiatesUriElement(UriType value) { 9877 this.instantiatesUri = value; 9878 return this; 9879 } 9880 9881 /** 9882 * @return The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. 9883 */ 9884 public String getInstantiatesUri() { 9885 return this.instantiatesUri == null ? null : this.instantiatesUri.getValue(); 9886 } 9887 9888 /** 9889 * @param value The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract. 9890 */ 9891 public Contract setInstantiatesUri(String value) { 9892 if (Utilities.noString(value)) 9893 this.instantiatesUri = null; 9894 else { 9895 if (this.instantiatesUri == null) 9896 this.instantiatesUri = new UriType(); 9897 this.instantiatesUri.setValue(value); 9898 } 9899 return this; 9900 } 9901 9902 /** 9903 * @return {@link #contentDerivative} (The minimal content derived from the basal information source at a specific stage in its lifecycle.) 9904 */ 9905 public CodeableConcept getContentDerivative() { 9906 if (this.contentDerivative == null) 9907 if (Configuration.errorOnAutoCreate()) 9908 throw new Error("Attempt to auto-create Contract.contentDerivative"); 9909 else if (Configuration.doAutoCreate()) 9910 this.contentDerivative = new CodeableConcept(); // cc 9911 return this.contentDerivative; 9912 } 9913 9914 public boolean hasContentDerivative() { 9915 return this.contentDerivative != null && !this.contentDerivative.isEmpty(); 9916 } 9917 9918 /** 9919 * @param value {@link #contentDerivative} (The minimal content derived from the basal information source at a specific stage in its lifecycle.) 9920 */ 9921 public Contract setContentDerivative(CodeableConcept value) { 9922 this.contentDerivative = value; 9923 return this; 9924 } 9925 9926 /** 9927 * @return {@link #issued} (When this Contract was issued.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 9928 */ 9929 public DateTimeType getIssuedElement() { 9930 if (this.issued == null) 9931 if (Configuration.errorOnAutoCreate()) 9932 throw new Error("Attempt to auto-create Contract.issued"); 9933 else if (Configuration.doAutoCreate()) 9934 this.issued = new DateTimeType(); // bb 9935 return this.issued; 9936 } 9937 9938 public boolean hasIssuedElement() { 9939 return this.issued != null && !this.issued.isEmpty(); 9940 } 9941 9942 public boolean hasIssued() { 9943 return this.issued != null && !this.issued.isEmpty(); 9944 } 9945 9946 /** 9947 * @param value {@link #issued} (When this Contract was issued.). This is the underlying object with id, value and extensions. The accessor "getIssued" gives direct access to the value 9948 */ 9949 public Contract setIssuedElement(DateTimeType value) { 9950 this.issued = value; 9951 return this; 9952 } 9953 9954 /** 9955 * @return When this Contract was issued. 9956 */ 9957 public Date getIssued() { 9958 return this.issued == null ? null : this.issued.getValue(); 9959 } 9960 9961 /** 9962 * @param value When this Contract was issued. 9963 */ 9964 public Contract setIssued(Date value) { 9965 if (value == null) 9966 this.issued = null; 9967 else { 9968 if (this.issued == null) 9969 this.issued = new DateTimeType(); 9970 this.issued.setValue(value); 9971 } 9972 return this; 9973 } 9974 9975 /** 9976 * @return {@link #applies} (Relevant time or time-period when this Contract is applicable.) 9977 */ 9978 public Period getApplies() { 9979 if (this.applies == null) 9980 if (Configuration.errorOnAutoCreate()) 9981 throw new Error("Attempt to auto-create Contract.applies"); 9982 else if (Configuration.doAutoCreate()) 9983 this.applies = new Period(); // cc 9984 return this.applies; 9985 } 9986 9987 public boolean hasApplies() { 9988 return this.applies != null && !this.applies.isEmpty(); 9989 } 9990 9991 /** 9992 * @param value {@link #applies} (Relevant time or time-period when this Contract is applicable.) 9993 */ 9994 public Contract setApplies(Period value) { 9995 this.applies = value; 9996 return this; 9997 } 9998 9999 /** 10000 * @return {@link #expirationType} (Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.) 10001 */ 10002 public CodeableConcept getExpirationType() { 10003 if (this.expirationType == null) 10004 if (Configuration.errorOnAutoCreate()) 10005 throw new Error("Attempt to auto-create Contract.expirationType"); 10006 else if (Configuration.doAutoCreate()) 10007 this.expirationType = new CodeableConcept(); // cc 10008 return this.expirationType; 10009 } 10010 10011 public boolean hasExpirationType() { 10012 return this.expirationType != null && !this.expirationType.isEmpty(); 10013 } 10014 10015 /** 10016 * @param value {@link #expirationType} (Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.) 10017 */ 10018 public Contract setExpirationType(CodeableConcept value) { 10019 this.expirationType = value; 10020 return this; 10021 } 10022 10023 /** 10024 * @return {@link #subject} (The target entity impacted by or of interest to parties to the agreement.) 10025 */ 10026 public List<Reference> getSubject() { 10027 if (this.subject == null) 10028 this.subject = new ArrayList<Reference>(); 10029 return this.subject; 10030 } 10031 10032 /** 10033 * @return Returns a reference to <code>this</code> for easy method chaining 10034 */ 10035 public Contract setSubject(List<Reference> theSubject) { 10036 this.subject = theSubject; 10037 return this; 10038 } 10039 10040 public boolean hasSubject() { 10041 if (this.subject == null) 10042 return false; 10043 for (Reference item : this.subject) 10044 if (!item.isEmpty()) 10045 return true; 10046 return false; 10047 } 10048 10049 public Reference addSubject() { //3 10050 Reference t = new Reference(); 10051 if (this.subject == null) 10052 this.subject = new ArrayList<Reference>(); 10053 this.subject.add(t); 10054 return t; 10055 } 10056 10057 public Contract addSubject(Reference t) { //3 10058 if (t == null) 10059 return this; 10060 if (this.subject == null) 10061 this.subject = new ArrayList<Reference>(); 10062 this.subject.add(t); 10063 return this; 10064 } 10065 10066 /** 10067 * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} 10068 */ 10069 public Reference getSubjectFirstRep() { 10070 if (getSubject().isEmpty()) { 10071 addSubject(); 10072 } 10073 return getSubject().get(0); 10074 } 10075 10076 /** 10077 * @return {@link #authority} (A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies.) 10078 */ 10079 public List<Reference> getAuthority() { 10080 if (this.authority == null) 10081 this.authority = new ArrayList<Reference>(); 10082 return this.authority; 10083 } 10084 10085 /** 10086 * @return Returns a reference to <code>this</code> for easy method chaining 10087 */ 10088 public Contract setAuthority(List<Reference> theAuthority) { 10089 this.authority = theAuthority; 10090 return this; 10091 } 10092 10093 public boolean hasAuthority() { 10094 if (this.authority == null) 10095 return false; 10096 for (Reference item : this.authority) 10097 if (!item.isEmpty()) 10098 return true; 10099 return false; 10100 } 10101 10102 public Reference addAuthority() { //3 10103 Reference t = new Reference(); 10104 if (this.authority == null) 10105 this.authority = new ArrayList<Reference>(); 10106 this.authority.add(t); 10107 return t; 10108 } 10109 10110 public Contract addAuthority(Reference t) { //3 10111 if (t == null) 10112 return this; 10113 if (this.authority == null) 10114 this.authority = new ArrayList<Reference>(); 10115 this.authority.add(t); 10116 return this; 10117 } 10118 10119 /** 10120 * @return The first repetition of repeating field {@link #authority}, creating it if it does not already exist {3} 10121 */ 10122 public Reference getAuthorityFirstRep() { 10123 if (getAuthority().isEmpty()) { 10124 addAuthority(); 10125 } 10126 return getAuthority().get(0); 10127 } 10128 10129 /** 10130 * @return {@link #domain} (Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources.) 10131 */ 10132 public List<Reference> getDomain() { 10133 if (this.domain == null) 10134 this.domain = new ArrayList<Reference>(); 10135 return this.domain; 10136 } 10137 10138 /** 10139 * @return Returns a reference to <code>this</code> for easy method chaining 10140 */ 10141 public Contract setDomain(List<Reference> theDomain) { 10142 this.domain = theDomain; 10143 return this; 10144 } 10145 10146 public boolean hasDomain() { 10147 if (this.domain == null) 10148 return false; 10149 for (Reference item : this.domain) 10150 if (!item.isEmpty()) 10151 return true; 10152 return false; 10153 } 10154 10155 public Reference addDomain() { //3 10156 Reference t = new Reference(); 10157 if (this.domain == null) 10158 this.domain = new ArrayList<Reference>(); 10159 this.domain.add(t); 10160 return t; 10161 } 10162 10163 public Contract addDomain(Reference t) { //3 10164 if (t == null) 10165 return this; 10166 if (this.domain == null) 10167 this.domain = new ArrayList<Reference>(); 10168 this.domain.add(t); 10169 return this; 10170 } 10171 10172 /** 10173 * @return The first repetition of repeating field {@link #domain}, creating it if it does not already exist {3} 10174 */ 10175 public Reference getDomainFirstRep() { 10176 if (getDomain().isEmpty()) { 10177 addDomain(); 10178 } 10179 return getDomain().get(0); 10180 } 10181 10182 /** 10183 * @return {@link #site} (Sites in which the contract is complied with, exercised, or in force.) 10184 */ 10185 public List<Reference> getSite() { 10186 if (this.site == null) 10187 this.site = new ArrayList<Reference>(); 10188 return this.site; 10189 } 10190 10191 /** 10192 * @return Returns a reference to <code>this</code> for easy method chaining 10193 */ 10194 public Contract setSite(List<Reference> theSite) { 10195 this.site = theSite; 10196 return this; 10197 } 10198 10199 public boolean hasSite() { 10200 if (this.site == null) 10201 return false; 10202 for (Reference item : this.site) 10203 if (!item.isEmpty()) 10204 return true; 10205 return false; 10206 } 10207 10208 public Reference addSite() { //3 10209 Reference t = new Reference(); 10210 if (this.site == null) 10211 this.site = new ArrayList<Reference>(); 10212 this.site.add(t); 10213 return t; 10214 } 10215 10216 public Contract addSite(Reference t) { //3 10217 if (t == null) 10218 return this; 10219 if (this.site == null) 10220 this.site = new ArrayList<Reference>(); 10221 this.site.add(t); 10222 return this; 10223 } 10224 10225 /** 10226 * @return The first repetition of repeating field {@link #site}, creating it if it does not already exist {3} 10227 */ 10228 public Reference getSiteFirstRep() { 10229 if (getSite().isEmpty()) { 10230 addSite(); 10231 } 10232 return getSite().get(0); 10233 } 10234 10235 /** 10236 * @return {@link #name} (A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 10237 */ 10238 public StringType getNameElement() { 10239 if (this.name == null) 10240 if (Configuration.errorOnAutoCreate()) 10241 throw new Error("Attempt to auto-create Contract.name"); 10242 else if (Configuration.doAutoCreate()) 10243 this.name = new StringType(); // bb 10244 return this.name; 10245 } 10246 10247 public boolean hasNameElement() { 10248 return this.name != null && !this.name.isEmpty(); 10249 } 10250 10251 public boolean hasName() { 10252 return this.name != null && !this.name.isEmpty(); 10253 } 10254 10255 /** 10256 * @param value {@link #name} (A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 10257 */ 10258 public Contract setNameElement(StringType value) { 10259 this.name = value; 10260 return this; 10261 } 10262 10263 /** 10264 * @return A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation. 10265 */ 10266 public String getName() { 10267 return this.name == null ? null : this.name.getValue(); 10268 } 10269 10270 /** 10271 * @param value A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation. 10272 */ 10273 public Contract setName(String value) { 10274 if (Utilities.noString(value)) 10275 this.name = null; 10276 else { 10277 if (this.name == null) 10278 this.name = new StringType(); 10279 this.name.setValue(value); 10280 } 10281 return this; 10282 } 10283 10284 /** 10285 * @return {@link #title} (A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 10286 */ 10287 public StringType getTitleElement() { 10288 if (this.title == null) 10289 if (Configuration.errorOnAutoCreate()) 10290 throw new Error("Attempt to auto-create Contract.title"); 10291 else if (Configuration.doAutoCreate()) 10292 this.title = new StringType(); // bb 10293 return this.title; 10294 } 10295 10296 public boolean hasTitleElement() { 10297 return this.title != null && !this.title.isEmpty(); 10298 } 10299 10300 public boolean hasTitle() { 10301 return this.title != null && !this.title.isEmpty(); 10302 } 10303 10304 /** 10305 * @param value {@link #title} (A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 10306 */ 10307 public Contract setTitleElement(StringType value) { 10308 this.title = value; 10309 return this; 10310 } 10311 10312 /** 10313 * @return A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state. 10314 */ 10315 public String getTitle() { 10316 return this.title == null ? null : this.title.getValue(); 10317 } 10318 10319 /** 10320 * @param value A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state. 10321 */ 10322 public Contract setTitle(String value) { 10323 if (Utilities.noString(value)) 10324 this.title = null; 10325 else { 10326 if (this.title == null) 10327 this.title = new StringType(); 10328 this.title.setValue(value); 10329 } 10330 return this; 10331 } 10332 10333 /** 10334 * @return {@link #subtitle} (A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 10335 */ 10336 public StringType getSubtitleElement() { 10337 if (this.subtitle == null) 10338 if (Configuration.errorOnAutoCreate()) 10339 throw new Error("Attempt to auto-create Contract.subtitle"); 10340 else if (Configuration.doAutoCreate()) 10341 this.subtitle = new StringType(); // bb 10342 return this.subtitle; 10343 } 10344 10345 public boolean hasSubtitleElement() { 10346 return this.subtitle != null && !this.subtitle.isEmpty(); 10347 } 10348 10349 public boolean hasSubtitle() { 10350 return this.subtitle != null && !this.subtitle.isEmpty(); 10351 } 10352 10353 /** 10354 * @param value {@link #subtitle} (A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 10355 */ 10356 public Contract setSubtitleElement(StringType value) { 10357 this.subtitle = value; 10358 return this; 10359 } 10360 10361 /** 10362 * @return A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state. 10363 */ 10364 public String getSubtitle() { 10365 return this.subtitle == null ? null : this.subtitle.getValue(); 10366 } 10367 10368 /** 10369 * @param value A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state. 10370 */ 10371 public Contract setSubtitle(String value) { 10372 if (Utilities.noString(value)) 10373 this.subtitle = null; 10374 else { 10375 if (this.subtitle == null) 10376 this.subtitle = new StringType(); 10377 this.subtitle.setValue(value); 10378 } 10379 return this; 10380 } 10381 10382 /** 10383 * @return {@link #alias} (Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.) 10384 */ 10385 public List<StringType> getAlias() { 10386 if (this.alias == null) 10387 this.alias = new ArrayList<StringType>(); 10388 return this.alias; 10389 } 10390 10391 /** 10392 * @return Returns a reference to <code>this</code> for easy method chaining 10393 */ 10394 public Contract setAlias(List<StringType> theAlias) { 10395 this.alias = theAlias; 10396 return this; 10397 } 10398 10399 public boolean hasAlias() { 10400 if (this.alias == null) 10401 return false; 10402 for (StringType item : this.alias) 10403 if (!item.isEmpty()) 10404 return true; 10405 return false; 10406 } 10407 10408 /** 10409 * @return {@link #alias} (Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.) 10410 */ 10411 public StringType addAliasElement() {//2 10412 StringType t = new StringType(); 10413 if (this.alias == null) 10414 this.alias = new ArrayList<StringType>(); 10415 this.alias.add(t); 10416 return t; 10417 } 10418 10419 /** 10420 * @param value {@link #alias} (Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.) 10421 */ 10422 public Contract addAlias(String value) { //1 10423 StringType t = new StringType(); 10424 t.setValue(value); 10425 if (this.alias == null) 10426 this.alias = new ArrayList<StringType>(); 10427 this.alias.add(t); 10428 return this; 10429 } 10430 10431 /** 10432 * @param value {@link #alias} (Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.) 10433 */ 10434 public boolean hasAlias(String value) { 10435 if (this.alias == null) 10436 return false; 10437 for (StringType v : this.alias) 10438 if (v.getValue().equals(value)) // string 10439 return true; 10440 return false; 10441 } 10442 10443 /** 10444 * @return {@link #author} (The individual or organization that authored the Contract definition, derivative, or instance in any legal state.) 10445 */ 10446 public Reference getAuthor() { 10447 if (this.author == null) 10448 if (Configuration.errorOnAutoCreate()) 10449 throw new Error("Attempt to auto-create Contract.author"); 10450 else if (Configuration.doAutoCreate()) 10451 this.author = new Reference(); // cc 10452 return this.author; 10453 } 10454 10455 public boolean hasAuthor() { 10456 return this.author != null && !this.author.isEmpty(); 10457 } 10458 10459 /** 10460 * @param value {@link #author} (The individual or organization that authored the Contract definition, derivative, or instance in any legal state.) 10461 */ 10462 public Contract setAuthor(Reference value) { 10463 this.author = value; 10464 return this; 10465 } 10466 10467 /** 10468 * @return {@link #scope} (A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.) 10469 */ 10470 public CodeableConcept getScope() { 10471 if (this.scope == null) 10472 if (Configuration.errorOnAutoCreate()) 10473 throw new Error("Attempt to auto-create Contract.scope"); 10474 else if (Configuration.doAutoCreate()) 10475 this.scope = new CodeableConcept(); // cc 10476 return this.scope; 10477 } 10478 10479 public boolean hasScope() { 10480 return this.scope != null && !this.scope.isEmpty(); 10481 } 10482 10483 /** 10484 * @param value {@link #scope} (A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.) 10485 */ 10486 public Contract setScope(CodeableConcept value) { 10487 this.scope = value; 10488 return this; 10489 } 10490 10491 /** 10492 * @return {@link #topic} (Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.) 10493 */ 10494 public DataType getTopic() { 10495 return this.topic; 10496 } 10497 10498 /** 10499 * @return {@link #topic} (Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.) 10500 */ 10501 public CodeableConcept getTopicCodeableConcept() throws FHIRException { 10502 if (this.topic == null) 10503 this.topic = new CodeableConcept(); 10504 if (!(this.topic instanceof CodeableConcept)) 10505 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.topic.getClass().getName()+" was encountered"); 10506 return (CodeableConcept) this.topic; 10507 } 10508 10509 public boolean hasTopicCodeableConcept() { 10510 return this != null && this.topic instanceof CodeableConcept; 10511 } 10512 10513 /** 10514 * @return {@link #topic} (Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.) 10515 */ 10516 public Reference getTopicReference() throws FHIRException { 10517 if (this.topic == null) 10518 this.topic = new Reference(); 10519 if (!(this.topic instanceof Reference)) 10520 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.topic.getClass().getName()+" was encountered"); 10521 return (Reference) this.topic; 10522 } 10523 10524 public boolean hasTopicReference() { 10525 return this != null && this.topic instanceof Reference; 10526 } 10527 10528 public boolean hasTopic() { 10529 return this.topic != null && !this.topic.isEmpty(); 10530 } 10531 10532 /** 10533 * @param value {@link #topic} (Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.) 10534 */ 10535 public Contract setTopic(DataType value) { 10536 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 10537 throw new FHIRException("Not the right type for Contract.topic[x]: "+value.fhirType()); 10538 this.topic = value; 10539 return this; 10540 } 10541 10542 /** 10543 * @return {@link #type} (A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract.) 10544 */ 10545 public CodeableConcept getType() { 10546 if (this.type == null) 10547 if (Configuration.errorOnAutoCreate()) 10548 throw new Error("Attempt to auto-create Contract.type"); 10549 else if (Configuration.doAutoCreate()) 10550 this.type = new CodeableConcept(); // cc 10551 return this.type; 10552 } 10553 10554 public boolean hasType() { 10555 return this.type != null && !this.type.isEmpty(); 10556 } 10557 10558 /** 10559 * @param value {@link #type} (A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract.) 10560 */ 10561 public Contract setType(CodeableConcept value) { 10562 this.type = value; 10563 return this; 10564 } 10565 10566 /** 10567 * @return {@link #subType} (Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope.) 10568 */ 10569 public List<CodeableConcept> getSubType() { 10570 if (this.subType == null) 10571 this.subType = new ArrayList<CodeableConcept>(); 10572 return this.subType; 10573 } 10574 10575 /** 10576 * @return Returns a reference to <code>this</code> for easy method chaining 10577 */ 10578 public Contract setSubType(List<CodeableConcept> theSubType) { 10579 this.subType = theSubType; 10580 return this; 10581 } 10582 10583 public boolean hasSubType() { 10584 if (this.subType == null) 10585 return false; 10586 for (CodeableConcept item : this.subType) 10587 if (!item.isEmpty()) 10588 return true; 10589 return false; 10590 } 10591 10592 public CodeableConcept addSubType() { //3 10593 CodeableConcept t = new CodeableConcept(); 10594 if (this.subType == null) 10595 this.subType = new ArrayList<CodeableConcept>(); 10596 this.subType.add(t); 10597 return t; 10598 } 10599 10600 public Contract addSubType(CodeableConcept t) { //3 10601 if (t == null) 10602 return this; 10603 if (this.subType == null) 10604 this.subType = new ArrayList<CodeableConcept>(); 10605 this.subType.add(t); 10606 return this; 10607 } 10608 10609 /** 10610 * @return The first repetition of repeating field {@link #subType}, creating it if it does not already exist {3} 10611 */ 10612 public CodeableConcept getSubTypeFirstRep() { 10613 if (getSubType().isEmpty()) { 10614 addSubType(); 10615 } 10616 return getSubType().get(0); 10617 } 10618 10619 /** 10620 * @return {@link #contentDefinition} (Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.) 10621 */ 10622 public ContentDefinitionComponent getContentDefinition() { 10623 if (this.contentDefinition == null) 10624 if (Configuration.errorOnAutoCreate()) 10625 throw new Error("Attempt to auto-create Contract.contentDefinition"); 10626 else if (Configuration.doAutoCreate()) 10627 this.contentDefinition = new ContentDefinitionComponent(); // cc 10628 return this.contentDefinition; 10629 } 10630 10631 public boolean hasContentDefinition() { 10632 return this.contentDefinition != null && !this.contentDefinition.isEmpty(); 10633 } 10634 10635 /** 10636 * @param value {@link #contentDefinition} (Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.) 10637 */ 10638 public Contract setContentDefinition(ContentDefinitionComponent value) { 10639 this.contentDefinition = value; 10640 return this; 10641 } 10642 10643 /** 10644 * @return {@link #term} (One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.) 10645 */ 10646 public List<TermComponent> getTerm() { 10647 if (this.term == null) 10648 this.term = new ArrayList<TermComponent>(); 10649 return this.term; 10650 } 10651 10652 /** 10653 * @return Returns a reference to <code>this</code> for easy method chaining 10654 */ 10655 public Contract setTerm(List<TermComponent> theTerm) { 10656 this.term = theTerm; 10657 return this; 10658 } 10659 10660 public boolean hasTerm() { 10661 if (this.term == null) 10662 return false; 10663 for (TermComponent item : this.term) 10664 if (!item.isEmpty()) 10665 return true; 10666 return false; 10667 } 10668 10669 public TermComponent addTerm() { //3 10670 TermComponent t = new TermComponent(); 10671 if (this.term == null) 10672 this.term = new ArrayList<TermComponent>(); 10673 this.term.add(t); 10674 return t; 10675 } 10676 10677 public Contract addTerm(TermComponent t) { //3 10678 if (t == null) 10679 return this; 10680 if (this.term == null) 10681 this.term = new ArrayList<TermComponent>(); 10682 this.term.add(t); 10683 return this; 10684 } 10685 10686 /** 10687 * @return The first repetition of repeating field {@link #term}, creating it if it does not already exist {3} 10688 */ 10689 public TermComponent getTermFirstRep() { 10690 if (getTerm().isEmpty()) { 10691 addTerm(); 10692 } 10693 return getTerm().get(0); 10694 } 10695 10696 /** 10697 * @return {@link #supportingInfo} (Information that may be needed by/relevant to the performer in their execution of this term action.) 10698 */ 10699 public List<Reference> getSupportingInfo() { 10700 if (this.supportingInfo == null) 10701 this.supportingInfo = new ArrayList<Reference>(); 10702 return this.supportingInfo; 10703 } 10704 10705 /** 10706 * @return Returns a reference to <code>this</code> for easy method chaining 10707 */ 10708 public Contract setSupportingInfo(List<Reference> theSupportingInfo) { 10709 this.supportingInfo = theSupportingInfo; 10710 return this; 10711 } 10712 10713 public boolean hasSupportingInfo() { 10714 if (this.supportingInfo == null) 10715 return false; 10716 for (Reference item : this.supportingInfo) 10717 if (!item.isEmpty()) 10718 return true; 10719 return false; 10720 } 10721 10722 public Reference addSupportingInfo() { //3 10723 Reference t = new Reference(); 10724 if (this.supportingInfo == null) 10725 this.supportingInfo = new ArrayList<Reference>(); 10726 this.supportingInfo.add(t); 10727 return t; 10728 } 10729 10730 public Contract addSupportingInfo(Reference t) { //3 10731 if (t == null) 10732 return this; 10733 if (this.supportingInfo == null) 10734 this.supportingInfo = new ArrayList<Reference>(); 10735 this.supportingInfo.add(t); 10736 return this; 10737 } 10738 10739 /** 10740 * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} 10741 */ 10742 public Reference getSupportingInfoFirstRep() { 10743 if (getSupportingInfo().isEmpty()) { 10744 addSupportingInfo(); 10745 } 10746 return getSupportingInfo().get(0); 10747 } 10748 10749 /** 10750 * @return {@link #relevantHistory} (Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provenance.entity indicates the target that was changed in the update (see [Provenance.entity](provenance-definitions.html#Provenance.entity)).) 10751 */ 10752 public List<Reference> getRelevantHistory() { 10753 if (this.relevantHistory == null) 10754 this.relevantHistory = new ArrayList<Reference>(); 10755 return this.relevantHistory; 10756 } 10757 10758 /** 10759 * @return Returns a reference to <code>this</code> for easy method chaining 10760 */ 10761 public Contract setRelevantHistory(List<Reference> theRelevantHistory) { 10762 this.relevantHistory = theRelevantHistory; 10763 return this; 10764 } 10765 10766 public boolean hasRelevantHistory() { 10767 if (this.relevantHistory == null) 10768 return false; 10769 for (Reference item : this.relevantHistory) 10770 if (!item.isEmpty()) 10771 return true; 10772 return false; 10773 } 10774 10775 public Reference addRelevantHistory() { //3 10776 Reference t = new Reference(); 10777 if (this.relevantHistory == null) 10778 this.relevantHistory = new ArrayList<Reference>(); 10779 this.relevantHistory.add(t); 10780 return t; 10781 } 10782 10783 public Contract addRelevantHistory(Reference t) { //3 10784 if (t == null) 10785 return this; 10786 if (this.relevantHistory == null) 10787 this.relevantHistory = new ArrayList<Reference>(); 10788 this.relevantHistory.add(t); 10789 return this; 10790 } 10791 10792 /** 10793 * @return The first repetition of repeating field {@link #relevantHistory}, creating it if it does not already exist {3} 10794 */ 10795 public Reference getRelevantHistoryFirstRep() { 10796 if (getRelevantHistory().isEmpty()) { 10797 addRelevantHistory(); 10798 } 10799 return getRelevantHistory().get(0); 10800 } 10801 10802 /** 10803 * @return {@link #signer} (Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness.) 10804 */ 10805 public List<SignatoryComponent> getSigner() { 10806 if (this.signer == null) 10807 this.signer = new ArrayList<SignatoryComponent>(); 10808 return this.signer; 10809 } 10810 10811 /** 10812 * @return Returns a reference to <code>this</code> for easy method chaining 10813 */ 10814 public Contract setSigner(List<SignatoryComponent> theSigner) { 10815 this.signer = theSigner; 10816 return this; 10817 } 10818 10819 public boolean hasSigner() { 10820 if (this.signer == null) 10821 return false; 10822 for (SignatoryComponent item : this.signer) 10823 if (!item.isEmpty()) 10824 return true; 10825 return false; 10826 } 10827 10828 public SignatoryComponent addSigner() { //3 10829 SignatoryComponent t = new SignatoryComponent(); 10830 if (this.signer == null) 10831 this.signer = new ArrayList<SignatoryComponent>(); 10832 this.signer.add(t); 10833 return t; 10834 } 10835 10836 public Contract addSigner(SignatoryComponent t) { //3 10837 if (t == null) 10838 return this; 10839 if (this.signer == null) 10840 this.signer = new ArrayList<SignatoryComponent>(); 10841 this.signer.add(t); 10842 return this; 10843 } 10844 10845 /** 10846 * @return The first repetition of repeating field {@link #signer}, creating it if it does not already exist {3} 10847 */ 10848 public SignatoryComponent getSignerFirstRep() { 10849 if (getSigner().isEmpty()) { 10850 addSigner(); 10851 } 10852 return getSigner().get(0); 10853 } 10854 10855 /** 10856 * @return {@link #friendly} (The "patient friendly language" versionof the Contract in whole or in parts. "Patient friendly language" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement.) 10857 */ 10858 public List<FriendlyLanguageComponent> getFriendly() { 10859 if (this.friendly == null) 10860 this.friendly = new ArrayList<FriendlyLanguageComponent>(); 10861 return this.friendly; 10862 } 10863 10864 /** 10865 * @return Returns a reference to <code>this</code> for easy method chaining 10866 */ 10867 public Contract setFriendly(List<FriendlyLanguageComponent> theFriendly) { 10868 this.friendly = theFriendly; 10869 return this; 10870 } 10871 10872 public boolean hasFriendly() { 10873 if (this.friendly == null) 10874 return false; 10875 for (FriendlyLanguageComponent item : this.friendly) 10876 if (!item.isEmpty()) 10877 return true; 10878 return false; 10879 } 10880 10881 public FriendlyLanguageComponent addFriendly() { //3 10882 FriendlyLanguageComponent t = new FriendlyLanguageComponent(); 10883 if (this.friendly == null) 10884 this.friendly = new ArrayList<FriendlyLanguageComponent>(); 10885 this.friendly.add(t); 10886 return t; 10887 } 10888 10889 public Contract addFriendly(FriendlyLanguageComponent t) { //3 10890 if (t == null) 10891 return this; 10892 if (this.friendly == null) 10893 this.friendly = new ArrayList<FriendlyLanguageComponent>(); 10894 this.friendly.add(t); 10895 return this; 10896 } 10897 10898 /** 10899 * @return The first repetition of repeating field {@link #friendly}, creating it if it does not already exist {3} 10900 */ 10901 public FriendlyLanguageComponent getFriendlyFirstRep() { 10902 if (getFriendly().isEmpty()) { 10903 addFriendly(); 10904 } 10905 return getFriendly().get(0); 10906 } 10907 10908 /** 10909 * @return {@link #legal} (List of Legal expressions or representations of this Contract.) 10910 */ 10911 public List<LegalLanguageComponent> getLegal() { 10912 if (this.legal == null) 10913 this.legal = new ArrayList<LegalLanguageComponent>(); 10914 return this.legal; 10915 } 10916 10917 /** 10918 * @return Returns a reference to <code>this</code> for easy method chaining 10919 */ 10920 public Contract setLegal(List<LegalLanguageComponent> theLegal) { 10921 this.legal = theLegal; 10922 return this; 10923 } 10924 10925 public boolean hasLegal() { 10926 if (this.legal == null) 10927 return false; 10928 for (LegalLanguageComponent item : this.legal) 10929 if (!item.isEmpty()) 10930 return true; 10931 return false; 10932 } 10933 10934 public LegalLanguageComponent addLegal() { //3 10935 LegalLanguageComponent t = new LegalLanguageComponent(); 10936 if (this.legal == null) 10937 this.legal = new ArrayList<LegalLanguageComponent>(); 10938 this.legal.add(t); 10939 return t; 10940 } 10941 10942 public Contract addLegal(LegalLanguageComponent t) { //3 10943 if (t == null) 10944 return this; 10945 if (this.legal == null) 10946 this.legal = new ArrayList<LegalLanguageComponent>(); 10947 this.legal.add(t); 10948 return this; 10949 } 10950 10951 /** 10952 * @return The first repetition of repeating field {@link #legal}, creating it if it does not already exist {3} 10953 */ 10954 public LegalLanguageComponent getLegalFirstRep() { 10955 if (getLegal().isEmpty()) { 10956 addLegal(); 10957 } 10958 return getLegal().get(0); 10959 } 10960 10961 /** 10962 * @return {@link #rule} (List of Computable Policy Rule Language Representations of this Contract.) 10963 */ 10964 public List<ComputableLanguageComponent> getRule() { 10965 if (this.rule == null) 10966 this.rule = new ArrayList<ComputableLanguageComponent>(); 10967 return this.rule; 10968 } 10969 10970 /** 10971 * @return Returns a reference to <code>this</code> for easy method chaining 10972 */ 10973 public Contract setRule(List<ComputableLanguageComponent> theRule) { 10974 this.rule = theRule; 10975 return this; 10976 } 10977 10978 public boolean hasRule() { 10979 if (this.rule == null) 10980 return false; 10981 for (ComputableLanguageComponent item : this.rule) 10982 if (!item.isEmpty()) 10983 return true; 10984 return false; 10985 } 10986 10987 public ComputableLanguageComponent addRule() { //3 10988 ComputableLanguageComponent t = new ComputableLanguageComponent(); 10989 if (this.rule == null) 10990 this.rule = new ArrayList<ComputableLanguageComponent>(); 10991 this.rule.add(t); 10992 return t; 10993 } 10994 10995 public Contract addRule(ComputableLanguageComponent t) { //3 10996 if (t == null) 10997 return this; 10998 if (this.rule == null) 10999 this.rule = new ArrayList<ComputableLanguageComponent>(); 11000 this.rule.add(t); 11001 return this; 11002 } 11003 11004 /** 11005 * @return The first repetition of repeating field {@link #rule}, creating it if it does not already exist {3} 11006 */ 11007 public ComputableLanguageComponent getRuleFirstRep() { 11008 if (getRule().isEmpty()) { 11009 addRule(); 11010 } 11011 return getRule().get(0); 11012 } 11013 11014 /** 11015 * @return {@link #legallyBinding} (Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract.) 11016 */ 11017 public DataType getLegallyBinding() { 11018 return this.legallyBinding; 11019 } 11020 11021 /** 11022 * @return {@link #legallyBinding} (Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract.) 11023 */ 11024 public Attachment getLegallyBindingAttachment() throws FHIRException { 11025 if (this.legallyBinding == null) 11026 this.legallyBinding = new Attachment(); 11027 if (!(this.legallyBinding instanceof Attachment)) 11028 throw new FHIRException("Type mismatch: the type Attachment was expected, but "+this.legallyBinding.getClass().getName()+" was encountered"); 11029 return (Attachment) this.legallyBinding; 11030 } 11031 11032 public boolean hasLegallyBindingAttachment() { 11033 return this != null && this.legallyBinding instanceof Attachment; 11034 } 11035 11036 /** 11037 * @return {@link #legallyBinding} (Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract.) 11038 */ 11039 public Reference getLegallyBindingReference() throws FHIRException { 11040 if (this.legallyBinding == null) 11041 this.legallyBinding = new Reference(); 11042 if (!(this.legallyBinding instanceof Reference)) 11043 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.legallyBinding.getClass().getName()+" was encountered"); 11044 return (Reference) this.legallyBinding; 11045 } 11046 11047 public boolean hasLegallyBindingReference() { 11048 return this != null && this.legallyBinding instanceof Reference; 11049 } 11050 11051 public boolean hasLegallyBinding() { 11052 return this.legallyBinding != null && !this.legallyBinding.isEmpty(); 11053 } 11054 11055 /** 11056 * @param value {@link #legallyBinding} (Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the "source of truth" and which would be the basis for legal action related to enforcement of this Contract.) 11057 */ 11058 public Contract setLegallyBinding(DataType value) { 11059 if (value != null && !(value instanceof Attachment || value instanceof Reference)) 11060 throw new FHIRException("Not the right type for Contract.legallyBinding[x]: "+value.fhirType()); 11061 this.legallyBinding = value; 11062 return this; 11063 } 11064 11065 protected void listChildren(List<Property> children) { 11066 super.listChildren(children); 11067 children.add(new Property("identifier", "Identifier", "Unique identifier for this Contract or a derivative that references a Source Contract.", 0, java.lang.Integer.MAX_VALUE, identifier)); 11068 children.add(new Property("url", "uri", "Canonical identifier for this contract, represented as a URI (globally unique).", 0, 1, url)); 11069 children.add(new Property("version", "string", "An edition identifier used for business purposes to label business significant variants.", 0, 1, version)); 11070 children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); 11071 children.add(new Property("legalState", "CodeableConcept", "Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement.", 0, 1, legalState)); 11072 children.add(new Property("instantiatesCanonical", "Reference(Contract)", "The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.", 0, 1, instantiatesCanonical)); 11073 children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.", 0, 1, instantiatesUri)); 11074 children.add(new Property("contentDerivative", "CodeableConcept", "The minimal content derived from the basal information source at a specific stage in its lifecycle.", 0, 1, contentDerivative)); 11075 children.add(new Property("issued", "dateTime", "When this Contract was issued.", 0, 1, issued)); 11076 children.add(new Property("applies", "Period", "Relevant time or time-period when this Contract is applicable.", 0, 1, applies)); 11077 children.add(new Property("expirationType", "CodeableConcept", "Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.", 0, 1, expirationType)); 11078 children.add(new Property("subject", "Reference(Any)", "The target entity impacted by or of interest to parties to the agreement.", 0, java.lang.Integer.MAX_VALUE, subject)); 11079 children.add(new Property("authority", "Reference(Organization)", "A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies.", 0, java.lang.Integer.MAX_VALUE, authority)); 11080 children.add(new Property("domain", "Reference(Location)", "Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources.", 0, java.lang.Integer.MAX_VALUE, domain)); 11081 children.add(new Property("site", "Reference(Location)", "Sites in which the contract is complied with, exercised, or in force.", 0, java.lang.Integer.MAX_VALUE, site)); 11082 children.add(new Property("name", "string", "A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 11083 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.", 0, 1, title)); 11084 children.add(new Property("subtitle", "string", "A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.", 0, 1, subtitle)); 11085 children.add(new Property("alias", "string", "Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.", 0, java.lang.Integer.MAX_VALUE, alias)); 11086 children.add(new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Organization)", "The individual or organization that authored the Contract definition, derivative, or instance in any legal state.", 0, 1, author)); 11087 children.add(new Property("scope", "CodeableConcept", "A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.", 0, 1, scope)); 11088 children.add(new Property("topic[x]", "CodeableConcept|Reference(Any)", "Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.", 0, 1, topic)); 11089 children.add(new Property("type", "CodeableConcept", "A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract.", 0, 1, type)); 11090 children.add(new Property("subType", "CodeableConcept", "Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope.", 0, java.lang.Integer.MAX_VALUE, subType)); 11091 children.add(new Property("contentDefinition", "", "Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.", 0, 1, contentDefinition)); 11092 children.add(new Property("term", "", "One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.", 0, java.lang.Integer.MAX_VALUE, term)); 11093 children.add(new Property("supportingInfo", "Reference(Any)", "Information that may be needed by/relevant to the performer in their execution of this term action.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); 11094 children.add(new Property("relevantHistory", "Reference(Provenance)", "Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provenance.entity indicates the target that was changed in the update (see [Provenance.entity](provenance-definitions.html#Provenance.entity)).", 0, java.lang.Integer.MAX_VALUE, relevantHistory)); 11095 children.add(new Property("signer", "", "Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness.", 0, java.lang.Integer.MAX_VALUE, signer)); 11096 children.add(new Property("friendly", "", "The \"patient friendly language\" versionof the Contract in whole or in parts. \"Patient friendly language\" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement.", 0, java.lang.Integer.MAX_VALUE, friendly)); 11097 children.add(new Property("legal", "", "List of Legal expressions or representations of this Contract.", 0, java.lang.Integer.MAX_VALUE, legal)); 11098 children.add(new Property("rule", "", "List of Computable Policy Rule Language Representations of this Contract.", 0, java.lang.Integer.MAX_VALUE, rule)); 11099 children.add(new Property("legallyBinding[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse|Contract)", "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.", 0, 1, legallyBinding)); 11100 } 11101 11102 @Override 11103 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 11104 switch (_hash) { 11105 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for this Contract or a derivative that references a Source Contract.", 0, java.lang.Integer.MAX_VALUE, identifier); 11106 case 116079: /*url*/ return new Property("url", "uri", "Canonical identifier for this contract, represented as a URI (globally unique).", 0, 1, url); 11107 case 351608024: /*version*/ return new Property("version", "string", "An edition identifier used for business purposes to label business significant variants.", 0, 1, version); 11108 case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); 11109 case 568606040: /*legalState*/ return new Property("legalState", "CodeableConcept", "Legal states of the formation of a legal instrument, which is a formally executed written document that can be formally attributed to its author, records and formally expresses a legally enforceable act, process, or contractual duty, obligation, or right, and therefore evidences that act, process, or agreement.", 0, 1, legalState); 11110 case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "Reference(Contract)", "The URL pointing to a FHIR-defined Contract Definition that is adhered to in whole or part by this Contract.", 0, 1, instantiatesCanonical); 11111 case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained definition that is adhered to in whole or in part by this Contract.", 0, 1, instantiatesUri); 11112 case -92412192: /*contentDerivative*/ return new Property("contentDerivative", "CodeableConcept", "The minimal content derived from the basal information source at a specific stage in its lifecycle.", 0, 1, contentDerivative); 11113 case -1179159893: /*issued*/ return new Property("issued", "dateTime", "When this Contract was issued.", 0, 1, issued); 11114 case -793235316: /*applies*/ return new Property("applies", "Period", "Relevant time or time-period when this Contract is applicable.", 0, 1, applies); 11115 case -668311927: /*expirationType*/ return new Property("expirationType", "CodeableConcept", "Event resulting in discontinuation or termination of this Contract instance by one or more parties to the contract.", 0, 1, expirationType); 11116 case -1867885268: /*subject*/ return new Property("subject", "Reference(Any)", "The target entity impacted by or of interest to parties to the agreement.", 0, java.lang.Integer.MAX_VALUE, subject); 11117 case 1475610435: /*authority*/ return new Property("authority", "Reference(Organization)", "A formally or informally recognized grouping of people, principals, organizations, or jurisdictions formed for the purpose of achieving some form of collective action such as the promulgation, administration and enforcement of contracts and policies.", 0, java.lang.Integer.MAX_VALUE, authority); 11118 case -1326197564: /*domain*/ return new Property("domain", "Reference(Location)", "Recognized governance framework or system operating with a circumscribed scope in accordance with specified principles, policies, processes or procedures for managing rights, actions, or behaviors of parties or principals relative to resources.", 0, java.lang.Integer.MAX_VALUE, domain); 11119 case 3530567: /*site*/ return new Property("site", "Reference(Location)", "Sites in which the contract is complied with, exercised, or in force.", 0, java.lang.Integer.MAX_VALUE, site); 11120 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying this Contract definition, derivative, or instance in any legal state. Provides additional information about its content. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 11121 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for this Contract definition, derivative, or instance in any legal state.", 0, 1, title); 11122 case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "A more detailed or qualifying explanatory or alternate user-friendly title for this Contract definition, derivative, or instance in any legal state.", 0, 1, subtitle); 11123 case 92902992: /*alias*/ return new Property("alias", "string", "Alternative representation of the title for this Contract definition, derivative, or instance in any legal state., e.g., a domain specific contract number related to legislation.", 0, java.lang.Integer.MAX_VALUE, alias); 11124 case -1406328437: /*author*/ return new Property("author", "Reference(Patient|Practitioner|PractitionerRole|Organization)", "The individual or organization that authored the Contract definition, derivative, or instance in any legal state.", 0, 1, author); 11125 case 109264468: /*scope*/ return new Property("scope", "CodeableConcept", "A selector of legal concerns for this Contract definition, derivative, or instance in any legal state.", 0, 1, scope); 11126 case -957295375: /*topic[x]*/ return new Property("topic[x]", "CodeableConcept|Reference(Any)", "Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.", 0, 1, topic); 11127 case 110546223: /*topic*/ return new Property("topic[x]", "CodeableConcept|Reference(Any)", "Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.", 0, 1, topic); 11128 case 777778802: /*topicCodeableConcept*/ return new Property("topic[x]", "CodeableConcept", "Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.", 0, 1, topic); 11129 case -343345444: /*topicReference*/ return new Property("topic[x]", "Reference(Any)", "Narrows the range of legal concerns to focus on the achievement of specific contractual objectives.", 0, 1, topic); 11130 case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A high-level category for the legal instrument, whether constructed as a Contract definition, derivative, or instance in any legal state. Provides additional information about its content within the context of the Contract's scope to distinguish the kinds of systems that would be interested in the contract.", 0, 1, type); 11131 case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "Sub-category for the Contract that distinguishes the kinds of systems that would be interested in the Contract within the context of the Contract's scope.", 0, java.lang.Integer.MAX_VALUE, subType); 11132 case 247055020: /*contentDefinition*/ return new Property("contentDefinition", "", "Precusory content developed with a focus and intent of supporting the formation a Contract instance, which may be associated with and transformable into a Contract.", 0, 1, contentDefinition); 11133 case 3556460: /*term*/ return new Property("term", "", "One or more Contract Provisions, which may be related and conveyed as a group, and may contain nested groups.", 0, java.lang.Integer.MAX_VALUE, term); 11134 case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Information that may be needed by/relevant to the performer in their execution of this term action.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); 11135 case 1538891575: /*relevantHistory*/ return new Property("relevantHistory", "Reference(Provenance)", "Links to Provenance records for past versions of this Contract definition, derivative, or instance, which identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the Contract. The Provenance.entity indicates the target that was changed in the update (see [Provenance.entity](provenance-definitions.html#Provenance.entity)).", 0, java.lang.Integer.MAX_VALUE, relevantHistory); 11136 case -902467798: /*signer*/ return new Property("signer", "", "Parties with legal standing in the Contract, including the principal parties, the grantor(s) and grantee(s), which are any person or organization bound by the contract, and any ancillary parties, which facilitate the execution of the contract such as a notary or witness.", 0, java.lang.Integer.MAX_VALUE, signer); 11137 case -1423054677: /*friendly*/ return new Property("friendly", "", "The \"patient friendly language\" versionof the Contract in whole or in parts. \"Patient friendly language\" means the representation of the Contract and Contract Provisions in a manner that is readily accessible and understandable by a layperson in accordance with best practices for communication styles that ensure that those agreeing to or signing the Contract understand the roles, actions, obligations, responsibilities, and implication of the agreement.", 0, java.lang.Integer.MAX_VALUE, friendly); 11138 case 102851257: /*legal*/ return new Property("legal", "", "List of Legal expressions or representations of this Contract.", 0, java.lang.Integer.MAX_VALUE, legal); 11139 case 3512060: /*rule*/ return new Property("rule", "", "List of Computable Policy Rule Language Representations of this Contract.", 0, java.lang.Integer.MAX_VALUE, rule); 11140 case -772497791: /*legallyBinding[x]*/ return new Property("legallyBinding[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse|Contract)", "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.", 0, 1, legallyBinding); 11141 case -126751329: /*legallyBinding*/ return new Property("legallyBinding[x]", "Attachment|Reference(Composition|DocumentReference|QuestionnaireResponse|Contract)", "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.", 0, 1, legallyBinding); 11142 case 344057890: /*legallyBindingAttachment*/ return new Property("legallyBinding[x]", "Attachment", "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.", 0, 1, legallyBinding); 11143 case -296528788: /*legallyBindingReference*/ return new Property("legallyBinding[x]", "Reference(Composition|DocumentReference|QuestionnaireResponse|Contract)", "Legally binding Contract: This is the signed and legally recognized representation of the Contract, which is considered the \"source of truth\" and which would be the basis for legal action related to enforcement of this Contract.", 0, 1, legallyBinding); 11144 default: return super.getNamedProperty(_hash, _name, _checkValid); 11145 } 11146 11147 } 11148 11149 @Override 11150 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 11151 switch (hash) { 11152 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 11153 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 11154 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 11155 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ContractResourceStatusCodes> 11156 case 568606040: /*legalState*/ return this.legalState == null ? new Base[0] : new Base[] {this.legalState}; // CodeableConcept 11157 case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : new Base[] {this.instantiatesCanonical}; // Reference 11158 case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : new Base[] {this.instantiatesUri}; // UriType 11159 case -92412192: /*contentDerivative*/ return this.contentDerivative == null ? new Base[0] : new Base[] {this.contentDerivative}; // CodeableConcept 11160 case -1179159893: /*issued*/ return this.issued == null ? new Base[0] : new Base[] {this.issued}; // DateTimeType 11161 case -793235316: /*applies*/ return this.applies == null ? new Base[0] : new Base[] {this.applies}; // Period 11162 case -668311927: /*expirationType*/ return this.expirationType == null ? new Base[0] : new Base[] {this.expirationType}; // CodeableConcept 11163 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // Reference 11164 case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : this.authority.toArray(new Base[this.authority.size()]); // Reference 11165 case -1326197564: /*domain*/ return this.domain == null ? new Base[0] : this.domain.toArray(new Base[this.domain.size()]); // Reference 11166 case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // Reference 11167 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 11168 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 11169 case -2060497896: /*subtitle*/ return this.subtitle == null ? new Base[0] : new Base[] {this.subtitle}; // StringType 11170 case 92902992: /*alias*/ return this.alias == null ? new Base[0] : this.alias.toArray(new Base[this.alias.size()]); // StringType 11171 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 11172 case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // CodeableConcept 11173 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : new Base[] {this.topic}; // DataType 11174 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 11175 case -1868521062: /*subType*/ return this.subType == null ? new Base[0] : this.subType.toArray(new Base[this.subType.size()]); // CodeableConcept 11176 case 247055020: /*contentDefinition*/ return this.contentDefinition == null ? new Base[0] : new Base[] {this.contentDefinition}; // ContentDefinitionComponent 11177 case 3556460: /*term*/ return this.term == null ? new Base[0] : this.term.toArray(new Base[this.term.size()]); // TermComponent 11178 case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference 11179 case 1538891575: /*relevantHistory*/ return this.relevantHistory == null ? new Base[0] : this.relevantHistory.toArray(new Base[this.relevantHistory.size()]); // Reference 11180 case -902467798: /*signer*/ return this.signer == null ? new Base[0] : this.signer.toArray(new Base[this.signer.size()]); // SignatoryComponent 11181 case -1423054677: /*friendly*/ return this.friendly == null ? new Base[0] : this.friendly.toArray(new Base[this.friendly.size()]); // FriendlyLanguageComponent 11182 case 102851257: /*legal*/ return this.legal == null ? new Base[0] : this.legal.toArray(new Base[this.legal.size()]); // LegalLanguageComponent 11183 case 3512060: /*rule*/ return this.rule == null ? new Base[0] : this.rule.toArray(new Base[this.rule.size()]); // ComputableLanguageComponent 11184 case -126751329: /*legallyBinding*/ return this.legallyBinding == null ? new Base[0] : new Base[] {this.legallyBinding}; // DataType 11185 default: return super.getProperty(hash, name, checkValid); 11186 } 11187 11188 } 11189 11190 @Override 11191 public Base setProperty(int hash, String name, Base value) throws FHIRException { 11192 switch (hash) { 11193 case -1618432855: // identifier 11194 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 11195 return value; 11196 case 116079: // url 11197 this.url = TypeConvertor.castToUri(value); // UriType 11198 return value; 11199 case 351608024: // version 11200 this.version = TypeConvertor.castToString(value); // StringType 11201 return value; 11202 case -892481550: // status 11203 value = new ContractResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 11204 this.status = (Enumeration) value; // Enumeration<ContractResourceStatusCodes> 11205 return value; 11206 case 568606040: // legalState 11207 this.legalState = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11208 return value; 11209 case 8911915: // instantiatesCanonical 11210 this.instantiatesCanonical = TypeConvertor.castToReference(value); // Reference 11211 return value; 11212 case -1926393373: // instantiatesUri 11213 this.instantiatesUri = TypeConvertor.castToUri(value); // UriType 11214 return value; 11215 case -92412192: // contentDerivative 11216 this.contentDerivative = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11217 return value; 11218 case -1179159893: // issued 11219 this.issued = TypeConvertor.castToDateTime(value); // DateTimeType 11220 return value; 11221 case -793235316: // applies 11222 this.applies = TypeConvertor.castToPeriod(value); // Period 11223 return value; 11224 case -668311927: // expirationType 11225 this.expirationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11226 return value; 11227 case -1867885268: // subject 11228 this.getSubject().add(TypeConvertor.castToReference(value)); // Reference 11229 return value; 11230 case 1475610435: // authority 11231 this.getAuthority().add(TypeConvertor.castToReference(value)); // Reference 11232 return value; 11233 case -1326197564: // domain 11234 this.getDomain().add(TypeConvertor.castToReference(value)); // Reference 11235 return value; 11236 case 3530567: // site 11237 this.getSite().add(TypeConvertor.castToReference(value)); // Reference 11238 return value; 11239 case 3373707: // name 11240 this.name = TypeConvertor.castToString(value); // StringType 11241 return value; 11242 case 110371416: // title 11243 this.title = TypeConvertor.castToString(value); // StringType 11244 return value; 11245 case -2060497896: // subtitle 11246 this.subtitle = TypeConvertor.castToString(value); // StringType 11247 return value; 11248 case 92902992: // alias 11249 this.getAlias().add(TypeConvertor.castToString(value)); // StringType 11250 return value; 11251 case -1406328437: // author 11252 this.author = TypeConvertor.castToReference(value); // Reference 11253 return value; 11254 case 109264468: // scope 11255 this.scope = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11256 return value; 11257 case 110546223: // topic 11258 this.topic = TypeConvertor.castToType(value); // DataType 11259 return value; 11260 case 3575610: // type 11261 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11262 return value; 11263 case -1868521062: // subType 11264 this.getSubType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 11265 return value; 11266 case 247055020: // contentDefinition 11267 this.contentDefinition = (ContentDefinitionComponent) value; // ContentDefinitionComponent 11268 return value; 11269 case 3556460: // term 11270 this.getTerm().add((TermComponent) value); // TermComponent 11271 return value; 11272 case 1922406657: // supportingInfo 11273 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); // Reference 11274 return value; 11275 case 1538891575: // relevantHistory 11276 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); // Reference 11277 return value; 11278 case -902467798: // signer 11279 this.getSigner().add((SignatoryComponent) value); // SignatoryComponent 11280 return value; 11281 case -1423054677: // friendly 11282 this.getFriendly().add((FriendlyLanguageComponent) value); // FriendlyLanguageComponent 11283 return value; 11284 case 102851257: // legal 11285 this.getLegal().add((LegalLanguageComponent) value); // LegalLanguageComponent 11286 return value; 11287 case 3512060: // rule 11288 this.getRule().add((ComputableLanguageComponent) value); // ComputableLanguageComponent 11289 return value; 11290 case -126751329: // legallyBinding 11291 this.legallyBinding = TypeConvertor.castToType(value); // DataType 11292 return value; 11293 default: return super.setProperty(hash, name, value); 11294 } 11295 11296 } 11297 11298 @Override 11299 public Base setProperty(String name, Base value) throws FHIRException { 11300 if (name.equals("identifier")) { 11301 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 11302 } else if (name.equals("url")) { 11303 this.url = TypeConvertor.castToUri(value); // UriType 11304 } else if (name.equals("version")) { 11305 this.version = TypeConvertor.castToString(value); // StringType 11306 } else if (name.equals("status")) { 11307 value = new ContractResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 11308 this.status = (Enumeration) value; // Enumeration<ContractResourceStatusCodes> 11309 } else if (name.equals("legalState")) { 11310 this.legalState = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11311 } else if (name.equals("instantiatesCanonical")) { 11312 this.instantiatesCanonical = TypeConvertor.castToReference(value); // Reference 11313 } else if (name.equals("instantiatesUri")) { 11314 this.instantiatesUri = TypeConvertor.castToUri(value); // UriType 11315 } else if (name.equals("contentDerivative")) { 11316 this.contentDerivative = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11317 } else if (name.equals("issued")) { 11318 this.issued = TypeConvertor.castToDateTime(value); // DateTimeType 11319 } else if (name.equals("applies")) { 11320 this.applies = TypeConvertor.castToPeriod(value); // Period 11321 } else if (name.equals("expirationType")) { 11322 this.expirationType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11323 } else if (name.equals("subject")) { 11324 this.getSubject().add(TypeConvertor.castToReference(value)); 11325 } else if (name.equals("authority")) { 11326 this.getAuthority().add(TypeConvertor.castToReference(value)); 11327 } else if (name.equals("domain")) { 11328 this.getDomain().add(TypeConvertor.castToReference(value)); 11329 } else if (name.equals("site")) { 11330 this.getSite().add(TypeConvertor.castToReference(value)); 11331 } else if (name.equals("name")) { 11332 this.name = TypeConvertor.castToString(value); // StringType 11333 } else if (name.equals("title")) { 11334 this.title = TypeConvertor.castToString(value); // StringType 11335 } else if (name.equals("subtitle")) { 11336 this.subtitle = TypeConvertor.castToString(value); // StringType 11337 } else if (name.equals("alias")) { 11338 this.getAlias().add(TypeConvertor.castToString(value)); 11339 } else if (name.equals("author")) { 11340 this.author = TypeConvertor.castToReference(value); // Reference 11341 } else if (name.equals("scope")) { 11342 this.scope = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11343 } else if (name.equals("topic[x]")) { 11344 this.topic = TypeConvertor.castToType(value); // DataType 11345 } else if (name.equals("type")) { 11346 this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 11347 } else if (name.equals("subType")) { 11348 this.getSubType().add(TypeConvertor.castToCodeableConcept(value)); 11349 } else if (name.equals("contentDefinition")) { 11350 this.contentDefinition = (ContentDefinitionComponent) value; // ContentDefinitionComponent 11351 } else if (name.equals("term")) { 11352 this.getTerm().add((TermComponent) value); 11353 } else if (name.equals("supportingInfo")) { 11354 this.getSupportingInfo().add(TypeConvertor.castToReference(value)); 11355 } else if (name.equals("relevantHistory")) { 11356 this.getRelevantHistory().add(TypeConvertor.castToReference(value)); 11357 } else if (name.equals("signer")) { 11358 this.getSigner().add((SignatoryComponent) value); 11359 } else if (name.equals("friendly")) { 11360 this.getFriendly().add((FriendlyLanguageComponent) value); 11361 } else if (name.equals("legal")) { 11362 this.getLegal().add((LegalLanguageComponent) value); 11363 } else if (name.equals("rule")) { 11364 this.getRule().add((ComputableLanguageComponent) value); 11365 } else if (name.equals("legallyBinding[x]")) { 11366 this.legallyBinding = TypeConvertor.castToType(value); // DataType 11367 } else 11368 return super.setProperty(name, value); 11369 return value; 11370 } 11371 11372 @Override 11373 public void removeChild(String name, Base value) throws FHIRException { 11374 if (name.equals("identifier")) { 11375 this.getIdentifier().remove(value); 11376 } else if (name.equals("url")) { 11377 this.url = null; 11378 } else if (name.equals("version")) { 11379 this.version = null; 11380 } else if (name.equals("status")) { 11381 value = new ContractResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 11382 this.status = (Enumeration) value; // Enumeration<ContractResourceStatusCodes> 11383 } else if (name.equals("legalState")) { 11384 this.legalState = null; 11385 } else if (name.equals("instantiatesCanonical")) { 11386 this.instantiatesCanonical = null; 11387 } else if (name.equals("instantiatesUri")) { 11388 this.instantiatesUri = null; 11389 } else if (name.equals("contentDerivative")) { 11390 this.contentDerivative = null; 11391 } else if (name.equals("issued")) { 11392 this.issued = null; 11393 } else if (name.equals("applies")) { 11394 this.applies = null; 11395 } else if (name.equals("expirationType")) { 11396 this.expirationType = null; 11397 } else if (name.equals("subject")) { 11398 this.getSubject().remove(value); 11399 } else if (name.equals("authority")) { 11400 this.getAuthority().remove(value); 11401 } else if (name.equals("domain")) { 11402 this.getDomain().remove(value); 11403 } else if (name.equals("site")) { 11404 this.getSite().remove(value); 11405 } else if (name.equals("name")) { 11406 this.name = null; 11407 } else if (name.equals("title")) { 11408 this.title = null; 11409 } else if (name.equals("subtitle")) { 11410 this.subtitle = null; 11411 } else if (name.equals("alias")) { 11412 this.getAlias().remove(value); 11413 } else if (name.equals("author")) { 11414 this.author = null; 11415 } else if (name.equals("scope")) { 11416 this.scope = null; 11417 } else if (name.equals("topic[x]")) { 11418 this.topic = null; 11419 } else if (name.equals("type")) { 11420 this.type = null; 11421 } else if (name.equals("subType")) { 11422 this.getSubType().remove(value); 11423 } else if (name.equals("contentDefinition")) { 11424 this.contentDefinition = (ContentDefinitionComponent) value; // ContentDefinitionComponent 11425 } else if (name.equals("term")) { 11426 this.getTerm().remove((TermComponent) value); 11427 } else if (name.equals("supportingInfo")) { 11428 this.getSupportingInfo().remove(value); 11429 } else if (name.equals("relevantHistory")) { 11430 this.getRelevantHistory().remove(value); 11431 } else if (name.equals("signer")) { 11432 this.getSigner().remove((SignatoryComponent) value); 11433 } else if (name.equals("friendly")) { 11434 this.getFriendly().remove((FriendlyLanguageComponent) value); 11435 } else if (name.equals("legal")) { 11436 this.getLegal().remove((LegalLanguageComponent) value); 11437 } else if (name.equals("rule")) { 11438 this.getRule().remove((ComputableLanguageComponent) value); 11439 } else if (name.equals("legallyBinding[x]")) { 11440 this.legallyBinding = null; 11441 } else 11442 super.removeChild(name, value); 11443 11444 } 11445 11446 @Override 11447 public Base makeProperty(int hash, String name) throws FHIRException { 11448 switch (hash) { 11449 case -1618432855: return addIdentifier(); 11450 case 116079: return getUrlElement(); 11451 case 351608024: return getVersionElement(); 11452 case -892481550: return getStatusElement(); 11453 case 568606040: return getLegalState(); 11454 case 8911915: return getInstantiatesCanonical(); 11455 case -1926393373: return getInstantiatesUriElement(); 11456 case -92412192: return getContentDerivative(); 11457 case -1179159893: return getIssuedElement(); 11458 case -793235316: return getApplies(); 11459 case -668311927: return getExpirationType(); 11460 case -1867885268: return addSubject(); 11461 case 1475610435: return addAuthority(); 11462 case -1326197564: return addDomain(); 11463 case 3530567: return addSite(); 11464 case 3373707: return getNameElement(); 11465 case 110371416: return getTitleElement(); 11466 case -2060497896: return getSubtitleElement(); 11467 case 92902992: return addAliasElement(); 11468 case -1406328437: return getAuthor(); 11469 case 109264468: return getScope(); 11470 case -957295375: return getTopic(); 11471 case 110546223: return getTopic(); 11472 case 3575610: return getType(); 11473 case -1868521062: return addSubType(); 11474 case 247055020: return getContentDefinition(); 11475 case 3556460: return addTerm(); 11476 case 1922406657: return addSupportingInfo(); 11477 case 1538891575: return addRelevantHistory(); 11478 case -902467798: return addSigner(); 11479 case -1423054677: return addFriendly(); 11480 case 102851257: return addLegal(); 11481 case 3512060: return addRule(); 11482 case -772497791: return getLegallyBinding(); 11483 case -126751329: return getLegallyBinding(); 11484 default: return super.makeProperty(hash, name); 11485 } 11486 11487 } 11488 11489 @Override 11490 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 11491 switch (hash) { 11492 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 11493 case 116079: /*url*/ return new String[] {"uri"}; 11494 case 351608024: /*version*/ return new String[] {"string"}; 11495 case -892481550: /*status*/ return new String[] {"code"}; 11496 case 568606040: /*legalState*/ return new String[] {"CodeableConcept"}; 11497 case 8911915: /*instantiatesCanonical*/ return new String[] {"Reference"}; 11498 case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; 11499 case -92412192: /*contentDerivative*/ return new String[] {"CodeableConcept"}; 11500 case -1179159893: /*issued*/ return new String[] {"dateTime"}; 11501 case -793235316: /*applies*/ return new String[] {"Period"}; 11502 case -668311927: /*expirationType*/ return new String[] {"CodeableConcept"}; 11503 case -1867885268: /*subject*/ return new String[] {"Reference"}; 11504 case 1475610435: /*authority*/ return new String[] {"Reference"}; 11505 case -1326197564: /*domain*/ return new String[] {"Reference"}; 11506 case 3530567: /*site*/ return new String[] {"Reference"}; 11507 case 3373707: /*name*/ return new String[] {"string"}; 11508 case 110371416: /*title*/ return new String[] {"string"}; 11509 case -2060497896: /*subtitle*/ return new String[] {"string"}; 11510 case 92902992: /*alias*/ return new String[] {"string"}; 11511 case -1406328437: /*author*/ return new String[] {"Reference"}; 11512 case 109264468: /*scope*/ return new String[] {"CodeableConcept"}; 11513 case 110546223: /*topic*/ return new String[] {"CodeableConcept", "Reference"}; 11514 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 11515 case -1868521062: /*subType*/ return new String[] {"CodeableConcept"}; 11516 case 247055020: /*contentDefinition*/ return new String[] {}; 11517 case 3556460: /*term*/ return new String[] {}; 11518 case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; 11519 case 1538891575: /*relevantHistory*/ return new String[] {"Reference"}; 11520 case -902467798: /*signer*/ return new String[] {}; 11521 case -1423054677: /*friendly*/ return new String[] {}; 11522 case 102851257: /*legal*/ return new String[] {}; 11523 case 3512060: /*rule*/ return new String[] {}; 11524 case -126751329: /*legallyBinding*/ return new String[] {"Attachment", "Reference"}; 11525 default: return super.getTypesForProperty(hash, name); 11526 } 11527 11528 } 11529 11530 @Override 11531 public Base addChild(String name) throws FHIRException { 11532 if (name.equals("identifier")) { 11533 return addIdentifier(); 11534 } 11535 else if (name.equals("url")) { 11536 throw new FHIRException("Cannot call addChild on a singleton property Contract.url"); 11537 } 11538 else if (name.equals("version")) { 11539 throw new FHIRException("Cannot call addChild on a singleton property Contract.version"); 11540 } 11541 else if (name.equals("status")) { 11542 throw new FHIRException("Cannot call addChild on a singleton property Contract.status"); 11543 } 11544 else if (name.equals("legalState")) { 11545 this.legalState = new CodeableConcept(); 11546 return this.legalState; 11547 } 11548 else if (name.equals("instantiatesCanonical")) { 11549 this.instantiatesCanonical = new Reference(); 11550 return this.instantiatesCanonical; 11551 } 11552 else if (name.equals("instantiatesUri")) { 11553 throw new FHIRException("Cannot call addChild on a singleton property Contract.instantiatesUri"); 11554 } 11555 else if (name.equals("contentDerivative")) { 11556 this.contentDerivative = new CodeableConcept(); 11557 return this.contentDerivative; 11558 } 11559 else if (name.equals("issued")) { 11560 throw new FHIRException("Cannot call addChild on a singleton property Contract.issued"); 11561 } 11562 else if (name.equals("applies")) { 11563 this.applies = new Period(); 11564 return this.applies; 11565 } 11566 else if (name.equals("expirationType")) { 11567 this.expirationType = new CodeableConcept(); 11568 return this.expirationType; 11569 } 11570 else if (name.equals("subject")) { 11571 return addSubject(); 11572 } 11573 else if (name.equals("authority")) { 11574 return addAuthority(); 11575 } 11576 else if (name.equals("domain")) { 11577 return addDomain(); 11578 } 11579 else if (name.equals("site")) { 11580 return addSite(); 11581 } 11582 else if (name.equals("name")) { 11583 throw new FHIRException("Cannot call addChild on a singleton property Contract.name"); 11584 } 11585 else if (name.equals("title")) { 11586 throw new FHIRException("Cannot call addChild on a singleton property Contract.title"); 11587 } 11588 else if (name.equals("subtitle")) { 11589 throw new FHIRException("Cannot call addChild on a singleton property Contract.subtitle"); 11590 } 11591 else if (name.equals("alias")) { 11592 throw new FHIRException("Cannot call addChild on a singleton property Contract.alias"); 11593 } 11594 else if (name.equals("author")) { 11595 this.author = new Reference(); 11596 return this.author; 11597 } 11598 else if (name.equals("scope")) { 11599 this.scope = new CodeableConcept(); 11600 return this.scope; 11601 } 11602 else if (name.equals("topicCodeableConcept")) { 11603 this.topic = new CodeableConcept(); 11604 return this.topic; 11605 } 11606 else if (name.equals("topicReference")) { 11607 this.topic = new Reference(); 11608 return this.topic; 11609 } 11610 else if (name.equals("type")) { 11611 this.type = new CodeableConcept(); 11612 return this.type; 11613 } 11614 else if (name.equals("subType")) { 11615 return addSubType(); 11616 } 11617 else if (name.equals("contentDefinition")) { 11618 this.contentDefinition = new ContentDefinitionComponent(); 11619 return this.contentDefinition; 11620 } 11621 else if (name.equals("term")) { 11622 return addTerm(); 11623 } 11624 else if (name.equals("supportingInfo")) { 11625 return addSupportingInfo(); 11626 } 11627 else if (name.equals("relevantHistory")) { 11628 return addRelevantHistory(); 11629 } 11630 else if (name.equals("signer")) { 11631 return addSigner(); 11632 } 11633 else if (name.equals("friendly")) { 11634 return addFriendly(); 11635 } 11636 else if (name.equals("legal")) { 11637 return addLegal(); 11638 } 11639 else if (name.equals("rule")) { 11640 return addRule(); 11641 } 11642 else if (name.equals("legallyBindingAttachment")) { 11643 this.legallyBinding = new Attachment(); 11644 return this.legallyBinding; 11645 } 11646 else if (name.equals("legallyBindingReference")) { 11647 this.legallyBinding = new Reference(); 11648 return this.legallyBinding; 11649 } 11650 else 11651 return super.addChild(name); 11652 } 11653 11654 public String fhirType() { 11655 return "Contract"; 11656 11657 } 11658 11659 public Contract copy() { 11660 Contract dst = new Contract(); 11661 copyValues(dst); 11662 return dst; 11663 } 11664 11665 public void copyValues(Contract dst) { 11666 super.copyValues(dst); 11667 if (identifier != null) { 11668 dst.identifier = new ArrayList<Identifier>(); 11669 for (Identifier i : identifier) 11670 dst.identifier.add(i.copy()); 11671 }; 11672 dst.url = url == null ? null : url.copy(); 11673 dst.version = version == null ? null : version.copy(); 11674 dst.status = status == null ? null : status.copy(); 11675 dst.legalState = legalState == null ? null : legalState.copy(); 11676 dst.instantiatesCanonical = instantiatesCanonical == null ? null : instantiatesCanonical.copy(); 11677 dst.instantiatesUri = instantiatesUri == null ? null : instantiatesUri.copy(); 11678 dst.contentDerivative = contentDerivative == null ? null : contentDerivative.copy(); 11679 dst.issued = issued == null ? null : issued.copy(); 11680 dst.applies = applies == null ? null : applies.copy(); 11681 dst.expirationType = expirationType == null ? null : expirationType.copy(); 11682 if (subject != null) { 11683 dst.subject = new ArrayList<Reference>(); 11684 for (Reference i : subject) 11685 dst.subject.add(i.copy()); 11686 }; 11687 if (authority != null) { 11688 dst.authority = new ArrayList<Reference>(); 11689 for (Reference i : authority) 11690 dst.authority.add(i.copy()); 11691 }; 11692 if (domain != null) { 11693 dst.domain = new ArrayList<Reference>(); 11694 for (Reference i : domain) 11695 dst.domain.add(i.copy()); 11696 }; 11697 if (site != null) { 11698 dst.site = new ArrayList<Reference>(); 11699 for (Reference i : site) 11700 dst.site.add(i.copy()); 11701 }; 11702 dst.name = name == null ? null : name.copy(); 11703 dst.title = title == null ? null : title.copy(); 11704 dst.subtitle = subtitle == null ? null : subtitle.copy(); 11705 if (alias != null) { 11706 dst.alias = new ArrayList<StringType>(); 11707 for (StringType i : alias) 11708 dst.alias.add(i.copy()); 11709 }; 11710 dst.author = author == null ? null : author.copy(); 11711 dst.scope = scope == null ? null : scope.copy(); 11712 dst.topic = topic == null ? null : topic.copy(); 11713 dst.type = type == null ? null : type.copy(); 11714 if (subType != null) { 11715 dst.subType = new ArrayList<CodeableConcept>(); 11716 for (CodeableConcept i : subType) 11717 dst.subType.add(i.copy()); 11718 }; 11719 dst.contentDefinition = contentDefinition == null ? null : contentDefinition.copy(); 11720 if (term != null) { 11721 dst.term = new ArrayList<TermComponent>(); 11722 for (TermComponent i : term) 11723 dst.term.add(i.copy()); 11724 }; 11725 if (supportingInfo != null) { 11726 dst.supportingInfo = new ArrayList<Reference>(); 11727 for (Reference i : supportingInfo) 11728 dst.supportingInfo.add(i.copy()); 11729 }; 11730 if (relevantHistory != null) { 11731 dst.relevantHistory = new ArrayList<Reference>(); 11732 for (Reference i : relevantHistory) 11733 dst.relevantHistory.add(i.copy()); 11734 }; 11735 if (signer != null) { 11736 dst.signer = new ArrayList<SignatoryComponent>(); 11737 for (SignatoryComponent i : signer) 11738 dst.signer.add(i.copy()); 11739 }; 11740 if (friendly != null) { 11741 dst.friendly = new ArrayList<FriendlyLanguageComponent>(); 11742 for (FriendlyLanguageComponent i : friendly) 11743 dst.friendly.add(i.copy()); 11744 }; 11745 if (legal != null) { 11746 dst.legal = new ArrayList<LegalLanguageComponent>(); 11747 for (LegalLanguageComponent i : legal) 11748 dst.legal.add(i.copy()); 11749 }; 11750 if (rule != null) { 11751 dst.rule = new ArrayList<ComputableLanguageComponent>(); 11752 for (ComputableLanguageComponent i : rule) 11753 dst.rule.add(i.copy()); 11754 }; 11755 dst.legallyBinding = legallyBinding == null ? null : legallyBinding.copy(); 11756 } 11757 11758 protected Contract typedCopy() { 11759 return copy(); 11760 } 11761 11762 @Override 11763 public boolean equalsDeep(Base other_) { 11764 if (!super.equalsDeep(other_)) 11765 return false; 11766 if (!(other_ instanceof Contract)) 11767 return false; 11768 Contract o = (Contract) other_; 11769 return compareDeep(identifier, o.identifier, true) && compareDeep(url, o.url, true) && compareDeep(version, o.version, true) 11770 && compareDeep(status, o.status, true) && compareDeep(legalState, o.legalState, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) 11771 && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(contentDerivative, o.contentDerivative, true) 11772 && compareDeep(issued, o.issued, true) && compareDeep(applies, o.applies, true) && compareDeep(expirationType, o.expirationType, true) 11773 && compareDeep(subject, o.subject, true) && compareDeep(authority, o.authority, true) && compareDeep(domain, o.domain, true) 11774 && compareDeep(site, o.site, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) 11775 && compareDeep(subtitle, o.subtitle, true) && compareDeep(alias, o.alias, true) && compareDeep(author, o.author, true) 11776 && compareDeep(scope, o.scope, true) && compareDeep(topic, o.topic, true) && compareDeep(type, o.type, true) 11777 && compareDeep(subType, o.subType, true) && compareDeep(contentDefinition, o.contentDefinition, true) 11778 && compareDeep(term, o.term, true) && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(relevantHistory, o.relevantHistory, true) 11779 && compareDeep(signer, o.signer, true) && compareDeep(friendly, o.friendly, true) && compareDeep(legal, o.legal, true) 11780 && compareDeep(rule, o.rule, true) && compareDeep(legallyBinding, o.legallyBinding, true); 11781 } 11782 11783 @Override 11784 public boolean equalsShallow(Base other_) { 11785 if (!super.equalsShallow(other_)) 11786 return false; 11787 if (!(other_ instanceof Contract)) 11788 return false; 11789 Contract o = (Contract) other_; 11790 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(status, o.status, true) 11791 && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(issued, o.issued, true) 11792 && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(subtitle, o.subtitle, true) 11793 && compareValues(alias, o.alias, true); 11794 } 11795 11796 public boolean isEmpty() { 11797 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, url, version 11798 , status, legalState, instantiatesCanonical, instantiatesUri, contentDerivative, issued 11799 , applies, expirationType, subject, authority, domain, site, name, title, subtitle 11800 , alias, author, scope, topic, type, subType, contentDefinition, term, supportingInfo 11801 , relevantHistory, signer, friendly, legal, rule, legallyBinding); 11802 } 11803 11804 @Override 11805 public ResourceType getResourceType() { 11806 return ResourceType.Contract; 11807 } 11808 11809 /** 11810 * Search parameter: <b>authority</b> 11811 * <p> 11812 * Description: <b>The authority of the contract</b><br> 11813 * Type: <b>reference</b><br> 11814 * Path: <b>Contract.authority</b><br> 11815 * </p> 11816 */ 11817 @SearchParamDefinition(name="authority", path="Contract.authority", description="The authority of the contract", type="reference", target={Organization.class } ) 11818 public static final String SP_AUTHORITY = "authority"; 11819 /** 11820 * <b>Fluent Client</b> search parameter constant for <b>authority</b> 11821 * <p> 11822 * Description: <b>The authority of the contract</b><br> 11823 * Type: <b>reference</b><br> 11824 * Path: <b>Contract.authority</b><br> 11825 * </p> 11826 */ 11827 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHORITY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHORITY); 11828 11829/** 11830 * Constant for fluent queries to be used to add include statements. Specifies 11831 * the path value of "<b>Contract:authority</b>". 11832 */ 11833 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHORITY = new ca.uhn.fhir.model.api.Include("Contract:authority").toLocked(); 11834 11835 /** 11836 * Search parameter: <b>domain</b> 11837 * <p> 11838 * Description: <b>The domain of the contract</b><br> 11839 * Type: <b>reference</b><br> 11840 * Path: <b>Contract.domain</b><br> 11841 * </p> 11842 */ 11843 @SearchParamDefinition(name="domain", path="Contract.domain", description="The domain of the contract", type="reference", target={Location.class } ) 11844 public static final String SP_DOMAIN = "domain"; 11845 /** 11846 * <b>Fluent Client</b> search parameter constant for <b>domain</b> 11847 * <p> 11848 * Description: <b>The domain of the contract</b><br> 11849 * Type: <b>reference</b><br> 11850 * Path: <b>Contract.domain</b><br> 11851 * </p> 11852 */ 11853 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DOMAIN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DOMAIN); 11854 11855/** 11856 * Constant for fluent queries to be used to add include statements. Specifies 11857 * the path value of "<b>Contract:domain</b>". 11858 */ 11859 public static final ca.uhn.fhir.model.api.Include INCLUDE_DOMAIN = new ca.uhn.fhir.model.api.Include("Contract:domain").toLocked(); 11860 11861 /** 11862 * Search parameter: <b>instantiates</b> 11863 * <p> 11864 * Description: <b>A source definition of the contract</b><br> 11865 * Type: <b>uri</b><br> 11866 * Path: <b>Contract.instantiatesUri</b><br> 11867 * </p> 11868 */ 11869 @SearchParamDefinition(name="instantiates", path="Contract.instantiatesUri", description="A source definition of the contract", type="uri" ) 11870 public static final String SP_INSTANTIATES = "instantiates"; 11871 /** 11872 * <b>Fluent Client</b> search parameter constant for <b>instantiates</b> 11873 * <p> 11874 * Description: <b>A source definition of the contract</b><br> 11875 * Type: <b>uri</b><br> 11876 * Path: <b>Contract.instantiatesUri</b><br> 11877 * </p> 11878 */ 11879 public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES); 11880 11881 /** 11882 * Search parameter: <b>issued</b> 11883 * <p> 11884 * Description: <b>The date/time the contract was issued</b><br> 11885 * Type: <b>date</b><br> 11886 * Path: <b>Contract.issued</b><br> 11887 * </p> 11888 */ 11889 @SearchParamDefinition(name="issued", path="Contract.issued", description="The date/time the contract was issued", type="date" ) 11890 public static final String SP_ISSUED = "issued"; 11891 /** 11892 * <b>Fluent Client</b> search parameter constant for <b>issued</b> 11893 * <p> 11894 * Description: <b>The date/time the contract was issued</b><br> 11895 * Type: <b>date</b><br> 11896 * Path: <b>Contract.issued</b><br> 11897 * </p> 11898 */ 11899 public static final ca.uhn.fhir.rest.gclient.DateClientParam ISSUED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ISSUED); 11900 11901 /** 11902 * Search parameter: <b>signer</b> 11903 * <p> 11904 * Description: <b>Contract Signatory Party</b><br> 11905 * Type: <b>reference</b><br> 11906 * Path: <b>Contract.signer.party</b><br> 11907 * </p> 11908 */ 11909 @SearchParamDefinition(name="signer", path="Contract.signer.party", description="Contract Signatory Party", type="reference", target={Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 11910 public static final String SP_SIGNER = "signer"; 11911 /** 11912 * <b>Fluent Client</b> search parameter constant for <b>signer</b> 11913 * <p> 11914 * Description: <b>Contract Signatory Party</b><br> 11915 * Type: <b>reference</b><br> 11916 * Path: <b>Contract.signer.party</b><br> 11917 * </p> 11918 */ 11919 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SIGNER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SIGNER); 11920 11921/** 11922 * Constant for fluent queries to be used to add include statements. Specifies 11923 * the path value of "<b>Contract:signer</b>". 11924 */ 11925 public static final ca.uhn.fhir.model.api.Include INCLUDE_SIGNER = new ca.uhn.fhir.model.api.Include("Contract:signer").toLocked(); 11926 11927 /** 11928 * Search parameter: <b>status</b> 11929 * <p> 11930 * Description: <b>The status of the contract</b><br> 11931 * Type: <b>token</b><br> 11932 * Path: <b>Contract.status</b><br> 11933 * </p> 11934 */ 11935 @SearchParamDefinition(name="status", path="Contract.status", description="The status of the contract", type="token" ) 11936 public static final String SP_STATUS = "status"; 11937 /** 11938 * <b>Fluent Client</b> search parameter constant for <b>status</b> 11939 * <p> 11940 * Description: <b>The status of the contract</b><br> 11941 * Type: <b>token</b><br> 11942 * Path: <b>Contract.status</b><br> 11943 * </p> 11944 */ 11945 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 11946 11947 /** 11948 * Search parameter: <b>subject</b> 11949 * <p> 11950 * Description: <b>The identity of the subject of the contract</b><br> 11951 * Type: <b>reference</b><br> 11952 * Path: <b>Contract.subject</b><br> 11953 * </p> 11954 */ 11955 @SearchParamDefinition(name="subject", path="Contract.subject", description="The identity of the subject of the contract", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BiologicallyDerivedProductDispense.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceAssociation.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentReference.class, Encounter.class, EncounterHistory.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryItem.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationStatement.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Parameters.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestPlan.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) 11956 public static final String SP_SUBJECT = "subject"; 11957 /** 11958 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 11959 * <p> 11960 * Description: <b>The identity of the subject of the contract</b><br> 11961 * Type: <b>reference</b><br> 11962 * Path: <b>Contract.subject</b><br> 11963 * </p> 11964 */ 11965 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 11966 11967/** 11968 * Constant for fluent queries to be used to add include statements. Specifies 11969 * the path value of "<b>Contract:subject</b>". 11970 */ 11971 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("Contract:subject").toLocked(); 11972 11973 /** 11974 * Search parameter: <b>url</b> 11975 * <p> 11976 * Description: <b>The basal contract definition</b><br> 11977 * Type: <b>uri</b><br> 11978 * Path: <b>Contract.url</b><br> 11979 * </p> 11980 */ 11981 @SearchParamDefinition(name="url", path="Contract.url", description="The basal contract definition", type="uri" ) 11982 public static final String SP_URL = "url"; 11983 /** 11984 * <b>Fluent Client</b> search parameter constant for <b>url</b> 11985 * <p> 11986 * Description: <b>The basal contract definition</b><br> 11987 * Type: <b>uri</b><br> 11988 * Path: <b>Contract.url</b><br> 11989 * </p> 11990 */ 11991 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 11992 11993 /** 11994 * Search parameter: <b>identifier</b> 11995 * <p> 11996 * Description: <b>Multiple Resources: 11997 11998* [Account](account.html): Account number 11999* [AdverseEvent](adverseevent.html): Business identifier for the event 12000* [AllergyIntolerance](allergyintolerance.html): External ids for this item 12001* [Appointment](appointment.html): An Identifier of the Appointment 12002* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 12003* [Basic](basic.html): Business identifier 12004* [BodyStructure](bodystructure.html): Bodystructure identifier 12005* [CarePlan](careplan.html): External Ids for this plan 12006* [CareTeam](careteam.html): External Ids for this team 12007* [ChargeItem](chargeitem.html): Business Identifier for item 12008* [Claim](claim.html): The primary identifier of the financial resource 12009* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 12010* [ClinicalImpression](clinicalimpression.html): Business identifier 12011* [Communication](communication.html): Unique identifier 12012* [CommunicationRequest](communicationrequest.html): Unique identifier 12013* [Composition](composition.html): Version-independent identifier for the Composition 12014* [Condition](condition.html): A unique identifier of the condition record 12015* [Consent](consent.html): Identifier for this record (external references) 12016* [Contract](contract.html): The identity of the contract 12017* [Coverage](coverage.html): The primary identifier of the insured and the coverage 12018* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 12019* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 12020* [DetectedIssue](detectedissue.html): Unique id for the detected issue 12021* [DeviceRequest](devicerequest.html): Business identifier for request/order 12022* [DeviceUsage](deviceusage.html): Search by identifier 12023* [DiagnosticReport](diagnosticreport.html): An identifier for the report 12024* [DocumentReference](documentreference.html): Identifier of the attachment binary 12025* [Encounter](encounter.html): Identifier(s) by which this encounter is known 12026* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 12027* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 12028* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 12029* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 12030* [Flag](flag.html): Business identifier 12031* [Goal](goal.html): External Ids for this goal 12032* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 12033* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 12034* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 12035* [Immunization](immunization.html): Business identifier 12036* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 12037* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 12038* [Invoice](invoice.html): Business Identifier for item 12039* [List](list.html): Business identifier 12040* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 12041* [Medication](medication.html): Returns medications with this external identifier 12042* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 12043* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 12044* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 12045* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 12046* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 12047* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 12048* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 12049* [Observation](observation.html): The unique id for a particular observation 12050* [Person](person.html): A person Identifier 12051* [Procedure](procedure.html): A unique identifier for a procedure 12052* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 12053* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 12054* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 12055* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 12056* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 12057* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 12058* [Specimen](specimen.html): The unique identifier associated with the specimen 12059* [SupplyDelivery](supplydelivery.html): External identifier 12060* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 12061* [Task](task.html): Search for a task instance by its business identifier 12062* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 12063</b><br> 12064 * Type: <b>token</b><br> 12065 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 12066 * </p> 12067 */ 12068 @SearchParamDefinition(name="identifier", path="Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier", description="Multiple Resources: \r\n\r\n* [Account](account.html): Account number\r\n* [AdverseEvent](adverseevent.html): Business identifier for the event\r\n* [AllergyIntolerance](allergyintolerance.html): External ids for this item\r\n* [Appointment](appointment.html): An Identifier of the Appointment\r\n* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response\r\n* [Basic](basic.html): Business identifier\r\n* [BodyStructure](bodystructure.html): Bodystructure identifier\r\n* [CarePlan](careplan.html): External Ids for this plan\r\n* [CareTeam](careteam.html): External Ids for this team\r\n* [ChargeItem](chargeitem.html): Business Identifier for item\r\n* [Claim](claim.html): The primary identifier of the financial resource\r\n* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse\r\n* [ClinicalImpression](clinicalimpression.html): Business identifier\r\n* [Communication](communication.html): Unique identifier\r\n* [CommunicationRequest](communicationrequest.html): Unique identifier\r\n* [Composition](composition.html): Version-independent identifier for the Composition\r\n* [Condition](condition.html): A unique identifier of the condition record\r\n* [Consent](consent.html): Identifier for this record (external references)\r\n* [Contract](contract.html): The identity of the contract\r\n* [Coverage](coverage.html): The primary identifier of the insured and the coverage\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier\r\n* [DetectedIssue](detectedissue.html): Unique id for the detected issue\r\n* [DeviceRequest](devicerequest.html): Business identifier for request/order\r\n* [DeviceUsage](deviceusage.html): Search by identifier\r\n* [DiagnosticReport](diagnosticreport.html): An identifier for the report\r\n* [DocumentReference](documentreference.html): Identifier of the attachment binary\r\n* [Encounter](encounter.html): Identifier(s) by which this encounter is known\r\n* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment\r\n* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier\r\n* [Flag](flag.html): Business identifier\r\n* [Goal](goal.html): External Ids for this goal\r\n* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response\r\n* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection\r\n* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID\r\n* [Immunization](immunization.html): Business identifier\r\n* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier\r\n* [Invoice](invoice.html): Business Identifier for item\r\n* [List](list.html): Business identifier\r\n* [MeasureReport](measurereport.html): External identifier of the measure report to be returned\r\n* [Medication](medication.html): Returns medications with this external identifier\r\n* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier\r\n* [MedicationStatement](medicationstatement.html): Return statements with this external identifier\r\n* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence\r\n* [NutritionIntake](nutritionintake.html): Return statements with this external identifier\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier\r\n* [Observation](observation.html): The unique id for a particular observation\r\n* [Person](person.html): A person Identifier\r\n* [Procedure](procedure.html): A unique identifier for a procedure\r\n* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response\r\n* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson\r\n* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration\r\n* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study\r\n* [RiskAssessment](riskassessment.html): Unique identifier for the assessment\r\n* [ServiceRequest](servicerequest.html): Identifiers assigned to this order\r\n* [Specimen](specimen.html): The unique identifier associated with the specimen\r\n* [SupplyDelivery](supplydelivery.html): External identifier\r\n* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest\r\n* [Task](task.html): Search for a task instance by its business identifier\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier\r\n", type="token" ) 12069 public static final String SP_IDENTIFIER = "identifier"; 12070 /** 12071 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 12072 * <p> 12073 * Description: <b>Multiple Resources: 12074 12075* [Account](account.html): Account number 12076* [AdverseEvent](adverseevent.html): Business identifier for the event 12077* [AllergyIntolerance](allergyintolerance.html): External ids for this item 12078* [Appointment](appointment.html): An Identifier of the Appointment 12079* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 12080* [Basic](basic.html): Business identifier 12081* [BodyStructure](bodystructure.html): Bodystructure identifier 12082* [CarePlan](careplan.html): External Ids for this plan 12083* [CareTeam](careteam.html): External Ids for this team 12084* [ChargeItem](chargeitem.html): Business Identifier for item 12085* [Claim](claim.html): The primary identifier of the financial resource 12086* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 12087* [ClinicalImpression](clinicalimpression.html): Business identifier 12088* [Communication](communication.html): Unique identifier 12089* [CommunicationRequest](communicationrequest.html): Unique identifier 12090* [Composition](composition.html): Version-independent identifier for the Composition 12091* [Condition](condition.html): A unique identifier of the condition record 12092* [Consent](consent.html): Identifier for this record (external references) 12093* [Contract](contract.html): The identity of the contract 12094* [Coverage](coverage.html): The primary identifier of the insured and the coverage 12095* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 12096* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 12097* [DetectedIssue](detectedissue.html): Unique id for the detected issue 12098* [DeviceRequest](devicerequest.html): Business identifier for request/order 12099* [DeviceUsage](deviceusage.html): Search by identifier 12100* [DiagnosticReport](diagnosticreport.html): An identifier for the report 12101* [DocumentReference](documentreference.html): Identifier of the attachment binary 12102* [Encounter](encounter.html): Identifier(s) by which this encounter is known 12103* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 12104* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 12105* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 12106* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 12107* [Flag](flag.html): Business identifier 12108* [Goal](goal.html): External Ids for this goal 12109* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 12110* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 12111* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 12112* [Immunization](immunization.html): Business identifier 12113* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 12114* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 12115* [Invoice](invoice.html): Business Identifier for item 12116* [List](list.html): Business identifier 12117* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 12118* [Medication](medication.html): Returns medications with this external identifier 12119* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 12120* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 12121* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 12122* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 12123* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 12124* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 12125* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 12126* [Observation](observation.html): The unique id for a particular observation 12127* [Person](person.html): A person Identifier 12128* [Procedure](procedure.html): A unique identifier for a procedure 12129* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 12130* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 12131* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 12132* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 12133* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 12134* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 12135* [Specimen](specimen.html): The unique identifier associated with the specimen 12136* [SupplyDelivery](supplydelivery.html): External identifier 12137* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 12138* [Task](task.html): Search for a task instance by its business identifier 12139* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 12140</b><br> 12141 * Type: <b>token</b><br> 12142 * Path: <b>Account.identifier | AdverseEvent.identifier | AllergyIntolerance.identifier | Appointment.identifier | AppointmentResponse.identifier | Basic.identifier | BodyStructure.identifier | CarePlan.identifier | CareTeam.identifier | ChargeItem.identifier | Claim.identifier | ClaimResponse.identifier | ClinicalImpression.identifier | Communication.identifier | CommunicationRequest.identifier | Composition.identifier | Condition.identifier | Consent.identifier | Contract.identifier | Coverage.identifier | CoverageEligibilityRequest.identifier | CoverageEligibilityResponse.identifier | DetectedIssue.identifier | DeviceRequest.identifier | DeviceUsage.identifier | DiagnosticReport.identifier | DocumentReference.identifier | Encounter.identifier | EnrollmentRequest.identifier | EpisodeOfCare.identifier | ExplanationOfBenefit.identifier | FamilyMemberHistory.identifier | Flag.identifier | Goal.identifier | GuidanceResponse.identifier | ImagingSelection.identifier | ImagingStudy.identifier | Immunization.identifier | ImmunizationEvaluation.identifier | ImmunizationRecommendation.identifier | Invoice.identifier | List.identifier | MeasureReport.identifier | Medication.identifier | MedicationAdministration.identifier | MedicationDispense.identifier | MedicationRequest.identifier | MedicationStatement.identifier | MolecularSequence.identifier | NutritionIntake.identifier | NutritionOrder.identifier | Observation.identifier | Person.identifier | Procedure.identifier | QuestionnaireResponse.identifier | RelatedPerson.identifier | RequestOrchestration.identifier | ResearchSubject.identifier | RiskAssessment.identifier | ServiceRequest.identifier | Specimen.identifier | SupplyDelivery.identifier | SupplyRequest.identifier | Task.identifier | VisionPrescription.identifier</b><br> 12143 * </p> 12144 */ 12145 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 12146 12147 /** 12148 * Search parameter: <b>patient</b> 12149 * <p> 12150 * Description: <b>Multiple Resources: 12151 12152* [Account](account.html): The entity that caused the expenses 12153* [AdverseEvent](adverseevent.html): Subject impacted by event 12154* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 12155* [Appointment](appointment.html): One of the individuals of the appointment is this patient 12156* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 12157* [AuditEvent](auditevent.html): Where the activity involved patient data 12158* [Basic](basic.html): Identifies the focus of this resource 12159* [BodyStructure](bodystructure.html): Who this is about 12160* [CarePlan](careplan.html): Who the care plan is for 12161* [CareTeam](careteam.html): Who care team is for 12162* [ChargeItem](chargeitem.html): Individual service was done for/to 12163* [Claim](claim.html): Patient receiving the products or services 12164* [ClaimResponse](claimresponse.html): The subject of care 12165* [ClinicalImpression](clinicalimpression.html): Patient assessed 12166* [Communication](communication.html): Focus of message 12167* [CommunicationRequest](communicationrequest.html): Focus of message 12168* [Composition](composition.html): Who and/or what the composition is about 12169* [Condition](condition.html): Who has the condition? 12170* [Consent](consent.html): Who the consent applies to 12171* [Contract](contract.html): The identity of the subject of the contract (if a patient) 12172* [Coverage](coverage.html): Retrieve coverages for a patient 12173* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 12174* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 12175* [DetectedIssue](detectedissue.html): Associated patient 12176* [DeviceRequest](devicerequest.html): Individual the service is ordered for 12177* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 12178* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 12179* [DocumentReference](documentreference.html): Who/what is the subject of the document 12180* [Encounter](encounter.html): The patient present at the encounter 12181* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 12182* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 12183* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 12184* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 12185* [Flag](flag.html): The identity of a subject to list flags for 12186* [Goal](goal.html): Who this goal is intended for 12187* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 12188* [ImagingSelection](imagingselection.html): Who the study is about 12189* [ImagingStudy](imagingstudy.html): Who the study is about 12190* [Immunization](immunization.html): The patient for the vaccination record 12191* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 12192* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 12193* [Invoice](invoice.html): Recipient(s) of goods and services 12194* [List](list.html): If all resources have the same subject 12195* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 12196* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 12197* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 12198* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 12199* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 12200* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 12201* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 12202* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 12203* [Observation](observation.html): The subject that the observation is about (if patient) 12204* [Person](person.html): The Person links to this Patient 12205* [Procedure](procedure.html): Search by subject - a patient 12206* [Provenance](provenance.html): Where the activity involved patient data 12207* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 12208* [RelatedPerson](relatedperson.html): The patient this related person is related to 12209* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 12210* [ResearchSubject](researchsubject.html): Who or what is part of study 12211* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 12212* [ServiceRequest](servicerequest.html): Search by subject - a patient 12213* [Specimen](specimen.html): The patient the specimen comes from 12214* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 12215* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 12216* [Task](task.html): Search by patient 12217* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 12218</b><br> 12219 * Type: <b>reference</b><br> 12220 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 12221 * </p> 12222 */ 12223 @SearchParamDefinition(name="patient", path="Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [Account](account.html): The entity that caused the expenses\r\n* [AdverseEvent](adverseevent.html): Subject impacted by event\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [Appointment](appointment.html): One of the individuals of the appointment is this patient\r\n* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient\r\n* [AuditEvent](auditevent.html): Where the activity involved patient data\r\n* [Basic](basic.html): Identifies the focus of this resource\r\n* [BodyStructure](bodystructure.html): Who this is about\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ChargeItem](chargeitem.html): Individual service was done for/to\r\n* [Claim](claim.html): Patient receiving the products or services\r\n* [ClaimResponse](claimresponse.html): The subject of care\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Communication](communication.html): Focus of message\r\n* [CommunicationRequest](communicationrequest.html): Focus of message\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [Contract](contract.html): The identity of the subject of the contract (if a patient)\r\n* [Coverage](coverage.html): Retrieve coverages for a patient\r\n* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient\r\n* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results\r\n* [ImagingSelection](imagingselection.html): Who the study is about\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated\r\n* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for\r\n* [Invoice](invoice.html): Recipient(s) of goods and services\r\n* [List](list.html): If all resources have the same subject\r\n* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient.\r\n* [MolecularSequence](molecularsequence.html): The subject that the sequence is about\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Person](person.html): The Person links to this Patient\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [Provenance](provenance.html): Where the activity involved patient data\r\n* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response\r\n* [RelatedPerson](relatedperson.html): The patient this related person is related to\r\n* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations\r\n* [ResearchSubject](researchsubject.html): Who or what is part of study\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [Specimen](specimen.html): The patient the specimen comes from\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined\r\n* [Task](task.html): Search by patient\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) 12224 public static final String SP_PATIENT = "patient"; 12225 /** 12226 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 12227 * <p> 12228 * Description: <b>Multiple Resources: 12229 12230* [Account](account.html): The entity that caused the expenses 12231* [AdverseEvent](adverseevent.html): Subject impacted by event 12232* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 12233* [Appointment](appointment.html): One of the individuals of the appointment is this patient 12234* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 12235* [AuditEvent](auditevent.html): Where the activity involved patient data 12236* [Basic](basic.html): Identifies the focus of this resource 12237* [BodyStructure](bodystructure.html): Who this is about 12238* [CarePlan](careplan.html): Who the care plan is for 12239* [CareTeam](careteam.html): Who care team is for 12240* [ChargeItem](chargeitem.html): Individual service was done for/to 12241* [Claim](claim.html): Patient receiving the products or services 12242* [ClaimResponse](claimresponse.html): The subject of care 12243* [ClinicalImpression](clinicalimpression.html): Patient assessed 12244* [Communication](communication.html): Focus of message 12245* [CommunicationRequest](communicationrequest.html): Focus of message 12246* [Composition](composition.html): Who and/or what the composition is about 12247* [Condition](condition.html): Who has the condition? 12248* [Consent](consent.html): Who the consent applies to 12249* [Contract](contract.html): The identity of the subject of the contract (if a patient) 12250* [Coverage](coverage.html): Retrieve coverages for a patient 12251* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 12252* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 12253* [DetectedIssue](detectedissue.html): Associated patient 12254* [DeviceRequest](devicerequest.html): Individual the service is ordered for 12255* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 12256* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 12257* [DocumentReference](documentreference.html): Who/what is the subject of the document 12258* [Encounter](encounter.html): The patient present at the encounter 12259* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 12260* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 12261* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 12262* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 12263* [Flag](flag.html): The identity of a subject to list flags for 12264* [Goal](goal.html): Who this goal is intended for 12265* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 12266* [ImagingSelection](imagingselection.html): Who the study is about 12267* [ImagingStudy](imagingstudy.html): Who the study is about 12268* [Immunization](immunization.html): The patient for the vaccination record 12269* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 12270* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 12271* [Invoice](invoice.html): Recipient(s) of goods and services 12272* [List](list.html): If all resources have the same subject 12273* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 12274* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 12275* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 12276* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 12277* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 12278* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 12279* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 12280* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 12281* [Observation](observation.html): The subject that the observation is about (if patient) 12282* [Person](person.html): The Person links to this Patient 12283* [Procedure](procedure.html): Search by subject - a patient 12284* [Provenance](provenance.html): Where the activity involved patient data 12285* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 12286* [RelatedPerson](relatedperson.html): The patient this related person is related to 12287* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 12288* [ResearchSubject](researchsubject.html): Who or what is part of study 12289* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 12290* [ServiceRequest](servicerequest.html): Search by subject - a patient 12291* [Specimen](specimen.html): The patient the specimen comes from 12292* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 12293* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 12294* [Task](task.html): Search by patient 12295* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 12296</b><br> 12297 * Type: <b>reference</b><br> 12298 * Path: <b>Account.subject.where(resolve() is Patient) | AdverseEvent.subject.where(resolve() is Patient) | AllergyIntolerance.patient | Appointment.participant.actor.where(resolve() is Patient) | Appointment.subject.where(resolve() is Patient) | AppointmentResponse.actor.where(resolve() is Patient) | AuditEvent.patient | Basic.subject.where(resolve() is Patient) | BodyStructure.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ChargeItem.subject.where(resolve() is Patient) | Claim.patient | ClaimResponse.patient | ClinicalImpression.subject.where(resolve() is Patient) | Communication.subject.where(resolve() is Patient) | CommunicationRequest.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | Contract.subject.where(resolve() is Patient) | Coverage.beneficiary | CoverageEligibilityRequest.patient | CoverageEligibilityResponse.patient | DetectedIssue.subject.where(resolve() is Patient) | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EnrollmentRequest.candidate | EpisodeOfCare.patient | ExplanationOfBenefit.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | GuidanceResponse.subject.where(resolve() is Patient) | ImagingSelection.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | ImmunizationEvaluation.patient | ImmunizationRecommendation.patient | Invoice.subject.where(resolve() is Patient) | List.subject.where(resolve() is Patient) | MeasureReport.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationStatement.subject.where(resolve() is Patient) | MolecularSequence.subject.where(resolve() is Patient) | NutritionIntake.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Person.link.target.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | Provenance.patient | QuestionnaireResponse.subject.where(resolve() is Patient) | RelatedPerson.patient | RequestOrchestration.subject.where(resolve() is Patient) | ResearchSubject.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | Specimen.subject.where(resolve() is Patient) | SupplyDelivery.patient | SupplyRequest.deliverFor | Task.for.where(resolve() is Patient) | VisionPrescription.patient</b><br> 12299 * </p> 12300 */ 12301 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 12302 12303/** 12304 * Constant for fluent queries to be used to add include statements. Specifies 12305 * the path value of "<b>Contract:patient</b>". 12306 */ 12307 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Contract:patient").toLocked(); 12308 12309 12310} 12311