<?php
namespace MedBrief\MSR\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* OrthancTransaction
*
* @ORM\Table(name="OrthancTransaction")
*
* @ORM\Entity
*
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
*/
class OrthancTransaction
{
public const TRANSACTION_STATUS_PENDING = 1;
public const TRANSACTION_STATUS_SUCCESS = 2;
public const TRANSACTION_STATUS_FAILED = 3;
public const TYPE_STORE_INSTANCE = 1;
public const TYPE_DELETE_INSTANCE = 2;
public const TYPE_INSTANCE_DETAILS = 3;
public const TYPE_SERIES_DETAILS = 4;
public const TYPE_STUDY_DETAILS = 5;
public const TYPE_PATIENT_DETAILS = 6;
public const TYPE_SYSTEM = 7;
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
*
* @ORM\Id
*
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var \DateTime|null
*
* @ORM\Column(name="deletedAt", type="datetime", nullable=true)
*/
private $deletedAt;
/**
* @var int
*
* @ORM\Column(name="type", type="integer", nullable=false)
*/
private $type;
/**
* @var int
*
* @ORM\Column(name="transaction_status", type="integer", nullable=false)
*/
private $transaction_status;
/**
* @var string
*
* @ORM\Column(name="transaction_response", type="text", nullable=false)
*/
private $transaction_response;
/**
* @var \DateTime
*
* @ORM\Column(name="created", type="datetime")
*
* @Gedmo\Timestampable(on="create")
*/
private $created;
/**
* @var \DateTime
*
* @ORM\Column(name="updated", type="datetime")
*
* @Gedmo\Timestampable(on="update")
*/
private $updated;
/**
* @var Document
*
* @ORM\ManyToOne(targetEntity="MedBrief\MSR\Entity\Document", inversedBy="orthancTransactions", cascade={"persist","remove"})
*
* @ORM\JoinColumns({
*
* @ORM\JoinColumn(name="document_id", referencedColumnName="id")
* })
*/
private $document;
/**
* @var Patient
*
* @ORM\ManyToOne(targetEntity="MedBrief\MSR\Entity\Patient", inversedBy="orthancTransactions", cascade={"persist","remove"})
*
* @ORM\JoinColumns({
*
* @ORM\JoinColumn(name="patient_id", referencedColumnName="id")
* })
*/
private $patient;
/**
* @var Series
*
* @ORM\ManyToOne(targetEntity="MedBrief\MSR\Entity\Series", inversedBy="orthancTransactions", cascade={"persist","remove"})
*
* @ORM\JoinColumns({
*
* @ORM\JoinColumn(name="series_id", referencedColumnName="id")
* })
*/
private $series;
/**
* @var Study
*
* @ORM\ManyToOne(targetEntity="MedBrief\MSR\Entity\Study", inversedBy="orthancTransactions", cascade={"persist","remove"})
*
* @ORM\JoinColumns({
*
* @ORM\JoinColumn(name="study_id", referencedColumnName="id")
* })
*/
private $study;
public function __construct()
{
// default status is pending
$this->transaction_status = self::TRANSACTION_STATUS_PENDING;
}
public function __toString()
{
return (string) $this->getId();
}
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set type
*
* @param int $type
*
* @return OrthancTransaction
*/
public function setType($type)
{
$this->type = $type;
return $this;
}
/**
* Get type
*
* @return int
*/
public function getType()
{
return $this->type;
}
/**
* Set transactionStatus
*
* @param int $transactionStatus
*
* @return OrthancTransaction
*/
public function setTransactionStatus($transactionStatus)
{
$this->transaction_status = $transactionStatus;
return $this;
}
/**
* Get transactionStatus
*
* @return int
*/
public function getTransactionStatus()
{
return $this->transaction_status;
}
/**
* Set transactionResponse
*
* @param string $transactionResponse
*
* @return OrthancTransaction
*/
public function setTransactionResponse($transactionResponse)
{
$this->transaction_response = $transactionResponse;
return $this;
}
/**
* Get transactionResponse
*
* @return string
*/
public function getTransactionResponse()
{
return $this->transaction_response;
}
/**
* Set created
*
* @param \DateTime $created
*
* @return OrthancTransaction
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* @return \DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set updated
*
* @param \DateTime $updated
*
* @return OrthancTransaction
*/
public function setUpdated($updated)
{
$this->updated = $updated;
return $this;
}
/**
* Get updated
*
* @return \DateTime
*/
public function getUpdated()
{
return $this->updated;
}
/**
* Set document
*
* @param Document $document
*
* @return OrthancTransaction
*/
public function setDocument(Document $document)
{
$this->document = $document;
return $this;
}
/**
* Get document
*
* @return Document
*/
public function getDocument()
{
return $this->document;
}
/**
* Set deletedAt
*
* @param \DateTime $deletedAt
*
* @return OrthancTransaction
*/
public function setDeletedAt($deletedAt)
{
$this->deletedAt = $deletedAt;
return $this;
}
/**
* Get deletedAt
*
* @return \DateTime
*/
public function getDeletedAt()
{
return $this->deletedAt;
}
/**
* Set patient
*
* @param Patient $patient
*
* @return OrthancTransaction
*/
public function setPatient(?Patient $patient = null)
{
$this->patient = $patient;
return $this;
}
/**
* Get patient
*
* @return Patient
*/
public function getPatient()
{
return $this->patient;
}
/**
* Set series
*
* @param Series $series
*
* @return OrthancTransaction
*/
public function setSeries(?Series $series = null)
{
$this->series = $series;
return $this;
}
/**
* Get series
*
* @return Series
*/
public function getSeries()
{
return $this->series;
}
/**
* Set study
*
* @param Study $study
*
* @return OrthancTransaction
*/
public function setStudy(?Study $study = null)
{
$this->study = $study;
return $this;
}
/**
* Get study
*
* @return Study
*/
public function getStudy()
{
return $this->study;
}
}