public boolean templateValidator(P proc, G guia) throws ValidateException {
   TabelaCBHPM cbhpm = proc.getProcedimentoDaTabelaCBHPM();
   Assert.isTrue(
       cbhpm.isSituacaoAtual(SituacaoEnum.ATIVO.descricao()),
       MensagemErroEnum.PROCEDIMENTO_INATIVO_NO_SISTEMA.getMessage(cbhpm.getCodigo()));
   return true;
 }
  public boolean templateValidator(P proc, G guia) throws ValidateException {
    TabelaCBHPM cbhpm = proc.getProcedimentoDaTabelaCBHPM();
    Integer idadeDoSegurado = guia.getSegurado().getPessoaFisica().getIdade();
    Integer idadeMinimaDoProcedimento = cbhpm.getIdadeMinima();
    Integer idadeMaximaDoProcedimento = cbhpm.getIdadeMaxima();
    String descricaoIdade;

    if (idadeMinimaDoProcedimento != null) {
      descricaoIdade = idadeMinimaDoProcedimento.toString();
      Assert.isTrue(
          idadeDoSegurado >= idadeMinimaDoProcedimento,
          MensagemErroEnum.SEGURADO_COM_IDADE_INFERIOR_A_MINIMA_PARA_O_PROCEDIMENTO.getMessage(
              cbhpm.getCodigo(), descricaoIdade));
    }

    if (idadeMaximaDoProcedimento != null) {
      descricaoIdade = idadeMaximaDoProcedimento.toString();
      Assert.isTrue(
          idadeDoSegurado <= idadeMaximaDoProcedimento,
          MensagemErroEnum.SEGURADO_COM_IDADE_SUPERIOR_A_MAXIMA_PARA_O_PROCEDIMENTO.getMessage(
              cbhpm.getCodigo(), descricaoIdade));
    }
    return true;
  }