src/Entity/ClinicalSummary.php line 33

Open in your IDE?
  1. <?php
  2. namespace MedBrief\MSR\Entity;
  3. use ApiPlatform\Core\Annotation\ApiResource;
  4. use DateTime;
  5. use Doctrine\ORM\Mapping as ORM;
  6. use Gedmo\Mapping\Annotation as Gedmo;
  7. use MedBrief\MSR\Dto\ClinicalSummaryDto;
  8. use MedBrief\MSR\Repository\ClinicalSummaryRepository;
  9. use MedBrief\MSR\Service\PushToCollection\CollectionPushable\CollectionPushableInterface;
  10. use Symfony\Component\Serializer\Annotation\Groups;
  11. /**
  12. * @ApiResource(
  13. * output={ClinicalSummaryDto::class, ClinicalSummaryMatterDto::class},
  14. * description="A Clinical summary of a project",
  15. * collectionOperations={
  16. * "get"={"access_control"="is_granted('CLINICAL_SUMMARY_PROJECT_ADMINISTRATION', object.getProject())",},
  17. * "post"={"access_control"="is_granted('CLINICAL_SUMMARY_PROJECT_ADMINISTRATION', object.getProject())",},
  18. * },
  19. * itemOperations={
  20. * "get"={"access_control"="is_granted('CLINICAL_SUMMARY_PROJECT_ADMINISTRATION', object.getProject())",},
  21. * "put"={"access_control"="is_granted('CLINICAL_SUMMARY_PROJECT_ADMINISTRATION', object.getProject())",},
  22. * "delete"={"access_control"="is_granted('CLINICAL_SUMMARY_PROJECT_ADMINISTRATION', object.getProject())",},
  23. * },
  24. * normalizationContext={"groups"={"clinical_summary:full", "clinical_summary:read"}},
  25. * denormalizationContext={"groups"={"clinical_summary:full"}},
  26. * )
  27. *
  28. * @ORM\Entity(repositoryClass=ClinicalSummaryRepository::class)
  29. */
  30. class ClinicalSummary implements CollectionPushableInterface
  31. {
  32. public const FROM_COMPANY = 'MedBrief';
  33. /**
  34. * @ORM\Id
  35. *
  36. * @Groups({"clinical_summary:read"})
  37. *
  38. * @ORM\GeneratedValue
  39. *
  40. * @ORM\Column(type="integer")
  41. */
  42. private int $id;
  43. /**
  44. * @ORM\OneToOne(targetEntity=Project::class, inversedBy="clinicalSummary")
  45. *
  46. * @Groups({"clinical_summary:full"})
  47. *
  48. * @ORM\JoinColumn(name="project_id", referencedColumnName="id", nullable=false)
  49. */
  50. private Project $project;
  51. /**
  52. * @Groups({"clinical_summary:full"})
  53. *
  54. * @ORM\Column(type="string")
  55. */
  56. private string $fromCompany = self::FROM_COMPANY;
  57. /**
  58. * @Groups({"clinical_summary:full"})
  59. *
  60. * @ORM\Column(type="text")
  61. */
  62. private string $conclusion;
  63. /**
  64. * @Groups({"clinical_summary:full"})
  65. *
  66. * @ORM\Column(type="integer", nullable=true)
  67. */
  68. private int $pagesConsidered;
  69. /**
  70. * @Groups({"clinical_summary:full"})
  71. *
  72. * @ORM\Column(type="text")
  73. */
  74. private string $trusts;
  75. /**
  76. * @Groups({"clinical_summary:full"})
  77. *
  78. * @ORM\Column(type="text")
  79. */
  80. private string $keyAllegations;
  81. /**
  82. * @Groups({"clinical_summary:full"})
  83. *
  84. * @ORM\Column(type="text")
  85. */
  86. private string $claimBackground;
  87. /**
  88. * @Groups({"clinical_summary:full"})
  89. *
  90. * @ORM\Column(type="string", nullable=false)
  91. */
  92. private string $indicationOfMedicalRecords;
  93. /**
  94. * @Groups({"clinical_summary:full"})
  95. *
  96. * @ORM\Column(type="text", nullable=true)
  97. */
  98. private ?string $breachOfDutyDetails;
  99. /**
  100. * @Groups({"clinical_summary:full"})
  101. *
  102. * @ORM\Column(type="text", nullable=true)
  103. */
  104. private ?string $clinicalFactsNoBreachDutyOfCare;
  105. /**
  106. * @Groups({"clinical_summary:full"})
  107. *
  108. * @ORM\Column(type="text", nullable=true)
  109. */
  110. private ?string $clinicalSupportDetails;
  111. /**
  112. * @Groups({"clinical_summary:full"})
  113. *
  114. * @ORM\Column(type="string")
  115. */
  116. private string $claimedHarmOrLossMedicalRecords;
  117. /**
  118. * @Groups({"clinical_summary:full"})
  119. *
  120. * @ORM\Column(type="text", nullable=true)
  121. */
  122. private ?string $patientHarmDetails;
  123. /**
  124. * @Groups({"clinical_summary:full"})
  125. *
  126. * @ORM\Column(type="text", nullable=true)
  127. */
  128. private ?string $patientNoHarmDetails;
  129. /**
  130. * @Groups({"clinical_summary:full"})
  131. *
  132. * @ORM\Column(type="text", nullable=true)
  133. */
  134. private ?string $clinicalFactsDetails;
  135. /**
  136. * @Groups({"clinical_summary:full"})
  137. *
  138. * @ORM\Column(type="text", nullable=true)
  139. */
  140. private ?string $pointOfNote;
  141. /**
  142. * @Groups({"clinical_summary:full"})
  143. *
  144. * @ORM\Column(type="string")
  145. */
  146. private string $medicalRecordsOfThirdParty;
  147. /**
  148. * @Groups({"clinical_summary:full"})
  149. *
  150. * @ORM\Column(type="text", nullable=true)
  151. */
  152. private ?string $natureOfMedicalRecords;
  153. /**
  154. * @Groups({"clinical_summary:full"})
  155. *
  156. * @ORM\Column(type="string")
  157. */
  158. private string $hasPrivilegedOrSafeguardingInfo;
  159. /**
  160. * @Groups({"clinical_summary:full"})
  161. *
  162. * @ORM\Column(type="text", nullable=true)
  163. */
  164. private ?string $privilegedSafeguardingInfoDescription;
  165. /**
  166. * @Groups({"clinical_summary:full"})
  167. *
  168. * @ORM\Column(type="text", nullable=true)
  169. */
  170. private ?string $clinicalFactsUnderminingClaim;
  171. /**
  172. * @Groups({"clinical_summary:full"})
  173. *
  174. * @ORM\Column(type="text", nullable=true)
  175. */
  176. private ?string $clinicalFactsChangingViewOnDefendantBreach;
  177. /**
  178. * @Groups({"clinical_summary:full"})
  179. *
  180. * @ORM\Column(type="string")
  181. */
  182. private string $investigationRecommendations;
  183. /**
  184. * @Groups({"clinical_summary:full"})
  185. *
  186. * @ORM\Column(type="text", nullable=true)
  187. */
  188. private ?string $investigationRecommendationsPrompt;
  189. /**
  190. * @Groups({"clinical_summary:full"})
  191. *
  192. * @ORM\Column(type="string")
  193. */
  194. private string $medicoLegalOpinionRecommendation;
  195. /**
  196. * @Groups({"clinical_summary:full"})
  197. *
  198. * @ORM\Column(type="json", nullable=true)
  199. */
  200. private ?string $patientHarmChangingView;
  201. /**
  202. * @Groups({"clinical_summary:full"})
  203. *
  204. * @ORM\Column(type="string", nullable=true)
  205. */
  206. private ?string $continueWithAdditionalService;
  207. /**
  208. * @Groups({"clinical_summary:full"})
  209. *
  210. * @ORM\Column(type="datetime")
  211. *
  212. * @Gedmo\Timestampable(on="create")
  213. */
  214. private DateTime $created;
  215. /**
  216. * @Groups({"clinical_summary:full"})
  217. *
  218. * @ORM\Column(type="datetime")
  219. *
  220. * @Gedmo\Timestampable(on="update")
  221. */
  222. private DateTime $updated;
  223. /**
  224. * @Groups({"clinical_summary:full"})
  225. *
  226. * @ORM\Column(type="datetime", nullable=true)
  227. */
  228. private ?DateTime $publishedAt;
  229. /**
  230. * @Groups({"clinical_summary:full"})
  231. *
  232. * @ORM\Column(type="datetime", nullable=true)
  233. */
  234. private ?DateTime $deletedAt;
  235. // Not mapped to Database
  236. private string $filePath = '';
  237. // Not mapped to Database
  238. private string $originalFilename = '';
  239. /**
  240. * @Groups({"clinical_summary:full"})
  241. *
  242. * @ORM\ManyToOne(targetEntity=User::class, inversedBy="clinicalSummaries")
  243. *
  244. * @ORM\JoinColumn(nullable=false)
  245. */
  246. private User $creator;
  247. /**
  248. * @return int|null
  249. */
  250. public function getId(): ?int
  251. {
  252. return $this->id;
  253. }
  254. /**
  255. * @return Project
  256. */
  257. public function getProject(): Project
  258. {
  259. return $this->project;
  260. }
  261. /**
  262. * @param Project $project
  263. *
  264. * @return self
  265. */
  266. public function setProject(Project $project): self
  267. {
  268. $this->project = $project;
  269. return $this;
  270. }
  271. /**
  272. * @return string|null
  273. */
  274. public function getFromCompany(): ?string
  275. {
  276. return $this->fromCompany;
  277. }
  278. /**
  279. * @param string $fromCompany
  280. *
  281. * @return self
  282. */
  283. public function setFromCompany(string $fromCompany): self
  284. {
  285. $this->fromCompany = $fromCompany;
  286. return $this;
  287. }
  288. /**
  289. * @return \DateTimeInterface|null
  290. */
  291. public function getPublishedAt(): ?\DateTimeInterface
  292. {
  293. return $this->publishedAt;
  294. }
  295. /**
  296. * @param \DateTimeInterface|null $publishedAt
  297. *
  298. * @return self
  299. */
  300. public function setPublishedAt(?\DateTimeInterface $publishedAt): self
  301. {
  302. if ($publishedAt !== null) {
  303. $this->publishedAt = $publishedAt;
  304. }
  305. return $this;
  306. }
  307. /**
  308. * Determine whether the clinical summary is published and not deleted.
  309. *
  310. * @return bool
  311. */
  312. public function isPublished(): bool
  313. {
  314. return $this->getPublishedAt() !== null && $this->getDeletedAt() === null;
  315. }
  316. /**
  317. * @return string|null
  318. */
  319. public function getConclusion(): ?string
  320. {
  321. return $this->conclusion;
  322. }
  323. /**
  324. * @param string $conclusion
  325. *
  326. * @return self
  327. */
  328. public function setConclusion(string $conclusion): self
  329. {
  330. $this->conclusion = $conclusion;
  331. return $this;
  332. }
  333. /**
  334. * @return int|null
  335. */
  336. public function getPagesConsidered(): ?int
  337. {
  338. return $this->pagesConsidered;
  339. }
  340. /**
  341. * @param int|null $pagesConsidered
  342. *
  343. * @return self
  344. */
  345. public function setPagesConsidered(?int $pagesConsidered): self
  346. {
  347. $this->pagesConsidered = $pagesConsidered;
  348. return $this;
  349. }
  350. /**
  351. * @return string|null
  352. */
  353. public function getTrusts(): ?string
  354. {
  355. return $this->trusts;
  356. }
  357. /**
  358. * @param string $trusts
  359. *
  360. * @return self
  361. */
  362. public function setTrusts(string $trusts): self
  363. {
  364. $this->trusts = $trusts;
  365. return $this;
  366. }
  367. /**
  368. * @return string|null
  369. */
  370. public function getKeyAllegations(): ?string
  371. {
  372. return $this->keyAllegations;
  373. }
  374. /**
  375. * @param string $keyAllegations
  376. *
  377. * @return self
  378. */
  379. public function setKeyAllegations(string $keyAllegations): self
  380. {
  381. $this->keyAllegations = $keyAllegations;
  382. return $this;
  383. }
  384. /**
  385. * @return string|null
  386. */
  387. public function getClaimBackground(): ?string
  388. {
  389. return $this->claimBackground;
  390. }
  391. /**
  392. * @param string $claimBackground
  393. *
  394. * @return self
  395. */
  396. public function setClaimBackground(string $claimBackground): self
  397. {
  398. $this->claimBackground = $claimBackground;
  399. return $this;
  400. }
  401. /**
  402. * @return string|null
  403. */
  404. public function getMedicalRecordsOfThirdParty(): ?string
  405. {
  406. return $this->medicalRecordsOfThirdParty;
  407. }
  408. /**
  409. * @param string $medicalRecordsOfThirdParty
  410. *
  411. * @return self
  412. */
  413. public function setMedicalRecordsOfThirdParty(string $medicalRecordsOfThirdParty): self
  414. {
  415. $this->medicalRecordsOfThirdParty = $medicalRecordsOfThirdParty;
  416. return $this;
  417. }
  418. /**
  419. * @return string|null
  420. */
  421. public function getNatureOfMedicalRecords(): ?string
  422. {
  423. return $this->natureOfMedicalRecords;
  424. }
  425. /**
  426. * @param string|null $natureOfMedicalRecords
  427. *
  428. * @return self
  429. */
  430. public function setNatureOfMedicalRecords(?string $natureOfMedicalRecords): self
  431. {
  432. $this->natureOfMedicalRecords = $natureOfMedicalRecords;
  433. return $this;
  434. }
  435. /**
  436. * @return string|null
  437. */
  438. public function getHasPrivilegedOrSafeguardingInfo(): ?string
  439. {
  440. return $this->hasPrivilegedOrSafeguardingInfo;
  441. }
  442. /**
  443. * @param string $setHasPrivilegedOrSafeguardingInfo
  444. * @param string $hasPrivilegedOrSafeguardingInfo
  445. *
  446. * @return self
  447. */
  448. public function setHasPrivilegedOrSafeguardingInfo(string $hasPrivilegedOrSafeguardingInfo): self
  449. {
  450. $this->hasPrivilegedOrSafeguardingInfo = $hasPrivilegedOrSafeguardingInfo;
  451. return $this;
  452. }
  453. /**
  454. * @return string|null
  455. */
  456. public function getPrivilegedSafeguardingInfoDescription(): ?string
  457. {
  458. return $this->privilegedSafeguardingInfoDescription;
  459. }
  460. /**
  461. * @param string|null $privilegedSafeguardingInfoDescription
  462. *
  463. * @return self
  464. */
  465. public function setPrivilegedSafeguardingInfoDescription(?string $privilegedSafeguardingInfoDescription): self
  466. {
  467. $this->privilegedSafeguardingInfoDescription = $privilegedSafeguardingInfoDescription;
  468. return $this;
  469. }
  470. /**
  471. * @return string|null
  472. */
  473. public function getIndicationOfMedicalRecords(): ?string
  474. {
  475. return $this->indicationOfMedicalRecords;
  476. }
  477. /**
  478. * @param string|null $indicationOfMedicalRecords
  479. *
  480. * @return self
  481. */
  482. public function setIndicationOfMedicalRecords(?string $indicationOfMedicalRecords): self
  483. {
  484. $this->indicationOfMedicalRecords = $indicationOfMedicalRecords;
  485. return $this;
  486. }
  487. /**
  488. * @return string|null
  489. */
  490. public function getClinicalFactsUnderminingClaim(): ?string
  491. {
  492. return $this->clinicalFactsUnderminingClaim;
  493. }
  494. /**
  495. * @param string|null $clinicalFactsUnderminingClaim
  496. *
  497. * @return self
  498. */
  499. public function setClinicalFactsUnderminingClaim(?string $clinicalFactsUnderminingClaim): self
  500. {
  501. $this->clinicalFactsUnderminingClaim = $clinicalFactsUnderminingClaim;
  502. return $this;
  503. }
  504. /**
  505. * @return string|null
  506. */
  507. public function getClinicalFactsNoBreachDutyOfCare(): ?string
  508. {
  509. return $this->clinicalFactsNoBreachDutyOfCare;
  510. }
  511. /**
  512. * @param string|null $clinicalFactsNoBreachDutyOfCare
  513. *
  514. * @return self
  515. */
  516. public function setClinicalFactsNoBreachDutyOfCare(?string $clinicalFactsNoBreachDutyOfCare): self
  517. {
  518. $this->clinicalFactsNoBreachDutyOfCare = $clinicalFactsNoBreachDutyOfCare;
  519. return $this;
  520. }
  521. /**
  522. * @return string|null
  523. */
  524. public function getClinicalFactsChangingViewOnDefendantBreach(): ?string
  525. {
  526. return $this->clinicalFactsChangingViewOnDefendantBreach;
  527. }
  528. /**
  529. * @param string|null $clinicalFactsChangingViewOnDefendantBreach
  530. *
  531. * @return self
  532. */
  533. public function setClinicalFactsChangingViewOnDefendantBreach(?string $clinicalFactsChangingViewOnDefendantBreach): self
  534. {
  535. $this->clinicalFactsChangingViewOnDefendantBreach = $clinicalFactsChangingViewOnDefendantBreach;
  536. return $this;
  537. }
  538. /**
  539. * @return string|null
  540. */
  541. public function getClaimedHarmOrLossMedicalRecords(): ?string
  542. {
  543. return $this->claimedHarmOrLossMedicalRecords;
  544. }
  545. /**
  546. * @param string $claimedHarmOrLossMedicalRecords
  547. *
  548. * @return self
  549. */
  550. public function setClaimedHarmOrLossMedicalRecords(string $claimedHarmOrLossMedicalRecords): self
  551. {
  552. $this->claimedHarmOrLossMedicalRecords = $claimedHarmOrLossMedicalRecords;
  553. return $this;
  554. }
  555. /**
  556. * @return \DateTimeInterface|null
  557. */
  558. public function getCreated(): ?\DateTimeInterface
  559. {
  560. return $this->created;
  561. }
  562. /**
  563. * @param \DateTimeInterface $created
  564. *
  565. * @return self
  566. */
  567. public function setCreated(\DateTimeInterface $created): self
  568. {
  569. $this->created = $created;
  570. return $this;
  571. }
  572. /**
  573. * @return \DateTimeInterface|null
  574. */
  575. public function getUpdated(): ?\DateTimeInterface
  576. {
  577. return $this->updated;
  578. }
  579. /**
  580. * @param \DateTimeInterface $updated
  581. *
  582. * @return self
  583. */
  584. public function setUpdated(\DateTimeInterface $updated): self
  585. {
  586. $this->updated = $updated;
  587. return $this;
  588. }
  589. /**
  590. * @return \DateTimeInterface|null
  591. */
  592. public function getDeletedAt(): ?\DateTimeInterface
  593. {
  594. return $this->deletedAt;
  595. }
  596. /**
  597. * @param \DateTimeInterface|null $deletedAt
  598. *
  599. * @return self
  600. */
  601. public function setDeletedAt(?\DateTimeInterface $deletedAt): self
  602. {
  603. $this->deletedAt = $deletedAt;
  604. return $this;
  605. }
  606. /**
  607. * @return string|null
  608. */
  609. public function getPointOfNote(): ?string
  610. {
  611. return $this->pointOfNote;
  612. }
  613. /**
  614. * @param string|null $pointOfNote
  615. *
  616. * @return self
  617. */
  618. public function setPointOfNote(?string $pointOfNote): self
  619. {
  620. $this->pointOfNote = $pointOfNote;
  621. return $this;
  622. }
  623. /**
  624. * @return string|null
  625. */
  626. public function getBreachOfDutyDetails(): ?string
  627. {
  628. return $this->breachOfDutyDetails;
  629. }
  630. /**
  631. * @param string|null $breachOfDutyDetails
  632. *
  633. * @return self
  634. */
  635. public function setBreachOfDutyDetails(?string $breachOfDutyDetails): self
  636. {
  637. $this->breachOfDutyDetails = $breachOfDutyDetails;
  638. return $this;
  639. }
  640. /**
  641. * @return string|null
  642. */
  643. public function getClinicalSupportDetails(): ?string
  644. {
  645. return $this->clinicalSupportDetails;
  646. }
  647. /**
  648. * Set the value of clinicalSupportDetails
  649. *
  650. * @param mixed $clinicalSupportDetails
  651. *
  652. * @return self
  653. */
  654. public function setClinicalSupportDetails($clinicalSupportDetails)
  655. {
  656. $this->clinicalSupportDetails = $clinicalSupportDetails;
  657. return $this;
  658. }
  659. /**
  660. * @return string|null
  661. */
  662. public function getPatientHarmDetails(): ?string
  663. {
  664. return $this->patientHarmDetails;
  665. }
  666. /**
  667. * Set the value of patientHarmDetails
  668. *
  669. * @param mixed $patientHarmDetails
  670. *
  671. * @return self
  672. */
  673. public function setPatientHarmDetails($patientHarmDetails): self
  674. {
  675. $this->patientHarmDetails = $patientHarmDetails;
  676. return $this;
  677. }
  678. /**
  679. * @return string|null
  680. */
  681. public function getPatientNoHarmDetails(): ?string
  682. {
  683. return $this->patientNoHarmDetails;
  684. }
  685. /**
  686. * Set the value of patientNoHarmDetails
  687. *
  688. * @param mixed $patientNoHarmDetails
  689. *
  690. * @return self
  691. */
  692. public function setPatientNoHarmDetails($patientNoHarmDetails): self
  693. {
  694. $this->patientNoHarmDetails = $patientNoHarmDetails;
  695. return $this;
  696. }
  697. /**
  698. * @return string|null
  699. */
  700. public function getClinicalFactsDetails(): ?string
  701. {
  702. return $this->clinicalFactsDetails;
  703. }
  704. /**
  705. * Set the value of clinicalFactsDetails
  706. *
  707. * @param mixed $clinicalFactsDetails
  708. *
  709. * @return self
  710. */
  711. public function setClinicalFactsDetails($clinicalFactsDetails): self
  712. {
  713. $this->clinicalFactsDetails = $clinicalFactsDetails;
  714. return $this;
  715. }
  716. /**
  717. * @return string|null
  718. */
  719. public function getInvestigationRecommendations(): ?string
  720. {
  721. return $this->investigationRecommendations;
  722. }
  723. /**
  724. * Set the value of investigationRecommendations
  725. *
  726. * @param mixed $investigationRecommendations
  727. *
  728. * @return self
  729. */
  730. public function setInvestigationRecommendations($investigationRecommendations): self
  731. {
  732. $this->investigationRecommendations = $investigationRecommendations;
  733. return $this;
  734. }
  735. /**
  736. * @return string|null
  737. */
  738. public function getInvestigationRecommendationsPrompt(): ?string
  739. {
  740. return $this->investigationRecommendationsPrompt;
  741. }
  742. /**
  743. * Set the value of investigationRecommendationsPrompt
  744. *
  745. * @param mixed $investigationRecommendationsPrompt
  746. *
  747. * @return self
  748. */
  749. public function setInvestigationRecommendationsPrompt($investigationRecommendationsPrompt): self
  750. {
  751. $this->investigationRecommendationsPrompt = $investigationRecommendationsPrompt;
  752. return $this;
  753. }
  754. /**
  755. * @return string
  756. */
  757. public function getMedicoLegalOpinionRecommendation(): string
  758. {
  759. return $this->medicoLegalOpinionRecommendation;
  760. }
  761. /**
  762. * Set the value of medicoLegalOpinionRecommendation
  763. *
  764. * @param mixed $medicoLegalOpinionRecommendation
  765. *
  766. * @return self
  767. */
  768. public function setMedicoLegalOpinionRecommendation($medicoLegalOpinionRecommendation): self
  769. {
  770. $this->medicoLegalOpinionRecommendation = $medicoLegalOpinionRecommendation;
  771. return $this;
  772. }
  773. /**
  774. * @return string|null
  775. */
  776. public function getPatientHarmChangingView(): ?string
  777. {
  778. return $this->patientHarmChangingView;
  779. }
  780. /**
  781. * Set the value of patientHarmChangingView
  782. *
  783. * @param mixed $patientHarmChangingView
  784. *
  785. * @return self
  786. */
  787. public function setPatientHarmChangingView($patientHarmChangingView): self
  788. {
  789. $this->patientHarmChangingView = $patientHarmChangingView;
  790. return $this;
  791. }
  792. /**
  793. * @return string|null
  794. */
  795. public function getContinueWithAdditionalService(): ?string
  796. {
  797. return $this->continueWithAdditionalService;
  798. }
  799. /**
  800. * Set the value of continueWithAdditionalService
  801. *
  802. * @param mixed $continueWithAdditionalService
  803. *
  804. * @return self
  805. */
  806. public function setContinueWithAdditionalService(string $continueWithAdditionalService): self
  807. {
  808. $this->continueWithAdditionalService = $continueWithAdditionalService;
  809. return $this;
  810. }
  811. /**
  812. * Get the value of filePath
  813. */
  814. public function getFilePath(): string
  815. {
  816. return $this->filePath;
  817. }
  818. /**
  819. * Set the value of filePath
  820. *
  821. * @param mixed $filePath
  822. *
  823. * @return self
  824. */
  825. public function setFilePath(string $filePath): self
  826. {
  827. $this->filePath = $filePath;
  828. return $this;
  829. }
  830. /**
  831. * @return bool
  832. */
  833. public function getRemoveAfterProcessing(): bool
  834. {
  835. return true;
  836. }
  837. /**
  838. * @param string|null $filename
  839. *
  840. * @return self
  841. */
  842. public function setOriginalFilename(string $filename): self
  843. {
  844. $this->originalFilename = $filename;
  845. return $this;
  846. }
  847. /**
  848. * @return string|null
  849. */
  850. public function getOriginalFilename(): ?string
  851. {
  852. return $this->originalFilename;
  853. }
  854. /**
  855. * @return string|null
  856. */
  857. public function getContainingCollectionName(): ?string
  858. {
  859. return null;
  860. }
  861. /**
  862. * @return User
  863. */
  864. public function getCreator(): User
  865. {
  866. return $this->creator;
  867. }
  868. /**
  869. * @param ?User $creator
  870. *
  871. * @return self
  872. */
  873. public function setCreator(?User $creator): self
  874. {
  875. $this->creator = $creator;
  876. return $this;
  877. }
  878. /**
  879. * @return array|null
  880. */
  881. public function getPatientHarmChangingViewArray(): ?array
  882. {
  883. return json_decode($this->patientHarmChangingView);
  884. }
  885. }