class ImportarArquivoSusON extends BaseBMTBusiness {

	public Map<String, Object> atualizarItensProcedimentoHospitalar(final List<String> lista) throws BaseException {

		// Argumentos paramentrizados
		String nomeArquivoProcedimentos = parametroFacade.buscarValorTexto(AghuParametrosEnum.P_NOME_ARQUIVO_ITENS_PROCED_HOSP).toLowerCase(); // "tb_procedimento";
		
		// confere parâmetro necessário
		parametroFacade.buscarAghParametro(AghuParametrosEnum.P_TABELA_FATUR_PADRAO);
		parametroFacade.buscarAghParametro(AghuParametrosEnum.P_PROCEDIMENTOS_IGNORADOS_IMPORTACAO_VALOR);
		parametroFacade.buscarAghParametro(AghuParametrosEnum.P_IMPORTACAO_PROCED_FCF);
		parametroFacade.buscarAghParametro(AghuParametrosEnum.P_IMPORTACAO_PROCED_FCC);
		
		// Abertura de arquivos
		try {
			nomeArquivoProcedimentos = FileUtil.arquivoExiste(lista, nomeArquivoProcedimentos);
		} catch (final ApplicationBusinessException e1) {
			throw new ApplicationBusinessException(ImportarArquivoSusONExceptionCode.ARQUIVO_NAO_ENCONTRADO_COM_NOME, nomeArquivoProcedimentos);
		}
		final File arquivoProcedimentos = new File(nomeArquivoProcedimentos);
		final AghSistemas sistema = aghuFacade.obterAghSistema(parametroFacade.buscarAghParametro(AghuParametrosEnum.P_SIGLA_FATURAMENTO).getVlrTexto());
		atualizarProcessosAbortados(sistema);
		verificarConcorrencia(arquivoProcedimentos.getName(), sistema);
		final List<AghArquivoProcessamento> arquivos = new ArrayList<AghArquivoProcessamento>(1);
			
		try {
			arquivos.add(criarArquivo(arquivoProcedimentos, sistema, 1));
		} catch (final IOException e) {
			LOG.error(EXCECAO_CAPTURADA, e);
			throw new ApplicationBusinessException(ImportarArquivoSusONExceptionCode.ARQUIVO_NAO_ENCONTRADO_COM_NOME, nomeArquivoProcedimentos);
		}
		
		File file = null;
		
		try {
			file = File.createTempFile(IFaturamentoFacade.NOME_ARQUIVO_LOG_PROCEDIMENTOS + DateUtil.obterDataFormatada(new Date(), DateConstants.DATE_PATTERN_YYYY_MM_DD_HH_MM), IFaturamentoFacade.EXTENCAO_ARQUIVO_LOG);
			} catch (final IOException e) {
			LOG.error(e.getMessage(), e);
		}
		
		getProcessadorArquivosImportacaoSus().processarItensProcedimentoHospitalar(file, lista);
		final Map<String, Object> retorno = new HashMap<String, Object>();
		retorno.put(IFaturamentoFacade.ARQUIVOS_IMPORTACAO_SUS, arquivos);
		retorno.put(IFaturamentoFacade.LOG_FILE_IMPORTACAO_SUS, file.getAbsolutePath());
		return retorno;	
						
	}

}