Na busca do paciente poderia substituir também aquele if verificando se o o mesmo existe com o código abaixo:
var paciente = pacienteRepository.findById(dados.idPaciente()).orElseThrow(() -> new ValidacaoException("Id do paciente informado não existe!"));
Caso o paciente não conste no banco de dados, ele irá lançar a exception através do orElseThrow(), deixando o código mais enxuto, e evitando de fazer muitas buscas.