class ProcedimentoAtendimentoConsultaRN extends BaseBusiness {

	public void validarProcedimentoAtendimentoBeforeInsert(MamProcedimentoRealizado newProcedimentoRealizado) 
			throws BaseException {
		RapServidores servidorLogado = getServidorLogadoFacade().obterServidorLogado();
		
		final DominioOperacaoBanco operacao = DominioOperacaoBanco.INS; 
		
		// verifica se o procedimento atual já foi validado
		if (newProcedimentoRealizado.getPendente().equals(DominioIndPendenteAmbulatorio.V) ) {
			verificarProcedimentoAtendimentoValidado(operacao);
		}
		
		// verifica se o procedimento que está sendo incluído esta ativo
		verificarProcedimentoAtendimentoAtivo(newProcedimentoRealizado.getProcedimento().getSeq());
		
	     if (newProcedimentoRealizado.getServidor() == null || 
	    		 newProcedimentoRealizado.getServidor().getId().getMatricula() == null) {
	    	 newProcedimentoRealizado.setServidor(servidorLogado);
	     }
	     
	     if (newProcedimentoRealizado.getPaciente() == null  ) {
	    	 if (newProcedimentoRealizado.getConsulta() != null) {
	    		Integer codigoPaciente = getMarcacaoConsultaRN().obterCodigoPacienteOrigem(
	    				DominioOrigemPacienteAmbulatorio.CONSULTA.getCodigo(), 
	    				newProcedimentoRealizado.getConsulta().getNumero());
	    		if (codigoPaciente != null && codigoPaciente > 0) {
	    			AipPacientes paciente = getPacienteFacade().obterAipPacientesPorChavePrimaria(codigoPaciente);
	    			newProcedimentoRealizado.setPaciente(paciente);
	    		}
	    	 }
	     }
	}

	public  ProcedimentoAtendimentoConsultaRN();

}