You are on page 1of 31

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Sistema e-SUS Ateno Bsica


Manual de Exportao - API Thrift
Este documento apresenta o modelo de
integrao do Sistema e-SUS AB com outros
sistemas informatizados que estruturam o
processo de trabalho das equipes de ateno
bsica em municpios com sistemas prprios.
Como eixo central tratamos das bibliotecas de
comunicao Apache Thrift e das APIs do e-SUS
AB para efetivar a comunicao entre os
sistemas.
API Thrift e-SUS AB Verso 1.3

Captulo 1. Introduo Estratgia e-SUS AB


1.1 Sistema com Coleta de Dados Simplificada
1.1.1 Cadastro da Ateno Bsica
1.1.2 Fichas de Atendimento
1.1.3 Sistema de Software e-SUS AB com CDS
1.2 Sistema com Pronturio Eletrnico do Cidado
1.2.1 Requisitos de um Pronturio Eletrnico para a AB
1.2.2 Sistema de Software e-SUS AB com PEC
1.3 SISAB
1.3.1 Fluxo de Transmisso de Dados do SISAB
Captulo 2. Modelo de Troca de Informao do e-SUS AB
2.1 Troca de informao entre o sistema com CDS e com PEC
2.2 Coleta e envio das informaes para o SISAB
2.3 Compartilhamento hierrquico dos dados do Sistema e-SUS AB
Captulo 3. Modelo de Integrao
3.1 Apache Thrift
3.1.1 Arquitetura do Thrift
3.2 APIs Thrift do Sistema e-SUS AB
3.2.1 Gerando um Arquivo para o Sistema e-SUS AB
Captulo 4. API Thrift Cidado
4.1 Estrutura da API Thrift Cidado
4.2 Exemplo de uso da API Thrift Cidado
Captulo 5. API Thrift RAS
5.1 Estrutura da API Thrift RAS
5.2 Exemplo de uso da API Thrift RAS
Concluso
Referncias Bibliogrficas

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Captulo 1. Introduo Estratgia e-SUS AB


A Estratgia e-SUS Ateno Bsica apoiada essencialmente por dois sistemas, o
Sistema de Informao em Sade para a Ateno Bsica (SISAB), o sistema de
informao nacional, e o Sistema e-SUS Ateno Bsica, composto por sistemas de
software que instrumentalizam o processo de trabalho nas UBS. Como estratgia,
fundamental que o e-SUS AB garanta um processo amplo e padronizado de troca de
informaes entre sistemas em vrios nveis de ateno e no prprio nvel da ateno
bsica.
Ao mesmo tempo, para apoiar a efetivao do cuidado continuado, a Estratgia
e-SUS AB precisa de uma estrutura que atue sobre um registro longitudinal dos eventos de
sade de um cidado independente do sistema de software que as equipes de sade
utilizem para fazer gesto local do servio de sade, e portanto se faz necessrio uma base
de Registro Eletrnico de Sade (RES) que minimamente dialogue com as necessidades
das Redes de Ateno Sade organizadas de forma intermunicipal e interestadual.

O Departamento de Ateno Bsica, do Ministrio da Sade, com o objetivo de


incentivar o uso de Tecnologias de Informao e Comunicao em Sade na Ateno
Bsica, vm apoiando o desenvolvimento de tecnologias que atendam as necessidades de
gesto da ateno bsica, em especial, nos processos de gesto do cuidado e gesto por
resultados.
Caracterstica importante desse processo a inverso do objetivo principal na
construo das ferramentas e instrumentos que apoiam os processos de gesto. Este
projeto est dando foco as necessidades locais e da esfera municipal. Nessa perspectiva
entendendo que a melhoria e qualificao do processo de trabalho das equipes de sade
da ateno bsica integradas nas Redes de Ateno Sade devem trazer resultados
significativos na gesto estadual e federal da AB com resultados promissores.

A Estratgia e-SUS Ateno Bsica, nesse contexto, busca por meio dos Sistemas
e-SUS AB implementar essas tecnologias para tornar o processo de trabalho das equipes
de sade e de gesto mais fceis, reduzindo o tempo gasto com a burocracia do uso e
alimentao dos sistemas de informao em sade que fazem interface com a AB. Por
outro lado a estratgia busca garantir que o desenvolvimento das solues avancem na
adoo de padres internacionais da rea de informtica em sade, e com isso ampliar a
interoperabilidade entre os sistemas gerencias da sade e de outras reas no municpio.
Em especial o Sistema e-SUS AB composto pelo Sistema com Coleta Simplificada
de Dados (CDS) e o Sistema com Pronturio Eletrnico do Cidado (PEC), porm para
cenrios de informatizao distintos, como vimos em outros documentos.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Nas prximas sees, resumidamente, entenderemos como funciona cada software


do Sistema e-SUS AB e outros detalhes que ajudem na compreenso do processo de
integrao dos dados.

1.1 Sistema com Coleta de Dados Simplificada


O sistema com Coleta de Dados Simplificada (CDS) foi formulado para atender s
equipes de ateno bsica lotadas em Unidades Bsicas de Sade (UBS) que ainda no
possuem condies de infraestrutura tecnolgica de informtica para a utilizao do sistema
e-SUS AB com PEC, ver seo 2.3. Caracteristicamente um sistema de transio, para
que seja possvel em tempo mais apropriado implantar um sistema com PEC.

O Sistema com CDS, na verso atual (v 1.3), utiliza sete fichas para o registro das
informaes:

Cadastro Domiciliar
Cadastro Individual
Ficha de Atendimento Individual
Ficha de Atendimento Odontolgico Individual
Ficha de Atividade Coletiva
Ficha de Procedimentos
Ficha de Visita Domiciliar
Ficha de Atividade Coletiva

Essas fichas devero ser digitadas no sistema de software


Como um sistema transitrio este no tem a pretenso de ser um
relao as necessidades de informao das equipes de AB, no
conjunto essencial de informaes que estruturam o cadastro da
atendimentos realizados pelas equipes.

e-SUS AB com CDS.


sistema exaustivo em
entanto organiza um
AB e os registros de

1.1.1 Cadastro da Ateno Bsica


O Cadastro Nacional do Sade (CNS), ou simplesmente CadSUS, um sistema de
informao de base nacional que permite a identificao dos usurios das aes e
servios de sade atravs de um nmero, nico para cada cidado, vlido em todo o
territrio nacional. Coordenado pelo Ministrio da Sade, esse sistema permite a vinculao
do usurio ateno realizada pelas aes e servios de sade, ao profissional e ao
estabelecimento de sade responsvel pela sua realizao. tambm o instrumento de
informatizao necessrio para a organizao da rede de ateno sade e de gesto do
SUS, atravs do acesso a uma base nacional de dados de sade do cidado. A Portaria n
940/GM/MS, de 28 de abril de 2011, regulamenta o Sistema Carto Nacional de Sade
(Sistema Carto).

Ministrio da Sade / SAS / Departamento de Ateno Bsica

O Cadastro da Ateno Bsica (AB) uma extenso do CadSUS no que se refere


aos dados que apoiam as equipes de AB a mapear as caractersticas de sade, sociais e
econmicas da populao adscrita ao territrio sob sua responsabilidade. Este cadastro
est organizado em duas dimenses: domiciliar e individual.

O cadastro domiciliar identifica as caractersticas sociossanitrias dos domiclios


no territrio das equipes de AB. Este cadastro busca identificar, ainda, situaes de
populaes domiciliadas em locais que no podem ser considerados domiclio, por
exemplo, situao de rua (IBGE, 2009), no entanto devem ser monitorados pela equipe de
sade. No cadastro domiciliar o vnculo do cidado ao seu domiclio feito por meio do
CadSUS do responsvel familiar. Podendo este cadastro ser vinculado a mais de um
responsvel familiar e portanto a mais de um ncleo familiar.

O cadastro individual identifica as caractersticas sociodemogrficas, problemas e


condies de sade dos usurios no territrio das equipes de AB. Esse cadastro
composto por duas partes, sendo elas: informaes de identificao/sociodemogrficas e
condies de sade autorreferidas pelo usurio.

1.1.2 Fichas de Atendimento


No sistema com coleta simplificada todas as fichas de atendimento passam a ter um
cabealho identificando a Unidade, a Equipe e o Profissional que realizou o atendimento.
Alm disso possvel registrar se foi um atendimento compartilhado com outro profissional.
Da mesma forma, em todas as fichas possvel identificar os usurios que receberam o
atendimento pelo nmero do CadSUS e ainda o local do atendimento.

A ficha de atendimento individual caracteriza o resumo do atendimento de nvel


superior, nesta ficha que os profissionais de nvel superior devem informar o que ocorreu
no atendimento. Algumas informaes so fundamentais nesta ficha, tais como tipo de
atendimento, problema/condio avaliada e conduta do atendimento. Complementar a esta
ficha vem a ficha de procedimentos, onde se podem registrar os procedimentos e
pequenas cirurgias realizadas no atendimento. A ficha de procedimentos ainda utilizada
para registrar procedimentos especficos realizados por tcnicos de nvel mdio da unidade.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Excepcionalmente para os profissionais da Sade Bucal, ainda pode ser usada a


ficha de atendimento odontolgico individual, onde registramos similarmente o tipo de
atendimento, o tipo da consulta odontolgica, registros de vigilncia em sade bucal e a
conduta do atendimento, por exemplo se foi agendada nova consulta na AB ou se o cidado
foi encaminhado para outro servio.

A ficha de visita domiciliar busca por meio de sua estrutura coletar as informaes
sobre a realizao de visitas domiciliares do agente comunitrio de sade (ACS). Assim
como as outras fichas, passam a ter o registro individualizado. Devemos destacar que esta
ficha passa a ser exclusiva para as visitas realizadas pelos ACS, quando for necessrio
registrar um atendimento no domiclio, realizada por profissional de nvel superior,
possvel usar a ficha de atendimento individual informando no local de atendimento como
Domiclio, caracterizando assim um atendimento em domiclio.

Uma novidade para o registro de aes da AB a ficha de atividade coletiva,


usada para registrar tanto aes administrativas, como reunies de equipe, quanto aes
de sade, como atividades coletivas de promoo de sade ou ainda atendimento em
grupo.

Exceto a ficha de atividade coletiva, as outras fichas passam a registrar vrios


atendimentos na mesma ficha. Registrados na vertical (em colunas) as fichas buscam um
registro bastante objetivo e sem a pretenso de ser exaustivo nas opes de preenchimento
rpido, que em geral so acompanhados por campos Outros onde possvel, quando
necessrio, registrar outras aes usando codificaes e classificaes utilizadas pelos
sistemas de informaes vigentes.

1.1.3 Sistema de Software e-SUS AB com CDS


Sistema que estrutura a digitao do cadastro e das fichas de atendimento, o
Sistema com CDS conta com uma estrutura de fcil instalao e multiplataforma, podendo
ser utilizado tambm em conjunto com o Sistema e-SUS AB com PEC atravs do mdulo
CDS.
O sistema e-SUS AB com CDS exclusivo para digitao, portanto no tem funes
gerenciais. Este sistema possui um banco de dados embarcado, portanto no necessrio
fazer uma instalao de um SGBD em separado. Por ter funcionalidades limitadas, as
necessidades dessa aplicao, no recomendado o armazenamento de um volume
grande de informaes no Sistema com CDS.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Figura 1.1: Tela Inicial do Sistema e-SUS AB com CDS

1.2 Sistema com Pronturio Eletrnico do Cidado


O sistema com Pronturio Eletrnico do Cidado (PEC) foi formulado para atender
s equipes de ateno bsica lotadas em Unidades Bsicas de Sade (UBS) parcialmente
ou totalmente informatizadas. Um sistema com Pronturio Eletrnico um sistema que
amplia integrao e gesto do cuidado pelos profissionais, e so indispensveis do ponto
de vista de gerar valor de uso aos sistemas de informao em sade.
No entanto, um pronturio eletrnico pode ser implementado de diversas formas,
considerando diferentes processos de trabalho, ao que cabe neste momento apontar
algumas diretrizes usadas pelo sistema que busca garantir a ateno integral sade do
paciente da forma que se preconiza na PNAB.

1.2.1 Requisitos de um Pronturio Eletrnico para a AB


Um sistema com pronturio eletrnico para a AB deve prover todas as informaes
e funes que dem suporte s atividades essenciais inscritas na prtica de sade, na
prtica da anlise da condio de sade da populao e por fim, nas aes de gesto da
AB o que requer lidar com o planejamento e a programao das aes, o controle de
agendas, procedimentos, estoques de materiais, equipamentos, o monitoramento e a
avaliao de processos e resultados etc. Isto , controlar aspectos que representam as
condies de organizao e funcionamento dos servios de sade. Nesse sentido
apresentam-se abaixo processos essenciais para o desempenho das funes da AB
destacados por requererem inovaes e desenvolvimento para suporte por sistema de

Ministrio da Sade / SAS / Departamento de Ateno Bsica

software: territorializao, acolhimento, agendamento, gesto do cuidado e gesto do


acesso e qualidade.

1.2.2 Sistema de Software e-SUS AB com PEC


O Sistema com PEC um sistema complexo, pois busca estruturar o registro do
conjunto de informaes que apoiam a organizao e troca de informao entre os
profissionais das equipes de AB. importante destacar que este um sistema com
pronturio eletrnico, ou seja, no se limita a ser apenas o registro no pronturio eletrnico
e amplia o conjunto de ferramentas e funcionalidades para atender a todas as diretrizes de
um sistema de informao para a AB.
O sistema, como podemos ver na imagem de sua tela inicial, na verso atual, j
implementa os seguintes mdulos:

Mdulo Cidado: contempla o cadastro do cidado e a integrao com o CadSUS.


Todo cidado atendido no Sistema com PEC precisa de um cadastro, mesmo que
este ainda no possua um CNS.
Mdulo de Agenda: contempla as necessidades de configurao de agenda dos
profissionais, marcao de consulta, controle de chegada e controle de faltosos da
agenda, alm das reservas de horrios por demandas administrativas e de
atividades programticas da equipe / profissional.
Mdulo de Atendimento Individual: contempla o controle de lista de atendimento
(fluxo do cidado na unidade), acolhimento demanda espontnea (insero na lista
de atendimento e escuta inicial), pronturio eletrnico (Folha de Rosto, SOAP, Lista
de Problemas, etc), entre outras funcionalidades.
Mdulo de Relatrios: contempla a gerao de relatrios de cadastro, situao de
sade, atendimentos do territrio, entre outros.
Mdulo Administrao: contempla o cadastro geral e configurao do sistema,
cadastro de unidade, cadastro do profissional (usurio do sistema), controle de perfil
de usurio, importao dos dados do CNES, exportao do BPA, entre outros.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Figura 1.2: Tela Inicial do Sistema e-SUS AB com PEC

1.3 SISAB
A portaria n 1.412, de 10 de julho de 2013, instituiu o Sistema de Informao em
Sade para a Ateno Bsica (SISAB) como o novo sistema de informao nacional da
ateno bsica, o qual substitui o atual Sistema de Informao da Ateno Bsica (SIAB),
que permanece em um perodo de transio at Maio de 20151. Uma das principais
caractersticas desse novo sistema o registro de informaes individualizadas, pois
oferece ao gestor uma viso mais fidedigna das aes das equipes de sade em relao a
cada cidado de seu territrio.

Destaca-se, inicialmente, que tanto o Sistema com CDS quanto o Sistema com PEC
fornecero as mesmas informaes ao SISAB. Para quem utiliza o Sistema e-SUS AB com
PEC, o prprio sistema se encarregar de organizar as informaes a serem enviadas ao
SISAB. Para os municpios que utilizam outros sistemas com pronturio eletrnico, tambm
ser possvel gerar as informaes de acordo com o modelo de coleta simplificada (similar
ao Sistema com CDS) e ento enviar os dados. Todos os dados do Sistema e-SUS AB so
organizados no Mdulo Centralizador para envio ao SISAB, no prximo captulo abordamos
com mais detalhes como esse processamento ocorre.

Para entender melhor como funciona o fluxo de transmisso dos dados para o
SISAB, na seo seguinte ampliamos a discusso contemplando as regras gerais de envio
dos dados.
1

Portaria N 1.976, de 12 de setembro 2014, define o prazo mximo de transio entre o


SIAB e o SISAB.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

1.3.1 Fluxo de Transmisso de Dados do SISAB


O fluxo de transmisso dos dados para o novo sistema de informao se d de
forma similar ao fluxo de envio dos dados do antigo SIAB pelo municpio. Este fluxo
definido em portaria anual, que determina o prazo mximo de envio das informaes do
sistema organizadas por competncia mensal, porm em fluxo contnuo.

Figura 1.3: Esquema do fluxo de transmisso do SISAB

Conforme ilustrado na Figura 1.3, como regra geral, as competncias fazem um


recorte da produo de informao dentro de um ms de competncia que corresponde
exatamente aos dias do ms em questo. Ao encerrar a competncia, o municpio ter do
primeiro ao vigsimo dia dos ms subsequente como prazo mximo para enviar os dados
para a base nacional e um prazo de at 3 ms para enviar correes da base.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Captulo 2. Modelo de Troca de Informao do e-SUS AB


Os processos de troca de informaes entre sistema, ou mesmo de
compartilhamento dos dados, so em muitas ocasies desafiadores. Como vimos, a
Estratgia e-SUS AB busca por meio de sistemas de softwares integrados avanar na
soluo das necessidades de troca de informao entre sistemas, sobretudo ajudando os
municpios em suas atividades do cotidiano.
Para melhor avaliar a soluo apresentada no prximo captulo, importante ter
clareza de quais situaes esto sendo tratadas e como estas se relacionam com o modelo
de informaes. As situaes descritas neste documento, j contempladas na verso 1.3,
so:
1. Troca de informao entre o sistema com CDS e com PEC;
2. Coleta e envio das informaes para o SISAB;
3. Compartilhamento hierrquico dos dados do Sistema e-SUS AB;

Figura 2.1 - Imagem-objetivo da Troca de Informaes no Sistema e-SUS AB

Ministrio da Sade / SAS / Departamento de Ateno Bsica

2.1 Troca de informao entre o sistema com CDS e com PEC


A primeira situao descrita aqui versa sobre a necessidade de integrao entre os
dados do Sistemas com CDS, registrados por fichas, e do Sistema com PEC, registrados
direto no sistema pelos profissionais de sade, por meio de ferramentas informazadas. Essa
integrao estruturada para oferecer uma evoluo gradual da capacidade de registro de
informao, ao mesmo tempo que deve atender ao sistema de informao nacional, o
SISAB.

O desenvolvimento do Sistema com CDS teve como origem a necessidade de


simplificar o registro do atendimento individualizado por fichas, dado que ainda temos uma
boa parcela das UBS no informatizadas. A simplificao do registro passou por uma
anlise bastante criteriosa para evitar que o processo de registro seja mais caro (em relao
ao tempo) que o prprio processo de trabalho no atendimento ao cidado. Outro critrio foi
em relao a necessidade de monitoramento das aes da AB orientado por uma pauta
essencial das aes da AB e de governo. Essa anlise resultou na necessidade da criao
de blocos consolidados para registro de aes muito frequentes, onde o registro
individualizado seria dificultoso, porm importante para o monitoramento das aes na AB.

O Sistema com PEC avana no outro sentido, na perspectiva de eliminar o registros


em fichas e formulrios de papel. E portanto busca reestruturar o trabalho dos profissionais
da UBS por meio de ferramentos informatizadas que estejam adequadas ao processo de
trabalho das equipes de AB como um todo. Como o sistema estrutura as ferramentas e no
o registro, os mesmos blocos que no Sistema com CDS so consolidados, no Sistema com
PEC so registrados individualmente por meio dessas ferramentas. Ao mesmo tempo, o
Sistema com PEC demanda um conjunto de informaes que ajudam a estruturar o sistema
de sade municipal, por exemplo, definindo o tempo de consulta ou organizando os
usurios que fazem acesso ao sistema.

Neste contexto, precisamos entender quais os blocos de informaes so


compatveis e quais no so. A Figura 2.2 ilustra os blocos de informaes dos sistemas
destacando os grandes blocos e os documentos de troca de informao que so gerados a
partir desses blocos.

Como vemos na Figura 2.2, o Sistema e-SUS AB possui diferentes documentos de


troca de dados para atender a caractersticas particulares de cada bloco do sistema,
gerando os seguintes documentos:

CAD: gerado a partir dos dados de Cadastro da AB, um documento que permite
compartilhar as informaes de cadastro por cidado, associado aos dados de
domiclio e de situao auto-referida de sade do cidado;
RAS: sigla para Registro de Atendimento Simplificado, gerado a partir dos eventos
de sade individualizados e identificados. Corresponde a um conjunto essencial de

Ministrio da Sade / SAS / Departamento de Ateno Bsica

informaes que devem ser suficientes para atender as demandas do sistema


nacional;
RAC: sigla para Registro de Atendimento Completo, tambm gerado a partir dos
eventos de sade individualizados e identificados, porm com um conjunto de
informaes mais estruturado que busca o compartilhamento de informaes de
sistemas com pronturio eletrnico. Este modelo totalmente compatvel com o
modelo RAS.
CONS: gerado a partir dos dados consolidados do Sistema com CDS, este modelo
permite o compartilhamento dessas informaes apenas para complementar
informaes do sistema nacional, no entanto para os sistemas que no trabalham
com dados consolidados este conjunto de informaes deve ser enviado via modelo
RAS.
CONF: gerado a partir dos dados de configurao e parametrizao do sistema com
pronturio eletrnico, este modelo possibilita o compartilhamento dessas
informaes tanto para fins de gesto de sade quanto para administrao do
sistema.

Figura 2.2: Blocos de Informaes do Sistema e-SUS AB

Como vimos, os documentos RAC, RAS e parte do CONS tem origem no mesmo
bloco de informaes, o bloco de eventos de sade individualizados, sendo que a outra
parte do CONS vem de eventos de sade sem registros individualizados. Na Figura 2.3, a
seguir, ilustramos a relao entre os trs documentos e sua origem no Sistema e-SUS AB,
deixando mais clara a relao de sobreposio semntica dos documentos RAC, RAS e

Ministrio da Sade / SAS / Departamento de Ateno Bsica

CONS. importante no entanto perceber que o documento CONS pode ser gerado a partir
dos documentos RAC e RAS por meio da agregaes dos dados desses documentos, ou
mesmo usando as estrutura individualizadas, porm sem identificao do cidado.
Obviamente, o inverso no possvel.
Fig
ura
2.3:
Ori
ge
m
dos
Doc
um
ent
os
de
Tro
ca
de
Dad
os
do
Sist
em
a eSU
S
AB

Val
e
res
saltar que na verso atual do sistema apenas os Modelos CAD (parcialmente), RAS e
CONS de documentos de troca de informaes esto disponveis, os outros modelos esto
em desenvolvimento e devem ser disponibilizados em verses futuras.

2.2 Coleta e envio das informaes para o SISAB


A segunda situao de troca de informaes versa sobre a coleta e envio dos dados
ao SISAB, o sistema nacional. Neste momento precisamos ter claro que o SISAB tem o
mesmo conjunto de informaes do Sistema com CDS, portanto, para garantir o envio dos

Ministrio da Sade / SAS / Departamento de Ateno Bsica

dados o sistema de origem deve ser capaz de gerar um conjunto de dados compatvel com
esse sistema.

Na estrutura preconizada pelo Sistema e-SUS AB, compete ao Mdulo Centralizador


organizar as informaes a serem enviadas ao SISAB, portanto esse mdulo que ir
processar os dados enviados ao Sistema e-SUS AB, independente da fonte de informao,
podendo ser do Sistema e-SUS AB com CDS ou com PEC, ou ainda qualquer outro
Sistema com Pronturio que atenda aos requisitos mnimos dos sistemas de pronturio para
a AB e seja compatvel com o modelo de informao clnica e demogrfica da AB. Logo,
no necessrio que os sistemas de origem gerem os documentos de troca de dados de
acordo com o Sistema com CDS, bastando garantir um dos modelos a seguir:

CAD + RAS (cadastro e registro simplificado)


CAD + RAS + CONS (cadastro, registro simplificado e alguns dados consolidados)

2.3 Compartilhamento hierrquico dos dados do Sistema e-SUS AB


A terceira situao faz referncia a necessidade de compartilhar os dados do
Sistema e-SUS AB, com ele mesmo (em rede). Considerando os diferentes cenrios de
implantao possvel que na grande maioria dos municpios a base seja descentralizadas,
sendo possvel ter dados em UBS ou Distrito Sanitrios separados do ambiente central.
Essa descentralizao demanda uma estrutura de transmisso do sistema, entre a base
local e central.

Esse processo de transmisso, dentro de uma rede de sistema distribudos, com


sistemas desconectados, eventualmente conectados, eventualmente desconectados ou
conectados a essa rede, deve ser o mesmo, alterando apenas a forma de envio dos dados:
i) por arquivo ou ii) por internet. Lembrando que toda forma de transmisso de dados se
d usando o modelo CAD + RAS, portanto, neste momento, mesmo que o municpio esteja
usando o Sistema com PEC, os dados completos permanecero apenas na base local.

Independente do cenrio, o parmetro mximo de tempo para transmisso das


bases deve respeitar o fluxo de envio de informaes ao SISAB, ou seja, um perodo
mximo, no pior caso, de desatualizao das bases de um ms, o que ns permite
antecipar problemas e gerenciar melhor os conflitos.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Figura 2.6: Rede distribuda de instalaes do sistema

A Figura 2.6 ilustra diferentes formas de usar o Sistema e-SUS AB em rede,


considerando instalaes de Sistemas com PEC para atender as UBS e Sistemas com
Centralizador para organizar os dados de mais de uma UBS. A ilustrao mostra em um
primeiro caso duas UBS (A e B) transmitindo suas bases para uma instalao
centralizadora em um Distrito Sanitrio. Obviamente, para que este dados cheguem ao
Centralizador Municipal necessrio que a instalao do Distrito Sanitrio AB esteja
transmitindo dados para ele. Outro caso na rede uma UBS (C) que est transmitindo sua
base diretamente com o Centralizador Municipal. E por ltimo uma UBS (D) que no possui
uma base local e usa o Sistema com PEC diretamente no Centralizador Municipal.

Este pequeno cenrio ilustrado na Figura 2.6 permite visualizar as cpias dos dados
distribudos na rede de sistema. A UBS A e B possuem, alm da sua base local, mais duas
cpias da informao de seus territrios, uma no Centralizador do Distrito AB e a outra no
Centralizador Municipal. A UBS C tem apenas uma cpia no Centralizador Municipal, e a
UBS D no tem cpia da informao e fica dependendo apenas da instalao do
Centralizador Municipal.

Como vimos anteriormente, compete aos municpios a coordenao da AB, logo o


nvel mais alto de centralizao dos dados do Sistema e-SUS AB o nvel municipal.
Em alguns casos, e principalmente pela dificuldade de alguns municpios de manter um
servidor centralizador do Sistema e-SUS AB, os Estados, Regionais de Sade ou
Municpios associados podem oferecer servidores para armazenar fisicamente os dados
desses municpios.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Figura 2.7: Municpios usando Base Multi-Municipal

Essas estruturas, fora do municpio, so estruturas de acesso restrito ao gestor


municipal, e so chamadas de Sistema e-SUS AB Multi-Municipal, ou seja, no uma
instalao estadual ou regional, uma instalao municipal apenas otimizada para melhor
aproveitar os recursos computacionais do servidor que d suporte ao sistema de sade
municipal. Na Figura 2.7 ilustramos a relao entre os sistemas e suas bases, organizado
de tal forma que seja possvel que todos os municpios acessam a sua instalao
centralizadora, cabendo aos prprios municpios estruturarem suas redes dentro do seu
municpio. Lembrando que cabe neste tipo de estrutura, inclusive, o acesso direto ao
Sistema e-SUS AB pelos profissionais de sade nas UBS (sem servidor local).

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Captulo 3. Modelo de Integrao


O Sistema e-SUS AB est usando o framework de comunicao da Apache Thrift
para implementar os recursos de Importao e Exportao dos dados para o sistema. Neste
captulo entenderemos um pouco mais sobre esse framework e alguns conceitos que
devem ser compreendidos para se fazer um processo mais rpido de exportao dos dados
a partir dos sistemas prprios.

Figura 3.1 Modelo de Integrao com Sistema Prprio usando Apache Thrift

3.1 Apache Thrift


O Apache Thrift um framework RPC (Remote Procedure Call), ou seja, um
conjunto de bibliotecas de sistema que auxiliam desenvolvedores a implementar chamadas
de procedimentos remotos, porm oferecendo uma estrutura para utilizao de mltiplas
linguagens de programao entre clientes e servidores.
Traduzido do ingls para brech, traz a intuio do conceito de troca de objetos
oferecendo um ambiente de troca de servios entre aplicaes por meio de uma estrutura
para desenvolvimento de servios escalveis entre linguagens e oferecendo no apenas
suporte a gerao de cdigo para vrias linguagens, mas tambm uma pilha de software
que simplifica o desenvolvimento de servios relacionados rede de computadores.
Antes de tornar-se um projeto de software livre do Apache, Thrift era uma biblioteca
usada internamente no Facebook criada pelos seus desenvolvedores justamente pela
necessidade de oferecer servios em diferentes linguagens. Atualmente o Apache Thrift
usado por grandes desenvolvedores de software como Twitter e Linkedin.

Abaixo alguns dos benefcios de se usar o Apache Thrift:

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Serializao entre linguagens com menor sobrecarga do que as alternativas


como SOAP, devido utilizao do formato binrio;
A biblioteca leve, enxuta e limpa, sem estrutura para cdigo. No h arquivos
de configurao XML;
O formato de nvel de aplicao e de serializao so claramente separados,
podendo ser modificados de forma independente;
Os estilos de serializao predefinidos incluem: binrio, HTTP-friendly e
binrio compacto;
Sem dependncias de construo ou de software no-padro. No mistura
licenas de softwares incompatveis;
Oferece suporte para vrias linguagens de programao (em nveis
variados), incluindo Java, PHP, C/C++, Delphi, Python, Ruby, Smalltalk,
Haskell, Erlang, Node.js, Go, D, entre outras;
Compatvel com plataformas de computao distribuda como Apache
Hadoop e Apache Cassandra.

3.1.1 Arquitetura do Thrift


Ao se avaliar os desafios da interao entre linguagens em um ambiente de rede,
alguns componentes-chave foram destacados no Thrift:
Tipos: Um sistema de tipo comum devem existir em toda linguagens de
programao, sem exigir que o desenvolvedor do aplicativo use tipos de dados
Thrift personalizados ou tenha que escrever seu prprio cdigo de serializao.
Transporte: Cada linguagem tem de ter uma interface comum para o transporte
bidirecional de dados. Os detalhes de como um determinado transporte
implementado no deve importar para o desenvolvedor do servio. O mesmo
cdigo do aplicativo deve rodar sobre um fluxo sockets TCP, na memria ou em
arquivos no disco.
Protocolo: Tipos de dados devem ter alguma maneira de utilizar a camada de
transporte para codificar e decodificar a si mesmos. Mais uma vez, o
desenvolvedor do aplicativo no precisa se preocupar com esta camada. Se o
servio usa um XML ou protocolo binrio irrelevante para o cdigo da
aplicao. Tudo o que importa que os dados possam ser lidos e escritos de
forma consistente e determinstica;
Versionamento: Para servios robustos, os tipos de dados envolvidos devem
fornecer um mecanismo para controle de verso. Especificamente, deve ser
possvel adicionar ou remover campos em um objeto ou alterar a lista de
argumentos de uma funo sem qualquer interrupo do servio (ou pior, falhas
de segmentao desagradveis);
Processadores: Por fim, gerar um cdigo capaz de processar fluxos de dados
para realizar chamadas de procedimento remoto em diferentes linguagens.

Estas caractersticas deram as diretrizes para a definio de uma boa arquitetura,


como ser descrito a seguir.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

O Thrift implementa uma pilha (stack) de software que simplifica o desenvolvimento


de aplicativos de comunicao em vrias linguagens. Conforme podemos ver na Figura 3.1,
na parte inferior da pilha est a interface fsica de entrada e sada dos dados, podendo ser
um fluxo de rede ou ainda um arquivo do sistema. Essa interface influencia os nveis mais
altos da pilha.
As camadas de transporte e protocolo que definem como os dados so movidos e
quais formatos eles assumem, usando um processador, que contm os fluxos de entrada e
sada. TBinaryProtocol define um protocolo binrio eficiente para comunicao que pode
ser usado sobre transporte TFileTransport que gera um arquivo para ser enviado ou salvo
no disco, por exemplo.
No nvel superior esto tipos de servidor que podem ser implementados com o
auxlio de Thrift. Essa configurao pode incluir um servidor de encadeamento nico para
depurao (TSimpleServer), um servidor HTTP que pode fornecer URLs semelhantes ao
REST (Representational State Transfer) usando THttpServer, ou um servidor de vrios
processos que bifurca um processo para cada solicitao recebida (TforkingServer).
Portanto, o Thrift escrito no apenas para simplificar a comunicao entre vrias
abordagens (protocolos e transportes), mas tambm para simplificar o desenvolvimento de
servidor usando vrios estilos de servidor.

Figura 3.1 Arquitetura cliente/servidor Apache Thrift API (Fonte: Wikipedia)


Como visto nas diretrizes, Thrift ainda da suporte a um sistema de tipo que permite
comunicao entre linguagens. Esse sistema oferece suporte para tipos como byte, short,

Ministrio da Sade / SAS / Departamento de Ateno Bsica

int double, string e tipos mais avanados, como contineres (listas, mapas) e estruturas.
Esse sistema de tipos genrico a base comum (serializao e desserializao) para
comunicao de dados.

3.2 APIs Thrift do Sistema e-SUS AB


Como estamos tratando especificamente da integrao de Sistemas Prprios com o
Sistema e-SUS AB, muita da complexidade da implementao j foi absorvida pelo Sistema
e-SUS AB, que implementa toda a parte de servidor definindo o formato dos dados e
disponibilizando as APIs geradas pelo Thrift, em diferentes linguagens, para que sejam
usadas pelos desenvolvedores que pretendem exportar dados para o Sistema e-SUS AB.
Foram gerados dois pacotes de APIs para integrao com o Sistema e-SUS AB:
API Thrift Cidado tem o objetivo de garantir uma forma de importar
cadastros j consolidados no municpio ou estado, de modo que seja possvel
reutilizar esses cadastros no Sistema com PEC, no mdulo cidado.
API Thrift RAS tem o objetivo de oferecer uma forma de importar os
Registros de Atendimento Simplificado (RAS), como vimos na seo 3.1,
semelhante ao formato usado pelo Sistema com CDS. Este modelo
simplificado permite que os municpios que tem sistemas prprios e
estruturados nas Unidades Bsicas de Sade possam exportar os dados
para que estes sejam enviados ao SISAB via Centralizador Municipal do
Sistema e-SUS AB.
A partir das APIs possvel gerar os arquivos exportados dos Sistemas Prprios
para serem importados no Sistema e-SUS AB. A estrutura de cada API ser detalhada mais
a frente. Na prxima seo veremos, de forma genrica, como gerado o arquivo para ser
importado.

3.2.1 Gerando um Arquivo para o Sistema e-SUS AB


Como vimos na Figura 3.1, a implementao do Thrift ocorre em camadas para
facilitar o desenvolvimento considerando diferentes problemas da integrao. A parte do
Servidor implementada pelo Sistema e-SUS AB, portanto cabe ao desenvolvedor apenas
gerar os dados a partir de sua aplicao na condio de cliente da aplicao.
O Sistema e-SUS AB, por simplicidade, oferece neste momento apenas uma forma
de integrao usando troca de arquivos, portanto iremos detalhar nesta seo os passos
para gerar esse arquivo abstraindo as especificidades de alguma linguagem em particular.

Passo 01 Configure sua aplicao para usar Thrift

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Para que seja possvel usar as APIs geradas pelo Apache Thrift necessrio
instalar e configurar o seu ambiente de desenvolvimento para usar as bibliotecas do Apache
Thrift.
As linguagens que j esto com APIs disponveis para o Sistema e-SUS AB so:
Java (requer Ant e Java 1.7)
Delphi (requer Delphi 2010 ou superior)
C# (requer Mono >= 1.2.6 or .NET framework >= 3.5)
PHP (requer PHP 5.0)
Ruby (Ruby 1.8, bundler gem)
Para mais informaes
http://thrift.apache.org/lib/

sobre

como

usar

as

libs

do

Thrift

acesse

Caso necessite de alguma outra API suportada pelo Thrift para o Sistema e-SUS
AB, contate nossa equipe de desenvolvimento atravs do endereo: nti.dab@saude.gov.br
Passo 02 Baixe a API do Sistema e-SUS AB a ser utilizada
Baixe a API gerada pelo Thrift para o Sistema e-SUS AB a partir do site do e-SUS
AB, por meio do endereo: http://dab.saude.gov.br/esus.
Na rea de download, selecione a opo Integrao Sistemas Prprios e na
sequncia clique em Thrift Cidado ou Thrift RAS conforme for a necessidade.
Passo 03 Copie o cdigo da API para sua aplicao
Aps baixar o arquivo, descompacte-o e copie os arquivos correspondentes a
linguagem usada por sua aplicao para dentro do seu cdigo base.
Passo 04 Inclua a API e as bibliotecas na sua aplicao
Inclua a API do Sistema e-SUS AB correspondente a sua linguagem e as bibliotecas
do Thrift no cdigo base de sua aplicao para que voc possa chamar as funes dentro
da sua aplicao.
Para exemplos sobre como fazer isso em sua aplicao veja os exemplos para cada
linguagem em http://thrift.apache.org/tutorial/.

Passo 05 Configure a camada de Transporte e Protocolo


Aps preparar a sua aplicao para usar o Thrift, basta definir como e em que
formato os dados sero enviados, ou seja, deve-se definir as camadas de Transporte e
Protocolo, j implementadas pelo Thrift.
O Sistema e-SUS AB utiliza:
TTransport: StreamTransport

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Java: TIOStreamTransport
Delphi: TStreamTransportImpl
C#: TStreamTransport
PHP5: TPhpStream
Ruby: IOStreamTransport
TProtocol: BinaryProtocol
Java: TBinaryProtocol
Delphi: TBinaryProtocolImpl
C#: TBinaryProtocol
PHP5: TBinaryProtocol
Ruby: BinaryProtocol

Para mais detalhes veja exemplos de funes de serializao disponvel no manual:


Exemplo na linguagem Java: ThriftSerializer.java
Exemplo na linguagem Delphi: ThriftSerializer.pas

Passo 06 Preenchendo os dados


Neste momento voc pode criar as rotinas que iro preencher os dados conforme
definido pelas APIs. Como vimos, as APIs geradas pelo Thrift definem as estruturas dos
dados do e-SUS AB (DadoTransporteThrift ou CidadaoTransportThrift).
Nos prximos captulos sero detalhadas as estruturas e a melhor forma de utilizar
essas APIs para importar os dados ao Sistema e-SUS AB.

Passo 07 Empacotamento dos Dados


O empacotamento dos dados a serem enviados ao Sistema e-SUS AB feito por
meio de um conjunto de arquivos compactados por uma biblioteca ZIP. Cada arquivo a ser
compactado corresponde a uma Ficha serializada dos dados.
Dentro dos pacotes ZIP, cada arquivo (entries) deve ser nomeado com a extenso
do dado empacotado, a saber:
Fichas CDS/RAS (DadoTransporteThrift) : extenso ".esus13";
Cadastro de Cidado (CidadaoTransportThrift) : extenso ".cidadao"
Para mais detalhes veja o exemplo disponvel no manual:
Exemplo na linguagem Java: ZipWriterExemplo.java
Exemplo na linguagem Delphi: ZipWriterExemplo.pas
A serializao dos dados feita pela prpria estrutura do Thrift, conforme definido
pelo TProtocol e encapsulado pelo TTransport de acordo com o formato que foi configurado
anteriormente.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Captulo 4. API Thrift Cidado


Esta API Thrift permite integrar o Sistema com PEC a outro sistema de informao
migrando uma base de cadastro de cidados, minimizando o esforo de recadastramento e
digitao. O cidado identificado pelo CNS ou CPF, sendo assim, os dados j existentes
sero alterados com a nova importao quando for localizado o mesmo cidado. Esta
importao pode ser realizada em qualquer momento.
Para entender melhor a aplicao e forma de uso da API, a seguir ser detalhada a
estrutura da API, bem como ser apresentado um exemplo de implementao usando a
linguagem Java.

4.1 Estrutura da API Thrift Cidado


A API Thrift Cidado implementa a estrutura dos dados que devem ser salvos em
arquivo, como vimos na Seo 3.2.1. Esta estrutura recebeu o nome de
CidadaoTransportThrift e pode ser visualizada na Figura 4.1, com destaque aos dados
obrigatrios. Dois campos so marcados como condicionais, pois o preenchimento deles
depende de outro valor em bloco, a saber: CNS (naoPossuiCNS=true) e nomeMae
(desconheceNomeMae=false).

Figura 4.1 Estrutura dos dados da API CidadaoTransportThrift


A API ainda usa algumas estruturas auxiliares como: SexoThrift,
TipoSanguineoThrift e EnderecoTransportThrift (ver Figura 4.2). Alm dessas estruturas
auxiliares ainda necessrio fazer referncia a um conjunto de informaes provenientes

Ministrio da Sade / SAS / Departamento de Ateno Bsica

de Tabelas de Referncia, a saber: Escolaridade, Raa/Cor, Etnia, Localidade (para


Municpio de Nascimento e Municpio de Residncia), CBO e Estado Civil.

Figura 4.2 Estrutura dos dados da API EnderecoTransportThrift

4.2 Exemplo de uso da API Thrift Cidado


Nesta seo iremos apresentar um exemplo de uso da API Thrift Cidado com
comentrios para tornar mais fcil a compreenso dos conceitos usados e das variveis do
prprio Sistema e-SUS AB em relao aos dados do cidado.
O exemplo a seguir no pretende ser completo, portanto alguns detalhes julgados
irrelevantes foram suprimidos, portanto este cdigo deve ser adaptado para ser executado.

Exemplo 4.1 Implementao na Linguagem Java

ExemploThriftCidadaoJava.java

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Captulo 5. API Thrift RAS


Esta API Thrift recomendado aos municpios que optarem pela utilizao de outros
sistemas de informao e que desejam transmitir seus dados produzidos na Ateno Bsica
para o Ministrio da Sade. A estrutura RAS (Registro de Atendimento Simplificado)
baseada em um conjunto mnimo de informaes em sade coletadas pelos Sistemas PEC
e CDS, conforme descrito no Captulo 2, e dever ser adotada como processo padro para
transmisso dos dados ao Sistema de Informao em Sade para a Ateno Bsica
(SISAB).
Para entender melhor a aplicao e a forma de uso da API, a seguir ser detalhada
a estrutura da API, bem como ser apresentado um exemplo de implementao usando a
linguagem Java.

5.1 Estrutura da API Thrift RAS


A API Thrift RAS implementa a estrutura dos dados que devem ser salvos em
arquivo, como vimos na Seo 3.2.1. Esta estrutura recebeu o nome de
DadosTransporteThrift e pode ser visualizada na Figura 5.1, com destaque aos dados
obrigatrios. Esta API tem um comportamento diferente da API Thrift Cidado, pois ela tem
antes dos dados de atendimento uma camada para identificar o envelope dos dados que
esto sendo transmitidos.

Figura 5.1 Estrutura dos dados da API DadoTransporteThrift


Esta API usa uma estrutura auxiliar (ver Figura 5.2) para descrever os dados da
instalao. Alm dessas estruturas auxiliares ainda necessrio fazer referncia a um
conjunto de informaes provenientes das Tabelas de Referncias, descrita no Dicionrio
de Dados.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Figura 5.2 Estrutura dos dados da API DadoInstalacaoThrift

Considerando o fluxo de informaes de um Sistema Prprio (originadora) para um


Centralizador Municipal (remetente) alguns campos devem ser definidos para que seja
possvel de identific-los no mdulo de Controle de Recebimento dos dados no Sistema eSUS AB. A seguir alguns detalhes importantes so destacados da API
DadoTransporteThrift:

uuidDadoSerializado: UUID do dado (identificador "universal" gerado na


criao do item) ;
tipoDadoSerializado: Tipo/classe do objeto serializado ;
cnesDadoSerializado: CNES da unidade de sade ;
codIbge: Cdigo IBGE do dado serializado
ineDadoSerializado: cdigo do Identificador Nacional da Equipe (INE) da
equipe que efetivamente gerou a informao/registro de atendimento;
numLote: Nmero do Lote, controlado pela originadora;
dadoSerializado: Dado serializado a partir de um Thrift . neste campo que
ser vinculada o registro de atendimento/cadastro que est sendo enviada,
usando as estruturas do RAS.
remetente: Identifica a instalao que enviou o dado, por meio da estrutura
auxiliar DadoInstalacaoThrift , conforme descrito a seguir;
originadora: Identifica a instalao que cadastrou/digitou, por meio da
estrutura auxiliar DadoInstalacaoThrift , conforme descrito a seguir;
versao: Identifica a verso do E-SUS AB usando VersaoThrift (1, 3, 0);

A instalao tambm tem alguns dados que devem ser definidos por meio da
entidade DadoInstalacaoThrift:

contraChave: Identifica o software que est gerando a informao. No


demanda nenhuma descrio mandatria, mas sugere-se usar o
NomeDoSoftware_Versao;
uuidInstalacao: Identificador UUID da instalao do sistema, associado
contraChave auxilia no controle de fluxo da aplicao que gerou a
informao. Cada instalao deve controlar seu prprio identificador, gerado
apenas no primeiro envio.
cpfOuCnpj: Cpf do responsvel ou CNPJ da empresa responsvel, em geral
usa-se o CPF do profissional cadastrado no Centralizador Municipal que
receber os dados.
nomeOuRazaoSocial: Nome do responsvel ou Razo Social da empresa
responsvel
fone: Telefone da pessoa ou empresa responsvel
email: Email da pessoa ou empresa responsvel

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Como visto anteriormente a estrutura do arquivo a ser enviado pode tomar vrias
formas, no entanto este deve compor essencialmente um arquivo zip com vrios arquivos
referenciando um registro/cadastro, podendo este registro (Master) estar organizando uma
lista de registro do mesmo tipo (Child). Na Figura 5.3, podemos ver a estrutura de um
possvel arquivo.

Figura 5.3 Estrutura de um possvel arquivo RASZipFile.zip

A seguir so apresentadas as entidades, detalhadas no Anexo I, usadas na API


Thrift RAS:

PROFISSIONAL / CABEALHO
UnicaLotacaoHeaderThrift: Esta entidade utilizada para representar o
profissional responsvel pelas fichas
VariasLotacoesHeaderThrift: Esta entidade utilizada para representar o
profissional responsvel pela ficha, e os outros que o auxiliaram na atividade
ProfissionalCboRowItemThrift: Entidade usada em listas de profissionais
HeaderCdsCadastroThrift: Entidade utilizada para representar o profissional
que realizou uma ao (cadastro individual, domiciliar, ou visita domiciliar), e a
data respectiva
ATENDIMENTO
AtendimentoIndividualMasterThrift: Entidade que organiza os dados de
Atendimento Individual (cabealho e atendimentos)
AtendimentoIndividualChildThrift: Entidade que organiza os dados de
Atendimento Individual, individualmente
ProblemaCondicaoAvaliacaoAIThrift: Entidade que organiza os
Problemas e Condies avaliadas no atendimento individual
OutrosSiaThrift: Entidade que organiza os Exames Solicitados e/ou
Avaliados referenciados pelo cdigo do SIGTAP
AtendimentoOdontologicoMasterThrift: Entidade que organiza os dados de
Atendimento Odontolgico Individual (cabealho e atendimentos)

Ministrio da Sade / SAS / Departamento de Ateno Bsica

FichaAtendimentoOdontologicoChildThrift: Entidade que organiza os


dados de Atendimento Odontolgico Individual, individualmente
ProcedimentoQuantidadeThrift: Entidade que organiza os itens da lista
outros procedimentos do atendimento odontolgico
FichaAtividadeColetivaMasterThrift: Entidade que organiza os dados de uma
Atividade Coletiva
ParticipanteRowItemThrift: Entidade que organiza os itens da lista de
participantes de uma Atividade Coletiva
ProcedimentoMasterThrift: Entidade que organiza a realizao de
procedimentos realizados por um profissional, tanto os individualizados quanto
os consolidados
FichaProcedimentoChildThrift: Entidade que organiza a realizao de
procedimentos realizados a um cidado, individualmente
VisitaDomiciliarMasterThrift: Entidade que organiza as Visitas Domiciliares
realizadas por um profissional
FichaVisitaDomiciliarChildThrift: Entidade que organiza as visitas
domiciliares realizadas a um cidado, individualmente
CADASTRO
CadastroDomiciliarMasterThrift: Entidade que organiza os dados de um
Cadastro Domiciliar
EnderecoLocalPermanenciaThrift: Entidade que organiza os dados de
Endereo (Local de Permanncia, para Situao de Rua) de um Cadastro
Domiciliar
CondicaoMoradiaThrift: Entidade que organiza os dados de condio de
moradia do Cadastro Domiciliar
FamiliaRowThrift: Entidade que organiza os itens da lista de famlias de um
domiclio
CadastroIndividualMasterThrift: Entidade que organiza os dados de Cadastro
Individual do cidado adscrito
IdentificacaoUsuarioCidadaoThrift: Entidade que organiza os dados de
identificao do cidado no Cadastro Individual
InformacoesSocioDemograficasThrift:
Entidade que organiza as
informaes scio-demogrficas do cidado no Cadastro Individual
CondicoesDeSaudeThrift: Entidade que organiza os dados de Cadastro
Individual do cidado adscrito
EmSituacaoDeRuaThrift: Entidade que organiza os dados especficos sobre
cidado em situao de rua

5.2 Exemplo de uso da API Thrift RAS


Nesta seo iremos apresentar um exemplo de uso da API Thrift Cidado com
comentrios para tornar mais fcil a compreenso dos conceitos usados e das variveis do
prprio Sistema e-SUS AB em relao aos dados do cidado.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Foram implementados dois exemplos, um na linguagem Java, Exemplo 5.1, e outro


na linguagem Delphi, Exemplo 5.2.

Exemplo 5.1 Implementao na Linguagem Java

ExemploDadosParaThrift.java

Exemplo 5.2 Implementao na Linguagem Delphi

ThriftExample.dpr

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Concluso
Este manual buscou trazer vrios conceitos para que se torne mais fcil a
implementao da exportao de dados para o Sistema e-SUS AB por meio das API Thrift
geradas para integrao com Sistema Prprios.
Para maiores detalhes consultar os manuais citados nas referncia bibliogrficas e
em todo decorrer do texto.

Ministrio da Sade / SAS / Departamento de Ateno Bsica

Referncias Bibliogrficas
Apache Thrift Install - http://thrift.apache.org/docs/install/
Andrew
Prunicki,
Apache
Thrift,
2009
Object
Computing,
Inc.
http://jnb.ociweb.com/jnb/jnbJun2009.html
Ministrio da Sade, Estratgia de e-Sade para o Brasil, 2014 (em publicao)
Stratos Dimopoulos. Thrift Tutorial, 2013: http://thrift-tutorial.readthedocs.org/
Site do Apache Thrift - http://thrift.apache.org
Site do Sistema e-SUS Ateno Bsica: http://dab.saude.gov.br/esus

EUA: