Package ca.uhn.fhir.model.dstu.resource

Source Code of ca.uhn.fhir.model.dstu.resource.SequencingAnalysis
















package ca.uhn.fhir.model.dstu.resource;


import java.util.Date;
import java.util.List;

import ca.uhn.fhir.model.api.BaseElement;
import ca.uhn.fhir.model.api.BaseResource;
import ca.uhn.fhir.model.api.IElement;
import ca.uhn.fhir.model.api.IResource;
import ca.uhn.fhir.model.api.IResourceBlock;
import ca.uhn.fhir.model.api.TemporalPrecisionEnum;
import ca.uhn.fhir.model.api.annotation.Block;
import ca.uhn.fhir.model.api.annotation.Child;
import ca.uhn.fhir.model.api.annotation.Description;
import ca.uhn.fhir.model.api.annotation.ResourceDef;
import ca.uhn.fhir.model.dstu.composite.AttachmentDt;
import ca.uhn.fhir.model.dstu.composite.ResourceReferenceDt;
import ca.uhn.fhir.model.primitive.CodeDt;
import ca.uhn.fhir.model.primitive.DateDt;
import ca.uhn.fhir.model.primitive.StringDt;


/**
* HAPI/FHIR <b>SequencingAnalysis</b> Resource
* (Sequencing Analysis)
*
* <p>
* <b>Definition:</b>
* Computational analysis on a patient's genetic raw file
* </p>
*
* <p>
* <b>Requirements:</b>
*
* </p>
*
* <p>
* <b>Profile Definition:</b>
* <a href="http://hl7.org/fhir/profiles/SequencingAnalysis">http://hl7.org/fhir/profiles/SequencingAnalysis</a>
* </p>
*
*/
@ResourceDef(name="SequencingAnalysis", profile="http://hl7.org/fhir/profiles/SequencingAnalysis", id="sequencinganalysis")
public class SequencingAnalysis extends BaseResource implements IResource {

  /**
   * Search parameter constant for <b>subject</b>
   * <p>
   * Description: <b>Subject of the analysis</b><br/>
   * Type: <b>reference</b><br/>
   * Path: <b>SequencingAnalysis.subject</b><br/>
   * </p>
   */
  public static final String SP_SUBJECT = "subject";

  /**
   * Search parameter constant for <b>date</b>
   * <p>
   * Description: <b>Date when result of the analysis is updated</b><br/>
   * Type: <b>date</b><br/>
   * Path: <b>SequencingAnalysis.date</b><br/>
   * </p>
   */
  public static final String SP_DATE = "date";

  /**
   * Search parameter constant for <b>genome</b>
   * <p>
   * Description: <b>Name of the reference genome used in the analysis</b><br/>
   * Type: <b>string</b><br/>
   * Path: <b>SequencingAnalysis.genome.name</b><br/>
   * </p>
   */
  public static final String SP_GENOME = "genome";


  @Child(name="subject", order=0, min=0, max=1, type={
    ca.uhn.fhir.model.dstu.resource.Patient.class  })
  @Description(
    shortDefinition="Subject",
    formalDefinition="Subject of the analysis"
  )
  private ResourceReferenceDt mySubject;
 
  @Child(name="date", type=DateDt.class, order=1, min=1, max=1
  @Description(
    shortDefinition="Date",
    formalDefinition="Date when result of the analysis is updated"
  )
  private DateDt myDate;
 
  @Child(name="name", type=StringDt.class, order=2, min=1, max=1
  @Description(
    shortDefinition="Name",
    formalDefinition="Name of the analysis"
  )
  private StringDt myName;
 
  @Child(name="genome", order=3, min=1, max=1
  @Description(
    shortDefinition="Reference genome",
    formalDefinition="Reference genome used in the analysis"
  )
  private Genome myGenome;
 
  @Child(name="file", type=AttachmentDt.class, order=4, min=0, max=Child.MAX_UNLIMITED
  @Description(
    shortDefinition="File",
    formalDefinition="Files uploaded as result of the analysis"
  )
  private java.util.List<AttachmentDt> myFile;
 
  @Child(name="inputLab", order=5, min=0, max=Child.MAX_UNLIMITED, type={
    ca.uhn.fhir.model.dstu.resource.SequencingLab.class  })
  @Description(
    shortDefinition="Input lab",
    formalDefinition="SequencingLab taken into account of the analysis"
  )
  private java.util.List<ResourceReferenceDt> myInputLab;
 
  @Child(name="inputAnalysis", order=6, min=0, max=Child.MAX_UNLIMITED, type={
    ca.uhn.fhir.model.dstu.resource.SequencingAnalysis.class  })
  @Description(
    shortDefinition="Input analysis",
    formalDefinition="SequencingAnalysis taken into account of the analysis"
  )
  private java.util.List<ResourceReferenceDt> myInputAnalysis;
 

  @Override
  public boolean isEmpty() {
    return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmptymySubject,  myDate,  myName,  myGenome,  myFile,  myInputLab,  myInputAnalysis);
  }
 
  @Override
  public java.util.List<IElement> getAllPopulatedChildElements() {
    return getAllPopulatedChildElementsOfType(null);
  }

  @Override
  public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
    return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, mySubject, myDate, myName, myGenome, myFile, myInputLab, myInputAnalysis);
  }

  /**
   * Gets the value(s) for <b>subject</b> (Subject).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Subject of the analysis
     * </p>
   */
  public ResourceReferenceDt getSubject() { 
    if (mySubject == null) {
      mySubject = new ResourceReferenceDt();
    }
    return mySubject;
  }

  /**
   * Sets the value(s) for <b>subject</b> (Subject)
   *
     * <p>
     * <b>Definition:</b>
     * Subject of the analysis
     * </p>
   */
  public SequencingAnalysis setSubject(ResourceReferenceDt theValue) {
    mySubject = theValue;
    return this;
  }

 
  /**
   * Gets the value(s) for <b>date</b> (Date).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Date when result of the analysis is updated
     * </p>
   */
  public DateDt getDate() { 
    if (myDate == null) {
      myDate = new DateDt();
    }
    return myDate;
  }

  /**
   * Sets the value(s) for <b>date</b> (Date)
   *
     * <p>
     * <b>Definition:</b>
     * Date when result of the analysis is updated
     * </p>
   */
  public SequencingAnalysis setDate(DateDt theValue) {
    myDate = theValue;
    return this;
  }

   /**
   * Sets the value for <b>date</b> (Date)
   *
     * <p>
     * <b>Definition:</b>
     * Date when result of the analysis is updated
     * </p>
   */
  public SequencingAnalysis setDate( Date theDate,  TemporalPrecisionEnum thePrecision) {
    myDate = new DateDt(theDate, thePrecision);
    return this;
  }

  /**
   * Sets the value for <b>date</b> (Date)
   *
     * <p>
     * <b>Definition:</b>
     * Date when result of the analysis is updated
     * </p>
   */
  public SequencingAnalysis setDateWithDayPrecision( Date theDate) {
    myDate = new DateDt(theDate);
    return this;
  }

  /**
   * Gets the value(s) for <b>name</b> (Name).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Name of the analysis
     * </p>
   */
  public StringDt getName() { 
    if (myName == null) {
      myName = new StringDt();
    }
    return myName;
  }

  /**
   * Sets the value(s) for <b>name</b> (Name)
   *
     * <p>
     * <b>Definition:</b>
     * Name of the analysis
     * </p>
   */
  public SequencingAnalysis setName(StringDt theValue) {
    myName = theValue;
    return this;
  }

   /**
   * Sets the value for <b>name</b> (Name)
   *
     * <p>
     * <b>Definition:</b>
     * Name of the analysis
     * </p>
   */
  public SequencingAnalysis setName( String theString) {
    myName = new StringDt(theString);
    return this;
  }

  /**
   * Gets the value(s) for <b>genome</b> (Reference genome).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Reference genome used in the analysis
     * </p>
   */
  public Genome getGenome() { 
    if (myGenome == null) {
      myGenome = new Genome();
    }
    return myGenome;
  }

  /**
   * Sets the value(s) for <b>genome</b> (Reference genome)
   *
     * <p>
     * <b>Definition:</b>
     * Reference genome used in the analysis
     * </p>
   */
  public SequencingAnalysis setGenome(Genome theValue) {
    myGenome = theValue;
    return this;
  }

 
  /**
   * Gets the value(s) for <b>file</b> (File).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Files uploaded as result of the analysis
     * </p>
   */
  public java.util.List<AttachmentDt> getFile() { 
    if (myFile == null) {
      myFile = new java.util.ArrayList<AttachmentDt>();
    }
    return myFile;
  }

  /**
   * Sets the value(s) for <b>file</b> (File)
   *
     * <p>
     * <b>Definition:</b>
     * Files uploaded as result of the analysis
     * </p>
   */
  public SequencingAnalysis setFile(java.util.List<AttachmentDt> theValue) {
    myFile = theValue;
    return this;
  }

  /**
   * Adds and returns a new value for <b>file</b> (File)
   *
     * <p>
     * <b>Definition:</b>
     * Files uploaded as result of the analysis
     * </p>
   */
  public AttachmentDt addFile() {
    AttachmentDt newType = new AttachmentDt();
    getFile().add(newType);
    return newType;
  }

  /**
   * Gets the first repetition for <b>file</b> (File),
   * creating it if it does not already exist.
   *
     * <p>
     * <b>Definition:</b>
     * Files uploaded as result of the analysis
     * </p>
   */
  public AttachmentDt getFileFirstRep() {
    if (getFile().isEmpty()) {
      return addFile();
    }
    return getFile().get(0);
  }
 
  /**
   * Gets the value(s) for <b>inputLab </b> (Input lab).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * SequencingLab taken into account of the analysis
     * </p>
   */
  public java.util.List<ResourceReferenceDt> getInputLab() { 
    if (myInputLab == null) {
      myInputLab = new java.util.ArrayList<ResourceReferenceDt>();
    }
    return myInputLab;
  }

  /**
   * Sets the value(s) for <b>inputLab </b> (Input lab)
   *
     * <p>
     * <b>Definition:</b>
     * SequencingLab taken into account of the analysis
     * </p>
   */
  public SequencingAnalysis setInputLab(java.util.List<ResourceReferenceDt> theValue) {
    myInputLab = theValue;
    return this;
  }

  /**
   * Adds and returns a new value for <b>inputLab </b> (Input lab)
   *
     * <p>
     * <b>Definition:</b>
     * SequencingLab taken into account of the analysis
     * </p>
   */
  public ResourceReferenceDt addInputLab() {
    ResourceReferenceDt newType = new ResourceReferenceDt();
    getInputLab().add(newType);
    return newType;
  }
 
  /**
   * Gets the value(s) for <b>inputAnalysis </b> (Input analysis).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * SequencingAnalysis taken into account of the analysis
     * </p>
   */
  public java.util.List<ResourceReferenceDt> getInputAnalysis() { 
    if (myInputAnalysis == null) {
      myInputAnalysis = new java.util.ArrayList<ResourceReferenceDt>();
    }
    return myInputAnalysis;
  }

  /**
   * Sets the value(s) for <b>inputAnalysis </b> (Input analysis)
   *
     * <p>
     * <b>Definition:</b>
     * SequencingAnalysis taken into account of the analysis
     * </p>
   */
  public SequencingAnalysis setInputAnalysis(java.util.List<ResourceReferenceDt> theValue) {
    myInputAnalysis = theValue;
    return this;
  }

  /**
   * Adds and returns a new value for <b>inputAnalysis </b> (Input analysis)
   *
     * <p>
     * <b>Definition:</b>
     * SequencingAnalysis taken into account of the analysis
     * </p>
   */
  public ResourceReferenceDt addInputAnalysis() {
    ResourceReferenceDt newType = new ResourceReferenceDt();
    getInputAnalysis().add(newType);
    return newType;
  }
 
  /**
   * Block class for child element: <b>SequencingAnalysis.genome</b> (Reference genome)
   *
     * <p>
     * <b>Definition:</b>
     * Reference genome used in the analysis
     * </p>
   */
  @Block(name="SequencingAnalysis.genome"
  public static class Genome extends BaseElement implements IResourceBlock {
 
  @Child(name="name", type=CodeDt.class, order=0, min=1, max=1
  @Description(
    shortDefinition="Name",
    formalDefinition="Name of the reference genome"
  )
  private CodeDt myName;
 
  @Child(name="build", type=StringDt.class, order=1, min=1, max=1
  @Description(
    shortDefinition="Build",
    formalDefinition="Build number of the refernece genome"
  )
  private StringDt myBuild;
 

  @Override
  public boolean isEmpty() {
    return super.isBaseEmpty() && ca.uhn.fhir.util.ElementUtil.isEmptymyName,  myBuild);
  }
 
  @Override
  public java.util.List<IElement> getAllPopulatedChildElements() {
    return getAllPopulatedChildElementsOfType(null);
  }

  @Override
  public <T extends IElement> List<T> getAllPopulatedChildElementsOfType(Class<T> theType) {
    return ca.uhn.fhir.util.ElementUtil.allPopulatedChildElements(theType, myName, myBuild);
  }

  /**
   * Gets the value(s) for <b>name</b> (Name).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Name of the reference genome
     * </p>
   */
  public CodeDt getName() { 
    if (myName == null) {
      myName = new CodeDt();
    }
    return myName;
  }

  /**
   * Sets the value(s) for <b>name</b> (Name)
   *
     * <p>
     * <b>Definition:</b>
     * Name of the reference genome
     * </p>
   */
  public Genome setName(CodeDt theValue) {
    myName = theValue;
    return this;
  }

   /**
   * Sets the value for <b>name</b> (Name)
   *
     * <p>
     * <b>Definition:</b>
     * Name of the reference genome
     * </p>
   */
  public Genome setName( String theCode) {
    myName = new CodeDt(theCode);
    return this;
  }

  /**
   * Gets the value(s) for <b>build</b> (Build).
   * creating it if it does
   * not exist. Will not return <code>null</code>.
   *
     * <p>
     * <b>Definition:</b>
     * Build number of the refernece genome
     * </p>
   */
  public StringDt getBuild() { 
    if (myBuild == null) {
      myBuild = new StringDt();
    }
    return myBuild;
  }

  /**
   * Sets the value(s) for <b>build</b> (Build)
   *
     * <p>
     * <b>Definition:</b>
     * Build number of the refernece genome
     * </p>
   */
  public Genome setBuild(StringDt theValue) {
    myBuild = theValue;
    return this;
  }

   /**
   * Sets the value for <b>build</b> (Build)
   *
     * <p>
     * <b>Definition:</b>
     * Build number of the refernece genome
     * </p>
   */
  public Genome setBuild( String theString) {
    myBuild = new StringDt(theString);
    return this;
  }


  }




}
TOP

Related Classes of ca.uhn.fhir.model.dstu.resource.SequencingAnalysis

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.