Files
rkm-conectasus-ci-sandbox/api/app/Services/Geral/GestacaoService.php
Antonio Lopes dos Santos afec302c3e
All checks were successful
build-api-image / build (push) Successful in 51s
init commit
2026-08-04 16:52:02 -03:00

31 lines
854 B
PHP

<?php
namespace App\Services\Geral;
use Carbon\Carbon;
class GestacaoService
{
private const SEMANAS_PREVISTAS_PARTO = 40;
public static function getIdadeGestacional(Carbon $dataUltimaMenstruacao) : array
{
$dias = $dataUltimaMenstruacao->diffInDays(new Carbon);
$semanasTotais = $dias / 7;
$semanasCompletas = floor($semanasTotais);
$porcentagemDiasDaSemana = $semanasTotais - $semanasCompletas;
$diasTotais = $porcentagemDiasDaSemana * 7;
$diasCompletos = floor($diasTotais);
return [
'semanas' => (int) $semanasCompletas,
'dias' => (int) $diasCompletos,
];
}
public static function getDataPrevistaParto(Carbon $dataUltimaMenstruacao) : Carbon
{
return $dataUltimaMenstruacao->addWeeks(self::SEMANAS_PREVISTAS_PARTO);
}
}