Beruflich Dokumente
Kultur Dokumente
1 - Objetivo
Este documento tem como objetivo demostrar a integrao com WebService entre o sistema Tasy (HIS) e sistemas de laboratrio.
O modelo de integrao um modelo j bem conhecido pelo mercado e muito utilizado.
A utilizao deste modelo garante a integridade da informao entre os sistema envolvidos e trabalha com o conceito de WorkList.
2 Requisitos para integrao
A integrao entre os sistemas dever atender aos seguintes requisitos:
obteno
da
definio
do
WebService
bem
como
seus
servios
poder
ser
obtido
atravs
do
acesso
ao
endereo
http://endereco:porta/WhebWS/ws/LaboratorioWS?wsdl.
Criao de um usurio no Tasy, o qual ser utilizado para realizar a autenticao no WebService.
3 Servios do WebService
O WebService possui os seguintes servios:
Obs: Os modelos de arquivos xml esto no final do documento
Servio
Parmetros
obterListaExamesPendentes
Retorna
um
xml
lista
processados(exames_pendentes.xml)
dos
exames
nmUsuario
serem dsSenha
nmUsuarioBanco
registraExamesIntegrados
nmUsuario
Recebe um xml com a lista dos exame integrados (exames_integrado.xml)
dsSenha
Retorna
um
XML
com
o
status
de
cada
exame
enviado dsXml
(exames_integrado_retorno.xml)
registraResultadoExame
Recebe
um
xml
com
a
(exames_resultado.xml)
Retorna
um
XML
com
o
(exames_resultado_retorno.xml)
lista
de
resultado
status
de
cada
dos
resultado
nmUsuario
exames dsSenha
dsXml
enviado
Usurio do Tasy
Senha usurio Tasy
Nome usurio banco de dados
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
registraItemResultadoExame
nmUsuario
Usurio do Tasy
Recebe um xml com a lista de itens de cada exame com respectivo resultado dsSenha
(PEP) - (exames_resultado_item.xml)
dsXml
Retorno
um
xml
com
o
status
de
cada
item
enviado(exames_resultado_item_retorno.xml)
registraLaudoAnalitosExame
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
NmUsuario
dsSenha
Recebe um xml contendo 1..n exames, e cada exame pode conter 1..n dsXml
analitos
Retorna um xml com o status de cada exame, e os erros encontrados ao
processo os exames e analitos
IE_STATUS (EXAME)
0 Integrado com sucesso
1 Exame no integrado (erro informao do exame)
2 Exame integrado parcialmente (erro na informao de algum analto)
IE_STATUS (ANALITO)
0 Integrado com sucesso
1 Analto no integrado
registraLaudoAnalitosExameMicro
NmUsuario
dsSenha
Recebe um xml contendo 1..n exames, e cada exame pode conter 1..n dsXml
analitos, e processa os microorganismos e medicamentos utilizados na
microbiologia.
Retorna um xml com o status de cada exame, e os erros encontrados ao
processo os exames e analitos
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
IE_STATUS (EXAME)
0 Integrado com sucesso
1 Exame no integrado (erro informao do exame)
2 Exame integrado parcialmente (erro na informao de algum analto)
IE_STATUS (ANALITO)
0 Integrado com sucesso
1 Analto no integrado
obterListaExamesSuspensos
nmUsuario
Usurio do Tasy
dsSenha
nmUsuarioBanco
registraExamesSuspensos
nmUsuario
Recebe um xml com a lista dos exames suspensos (exames_suspensos.xml) dsSenha
Retorna um XML com a prescrio e sequncia de cada exame suspenso na dsXml
integrao (exames_suspensos_retorno.xml)
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
RegistraDataColetaExame
nmUsuario
Recebe um xml com a lista dos exame coletados (exames_coleta.xml)
dsSenha
Retorna um XML com a prescrio e sequncia dos exames coletados dsXml
(exames_coleta_retorno.xml)
Usurio do Tasy
Senha usurio Tasy
Contedo do XML
4 Processo
Todo o processo de atendimento, recepo e prescrio do paciente ser realizado pelo sistema Tasy. Aps realizado todas as atividades
o sistema ir disponibilizar um XML atravs do servio obterListaExamesPendentes uma lista de exames a serem realizados, contendo os
dados de pessoa fsica e do exame a ser realizados.
Aps recuperar as informaes do WORKLIST, o sistema de
Laboratrio dever registrar a data de integrao do exame atravs do
envio de um XML para o servio registraExamesIntegrados, que ir decompor o XML, e retornar um XML informando o STATUS de cada
exame. Caso ocorra algum erro o mesmo ser retornado atravs do campo DS_ERRO do XML.
O Laboratrio poder chamar o servio obterListaExamesSuspensos, que retornar um XML contendo a listagem de exames
suspensos no Tasy, atravs do nmero da prescrio e sequncia. Atravs deste XML, poder ser chamado o servio
registraExamesSuspensos que ir descompor o XML recebido e suspender o exame na integrao.
Aps registrada a integrao dos exames, o sistema de Laboratrio dever registrar a data de coleta dos exames atravs do envio de
um XML para o servio registraDataColetaExame, que ir decompor o XML, e retornar a prescrio e sequncia de cada exame que foi
registrada a data de coleta. Caso ocorra algum erro o mesmo ser retornado atravs do campo DS_ERRO do XML.
Aps a concluso do processo de realizao do exame, o sistema de Laboratrio dever registrar o fim do exame atravs do envio de
um XML para o servio registraResultadoExame , que ir decompor o XML, e retornar um XML informando o STATUS de cada exame. Caso
ocorra algum erro o mesmo ser retornado atravs do campo DS_ERRO do XML.
O WebService disponibiliza ainda o servio registraItemResultadoExame que dever receber um XML com a lista de itens de cada
exame com o respectivo resultado para que o mesmo possa ser visualizao atravs do mdulo de Pronturio Eletrnico do sistema TASY.
O WebService disponibiliza ainda o servio registraLaudoAnalitosExame que dever receber um XML com a lista de exames e cada
exame contem a lista de analtos.
5 Ativando a integrao
Para a utilizao dos servios do WebService devem ser ativadas as integraes na base do cliente, conforme tabela abaixo
Servio do WebService
obterListaExamesPendentes
registraExamesIntegrados
registraResultadoExame
registraItemResultadoExame
registraLaudoAnalitosExame
registraLaudoAnalitosExameMicro
- Lab -> Tasy - Resultado do exames separado por analitos junto com
resultados da microbiologia
- Tasy -> Lab - Resultado do exames separado por analitos (Retorno)
registraDataColetaExame
obterListaExamesSuspensos
registraExamesSuspensos
Estas integraes tem que ser ativadas atravs da funo Cadastros Gerais (Shift+F11).
7 Registro de LOGS
Todo XML recebido via WebService ser gerado um registro na tabela LOG_INTEGRACAO, e o xml salvo na tabela LOG_INTEGRACAO_XML.
Estas tabelas podem ser liberadas para um perfil, para que possam ser consultadas atravs da funo Cadastros Gerais (Shift+F11).
6 Arquivos de ERRO
Caso ocorrer algum erro interno no WebService, ser gerado o arquivo com o erro em um diretrio especfico dentro do servidor de aplicao.
A consulta destes arquivos pode ser realizada atravs da URL abaixo
http://ip_do_servidor/WhebWS/wheb_arquivos.jsp
Este arquivo de erro dever ser enviado para a Wheb, anexado da Ordem de Servio relatando o problema ocorrido.
<EXAME>
<NR_PRESCRICAO>230973</NR_PRESCRICAO>
<NR_SEQUENCIA>1</NR_SEQUENCIA>
<CD_PROCEDIMENTO>28010540</CD_PROCEDIMENTO>
<DS_PROCEDIMENTO>Creatinina</DS_PROCEDIMENTO>
<QT_PROCEDIMENTO>1</QT_PROCEDIMENTO>
<DT_ATUALIZACAO>08/10/2008</DT_ATUALIZACAO>
<NM_USUARIO>Feltrin</NM_USUARIO>
<DS_OBSERVACAO></DS_OBSERVACAO>
<IE_ORIGEM_PROCED>1</IE_ORIGEM_PROCED>
<IE_URGENCIA>N</IE_URGENCIA>
<DS_DADO_CLINICO></DS_DADO_CLINICO>
<IE_SUSPENSO>N</IE_SUSPENSO>
<CD_SETOR_ATENDIMENTO>26</CD_SETOR_ATENDIMENTO>
<NR_ATENDIMENTO>555</NR_ATENDIMENTO>
<CD_MEDICO>719769</CD_MEDICO>
<DT_PRESCRICAO>08/10/2008</DT_PRESCRICAO>
<DT_LIBERACAO>08/10/2008</DT_LIBERACAO>
<DT_LIBERACAO_MEDICO>08/10/2008</DT_LIBERACAO_MEDICO>
<IE_RECEM_NATO>N</IE_RECEM_NATO>
<CD_SETOR_PACIENTE>26</CD_SETOR_PACIENTE>
<NM_PACIENTE>Lus Alberto Silva</NM_PACIENTE>
<DT_NASCIMENTO>12/01/1988</DT_NASCIMENTO>
<IE_SEXO>M</IE_SEXO>
<NR_CPF>99999999999</NR_CPF>
<NR_PRONTUARIO>1213412</NR_PRONTUARIO>
<NM_MEDICO>Lus Alberto</NM_MEDICO>
<NR_CPF_MEDICO></NR_CPF_MEDICO>
<NR_CRM>20</NR_CRM>
<UF_CRM>SP</UF_CRM>
<CD_CONVENIO>5004</CD_CONVENIO>
<CD_CATEGORIA>2</CD_CATEGORIA>
<CD_USUARIO_CONVENIO></CD_USUARIO_CONVENIO>
<DT_VALIDADE_CARTEIRA></DT_VALIDADE_CARTEIRA>
<NR_DOC_CONVENIO></NR_DOC_CONVENIO>
<IE_TIPO_GUIA></IE_TIPO_GUIA>
<DS_CONVENIO>Bradesco Seguros</DS_CONVENIO>
<CD_CGC_CONV>33055146003613</CD_CGC_CONV>
<CD_REGIONAL_CONV>90016</CD_REGIONAL_CONV>
<CD_MATERIAL_EXAME>S</CD_MATERIAL_EXAME>
<DS_MATERIAL_EXAME>SANGUE</DS_MATERIAL_EXAME>
<CD_EXAME>CR</CD_EXAME>
<NM_EXAME>Creatinina</NM_EXAME>
<DS_MATERIAL_ESPECIAL></DS_MATERIAL_ESPECIAL>
<IE_AMOSTRA_ENTREGUE>S</IE_AMOSTRA_ENTREGUE>
<DS_HORARIOS></DS_HORARIOS>
<NR_SEQ_EXAME>9</NR_SEQ_EXAME>
<DS_ENDERECO>Rua Clara Nunes</DS_ENDERECO>
<NR_ENDERECO></NR_ENDERECO>
<DS_COMPLEMENTO></DS_COMPLEMENTO>
<DS_BAIRRO>Progresso</DS_BAIRRO>
<DS_MUNICIPIO>Blumenau</DS_MUNICIPIO>
<SG_ESTADO>SC</SG_ESTADO>
<NR_TELEFONE>333355366333</NR_TELEFONE>
<CD_CEP>89026270</CD_CEP>
<DT_PREV_EXECUCAO>08/10/2008</DT_PREV_EXECUCAO>
<DS_SETOR_PACIENTE>Laboratorio</DS_SETOR_PACIENTE>
<CD_UNIDADE>1</CD_UNIDADE>
<VL_PROCEDIMENTO>14</VL_PROCEDIMENTO>
<CD_ESTABELECIMENTO>1</CD_ESTABELECIMENTO>
<NR_SEQ_PROC_INTERNO></NR_SEQ_PROC_INTERNO>
<CD_INTERNO_INTEGRACAO></CD_INTERNO_INTEGRACAO>
<CD_EXAME_INTEGRACAO></CD_EXAME_INTEGRACAO>
</EXAME>
....
</EXAMES>
</LABORATORIO>
<DS_ERRO><![CDATA[OK]]></DS_ERRO>
<DS_ERRO><![CDATA[OK]]></DS_ERRO>
<NR_SEQUENCIA>1</NR_SEQUENCIA>
<NR_SEQUENCIA>1</NR_SEQUENCIA>
</LABORATORIO>
<DS_ERRO><![CDATA[OK]]></DS_ERRO>
</LABORATORIO>
<EXAMES>
<EXAME>
<NR_PRESCRICAO>230973</NR_PRESCRICAO>
<CD_EXAME>HT</CD_EXAME>
<DT_COLETA>12/11/2008</DT_COLETA>
<DS_RESULTADO><![CDATA[ RESULTADO DO EXAME ]]></DS_RESULTADO>
<ANALITOS>
<ANALITO>
<CD_ANALITO>1</CD_ANALITO>
<DS_RESULTADO>11,4</DS_RESULTADO>
</ANALITO>
<ANALITO>
<CD_ANALITO>2</CD_ANALITO>
<DS_RESULTADO>68,1</DS_RESULTADO>
</ANALITO>
</ANALITOS>
</EXAME>
</EXAMES>
</LABORATORIO>
</LABORATORIO>
<ANALITOS></ANALITOS>
</EXAME>
</EXAMES>
</LABORATORIO>
Modelo do xml de retorno ao integrar exames, analtos e microbiologia (Integrado com sucesso)
<?xml version="1.0" encoding="ISO-8859-1"?>
<LABORATORIO>
<EXAMES>
<EXAME>
<NR_PRESCRICAO>230973</NR_PRESCRICAO>
<CD_EXAME>377</CD_EXAME>
<NR_SEQ_PRESCR>1</NR_SEQ_PRESCR>
<IE_STATUS>0</IE_STATUS>
<DS_ERRO><![CDATA[]]></DS_ERRO>
<ANALITOS>
<ANALITO>
<CD_ANALITO>1</CD_ANALITO>
<IE_STATUS>0</IE_STATUS>
<DS_ERRO><![CDATA[]]></DS_ERRO>
</ANALITO>
<ANALITO>
<CD_ANALITO>10</CD_ANALITO>
<IE_STATUS>0</IE_STATUS>
<DS_ERRO><![CDATA[]]></DS_ERRO>
</ANALITO>
</ANALITOS>
</EXAME>
</EXAMES>
</LABORATORIO>
Modelo do xml de retorno ao integrar exames, analtos e microbiologia (Exame integrado parcialmente)
<?xml version="1.0" encoding="ISO-8859-1"?>
<LABORATORIO>
<EXAMES>
<EXAME>
<NR_PRESCRICAO>230973</NR_PRESCRICAO>
<CD_EXAME>377</CD_EXAME>
<NR_SEQ_PRESCR>1</NR_SEQ_PRESCR>
<IE_STATUS>2</IE_STATUS>
<DS_ERRO><![CDATA[]]></DS_ERRO>
<ANALITOS>
<ANALITO>
<CD_ANALITO>1</CD_ANALITO>
<CD_UNIDADE_MEDIDA>Ml/l</CD_UNIDADE_MEDIDA>
<VL_REFERENCIA><![CDATA[entre 4 e 10]]></VL_REFERENCIA>
<IE_STATUS>0</IE_STATUS>
<DS_ERRO><![CDATA[]]></DS_ERRO>
</ANALITO>
<ANALITO>
<CD_ANALITO>10</CD_ANALITO>
<CD_UNIDADE_MEDIDA></CD_UNIDADE_MEDIDA>
<VL_REFERENCIA><![CDATA[]]></VL_REFERENCIA>
<IE_STATUS>1</IE_STATUS>
<DS_ERRO><![CDATA[
ORA-01400: no possvel inserir NULL em
("TASY"."EXAME_LAB_RESULT_ITEM"."NR_SEQ_EXAME")
ORA-06512: em "TASY.ATUALIZAR_LAB_RESULT_ITEM", line 241
ORA-06512: em line 1]]></DS_ERRO>
</ANALITO>
</ANALITOS>
</EXAME>
</EXAMES>
</LABORATORIO>
<IE_STATUS>1</IE_STATUS>
<DS_ERRO><![CDATA[
Erro - java.sql.SQLException: ORA-01403: dados no encontrados
ORA-06512: em TASY.GRAVAR_RESULT_LABORATORIO, line 13 ]]>
</DS_ERRO>
<ANALITOS></ANALITOS>
</EXAME>
</EXAMES>
</LABORATORIO>
Fluxo
do
Laboratrios (LIS)
TASY (HIS)
Solicita
Itens
Pendentes
Libera Prescrio
XML com
itens
Retira itens do
worklist
Registra
itens
recebidos
Worklist
WebService
Retorna
status itens
Resultado dos
itens do exame
Consiste
itens
Oracle
XML status
dos itens
Processo LIS
processo