001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * A physical entity which is the primary unit of operational and/or administrative interest in a study. 047 */ 048@ResourceDef(name="ResearchSubject", profile="http://hl7.org/fhir/Profile/ResearchSubject") 049public class ResearchSubject extends DomainResource { 050 051 public enum ResearchSubjectStatus { 052 /** 053 * An identified person that can be considered for inclusion in a study. 054 */ 055 CANDIDATE, 056 /** 057 * A person that has met the eligibility criteria for inclusion in a study. 058 */ 059 ELIGIBLE, 060 /** 061 * A person is no longer receiving study intervention and/or being evaluated with tests and procedures according to the protocol, but they are being monitored on a protocol-prescribed schedule. 062 */ 063 FOLLOWUP, 064 /** 065 * A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or 066is ineligible for the study. 067 */ 068 INELIGIBLE, 069 /** 070 * A person for whom registration was not completed 071 */ 072 NOTREGISTERED, 073 /** 074 * A person that has ended their participation on a study either because their treatment/observation is complete or through not 075responding, withdrawal, non-compliance and/or adverse event. 076 */ 077 OFFSTUDY, 078 /** 079 * A person that is enrolled or registered on a study. 080 */ 081 ONSTUDY, 082 /** 083 * The person is receiving the treatment or participating in an activity (e.g. yoga, diet, etc.) that the study is evaluating. 084 */ 085 ONSTUDYINTERVENTION, 086 /** 087 * The subject is being evaluated via tests and assessments according to the study calendar, but is not receiving any intervention. Note that this state is study-dependent and might not exist in all studies. A synonym for this is "short-term follow-up". 088 */ 089 ONSTUDYOBSERVATION, 090 /** 091 * A person is pre-registered for a study. 092 */ 093 PENDINGONSTUDY, 094 /** 095 * A person that is potentially eligible for participation in the study. 096 */ 097 POTENTIALCANDIDATE, 098 /** 099 * A person who is being evaluated for eligibility for a study. 100 */ 101 SCREENING, 102 /** 103 * The person has withdrawn their participation in the study before registration. 104 */ 105 WITHDRAWN, 106 /** 107 * added to help the parsers with the generic types 108 */ 109 NULL; 110 public static ResearchSubjectStatus fromCode(String codeString) throws FHIRException { 111 if (codeString == null || "".equals(codeString)) 112 return null; 113 if ("candidate".equals(codeString)) 114 return CANDIDATE; 115 if ("eligible".equals(codeString)) 116 return ELIGIBLE; 117 if ("follow-up".equals(codeString)) 118 return FOLLOWUP; 119 if ("ineligible".equals(codeString)) 120 return INELIGIBLE; 121 if ("not-registered".equals(codeString)) 122 return NOTREGISTERED; 123 if ("off-study".equals(codeString)) 124 return OFFSTUDY; 125 if ("on-study".equals(codeString)) 126 return ONSTUDY; 127 if ("on-study-intervention".equals(codeString)) 128 return ONSTUDYINTERVENTION; 129 if ("on-study-observation".equals(codeString)) 130 return ONSTUDYOBSERVATION; 131 if ("pending-on-study".equals(codeString)) 132 return PENDINGONSTUDY; 133 if ("potential-candidate".equals(codeString)) 134 return POTENTIALCANDIDATE; 135 if ("screening".equals(codeString)) 136 return SCREENING; 137 if ("withdrawn".equals(codeString)) 138 return WITHDRAWN; 139 if (Configuration.isAcceptInvalidEnums()) 140 return null; 141 else 142 throw new FHIRException("Unknown ResearchSubjectStatus code '"+codeString+"'"); 143 } 144 public String toCode() { 145 switch (this) { 146 case CANDIDATE: return "candidate"; 147 case ELIGIBLE: return "eligible"; 148 case FOLLOWUP: return "follow-up"; 149 case INELIGIBLE: return "ineligible"; 150 case NOTREGISTERED: return "not-registered"; 151 case OFFSTUDY: return "off-study"; 152 case ONSTUDY: return "on-study"; 153 case ONSTUDYINTERVENTION: return "on-study-intervention"; 154 case ONSTUDYOBSERVATION: return "on-study-observation"; 155 case PENDINGONSTUDY: return "pending-on-study"; 156 case POTENTIALCANDIDATE: return "potential-candidate"; 157 case SCREENING: return "screening"; 158 case WITHDRAWN: return "withdrawn"; 159 default: return "?"; 160 } 161 } 162 public String getSystem() { 163 switch (this) { 164 case CANDIDATE: return "http://hl7.org/fhir/research-subject-status"; 165 case ELIGIBLE: return "http://hl7.org/fhir/research-subject-status"; 166 case FOLLOWUP: return "http://hl7.org/fhir/research-subject-status"; 167 case INELIGIBLE: return "http://hl7.org/fhir/research-subject-status"; 168 case NOTREGISTERED: return "http://hl7.org/fhir/research-subject-status"; 169 case OFFSTUDY: return "http://hl7.org/fhir/research-subject-status"; 170 case ONSTUDY: return "http://hl7.org/fhir/research-subject-status"; 171 case ONSTUDYINTERVENTION: return "http://hl7.org/fhir/research-subject-status"; 172 case ONSTUDYOBSERVATION: return "http://hl7.org/fhir/research-subject-status"; 173 case PENDINGONSTUDY: return "http://hl7.org/fhir/research-subject-status"; 174 case POTENTIALCANDIDATE: return "http://hl7.org/fhir/research-subject-status"; 175 case SCREENING: return "http://hl7.org/fhir/research-subject-status"; 176 case WITHDRAWN: return "http://hl7.org/fhir/research-subject-status"; 177 default: return "?"; 178 } 179 } 180 public String getDefinition() { 181 switch (this) { 182 case CANDIDATE: return "An identified person that can be considered for inclusion in a study."; 183 case ELIGIBLE: return "A person that has met the eligibility criteria for inclusion in a study."; 184 case FOLLOWUP: return "A person is no longer receiving study intervention and/or being evaluated with tests and procedures according to the protocol, but they are being monitored on a protocol-prescribed schedule."; 185 case INELIGIBLE: return "A person who did not meet one or more criteria required for participation in a study is considered to have failed screening or\nis ineligible for the study."; 186 case NOTREGISTERED: return "A person for whom registration was not completed"; 187 case OFFSTUDY: return "A person that has ended their participation on a study either because their treatment/observation is complete or through not\nresponding, withdrawal, non-compliance and/or adverse event."; 188 case ONSTUDY: return "A person that is enrolled or registered on a study."; 189 case ONSTUDYINTERVENTION: return "The person is receiving the treatment or participating in an activity (e.g. yoga, diet, etc.) that the study is evaluating."; 190 case ONSTUDYOBSERVATION: return "The subject is being evaluated via tests and assessments according to the study calendar, but is not receiving any intervention. Note that this state is study-dependent and might not exist in all studies. A synonym for this is \"short-term follow-up\"."; 191 case PENDINGONSTUDY: return "A person is pre-registered for a study."; 192 case POTENTIALCANDIDATE: return "A person that is potentially eligible for participation in the study."; 193 case SCREENING: return "A person who is being evaluated for eligibility for a study."; 194 case WITHDRAWN: return "The person has withdrawn their participation in the study before registration."; 195 default: return "?"; 196 } 197 } 198 public String getDisplay() { 199 switch (this) { 200 case CANDIDATE: return "Candidate"; 201 case ELIGIBLE: return "Eligible"; 202 case FOLLOWUP: return "Follow-up"; 203 case INELIGIBLE: return "Ineligible"; 204 case NOTREGISTERED: return "Not Registered"; 205 case OFFSTUDY: return "Off-study"; 206 case ONSTUDY: return "On-study"; 207 case ONSTUDYINTERVENTION: return "On-study-intervention"; 208 case ONSTUDYOBSERVATION: return "On-study-observation"; 209 case PENDINGONSTUDY: return "Pending on-study"; 210 case POTENTIALCANDIDATE: return "Potential Candidate"; 211 case SCREENING: return "Screening"; 212 case WITHDRAWN: return "Withdrawn"; 213 default: return "?"; 214 } 215 } 216 } 217 218 public static class ResearchSubjectStatusEnumFactory implements EnumFactory<ResearchSubjectStatus> { 219 public ResearchSubjectStatus fromCode(String codeString) throws IllegalArgumentException { 220 if (codeString == null || "".equals(codeString)) 221 if (codeString == null || "".equals(codeString)) 222 return null; 223 if ("candidate".equals(codeString)) 224 return ResearchSubjectStatus.CANDIDATE; 225 if ("eligible".equals(codeString)) 226 return ResearchSubjectStatus.ELIGIBLE; 227 if ("follow-up".equals(codeString)) 228 return ResearchSubjectStatus.FOLLOWUP; 229 if ("ineligible".equals(codeString)) 230 return ResearchSubjectStatus.INELIGIBLE; 231 if ("not-registered".equals(codeString)) 232 return ResearchSubjectStatus.NOTREGISTERED; 233 if ("off-study".equals(codeString)) 234 return ResearchSubjectStatus.OFFSTUDY; 235 if ("on-study".equals(codeString)) 236 return ResearchSubjectStatus.ONSTUDY; 237 if ("on-study-intervention".equals(codeString)) 238 return ResearchSubjectStatus.ONSTUDYINTERVENTION; 239 if ("on-study-observation".equals(codeString)) 240 return ResearchSubjectStatus.ONSTUDYOBSERVATION; 241 if ("pending-on-study".equals(codeString)) 242 return ResearchSubjectStatus.PENDINGONSTUDY; 243 if ("potential-candidate".equals(codeString)) 244 return ResearchSubjectStatus.POTENTIALCANDIDATE; 245 if ("screening".equals(codeString)) 246 return ResearchSubjectStatus.SCREENING; 247 if ("withdrawn".equals(codeString)) 248 return ResearchSubjectStatus.WITHDRAWN; 249 throw new IllegalArgumentException("Unknown ResearchSubjectStatus code '"+codeString+"'"); 250 } 251 public Enumeration<ResearchSubjectStatus> fromType(Base code) throws FHIRException { 252 if (code == null) 253 return null; 254 if (code.isEmpty()) 255 return new Enumeration<ResearchSubjectStatus>(this); 256 String codeString = ((PrimitiveType) code).asStringValue(); 257 if (codeString == null || "".equals(codeString)) 258 return null; 259 if ("candidate".equals(codeString)) 260 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.CANDIDATE); 261 if ("eligible".equals(codeString)) 262 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.ELIGIBLE); 263 if ("follow-up".equals(codeString)) 264 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.FOLLOWUP); 265 if ("ineligible".equals(codeString)) 266 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.INELIGIBLE); 267 if ("not-registered".equals(codeString)) 268 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.NOTREGISTERED); 269 if ("off-study".equals(codeString)) 270 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.OFFSTUDY); 271 if ("on-study".equals(codeString)) 272 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.ONSTUDY); 273 if ("on-study-intervention".equals(codeString)) 274 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.ONSTUDYINTERVENTION); 275 if ("on-study-observation".equals(codeString)) 276 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.ONSTUDYOBSERVATION); 277 if ("pending-on-study".equals(codeString)) 278 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.PENDINGONSTUDY); 279 if ("potential-candidate".equals(codeString)) 280 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.POTENTIALCANDIDATE); 281 if ("screening".equals(codeString)) 282 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.SCREENING); 283 if ("withdrawn".equals(codeString)) 284 return new Enumeration<ResearchSubjectStatus>(this, ResearchSubjectStatus.WITHDRAWN); 285 throw new FHIRException("Unknown ResearchSubjectStatus code '"+codeString+"'"); 286 } 287 public String toCode(ResearchSubjectStatus code) { 288 if (code == ResearchSubjectStatus.CANDIDATE) 289 return "candidate"; 290 if (code == ResearchSubjectStatus.ELIGIBLE) 291 return "eligible"; 292 if (code == ResearchSubjectStatus.FOLLOWUP) 293 return "follow-up"; 294 if (code == ResearchSubjectStatus.INELIGIBLE) 295 return "ineligible"; 296 if (code == ResearchSubjectStatus.NOTREGISTERED) 297 return "not-registered"; 298 if (code == ResearchSubjectStatus.OFFSTUDY) 299 return "off-study"; 300 if (code == ResearchSubjectStatus.ONSTUDY) 301 return "on-study"; 302 if (code == ResearchSubjectStatus.ONSTUDYINTERVENTION) 303 return "on-study-intervention"; 304 if (code == ResearchSubjectStatus.ONSTUDYOBSERVATION) 305 return "on-study-observation"; 306 if (code == ResearchSubjectStatus.PENDINGONSTUDY) 307 return "pending-on-study"; 308 if (code == ResearchSubjectStatus.POTENTIALCANDIDATE) 309 return "potential-candidate"; 310 if (code == ResearchSubjectStatus.SCREENING) 311 return "screening"; 312 if (code == ResearchSubjectStatus.WITHDRAWN) 313 return "withdrawn"; 314 return "?"; 315 } 316 public String toSystem(ResearchSubjectStatus code) { 317 return code.getSystem(); 318 } 319 } 320 321 /** 322 * Identifiers assigned to this research subject for a study. 323 */ 324 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 325 @Description(shortDefinition="Business Identifier for research subject in a study", formalDefinition="Identifiers assigned to this research subject for a study." ) 326 protected List<Identifier> identifier; 327 328 /** 329 * The current state of the subject. 330 */ 331 @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) 332 @Description(shortDefinition="candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", formalDefinition="The current state of the subject." ) 333 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-subject-status") 334 protected Enumeration<ResearchSubjectStatus> status; 335 336 /** 337 * The dates the subject began and ended their participation in the study. 338 */ 339 @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) 340 @Description(shortDefinition="Start and end of participation", formalDefinition="The dates the subject began and ended their participation in the study." ) 341 protected Period period; 342 343 /** 344 * Reference to the study the subject is participating in. 345 */ 346 @Child(name = "study", type = {ResearchStudy.class}, order=3, min=1, max=1, modifier=false, summary=true) 347 @Description(shortDefinition="Study subject is part of", formalDefinition="Reference to the study the subject is participating in." ) 348 protected Reference study; 349 350 /** 351 * The actual object that is the target of the reference (Reference to the study the subject is participating in.) 352 */ 353 protected ResearchStudy studyTarget; 354 355 /** 356 * The record of the person or animal who is involved in the study. 357 */ 358 @Child(name = "individual", type = {Patient.class}, order=4, min=1, max=1, modifier=false, summary=true) 359 @Description(shortDefinition="Who is part of study", formalDefinition="The record of the person or animal who is involved in the study." ) 360 protected Reference individual; 361 362 /** 363 * The actual object that is the target of the reference (The record of the person or animal who is involved in the study.) 364 */ 365 protected Patient individualTarget; 366 367 /** 368 * The name of the arm in the study the subject is expected to follow as part of this study. 369 */ 370 @Child(name = "assignedArm", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) 371 @Description(shortDefinition="What path should be followed", formalDefinition="The name of the arm in the study the subject is expected to follow as part of this study." ) 372 protected StringType assignedArm; 373 374 /** 375 * The name of the arm in the study the subject actually followed as part of this study. 376 */ 377 @Child(name = "actualArm", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) 378 @Description(shortDefinition="What path was followed", formalDefinition="The name of the arm in the study the subject actually followed as part of this study." ) 379 protected StringType actualArm; 380 381 /** 382 * A record of the patient's informed agreement to participate in the study. 383 */ 384 @Child(name = "consent", type = {Consent.class}, order=7, min=0, max=1, modifier=false, summary=false) 385 @Description(shortDefinition="Agreement to participate in study", formalDefinition="A record of the patient's informed agreement to participate in the study." ) 386 protected Reference consent; 387 388 /** 389 * The actual object that is the target of the reference (A record of the patient's informed agreement to participate in the study.) 390 */ 391 protected Consent consentTarget; 392 393 private static final long serialVersionUID = -884133739L; 394 395 /** 396 * Constructor 397 */ 398 public ResearchSubject() { 399 super(); 400 } 401 402 /** 403 * Constructor 404 */ 405 public ResearchSubject(Enumeration<ResearchSubjectStatus> status, Reference study, Reference individual) { 406 super(); 407 this.status = status; 408 this.study = study; 409 this.individual = individual; 410 } 411 412 /** 413 * @return {@link #identifier} (Identifiers assigned to this research subject for a study.) 414 */ 415 public List<Identifier> getIdentifier() { 416 if (this.identifier == null) 417 this.identifier = new ArrayList<Identifier>(); 418 return this.identifier; 419 } 420 421 /** 422 * @return Returns a reference to <code>this</code> for easy method chaining 423 */ 424 public ResearchSubject setIdentifier(List<Identifier> theIdentifier) { 425 this.identifier = theIdentifier; 426 return this; 427 } 428 429 public boolean hasIdentifier() { 430 if (this.identifier == null) 431 return false; 432 for (Identifier item : this.identifier) 433 if (!item.isEmpty()) 434 return true; 435 return false; 436 } 437 438 public Identifier addIdentifier() { //3 439 Identifier t = new Identifier(); 440 if (this.identifier == null) 441 this.identifier = new ArrayList<Identifier>(); 442 this.identifier.add(t); 443 return t; 444 } 445 446 public ResearchSubject addIdentifier(Identifier t) { //3 447 if (t == null) 448 return this; 449 if (this.identifier == null) 450 this.identifier = new ArrayList<Identifier>(); 451 this.identifier.add(t); 452 return this; 453 } 454 455 /** 456 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 457 */ 458 public Identifier getIdentifierFirstRep() { 459 if (getIdentifier().isEmpty()) { 460 addIdentifier(); 461 } 462 return getIdentifier().get(0); 463 } 464 465 /** 466 * @return {@link #status} (The current state of the subject.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 467 */ 468 public Enumeration<ResearchSubjectStatus> getStatusElement() { 469 if (this.status == null) 470 if (Configuration.errorOnAutoCreate()) 471 throw new Error("Attempt to auto-create ResearchSubject.status"); 472 else if (Configuration.doAutoCreate()) 473 this.status = new Enumeration<ResearchSubjectStatus>(new ResearchSubjectStatusEnumFactory()); // bb 474 return this.status; 475 } 476 477 public boolean hasStatusElement() { 478 return this.status != null && !this.status.isEmpty(); 479 } 480 481 public boolean hasStatus() { 482 return this.status != null && !this.status.isEmpty(); 483 } 484 485 /** 486 * @param value {@link #status} (The current state of the subject.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 487 */ 488 public ResearchSubject setStatusElement(Enumeration<ResearchSubjectStatus> value) { 489 this.status = value; 490 return this; 491 } 492 493 /** 494 * @return The current state of the subject. 495 */ 496 public ResearchSubjectStatus getStatus() { 497 return this.status == null ? null : this.status.getValue(); 498 } 499 500 /** 501 * @param value The current state of the subject. 502 */ 503 public ResearchSubject setStatus(ResearchSubjectStatus value) { 504 if (this.status == null) 505 this.status = new Enumeration<ResearchSubjectStatus>(new ResearchSubjectStatusEnumFactory()); 506 this.status.setValue(value); 507 return this; 508 } 509 510 /** 511 * @return {@link #period} (The dates the subject began and ended their participation in the study.) 512 */ 513 public Period getPeriod() { 514 if (this.period == null) 515 if (Configuration.errorOnAutoCreate()) 516 throw new Error("Attempt to auto-create ResearchSubject.period"); 517 else if (Configuration.doAutoCreate()) 518 this.period = new Period(); // cc 519 return this.period; 520 } 521 522 public boolean hasPeriod() { 523 return this.period != null && !this.period.isEmpty(); 524 } 525 526 /** 527 * @param value {@link #period} (The dates the subject began and ended their participation in the study.) 528 */ 529 public ResearchSubject setPeriod(Period value) { 530 this.period = value; 531 return this; 532 } 533 534 /** 535 * @return {@link #study} (Reference to the study the subject is participating in.) 536 */ 537 public Reference getStudy() { 538 if (this.study == null) 539 if (Configuration.errorOnAutoCreate()) 540 throw new Error("Attempt to auto-create ResearchSubject.study"); 541 else if (Configuration.doAutoCreate()) 542 this.study = new Reference(); // cc 543 return this.study; 544 } 545 546 public boolean hasStudy() { 547 return this.study != null && !this.study.isEmpty(); 548 } 549 550 /** 551 * @param value {@link #study} (Reference to the study the subject is participating in.) 552 */ 553 public ResearchSubject setStudy(Reference value) { 554 this.study = value; 555 return this; 556 } 557 558 /** 559 * @return {@link #study} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Reference to the study the subject is participating in.) 560 */ 561 public ResearchStudy getStudyTarget() { 562 if (this.studyTarget == null) 563 if (Configuration.errorOnAutoCreate()) 564 throw new Error("Attempt to auto-create ResearchSubject.study"); 565 else if (Configuration.doAutoCreate()) 566 this.studyTarget = new ResearchStudy(); // aa 567 return this.studyTarget; 568 } 569 570 /** 571 * @param value {@link #study} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Reference to the study the subject is participating in.) 572 */ 573 public ResearchSubject setStudyTarget(ResearchStudy value) { 574 this.studyTarget = value; 575 return this; 576 } 577 578 /** 579 * @return {@link #individual} (The record of the person or animal who is involved in the study.) 580 */ 581 public Reference getIndividual() { 582 if (this.individual == null) 583 if (Configuration.errorOnAutoCreate()) 584 throw new Error("Attempt to auto-create ResearchSubject.individual"); 585 else if (Configuration.doAutoCreate()) 586 this.individual = new Reference(); // cc 587 return this.individual; 588 } 589 590 public boolean hasIndividual() { 591 return this.individual != null && !this.individual.isEmpty(); 592 } 593 594 /** 595 * @param value {@link #individual} (The record of the person or animal who is involved in the study.) 596 */ 597 public ResearchSubject setIndividual(Reference value) { 598 this.individual = value; 599 return this; 600 } 601 602 /** 603 * @return {@link #individual} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The record of the person or animal who is involved in the study.) 604 */ 605 public Patient getIndividualTarget() { 606 if (this.individualTarget == null) 607 if (Configuration.errorOnAutoCreate()) 608 throw new Error("Attempt to auto-create ResearchSubject.individual"); 609 else if (Configuration.doAutoCreate()) 610 this.individualTarget = new Patient(); // aa 611 return this.individualTarget; 612 } 613 614 /** 615 * @param value {@link #individual} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The record of the person or animal who is involved in the study.) 616 */ 617 public ResearchSubject setIndividualTarget(Patient value) { 618 this.individualTarget = value; 619 return this; 620 } 621 622 /** 623 * @return {@link #assignedArm} (The name of the arm in the study the subject is expected to follow as part of this study.). This is the underlying object with id, value and extensions. The accessor "getAssignedArm" gives direct access to the value 624 */ 625 public StringType getAssignedArmElement() { 626 if (this.assignedArm == null) 627 if (Configuration.errorOnAutoCreate()) 628 throw new Error("Attempt to auto-create ResearchSubject.assignedArm"); 629 else if (Configuration.doAutoCreate()) 630 this.assignedArm = new StringType(); // bb 631 return this.assignedArm; 632 } 633 634 public boolean hasAssignedArmElement() { 635 return this.assignedArm != null && !this.assignedArm.isEmpty(); 636 } 637 638 public boolean hasAssignedArm() { 639 return this.assignedArm != null && !this.assignedArm.isEmpty(); 640 } 641 642 /** 643 * @param value {@link #assignedArm} (The name of the arm in the study the subject is expected to follow as part of this study.). This is the underlying object with id, value and extensions. The accessor "getAssignedArm" gives direct access to the value 644 */ 645 public ResearchSubject setAssignedArmElement(StringType value) { 646 this.assignedArm = value; 647 return this; 648 } 649 650 /** 651 * @return The name of the arm in the study the subject is expected to follow as part of this study. 652 */ 653 public String getAssignedArm() { 654 return this.assignedArm == null ? null : this.assignedArm.getValue(); 655 } 656 657 /** 658 * @param value The name of the arm in the study the subject is expected to follow as part of this study. 659 */ 660 public ResearchSubject setAssignedArm(String value) { 661 if (Utilities.noString(value)) 662 this.assignedArm = null; 663 else { 664 if (this.assignedArm == null) 665 this.assignedArm = new StringType(); 666 this.assignedArm.setValue(value); 667 } 668 return this; 669 } 670 671 /** 672 * @return {@link #actualArm} (The name of the arm in the study the subject actually followed as part of this study.). This is the underlying object with id, value and extensions. The accessor "getActualArm" gives direct access to the value 673 */ 674 public StringType getActualArmElement() { 675 if (this.actualArm == null) 676 if (Configuration.errorOnAutoCreate()) 677 throw new Error("Attempt to auto-create ResearchSubject.actualArm"); 678 else if (Configuration.doAutoCreate()) 679 this.actualArm = new StringType(); // bb 680 return this.actualArm; 681 } 682 683 public boolean hasActualArmElement() { 684 return this.actualArm != null && !this.actualArm.isEmpty(); 685 } 686 687 public boolean hasActualArm() { 688 return this.actualArm != null && !this.actualArm.isEmpty(); 689 } 690 691 /** 692 * @param value {@link #actualArm} (The name of the arm in the study the subject actually followed as part of this study.). This is the underlying object with id, value and extensions. The accessor "getActualArm" gives direct access to the value 693 */ 694 public ResearchSubject setActualArmElement(StringType value) { 695 this.actualArm = value; 696 return this; 697 } 698 699 /** 700 * @return The name of the arm in the study the subject actually followed as part of this study. 701 */ 702 public String getActualArm() { 703 return this.actualArm == null ? null : this.actualArm.getValue(); 704 } 705 706 /** 707 * @param value The name of the arm in the study the subject actually followed as part of this study. 708 */ 709 public ResearchSubject setActualArm(String value) { 710 if (Utilities.noString(value)) 711 this.actualArm = null; 712 else { 713 if (this.actualArm == null) 714 this.actualArm = new StringType(); 715 this.actualArm.setValue(value); 716 } 717 return this; 718 } 719 720 /** 721 * @return {@link #consent} (A record of the patient's informed agreement to participate in the study.) 722 */ 723 public Reference getConsent() { 724 if (this.consent == null) 725 if (Configuration.errorOnAutoCreate()) 726 throw new Error("Attempt to auto-create ResearchSubject.consent"); 727 else if (Configuration.doAutoCreate()) 728 this.consent = new Reference(); // cc 729 return this.consent; 730 } 731 732 public boolean hasConsent() { 733 return this.consent != null && !this.consent.isEmpty(); 734 } 735 736 /** 737 * @param value {@link #consent} (A record of the patient's informed agreement to participate in the study.) 738 */ 739 public ResearchSubject setConsent(Reference value) { 740 this.consent = value; 741 return this; 742 } 743 744 /** 745 * @return {@link #consent} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (A record of the patient's informed agreement to participate in the study.) 746 */ 747 public Consent getConsentTarget() { 748 if (this.consentTarget == null) 749 if (Configuration.errorOnAutoCreate()) 750 throw new Error("Attempt to auto-create ResearchSubject.consent"); 751 else if (Configuration.doAutoCreate()) 752 this.consentTarget = new Consent(); // aa 753 return this.consentTarget; 754 } 755 756 /** 757 * @param value {@link #consent} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (A record of the patient's informed agreement to participate in the study.) 758 */ 759 public ResearchSubject setConsentTarget(Consent value) { 760 this.consentTarget = value; 761 return this; 762 } 763 764 protected void listChildren(List<Property> children) { 765 super.listChildren(children); 766 children.add(new Property("identifier", "Identifier", "Identifiers assigned to this research subject for a study.", 0, java.lang.Integer.MAX_VALUE, identifier)); 767 children.add(new Property("status", "code", "The current state of the subject.", 0, 1, status)); 768 children.add(new Property("period", "Period", "The dates the subject began and ended their participation in the study.", 0, 1, period)); 769 children.add(new Property("study", "Reference(ResearchStudy)", "Reference to the study the subject is participating in.", 0, 1, study)); 770 children.add(new Property("individual", "Reference(Patient)", "The record of the person or animal who is involved in the study.", 0, 1, individual)); 771 children.add(new Property("assignedArm", "string", "The name of the arm in the study the subject is expected to follow as part of this study.", 0, 1, assignedArm)); 772 children.add(new Property("actualArm", "string", "The name of the arm in the study the subject actually followed as part of this study.", 0, 1, actualArm)); 773 children.add(new Property("consent", "Reference(Consent)", "A record of the patient's informed agreement to participate in the study.", 0, 1, consent)); 774 } 775 776 @Override 777 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 778 switch (_hash) { 779 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers assigned to this research subject for a study.", 0, java.lang.Integer.MAX_VALUE, identifier); 780 case -892481550: /*status*/ return new Property("status", "code", "The current state of the subject.", 0, 1, status); 781 case -991726143: /*period*/ return new Property("period", "Period", "The dates the subject began and ended their participation in the study.", 0, 1, period); 782 case 109776329: /*study*/ return new Property("study", "Reference(ResearchStudy)", "Reference to the study the subject is participating in.", 0, 1, study); 783 case -46292327: /*individual*/ return new Property("individual", "Reference(Patient)", "The record of the person or animal who is involved in the study.", 0, 1, individual); 784 case 1741912494: /*assignedArm*/ return new Property("assignedArm", "string", "The name of the arm in the study the subject is expected to follow as part of this study.", 0, 1, assignedArm); 785 case 528827886: /*actualArm*/ return new Property("actualArm", "string", "The name of the arm in the study the subject actually followed as part of this study.", 0, 1, actualArm); 786 case 951500826: /*consent*/ return new Property("consent", "Reference(Consent)", "A record of the patient's informed agreement to participate in the study.", 0, 1, consent); 787 default: return super.getNamedProperty(_hash, _name, _checkValid); 788 } 789 790 } 791 792 @Override 793 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 794 switch (hash) { 795 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 796 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ResearchSubjectStatus> 797 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 798 case 109776329: /*study*/ return this.study == null ? new Base[0] : new Base[] {this.study}; // Reference 799 case -46292327: /*individual*/ return this.individual == null ? new Base[0] : new Base[] {this.individual}; // Reference 800 case 1741912494: /*assignedArm*/ return this.assignedArm == null ? new Base[0] : new Base[] {this.assignedArm}; // StringType 801 case 528827886: /*actualArm*/ return this.actualArm == null ? new Base[0] : new Base[] {this.actualArm}; // StringType 802 case 951500826: /*consent*/ return this.consent == null ? new Base[0] : new Base[] {this.consent}; // Reference 803 default: return super.getProperty(hash, name, checkValid); 804 } 805 806 } 807 808 @Override 809 public Base setProperty(int hash, String name, Base value) throws FHIRException { 810 switch (hash) { 811 case -1618432855: // identifier 812 this.getIdentifier().add(castToIdentifier(value)); // Identifier 813 return value; 814 case -892481550: // status 815 value = new ResearchSubjectStatusEnumFactory().fromType(castToCode(value)); 816 this.status = (Enumeration) value; // Enumeration<ResearchSubjectStatus> 817 return value; 818 case -991726143: // period 819 this.period = castToPeriod(value); // Period 820 return value; 821 case 109776329: // study 822 this.study = castToReference(value); // Reference 823 return value; 824 case -46292327: // individual 825 this.individual = castToReference(value); // Reference 826 return value; 827 case 1741912494: // assignedArm 828 this.assignedArm = castToString(value); // StringType 829 return value; 830 case 528827886: // actualArm 831 this.actualArm = castToString(value); // StringType 832 return value; 833 case 951500826: // consent 834 this.consent = castToReference(value); // Reference 835 return value; 836 default: return super.setProperty(hash, name, value); 837 } 838 839 } 840 841 @Override 842 public Base setProperty(String name, Base value) throws FHIRException { 843 if (name.equals("identifier")) { 844 this.getIdentifier().add(castToIdentifier(value)); 845 } else if (name.equals("status")) { 846 value = new ResearchSubjectStatusEnumFactory().fromType(castToCode(value)); 847 this.status = (Enumeration) value; // Enumeration<ResearchSubjectStatus> 848 } else if (name.equals("period")) { 849 this.period = castToPeriod(value); // Period 850 } else if (name.equals("study")) { 851 this.study = castToReference(value); // Reference 852 } else if (name.equals("individual")) { 853 this.individual = castToReference(value); // Reference 854 } else if (name.equals("assignedArm")) { 855 this.assignedArm = castToString(value); // StringType 856 } else if (name.equals("actualArm")) { 857 this.actualArm = castToString(value); // StringType 858 } else if (name.equals("consent")) { 859 this.consent = castToReference(value); // Reference 860 } else 861 return super.setProperty(name, value); 862 return value; 863 } 864 865 @Override 866 public Base makeProperty(int hash, String name) throws FHIRException { 867 switch (hash) { 868 case -1618432855: return addIdentifier(); 869 case -892481550: return getStatusElement(); 870 case -991726143: return getPeriod(); 871 case 109776329: return getStudy(); 872 case -46292327: return getIndividual(); 873 case 1741912494: return getAssignedArmElement(); 874 case 528827886: return getActualArmElement(); 875 case 951500826: return getConsent(); 876 default: return super.makeProperty(hash, name); 877 } 878 879 } 880 881 @Override 882 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 883 switch (hash) { 884 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 885 case -892481550: /*status*/ return new String[] {"code"}; 886 case -991726143: /*period*/ return new String[] {"Period"}; 887 case 109776329: /*study*/ return new String[] {"Reference"}; 888 case -46292327: /*individual*/ return new String[] {"Reference"}; 889 case 1741912494: /*assignedArm*/ return new String[] {"string"}; 890 case 528827886: /*actualArm*/ return new String[] {"string"}; 891 case 951500826: /*consent*/ return new String[] {"Reference"}; 892 default: return super.getTypesForProperty(hash, name); 893 } 894 895 } 896 897 @Override 898 public Base addChild(String name) throws FHIRException { 899 if (name.equals("identifier")) { 900 return addIdentifier(); 901 } 902 else if (name.equals("status")) { 903 throw new FHIRException("Cannot call addChild on a primitive type ResearchSubject.status"); 904 } 905 else if (name.equals("period")) { 906 this.period = new Period(); 907 return this.period; 908 } 909 else if (name.equals("study")) { 910 this.study = new Reference(); 911 return this.study; 912 } 913 else if (name.equals("individual")) { 914 this.individual = new Reference(); 915 return this.individual; 916 } 917 else if (name.equals("assignedArm")) { 918 throw new FHIRException("Cannot call addChild on a primitive type ResearchSubject.assignedArm"); 919 } 920 else if (name.equals("actualArm")) { 921 throw new FHIRException("Cannot call addChild on a primitive type ResearchSubject.actualArm"); 922 } 923 else if (name.equals("consent")) { 924 this.consent = new Reference(); 925 return this.consent; 926 } 927 else 928 return super.addChild(name); 929 } 930 931 public String fhirType() { 932 return "ResearchSubject"; 933 934 } 935 936 public ResearchSubject copy() { 937 ResearchSubject dst = new ResearchSubject(); 938 copyValues(dst); 939 if (identifier != null) { 940 dst.identifier = new ArrayList<Identifier>(); 941 for (Identifier i : identifier) 942 dst.identifier.add(i.copy()); 943 }; 944 dst.status = status == null ? null : status.copy(); 945 dst.period = period == null ? null : period.copy(); 946 dst.study = study == null ? null : study.copy(); 947 dst.individual = individual == null ? null : individual.copy(); 948 dst.assignedArm = assignedArm == null ? null : assignedArm.copy(); 949 dst.actualArm = actualArm == null ? null : actualArm.copy(); 950 dst.consent = consent == null ? null : consent.copy(); 951 return dst; 952 } 953 954 protected ResearchSubject typedCopy() { 955 return copy(); 956 } 957 958 @Override 959 public boolean equalsDeep(Base other_) { 960 if (!super.equalsDeep(other_)) 961 return false; 962 if (!(other_ instanceof ResearchSubject)) 963 return false; 964 ResearchSubject o = (ResearchSubject) other_; 965 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(period, o.period, true) 966 && compareDeep(study, o.study, true) && compareDeep(individual, o.individual, true) && compareDeep(assignedArm, o.assignedArm, true) 967 && compareDeep(actualArm, o.actualArm, true) && compareDeep(consent, o.consent, true); 968 } 969 970 @Override 971 public boolean equalsShallow(Base other_) { 972 if (!super.equalsShallow(other_)) 973 return false; 974 if (!(other_ instanceof ResearchSubject)) 975 return false; 976 ResearchSubject o = (ResearchSubject) other_; 977 return compareValues(status, o.status, true) && compareValues(assignedArm, o.assignedArm, true) && compareValues(actualArm, o.actualArm, true) 978 ; 979 } 980 981 public boolean isEmpty() { 982 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, period 983 , study, individual, assignedArm, actualArm, consent); 984 } 985 986 @Override 987 public ResourceType getResourceType() { 988 return ResourceType.ResearchSubject; 989 } 990 991 /** 992 * Search parameter: <b>date</b> 993 * <p> 994 * Description: <b>Start and end of participation</b><br> 995 * Type: <b>date</b><br> 996 * Path: <b>ResearchSubject.period</b><br> 997 * </p> 998 */ 999 @SearchParamDefinition(name="date", path="ResearchSubject.period", description="Start and end of participation", type="date" ) 1000 public static final String SP_DATE = "date"; 1001 /** 1002 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1003 * <p> 1004 * Description: <b>Start and end of participation</b><br> 1005 * Type: <b>date</b><br> 1006 * Path: <b>ResearchSubject.period</b><br> 1007 * </p> 1008 */ 1009 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1010 1011 /** 1012 * Search parameter: <b>identifier</b> 1013 * <p> 1014 * Description: <b>Business Identifier for research subject in a study</b><br> 1015 * Type: <b>token</b><br> 1016 * Path: <b>ResearchSubject.identifier</b><br> 1017 * </p> 1018 */ 1019 @SearchParamDefinition(name="identifier", path="ResearchSubject.identifier", description="Business Identifier for research subject in a study", type="token" ) 1020 public static final String SP_IDENTIFIER = "identifier"; 1021 /** 1022 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1023 * <p> 1024 * Description: <b>Business Identifier for research subject in a study</b><br> 1025 * Type: <b>token</b><br> 1026 * Path: <b>ResearchSubject.identifier</b><br> 1027 * </p> 1028 */ 1029 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1030 1031 /** 1032 * Search parameter: <b>study</b> 1033 * <p> 1034 * Description: <b>Study subject is part of</b><br> 1035 * Type: <b>reference</b><br> 1036 * Path: <b>ResearchSubject.study</b><br> 1037 * </p> 1038 */ 1039 @SearchParamDefinition(name="study", path="ResearchSubject.study", description="Study subject is part of", type="reference", target={ResearchStudy.class } ) 1040 public static final String SP_STUDY = "study"; 1041 /** 1042 * <b>Fluent Client</b> search parameter constant for <b>study</b> 1043 * <p> 1044 * Description: <b>Study subject is part of</b><br> 1045 * Type: <b>reference</b><br> 1046 * Path: <b>ResearchSubject.study</b><br> 1047 * </p> 1048 */ 1049 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam STUDY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_STUDY); 1050 1051/** 1052 * Constant for fluent queries to be used to add include statements. Specifies 1053 * the path value of "<b>ResearchSubject:study</b>". 1054 */ 1055 public static final ca.uhn.fhir.model.api.Include INCLUDE_STUDY = new ca.uhn.fhir.model.api.Include("ResearchSubject:study").toLocked(); 1056 1057 /** 1058 * Search parameter: <b>individual</b> 1059 * <p> 1060 * Description: <b>Who is part of study</b><br> 1061 * Type: <b>reference</b><br> 1062 * Path: <b>ResearchSubject.individual</b><br> 1063 * </p> 1064 */ 1065 @SearchParamDefinition(name="individual", path="ResearchSubject.individual", description="Who is part of study", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Patient") }, target={Patient.class } ) 1066 public static final String SP_INDIVIDUAL = "individual"; 1067 /** 1068 * <b>Fluent Client</b> search parameter constant for <b>individual</b> 1069 * <p> 1070 * Description: <b>Who is part of study</b><br> 1071 * Type: <b>reference</b><br> 1072 * Path: <b>ResearchSubject.individual</b><br> 1073 * </p> 1074 */ 1075 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INDIVIDUAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INDIVIDUAL); 1076 1077/** 1078 * Constant for fluent queries to be used to add include statements. Specifies 1079 * the path value of "<b>ResearchSubject:individual</b>". 1080 */ 1081 public static final ca.uhn.fhir.model.api.Include INCLUDE_INDIVIDUAL = new ca.uhn.fhir.model.api.Include("ResearchSubject:individual").toLocked(); 1082 1083 /** 1084 * Search parameter: <b>patient</b> 1085 * <p> 1086 * Description: <b>Who is part of study</b><br> 1087 * Type: <b>reference</b><br> 1088 * Path: <b>ResearchSubject.individual</b><br> 1089 * </p> 1090 */ 1091 @SearchParamDefinition(name="patient", path="ResearchSubject.individual", description="Who is part of study", type="reference", target={Patient.class } ) 1092 public static final String SP_PATIENT = "patient"; 1093 /** 1094 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1095 * <p> 1096 * Description: <b>Who is part of study</b><br> 1097 * Type: <b>reference</b><br> 1098 * Path: <b>ResearchSubject.individual</b><br> 1099 * </p> 1100 */ 1101 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1102 1103/** 1104 * Constant for fluent queries to be used to add include statements. Specifies 1105 * the path value of "<b>ResearchSubject:patient</b>". 1106 */ 1107 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ResearchSubject:patient").toLocked(); 1108 1109 /** 1110 * Search parameter: <b>status</b> 1111 * <p> 1112 * Description: <b>candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn</b><br> 1113 * Type: <b>token</b><br> 1114 * Path: <b>ResearchSubject.status</b><br> 1115 * </p> 1116 */ 1117 @SearchParamDefinition(name="status", path="ResearchSubject.status", description="candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", type="token" ) 1118 public static final String SP_STATUS = "status"; 1119 /** 1120 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1121 * <p> 1122 * Description: <b>candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn</b><br> 1123 * Type: <b>token</b><br> 1124 * Path: <b>ResearchSubject.status</b><br> 1125 * </p> 1126 */ 1127 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 1128 1129 1130} 1131