Mudanças entre as edições de "Integração de sistemas próprios"

De cmd
Ir para: navegação, pesquisa
Linha 56: Linha 56:
  
 
O aplicativo irá acessar e carregar todos os serviços disponíveis que o WSDL disponibiliza. Será apresentada uma tela de carregamento conforme mostra a figura 5.
 
O aplicativo irá acessar e carregar todos os serviços disponíveis que o WSDL disponibiliza. Será apresentada uma tela de carregamento conforme mostra a figura 5.
 +
[[Arquivo:Figura 5- Carregando informações do Serviço..png|centro|miniaturadaimagem|195x195px|Figura 5: Carregando informações do Serviço.]]
  
Após download, ciar um projeto do tipo SOAP, que é a tecnologia utilizada pelo serviço do CMD.
+
Uma vez que o aplicativo carregou corretamente as informações contidas no WSDL, será mostrada uma lista de serviços disponíveis conforme mostra a figura.
  
Acesso ao serviço ContatoAssistencialService
+
[[Arquivo:Figura 6- Lista de capacidades de acordo com o WSDL informado..png|centro|miniaturadaimagem|327x327px|Figura 6: Lista de capacidades de acordo com o WSDL informado.]]
  
Informar a WSDL do serviço ContatoAssistencialService para que o aplicativo SOAPUI gere a estrutura necessária para acessar e carregar todos os serviços disponíveis que o WSDL disponibiliza.
+
''3.3.2. Acessando o Serviço''
  
Ambiente de homologação: https://servicoshm.saude.gov.br/cmd/ContatoAssistencialService/v1r0?wsdl
+
Para simular uma requisição ao serviço de “cancelarContatoAssistencial”, basta clicar no sinal de [+] ao lado do serviço e será exibido uma requisição padrão (Request) proveniente do WSDL conforme mostra a figura 7.
 +
[[Arquivo:Figura 7- Acessando a requisição do serviço “cancelarContatoAssistencial”..png|centro|miniaturadaimagem|312x312px|Figura 7: Acessando a requisição do serviço “cancelarContatoAssistencial”.]]
  
'''Integração por Serviço'''
+
Daremos um nome amigável à nossa requisição, para que possamos identificar melhor que tipo de parâmetros vamos enviar ao serviço em questão. Clique com o botão direito do mouse em cima da requisição (Request) e selecione a opção “Rename” conforme mostra a figura 8.
 +
 
 +
[[Arquivo:Figura 8- Selecione Rename..png|centro|miniaturadaimagem|745x745px|Figura 8: Selecione Rename.]]
 +
 
 +
'''Pronto! Agora vamos fazer uma simulação ao serviço de ContatoAssistencialService.'''
 +
 
 +
Dê um duplo clique em cima da requisição (CancelarContato) para visualizar o XML que é gerado pela ferramenta SOAPUI conforme mostra a figura 10.
 +
[[Arquivo:Figura 10- XML padrão da requisição..png|centro|miniaturadaimagem|745x745px|Figura 10: XML padrão da requisição.]]
 +
 
 +
O CMD disponibiliza um arquivo de XML de exemplo de requisição para cada serviço disponibilizado.
 +
 
 +
Para este tutorial utilizaremos o arquivo de exemplo de requisição request_cancelar_contato.xml.
 +
 
 +
Baixe o pacote de arquivos de exemplos de requisição do CMD e abra o arquivo indicado acima.
 +
 
 +
Substitua o conteúdo do XML gerado pelo SOAPUI pelo conteúdo do arquivo.
 +
 
 +
[[Arquivo:Figura 11- Substituindo o conteúdo..png|centro|miniaturadaimagem|642x642px|Figura 11: Substituindo o conteúdo.]]
 +
 
 +
Feito isso, precisamos preencher os nossos dados de acesso.
 +
 
 +
Para isso, tenha em mãos a credencial recebida e o usuário e senha de acesso ao sistema do CMD.
 +
 
 +
Preencha as tags de acesso do bloco Header de acordo com a imagem e a explicação abaixo.
 +
 
 +
Atualize as informações de acordo com a credencial recebida e seus dados de cpf e senha, conforme imagem abaixo:
 +
 
 +
'''A''' – Usuário de acesso recebido na credencial solicitada.
 +
 
 +
'''B''' – Senha de acesso recebido na credencial solicitada.
 +
 
 +
'''C''' – CPF de perfil de CNES (relacionamento de CPF e CNES do contato assistencial).
 +
 
 +
'''D''' – Senha de perfil de CNES.
 +
 
 +
[[Arquivo:Figura 12- Preenchimento do Header..png|centro|miniaturadaimagem|745x745px|Figura 12: Preenchimento do Header.]]
 +
 
 +
Agora basta clicar no ícone abaixo da ferramenta SOAPUI para enviar a requisição (Request), conforme mostra a figura 12.
 +
[[Arquivo:Ícone SOAPUI 2.png|centro|26x26px]]
 +
A requisição será enviada até o serviço e ele retornará uma resposta (response).
 +
 
 +
[[Arquivo:Figura 12- XML padrão da resposta (response)..png|centro|miniaturadaimagem|745x745px|Figura 12: XML padrão da resposta (response).]]
 +
 
 +
Dessa forma, finalizamos o teste de integração com o webService.
 +
 
 +
Para realizar novos testes, com diferentes capacidades do serviço de CMD, basta fazer o download do arquivo XML de exemplo de requisição para cada capacidade e seguir os passos informados nesse tutorial.
 +
 
 +
'''4. Integração por Serviço'''
  
 
A integração por serviço será realizada a partir de ''webservice'' disponível no barramento de serviços.
 
A integração por serviço será realizada a partir de ''webservice'' disponível no barramento de serviços.

Edição das 19h05min de 5 de fevereiro de 2018

Esta sessão tem por objetivo orientar equipes técnicas de TI no desenvolvimento da integração de sistemas ao webservice do CMD. Serão descritas as interfaces webservice SOAP disponibilizadas no portfólio de serviços CMD existentes no barramento de serviços do DATASUS.

1. Documento de Integração

Acesse aqui o documento de integração.

2. Descrição do Processo

Para acessar os serviços do CMD, o Estabelecimento de Saúde (ES) deverá possuir credencial de acesso ao Serviço ContatoAssistencialService e profissional cadastrado no CNES, permissão de transmissão de dados de contatos assistenciais.

A integração deverá iniciar em ambiente de homologação, por meio das credencias públicas disponibilizadas neste tutorial. O CPF e a senha do profissional serão validados pelo Serviço do CNES (A capacidade ValidaPermissão do serviço de CNES fazendo um relacionamento entre o CPF do operador e o código CNES do estabelecimento, do qual o operador tem permissão para transmitir contatos assistenciais.URL: http://hm-cnesservicos.datasus.gov.br/cnesservicos/PerfilService?wsdl) .

Ao concluir a integração em ambiente de homologação, deverão ser enviadas ao DATASUS as evidências de testes. Após análise dos testes realizados, serão geradas e disponibilizadas as credencias de acesso em ambiente de produção.

De posse deste documento, a equipe técnica de desenvolvimento poderá iniciar de imediato a integração de seus sistemas consumidores.

3. Instalação e uso prático da ferramenta de testes

3.1 Instalação do Software SOAPUI

Para fazer o download do software SOAPUI clique no link: http://www.soapui.org/downloads/soapui.html

Após a instalação, será criado um ícone de acesso semelhante a este:

Ícone SOAPUI.png

Clique duas vezes no ícone para abrir o aplicativo.

Será mostrada a tela inicial conforme mostra a figura 1 abaixo:

Figura 1: Tela inicial do Software SOAPUI.

3.2 Criar Projeto SOAP

O segundo passo será criar um projeto do tipo SOAP, que é a tecnologia utilizada pelo serviço do CMD.

No menu principal clique em File -> New Soap Project conforme mostra a figura 2 abaixo:

Figura 2: Criar Projeto SOAP

Será aberta uma janela, conforme mostra a figura 3, para informar a URL do Webservice (WSDL).

Figura 3: Inserir URL WSDL.

3.3 Acessando o serviço ContatoAssistencialService.

Neste momento o usuário informará a WSDL do serviço no qual precisa que o aplicativo SOAPUI gere a estrutura necessária para acessar os serviços disponíveis.

Utilizaremos o exemplo do serviço ContatoAssistencialService neste tutorial.

3.3.1 Gerando a Estrutura

Insira no campo Initial WSDL a WSDL de homologação do serviço ContatoAssistencialService e clique no botão OK:

https://servicoshm.saude.gov.br/cmd/ContatoAssistencialService/v1r0?wsdl

Figura 4: WSDL ContatoAssistencialService – Ambiente de Homologação

O aplicativo irá acessar e carregar todos os serviços disponíveis que o WSDL disponibiliza. Será apresentada uma tela de carregamento conforme mostra a figura 5.

Figura 5: Carregando informações do Serviço.

Uma vez que o aplicativo carregou corretamente as informações contidas no WSDL, será mostrada uma lista de serviços disponíveis conforme mostra a figura.

Figura 6: Lista de capacidades de acordo com o WSDL informado.

3.3.2. Acessando o Serviço

Para simular uma requisição ao serviço de “cancelarContatoAssistencial”, basta clicar no sinal de [+] ao lado do serviço e será exibido uma requisição padrão (Request) proveniente do WSDL conforme mostra a figura 7.

Figura 7: Acessando a requisição do serviço “cancelarContatoAssistencial”.

Daremos um nome amigável à nossa requisição, para que possamos identificar melhor que tipo de parâmetros vamos enviar ao serviço em questão. Clique com o botão direito do mouse em cima da requisição (Request) e selecione a opção “Rename” conforme mostra a figura 8.

Figura 8: Selecione Rename.

Pronto! Agora vamos fazer uma simulação ao serviço de ContatoAssistencialService.

Dê um duplo clique em cima da requisição (CancelarContato) para visualizar o XML que é gerado pela ferramenta SOAPUI conforme mostra a figura 10.

Figura 10: XML padrão da requisição.

O CMD disponibiliza um arquivo de XML de exemplo de requisição para cada serviço disponibilizado.

Para este tutorial utilizaremos o arquivo de exemplo de requisição request_cancelar_contato.xml.

Baixe o pacote de arquivos de exemplos de requisição do CMD e abra o arquivo indicado acima.

Substitua o conteúdo do XML gerado pelo SOAPUI pelo conteúdo do arquivo.

Figura 11: Substituindo o conteúdo.

Feito isso, precisamos preencher os nossos dados de acesso.

Para isso, tenha em mãos a credencial recebida e o usuário e senha de acesso ao sistema do CMD.

Preencha as tags de acesso do bloco Header de acordo com a imagem e a explicação abaixo.

Atualize as informações de acordo com a credencial recebida e seus dados de cpf e senha, conforme imagem abaixo:

A – Usuário de acesso recebido na credencial solicitada.

B – Senha de acesso recebido na credencial solicitada.

C – CPF de perfil de CNES (relacionamento de CPF e CNES do contato assistencial).

D – Senha de perfil de CNES.

Figura 12: Preenchimento do Header.

Agora basta clicar no ícone abaixo da ferramenta SOAPUI para enviar a requisição (Request), conforme mostra a figura 12.

Ícone SOAPUI 2.png

A requisição será enviada até o serviço e ele retornará uma resposta (response).

Figura 12: XML padrão da resposta (response).

Dessa forma, finalizamos o teste de integração com o webService.

Para realizar novos testes, com diferentes capacidades do serviço de CMD, basta fazer o download do arquivo XML de exemplo de requisição para cada capacidade e seguir os passos informados nesse tutorial.

4. Integração por Serviço

A integração por serviço será realizada a partir de webservice disponível no barramento de serviços.

As credenciais públicas de acesso são as seguintes:

·        Credencial do Serviço ContatoAssistencialService:

USUARIO_SERVICO: CADSUS.CMD

SENHA: *9p4-gNEDu85-eqh89X-2NB6f*H*_g

·        Credencial do Operador do CMD (relacionamento de CPF e CNES):

CPF_OPERADOR: 99999999999

SENHA: 2C0c75d9

Serviços

O ContatoAssistencialService tem o propósito de envio de informações essenciais dos contatos assistenciais de atenção à saúde realizados em território nacional, no âmbito público, suplementar e privado. O serviço fará consultas nas bases do CADSUS, CNES e SIGTAP (repositório de terminologia em uso) com o intuito de realizar a validação dos dados enviados através do CMD Desktop. Além disso, o serviço fará todas as validações de negócio referentes ao CMD antes de persisti-lo na base. baixo seguem as operações disponíveis:

PesquisarContatoAssistencial

  • Objetivo: Possibilitar a pesquisa dos contatos assistenciais enviados a partir de algumas informações fornecidas.
  • Arquivo de exemplo de Requisição: request_pesquisar_contato.xml
  • Parâmetros de entrada da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Ano Mês Atendimento* <con:anoMesAtendimento></con:anoMesAtendimento> Ano e Mês de atendimento com o formato YYYY/MM
Cnes Contato Assistencial * <con:cnesContatoAssistencial></con:cnesContatoAssistencial> CNES do Contato Assistencial
Cns Individuo* <con:cnsIndividuo></con:cnsIndividuo>
  • Parâmetros de retorno da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Contato Assistencial <ns4:codigoContatoAssistencial></ns4:codigoContatoAssistencial> Código do Contato Assistencial Formato UUID Versão 4
Ano Mês Atendimento <ns4:anoMesAtendimento></ns4:anoMesAtendimento> Ano Mês Atendimento
Cnes Contato Assistencial <ns4:cnesContatoAssistencial></ns4:cnesContatoAssistencial> CNES do Contato Assistencial
Cns Individuo <con:cnsIndividuo></con:cnsIndividuo> CNS do Individuo
Nome Completo Individuo <ns4:nomeCompleto> </ns4:nomeCompleto> Nome Individuo
Data Admissao <ns4:dataAdmissao></ns4:dataAdmissao> Data Admissão
Data Desfecho <ns4:dataDesfecho></ns4:dataDesfecho> Data Desfecho
Situação Contato Assistencial <ns4:situacaoContatoAssistencial></ns4:situacaoContatoAssistencial> Enumeração OK, COM_ADVERTENCIA, CANCELADO

DetalharContatoAssistencial

  • Objetivo: Possibilitar a pesquisa completa dos dados de um contato assistencial a partir de seu código de identificação. O Serviço retornará o detalhamento das informações de apenas um contato assistencial ou nenhum
  • Arquivo de exemplo de Requisição: request_detalhar_contato.xml
  • Parâmetros de entrada da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Contato Assistencial* <con:codigoContatoAssistencial></con:codigoContatoAssistencial> Código do Contato Assistencial Formato UUID Versão 4
  • Parâmetros de retorno da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Dados Contato Assistencial <con:DadosContatoAssistencial> Detalhe Do Contato </con:DadosContatoAssistencial> Detalhe Contato Assistencial

IncluirContatoAssistencial

  • Objetivo: Possibilitar a inclusão das informações do conjunto mínimo de dados dos contatos assistenciais de atenção à saúde.
  • Arquivo de exemplo de Requisição: request_incluir_contato.xml
  • Parâmetros de entrada da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Dados Contato Assistencial* <con:DadosContatoAssistencial> Detalhe Do Contato </con:DadosContatoAssistencial> Detalhe Contato Assistencial
  • Parâmetros de retorno da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Retorno <con:codigoRetorno> </con:codigoRetorno> Enumeração: INCLUSAO REALIZADA COM SUCESSO

AlterarContatoAssistencial

  • Objetivo: Possibilitar a alteração das informações do conjunto mínimo de dados dos contatos assistenciais de atenção à saúde a partir do código do contato assistencial.
  • Arquivo de exemplo de Requisição: request_alterar_contato.xml
  • Parâmetros de entrada da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Dados Contato Assistencial* <con:DadosContatoAssistencial> Detalhe Do Contato </con:DadosContatoAssistencial> Detalhe Contato Assistencial
  • Parâmetros de retorno da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Retorno <con:codigoRetorno> </con:codigoRetorno> Enumeração: ALTERACAO REALIZADA COM SUCESSO

CancelarContatoAssistencial

  • Objetivo: Possibilitar a exclusão lógica de um registro de contato assistencial a partir de seu código de identificação.
  • Arquivo de exemplo de Requisição: request_cancelar_contato.xml
  • Parâmetros de entrada da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Contato Assistencial* <con:codigoContatoAssistencial></con:codigoContatoAssistencial> Código do Contato Assistencial Formato UUID Versão 4
  • Parâmetros de retorno da requisição:
Parâmetro Tag Xml Correspondente Descrição Técnica
Código Retorno <con:codigoRetorno> </con:codigoRetorno> Enumeração: CANCELAMENTO REALIZADO COM SUCESSO