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