<?php

namespace App\Entities\Paciente;

use App\Entities\Pessoa\Pessoa;
use App\Models\PacienteModel;
use App\Utils\Entity;

class Paciente extends Entity {
	protected $id;
	protected $id_pessoa;
	protected $adicionado_por;
	protected $alterado_por;
	protected $criado_em;
	protected $alterado_em;
	protected $indicado_por;
	protected $convenio;
	protected $altura;
	protected $peso;

	public static function builder(): PacienteBuilder {

		$paciente_builder = new PacienteBuilder();
		return $paciente_builder;

	}

	public function getId(): int {

		return $this->id;

	}

	public function getIdPessoa(): int {

		return $this->id_pessoa;

	}

	public function getAdicionadoPor(): string {

		return $this->adicionado_por;

	}

	public function getAlteradoPor(): ?int {

		return $this->alterado_por;

	}

	public function getCriadoEm(): ?int {

		return $this->criado_em;

	}

	public function getAlteradoEm(): ?string {

		return $this->alterado_em;

	}

	public function getIndicadoPor(): string {

		return $this->indicado_por;

	}

	public function setId(int $id): void {

		$this->id = $id;

	}

	public function setIdPessoa(int $id_pessoa): void {

		$this->id_pessoa = $id_pessoa;

	}

	public function setAdicionadoPor(?int $adicionado_por): void {

		$this->adicionado_por = $adicionado_por;

	}

	public function setAlteradoPor(?int $alterado_por): void {

		$this->alterado_por = $alterado_por;

	}

	public function setCriadoEm(?string $criado_em): void {

		$this->criado_em = $criado_em;

	}

	public function setAlteradoEm(?string $alterado_em): void {

		$this->alterado_em = $alterado_em;

	}

	public function setIndicadoPor(string $indicado_por): void {

		$this->indicado_por = $indicado_por;

	}

	public function getConvenio() {

		return $this->convenio;

	}

	public function setConvenio($convenio): void {

		$this->convenio = $convenio;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getAltura() {

		return $this->altura;

	}

	/**
	 *
	 * @param mixed $altura
	 */
	public function setAltura($altura): void {

		$this->altura = $altura;

	}

	/**
	 *
	 * @return mixed
	 */
	public function getPeso() {

		return $this->peso;

	}

	/**
	 *
	 * @param mixed $peso
	 */
	public function setPeso($peso): void {

		$this->peso = $peso;

	}

}