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 org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. 052 053The primary difference between a medicationstatement and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationstatement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. 054 */ 055@ResourceDef(name="MedicationStatement", profile="http://hl7.org/fhir/StructureDefinition/MedicationStatement") 056public class MedicationStatement extends DomainResource { 057 058 public enum MedicationStatementStatusCodes { 059 /** 060 * The action of recording the medication statement is finished. 061 */ 062 RECORDED, 063 /** 064 * Some of the actions that are implied by the medication usage may have occurred. For example, the patient may have taken some of the medication. Clinical decision support systems should take this status into account. 065 */ 066 ENTEREDINERROR, 067 /** 068 * The medication usage is draft or preliminary. 069 */ 070 DRAFT, 071 /** 072 * added to help the parsers with the generic types 073 */ 074 NULL; 075 public static MedicationStatementStatusCodes fromCode(String codeString) throws FHIRException { 076 if (codeString == null || "".equals(codeString)) 077 return null; 078 if ("recorded".equals(codeString)) 079 return RECORDED; 080 if ("entered-in-error".equals(codeString)) 081 return ENTEREDINERROR; 082 if ("draft".equals(codeString)) 083 return DRAFT; 084 if (Configuration.isAcceptInvalidEnums()) 085 return null; 086 else 087 throw new FHIRException("Unknown MedicationStatementStatusCodes code '"+codeString+"'"); 088 } 089 public String toCode() { 090 switch (this) { 091 case RECORDED: return "recorded"; 092 case ENTEREDINERROR: return "entered-in-error"; 093 case DRAFT: return "draft"; 094 case NULL: return null; 095 default: return "?"; 096 } 097 } 098 public String getSystem() { 099 switch (this) { 100 case RECORDED: return "http://hl7.org/fhir/CodeSystem/medication-statement-status"; 101 case ENTEREDINERROR: return "http://hl7.org/fhir/CodeSystem/medication-statement-status"; 102 case DRAFT: return "http://hl7.org/fhir/CodeSystem/medication-statement-status"; 103 case NULL: return null; 104 default: return "?"; 105 } 106 } 107 public String getDefinition() { 108 switch (this) { 109 case RECORDED: return "The action of recording the medication statement is finished."; 110 case ENTEREDINERROR: return "Some of the actions that are implied by the medication usage may have occurred. For example, the patient may have taken some of the medication. Clinical decision support systems should take this status into account."; 111 case DRAFT: return "The medication usage is draft or preliminary."; 112 case NULL: return null; 113 default: return "?"; 114 } 115 } 116 public String getDisplay() { 117 switch (this) { 118 case RECORDED: return "Recorded"; 119 case ENTEREDINERROR: return "Entered in Error"; 120 case DRAFT: return "Draft"; 121 case NULL: return null; 122 default: return "?"; 123 } 124 } 125 } 126 127 public static class MedicationStatementStatusCodesEnumFactory implements EnumFactory<MedicationStatementStatusCodes> { 128 public MedicationStatementStatusCodes fromCode(String codeString) throws IllegalArgumentException { 129 if (codeString == null || "".equals(codeString)) 130 if (codeString == null || "".equals(codeString)) 131 return null; 132 if ("recorded".equals(codeString)) 133 return MedicationStatementStatusCodes.RECORDED; 134 if ("entered-in-error".equals(codeString)) 135 return MedicationStatementStatusCodes.ENTEREDINERROR; 136 if ("draft".equals(codeString)) 137 return MedicationStatementStatusCodes.DRAFT; 138 throw new IllegalArgumentException("Unknown MedicationStatementStatusCodes code '"+codeString+"'"); 139 } 140 public Enumeration<MedicationStatementStatusCodes> fromType(PrimitiveType<?> code) throws FHIRException { 141 if (code == null) 142 return null; 143 if (code.isEmpty()) 144 return new Enumeration<MedicationStatementStatusCodes>(this, MedicationStatementStatusCodes.NULL, code); 145 String codeString = ((PrimitiveType) code).asStringValue(); 146 if (codeString == null || "".equals(codeString)) 147 return new Enumeration<MedicationStatementStatusCodes>(this, MedicationStatementStatusCodes.NULL, code); 148 if ("recorded".equals(codeString)) 149 return new Enumeration<MedicationStatementStatusCodes>(this, MedicationStatementStatusCodes.RECORDED, code); 150 if ("entered-in-error".equals(codeString)) 151 return new Enumeration<MedicationStatementStatusCodes>(this, MedicationStatementStatusCodes.ENTEREDINERROR, code); 152 if ("draft".equals(codeString)) 153 return new Enumeration<MedicationStatementStatusCodes>(this, MedicationStatementStatusCodes.DRAFT, code); 154 throw new FHIRException("Unknown MedicationStatementStatusCodes code '"+codeString+"'"); 155 } 156 public String toCode(MedicationStatementStatusCodes code) { 157 if (code == MedicationStatementStatusCodes.RECORDED) 158 return "recorded"; 159 if (code == MedicationStatementStatusCodes.ENTEREDINERROR) 160 return "entered-in-error"; 161 if (code == MedicationStatementStatusCodes.DRAFT) 162 return "draft"; 163 return "?"; 164 } 165 public String toSystem(MedicationStatementStatusCodes code) { 166 return code.getSystem(); 167 } 168 } 169 170 @Block() 171 public static class MedicationStatementAdherenceComponent extends BackboneElement implements IBaseBackboneElement { 172 /** 173 * Type of the adherence for the medication. 174 */ 175 @Child(name = "code", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) 176 @Description(shortDefinition="Type of adherence", formalDefinition="Type of the adherence for the medication." ) 177 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-statement-adherence") 178 protected CodeableConcept code; 179 180 /** 181 * Captures the reason for the current use or adherence of a medication. 182 */ 183 @Child(name = "reason", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) 184 @Description(shortDefinition="Details of the reason for the current use of the medication", formalDefinition="Captures the reason for the current use or adherence of a medication." ) 185 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/reason-medication-status-codes") 186 protected CodeableConcept reason; 187 188 private static final long serialVersionUID = -1479626679L; 189 190 /** 191 * Constructor 192 */ 193 public MedicationStatementAdherenceComponent() { 194 super(); 195 } 196 197 /** 198 * Constructor 199 */ 200 public MedicationStatementAdherenceComponent(CodeableConcept code) { 201 super(); 202 this.setCode(code); 203 } 204 205 /** 206 * @return {@link #code} (Type of the adherence for the medication.) 207 */ 208 public CodeableConcept getCode() { 209 if (this.code == null) 210 if (Configuration.errorOnAutoCreate()) 211 throw new Error("Attempt to auto-create MedicationStatementAdherenceComponent.code"); 212 else if (Configuration.doAutoCreate()) 213 this.code = new CodeableConcept(); // cc 214 return this.code; 215 } 216 217 public boolean hasCode() { 218 return this.code != null && !this.code.isEmpty(); 219 } 220 221 /** 222 * @param value {@link #code} (Type of the adherence for the medication.) 223 */ 224 public MedicationStatementAdherenceComponent setCode(CodeableConcept value) { 225 this.code = value; 226 return this; 227 } 228 229 /** 230 * @return {@link #reason} (Captures the reason for the current use or adherence of a medication.) 231 */ 232 public CodeableConcept getReason() { 233 if (this.reason == null) 234 if (Configuration.errorOnAutoCreate()) 235 throw new Error("Attempt to auto-create MedicationStatementAdherenceComponent.reason"); 236 else if (Configuration.doAutoCreate()) 237 this.reason = new CodeableConcept(); // cc 238 return this.reason; 239 } 240 241 public boolean hasReason() { 242 return this.reason != null && !this.reason.isEmpty(); 243 } 244 245 /** 246 * @param value {@link #reason} (Captures the reason for the current use or adherence of a medication.) 247 */ 248 public MedicationStatementAdherenceComponent setReason(CodeableConcept value) { 249 this.reason = value; 250 return this; 251 } 252 253 protected void listChildren(List<Property> children) { 254 super.listChildren(children); 255 children.add(new Property("code", "CodeableConcept", "Type of the adherence for the medication.", 0, 1, code)); 256 children.add(new Property("reason", "CodeableConcept", "Captures the reason for the current use or adherence of a medication.", 0, 1, reason)); 257 } 258 259 @Override 260 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 261 switch (_hash) { 262 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Type of the adherence for the medication.", 0, 1, code); 263 case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Captures the reason for the current use or adherence of a medication.", 0, 1, reason); 264 default: return super.getNamedProperty(_hash, _name, _checkValid); 265 } 266 267 } 268 269 @Override 270 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 271 switch (hash) { 272 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept 273 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // CodeableConcept 274 default: return super.getProperty(hash, name, checkValid); 275 } 276 277 } 278 279 @Override 280 public Base setProperty(int hash, String name, Base value) throws FHIRException { 281 switch (hash) { 282 case 3059181: // code 283 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 284 return value; 285 case -934964668: // reason 286 this.reason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 287 return value; 288 default: return super.setProperty(hash, name, value); 289 } 290 291 } 292 293 @Override 294 public Base setProperty(String name, Base value) throws FHIRException { 295 if (name.equals("code")) { 296 this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 297 } else if (name.equals("reason")) { 298 this.reason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept 299 } else 300 return super.setProperty(name, value); 301 return value; 302 } 303 304 @Override 305 public void removeChild(String name, Base value) throws FHIRException { 306 if (name.equals("code")) { 307 this.code = null; 308 } else if (name.equals("reason")) { 309 this.reason = null; 310 } else 311 super.removeChild(name, value); 312 313 } 314 315 @Override 316 public Base makeProperty(int hash, String name) throws FHIRException { 317 switch (hash) { 318 case 3059181: return getCode(); 319 case -934964668: return getReason(); 320 default: return super.makeProperty(hash, name); 321 } 322 323 } 324 325 @Override 326 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 327 switch (hash) { 328 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 329 case -934964668: /*reason*/ return new String[] {"CodeableConcept"}; 330 default: return super.getTypesForProperty(hash, name); 331 } 332 333 } 334 335 @Override 336 public Base addChild(String name) throws FHIRException { 337 if (name.equals("code")) { 338 this.code = new CodeableConcept(); 339 return this.code; 340 } 341 else if (name.equals("reason")) { 342 this.reason = new CodeableConcept(); 343 return this.reason; 344 } 345 else 346 return super.addChild(name); 347 } 348 349 public MedicationStatementAdherenceComponent copy() { 350 MedicationStatementAdherenceComponent dst = new MedicationStatementAdherenceComponent(); 351 copyValues(dst); 352 return dst; 353 } 354 355 public void copyValues(MedicationStatementAdherenceComponent dst) { 356 super.copyValues(dst); 357 dst.code = code == null ? null : code.copy(); 358 dst.reason = reason == null ? null : reason.copy(); 359 } 360 361 @Override 362 public boolean equalsDeep(Base other_) { 363 if (!super.equalsDeep(other_)) 364 return false; 365 if (!(other_ instanceof MedicationStatementAdherenceComponent)) 366 return false; 367 MedicationStatementAdherenceComponent o = (MedicationStatementAdherenceComponent) other_; 368 return compareDeep(code, o.code, true) && compareDeep(reason, o.reason, true); 369 } 370 371 @Override 372 public boolean equalsShallow(Base other_) { 373 if (!super.equalsShallow(other_)) 374 return false; 375 if (!(other_ instanceof MedicationStatementAdherenceComponent)) 376 return false; 377 MedicationStatementAdherenceComponent o = (MedicationStatementAdherenceComponent) other_; 378 return true; 379 } 380 381 public boolean isEmpty() { 382 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, reason); 383 } 384 385 public String fhirType() { 386 return "MedicationStatement.adherence"; 387 388 } 389 390 } 391 392 /** 393 * Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server. 394 */ 395 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 396 @Description(shortDefinition="External identifier", formalDefinition="Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server." ) 397 protected List<Identifier> identifier; 398 399 /** 400 * A larger event of which this particular MedicationStatement is a component or step. 401 */ 402 @Child(name = "partOf", type = {Procedure.class, MedicationStatement.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 403 @Description(shortDefinition="Part of referenced event", formalDefinition="A larger event of which this particular MedicationStatement is a component or step." ) 404 protected List<Reference> partOf; 405 406 /** 407 * A code representing the status of recording the medication statement. 408 */ 409 @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) 410 @Description(shortDefinition="recorded | entered-in-error | draft", formalDefinition="A code representing the status of recording the medication statement." ) 411 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-statement-status") 412 protected Enumeration<MedicationStatementStatusCodes> status; 413 414 /** 415 * Type of medication statement (for example, drug classification like ATC, where meds would be administered, legal category of the medication.). 416 */ 417 @Child(name = "category", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 418 @Description(shortDefinition="Type of medication statement", formalDefinition="Type of medication statement (for example, drug classification like ATC, where meds would be administered, legal category of the medication.)." ) 419 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-admin-location") 420 protected List<CodeableConcept> category; 421 422 /** 423 * Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. 424 */ 425 @Child(name = "medication", type = {CodeableReference.class}, order=4, min=1, max=1, modifier=false, summary=true) 426 @Description(shortDefinition="What medication was taken", formalDefinition="Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications." ) 427 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") 428 protected CodeableReference medication; 429 430 /** 431 * The person, animal or group who is/was taking the medication. 432 */ 433 @Child(name = "subject", type = {Patient.class, Group.class}, order=5, min=1, max=1, modifier=false, summary=true) 434 @Description(shortDefinition="Who is/was taking the medication", formalDefinition="The person, animal or group who is/was taking the medication." ) 435 protected Reference subject; 436 437 /** 438 * The encounter that establishes the context for this MedicationStatement. 439 */ 440 @Child(name = "encounter", type = {Encounter.class}, order=6, min=0, max=1, modifier=false, summary=true) 441 @Description(shortDefinition="Encounter associated with MedicationStatement", formalDefinition="The encounter that establishes the context for this MedicationStatement." ) 442 protected Reference encounter; 443 444 /** 445 * The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking). 446 */ 447 @Child(name = "effective", type = {DateTimeType.class, Period.class, Timing.class}, order=7, min=0, max=1, modifier=false, summary=true) 448 @Description(shortDefinition="The date/time or interval when the medication is/was/will be taken", formalDefinition="The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking)." ) 449 protected DataType effective; 450 451 /** 452 * The date when the Medication Statement was asserted by the information source. 453 */ 454 @Child(name = "dateAsserted", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 455 @Description(shortDefinition="When the usage was asserted?", formalDefinition="The date when the Medication Statement was asserted by the information source." ) 456 protected DateTimeType dateAsserted; 457 458 /** 459 * The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest. 460 */ 461 @Child(name = "informationSource", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Organization.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 462 @Description(shortDefinition="Person or organization that provided the information about the taking of this medication", formalDefinition="The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest." ) 463 protected List<Reference> informationSource; 464 465 /** 466 * Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement. 467 */ 468 @Child(name = "derivedFrom", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 469 @Description(shortDefinition="Link to information used to derive the MedicationStatement", formalDefinition="Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement." ) 470 protected List<Reference> derivedFrom; 471 472 /** 473 * A concept, Condition or observation that supports why the medication is being/was taken. 474 */ 475 @Child(name = "reason", type = {CodeableReference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 476 @Description(shortDefinition="Reason for why the medication is being/was taken", formalDefinition="A concept, Condition or observation that supports why the medication is being/was taken." ) 477 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") 478 protected List<CodeableReference> reason; 479 480 /** 481 * Provides extra information about the Medication Statement that is not conveyed by the other attributes. 482 */ 483 @Child(name = "note", type = {Annotation.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 484 @Description(shortDefinition="Further information about the usage", formalDefinition="Provides extra information about the Medication Statement that is not conveyed by the other attributes." ) 485 protected List<Annotation> note; 486 487 /** 488 * Link to information that is relevant to a medication statement, for example, illicit drug use, gestational age, etc. 489 */ 490 @Child(name = "relatedClinicalInformation", type = {Observation.class, Condition.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 491 @Description(shortDefinition="Link to information relevant to the usage of a medication", formalDefinition="Link to information that is relevant to a medication statement, for example, illicit drug use, gestational age, etc." ) 492 protected List<Reference> relatedClinicalInformation; 493 494 /** 495 * The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses. 496 */ 497 @Child(name = "renderedDosageInstruction", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 498 @Description(shortDefinition="Full representation of the dosage instructions", formalDefinition="The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses." ) 499 protected MarkdownType renderedDosageInstruction; 500 501 /** 502 * Indicates how the medication is/was or should be taken by the patient. 503 */ 504 @Child(name = "dosage", type = {Dosage.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 505 @Description(shortDefinition="Details of how medication is/was taken or should be taken", formalDefinition="Indicates how the medication is/was or should be taken by the patient." ) 506 protected List<Dosage> dosage; 507 508 /** 509 * Indicates whether the medication is or is not being consumed or administered. 510 */ 511 @Child(name = "adherence", type = {}, order=16, min=0, max=1, modifier=false, summary=true) 512 @Description(shortDefinition="Indicates whether the medication is or is not being consumed or administered", formalDefinition="Indicates whether the medication is or is not being consumed or administered." ) 513 protected MedicationStatementAdherenceComponent adherence; 514 515 private static final long serialVersionUID = -1043616866L; 516 517 /** 518 * Constructor 519 */ 520 public MedicationStatement() { 521 super(); 522 } 523 524 /** 525 * Constructor 526 */ 527 public MedicationStatement(MedicationStatementStatusCodes status, CodeableReference medication, Reference subject) { 528 super(); 529 this.setStatus(status); 530 this.setMedication(medication); 531 this.setSubject(subject); 532 } 533 534 /** 535 * @return {@link #identifier} (Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.) 536 */ 537 public List<Identifier> getIdentifier() { 538 if (this.identifier == null) 539 this.identifier = new ArrayList<Identifier>(); 540 return this.identifier; 541 } 542 543 /** 544 * @return Returns a reference to <code>this</code> for easy method chaining 545 */ 546 public MedicationStatement setIdentifier(List<Identifier> theIdentifier) { 547 this.identifier = theIdentifier; 548 return this; 549 } 550 551 public boolean hasIdentifier() { 552 if (this.identifier == null) 553 return false; 554 for (Identifier item : this.identifier) 555 if (!item.isEmpty()) 556 return true; 557 return false; 558 } 559 560 public Identifier addIdentifier() { //3 561 Identifier t = new Identifier(); 562 if (this.identifier == null) 563 this.identifier = new ArrayList<Identifier>(); 564 this.identifier.add(t); 565 return t; 566 } 567 568 public MedicationStatement addIdentifier(Identifier t) { //3 569 if (t == null) 570 return this; 571 if (this.identifier == null) 572 this.identifier = new ArrayList<Identifier>(); 573 this.identifier.add(t); 574 return this; 575 } 576 577 /** 578 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 579 */ 580 public Identifier getIdentifierFirstRep() { 581 if (getIdentifier().isEmpty()) { 582 addIdentifier(); 583 } 584 return getIdentifier().get(0); 585 } 586 587 /** 588 * @return {@link #partOf} (A larger event of which this particular MedicationStatement is a component or step.) 589 */ 590 public List<Reference> getPartOf() { 591 if (this.partOf == null) 592 this.partOf = new ArrayList<Reference>(); 593 return this.partOf; 594 } 595 596 /** 597 * @return Returns a reference to <code>this</code> for easy method chaining 598 */ 599 public MedicationStatement setPartOf(List<Reference> thePartOf) { 600 this.partOf = thePartOf; 601 return this; 602 } 603 604 public boolean hasPartOf() { 605 if (this.partOf == null) 606 return false; 607 for (Reference item : this.partOf) 608 if (!item.isEmpty()) 609 return true; 610 return false; 611 } 612 613 public Reference addPartOf() { //3 614 Reference t = new Reference(); 615 if (this.partOf == null) 616 this.partOf = new ArrayList<Reference>(); 617 this.partOf.add(t); 618 return t; 619 } 620 621 public MedicationStatement addPartOf(Reference t) { //3 622 if (t == null) 623 return this; 624 if (this.partOf == null) 625 this.partOf = new ArrayList<Reference>(); 626 this.partOf.add(t); 627 return this; 628 } 629 630 /** 631 * @return The first repetition of repeating field {@link #partOf}, creating it if it does not already exist {3} 632 */ 633 public Reference getPartOfFirstRep() { 634 if (getPartOf().isEmpty()) { 635 addPartOf(); 636 } 637 return getPartOf().get(0); 638 } 639 640 /** 641 * @return {@link #status} (A code representing the status of recording the medication statement.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 642 */ 643 public Enumeration<MedicationStatementStatusCodes> getStatusElement() { 644 if (this.status == null) 645 if (Configuration.errorOnAutoCreate()) 646 throw new Error("Attempt to auto-create MedicationStatement.status"); 647 else if (Configuration.doAutoCreate()) 648 this.status = new Enumeration<MedicationStatementStatusCodes>(new MedicationStatementStatusCodesEnumFactory()); // bb 649 return this.status; 650 } 651 652 public boolean hasStatusElement() { 653 return this.status != null && !this.status.isEmpty(); 654 } 655 656 public boolean hasStatus() { 657 return this.status != null && !this.status.isEmpty(); 658 } 659 660 /** 661 * @param value {@link #status} (A code representing the status of recording the medication statement.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 662 */ 663 public MedicationStatement setStatusElement(Enumeration<MedicationStatementStatusCodes> value) { 664 this.status = value; 665 return this; 666 } 667 668 /** 669 * @return A code representing the status of recording the medication statement. 670 */ 671 public MedicationStatementStatusCodes getStatus() { 672 return this.status == null ? null : this.status.getValue(); 673 } 674 675 /** 676 * @param value A code representing the status of recording the medication statement. 677 */ 678 public MedicationStatement setStatus(MedicationStatementStatusCodes value) { 679 if (this.status == null) 680 this.status = new Enumeration<MedicationStatementStatusCodes>(new MedicationStatementStatusCodesEnumFactory()); 681 this.status.setValue(value); 682 return this; 683 } 684 685 /** 686 * @return {@link #category} (Type of medication statement (for example, drug classification like ATC, where meds would be administered, legal category of the medication.).) 687 */ 688 public List<CodeableConcept> getCategory() { 689 if (this.category == null) 690 this.category = new ArrayList<CodeableConcept>(); 691 return this.category; 692 } 693 694 /** 695 * @return Returns a reference to <code>this</code> for easy method chaining 696 */ 697 public MedicationStatement setCategory(List<CodeableConcept> theCategory) { 698 this.category = theCategory; 699 return this; 700 } 701 702 public boolean hasCategory() { 703 if (this.category == null) 704 return false; 705 for (CodeableConcept item : this.category) 706 if (!item.isEmpty()) 707 return true; 708 return false; 709 } 710 711 public CodeableConcept addCategory() { //3 712 CodeableConcept t = new CodeableConcept(); 713 if (this.category == null) 714 this.category = new ArrayList<CodeableConcept>(); 715 this.category.add(t); 716 return t; 717 } 718 719 public MedicationStatement addCategory(CodeableConcept t) { //3 720 if (t == null) 721 return this; 722 if (this.category == null) 723 this.category = new ArrayList<CodeableConcept>(); 724 this.category.add(t); 725 return this; 726 } 727 728 /** 729 * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} 730 */ 731 public CodeableConcept getCategoryFirstRep() { 732 if (getCategory().isEmpty()) { 733 addCategory(); 734 } 735 return getCategory().get(0); 736 } 737 738 /** 739 * @return {@link #medication} (Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.) 740 */ 741 public CodeableReference getMedication() { 742 if (this.medication == null) 743 if (Configuration.errorOnAutoCreate()) 744 throw new Error("Attempt to auto-create MedicationStatement.medication"); 745 else if (Configuration.doAutoCreate()) 746 this.medication = new CodeableReference(); // cc 747 return this.medication; 748 } 749 750 public boolean hasMedication() { 751 return this.medication != null && !this.medication.isEmpty(); 752 } 753 754 /** 755 * @param value {@link #medication} (Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.) 756 */ 757 public MedicationStatement setMedication(CodeableReference value) { 758 this.medication = value; 759 return this; 760 } 761 762 /** 763 * @return {@link #subject} (The person, animal or group who is/was taking the medication.) 764 */ 765 public Reference getSubject() { 766 if (this.subject == null) 767 if (Configuration.errorOnAutoCreate()) 768 throw new Error("Attempt to auto-create MedicationStatement.subject"); 769 else if (Configuration.doAutoCreate()) 770 this.subject = new Reference(); // cc 771 return this.subject; 772 } 773 774 public boolean hasSubject() { 775 return this.subject != null && !this.subject.isEmpty(); 776 } 777 778 /** 779 * @param value {@link #subject} (The person, animal or group who is/was taking the medication.) 780 */ 781 public MedicationStatement setSubject(Reference value) { 782 this.subject = value; 783 return this; 784 } 785 786 /** 787 * @return {@link #encounter} (The encounter that establishes the context for this MedicationStatement.) 788 */ 789 public Reference getEncounter() { 790 if (this.encounter == null) 791 if (Configuration.errorOnAutoCreate()) 792 throw new Error("Attempt to auto-create MedicationStatement.encounter"); 793 else if (Configuration.doAutoCreate()) 794 this.encounter = new Reference(); // cc 795 return this.encounter; 796 } 797 798 public boolean hasEncounter() { 799 return this.encounter != null && !this.encounter.isEmpty(); 800 } 801 802 /** 803 * @param value {@link #encounter} (The encounter that establishes the context for this MedicationStatement.) 804 */ 805 public MedicationStatement setEncounter(Reference value) { 806 this.encounter = value; 807 return this; 808 } 809 810 /** 811 * @return {@link #effective} (The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).) 812 */ 813 public DataType getEffective() { 814 return this.effective; 815 } 816 817 /** 818 * @return {@link #effective} (The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).) 819 */ 820 public DateTimeType getEffectiveDateTimeType() throws FHIRException { 821 if (this.effective == null) 822 this.effective = new DateTimeType(); 823 if (!(this.effective instanceof DateTimeType)) 824 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.effective.getClass().getName()+" was encountered"); 825 return (DateTimeType) this.effective; 826 } 827 828 public boolean hasEffectiveDateTimeType() { 829 return this != null && this.effective instanceof DateTimeType; 830 } 831 832 /** 833 * @return {@link #effective} (The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).) 834 */ 835 public Period getEffectivePeriod() throws FHIRException { 836 if (this.effective == null) 837 this.effective = new Period(); 838 if (!(this.effective instanceof Period)) 839 throw new FHIRException("Type mismatch: the type Period was expected, but "+this.effective.getClass().getName()+" was encountered"); 840 return (Period) this.effective; 841 } 842 843 public boolean hasEffectivePeriod() { 844 return this != null && this.effective instanceof Period; 845 } 846 847 /** 848 * @return {@link #effective} (The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).) 849 */ 850 public Timing getEffectiveTiming() throws FHIRException { 851 if (this.effective == null) 852 this.effective = new Timing(); 853 if (!(this.effective instanceof Timing)) 854 throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.effective.getClass().getName()+" was encountered"); 855 return (Timing) this.effective; 856 } 857 858 public boolean hasEffectiveTiming() { 859 return this != null && this.effective instanceof Timing; 860 } 861 862 public boolean hasEffective() { 863 return this.effective != null && !this.effective.isEmpty(); 864 } 865 866 /** 867 * @param value {@link #effective} (The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).) 868 */ 869 public MedicationStatement setEffective(DataType value) { 870 if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Timing)) 871 throw new FHIRException("Not the right type for MedicationStatement.effective[x]: "+value.fhirType()); 872 this.effective = value; 873 return this; 874 } 875 876 /** 877 * @return {@link #dateAsserted} (The date when the Medication Statement was asserted by the information source.). This is the underlying object with id, value and extensions. The accessor "getDateAsserted" gives direct access to the value 878 */ 879 public DateTimeType getDateAssertedElement() { 880 if (this.dateAsserted == null) 881 if (Configuration.errorOnAutoCreate()) 882 throw new Error("Attempt to auto-create MedicationStatement.dateAsserted"); 883 else if (Configuration.doAutoCreate()) 884 this.dateAsserted = new DateTimeType(); // bb 885 return this.dateAsserted; 886 } 887 888 public boolean hasDateAssertedElement() { 889 return this.dateAsserted != null && !this.dateAsserted.isEmpty(); 890 } 891 892 public boolean hasDateAsserted() { 893 return this.dateAsserted != null && !this.dateAsserted.isEmpty(); 894 } 895 896 /** 897 * @param value {@link #dateAsserted} (The date when the Medication Statement was asserted by the information source.). This is the underlying object with id, value and extensions. The accessor "getDateAsserted" gives direct access to the value 898 */ 899 public MedicationStatement setDateAssertedElement(DateTimeType value) { 900 this.dateAsserted = value; 901 return this; 902 } 903 904 /** 905 * @return The date when the Medication Statement was asserted by the information source. 906 */ 907 public Date getDateAsserted() { 908 return this.dateAsserted == null ? null : this.dateAsserted.getValue(); 909 } 910 911 /** 912 * @param value The date when the Medication Statement was asserted by the information source. 913 */ 914 public MedicationStatement setDateAsserted(Date value) { 915 if (value == null) 916 this.dateAsserted = null; 917 else { 918 if (this.dateAsserted == null) 919 this.dateAsserted = new DateTimeType(); 920 this.dateAsserted.setValue(value); 921 } 922 return this; 923 } 924 925 /** 926 * @return {@link #informationSource} (The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.) 927 */ 928 public List<Reference> getInformationSource() { 929 if (this.informationSource == null) 930 this.informationSource = new ArrayList<Reference>(); 931 return this.informationSource; 932 } 933 934 /** 935 * @return Returns a reference to <code>this</code> for easy method chaining 936 */ 937 public MedicationStatement setInformationSource(List<Reference> theInformationSource) { 938 this.informationSource = theInformationSource; 939 return this; 940 } 941 942 public boolean hasInformationSource() { 943 if (this.informationSource == null) 944 return false; 945 for (Reference item : this.informationSource) 946 if (!item.isEmpty()) 947 return true; 948 return false; 949 } 950 951 public Reference addInformationSource() { //3 952 Reference t = new Reference(); 953 if (this.informationSource == null) 954 this.informationSource = new ArrayList<Reference>(); 955 this.informationSource.add(t); 956 return t; 957 } 958 959 public MedicationStatement addInformationSource(Reference t) { //3 960 if (t == null) 961 return this; 962 if (this.informationSource == null) 963 this.informationSource = new ArrayList<Reference>(); 964 this.informationSource.add(t); 965 return this; 966 } 967 968 /** 969 * @return The first repetition of repeating field {@link #informationSource}, creating it if it does not already exist {3} 970 */ 971 public Reference getInformationSourceFirstRep() { 972 if (getInformationSource().isEmpty()) { 973 addInformationSource(); 974 } 975 return getInformationSource().get(0); 976 } 977 978 /** 979 * @return {@link #derivedFrom} (Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.) 980 */ 981 public List<Reference> getDerivedFrom() { 982 if (this.derivedFrom == null) 983 this.derivedFrom = new ArrayList<Reference>(); 984 return this.derivedFrom; 985 } 986 987 /** 988 * @return Returns a reference to <code>this</code> for easy method chaining 989 */ 990 public MedicationStatement setDerivedFrom(List<Reference> theDerivedFrom) { 991 this.derivedFrom = theDerivedFrom; 992 return this; 993 } 994 995 public boolean hasDerivedFrom() { 996 if (this.derivedFrom == null) 997 return false; 998 for (Reference item : this.derivedFrom) 999 if (!item.isEmpty()) 1000 return true; 1001 return false; 1002 } 1003 1004 public Reference addDerivedFrom() { //3 1005 Reference t = new Reference(); 1006 if (this.derivedFrom == null) 1007 this.derivedFrom = new ArrayList<Reference>(); 1008 this.derivedFrom.add(t); 1009 return t; 1010 } 1011 1012 public MedicationStatement addDerivedFrom(Reference t) { //3 1013 if (t == null) 1014 return this; 1015 if (this.derivedFrom == null) 1016 this.derivedFrom = new ArrayList<Reference>(); 1017 this.derivedFrom.add(t); 1018 return this; 1019 } 1020 1021 /** 1022 * @return The first repetition of repeating field {@link #derivedFrom}, creating it if it does not already exist {3} 1023 */ 1024 public Reference getDerivedFromFirstRep() { 1025 if (getDerivedFrom().isEmpty()) { 1026 addDerivedFrom(); 1027 } 1028 return getDerivedFrom().get(0); 1029 } 1030 1031 /** 1032 * @return {@link #reason} (A concept, Condition or observation that supports why the medication is being/was taken.) 1033 */ 1034 public List<CodeableReference> getReason() { 1035 if (this.reason == null) 1036 this.reason = new ArrayList<CodeableReference>(); 1037 return this.reason; 1038 } 1039 1040 /** 1041 * @return Returns a reference to <code>this</code> for easy method chaining 1042 */ 1043 public MedicationStatement setReason(List<CodeableReference> theReason) { 1044 this.reason = theReason; 1045 return this; 1046 } 1047 1048 public boolean hasReason() { 1049 if (this.reason == null) 1050 return false; 1051 for (CodeableReference item : this.reason) 1052 if (!item.isEmpty()) 1053 return true; 1054 return false; 1055 } 1056 1057 public CodeableReference addReason() { //3 1058 CodeableReference t = new CodeableReference(); 1059 if (this.reason == null) 1060 this.reason = new ArrayList<CodeableReference>(); 1061 this.reason.add(t); 1062 return t; 1063 } 1064 1065 public MedicationStatement addReason(CodeableReference t) { //3 1066 if (t == null) 1067 return this; 1068 if (this.reason == null) 1069 this.reason = new ArrayList<CodeableReference>(); 1070 this.reason.add(t); 1071 return this; 1072 } 1073 1074 /** 1075 * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} 1076 */ 1077 public CodeableReference getReasonFirstRep() { 1078 if (getReason().isEmpty()) { 1079 addReason(); 1080 } 1081 return getReason().get(0); 1082 } 1083 1084 /** 1085 * @return {@link #note} (Provides extra information about the Medication Statement that is not conveyed by the other attributes.) 1086 */ 1087 public List<Annotation> getNote() { 1088 if (this.note == null) 1089 this.note = new ArrayList<Annotation>(); 1090 return this.note; 1091 } 1092 1093 /** 1094 * @return Returns a reference to <code>this</code> for easy method chaining 1095 */ 1096 public MedicationStatement setNote(List<Annotation> theNote) { 1097 this.note = theNote; 1098 return this; 1099 } 1100 1101 public boolean hasNote() { 1102 if (this.note == null) 1103 return false; 1104 for (Annotation item : this.note) 1105 if (!item.isEmpty()) 1106 return true; 1107 return false; 1108 } 1109 1110 public Annotation addNote() { //3 1111 Annotation t = new Annotation(); 1112 if (this.note == null) 1113 this.note = new ArrayList<Annotation>(); 1114 this.note.add(t); 1115 return t; 1116 } 1117 1118 public MedicationStatement addNote(Annotation t) { //3 1119 if (t == null) 1120 return this; 1121 if (this.note == null) 1122 this.note = new ArrayList<Annotation>(); 1123 this.note.add(t); 1124 return this; 1125 } 1126 1127 /** 1128 * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} 1129 */ 1130 public Annotation getNoteFirstRep() { 1131 if (getNote().isEmpty()) { 1132 addNote(); 1133 } 1134 return getNote().get(0); 1135 } 1136 1137 /** 1138 * @return {@link #relatedClinicalInformation} (Link to information that is relevant to a medication statement, for example, illicit drug use, gestational age, etc.) 1139 */ 1140 public List<Reference> getRelatedClinicalInformation() { 1141 if (this.relatedClinicalInformation == null) 1142 this.relatedClinicalInformation = new ArrayList<Reference>(); 1143 return this.relatedClinicalInformation; 1144 } 1145 1146 /** 1147 * @return Returns a reference to <code>this</code> for easy method chaining 1148 */ 1149 public MedicationStatement setRelatedClinicalInformation(List<Reference> theRelatedClinicalInformation) { 1150 this.relatedClinicalInformation = theRelatedClinicalInformation; 1151 return this; 1152 } 1153 1154 public boolean hasRelatedClinicalInformation() { 1155 if (this.relatedClinicalInformation == null) 1156 return false; 1157 for (Reference item : this.relatedClinicalInformation) 1158 if (!item.isEmpty()) 1159 return true; 1160 return false; 1161 } 1162 1163 public Reference addRelatedClinicalInformation() { //3 1164 Reference t = new Reference(); 1165 if (this.relatedClinicalInformation == null) 1166 this.relatedClinicalInformation = new ArrayList<Reference>(); 1167 this.relatedClinicalInformation.add(t); 1168 return t; 1169 } 1170 1171 public MedicationStatement addRelatedClinicalInformation(Reference t) { //3 1172 if (t == null) 1173 return this; 1174 if (this.relatedClinicalInformation == null) 1175 this.relatedClinicalInformation = new ArrayList<Reference>(); 1176 this.relatedClinicalInformation.add(t); 1177 return this; 1178 } 1179 1180 /** 1181 * @return The first repetition of repeating field {@link #relatedClinicalInformation}, creating it if it does not already exist {3} 1182 */ 1183 public Reference getRelatedClinicalInformationFirstRep() { 1184 if (getRelatedClinicalInformation().isEmpty()) { 1185 addRelatedClinicalInformation(); 1186 } 1187 return getRelatedClinicalInformation().get(0); 1188 } 1189 1190 /** 1191 * @return {@link #renderedDosageInstruction} (The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses.). This is the underlying object with id, value and extensions. The accessor "getRenderedDosageInstruction" gives direct access to the value 1192 */ 1193 public MarkdownType getRenderedDosageInstructionElement() { 1194 if (this.renderedDosageInstruction == null) 1195 if (Configuration.errorOnAutoCreate()) 1196 throw new Error("Attempt to auto-create MedicationStatement.renderedDosageInstruction"); 1197 else if (Configuration.doAutoCreate()) 1198 this.renderedDosageInstruction = new MarkdownType(); // bb 1199 return this.renderedDosageInstruction; 1200 } 1201 1202 public boolean hasRenderedDosageInstructionElement() { 1203 return this.renderedDosageInstruction != null && !this.renderedDosageInstruction.isEmpty(); 1204 } 1205 1206 public boolean hasRenderedDosageInstruction() { 1207 return this.renderedDosageInstruction != null && !this.renderedDosageInstruction.isEmpty(); 1208 } 1209 1210 /** 1211 * @param value {@link #renderedDosageInstruction} (The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses.). This is the underlying object with id, value and extensions. The accessor "getRenderedDosageInstruction" gives direct access to the value 1212 */ 1213 public MedicationStatement setRenderedDosageInstructionElement(MarkdownType value) { 1214 this.renderedDosageInstruction = value; 1215 return this; 1216 } 1217 1218 /** 1219 * @return The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses. 1220 */ 1221 public String getRenderedDosageInstruction() { 1222 return this.renderedDosageInstruction == null ? null : this.renderedDosageInstruction.getValue(); 1223 } 1224 1225 /** 1226 * @param value The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses. 1227 */ 1228 public MedicationStatement setRenderedDosageInstruction(String value) { 1229 if (Utilities.noString(value)) 1230 this.renderedDosageInstruction = null; 1231 else { 1232 if (this.renderedDosageInstruction == null) 1233 this.renderedDosageInstruction = new MarkdownType(); 1234 this.renderedDosageInstruction.setValue(value); 1235 } 1236 return this; 1237 } 1238 1239 /** 1240 * @return {@link #dosage} (Indicates how the medication is/was or should be taken by the patient.) 1241 */ 1242 public List<Dosage> getDosage() { 1243 if (this.dosage == null) 1244 this.dosage = new ArrayList<Dosage>(); 1245 return this.dosage; 1246 } 1247 1248 /** 1249 * @return Returns a reference to <code>this</code> for easy method chaining 1250 */ 1251 public MedicationStatement setDosage(List<Dosage> theDosage) { 1252 this.dosage = theDosage; 1253 return this; 1254 } 1255 1256 public boolean hasDosage() { 1257 if (this.dosage == null) 1258 return false; 1259 for (Dosage item : this.dosage) 1260 if (!item.isEmpty()) 1261 return true; 1262 return false; 1263 } 1264 1265 public Dosage addDosage() { //3 1266 Dosage t = new Dosage(); 1267 if (this.dosage == null) 1268 this.dosage = new ArrayList<Dosage>(); 1269 this.dosage.add(t); 1270 return t; 1271 } 1272 1273 public MedicationStatement addDosage(Dosage t) { //3 1274 if (t == null) 1275 return this; 1276 if (this.dosage == null) 1277 this.dosage = new ArrayList<Dosage>(); 1278 this.dosage.add(t); 1279 return this; 1280 } 1281 1282 /** 1283 * @return The first repetition of repeating field {@link #dosage}, creating it if it does not already exist {3} 1284 */ 1285 public Dosage getDosageFirstRep() { 1286 if (getDosage().isEmpty()) { 1287 addDosage(); 1288 } 1289 return getDosage().get(0); 1290 } 1291 1292 /** 1293 * @return {@link #adherence} (Indicates whether the medication is or is not being consumed or administered.) 1294 */ 1295 public MedicationStatementAdherenceComponent getAdherence() { 1296 if (this.adherence == null) 1297 if (Configuration.errorOnAutoCreate()) 1298 throw new Error("Attempt to auto-create MedicationStatement.adherence"); 1299 else if (Configuration.doAutoCreate()) 1300 this.adherence = new MedicationStatementAdherenceComponent(); // cc 1301 return this.adherence; 1302 } 1303 1304 public boolean hasAdherence() { 1305 return this.adherence != null && !this.adherence.isEmpty(); 1306 } 1307 1308 /** 1309 * @param value {@link #adherence} (Indicates whether the medication is or is not being consumed or administered.) 1310 */ 1311 public MedicationStatement setAdherence(MedicationStatementAdherenceComponent value) { 1312 this.adherence = value; 1313 return this; 1314 } 1315 1316 protected void listChildren(List<Property> children) { 1317 super.listChildren(children); 1318 children.add(new Property("identifier", "Identifier", "Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1319 children.add(new Property("partOf", "Reference(Procedure|MedicationStatement)", "A larger event of which this particular MedicationStatement is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); 1320 children.add(new Property("status", "code", "A code representing the status of recording the medication statement.", 0, 1, status)); 1321 children.add(new Property("category", "CodeableConcept", "Type of medication statement (for example, drug classification like ATC, where meds would be administered, legal category of the medication.).", 0, java.lang.Integer.MAX_VALUE, category)); 1322 children.add(new Property("medication", "CodeableReference(Medication)", "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", 0, 1, medication)); 1323 children.add(new Property("subject", "Reference(Patient|Group)", "The person, animal or group who is/was taking the medication.", 0, 1, subject)); 1324 children.add(new Property("encounter", "Reference(Encounter)", "The encounter that establishes the context for this MedicationStatement.", 0, 1, encounter)); 1325 children.add(new Property("effective[x]", "dateTime|Period|Timing", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective)); 1326 children.add(new Property("dateAsserted", "dateTime", "The date when the Medication Statement was asserted by the information source.", 0, 1, dateAsserted)); 1327 children.add(new Property("informationSource", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization)", "The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, informationSource)); 1328 children.add(new Property("derivedFrom", "Reference(Any)", "Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); 1329 children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "A concept, Condition or observation that supports why the medication is being/was taken.", 0, java.lang.Integer.MAX_VALUE, reason)); 1330 children.add(new Property("note", "Annotation", "Provides extra information about the Medication Statement that is not conveyed by the other attributes.", 0, java.lang.Integer.MAX_VALUE, note)); 1331 children.add(new Property("relatedClinicalInformation", "Reference(Observation|Condition)", "Link to information that is relevant to a medication statement, for example, illicit drug use, gestational age, etc.", 0, java.lang.Integer.MAX_VALUE, relatedClinicalInformation)); 1332 children.add(new Property("renderedDosageInstruction", "markdown", "The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses.", 0, 1, renderedDosageInstruction)); 1333 children.add(new Property("dosage", "Dosage", "Indicates how the medication is/was or should be taken by the patient.", 0, java.lang.Integer.MAX_VALUE, dosage)); 1334 children.add(new Property("adherence", "", "Indicates whether the medication is or is not being consumed or administered.", 0, 1, adherence)); 1335 } 1336 1337 @Override 1338 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1339 switch (_hash) { 1340 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers associated with this Medication Statement that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); 1341 case -995410646: /*partOf*/ return new Property("partOf", "Reference(Procedure|MedicationStatement)", "A larger event of which this particular MedicationStatement is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); 1342 case -892481550: /*status*/ return new Property("status", "code", "A code representing the status of recording the medication statement.", 0, 1, status); 1343 case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Type of medication statement (for example, drug classification like ATC, where meds would be administered, legal category of the medication.).", 0, java.lang.Integer.MAX_VALUE, category); 1344 case 1998965455: /*medication*/ return new Property("medication", "CodeableReference(Medication)", "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications.", 0, 1, medication); 1345 case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The person, animal or group who is/was taking the medication.", 0, 1, subject); 1346 case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The encounter that establishes the context for this MedicationStatement.", 0, 1, encounter); 1347 case 247104889: /*effective[x]*/ return new Property("effective[x]", "dateTime|Period|Timing", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective); 1348 case -1468651097: /*effective*/ return new Property("effective[x]", "dateTime|Period|Timing", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective); 1349 case -275306910: /*effectiveDateTime*/ return new Property("effective[x]", "dateTime", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective); 1350 case -403934648: /*effectivePeriod*/ return new Property("effective[x]", "Period", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective); 1351 case -285872943: /*effectiveTiming*/ return new Property("effective[x]", "Timing", "The interval of time during which it is being asserted that the patient is/was/will be taking the medication (or was not taking, when the MedicationStatement.adherence element is Not Taking).", 0, 1, effective); 1352 case -1980855245: /*dateAsserted*/ return new Property("dateAsserted", "dateTime", "The date when the Medication Statement was asserted by the information source.", 0, 1, dateAsserted); 1353 case -2123220889: /*informationSource*/ return new Property("informationSource", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization)", "The person or organization that provided the information about the taking of this medication. Note: Use derivedFrom when a MedicationStatement is derived from other resources, e.g. Claim or MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, informationSource); 1354 case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "Reference(Any)", "Allows linking the MedicationStatement to the underlying MedicationRequest, or to other information that supports or is used to derive the MedicationStatement.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); 1355 case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "A concept, Condition or observation that supports why the medication is being/was taken.", 0, java.lang.Integer.MAX_VALUE, reason); 1356 case 3387378: /*note*/ return new Property("note", "Annotation", "Provides extra information about the Medication Statement that is not conveyed by the other attributes.", 0, java.lang.Integer.MAX_VALUE, note); 1357 case 1040787950: /*relatedClinicalInformation*/ return new Property("relatedClinicalInformation", "Reference(Observation|Condition)", "Link to information that is relevant to a medication statement, for example, illicit drug use, gestational age, etc.", 0, java.lang.Integer.MAX_VALUE, relatedClinicalInformation); 1358 case 1718902050: /*renderedDosageInstruction*/ return new Property("renderedDosageInstruction", "markdown", "The full representation of the dose of the medication included in all dosage instructions. To be used when multiple dosage instructions are included to represent complex dosing such as increasing or tapering doses.", 0, 1, renderedDosageInstruction); 1359 case -1326018889: /*dosage*/ return new Property("dosage", "Dosage", "Indicates how the medication is/was or should be taken by the patient.", 0, java.lang.Integer.MAX_VALUE, dosage); 1360 case -231003683: /*adherence*/ return new Property("adherence", "", "Indicates whether the medication is or is not being consumed or administered.", 0, 1, adherence); 1361 default: return super.getNamedProperty(_hash, _name, _checkValid); 1362 } 1363 1364 } 1365 1366 @Override 1367 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1368 switch (hash) { 1369 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1370 case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference 1371 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<MedicationStatementStatusCodes> 1372 case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept 1373 case 1998965455: /*medication*/ return this.medication == null ? new Base[0] : new Base[] {this.medication}; // CodeableReference 1374 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference 1375 case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference 1376 case -1468651097: /*effective*/ return this.effective == null ? new Base[0] : new Base[] {this.effective}; // DataType 1377 case -1980855245: /*dateAsserted*/ return this.dateAsserted == null ? new Base[0] : new Base[] {this.dateAsserted}; // DateTimeType 1378 case -2123220889: /*informationSource*/ return this.informationSource == null ? new Base[0] : this.informationSource.toArray(new Base[this.informationSource.size()]); // Reference 1379 case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : this.derivedFrom.toArray(new Base[this.derivedFrom.size()]); // Reference 1380 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference 1381 case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation 1382 case 1040787950: /*relatedClinicalInformation*/ return this.relatedClinicalInformation == null ? new Base[0] : this.relatedClinicalInformation.toArray(new Base[this.relatedClinicalInformation.size()]); // Reference 1383 case 1718902050: /*renderedDosageInstruction*/ return this.renderedDosageInstruction == null ? new Base[0] : new Base[] {this.renderedDosageInstruction}; // MarkdownType 1384 case -1326018889: /*dosage*/ return this.dosage == null ? new Base[0] : this.dosage.toArray(new Base[this.dosage.size()]); // Dosage 1385 case -231003683: /*adherence*/ return this.adherence == null ? new Base[0] : new Base[] {this.adherence}; // MedicationStatementAdherenceComponent 1386 default: return super.getProperty(hash, name, checkValid); 1387 } 1388 1389 } 1390 1391 @Override 1392 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1393 switch (hash) { 1394 case -1618432855: // identifier 1395 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 1396 return value; 1397 case -995410646: // partOf 1398 this.getPartOf().add(TypeConvertor.castToReference(value)); // Reference 1399 return value; 1400 case -892481550: // status 1401 value = new MedicationStatementStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1402 this.status = (Enumeration) value; // Enumeration<MedicationStatementStatusCodes> 1403 return value; 1404 case 50511102: // category 1405 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 1406 return value; 1407 case 1998965455: // medication 1408 this.medication = TypeConvertor.castToCodeableReference(value); // CodeableReference 1409 return value; 1410 case -1867885268: // subject 1411 this.subject = TypeConvertor.castToReference(value); // Reference 1412 return value; 1413 case 1524132147: // encounter 1414 this.encounter = TypeConvertor.castToReference(value); // Reference 1415 return value; 1416 case -1468651097: // effective 1417 this.effective = TypeConvertor.castToType(value); // DataType 1418 return value; 1419 case -1980855245: // dateAsserted 1420 this.dateAsserted = TypeConvertor.castToDateTime(value); // DateTimeType 1421 return value; 1422 case -2123220889: // informationSource 1423 this.getInformationSource().add(TypeConvertor.castToReference(value)); // Reference 1424 return value; 1425 case 1077922663: // derivedFrom 1426 this.getDerivedFrom().add(TypeConvertor.castToReference(value)); // Reference 1427 return value; 1428 case -934964668: // reason 1429 this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference 1430 return value; 1431 case 3387378: // note 1432 this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation 1433 return value; 1434 case 1040787950: // relatedClinicalInformation 1435 this.getRelatedClinicalInformation().add(TypeConvertor.castToReference(value)); // Reference 1436 return value; 1437 case 1718902050: // renderedDosageInstruction 1438 this.renderedDosageInstruction = TypeConvertor.castToMarkdown(value); // MarkdownType 1439 return value; 1440 case -1326018889: // dosage 1441 this.getDosage().add(TypeConvertor.castToDosage(value)); // Dosage 1442 return value; 1443 case -231003683: // adherence 1444 this.adherence = (MedicationStatementAdherenceComponent) value; // MedicationStatementAdherenceComponent 1445 return value; 1446 default: return super.setProperty(hash, name, value); 1447 } 1448 1449 } 1450 1451 @Override 1452 public Base setProperty(String name, Base value) throws FHIRException { 1453 if (name.equals("identifier")) { 1454 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 1455 } else if (name.equals("partOf")) { 1456 this.getPartOf().add(TypeConvertor.castToReference(value)); 1457 } else if (name.equals("status")) { 1458 value = new MedicationStatementStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1459 this.status = (Enumeration) value; // Enumeration<MedicationStatementStatusCodes> 1460 } else if (name.equals("category")) { 1461 this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); 1462 } else if (name.equals("medication")) { 1463 this.medication = TypeConvertor.castToCodeableReference(value); // CodeableReference 1464 } else if (name.equals("subject")) { 1465 this.subject = TypeConvertor.castToReference(value); // Reference 1466 } else if (name.equals("encounter")) { 1467 this.encounter = TypeConvertor.castToReference(value); // Reference 1468 } else if (name.equals("effective[x]")) { 1469 this.effective = TypeConvertor.castToType(value); // DataType 1470 } else if (name.equals("dateAsserted")) { 1471 this.dateAsserted = TypeConvertor.castToDateTime(value); // DateTimeType 1472 } else if (name.equals("informationSource")) { 1473 this.getInformationSource().add(TypeConvertor.castToReference(value)); 1474 } else if (name.equals("derivedFrom")) { 1475 this.getDerivedFrom().add(TypeConvertor.castToReference(value)); 1476 } else if (name.equals("reason")) { 1477 this.getReason().add(TypeConvertor.castToCodeableReference(value)); 1478 } else if (name.equals("note")) { 1479 this.getNote().add(TypeConvertor.castToAnnotation(value)); 1480 } else if (name.equals("relatedClinicalInformation")) { 1481 this.getRelatedClinicalInformation().add(TypeConvertor.castToReference(value)); 1482 } else if (name.equals("renderedDosageInstruction")) { 1483 this.renderedDosageInstruction = TypeConvertor.castToMarkdown(value); // MarkdownType 1484 } else if (name.equals("dosage")) { 1485 this.getDosage().add(TypeConvertor.castToDosage(value)); 1486 } else if (name.equals("adherence")) { 1487 this.adherence = (MedicationStatementAdherenceComponent) value; // MedicationStatementAdherenceComponent 1488 } else 1489 return super.setProperty(name, value); 1490 return value; 1491 } 1492 1493 @Override 1494 public void removeChild(String name, Base value) throws FHIRException { 1495 if (name.equals("identifier")) { 1496 this.getIdentifier().remove(value); 1497 } else if (name.equals("partOf")) { 1498 this.getPartOf().remove(value); 1499 } else if (name.equals("status")) { 1500 value = new MedicationStatementStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); 1501 this.status = (Enumeration) value; // Enumeration<MedicationStatementStatusCodes> 1502 } else if (name.equals("category")) { 1503 this.getCategory().remove(value); 1504 } else if (name.equals("medication")) { 1505 this.medication = null; 1506 } else if (name.equals("subject")) { 1507 this.subject = null; 1508 } else if (name.equals("encounter")) { 1509 this.encounter = null; 1510 } else if (name.equals("effective[x]")) { 1511 this.effective = null; 1512 } else if (name.equals("dateAsserted")) { 1513 this.dateAsserted = null; 1514 } else if (name.equals("informationSource")) { 1515 this.getInformationSource().remove(value); 1516 } else if (name.equals("derivedFrom")) { 1517 this.getDerivedFrom().remove(value); 1518 } else if (name.equals("reason")) { 1519 this.getReason().remove(value); 1520 } else if (name.equals("note")) { 1521 this.getNote().remove(value); 1522 } else if (name.equals("relatedClinicalInformation")) { 1523 this.getRelatedClinicalInformation().remove(value); 1524 } else if (name.equals("renderedDosageInstruction")) { 1525 this.renderedDosageInstruction = null; 1526 } else if (name.equals("dosage")) { 1527 this.getDosage().remove(value); 1528 } else if (name.equals("adherence")) { 1529 this.adherence = (MedicationStatementAdherenceComponent) value; // MedicationStatementAdherenceComponent 1530 } else 1531 super.removeChild(name, value); 1532 1533 } 1534 1535 @Override 1536 public Base makeProperty(int hash, String name) throws FHIRException { 1537 switch (hash) { 1538 case -1618432855: return addIdentifier(); 1539 case -995410646: return addPartOf(); 1540 case -892481550: return getStatusElement(); 1541 case 50511102: return addCategory(); 1542 case 1998965455: return getMedication(); 1543 case -1867885268: return getSubject(); 1544 case 1524132147: return getEncounter(); 1545 case 247104889: return getEffective(); 1546 case -1468651097: return getEffective(); 1547 case -1980855245: return getDateAssertedElement(); 1548 case -2123220889: return addInformationSource(); 1549 case 1077922663: return addDerivedFrom(); 1550 case -934964668: return addReason(); 1551 case 3387378: return addNote(); 1552 case 1040787950: return addRelatedClinicalInformation(); 1553 case 1718902050: return getRenderedDosageInstructionElement(); 1554 case -1326018889: return addDosage(); 1555 case -231003683: return getAdherence(); 1556 default: return super.makeProperty(hash, name); 1557 } 1558 1559 } 1560 1561 @Override 1562 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1563 switch (hash) { 1564 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1565 case -995410646: /*partOf*/ return new String[] {"Reference"}; 1566 case -892481550: /*status*/ return new String[] {"code"}; 1567 case 50511102: /*category*/ return new String[] {"CodeableConcept"}; 1568 case 1998965455: /*medication*/ return new String[] {"CodeableReference"}; 1569 case -1867885268: /*subject*/ return new String[] {"Reference"}; 1570 case 1524132147: /*encounter*/ return new String[] {"Reference"}; 1571 case -1468651097: /*effective*/ return new String[] {"dateTime", "Period", "Timing"}; 1572 case -1980855245: /*dateAsserted*/ return new String[] {"dateTime"}; 1573 case -2123220889: /*informationSource*/ return new String[] {"Reference"}; 1574 case 1077922663: /*derivedFrom*/ return new String[] {"Reference"}; 1575 case -934964668: /*reason*/ return new String[] {"CodeableReference"}; 1576 case 3387378: /*note*/ return new String[] {"Annotation"}; 1577 case 1040787950: /*relatedClinicalInformation*/ return new String[] {"Reference"}; 1578 case 1718902050: /*renderedDosageInstruction*/ return new String[] {"markdown"}; 1579 case -1326018889: /*dosage*/ return new String[] {"Dosage"}; 1580 case -231003683: /*adherence*/ return new String[] {}; 1581 default: return super.getTypesForProperty(hash, name); 1582 } 1583 1584 } 1585 1586 @Override 1587 public Base addChild(String name) throws FHIRException { 1588 if (name.equals("identifier")) { 1589 return addIdentifier(); 1590 } 1591 else if (name.equals("partOf")) { 1592 return addPartOf(); 1593 } 1594 else if (name.equals("status")) { 1595 throw new FHIRException("Cannot call addChild on a singleton property MedicationStatement.status"); 1596 } 1597 else if (name.equals("category")) { 1598 return addCategory(); 1599 } 1600 else if (name.equals("medication")) { 1601 this.medication = new CodeableReference(); 1602 return this.medication; 1603 } 1604 else if (name.equals("subject")) { 1605 this.subject = new Reference(); 1606 return this.subject; 1607 } 1608 else if (name.equals("encounter")) { 1609 this.encounter = new Reference(); 1610 return this.encounter; 1611 } 1612 else if (name.equals("effectiveDateTime")) { 1613 this.effective = new DateTimeType(); 1614 return this.effective; 1615 } 1616 else if (name.equals("effectivePeriod")) { 1617 this.effective = new Period(); 1618 return this.effective; 1619 } 1620 else if (name.equals("effectiveTiming")) { 1621 this.effective = new Timing(); 1622 return this.effective; 1623 } 1624 else if (name.equals("dateAsserted")) { 1625 throw new FHIRException("Cannot call addChild on a singleton property MedicationStatement.dateAsserted"); 1626 } 1627 else if (name.equals("informationSource")) { 1628 return addInformationSource(); 1629 } 1630 else if (name.equals("derivedFrom")) { 1631 return addDerivedFrom(); 1632 } 1633 else if (name.equals("reason")) { 1634 return addReason(); 1635 } 1636 else if (name.equals("note")) { 1637 return addNote(); 1638 } 1639 else if (name.equals("relatedClinicalInformation")) { 1640 return addRelatedClinicalInformation(); 1641 } 1642 else if (name.equals("renderedDosageInstruction")) { 1643 throw new FHIRException("Cannot call addChild on a singleton property MedicationStatement.renderedDosageInstruction"); 1644 } 1645 else if (name.equals("dosage")) { 1646 return addDosage(); 1647 } 1648 else if (name.equals("adherence")) { 1649 this.adherence = new MedicationStatementAdherenceComponent(); 1650 return this.adherence; 1651 } 1652 else 1653 return super.addChild(name); 1654 } 1655 1656 public String fhirType() { 1657 return "MedicationStatement"; 1658 1659 } 1660 1661 public MedicationStatement copy() { 1662 MedicationStatement dst = new MedicationStatement(); 1663 copyValues(dst); 1664 return dst; 1665 } 1666 1667 public void copyValues(MedicationStatement dst) { 1668 super.copyValues(dst); 1669 if (identifier != null) { 1670 dst.identifier = new ArrayList<Identifier>(); 1671 for (Identifier i : identifier) 1672 dst.identifier.add(i.copy()); 1673 }; 1674 if (partOf != null) { 1675 dst.partOf = new ArrayList<Reference>(); 1676 for (Reference i : partOf) 1677 dst.partOf.add(i.copy()); 1678 }; 1679 dst.status = status == null ? null : status.copy(); 1680 if (category != null) { 1681 dst.category = new ArrayList<CodeableConcept>(); 1682 for (CodeableConcept i : category) 1683 dst.category.add(i.copy()); 1684 }; 1685 dst.medication = medication == null ? null : medication.copy(); 1686 dst.subject = subject == null ? null : subject.copy(); 1687 dst.encounter = encounter == null ? null : encounter.copy(); 1688 dst.effective = effective == null ? null : effective.copy(); 1689 dst.dateAsserted = dateAsserted == null ? null : dateAsserted.copy(); 1690 if (informationSource != null) { 1691 dst.informationSource = new ArrayList<Reference>(); 1692 for (Reference i : informationSource) 1693 dst.informationSource.add(i.copy()); 1694 }; 1695 if (derivedFrom != null) { 1696 dst.derivedFrom = new ArrayList<Reference>(); 1697 for (Reference i : derivedFrom) 1698 dst.derivedFrom.add(i.copy()); 1699 }; 1700 if (reason != null) { 1701 dst.reason = new ArrayList<CodeableReference>(); 1702 for (CodeableReference i : reason) 1703 dst.reason.add(i.copy()); 1704 }; 1705 if (note != null) { 1706 dst.note = new ArrayList<Annotation>(); 1707 for (Annotation i : note) 1708 dst.note.add(i.copy()); 1709 }; 1710 if (relatedClinicalInformation != null) { 1711 dst.relatedClinicalInformation = new ArrayList<Reference>(); 1712 for (Reference i : relatedClinicalInformation) 1713 dst.relatedClinicalInformation.add(i.copy()); 1714 }; 1715 dst.renderedDosageInstruction = renderedDosageInstruction == null ? null : renderedDosageInstruction.copy(); 1716 if (dosage != null) { 1717 dst.dosage = new ArrayList<Dosage>(); 1718 for (Dosage i : dosage) 1719 dst.dosage.add(i.copy()); 1720 }; 1721 dst.adherence = adherence == null ? null : adherence.copy(); 1722 } 1723 1724 protected MedicationStatement typedCopy() { 1725 return copy(); 1726 } 1727 1728 @Override 1729 public boolean equalsDeep(Base other_) { 1730 if (!super.equalsDeep(other_)) 1731 return false; 1732 if (!(other_ instanceof MedicationStatement)) 1733 return false; 1734 MedicationStatement o = (MedicationStatement) other_; 1735 return compareDeep(identifier, o.identifier, true) && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) 1736 && compareDeep(category, o.category, true) && compareDeep(medication, o.medication, true) && compareDeep(subject, o.subject, true) 1737 && compareDeep(encounter, o.encounter, true) && compareDeep(effective, o.effective, true) && compareDeep(dateAsserted, o.dateAsserted, true) 1738 && compareDeep(informationSource, o.informationSource, true) && compareDeep(derivedFrom, o.derivedFrom, true) 1739 && compareDeep(reason, o.reason, true) && compareDeep(note, o.note, true) && compareDeep(relatedClinicalInformation, o.relatedClinicalInformation, true) 1740 && compareDeep(renderedDosageInstruction, o.renderedDosageInstruction, true) && compareDeep(dosage, o.dosage, true) 1741 && compareDeep(adherence, o.adherence, true); 1742 } 1743 1744 @Override 1745 public boolean equalsShallow(Base other_) { 1746 if (!super.equalsShallow(other_)) 1747 return false; 1748 if (!(other_ instanceof MedicationStatement)) 1749 return false; 1750 MedicationStatement o = (MedicationStatement) other_; 1751 return compareValues(status, o.status, true) && compareValues(dateAsserted, o.dateAsserted, true) && compareValues(renderedDosageInstruction, o.renderedDosageInstruction, true) 1752 ; 1753 } 1754 1755 public boolean isEmpty() { 1756 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, partOf, status 1757 , category, medication, subject, encounter, effective, dateAsserted, informationSource 1758 , derivedFrom, reason, note, relatedClinicalInformation, renderedDosageInstruction 1759 , dosage, adherence); 1760 } 1761 1762 @Override 1763 public ResourceType getResourceType() { 1764 return ResourceType.MedicationStatement; 1765 } 1766 1767 /** 1768 * Search parameter: <b>adherence</b> 1769 * <p> 1770 * Description: <b>Returns statements based on adherence or compliance</b><br> 1771 * Type: <b>token</b><br> 1772 * Path: <b>MedicationStatement.adherence.code</b><br> 1773 * </p> 1774 */ 1775 @SearchParamDefinition(name="adherence", path="MedicationStatement.adherence.code", description="Returns statements based on adherence or compliance", type="token" ) 1776 public static final String SP_ADHERENCE = "adherence"; 1777 /** 1778 * <b>Fluent Client</b> search parameter constant for <b>adherence</b> 1779 * <p> 1780 * Description: <b>Returns statements based on adherence or compliance</b><br> 1781 * Type: <b>token</b><br> 1782 * Path: <b>MedicationStatement.adherence.code</b><br> 1783 * </p> 1784 */ 1785 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADHERENCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADHERENCE); 1786 1787 /** 1788 * Search parameter: <b>category</b> 1789 * <p> 1790 * Description: <b>Returns statements of this category of MedicationStatement</b><br> 1791 * Type: <b>token</b><br> 1792 * Path: <b>MedicationStatement.category</b><br> 1793 * </p> 1794 */ 1795 @SearchParamDefinition(name="category", path="MedicationStatement.category", description="Returns statements of this category of MedicationStatement", type="token" ) 1796 public static final String SP_CATEGORY = "category"; 1797 /** 1798 * <b>Fluent Client</b> search parameter constant for <b>category</b> 1799 * <p> 1800 * Description: <b>Returns statements of this category of MedicationStatement</b><br> 1801 * Type: <b>token</b><br> 1802 * Path: <b>MedicationStatement.category</b><br> 1803 * </p> 1804 */ 1805 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 1806 1807 /** 1808 * Search parameter: <b>effective</b> 1809 * <p> 1810 * Description: <b>Date when patient was taking (or not taking) the medication</b><br> 1811 * Type: <b>date</b><br> 1812 * Path: <b>MedicationStatement.effective.ofType(dateTime) | MedicationStatement.effective.ofType(Period)</b><br> 1813 * </p> 1814 */ 1815 @SearchParamDefinition(name="effective", path="MedicationStatement.effective.ofType(dateTime) | MedicationStatement.effective.ofType(Period)", description="Date when patient was taking (or not taking) the medication", type="date" ) 1816 public static final String SP_EFFECTIVE = "effective"; 1817 /** 1818 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 1819 * <p> 1820 * Description: <b>Date when patient was taking (or not taking) the medication</b><br> 1821 * Type: <b>date</b><br> 1822 * Path: <b>MedicationStatement.effective.ofType(dateTime) | MedicationStatement.effective.ofType(Period)</b><br> 1823 * </p> 1824 */ 1825 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); 1826 1827 /** 1828 * Search parameter: <b>source</b> 1829 * <p> 1830 * Description: <b>Who or where the information in the statement came from</b><br> 1831 * Type: <b>reference</b><br> 1832 * Path: <b>MedicationStatement.informationSource</b><br> 1833 * </p> 1834 */ 1835 @SearchParamDefinition(name="source", path="MedicationStatement.informationSource", description="Who or where the information in the statement came from", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 1836 public static final String SP_SOURCE = "source"; 1837 /** 1838 * <b>Fluent Client</b> search parameter constant for <b>source</b> 1839 * <p> 1840 * Description: <b>Who or where the information in the statement came from</b><br> 1841 * Type: <b>reference</b><br> 1842 * Path: <b>MedicationStatement.informationSource</b><br> 1843 * </p> 1844 */ 1845 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE); 1846 1847/** 1848 * Constant for fluent queries to be used to add include statements. Specifies 1849 * the path value of "<b>MedicationStatement:source</b>". 1850 */ 1851 public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE = new ca.uhn.fhir.model.api.Include("MedicationStatement:source").toLocked(); 1852 1853 /** 1854 * Search parameter: <b>subject</b> 1855 * <p> 1856 * Description: <b>The identity of a patient, animal or group to list statements for</b><br> 1857 * Type: <b>reference</b><br> 1858 * Path: <b>MedicationStatement.subject</b><br> 1859 * </p> 1860 */ 1861 @SearchParamDefinition(name="subject", path="MedicationStatement.subject", description="The identity of a patient, animal or group to list statements for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class } ) 1862 public static final String SP_SUBJECT = "subject"; 1863 /** 1864 * <b>Fluent Client</b> search parameter constant for <b>subject</b> 1865 * <p> 1866 * Description: <b>The identity of a patient, animal or group to list statements for</b><br> 1867 * Type: <b>reference</b><br> 1868 * Path: <b>MedicationStatement.subject</b><br> 1869 * </p> 1870 */ 1871 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); 1872 1873/** 1874 * Constant for fluent queries to be used to add include statements. Specifies 1875 * the path value of "<b>MedicationStatement:subject</b>". 1876 */ 1877 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("MedicationStatement:subject").toLocked(); 1878 1879 /** 1880 * Search parameter: <b>code</b> 1881 * <p> 1882 * Description: <b>Multiple Resources: 1883 1884* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 1885* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 1886* [AuditEvent](auditevent.html): More specific code for the event 1887* [Basic](basic.html): Kind of Resource 1888* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 1889* [Condition](condition.html): Code for the condition 1890* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 1891* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 1892* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 1893* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 1894* [ImagingSelection](imagingselection.html): The imaging selection status 1895* [List](list.html): What the purpose of this list is 1896* [Medication](medication.html): Returns medications for a specific code 1897* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 1898* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 1899* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 1900* [MedicationStatement](medicationstatement.html): Return statements of this medication code 1901* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 1902* [Observation](observation.html): The code of the observation type 1903* [Procedure](procedure.html): A code to identify a procedure 1904* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 1905* [Task](task.html): Search by task code 1906</b><br> 1907 * Type: <b>token</b><br> 1908 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 1909 * </p> 1910 */ 1911 @SearchParamDefinition(name="code", path="AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code", description="Multiple Resources: \r\n\r\n* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [AuditEvent](auditevent.html): More specific code for the event\r\n* [Basic](basic.html): Kind of Resource\r\n* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code\r\n* [Condition](condition.html): Code for the condition\r\n* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc.\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [ImagingSelection](imagingselection.html): The imaging selection status\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication code\r\n* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [RequestOrchestration](requestorchestration.html): The code of the request orchestration\r\n* [Task](task.html): Search by task code\r\n", type="token" ) 1912 public static final String SP_CODE = "code"; 1913 /** 1914 * <b>Fluent Client</b> search parameter constant for <b>code</b> 1915 * <p> 1916 * Description: <b>Multiple Resources: 1917 1918* [AdverseEvent](adverseevent.html): Event or incident that occurred or was averted 1919* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance 1920* [AuditEvent](auditevent.html): More specific code for the event 1921* [Basic](basic.html): Kind of Resource 1922* [ChargeItem](chargeitem.html): A code that identifies the charge, like a billing code 1923* [Condition](condition.html): Code for the condition 1924* [DetectedIssue](detectedissue.html): Issue Type, e.g. drug-drug, duplicate therapy, etc. 1925* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered 1926* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result 1927* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code 1928* [ImagingSelection](imagingselection.html): The imaging selection status 1929* [List](list.html): What the purpose of this list is 1930* [Medication](medication.html): Returns medications for a specific code 1931* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code 1932* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code 1933* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code 1934* [MedicationStatement](medicationstatement.html): Return statements of this medication code 1935* [NutritionIntake](nutritionintake.html): Returns statements of this code of NutritionIntake 1936* [Observation](observation.html): The code of the observation type 1937* [Procedure](procedure.html): A code to identify a procedure 1938* [RequestOrchestration](requestorchestration.html): The code of the request orchestration 1939* [Task](task.html): Search by task code 1940</b><br> 1941 * Type: <b>token</b><br> 1942 * Path: <b>AdverseEvent.code | AllergyIntolerance.code | AllergyIntolerance.reaction.substance | AuditEvent.code | Basic.code | ChargeItem.code | Condition.code | DetectedIssue.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | ImagingSelection.status | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationStatement.medication.concept | NutritionIntake.code | Observation.code | Procedure.code | RequestOrchestration.code | Task.code</b><br> 1943 * </p> 1944 */ 1945 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 1946 1947 /** 1948 * Search parameter: <b>encounter</b> 1949 * <p> 1950 * Description: <b>Multiple Resources: 1951 1952* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent 1953* [CarePlan](careplan.html): The Encounter during which this CarePlan was created 1954* [ChargeItem](chargeitem.html): Encounter associated with event 1955* [Claim](claim.html): Encounters associated with a billed line item 1956* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created 1957* [Communication](communication.html): The Encounter during which this Communication was created 1958* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created 1959* [Composition](composition.html): Context of the Composition 1960* [Condition](condition.html): The Encounter during which this Condition was created 1961* [DeviceRequest](devicerequest.html): Encounter during which request was created 1962* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 1963* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values 1964* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item 1965* [Flag](flag.html): Alert relevant during encounter 1966* [ImagingStudy](imagingstudy.html): The context of the study 1967* [List](list.html): Context in which list created 1968* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter 1969* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter 1970* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter 1971* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 1972* [Observation](observation.html): Encounter related to the observation 1973* [Procedure](procedure.html): The Encounter during which this Procedure was created 1974* [Provenance](provenance.html): Encounter related to the Provenance 1975* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response 1976* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to 1977* [RiskAssessment](riskassessment.html): Where was assessment performed? 1978* [ServiceRequest](servicerequest.html): An encounter in which this request is made 1979* [Task](task.html): Search by encounter 1980* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 1981</b><br> 1982 * Type: <b>reference</b><br> 1983 * Path: <b>AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter</b><br> 1984 * </p> 1985 */ 1986 @SearchParamDefinition(name="encounter", path="AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter", description="Multiple Resources: \r\n\r\n* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent\r\n* [CarePlan](careplan.html): The Encounter during which this CarePlan was created\r\n* [ChargeItem](chargeitem.html): Encounter associated with event\r\n* [Claim](claim.html): Encounters associated with a billed line item\r\n* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created\r\n* [Communication](communication.html): The Encounter during which this Communication was created\r\n* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created\r\n* [Composition](composition.html): Context of the Composition\r\n* [Condition](condition.html): The Encounter during which this Condition was created\r\n* [DeviceRequest](devicerequest.html): Encounter during which request was created\r\n* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made\r\n* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values\r\n* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item\r\n* [Flag](flag.html): Alert relevant during encounter\r\n* [ImagingStudy](imagingstudy.html): The context of the study\r\n* [List](list.html): Context in which list created\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter\r\n* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter\r\n* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter\r\n* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier\r\n* [Observation](observation.html): Encounter related to the observation\r\n* [Procedure](procedure.html): The Encounter during which this Procedure was created\r\n* [Provenance](provenance.html): Encounter related to the Provenance\r\n* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response\r\n* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to\r\n* [RiskAssessment](riskassessment.html): Where was assessment performed?\r\n* [ServiceRequest](servicerequest.html): An encounter in which this request is made\r\n* [Task](task.html): Search by encounter\r\n* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) 1987 public static final String SP_ENCOUNTER = "encounter"; 1988 /** 1989 * <b>Fluent Client</b> search parameter constant for <b>encounter</b> 1990 * <p> 1991 * Description: <b>Multiple Resources: 1992 1993* [AuditEvent](auditevent.html): Encounter related to the activity recorded in the AuditEvent 1994* [CarePlan](careplan.html): The Encounter during which this CarePlan was created 1995* [ChargeItem](chargeitem.html): Encounter associated with event 1996* [Claim](claim.html): Encounters associated with a billed line item 1997* [ClinicalImpression](clinicalimpression.html): The Encounter during which this ClinicalImpression was created 1998* [Communication](communication.html): The Encounter during which this Communication was created 1999* [CommunicationRequest](communicationrequest.html): The Encounter during which this CommunicationRequest was created 2000* [Composition](composition.html): Context of the Composition 2001* [Condition](condition.html): The Encounter during which this Condition was created 2002* [DeviceRequest](devicerequest.html): Encounter during which request was created 2003* [DiagnosticReport](diagnosticreport.html): The Encounter when the order was made 2004* [EncounterHistory](encounterhistory.html): The Encounter associated with this set of history values 2005* [ExplanationOfBenefit](explanationofbenefit.html): Encounters associated with a billed line item 2006* [Flag](flag.html): Alert relevant during encounter 2007* [ImagingStudy](imagingstudy.html): The context of the study 2008* [List](list.html): Context in which list created 2009* [MedicationDispense](medicationdispense.html): Returns dispenses with a specific encounter 2010* [MedicationStatement](medicationstatement.html): Returns statements for a specific encounter 2011* [NutritionIntake](nutritionintake.html): Returns statements for a specific encounter 2012* [NutritionOrder](nutritionorder.html): Return nutrition orders with this encounter identifier 2013* [Observation](observation.html): Encounter related to the observation 2014* [Procedure](procedure.html): The Encounter during which this Procedure was created 2015* [Provenance](provenance.html): Encounter related to the Provenance 2016* [QuestionnaireResponse](questionnaireresponse.html): Encounter associated with the questionnaire response 2017* [RequestOrchestration](requestorchestration.html): The encounter the request orchestration applies to 2018* [RiskAssessment](riskassessment.html): Where was assessment performed? 2019* [ServiceRequest](servicerequest.html): An encounter in which this request is made 2020* [Task](task.html): Search by encounter 2021* [VisionPrescription](visionprescription.html): Return prescriptions with this encounter identifier 2022</b><br> 2023 * Type: <b>reference</b><br> 2024 * Path: <b>AuditEvent.encounter | CarePlan.encounter | ChargeItem.encounter | Claim.item.encounter | ClinicalImpression.encounter | Communication.encounter | CommunicationRequest.encounter | Composition.encounter | Condition.encounter | DeviceRequest.encounter | DiagnosticReport.encounter | EncounterHistory.encounter | ExplanationOfBenefit.item.encounter | Flag.encounter | ImagingStudy.encounter | List.encounter | MedicationDispense.encounter | MedicationStatement.encounter | NutritionIntake.encounter | NutritionOrder.encounter | Observation.encounter | Procedure.encounter | Provenance.encounter | QuestionnaireResponse.encounter | RequestOrchestration.encounter | RiskAssessment.encounter | ServiceRequest.encounter | Task.encounter | VisionPrescription.encounter</b><br> 2025 * </p> 2026 */ 2027 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); 2028 2029/** 2030 * Constant for fluent queries to be used to add include statements. Specifies 2031 * the path value of "<b>MedicationStatement:encounter</b>". 2032 */ 2033 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("MedicationStatement:encounter").toLocked(); 2034 2035 /** 2036 * Search parameter: <b>identifier</b> 2037 * <p> 2038 * Description: <b>Multiple Resources: 2039 2040* [Account](account.html): Account number 2041* [AdverseEvent](adverseevent.html): Business identifier for the event 2042* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2043* [Appointment](appointment.html): An Identifier of the Appointment 2044* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 2045* [Basic](basic.html): Business identifier 2046* [BodyStructure](bodystructure.html): Bodystructure identifier 2047* [CarePlan](careplan.html): External Ids for this plan 2048* [CareTeam](careteam.html): External Ids for this team 2049* [ChargeItem](chargeitem.html): Business Identifier for item 2050* [Claim](claim.html): The primary identifier of the financial resource 2051* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 2052* [ClinicalImpression](clinicalimpression.html): Business identifier 2053* [Communication](communication.html): Unique identifier 2054* [CommunicationRequest](communicationrequest.html): Unique identifier 2055* [Composition](composition.html): Version-independent identifier for the Composition 2056* [Condition](condition.html): A unique identifier of the condition record 2057* [Consent](consent.html): Identifier for this record (external references) 2058* [Contract](contract.html): The identity of the contract 2059* [Coverage](coverage.html): The primary identifier of the insured and the coverage 2060* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 2061* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 2062* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2063* [DeviceRequest](devicerequest.html): Business identifier for request/order 2064* [DeviceUsage](deviceusage.html): Search by identifier 2065* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2066* [DocumentReference](documentreference.html): Identifier of the attachment binary 2067* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2068* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 2069* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2070* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 2071* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2072* [Flag](flag.html): Business identifier 2073* [Goal](goal.html): External Ids for this goal 2074* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 2075* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 2076* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2077* [Immunization](immunization.html): Business identifier 2078* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 2079* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 2080* [Invoice](invoice.html): Business Identifier for item 2081* [List](list.html): Business identifier 2082* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 2083* [Medication](medication.html): Returns medications with this external identifier 2084* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2085* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2086* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2087* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2088* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 2089* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 2090* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2091* [Observation](observation.html): The unique id for a particular observation 2092* [Person](person.html): A person Identifier 2093* [Procedure](procedure.html): A unique identifier for a procedure 2094* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 2095* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 2096* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 2097* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 2098* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2099* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2100* [Specimen](specimen.html): The unique identifier associated with the specimen 2101* [SupplyDelivery](supplydelivery.html): External identifier 2102* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2103* [Task](task.html): Search for a task instance by its business identifier 2104* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2105</b><br> 2106 * Type: <b>token</b><br> 2107 * 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> 2108 * </p> 2109 */ 2110 @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" ) 2111 public static final String SP_IDENTIFIER = "identifier"; 2112 /** 2113 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2114 * <p> 2115 * Description: <b>Multiple Resources: 2116 2117* [Account](account.html): Account number 2118* [AdverseEvent](adverseevent.html): Business identifier for the event 2119* [AllergyIntolerance](allergyintolerance.html): External ids for this item 2120* [Appointment](appointment.html): An Identifier of the Appointment 2121* [AppointmentResponse](appointmentresponse.html): An Identifier in this appointment response 2122* [Basic](basic.html): Business identifier 2123* [BodyStructure](bodystructure.html): Bodystructure identifier 2124* [CarePlan](careplan.html): External Ids for this plan 2125* [CareTeam](careteam.html): External Ids for this team 2126* [ChargeItem](chargeitem.html): Business Identifier for item 2127* [Claim](claim.html): The primary identifier of the financial resource 2128* [ClaimResponse](claimresponse.html): The identity of the ClaimResponse 2129* [ClinicalImpression](clinicalimpression.html): Business identifier 2130* [Communication](communication.html): Unique identifier 2131* [CommunicationRequest](communicationrequest.html): Unique identifier 2132* [Composition](composition.html): Version-independent identifier for the Composition 2133* [Condition](condition.html): A unique identifier of the condition record 2134* [Consent](consent.html): Identifier for this record (external references) 2135* [Contract](contract.html): The identity of the contract 2136* [Coverage](coverage.html): The primary identifier of the insured and the coverage 2137* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The business identifier of the Eligibility 2138* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The business identifier 2139* [DetectedIssue](detectedissue.html): Unique id for the detected issue 2140* [DeviceRequest](devicerequest.html): Business identifier for request/order 2141* [DeviceUsage](deviceusage.html): Search by identifier 2142* [DiagnosticReport](diagnosticreport.html): An identifier for the report 2143* [DocumentReference](documentreference.html): Identifier of the attachment binary 2144* [Encounter](encounter.html): Identifier(s) by which this encounter is known 2145* [EnrollmentRequest](enrollmentrequest.html): The business identifier of the Enrollment 2146* [EpisodeOfCare](episodeofcare.html): Business Identifier(s) relevant for this EpisodeOfCare 2147* [ExplanationOfBenefit](explanationofbenefit.html): The business identifier of the Explanation of Benefit 2148* [FamilyMemberHistory](familymemberhistory.html): A search by a record identifier 2149* [Flag](flag.html): Business identifier 2150* [Goal](goal.html): External Ids for this goal 2151* [GuidanceResponse](guidanceresponse.html): The identifier of the guidance response 2152* [ImagingSelection](imagingselection.html): Identifiers for the imaging selection 2153* [ImagingStudy](imagingstudy.html): Identifiers for the Study, such as DICOM Study Instance UID 2154* [Immunization](immunization.html): Business identifier 2155* [ImmunizationEvaluation](immunizationevaluation.html): ID of the evaluation 2156* [ImmunizationRecommendation](immunizationrecommendation.html): Business identifier 2157* [Invoice](invoice.html): Business Identifier for item 2158* [List](list.html): Business identifier 2159* [MeasureReport](measurereport.html): External identifier of the measure report to be returned 2160* [Medication](medication.html): Returns medications with this external identifier 2161* [MedicationAdministration](medicationadministration.html): Return administrations with this external identifier 2162* [MedicationDispense](medicationdispense.html): Returns dispenses with this external identifier 2163* [MedicationRequest](medicationrequest.html): Return prescriptions with this external identifier 2164* [MedicationStatement](medicationstatement.html): Return statements with this external identifier 2165* [MolecularSequence](molecularsequence.html): The unique identity for a particular sequence 2166* [NutritionIntake](nutritionintake.html): Return statements with this external identifier 2167* [NutritionOrder](nutritionorder.html): Return nutrition orders with this external identifier 2168* [Observation](observation.html): The unique id for a particular observation 2169* [Person](person.html): A person Identifier 2170* [Procedure](procedure.html): A unique identifier for a procedure 2171* [QuestionnaireResponse](questionnaireresponse.html): The unique identifier for the questionnaire response 2172* [RelatedPerson](relatedperson.html): An Identifier of the RelatedPerson 2173* [RequestOrchestration](requestorchestration.html): External identifiers for the request orchestration 2174* [ResearchSubject](researchsubject.html): Business Identifier for research subject in a study 2175* [RiskAssessment](riskassessment.html): Unique identifier for the assessment 2176* [ServiceRequest](servicerequest.html): Identifiers assigned to this order 2177* [Specimen](specimen.html): The unique identifier associated with the specimen 2178* [SupplyDelivery](supplydelivery.html): External identifier 2179* [SupplyRequest](supplyrequest.html): Business Identifier for SupplyRequest 2180* [Task](task.html): Search for a task instance by its business identifier 2181* [VisionPrescription](visionprescription.html): Return prescriptions with this external identifier 2182</b><br> 2183 * Type: <b>token</b><br> 2184 * 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> 2185 * </p> 2186 */ 2187 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2188 2189 /** 2190 * Search parameter: <b>patient</b> 2191 * <p> 2192 * Description: <b>Multiple Resources: 2193 2194* [Account](account.html): The entity that caused the expenses 2195* [AdverseEvent](adverseevent.html): Subject impacted by event 2196* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2197* [Appointment](appointment.html): One of the individuals of the appointment is this patient 2198* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 2199* [AuditEvent](auditevent.html): Where the activity involved patient data 2200* [Basic](basic.html): Identifies the focus of this resource 2201* [BodyStructure](bodystructure.html): Who this is about 2202* [CarePlan](careplan.html): Who the care plan is for 2203* [CareTeam](careteam.html): Who care team is for 2204* [ChargeItem](chargeitem.html): Individual service was done for/to 2205* [Claim](claim.html): Patient receiving the products or services 2206* [ClaimResponse](claimresponse.html): The subject of care 2207* [ClinicalImpression](clinicalimpression.html): Patient assessed 2208* [Communication](communication.html): Focus of message 2209* [CommunicationRequest](communicationrequest.html): Focus of message 2210* [Composition](composition.html): Who and/or what the composition is about 2211* [Condition](condition.html): Who has the condition? 2212* [Consent](consent.html): Who the consent applies to 2213* [Contract](contract.html): The identity of the subject of the contract (if a patient) 2214* [Coverage](coverage.html): Retrieve coverages for a patient 2215* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 2216* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 2217* [DetectedIssue](detectedissue.html): Associated patient 2218* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2219* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2220* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2221* [DocumentReference](documentreference.html): Who/what is the subject of the document 2222* [Encounter](encounter.html): The patient present at the encounter 2223* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 2224* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2225* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 2226* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2227* [Flag](flag.html): The identity of a subject to list flags for 2228* [Goal](goal.html): Who this goal is intended for 2229* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 2230* [ImagingSelection](imagingselection.html): Who the study is about 2231* [ImagingStudy](imagingstudy.html): Who the study is about 2232* [Immunization](immunization.html): The patient for the vaccination record 2233* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 2234* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 2235* [Invoice](invoice.html): Recipient(s) of goods and services 2236* [List](list.html): If all resources have the same subject 2237* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 2238* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2239* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2240* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2241* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2242* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 2243* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 2244* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2245* [Observation](observation.html): The subject that the observation is about (if patient) 2246* [Person](person.html): The Person links to this Patient 2247* [Procedure](procedure.html): Search by subject - a patient 2248* [Provenance](provenance.html): Where the activity involved patient data 2249* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 2250* [RelatedPerson](relatedperson.html): The patient this related person is related to 2251* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 2252* [ResearchSubject](researchsubject.html): Who or what is part of study 2253* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2254* [ServiceRequest](servicerequest.html): Search by subject - a patient 2255* [Specimen](specimen.html): The patient the specimen comes from 2256* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2257* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2258* [Task](task.html): Search by patient 2259* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2260</b><br> 2261 * Type: <b>reference</b><br> 2262 * 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> 2263 * </p> 2264 */ 2265 @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", target={Patient.class } ) 2266 public static final String SP_PATIENT = "patient"; 2267 /** 2268 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 2269 * <p> 2270 * Description: <b>Multiple Resources: 2271 2272* [Account](account.html): The entity that caused the expenses 2273* [AdverseEvent](adverseevent.html): Subject impacted by event 2274* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for 2275* [Appointment](appointment.html): One of the individuals of the appointment is this patient 2276* [AppointmentResponse](appointmentresponse.html): This Response is for this Patient 2277* [AuditEvent](auditevent.html): Where the activity involved patient data 2278* [Basic](basic.html): Identifies the focus of this resource 2279* [BodyStructure](bodystructure.html): Who this is about 2280* [CarePlan](careplan.html): Who the care plan is for 2281* [CareTeam](careteam.html): Who care team is for 2282* [ChargeItem](chargeitem.html): Individual service was done for/to 2283* [Claim](claim.html): Patient receiving the products or services 2284* [ClaimResponse](claimresponse.html): The subject of care 2285* [ClinicalImpression](clinicalimpression.html): Patient assessed 2286* [Communication](communication.html): Focus of message 2287* [CommunicationRequest](communicationrequest.html): Focus of message 2288* [Composition](composition.html): Who and/or what the composition is about 2289* [Condition](condition.html): Who has the condition? 2290* [Consent](consent.html): Who the consent applies to 2291* [Contract](contract.html): The identity of the subject of the contract (if a patient) 2292* [Coverage](coverage.html): Retrieve coverages for a patient 2293* [CoverageEligibilityRequest](coverageeligibilityrequest.html): The reference to the patient 2294* [CoverageEligibilityResponse](coverageeligibilityresponse.html): The reference to the patient 2295* [DetectedIssue](detectedissue.html): Associated patient 2296* [DeviceRequest](devicerequest.html): Individual the service is ordered for 2297* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device 2298* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient 2299* [DocumentReference](documentreference.html): Who/what is the subject of the document 2300* [Encounter](encounter.html): The patient present at the encounter 2301* [EnrollmentRequest](enrollmentrequest.html): The party to be enrolled 2302* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care 2303* [ExplanationOfBenefit](explanationofbenefit.html): The reference to the patient 2304* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for 2305* [Flag](flag.html): The identity of a subject to list flags for 2306* [Goal](goal.html): Who this goal is intended for 2307* [GuidanceResponse](guidanceresponse.html): The identity of a patient to search for guidance response results 2308* [ImagingSelection](imagingselection.html): Who the study is about 2309* [ImagingStudy](imagingstudy.html): Who the study is about 2310* [Immunization](immunization.html): The patient for the vaccination record 2311* [ImmunizationEvaluation](immunizationevaluation.html): The patient being evaluated 2312* [ImmunizationRecommendation](immunizationrecommendation.html): Who this profile is for 2313* [Invoice](invoice.html): Recipient(s) of goods and services 2314* [List](list.html): If all resources have the same subject 2315* [MeasureReport](measurereport.html): The identity of a patient to search for individual measure report results for 2316* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for 2317* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for 2318* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient 2319* [MedicationStatement](medicationstatement.html): Returns statements for a specific patient. 2320* [MolecularSequence](molecularsequence.html): The subject that the sequence is about 2321* [NutritionIntake](nutritionintake.html): Returns statements for a specific patient. 2322* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement 2323* [Observation](observation.html): The subject that the observation is about (if patient) 2324* [Person](person.html): The Person links to this Patient 2325* [Procedure](procedure.html): Search by subject - a patient 2326* [Provenance](provenance.html): Where the activity involved patient data 2327* [QuestionnaireResponse](questionnaireresponse.html): The patient that is the subject of the questionnaire response 2328* [RelatedPerson](relatedperson.html): The patient this related person is related to 2329* [RequestOrchestration](requestorchestration.html): The identity of a patient to search for request orchestrations 2330* [ResearchSubject](researchsubject.html): Who or what is part of study 2331* [RiskAssessment](riskassessment.html): Who/what does assessment apply to? 2332* [ServiceRequest](servicerequest.html): Search by subject - a patient 2333* [Specimen](specimen.html): The patient the specimen comes from 2334* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied 2335* [SupplyRequest](supplyrequest.html): The patient or subject for whom the supply is destined 2336* [Task](task.html): Search by patient 2337* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for 2338</b><br> 2339 * Type: <b>reference</b><br> 2340 * 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> 2341 * </p> 2342 */ 2343 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 2344 2345/** 2346 * Constant for fluent queries to be used to add include statements. Specifies 2347 * the path value of "<b>MedicationStatement:patient</b>". 2348 */ 2349 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("MedicationStatement:patient").toLocked(); 2350 2351 /** 2352 * Search parameter: <b>medication</b> 2353 * <p> 2354 * Description: <b>Multiple Resources: 2355 2356* [MedicationAdministration](medicationadministration.html): Return administrations of this medication reference 2357* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource 2358* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference 2359* [MedicationStatement](medicationstatement.html): Return statements of this medication reference 2360</b><br> 2361 * Type: <b>reference</b><br> 2362 * Path: <b>MedicationAdministration.medication.reference | MedicationDispense.medication.reference | MedicationRequest.medication.reference | MedicationStatement.medication.reference</b><br> 2363 * </p> 2364 */ 2365 @SearchParamDefinition(name="medication", path="MedicationAdministration.medication.reference | MedicationDispense.medication.reference | MedicationRequest.medication.reference | MedicationStatement.medication.reference", description="Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication reference\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference\r\n* [MedicationStatement](medicationstatement.html): Return statements of this medication reference\r\n", type="reference", target={Medication.class } ) 2366 public static final String SP_MEDICATION = "medication"; 2367 /** 2368 * <b>Fluent Client</b> search parameter constant for <b>medication</b> 2369 * <p> 2370 * Description: <b>Multiple Resources: 2371 2372* [MedicationAdministration](medicationadministration.html): Return administrations of this medication reference 2373* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine resource 2374* [MedicationRequest](medicationrequest.html): Return prescriptions for this medication reference 2375* [MedicationStatement](medicationstatement.html): Return statements of this medication reference 2376</b><br> 2377 * Type: <b>reference</b><br> 2378 * Path: <b>MedicationAdministration.medication.reference | MedicationDispense.medication.reference | MedicationRequest.medication.reference | MedicationStatement.medication.reference</b><br> 2379 * </p> 2380 */ 2381 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MEDICATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MEDICATION); 2382 2383/** 2384 * Constant for fluent queries to be used to add include statements. Specifies 2385 * the path value of "<b>MedicationStatement:medication</b>". 2386 */ 2387 public static final ca.uhn.fhir.model.api.Include INCLUDE_MEDICATION = new ca.uhn.fhir.model.api.Include("MedicationStatement:medication").toLocked(); 2388 2389 /** 2390 * Search parameter: <b>status</b> 2391 * <p> 2392 * Description: <b>Multiple Resources: 2393 2394* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified) 2395* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status 2396* [MedicationRequest](medicationrequest.html): Status of the prescription 2397* [MedicationStatement](medicationstatement.html): Return statements that match the given status 2398</b><br> 2399 * Type: <b>token</b><br> 2400 * Path: <b>MedicationAdministration.status | MedicationDispense.status | MedicationRequest.status | MedicationStatement.status</b><br> 2401 * </p> 2402 */ 2403 @SearchParamDefinition(name="status", path="MedicationAdministration.status | MedicationDispense.status | MedicationRequest.status | MedicationStatement.status", description="Multiple Resources: \r\n\r\n* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified)\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status\r\n* [MedicationRequest](medicationrequest.html): Status of the prescription\r\n* [MedicationStatement](medicationstatement.html): Return statements that match the given status\r\n", type="token" ) 2404 public static final String SP_STATUS = "status"; 2405 /** 2406 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2407 * <p> 2408 * Description: <b>Multiple Resources: 2409 2410* [MedicationAdministration](medicationadministration.html): MedicationAdministration event status (for example one of active/paused/completed/nullified) 2411* [MedicationDispense](medicationdispense.html): Returns dispenses with a specified dispense status 2412* [MedicationRequest](medicationrequest.html): Status of the prescription 2413* [MedicationStatement](medicationstatement.html): Return statements that match the given status 2414</b><br> 2415 * Type: <b>token</b><br> 2416 * Path: <b>MedicationAdministration.status | MedicationDispense.status | MedicationRequest.status | MedicationStatement.status</b><br> 2417 * </p> 2418 */ 2419 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2420 2421 2422} 2423