<?php
namespace App\Entity\Assay;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
/**
* Class AssayResult
*
* @package App\Entity
* @ORM\Entity()
* @ORM\Table(name="assay_results")
* @ORM\HasLifecycleCallbacks()
*/
class AssayResult
{
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Id()
* @\Doctrine\ORM\Mapping\GeneratedValue(strategy="AUTO")
* @\Doctrine\ORM\Mapping\Column(
* name="assay_result_id",
* type="integer",
* nullable=false
* )
*/
private $assayResultId;
/**
* @var Assay|null
* @\Doctrine\ORM\Mapping\OneToOne(
* targetEntity="App\Entity\Assay\Assay",
* inversedBy="result",
* fetch="EAGER"
* )
* @ORM\JoinColumn(
* name="assay_id",
* referencedColumnName="assay_id",
* onDelete="CASCADE",
* nullable=false
* )
*/
private $assay;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="ct_assay_a",
* type="integer",
* nullable=true
* )
*/
private $ctAssayA;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="result_a",
* type="smallint",
* nullable=true
* )
*/
private $resultA;
/**
* @var integer|null
* @ORM\Column(
* name="predicted_result_a",
* type="smallint",
* nullable=true
* )
*/
private $predictedResultA;
/**
* @var string|null
* @\Doctrine\ORM\Mapping\Column(
* name="biomarker_a",
* type="string",
* length=255,
* nullable=true
* )
*/
private $biomarkerA;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="ct_assay_b",
* type="integer",
* nullable=true
* )
*/
private $ctAssayB;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="result_b",
* type="smallint",
* nullable=true
* )
*/
private $resultB;
/**
* @var integer|null
* @ORM\Column(
* name="predicted_result_b",
* type="smallint",
* nullable=true
* )
*/
private $predictedResultB;
/**
* @var string|null
* @\Doctrine\ORM\Mapping\Column(
* name="biomarker_b",
* type="string",
* length=255,
* nullable=true
* )
*/
private $biomarkerB;
/**
* @var DateTime|null
* @\Doctrine\ORM\Mapping\Column(
* name="created_at",
* type="datetime",
* nullable=false
* )
*/
private $createdAt;
/**
* @var DateTime|null
* @\Doctrine\ORM\Mapping\Column(
* name="updated_at",
* type="datetime",
* nullable=false
* )
*/
private $updatedAt;
/**
* @var array|null
* @ORM\Column(
* name="details",
* type="json",
* nullable=true
* )
*/
private $details;
/**
* @var array|null
* @ORM\Column(
* name="predicted_details",
* type="json",
* nullable=true
* )
*/
private $predictedDetails;
/**
* @var string|null
* @ORM\Column(
* name="health_authority_rx",
* type="text",
* nullable=true
* )
*/
private $healthAuthorityRx;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="result_merged",
* type="smallint",
* nullable=true
* )
* Combined result from both original assay and control assay.
*/
private $resultMerged;
/**
* @var integer|null
* @\Doctrine\ORM\Mapping\Column(
* name="result_control",
* type="smallint",
* nullable=true
* )
* Result of the control assay.
*/
private $resultControl;
/**
* @var array|null
* @ORM\Column(
* name="intermediate_results",
* type="json",
* nullable=true
* )
*/
private $intermediateResults;
/**
* @return int|null
*/
public function getAssayResultId(): ?int
{
return $this->assayResultId;
}
/**
* @param int|null $assayResultId
*/
public function setAssayResultId(?int $assayResultId): void
{
$this->assayResultId = $assayResultId;
}
/**
* @return Assay|null
*/
public function getAssay(): ?Assay
{
return $this->assay;
}
/**
* @param Assay|null $assay
*/
public function setAssay(?Assay $assay): void
{
$this->assay = $assay;
}
/**
* @return int|null
*/
public function getCtAssayA(): ?int
{
return $this->ctAssayA;
}
/**
* @param int|null $ctAssayA
*/
public function setCtAssayA(?int $ctAssayA): void
{
$this->ctAssayA = $ctAssayA;
}
/**
* @return int|null
*/
public function getResultA(): ?int
{
return $this->resultA;
}
/**
* @param int|null $resultA
*/
public function setResultA(?int $resultA): void
{
$this->resultA = $resultA;
}
/**
* @return string|null
*/
public function getBiomarkerA(): ?string
{
return $this->biomarkerA;
}
/**
* @param string|null $biomarkerA
*/
public function setBiomarkerA(?string $biomarkerA): void
{
$this->biomarkerA = $biomarkerA;
}
/**
* @return int|null
*/
public function getCtAssayB(): ?int
{
return $this->ctAssayB;
}
/**
* @param int|null $ctAssayB
*/
public function setCtAssayB(?int $ctAssayB): void
{
$this->ctAssayB = $ctAssayB;
}
/**
* @return int|null
*/
public function getResultB(): ?int
{
return $this->resultB;
}
/**
* @param int|null $resultB
*/
public function setResultB(?int $resultB): void
{
$this->resultB = $resultB;
}
/**
* @return string|null
*/
public function getBiomarkerB(): ?string
{
return $this->biomarkerB;
}
/**
* @param string|null $biomarkerB
*/
public function setBiomarkerB(?string $biomarkerB): void
{
$this->biomarkerB = $biomarkerB;
}
/**
* @return DateTime|null
*/
public function getCreatedAt(): ?DateTime
{
return $this->createdAt;
}
/**
* @param DateTime|null $createdAt
*/
public function setCreatedAt(?DateTime $createdAt): void
{
$this->createdAt = $createdAt;
}
/**
* @return DateTime|null
*/
public function getUpdatedAt(): ?DateTime
{
return $this->updatedAt;
}
/**
* @param DateTime|null $updatedAt
*/
public function setUpdatedAt(?DateTime $updatedAt): void
{
$this->updatedAt = $updatedAt;
}
/**
* @return int|null
*/
public function getPredictedResultA(): ?int
{
return $this->predictedResultA;
}
/**
* @param int|null $predictedResultA
*/
public function setPredictedResultA(?int $predictedResultA): void
{
$this->predictedResultA = $predictedResultA;
}
/**
* @return int|null
*/
public function getPredictedResultB(): ?int
{
return $this->predictedResultB;
}
/**
* @param int|null $predictedResultB
*/
public function setPredictedResultB(?int $predictedResultB): void
{
$this->predictedResultB = $predictedResultB;
}
/**
* @\Doctrine\ORM\Mapping\PrePersist()
*/
public function onPrePersist()
{
$this->createdAt = new DateTime();
$this->updatedAt = new DateTime();
}
/**
* @\Doctrine\ORM\Mapping\PreUpdate()
*/
public function onPreUpdate()
{
$this->updatedAt = new DateTime();
}
/**
* @return int|null
*/
public function getAssayId(): ?int
{
return $this->assay !== null ?? $this->assay->getAssayId();
}
/**
* @return string
*/
public function getDetails(): ?array
{
return $this->details;
}
/**
* @param array|null $details
*/
public function setDetails(?array $details): void
{
$this->details = $details;
}
/**
* @return array|null
*/
public function getPredictedDetails(): ?array
{
return $this->predictedDetails;
}
/**
* @param array|null $predictedDetails
*/
public function setPredictedDetails(?array $predictedDetails): void
{
$this->predictedDetails = $predictedDetails;
}
/**
* @return string|null
*/
public function getHealthAuthorityRx(): ?string
{
return $this->healthAuthorityRx;
}
/**
* @param string|null $healthAuthorityRx
*/
public function setHealthAuthorityRx(?string $healthAuthorityRx): void
{
$this->healthAuthorityRx = $healthAuthorityRx;
}
/**
* @return int|null
*/
public function getResultMerged(): ?int
{
return $this->resultMerged;
}
/**
* @param int|null $resultMerged
*/
public function setResultMerged(?int $resultMerged): void
{
$this->resultMerged = $resultMerged;
}
/**
* @return int|null
*/
public function getResultControl(): ?int
{
return $this->resultControl;
}
/**
* @param int|null $resultControl
*/
public function setResultControl(?int $resultControl): void
{
$this->resultControl = $resultControl;
}
/**
* @return array|null
*/
public function getIntermediateResults(): ?array
{
return $this->intermediateResults;
}
/**
* @param array|null $intermediateResults
*/
public function setIntermediateResults(?array $intermediateResults): void
{
$this->intermediateResults = $intermediateResults;
}
}