Mudanças entre as edições de "Integração de sistemas próprios"
| 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.]] | ||
| − | + | 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. | |
| − | + | [[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.]] | |
| − | + | ''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. | |
| + | [[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:
Clique duas vezes no ícone para abrir o aplicativo.
Será mostrada a tela inicial conforme mostra a figura 1 abaixo:
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:
Será aberta uma janela, conforme mostra a figura 3, para informar a URL do Webservice (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
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.
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.
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.
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.
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.
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.
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.
Agora basta clicar no ícone abaixo da ferramenta SOAPUI para enviar a requisição (Request), conforme mostra a figura 12.
A requisição será enviada até o serviço e ele retornará uma 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 |






