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