Documento de Regras para Webservice SIGAF

Propaganda
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
I – Introdução
Um webservice é uma solução utilizada na integração de sistemas e na comunicação entre aplicações
diferentes. Com esta tecnologia é possível que sistemas desenvolvidos em plataformas diferentes sejam
compatíveis.
Este manual tem o objetivo de demonstrar como utilizar o webservice disponibilizado pelo SIGAF para envio
de informações das operações de movimentação de estoque de medicamentos e atendimento farmacêutico
nas unidades dispensadoras que já possuam outro sistema de informação implantado.
•
Dados possíveis de serem transmitidos:
– Cadastro de paciente
– Dispensação
– Entrada de medicamentos
– Ajuste de estoque
Questionário de triagem
•
Dados inseridos exclusivamente no SIGAF
– Pedido de medicamentos
– Aceite de distribuições
– Distribuição para unidade/subunidade
O objetivo maior da SAF é garantir 100% da movimentação de medicamentos no âmbito do SUS estadual
trafegando via SIGAF para consolidação da Base Estadual de Assistência Farmacêutica. Este processo será
importante para garantir o SIGAF como centralizador de dados de assistência farmacêutica para o Hórus,
conforme DELIBERAÇÃO CIB-SUS/MG Nº 1.067, DE 20 DE MARÇO DE 2012.
As unidades interessadas na utilização do webservice devem enviar para o email [email protected] os
seguintes dados:
Nome do município
Nome do Secretário Municipal de Saúde
Nome do Farmacêutico responsável
Nome Sistema de Informação utilizado pelo município
Empresa responsável pelo sistema de informação
Data de início de utilização do sistema
1
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
II – Glossário de Termos
Ajuste de Estoque: “É utilizado para realização de acertos, das diferenças dos produtos existentes,
entre o estoque físico e o virtual”(1).
base64Binary: Tipo de dado pré-definido em XSD para dados Binários em base64.
CATMAT: “O CATMAT/SIASG é um catálogo de materiais de uso obrigatório para todos os órgãos da
Administração Pública Federal Direta e de uso facultativo a todo e qualquer órgão público das três esferas do
poder”. No Webservice do SIGAF os medicamentos são identificados a partir do código CATMAT.
(fonte: http://portal.saude.gov.br/portal/saude/profissional/visualizar_texto.cfm?idtxt=33790&janela=2)
CNES: Cadastro Nacional de Estabelecimentos de Saúde.
CNS: Cartão Nacional de Saúde.
Dispensação: “Ato de fornecimento e orientação ao paciente de medicamentos, insumos
farmacêuticos e correlatos, a título remunerado ou não”(1).
Entrada: “Adição de itens(medicamentos/produtos) no estoque de sua unidade”(1).
Fault: É um erro na comunicação com o Webservice resultante do formato incorreto da mensagem,
problemas de processamento do método chamado ou incompatibilidade entre aplicações cliente e servidor.
Medicamento: “Produto farmacêutico, tecnicamente obtido ou elaborado, com finalidade profilática,
curativa, paliativa ou para fins de diagnóstico”(1).
Questionário de Triagem: Formulários de registro de informações das quatro patologias traçadoras
(diabetes, hipertensão, hanseníase e tuberculose) selecionadas pela SES-MG como foco de suas ações.
XSD: “XML Schema é uma linguagem baseada no formato XML para definição de regras de validação
("esquemas") em documentos no formato XML.” (fonte: http://pt.wikipedia.org/wiki/Xsd)
Webservices: “são componentes que permitem às aplicações enviar e receber dados em formato
XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida para uma linguagem universal, o
formato XML.” (fonte: http://pt.wikipedia.org/wiki/Web_Services)
WSDL: “O Webservices Description Language (WSDL) é uma linguagem baseada em XML utilizada
para descrever Webservices funcionando como um contrato do serviço. Trata-se de um documento escrito em
XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos
disponíveis.” (fonte: http://pt.wikipedia.org/wiki/WSDL)
(1) http://sigaf2.saude.mg.gov.br/ajuda_online/index.php/Glossário_de_Termos
2
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
III – Fluxo de Comunicação
IV – Protocolo de Comunicação
O sistema da Unidade de Saúde, realiza requisições ao Webservice disponibilizado pelo Sigaf através das
regras definidas no WSDL http://sigaf2.saude.mg.gov.br/webserver/soap_server.php?wsdl. Deve ser
requisitado o método “login”(1) com parâmetros "user" e "password", este método retorna um “token”(2) válido
pelos próximos 10 minutos. Em seguida utiliza o método “recebeDados”(3) com parâmetros “token” e “source”.
O parâmetro “source” é do tipo “base64Binary” e contém um XML com formato definido de acordo com o tipo
de informação apropriada para envio de:
3
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
a) Ajuste de Estoque, validado pelo XSD ajuste-estoque.xsd de conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identificador" type="identificador" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os dados de quem enviou o XML.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="registro" type="registro" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa registro de Ajuste de Estoque.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="identificador">
<xsd:sequence>
<xsd:element name="stEsferaEnvio" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa quem enviou se foi ESTADO - 'E' e MUNICIPIO - 'M'.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:choice>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Município que enviou os dados. ]]>
<![CDATA[Se for a esfera Municipal, o atributo coUfIbge não é preenchido e o coMunicipioIbge é preenchido com o código do IBGE.]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coUfIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Estado. Os dois primeiro número que identifica o Estado.]]>
<![CDATA[Se for a esfera Estadual, o atributo coUfIbge é preenchido com o código do IBGE do Estado e o coMunicipioIbge não é preenchido. ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{2}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:choice>
<xsd:element name="dsEmail" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Email do usuário que enviou as informações.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noUsuario" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do usuário que envio os xml.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="35"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
4
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:element name="tpXML" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Tipo XML enviado;E – Entrada, QT – Questionário Triagem, ET – Estoque, DP- Dispensação e Paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:enumeration value="QT"></xsd:enumeration>
<xsd:enumeration value="ET"></xsd:enumeration>
<xsd:enumeration value="DP"></xsd:enumeration>
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="registro">
<xsd:sequence>
<xsd:element name="coUnidadeCnes" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do CNES do estabelecimento de saúde.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{31}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuProduto" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do produto no CATMAT.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="cnpjFornecedor" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número de CNPJ de Fornecedor.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{14}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="vlItem" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Valor unitário do item quando ocorreu a saída do estoque.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:double">
<xsd:pattern value="\d+\.?\d{0,4}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dtValidade" type="xsd:date" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Data de validade do medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nuLote" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do lote do produto.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="30"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coPrograma" type="xsd:long" maxOccurs="0" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do Programa do Medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtEstoque" type="xsd:long" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade de item em Estoque.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
5
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:element name="tpMovimentacao" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Motivo de Ajuste:
TABELA DE MOTIVOS
1 - Vencimento
2 - Danificado
3 - Doação / Saída
4 - Apreensão Vig. Sanitária
5 - Estorno
6 - Interdição de Medicamento pela Vig. Sanitária
7 - Saída para Acerto
8 - Entrada para Acerto
9 - Outros
10 - Saída por Distribuição
11 - Saída por Dispensação
12 - Devolução
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1'"></xsd:enumeration>
<xsd:enumeration value="2"></xsd:enumeration>
<xsd:enumeration value="3"></xsd:enumeration>
<xsd:enumeration value="4"></xsd:enumeration>
<xsd:enumeration value="5"></xsd:enumeration>
<xsd:enumeration value="6"></xsd:enumeration>
<xsd:enumeration value="7"></xsd:enumeration>
<xsd:enumeration value="8"></xsd:enumeration>
<xsd:enumeration value="9"></xsd:enumeration>
<xsd:enumeration value="10"></xsd:enumeration>
<xsd:enumeration value="11"></xsd:enumeration>
<xsd:enumeration value="12"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
b) Entrada, validado pelo XSD ws-entrada.xsd de conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identificador" type="identificador" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os dados de quem enviou o XML.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="registro" type="registro" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os dados de Entrada no estoque.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="identificador">
<xsd:sequence>
<xsd:element name="stEsferaEnvio" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa quem enviou se foi ESTADO - 'E' e MUNICIPIO - 'M'.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:choice>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Município que enviou os dados. ]]>
<![CDATA[Se for a esfera Municipal, o atributo coUfIbge não é preenchido e o coMunicipioIbge é preenchido com o código do IBGE.]]>
</xsd:documentation>
6
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coUfIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Estado. Os dois primeiro número que identifica o Estado.]]>
<![CDATA[Se for a esfera Estadual, o atributo coUfIbge é preenchido com o código do IBGE do Estado e o coMunicipioIbge não é preenchido. ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{2}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:choice>
<xsd:element name="dsEmail" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Email do usuário que enviou as informações.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noUsuario" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do usuário que envio os xml.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="35"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpXML" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Tipo XML enviado;E – Entrada, QT – Questionário Triagem, ET – Estoque, DP- Dispensação e Paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:enumeration value="QT"></xsd:enumeration>
<xsd:enumeration value="ET"></xsd:enumeration>
<xsd:enumeration value="DP"></xsd:enumeration>
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="lstMedicamento">
<xsd:sequence>
<xsd:element name="nuProduto" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do produto no CATMAT]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuCodigoBarrasProduto" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código de Barras de Produto]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuRegistroAnvisa" maxOccurs="1" minOccurs="0">
<xsd:annotation>
7
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:documentation><![CDATA[Número de Registro ANVISA]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpProduto" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Se o produto é tipo farmácia básica = "B", ou especializada = "E". Informa tipo "B" - Básico.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="B"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="vlItem" type="xsd:double" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Valor unitário do item.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dtValidade" type="xsd:date" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Data de validade do produto.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nuLote" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do lote do produto.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="30"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coPrograma" type="xsd:long" maxOccurs="0" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do Programa do Medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtAdquirida" type="xsd:long" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade adquirida de medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtEstoque" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade adquirida de medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="registro">
<xsd:sequence>
<xsd:element name="coUnidadeCnes" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do CNES da unidade de saúde.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{31}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuNotaFiscal" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Nota de Fiscal de Entrada.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="cnpjFornecedor" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Número de CNPJ de Fornecedor.]]></xsd:documentation>
8
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{14}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dtRecebimento" type="xsd:date" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Data de recebimento de medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="tpMovimentacao" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Tipos de movimentações: (Mudar Tipo de Entrada e Registrar outro campo de Tipo de Movimentação)
MOVIMENTACAO SIGLA (Outros)
AJUSTE DE ESTOQUE E-AE (Ajuste de Estoque)
ATA DE REGISTRO DE PREÇO E-ARP (Licitação)
COMPRA DIRETA E-CD (Copra Direta)
CONCORRÊNCIA E-C (Licitação)
CONVITE E-CONV (Outros)
DEVOLUÇÕES E-DEV (Outros)
DISPENSAÇÃO DE LICITAÇÃO E-DL (Licitação)
DOAÇÃO E-D (Doação)
EMERGENCIAL E-EMERG (Outros)
EMPRÉSTIMO E-E (Outros)
ENTRADA EVENTUAL E-EVENTUAL (Outros)
ENTRADA ORDINARIA E-O (Outros)
ENTRADA POR ALMOXARIFADO CENTRAL E-AC (Outros)
PREGÃO E-P (Licitação)
SALDO DE IMPLANTAÇÃO E-SI (Outros)
TOMADA DE PREÇO E-TP (Licitação)
TRANSFERÊNCIA E-T (Outros)
]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E-AE"></xsd:enumeration>
<xsd:enumeration value="E-ARP"></xsd:enumeration>
<xsd:enumeration value="E-CD"></xsd:enumeration>
<xsd:enumeration value="E-C"></xsd:enumeration>
<xsd:enumeration value="E-CONV"></xsd:enumeration>
<xsd:enumeration value="E-DEV"></xsd:enumeration>
<xsd:enumeration value="E-DL"></xsd:enumeration>
<xsd:enumeration value="E-D"></xsd:enumeration>
<xsd:enumeration value="E-EMERG"></xsd:enumeration>
<xsd:enumeration value="E-E"></xsd:enumeration>
<xsd:enumeration value="E-DL"></xsd:enumeration>
<xsd:enumeration value="E-EVENTUAL"></xsd:enumeration>
<xsd:enumeration value="E-O"></xsd:enumeration>
<xsd:enumeration value="E-AC"></xsd:enumeration>
<xsd:enumeration value="E-P"></xsd:enumeration>
<xsd:enumeration value="E-P"></xsd:enumeration>
<xsd:enumeration value="E-SI"></xsd:enumeration>
<xsd:enumeration value="E-TP"></xsd:enumeration>
<xsd:enumeration value="E-T"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="lstMedicamento" type="lstMedicamento" maxOccurs="unbounded" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Medicamento/Produto da Entrada]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
c) Paciente e Dispensação, validado pelo XSD ws-paciente-dispensacao.xsd de conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identificador" type="identificador" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os dados de quem enviou o XML.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="registro" type="paciente" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os pacientes com as suas dispensações.]]></xsd:documentation>
9
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="identificador">
<xsd:sequence>
<xsd:element name="stEsferaEnvio" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa quem enviou se foi ESTADO - 'E' e MUNICIPIO - 'M'.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:choice>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Município que enviou os dados. ]]>
<![CDATA[Se for a esfera Municipal, o atributo coUfIbge não é preenchido e o coMunicipioIbge é preenchido com o código do IBGE.]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coUfIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Estado. Os dois primeiro número que identifica o Estado.]]>
<![CDATA[Se for a esfera Estadual, o atributo coUfIbge é preenchido com o código do IBGE do Estado e o coMunicipioIbge não é preenchido. ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{2}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:choice>
<xsd:element name="dsEmail" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Email do usuário que enviou as informações.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noUsuario" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do usuário que envio os xml.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="35"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpXML" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Tipo XML enviado;E – Entrada, QT – Questionário Triagem, ET – Estoque, DP- Dispensação e Paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:enumeration value="QT"></xsd:enumeration>
<xsd:enumeration value="ET"></xsd:enumeration>
<xsd:enumeration value="DP"></xsd:enumeration>
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
10
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:complexType name="lstMedicamento">
<xsd:sequence>
<xsd:element name="nuProduto" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do produto no CATMAT.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="20"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpProduto" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Se o produto é tipo farmácia básica = "B", ou especializada = "E". Informa tipo "B" - Básico.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="B"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="vlItem" type="xsd:double" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Valor unitário do item quando ocorreu a dispensação para o paciente.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dtValidade" type="xsd:date" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Data de validade do medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nuLote" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do lote do produto.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="30"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coPrograma" type="xsd:long" maxOccurs="0" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do Programa do Medicamento.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name=" qtMedicamentoDispensada " type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade total de medicamento dispensado para o paciente por lote.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtDispensacaoSus" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade de dispensações de medicamento com receita SUS por lote.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtDispensacaoSemSus" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade de dispensações de medicamentos com receita privada por lote.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtMedicamentoSemEstoque" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade de medicamento que não foi dispensado por falta no estoque por lote.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="qtMedicamentoNaoPadronizado" type="xsd:long" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade de medicamento dispensado não padronizado por lote.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="dispensacao">
<xsd:sequence>
<xsd:element name="coUnidadeCnes" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do CNES do estabelecimento de saúde.]]></xsd:documentation>
</xsd:annotation>
11
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{31}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="numRegistro" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Número do Registro do Prescritor]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="10"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="crmUf" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Sigla da UF CRM]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dtDispensacao" type="xsd:date" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Data que realizou a dispensação para o paciente]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lstMedicamento" type="lstMedicamento" maxOccurs="unbounded" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Medicamento/Produto dispensado]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="paciente">
<xsd:sequence>
<xsd:element name="dsComplemento" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Complemento do endereço do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noNome" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noMae" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome da mãe do paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuCartaoSus" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Número cartão SUS. Número do Cartão SUS ou CPF do Paciente deve ser preenchido.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{16}"></xsd:pattern>
12
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dsLogradouro" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Descrição do logradouro onde o paciente mora.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dsBairro" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Bairro onde o paciente mora.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuCep" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do cep da moradia do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{5}(\d{3}){1,1}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="sgUfNaturalidade" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Sigla da UF da naturalidade.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coMunicipioIbgeNaturalidade" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código IBGE do Município da naturalidade.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código IBGE do Município.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dtNascimento" type="xsd:date" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Data nascimento do paciente.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nuCpf" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[CPF do paciente. Número do Cartão SUS ou CPF do Paciente deve ser preenchido.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{11}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tbSexo" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Sexo do Paciente, M - Masculino e F - Feminino.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
13
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="F"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dispensacao" type="dispensacao" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa o paciente e depois as suas as dispensações.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
d) Paciente e Questionário de Triagem, validado pelo XSD ws-paciente-dispensacao.xsd de conteúdo:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:element name="root">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="identificador" type="identificador" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os dados de quem enviou o XML.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="paciente" type="paciente" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa os pacientes com o respectivo questionário de triagem.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="identificador">
<xsd:sequence>
<xsd:element name="stEsferaEnvio" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa quem enviou se foi ESTADO - 'E' e MUNICIPIO - 'M'.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:choice>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Município que enviou os dados. ]]>
<![CDATA[Se for a esfera Municipal, o atributo coUfIbge não é preenchido e o coMunicipioIbge é preenchido com o código do IBGE.]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coUfIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[Código IBGE do Estado. Os dois primeiro número que identifica o Estado.]]>
<![CDATA[Se for a esfera Estadual, o atributo coUfIbge é preenchido com o código do IBGE do Estado e o coMunicipioIbge não é preenchido. ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{2}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:choice>
<xsd:element name="dsEmail" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Email do usuário que enviou as informações.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
14
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noUsuario" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do usuário que envio os xml.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="35"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpXML" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Tipo XML enviado;E – Entrada, QT – Questionário Triagem, ET – Estoque, DP- Dispensação e Paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:enumeration value="QT"></xsd:enumeration>
<xsd:enumeration value="ET"></xsd:enumeration>
<xsd:enumeration value="DP"></xsd:enumeration>
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="lstMedicamento">
<xsd:sequence>
<xsd:element name="nuProduto" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do produto no CATMAT.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{20}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="unidadeMedida" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Unidade de Medida]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{50}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="qtMedicamentoDispensada" type="xsd:long" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Quantidade total de medicamento dispensado para o paciente por mês.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="qtTriagem">
<xsd:sequence>
<xsd:element name="coUnidadeCnes" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Código do CNES do estabelecimento de saúde.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{31}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpIdadePaciente" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Classificação por idade:
1-"Criança: idade de 0 a 9 anos";
2-"Adolescente: idade entre 10 e 14 anos";
3-"Adolescente: idade de 15 a 19 anos";
4-"Adulto: idade de 20 a 59 anos";
5-"Idoso: acima de 60 anos"; 6 - "Idoso: idade de acima de 80 anos";]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
15
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:enumeration value="1"></xsd:enumeration>
<xsd:enumeration value="2"></xsd:enumeration>
<xsd:enumeration value="3"></xsd:enumeration>
<xsd:enumeration value="4"></xsd:enumeration>
<xsd:enumeration value="5"></xsd:enumeration>
<xsd:enumeration value="6"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stGravida" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Está grávida?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stHipertenso" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[É hipertenso?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stDiabetico" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[É diabético?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stTuberculose" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Possui tuberculose?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stHanseniase" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Possui hanseníase?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stFuma" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Fuma ou reside com fumante?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpInstrucaoResponsavel" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Qual seu grau de instrução? (da mãe ou responsável):
1 - "Analfabeto";
2 - "Não Analfabeto";
3 - "Ensino fundamental, 1º grau (incompleto)";
4 - "Ensino fundamental, 1º grau (completo)";
5 - "Ensino médio, 2º grau (incompleto)";
6 - "Ensino médio, 2º grau (completo)";
7 - "Superior (incompleto)";
8 - "Superior (completo)";
9 – "Pós-graduação";]]>
16
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1"></xsd:enumeration>
<xsd:enumeration value="2"></xsd:enumeration>
<xsd:enumeration value="3"></xsd:enumeration>
<xsd:enumeration value="4"></xsd:enumeration>
<xsd:enumeration value="5"></xsd:enumeration>
<xsd:enumeration value="6"></xsd:enumeration>
<xsd:enumeration value="7"></xsd:enumeration>
<xsd:enumeration value="8"></xsd:enumeration>
<xsd:enumeration value="9"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="vlPeso" type="xsd:double" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Peso da Criança.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="vlAltura" type="xsd:double" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Altura da Criança.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="stPossuiFilhos" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Tem filho(s) ou já esteve grávida?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stUtilizaBebida" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Faz uso de bebida alcoólica ou outras substâncias?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stSofreuQueda" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Sofreu queda no último ano?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stConsegueLocomover" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Consegue ir aos lugares sozinho, como médico, igreja, supermercado, etc?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stIdadeGravidez" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Idade inferior a 17 ou superior a 35?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stDoencaGravidez" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Tem, infecção urinária, toxoplasmose, HIV ou sífilis?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
17
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stColesterolAlto" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Colesterol alto?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stDoencaCoracaoFamilia" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Algum caso de doença do coração ou hipertensão na família?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpDiabetes" type="xsd:string" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Classificação: 1 - "Tipo I"; 2 - "Tipo II";]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="1"></xsd:enumeration>
<xsd:enumeration value="2"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stDificuldadeCicatrizacao" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Tem dificuldade para cicatrizar feridas?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stTratamentoTuberculose" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Tratou mais de uma vez?]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stTerminoTratamento" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Completou o tratamento conforme esperado? (Problemas com o tratamento)]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stTratamentoHanseniase" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Tratou mais de uma vez? (Recidiva)]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="stSintomasHanseniase" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Apresenta três desses sintomas: febre, mal-estar, feridas ou ínguas?(Piora do quadro geral)]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
18
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:restriction base="xsd:string">
<xsd:enumeration value="S"></xsd:enumeration>
<xsd:enumeration value="N"></xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="lstMedicamento" type="lstMedicamento" maxOccurs="unbounded" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Medicamento/Produto do questionário]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="paciente">
<xsd:sequence>
<xsd:element name="dsComplemento" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Complemento do endereço do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noNome" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="noMae" maxOccurs="1" minOccurs="1">
<xsd:annotation>
<xsd:documentation><![CDATA[Nome da mãe do paciente]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="100"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuCartaoSus" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Número cartão SUS. Número do Cartão SUS ou CPF do Paciente deve ser preenchido.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{16}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dsLogradouro" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Descrição do logradouro onde o paciente mora.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dsBairro" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Bairro onde o paciente mora.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="50"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="nuCep" type="xsd:string" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Número do cep da moradia do paciente.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
19
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
<xsd:pattern value="\d{5}(\d{3}){1,1}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="sgUfNaturalidade" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Sigla da UF da naturalidade.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"></xsd:minLength>
<xsd:maxLength value="2"></xsd:maxLength>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coMunicipioIbgeNaturalidade" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código IBGE do Município da naturalidade.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="coMunicipioIbge" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Código IBGE do Município.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{6}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="dtNascimento" type="xsd:date" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Data nascimento do paciente.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="nuCpf" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[CPF do paciente. Número do Cartão SUS ou CPF do Paciente deve ser preenchido.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{11}"></xsd:pattern>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tbSexo" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Sexo do Paciente, M - Masculino e F - Feminino.]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="M"></xsd:enumeration>
<xsd:enumeration value="F"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="tpAtendimento" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Se o paciente e atendido pelo componente Básico - "B" ou Especializado - "E"]]></xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="B"></xsd:enumeration>
<xsd:enumeration value="E"></xsd:enumeration>
<xsd:length value="1"></xsd:length>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="qtTriagem" type="qtTriagem" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation><![CDATA[Informa o paciente e depois respostas de seu questionário de triagem.]]></xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
20
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
V – Padrão de Informações
Através do método “recebeDados” disponibilizado pelo Webservice, a Unidade de Saúde informa para o
SIGAF suas operações de Ajuste de Estoque, Entrada, registro de Paciente, Dispensação de Medicamentos e
Questionário de Triagem. Os dados destas operações são enviados através de tipos complexos definidos
pelos schemas (XSD) detalhados no capítulo anterior (ver IV – Protocolo de Comunicação). Abaixo
detalhamos cada um dos campos que devem ser enviados, dentro do tipo complexo correspondente:
a) complexType name="identificador": Contém informações de identificação da Unidade de Saúde onde
ocorreu a operação (Ajuste de Estoque, Entrada, registro de Paciente, Dispensação de Medicamentos ou
Questionário de Triagem). Identifica também o tipo de Operação ocorrida através do campo tpXML.
Informações de Identificação (complexType name="identificador")
Descrição
Tipo Tam Restrições
Informa quem enviou informação
String
1 Informar E (Estado) ou M (Município)
Se for a esfera Municipal, o atributo coUfIbge não é
Código IBGE do Município que enviou os
preenchido e o coMunicipioIbge é preenchido com o
coMunicipioIbge dados.
String
6 código do IBGE
Campo
stEsferaEnvio
coUfIbge
dsEmail
noUsuario
Código IBGE do Estado. Os dois primeiro
número que identifica o Estado.
Email do usuário que enviou as informações.
Nome do usuário que envio os xml.
String
String
String
2
50
35
tpXML
Tipo XML enviado
String
2
Se for a esfera Estadual, o atributo coUfIbge é
preenchido com o código do IBGE do Estado e o
coMunicipioIbge não é preenchido.
Informar E (Entrada), QT (Questionário Triagem), ET
(Estoque) ou DP (Dispensacao e Paciente).
Obrig
Sim
Não
Não
Sim
Sim
Sim
b) complexType name="registro" para Ajuste de Estoque: Contém informações necessárias para informar
ao SIGAF a quantidade de itens de um Lote/Validade específico em estoque na Unidade de Saúde.
Informações de Ajuste de Estoque (complexType name="registro")
Descrição
Tipo
Tam Restrições
Código do CNES do estabelecimento de
coUnidadeCnes saúde.
String
31
nuProduto
Número do produto no CATMAT.
String
20
cnpjFornecedor Número de CNPJ de Fornecedor.
String
14
Valor unitário do item quando ocorreu a
vlItem
saída do estoque.
Double 21,4
dtValidade
Data de validade do medicamento
Date
2
nuLote
Número do lote do produto.
String
30
coPrograma
Código do Programa do Medicamento
Long
8
qtEstoque
Quantidade de item em Estoque.
Long
8
Somente são aceitos valores positivos
1 - Vencimento
2 - Danificado
3 - Doação / Saída
4 - Apreensão Vig. Sanitária
5 - Estorno
6 - Interdição de Medicamento
7 - Saída para Acerto
8 - Entrada para Acerto
9 - Outros
10 - Saída por Distribuição
11 - Saída por Dispensação
tpMovimentacao Motivo de Ajuste
String
2
12 - Devolução
Campo
Obrig
Sim
Sim
Sim
Sim
Sim
Sim
Não
Sim
Sim
21
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
c) complexType name="registro" para Entrada: Contém informações necessárias para informar ao SIGAF
a movimentação de entrada na Unidade de Saúde.
Campo
coUnidadeCnes
nuNotaFiscal
cnpjFornecedor
dtRecebimento
tpMovimentacao
lstMedicamento
Informações de Entrada (complexType name="registro")
Descrição
Tipo
Tam Restrições
Código do CNES do estabelecimento de
saúde.
String
31
Nota de Fiscal de Entrada.
String
20
Número de CNPJ de Fornecedor.
String
14
Data de recebimento de medicamento.
Date
10
Tipos de movimentações:
Medicamento/Produto da Entrada
String
10
lstMedicamento
Obrig
Sim
Não
Não
Sim
AJUSTE DE ESTOQUE (E-AE)
ATA DE REGISTRO DE PREÇO (E-ARP)
COMPRA DIRETA (E-CD)
CONCORRÊNCIA (E-C)
CONVITE (E-CONV)
DEVOLUÇÕES (E-DEV)
DISPENSAÇÃO DE LICITAÇÃO (E-DL)
DOAÇÃO (E-D)
EMERGENCIAL (E-EMERG)
EMPRÉSTIMO (E-E)
ENTRADA EVENTUAL (E-EVENTUAL)
ENTRADA ORDINARIA (E-O)
ENTRADA POR ALMOXARIFADO CENTRAL (E-AC)
PREGÃO (E-P)
SALDO DE IMPLANTAÇÃO (E-SI)
TOMADA DE PREÇO (E-TP)
TRANSFERÊNCIA (E-T)
Sim
Lista de Medicamentos, é obrigatório pelo
menos um.
Sim
d) complexType name="lstMedicamento" para Entrada: Contém informações necessárias para informar ao
SIGAF lista de medicamentos movimentados em entrada na Unidade de Saúde.
Lista de Medicamentos/Produtos de Entrada (complexType name="lstMedicamento")
Descrição
Tipo
Tam Restrições
Número do produto no CATMAT.
String
20
Código de Barras ou Número de Registro
nuCodigoBarrasProduto Código de Barras de Produto
String
100 ANVISA deve ser informado.
Código de Barras ou Número de Registro
nuRegistroAnvisa
Número de Registro ANVISA
String
100 ANVISA deve ser informado.
tpProduto
Tipo de Produto
String
1 Tipo B (farmácia básica), ou E (especializada)
Valor unitário do item quando ocorreu a
vlItem
saída do estoque.
Double 21,4
dtValidade
Data de validade do medicamento
Date
10
nuLote
Número do lote do produto.
String
30
coPrograma
Código do Programa do Medicamento
Long
8
qtAdquirida
Quantidade adquirida de medicamento.
Long
8 Somente são aceitos valores positivos
qtEstoque
Quantidade de item em Estoque.
Long
8 Somente são aceitos valores positivos
Campo
nuProduto
Obrig
Sim
Não
Não
Sim
Sim
Sim
Sim
Não
Sim
Não
e) complexType name="paciente": Contém informações de paciente atendido em Unidade de Saúde com
dispensação de medicamento ou preenchimento de Questionário de Triagem. Para registro de novos
pacientes, sem dispensações ou questionários de triagem o campo tpXML (identificação) pode conter o valor
“DP” ou “QT” e os campos dispensacao ou qtTriagem não precisam ser preenchidos. Para registro de
dispensação o campo tpXML deve ser igual a “DP” e o campo dispensacao conterá os dados da dispensação.
Para registro de questionário de triagem o campo tpXML deve ser igual a “QT” e o campo qtTriagem conterá
os dados do questionário de triagem.
22
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
Informações de Paciente (complexType name="paciente")
Descrição
Tipo
Tam Restrições
Obrig
Complemento do endereço do paciente. String
50
Não
Nome do paciente.
String
100
Sim
Nome da mãe do paciente
String
100
Sim
Número do Cartão SUS ou CPF do Paciente
Não
nuCartaoSus
Número cartão SUS.
String
16 deve ser preenchido.
Descrição do logradouro onde o paciente
dsLogradouro
mora.
String
50 Obrigatório para registro de novo Paciente
Não
dsBairro
Bairro onde o paciente mora.
String
50 Obrigatório para registro de novo Paciente
Não
nuCep
Número do cep da moradia do paciente. String
8
Obrigatório para registro de novo Paciente
Não
sgUfNaturalidade
Sigla da UF da naturalidade.
String
2
Não
coMunicipioIbgeNaturalidade Código IBGE do Município naturalidade
String
6
Não
coMunicipioIbge
Código IBGE do Município.
String
6
Obrigatório para registro de novo Paciente
Não
dtNascimento
Data nascimento do paciente.
Date
10 Obrigatório para registro de novo Paciente
Não
Número do Cartão SUS ou CPF do Paciente
nuCpf
CPF do paciente.
String
11 deve ser preenchido.
Não
M
(Masculino)
ou
F
(Feminino).
Preenchimento obrigatório para registro de
tbSexo
Sexo do Paciente
String
1
novo Paciente
Não
B (Componente Básico) ou E
tpAtendimento
Tipo de Atendimento do Paciente
String
1
(Especializado)
Não
Informa o paciente e depois as suas as
dispensacao
dispensacao
dispensações.
Para registro de Dispensações (DP)
Não
Informa o paciente e depois respostas de
qtTriagem
qtTriagem
seu questionário de triagem.
Para registro de Qustionário de Triagem (QT)
Não
Campo
dsComplemento
noNome
noMae
f) complexType name="dispensacao": Contém informações necessárias para informar ao SIGAF a
movimentação de dispensação na Unidade de Saúde.
Campo
coUnidadeCnes
numRegistro
dtDispensacao
lstMedicamento
Informações de Dispensação (complexType name="dispensacao")
Descrição
Tipo
Tam Restrições
Código do CNES do estabelecimento de
saúde.
String
31
Número do Registro do Prescritor
String
10
Data que realizou a dispensacao para o
paciente
Date
10
Lista de Medicamentos, é obrigatório pelo
lstMedicamento
Medicamento/Produto da Entrada
menos um.
Obrig
Sim
Sim
Sim
Sim
g) complexType name="lstMedicamento" para Dispensação: Contém informações necessárias para
informar ao SIGAF lista de medicamentos movimentados em dispensação na Unidade de Saúde.
Lista de Medicamentos/Produtos de Dispensação (complexType name="lstMedicamento")
Descrição
Tipo
Tam Restrições
Número do produto no CATMAT.
String
20
Tipo de Produto
String
1 Tipo B (farmácia básica), ou E (especializada)
Valor unitário do item quando ocorreu a
vlItem
dispensação para o paciente.
Double
21,4
dtValidade
Data de validade do medicamento
Date
2
nuLote
Número do lote do produto.
String
30
coPrograma
Código do Programa do Medicamento
Long
8
Quantidade total de medicamento
qtMedicamentoDispensada
dispensado para o paciante por lote.
Long
4
Quantidade de dispensacoes de
qtDispensacaoSus
medicamento com receita SUS por lote.
Long
4
Quantidade de dispensacoes de
qtDispensacaoSemSus
medicamentos com receita privada por lote. Long
4
Quantidade de medicamento que não foi
qtMedicamentoSemEstoque
dispensado por falta no estoque por lote.
Long
4
Campo
nuProduto
tpProduto
Obrig
Sim
Sim
Sim
Sim
Sim
Não
Sim
Não
Não
Não
23
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
h) complexType name="qtTriagem": Contém informações necessárias para informar ao SIGAF questionário
de triagem realizado junto a paciente de Unidade de Saúde.
Campo
coUnidadeCnes
Informações de Questionário de Triagem (complexType name="qtTriagem")
Descrição
Tipo
Tam Restrições
Código do CNES do estabelecimento de
saúde.
String
31
Obrig
Sim
tpIdadePaciente
stGravida
stHipertenso
stDiabetico
stTuberculose
stHanseniase
stFuma
Classificação por idade
Está grávida?
É hipertenso?
É diabético?
Possui tuberculose?
Possui hanseníase?
Fuma ou reside com fumante?
String
String
String
String
String
String
String
1
1
1
1
1
1
1
tpInstrucaoResponsavel
Qual seu grau de instrução? (da mãe ou
responsável)
String
1
vlPeso
vlAltura
Peso da Criança.
Altura da Criança.
Double
Double
3,2
1,2
stPossuiFilhos
Tem filho(s) ou já esteve grávida?
Faz uso de bebida alcoólica ou outras
substâncias?
String
1
String
1
1-"Criança: idade de 0 a
9 anos";
2-"Adolescente: idade entre 10 e 14 anos";
3-"Adolescente: idade de 15 a 19 anos";
4-"Adulto: idade de 20 a 59 anos";
5-"Idoso:
acima
de
60
anos";
6 - "Idoso: idade de acima de 80 anos"
S – (Sim); N – (Não)
S – (Sim); N – (Não)
S – (Sim); N – (Não)
S – (Sim); N – (Não)
S – (Sim); N – (Não)
S – (Sim); N – (Não)
1 - "Analfabeto";
2 - "Não Analfabeto";
3 - "Ensino fundamental, 1º grau
(incompleto)";
4 - "Ensino fundamental, 1º grau
(completo)";
5 - "Ensino médio, 2º grau (incompleto)";
6 - "Ensino médio, 2º grau (completo)";
7 - "Superior (incompleto)";
8 - "Superior (completo)";
9 – "Pós-graduação";
Obrigatório para ("Criança: idade de 0 a 9
anos")
Obrigatório para ("Criança: idade de 0 a 9
anos")
anos")
S (Sim); N (Não). Obrigatório para
Adolescente.
S (Sim); N (Não). Obrigatório para
Adolescente.
Sofreu queda no último ano?
Consegue ir aos lugares sozinho, como
médico, igreja, supermercado, etc?
String
1
S – (Sim); N – (Não). Obrigatório para Idoso.
Não
String
1
Não
String
1
String
1
Colesterol alto?
Algum caso de doença do coração ou
stDoencaCoracaoFamilia hipertensão na família?
String
1
String
1
tpDiabetes
String
1
S – (Sim); N – (Não). Obrigatório para Idoso.
S – (Sim); N – (Não). Obrigatório para
Gravidez.
S – (Sim); N – (Não). Obrigatório para
Gravidez.
S (Sim); N (Não). Obrigatório para
Hipertensão.
S (Sim); N (Não). Obrigatório para
Hipertensão.
1 (Tipo I); 2 (Tipo II). Obrigatório para
Diabetes.
stDificuldadeCicatrizacao Tem dificuldade para cicatrizar feridas?
String
1
Não
stTratamentoTuberculose Tratou mais de uma vez?
Completou o tratamento conforme
stTerminoTratamento
esperado? (Problemas com o tratamento)
String
1
S (Sim); N (Não).
S (Sim); N (Não).
Tuberculose.
S (Sim); N (Não).
Tuberculose.
S (Sim); N (Não).
Hanseníase
stUtilizaBebida
stSofreuQueda
stConsegueLocomover
stIdadeGravidez
stDoencaGravidez
dade inferior a 17 ou superior a 35?
Tem, infecção urinária, toxoplasmose, HIV
ou sífilis?
stColesterolAlto
Classificação Diabetes
stTratamentoHanseniase Tratou mais de uma vez? (Recidiva)
Apresenta três desses sintomas: febre,
malestar, feridas ou ínguas?(Piora do
stSintomasHanseniase
quadro geral)
lstMedicamento
Medicamento/Produto do questionário
String
1
String
1
String
1
lstMedicamento
Obrigatório para Diabetes.
Obrigatório para
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Não
Não
Não
Não
Não
Não
Não
Não
Não
Não
Não
Obrigatório para
Não
Obrigatório para
S (Sim); N (Não). Obrigatório para
Hanseníase
Lista de Medicamentos, é obrigatório pelo
menos um.
Não
Não
Sim
24
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
i) complexType name="lstMedicamento": Contém informações necessárias para informar ao SIGAF lista de
medicamentos de questionário de triagem realizado junto a paciente de Unidade de Saúde.
Lista de Medicamentos/Produtos de Questionário de Triagem (complexType name="lstMedicamento")
Descrição
Tipo
Tam Restrições
Obrig
Número do produto no CATMAT.
String
20
Sim
A lista de Unidades de Medidas válidas
pode ser obtida através do método
get_list_unidade_medida
unidadeMedida
Unidade de Medida
String
50 dispoinibilizado pelo webservice.
Sim
Quantidade total de medicamento
dispensado para o paciante por mês.
Long
11
Sim
qtMedicamentoDispensada
Campo
nuProduto
String
Double
Date
Long
Tipos de Campos
Textos
Valores númericos com casas decimais
Data no formato (AAAA-MM-DD)
Valores númericos inteiros
25
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
VI – Lista de “Faults” retornadas pelo método recebeDados
Para garantir a integridade das informações fornecidas via Webservice pela Unidade de Saúde, o método
“recebeDados” realiza uma serie de verificações de formato e conteúdo do XML. Caso seja encontrada
alguma inconsistência de formato ou alguma incoerência dos dados enviados, será gerado um dos Faults
listados abaixo:
a) Faults Gerais:
F000 – Permissão negada: Acesso negado para registro de informações.
Motivo: Este fault ocorre quando o acesso relacionado a “token” enviada não possui permissões para
realizar operações (Ajuste de Estoque, Entrada, Cadastro de Paciente, Dispensação ou Questionário
de Triagem) informadas.
F001 – Dados Incompletos: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault F001 - Dados incompletos para o primeiro campo obrigatório
que não for enviado. Um campo é considerado obrigatório quando tem o atributo minOccurs > 0.
F002 – Formato Incorreto: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault F002 - Formato Incorreto para o primeiro campo cujo
conteúdo não atender ao tipo de campo, atributo type ou sua restrição, tag <xsd:restriction>.
F003 – Valor inválido: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault F003 – Valor inválido para o primeiro campo de código, prefixo
co, que não se relacione a um valor válido. Ex: Código IBGE do Município inexistente para campo
coMunicipioIbge.
b) Faults de envio de Ajuste de Estoque:
A004 – Fornecedor inexistente: CNPJ de Fornecedor não encontrado.
Motivo: O sistema retornará um Fault A004 – Fornecedor Inexistente para o primeiro CNPJ de
Fornecedor não encontrado registrado no SIGAF.
A005 – CATMAT inexistente para produto: <numero do CATMAT>
Motivo: O sistema retornará um Fault A005 – CATMAT inexistente para o primeiro código CATMAT
de um produto não registrado no SIGAF.
26
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
A006 – Item de Estoque não encontrado: Número <numero do CATMAT>, Valor <vlItem>, Vencimento
<dtValidade>, Lote <nuLote>, Fornecedor <CNPJ de Fornecedor>.
Motivo: O sistema retornará um Fault A006 – Item de Estoque não encontrado para o primeiro item
de estoque não encontrado.
c) Faults de envio de Entrada:
E004 – Fornecedor inexistente: CNPJ de Fornecedor não encontrado.
Motivo: O sistema retornará um Fault E004 – Fornecedor Inexistente para o primeiro CNPJ de
Fornecedor não encontrado registrado no SIGAF.
E005 – Dados Produto Incompletos: Código de Barras (nuCodigoBarrasProduto) ou Número de
Registro ANVISA (nuRegistroAnvisa) deve ser informado.
Motivo: Para identificação da Forma de Apresentação e Nome Comercial do Medicamento com
Entrada em Estoque, além do CATMAT deve informado o Código de Barras (nuCodigo
BarrasProduto) ou Número de Registro ANVISA (nuRegistroAnvisa).
E006 – CATMAT inexistente para produto: <numero do CATMAT>
Motivo: O sistema retornará um Fault E006 – CATMAT inexistente para o primeiro código CATMAT
de um produto não registrado no SIGAF.
E007 – Dados Produto Incorreto: Código Barras nuCodigoBarrasProduto <nuCodigoBarrasProduto>
ou nuRegistroAnvisa <nuRegistroANVISA> .
Motivo: O sistema retornará um Fault E007 – Dados Produto Incorreto para o primeiro medicamento
com Código de Barras (nuCodigoBarrasProduto)
ou Número Registro ANVISA
(nuRegistroAnvisa) não encontrado no SIGAF para o CATMAT correspondente.
d) Faults de envio de Paciente:
P004 – Paciente inexistente: Número do Cartão SUS não encontrado.
Motivo: Para a opção de envio de apenas nome (noNome) nome da mãe (noMae) e Cartão
SUS/CPF (nuCartaoSus ou nuCPF) do paciente o webserver acrescentará as dispensações
enviadas ao paciente caso este já esteja registrado. Caso o paciente não esteja registrado retornará o
fault P004 – Paciente Inexistente.
P005 – Dados Paciente Incompletos: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault P005 – Dados Pacientes Incompletos para o primeiro campo
não preenchido dos necessários para registro de um novo paciente. Caso o paciente não esteja
27
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
registrado no SIGAF, devem ser envidas para um novo registro, pelo menos as informações: nome
(noNome), nome da mãe (noMae), Cartão SUS/CPF (nuCartaoSus ou nuCpf), logradouro de onde
mora (dsLogradouro), bairro de onde mora (dsBairro), CEP de onde mora (nuCep), código IBGE de
município onde mora (coMunicipioIbge), data de nascimento (dtNascimento) e Sexo (tbSexo).
P006 – Dados Paciente Incoerentes: CPF <nuCpf> e Cartão SUS <nuCartaoSus> incoerentes.
Motivo: O sistema retornará um Fault P006 – Dados Paciente Incoerentes quando o Cartão SUS
registrado no SIGAF corresponder a paciente com número de CPF diferente do enviado ou o inverso.
e) Faults de envio de Dispensação:
D006 – CATMAT inexistente para produto: <numero do CATMAT>
Motivo: O sistema retornará um Fault D006 – CATMAT inexistente para o primeiro código CATMAT
de um produto não registrado no SIGAF.
D007 – Dados Produto Incorreto: Código Barras nuCodigoBarrasProduto <nuCodigoBarrasProduto>
ou nuRegistroAnvisa <nuRegistroANVISA> .
Motivo: O sistema retornará um Fault E007 – Dados Produto Incorreto para o primeiro medicamento
com Código de Barras (nuCodigoBarrasProduto)
ou Número Registro ANVISA
(nuRegistroAnvisa) não encontrado no SIGAF para o CATMAT correspondente.
D008 – Item de Estoque não encontrado: Número <numero do CATMAT>, Valor <vlItem>, Vencimento
<dtValidade>, Lote <nuLote>, Fornecedor <CNPJ de Fornecedor>.
Motivo: O sistema retornará um Fault D008 – Item de Estoque não encontrado para o primeiro item
de estoque não encontrado.
D009 – Quantidade de Estoque indisponível: Quantidade indisponível para dispensação do
produto de Número <numero do CATMAT>.
Motivo: O sistema retornará um Fault D009 – Quantidade de Estoque indisponível para o primeiro
item de estoque com quantidade indisponível para realizar dispensação.
f) Faults de envio de Questionário Triagem:
Q006 – Questões Crianças Incompletas: Informação de <tag name de element>: <tag documentation>.
28
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
Motivo: O sistema retornará um Fault Q006 – Questões Crianças Incompletas para o primeiro
campo não preenchido dos necessários quando campo tpIdadePaciente = 1 ("Criança: idade de 0 a
9 anos"), são eles:
Qual seu grau de instrução? (da mãe ou responsável)
(tpInstrucaoResponsavel), Peso da criança (vlPeso) e Altura da Criança (vlAltura).
Q007 – Questões Idosos Incompletas: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault Q007 – Questões Idosos Incompletas para o primeiro campo
não preenchido dos necessários quando campo tpIdadePaciente = 5 ("Idoso: acima de 60 anos")
ou 6 ("Idoso: idade de acima de 80 anos"), são eles:
Sofreu queda no último ano?
(stSofreuQueda) e Você consegue ir aos lugares sozinho, como médico, igreja, supermercado, etc?
(stConsegueLocomover).
Q008 – Questões Adolescentes Incompletas: Informação de <tag name de element>: <tag documen
tation>.
Motivo: O sistema retornará um Fault Q008 – Questões Adolescentes Incompletas para o primeiro
campo não preenchido dos necessários quando campo tpIdadePaciente = 2 ("Adolescente: idade
entre 10 e 14 anos") ou 3 ("Adolescente: idade de 15 a 19 anos"), são eles: Tem filho(s) ou já
esteve grávida? (stPossuiFilhos) e Faz uso de bebida alcoólica ou outras substâncias?
(stUtilizaBebida).
Q009 – Questões Gravidez Incompletas: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault Q009 – Questões Gravidez Incompletas para o primeiro
campo não preenchido dos necessários quando campo stGravida = "S", são eles: Idade inferior a 17
ou superior a 35? (stIdadeGravidez) e Tem, infecção urinária, toxoplasmose, HIV ou sífilis?
(stDoencaGravidez).
Q010 – Questões Hipertensão Incompletas: Informação de <tag name de element>: <tag documenta
tion>.
Motivo: O sistema retornará um Fault Q010 – Questões Hipertensão Incompletas para o primeiro
campo não preenchido dos necessários quando campo stHipertenso = "S", são eles: Colesterol
alto? (stColesterolAlto) e Algum caso de doença do coração ou hipertensão na família?
(stDoencaCoracaoFamilia).
Q011 – Questões Diabetes Incompletas: Informação de <tag name de element>: <tag documentation>.
Motivo: O sistema retornará um Fault Q011 – Questões Diabetes Incompletas para o primeiro
campo não preenchido dos necessários quando campo stDiabetico = "S", são eles: Classificação
(tpDiabetes) e Tem dificuldade para cicatrizar feridas? (stDificuldadeCicatrizacao).
Q012 – Questões Tuberculose Incompletas: Informação de <tag name de element>: <tag documenta
tion>.
29
GOVERNO DE MINAS GERAIS
SECRETARIA DE ESTADO DA SAÚDE
SUPERINTENDÊNCIA DE ASSISTÊNCIA FARMACÊUTICA
Documento de Regras para Webservice SIGAF
Elaborado por: Alessandro Calu
Revisado por: Antônio Mariano e Liziane Silva
Data:03/10/2012
Versão: 2.0
Motivo: O sistema retornará um Fault Q012 – Questões Tuberculose Incompletas para o primeiro
campo não preenchido dos necessários quando campo stTuberculose = "S", são eles: Tratou mais
de uma vez? (stTratamentoTuberculose) e Completou o tratamento conforme esperado?
(Problemas com o tratamento) (stTerminoTratamento).
Q013 – Questões Hanseníase Incompleta: Informação de <tag name de element>: <tag documenta tion>.
Motivo: O sistema retornará um Fault Q013 – Questões Hanseníase Incompletas para o primeiro
campo não preenchido dos necessários quando campo stHanseniase = "S", são eles: Tratou mais de
uma vez? (Recidiva) (stTratamentoHanseniase) e Apresenta três desses sintomas: febre, mal-estar,
feridas ou ínguas?(Piora do quadro geral) (stSintomasHanseniase).
Q014 – CATMAT inexistente para produto: <numero do CATMAT>
Motivo: O sistema retornará um Fault D006 – CATMAT inexistente para o primeiro código CATMAT
de um produto não registrado no SIGAF.
VII – Informações de como cadastrar para utilizar os serviços do Webservice.
Para acessar os métodos do Webservice SIGAF é necessário possuir um registro de acesso ao sistema
SIGAF. O formulário de Declaração de Interesse de Utilização do Sistema é disponibilizado através do link
http://sigaf2.saude.mg.gov.br/ajuda_online/index.php/Declaração_de_Interesse_na_Utilização_do_Sistema. O
formulário deve ser obrigatoriamente assinado e carimbado pelo Gestor Municipal.
VIII – Dados de Contato para esclarecimento de dúvidas
Todas as dúvidas relacionadas a utilização do Webservice do SIGAF poderão ser sanadas através do número
de suporte SIGAF (31) 3274-3910.
30
Download