Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quarta-feira, 5 de outubro de 2011

SQL Server 2008 - Modulo 05 - Curso 6232

001 Retrieving XML by Using FOR XML

 --#############################################################################
--                                Using XML
--#############################################################################

-- Situações em que podemos usar XML:
--
-- Recuperando dados que serão publicados em um site na Internet.
-- Recuperando dados para troca com um parceiro comercial, independente
-- da plataforma utilizada.


USE master
GO

IF EXISTS    (SELECT * FROM sys.databases
             WHERE [name] = 'DB6232')
DROP DATABASE DB6232
GO

CREATE DATABASE DB6232
GO

USE DB6232
GO



CREATE TABLE contatos
(
    codigo        INT                IDENTITY,
    nome        VARCHAR(50)
)
GO



INSERT INTO contatos VALUES('Aline')
INSERT INTO contatos VALUES('Vivian')
INSERT INTO contatos VALUES('Eduardo')
INSERT INTO contatos VALUES('Rodrigo')
INSERT INTO contatos VALUES('Michele')


SELECT codigo, nome FROM contatos


--#############################################################################
--                                    RAW
--#############################################################################

SELECT codigo AS cod, nome FROM contatos
FOR XML RAW



SELECT codigo AS cod, nome FROM contatos
FOR XML RAW, ELEMENTS



SELECT codigo AS cod, nome FROM contatos
FOR XML RAW ('code'), ROOT('contatos')

-- Ou

SELECT codigo AS cod, nome FROM contatos
FOR XML RAW ('code'), ROOT('contatos'), ELEMENTS


--#############################################################################
--                                    AUTO
--#############################################################################

SELECT codigo AS cod, nome FROM contatos
FOR XML AUTO



SELECT * FROM contatos
FOR XML AUTO , XMLDATA



SELECT * FROM contatos FOR
XML AUTO , ELEMENTS



SELECT * FROM contatos
FOR XML RAW , XMLDATA

002 Shredding XML by Using OPENXML
--####################################################################
--                    Inserindo dados
--####################################################################

USE master
GO

IF EXISTS    (SELECT * FROM sys.databases
             WHERE [name] = 'DB6232')
DROP DATABASE DB6232
GO

CREATE DATABASE DB6232
GO

USE DB6232
GO



--Criar tabela
CREATE TABLE funcionario
(
    cod_func        INT,
    nome_func        VARCHAR(50)        NOT NULL,
    sal_func        MONEY            NOT NULL
)
GO



--Criar User Stored Procedure
CREATE PROC proc_ProcessandoFuncionario
@doc XML
AS
DECLARE @hdoc INT
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc

INSERT funcionario
SELECT *
FROM OPENXML(@hdoc, 'dados/func')
WITH funcionario

EXEC sp_XML_removedocument @hdoc



--Inserindo dados na tabela funcionario
DECLARE @Dados XML
SET @Dados='
<dados>
    <func cod_func="1" nome_func="Pedro" sal_func="7000" />
    <func cod_func="2" nome_func="Maria" sal_func="3000" />
    <func cod_func="3" nome_func="Melissa" sal_func="2500" />
    <func cod_func="4" nome_func="Daniel" sal_func="2000" />
    <func cod_func="5" nome_func="Julia" sal_func="2000" />
    <func cod_func="6" nome_func="Julieta" sal_func="2000" />
</dados>'
exec proc_ProcessandoFuncionario @Dados



--Verificando os dados na tabela
SELECT * FROM funcionario



--Inserindo MAIS dados na tabela funcionario
DECLARE @Dados XML
SET @Dados='
<dados>
    <func cod_func="7" nome_func="Julius" sal_func="4500" />
    <func cod_func="8" nome_func="Marcos" sal_func="2400" />
    <func cod_func="9" nome_func="Isabela" sal_func="1500" />
    <func cod_func="10" nome_func="Marina" sal_func="1000" />
</dados>'
exec proc_ProcessandoFuncionario @Dados



--Verificando NOVAMENTE os dados na tabela
SELECT * FROM funcionario





--####################################################################
--                    Exportando e Importando dados
--####################################################################

USE master
GO

IF EXISTS    (SELECT * FROM sys.databases
             WHERE [name] = 'DB6232')
DROP DATABASE DB6232
GO

CREATE DATABASE DB6232
GO


USE AdventureWorks
GO


--Extraindo os dados no formato XML
SELECT C.CustomerID AS CustID, CustomerType, SalesOrderID
FROM Sales.Customer C JOIN Sales.SalesOrderHeader O
ON C.CustomerID = O.CustomerID
WHERE C.CustomerID = 1
ORDER BY C.CustomerID
FOR XML RAW, ROOT('dados')



USE DB6232
GO



--Criar tabela
CREATE TABLE customer
(
    CustID            INT,
    CustomerType    CHAR(01),
    SalesOrderID    CHAR(05)
)
GO





--Criar User Stored Procedure
CREATE PROC proc_customer
@doc XML
AS
DECLARE @hdoc INT
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
--
INSERT customer
SELECT *
FROM OPENXML(@hdoc, 'dados/row')
WITH customer
--
EXEC sp_XML_removedocument @hdoc











--Inserindo dados na tabela customer
DECLARE @Dados XML
SET @Dados='
<dados>
  <row CustID="1" CustomerType="S" SalesOrderID="43860" />
  <row CustID="1" CustomerType="S" SalesOrderID="44501" />
  <row CustID="1" CustomerType="S" SalesOrderID="45283" />
  <row CustID="1" CustomerType="S" SalesOrderID="46042" />
</dados>'
exec proc_customer @Dados






SELECT * FROM customer














--####################################################################
--                    OPENXML
--####################################################################




--Consultando dados no formato XML - somente um nível
USE DB6232
GO

DECLARE @hdoc int
DECLARE @doc varchar(1000)
SET @doc ='
<?xml version="1.0" ?>
<Produto>
  <Prod Cod_Prod="1" Nome_Prod="Arroz" Val_Prod="7,99" Qtda="30" />
  <Prod Cod_Prod="2" Nome_Prod="Banana" Val_Prod="1,33" Qtda="45" />
  <Prod Cod_Prod="3" Nome_Prod="Cenoura" Val_Prod="2,10" Qtda="20" />
  <Prod Cod_Prod="4" Nome_Prod="Farinha" Val_Prod="1,89" Qtda="190" />
  <Prod Cod_Prod="5" Nome_Prod="Laranja" Val_Prod="2,50" Qtda="210" />
</Produto>'

-- Entendendo alguns componentes do XML

-- Produto é um ELEMENTO

-- Prod é um ELEMENTO
-- Cod_Prod, Nome_Prod, Val_Prod e Qtda são ATRIBUTO

EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc

SELECT *
FROM OPENXML (@hdoc, '/Produto/Prod', 1)
WITH (    Cod_Prod        int,
        Nome_Prod        varchar(20),
        Val_Prod        money,
        Qtda            smallint)

EXEC sp_xml_removedocument @hdoc














--Consultando dados no formato XML - mais de um nível
DECLARE @hdoc int
DECLARE @doc varchar(1000)
SET @doc ='
<Cliente Cod_Cli="1" Tipo_Cli="J">
    <Pedido Cod_Pedido="0001" Data_Pedido="2008-03-19">
        <Detalhe_Pedido Cod_Prod="609" Qtda="2"/>
        <Detalhe_Pedido Cod_Prod="109" Qtda="5"/>
        <Detalhe_Pedido Cod_Prod="604" Qtda="3"/>
        <Detalhe_Pedido Cod_Prod="117" Qtda="7"/>
        <Detalhe_Pedido Cod_Prod="199" Qtda="9"/>
    </Pedido>
    <Pedido Cod_Pedido="0002" Data_Pedido="2008-03-26">
        <Detalhe_Pedido Cod_Prod="911" Qtda="2"/>
        <Detalhe_Pedido Cod_Prod="923" Qtda="5"/>
        <Detalhe_Pedido Cod_Prod="945" Qtda="3"/>
        <Detalhe_Pedido Cod_Prod="919" Qtda="7"/>
        <Detalhe_Pedido Cod_Prod="934" Qtda="9"/>
    </Pedido>
</Cliente>'

-- Entendendo alguns componentes do XML

-- Cliente é um ELEMENTO
-- Cod_Cli e Tipo_Cli são ATRIBUTO

-- Pedido é um ELEMENTO
-- Cod_Pedido e Data_Pedido são ATRIBUTO

-- Detalhe_Pedido é um ELEMENTO
-- Cod_Prod e Qtda são ATRIBUTO


EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
SELECT *
FROM OPENXML (@hdoc, '/Cliente/Pedido/Detalhe_Pedido', 3)
WITH    (Cod_Cli        int                '../../@Cod_Cli',
         Cod_Pedido        int                '../@Cod_Pedido',
         Data_Pedido    smalldatetime    '../@Data_Pedido',
         Cod_Prod        int                '@Cod_Prod',
         Qtda            int                '@Qtda')
EXEC sp_xml_removedocument @hdoc


003 Using the xml Data Type
--####################################################################
--                    Data Type - XML
--####################################################################

USE master
GO

IF EXISTS    (SELECT * FROM sys.databases
             WHERE [name] = 'DB6232')
DROP DATABASE DB6232
GO

CREATE DATABASE DB6232
GO

USE DB6232
GO


-- Create the table.
CREATE TABLE produtos
(
    cod_prod        INT PRIMARY KEY,
    Descricao        XML
)
GO

-- Insert sample data.
INSERT INTO produtos values(1,'<Descricao cod_prod="1" nome="Batata" />')
INSERT INTO produtos values(2,'<Descricao cod_prod="2" nome="Cenoura" />')
INSERT INTO produtos values(3,'<Descricao cod_prod="3" nome="Beterraba" />')
GO


SELECT * FROM produtos


-- Create view (note the value() method used to retrieve ProductName
-- attribute value from the XML).
CREATE VIEW vw_produtos AS
  SELECT cod_prod,
         Descricao.value('(/Descricao/@nome)[1]', 'varchar(40)') AS Nome
  FROM produtos
GO

SELECT * FROM vw_produtos


004 Inserting
USE master
GO

IF EXISTS    (SELECT * FROM sys.databases
             WHERE [name] = 'DB6232')
DROP DATABASE DB6232
GO

CREATE DATABASE DB6232
GO

USE DB6232
GO


CREATE TABLE livros
(
    id            int                IDENTITY(1,1)    PRIMARY KEY,
    isbn        char(10)        NOT NULL,
    titulo        varchar(250)    NOT NULL,
    autor_id    int                NOT NULL,
    Descricao    xml                NULL
)
GO



SELECT * FROM livros



INSERT livros (isbn, titulo, autor_id, Descricao)
VALUES ('570X000000',
'SQL Server 2005 T-SQL Recipes',
55,
CAST('<Book name="SQL Server 2005 T-SQL Recipes">
<Chapters>
<Chapter id="1"> SELECT </Chapter>
<Chapter id="2"> INSERT,UPDATE,DELETE </Chapter>
<Chapter id="3"> Transactions, Locking, Blocking, and Deadlocking </Chapter>
<Chapter id="4"> Tables </Chapter>
<Chapter id="5"> Indexes </Chapter>
<Chapter id="6"> Full-text search </Chapter>
</Chapters>
</Book>' as XML))


SELECT * FROM livros



script_XML_ANINHADO_AUTO

--XML Aninhado

--No XML AUTO, permite especificar se as colunas serao mapeadas para elementos ou atributos
-- no fragmento XML usando a opcao ELEMENTS. Ou quando definimos um JOIN. Porem so podemos
--especificar uma ou outra opcao para os elementos.

--XML AUTO
SELECT cust.CustomerID,cust.TerritoryID,SalesOrderID
FROM Sales.Customer cust
JOIN Sales.SalesOrderHeader ord ON cust.CustomerID = ord.CustomerID
ORDER BY cust.CustomerID
FOR XML AUTO

--XML AUTO - ELEMENTS
SELECT cust.CustomerID,cust.TerritoryID,SalesOrderID
FROM Sales.Customer cust
JOIN Sales.SalesOrderHeader ord ON cust.CustomerID = ord.CustomerID
ORDER BY cust.CustomerID
FOR XML AUTO,ELEMENTS

--XML AUTO ANINHADO
select Name as CategoryName,
(select Name SubCategory
from Production.ProductSubcategory SubCategory
where SubCategory.ProductCategoryID=Category.ProductCategoryID
FOR XML AUTO, TYPE, ELEMENTS)
from Production.ProductCategory Category
FOR XML AUTO


script_XML_ANINHADO_EXPLICIT

--XML EXPLICIT
select 1 as Tag,
NULL as Parent,
sls.SalesOrderID as [Invoice!1!InvoiceNo!Element],
sls.ModifiedDate as [Invoice!1!Date!Element]
from Sales.SalesOrderDetail sls
FOR XML EXPLICIT

--XML EXPLICIT - ANINHADO
select 1 as TAG,
NULL as Parent,
SalesOrderID as [Invoice!1!InvoiceNo],
OrderDate as [Invoice!1!Date!Element],
NULL as [LineItem!2!ProductID],
NULL as [LineItem!2]
from Sales.SalesOrderHeader
UNION ALL
Select 2 as Tag,
1 as Parent,
OrderDetail.SalesOrderID,
NULL,
OrderDetail.ProductID,
Product.Name
from Sales.SalesOrderDetail OrderDetail
JOIN Sales.SalesOrderHeader OrderHeader on
OrderDetail.SalesOrderID=OrderHeader.SalesOrderID
JOIN Production.Product Product on
OrderDetail.ProductID=Product.ProductID
order by [Invoice!1!InvoiceNo],[LineItem!2!ProductID]
FOR XML EXPLICIT

script_XML_AUTO

--XML - Modo AUTO
--O modo AUTO retorna os resultados da consulta como elementos XML simples e aninhados,
--ou seja, cada tabela indicada depois da cláusula FROM, é um elemento do XML ,
--as colunas indicadas no SELECT são atributos. Utilizamos o AS para nomear os elementos

--Representacao XML de entidade de dados
--Aninham dados com base na precedencia da juncao
--Podem usar opcoes como ELEMENTS e ROOT

--.Cada linha retornada pela consulta e representada por um elemento XML como mesmo nome
--da tabela da qual foi recuperada
--.Cada instrucao JOIN na consulta resulta em um elemento XML aninhado, o que reduz a
--duplicacao de dados fragmentados. A ordem da instrucao JOIN afeta a ordem dos elementos
--.Para assegurar que os elementos filhos sejam agrupados corretamente com seu respectivo
--pai, usa-se a clausula ORDER BY
--Nao ha suporte para GROUP BY

SELECT cust.CustomerID,cust.TerritoryID,SalesOrderID
FROM Sales.Customer cust
JOIN Sales.SalesOrderHeader ord ON cust.CustomerID = ord.CustomerID
ORDER BY cust.CustomerID
FOR XML AUTO

--Especificando a opcao ELEMENTS
SELECT cust.CustomerID,cust.TerritoryID,SalesOrderID
FROM Sales.Customer cust
JOIN Sales.SalesOrderHeader ord ON cust.CustomerID = ord.CustomerID
ORDER BY cust.CustomerID
FOR XML AUTO,ELEMENTS

--Especificando um ROOT
SELECT cust.CustomerID,cust.TerritoryID,SalesOrderID
FROM Sales.Customer cust
JOIN Sales.SalesOrderHeader ord ON cust.CustomerID = ord.CustomerID
ORDER BY cust.CustomerID
FOR XML AUTO,ELEMENTS,ROOT('Orders')


script_XML_EXPLICIT


--XML Modo EXPLICT

--Permite personalizar nosso arquivo XML
--Temos que especificar
--ElementName!TagNumber!AttibuteName!Directive


select 1 as Tag,
NULL as Parent,
sls.SalesOrderID as [Invoice!1!InvoiceNo!Element],
sls.ModifiedDate as [Invoice!1!Date!Element]
from Sales.SalesOrderDetail sls
FOR XML EXPLICIT


script_XML_PATH


--XML PATH
--O Modo PATH personaliza o XML, criando um mapeamento com os seguintes valores
--atributos-elementos-subelementos-nos de texto-valores

--Os nos XML de uma arvore sao expressos como caminho e separados por barras
--Os atributos sao indicados com um prefixo de arroba
--Os caminhos relativos podem ser indicados com um unico ponto

use AdventureWorks
go


--XML Path Personalizado
--No Pai - ContactID  Nos Filhos - FirstName-LastName
select c.ContactID  "@ContactID",
       c.FirstName  "EmpName/First",
       c.LastName   "LastName/Last"
from Person.Contact c
for XML PATH

--Mudar o nome do Elemento Raiz
select c.ContactID  "@ContactID",
       c.FirstName  "EmpName/First",
       c.LastName   "LastName/Last"
from Person.Contact c
for XML PATH('Contact')


script_XML_RAW

--XML  - Modo Raw
--No modo RAW cada resultado da instrução SELECT vem em linha de acordo com o nome
--fornecido ao RAW (que se não for fornecido é raw mesmo)

--Representacao XML em um conjunto de Linhas
--Contem elementos ou atributos
--Nome opcional do elemento raiz e do elemento

--Um elemento representa cada linha no conjunto de resultados retornados pela consulta
--Um atributo como mesmo nome da coluna ou alias usado na consulta representa cada coluna do conjunto de resultados
--Modo RAW pode incluir consultas agregadas e clausulas group by

use AdventureWorks2008
go

--tabela de produtos
select * from Production.Product

--select normal
select ProductID,Name,ProductNumber,Color
from Production.Product

--recuperando os dados modo raw-generico
select ProductID,Name,ProductNumber,Color,SafetyStockLevel
from Production.Product
for xml raw

--recuperando os dados como elementos
select ProductID,Name,ProductNumber,Color,SafetyStockLevel
from Production.Product
for xml raw,elements

--recuperando dados com um elemento raiz e um nome de elemento row personalizado
select cust.CustomerID CustID,[Order].SalesOrderID,[order].Status
from Sales.Customer cust
join Sales.SalesOrderHeader [Order] on cust.CustomerID = [order].CustomerID
order by cust.CustomerID
for XML RAW('Order'), ROOT('Orders')

--usando funcao agregada - group by
select cust.CustomerID CustID,[Order].SalesOrderID,[order].Status,SUM(SubTotal) as Total
from Sales.Customer cust
join Sales.SalesOrderHeader [Order] on cust.CustomerID = [order].CustomerID
group by cust.CustomerID,[Order].SalesOrderID,[order].Status
order by cust.CustomerID
for XML RAW('Order'), ROOT('Orders')





--Arquivo de exemplo FATURA.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--1.1.608 -->
<ans:mensagemTISS xmlns:ans="http://www.ans.gov.br/padroes/tiss/schemas" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ans.gov.br/padroes/tiss/schemas http://www.ans.gov.br/padroes/tiss/schemas/tissV2_01_03.xsd">
<ans:cabecalho>
<ans:identificacaoTransacao>
<ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao>
<ans:sequencialTransacao>754</ans:sequencialTransacao>
<ans:dataRegistroTransacao>13/05/2010</ans:dataRegistroTransacao>
<ans:horaRegistroTransacao>14:55</ans:horaRegistroTransacao>
</ans:identificacaoTransacao>
<ans:origem>
<ans:codigoPrestadorNaOperadora>
<ans:codigoPrestadorNaOperadora>90016</ans:codigoPrestadorNaOperadora>
</ans:codigoPrestadorNaOperadora>
</ans:origem>
<ans:destino>
<ans:registroANS>000043</ans:registroANS>
</ans:destino>
<ans:versaoPadrao>2.01.03</ans:versaoPadrao>
</ans:cabecalho>
<ans:prestadorParaOperadora>
<ans:loteGuias>
<ans:numeroLote>738</ans:numeroLote>
<ans:guias>
<ans:guiaFaturamento>
<ans:guiaResumoInternacao>
<ans:identificacaoGuiaInternacao>
<ans:registroANS>000043</ans:registroANS>
<ans:dataEmissaoGuia>15/04/2010</ans:dataEmissaoGuia>
<ans:numeroGuiaPrestador>341050</ans:numeroGuiaPrestador>
<ans:numeroGuiaOperadora></ans:numeroGuiaOperadora>
</ans:identificacaoGuiaInternacao>
<ans:numeroGuiaSolicitacao>341050</ans:numeroGuiaSolicitacao>
<ans:dadosBeneficiario>
<ans:numeroCarteira>81236000002430011</ans:numeroCarteira>
<ans:nomeBeneficiario>ALEXANDRO MENDES PEREIRA</ans:nomeBeneficiario>
<ans:nomePlano>S A APART EMPRESARIAL</ans:nomePlano>
<ans:validadeCarteira>30/04/2010</ans:validadeCarteira>
<ans:numeroCNS></ans:numeroCNS>
<ans:identificadorBeneficiario></ans:identificadorBeneficiario>
</ans:dadosBeneficiario>
<ans:identificacaoExecutante>
<ans:identificacao>
<ans:codigoPrestadorNaOperadora>90016</ans:codigoPrestadorNaOperadora>
</ans:identificacao>
<ans:nomeContratado>HOSPITAL PIO XII</ans:nomeContratado>
<ans:enderecoContratado>
<ans:tipoLogradouro>081</ans:tipoLogradouro>
<ans:logradouro>RUA PARAGUASSU</ans:logradouro>
<ans:numero>51</ans:numero>
<ans:complemento></ans:complemento>
<ans:codigoIBGEMunicipio>0354990</ans:codigoIBGEMunicipio>
<ans:municipio>SAO JOSE DOS CAMPOS</ans:municipio>
<ans:codigoUF>SP</ans:codigoUF>
<ans:cep>12212110</ans:cep>
</ans:enderecoContratado>
<ans:numeroCNES>0009601</ans:numeroCNES>
</ans:identificacaoExecutante>
<ans:dadosAutorizacao>
<ans:dataAutorizacao>15/04/2010</ans:dataAutorizacao>
<ans:senhaAutorizacao>1000433749</ans:senhaAutorizacao>
<ans:validadeSenha>15/05/2010</ans:validadeSenha>
</ans:dadosAutorizacao>
<ans:caraterInternacao>U</ans:caraterInternacao>
<ans:acomodacao>1</ans:acomodacao>
<ans:dataHoraInternacao>15/04/2010H13:15</ans:dataHoraInternacao>
<ans:dataHoraSaidaInternacao>17/04/2010H13:15</ans:dataHoraSaidaInternacao>
<ans:tipoInternacao>1</ans:tipoInternacao>
<ans:regimeInternacao>1</ans:regimeInternacao>
<ans:obitoNeonatal>
<ans:qtdeobitoPrecoce>0</ans:qtdeobitoPrecoce>
</ans:obitoNeonatal>
<ans:diagnosticosSaidaInternacao>
<ans:diagnosticoPrincipal>
<ans:nomeTabela>CID-10</ans:nomeTabela>
<ans:codigoDiagnostico>C719</ans:codigoDiagnostico>
<ans:descricaoDiagnostico>NEOPLASIA MALIGNA ENCEFALO NE</ans:descricaoDiagnostico>
</ans:diagnosticoPrincipal>
<ans:motivoSaidaInternacao>12</ans:motivoSaidaInternacao>
</ans:diagnosticosSaidaInternacao>
<ans:procedimentosRealizados>
<ans:procedimentos>
<ans:equipe>
<ans:membroEquipe>
<ans:codigoProfissional>
<ans:cpf>14269387807</ans:cpf>
</ans:codigoProfissional>
<ans:identificacaoProfissional>
<ans:nomeExecutante>MARCELO FALOTICO TABORDA DR</ans:nomeExecutante>
<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>088470</ans:numeroConselho>
<ans:ufConselho>SP</ans:ufConselho>
</ans:conselhoProfissional>
<ans:codigoCBOS>06129</ans:codigoCBOS>
</ans:identificacaoProfissional>
<ans:cpf>14269387807</ans:cpf>
<ans:posicaoProfissional>12</ans:posicaoProfissional>
</ans:membroEquipe>
</ans:equipe>
<ans:procedimento>
<ans:codigo>00020010</ans:codigo>
<ans:tipoTabela>01</ans:tipoTabela>
<ans:descricao>VISITA HOSPITALAR PACIENTE INTERNADO</ans:descricao>
</ans:procedimento>
<ans:data>15/04/2010</ans:data>
<ans:horaInicio>13:15</ans:horaInicio>
<ans:quantidadeRealizada>01</ans:quantidadeRealizada>
<ans:viaAcesso>U</ans:viaAcesso>
<ans:tecnicaUtilizada>C</ans:tecnicaUtilizada>
<ans:reducaoAcrescimo>2.00</ans:reducaoAcrescimo>
<ans:valor>37.80</ans:valor>
<ans:valorTotal>37.80</ans:valorTotal>
</ans:procedimentos>
<ans:procedimentos>
<ans:equipe>
<ans:membroEquipe>
<ans:codigoProfissional>
<ans:cpf>25112907827</ans:cpf>
</ans:codigoProfissional>
<ans:identificacaoProfissional>
<ans:nomeExecutante>HENRIQUE ZANONI FERNANDES DR</ans:nomeExecutante>
<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>103166</ans:numeroConselho>
<ans:ufConselho>SP</ans:ufConselho>
</ans:conselhoProfissional>
<ans:codigoCBOS>06129</ans:codigoCBOS>
</ans:identificacaoProfissional>
<ans:cpf>25112907827</ans:cpf>
<ans:posicaoProfissional>12</ans:posicaoProfissional>
</ans:membroEquipe>
</ans:equipe>
<ans:procedimento>
<ans:codigo>00020010</ans:codigo>
<ans:tipoTabela>01</ans:tipoTabela>
<ans:descricao>VISITA HOSPITALAR PACIENTE INTERNADO</ans:descricao>
</ans:procedimento>
<ans:data>15/04/2010</ans:data>
<ans:horaInicio>13:15</ans:horaInicio>
<ans:quantidadeRealizada>01</ans:quantidadeRealizada>
<ans:viaAcesso>U</ans:viaAcesso>
<ans:tecnicaUtilizada>C</ans:tecnicaUtilizada>
<ans:reducaoAcrescimo>2.00</ans:reducaoAcrescimo>
<ans:valor>37.80</ans:valor>
<ans:valorTotal>37.80</ans:valorTotal>
</ans:procedimentos>
</ans:procedimentosRealizados>
<ans:outrasDespesas>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>80042627</ans:codigo>
<ans:tipoTabela>97</ans:tipoTabela>
<ans:descricao>INSTALACAO DE EQUIPO SORO SESSAO</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>4</ans:tipoDespesa>
<ans:dataRealizacao>15/04/2010</ans:dataRealizacao>
<ans:horaInicial>13:15</ans:horaInicial>
<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>
<ans:quantidade>4.00</ans:quantidade>
<ans:valorUnitario>3.37</ans:valorUnitario>
<ans:valorTotal>13.48</ans:valorTotal>
</ans:despesa>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>80011012</ans:codigo>
<ans:tipoTabela>97</ans:tipoTabela>
<ans:descricao>DIARIA APARTAMENTO</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>5</ans:tipoDespesa>
<ans:dataRealizacao>15/04/2010</ans:dataRealizacao>
<ans:horaInicial>13:15</ans:horaInicial>
<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>
<ans:quantidade>2.00</ans:quantidade>
<ans:valorUnitario>170.00</ans:valorUnitario>
<ans:valorTotal>340.00</ans:valorTotal>
</ans:despesa>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>00000096</ans:codigo>
<ans:tipoTabela>05</ans:tipoTabela>
<ans:descricao>MEDICAMENTOS</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>2</ans:tipoDespesa>
<ans:dataRealizacao>15/04/2010</ans:dataRealizacao>
<ans:horaInicial>13:15</ans:horaInicial>
<ans:horaFinal>00:00</ans:horaFinal>
<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>
<ans:quantidade>1</ans:quantidade>
<ans:valorUnitario>71.30</ans:valorUnitario>
<ans:valorTotal>71.30</ans:valorTotal>
</ans:despesa>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>00000095</ans:codigo>
<ans:tipoTabela>12</ans:tipoTabela>
<ans:descricao>MATERIAIS</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>3</ans:tipoDespesa>
<ans:dataRealizacao>15/04/2010</ans:dataRealizacao>
<ans:horaInicial>13:15</ans:horaInicial>
<ans:horaFinal>00:00</ans:horaFinal>
<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>
<ans:quantidade>1</ans:quantidade>
<ans:valorUnitario>328.70</ans:valorUnitario>
<ans:valorTotal>328.70</ans:valorTotal>
</ans:despesa>
</ans:outrasDespesas>
<ans:tipoFaturamento>T</ans:tipoFaturamento>
<ans:valorTotal>
<ans:servicosExecutados>75.60</ans:servicosExecutados>
<ans:diarias>340.00</ans:diarias>
<ans:taxas>13.48</ans:taxas>
<ans:materiais>328.70</ans:materiais>
<ans:medicamentos>71.30</ans:medicamentos>
<ans:gases>0.00</ans:gases>
<ans:totalGeral>829.08</ans:totalGeral>
</ans:valorTotal>
<ans:observacao></ans:observacao>
</ans:guiaResumoInternacao>
<ans:guiaResumoInternacao>
<ans:identificacaoGuiaInternacao>
<ans:registroANS>000043</ans:registroANS>
<ans:dataEmissaoGuia>23/03/2010</ans:dataEmissaoGuia>
<ans:numeroGuiaPrestador>335821</ans:numeroGuiaPrestador>
<ans:numeroGuiaOperadora></ans:numeroGuiaOperadora>
</ans:identificacaoGuiaInternacao>
<ans:numeroGuiaSolicitacao>335821</ans:numeroGuiaSolicitacao>
<ans:dadosBeneficiario>
<ans:numeroCarteira>00202000543470022</ans:numeroCarteira>
<ans:nomeBeneficiario>CRISTIANE CORRA PIRES RIBEIRO</ans:nomeBeneficiario>
<ans:nomePlano>S A ENFER EMPRESARIAL</ans:nomePlano>
<ans:validadeCarteira>31/03/2010</ans:validadeCarteira>
<ans:numeroCNS></ans:numeroCNS>
<ans:identificadorBeneficiario></ans:identificadorBeneficiario>
</ans:dadosBeneficiario>
<ans:identificacaoExecutante>
<ans:identificacao>
<ans:codigoPrestadorNaOperadora>90016</ans:codigoPrestadorNaOperadora>
</ans:identificacao>
<ans:nomeContratado>HOSPITAL PIO XII</ans:nomeContratado>
<ans:enderecoContratado>
<ans:tipoLogradouro>081</ans:tipoLogradouro>
<ans:logradouro>RUA PARAGUASSU</ans:logradouro>
<ans:numero>51</ans:numero>
<ans:complemento></ans:complemento>
<ans:codigoIBGEMunicipio>0354990</ans:codigoIBGEMunicipio>
<ans:municipio>SAO JOSE DOS CAMPOS</ans:municipio>
<ans:codigoUF>SP</ans:codigoUF>
<ans:cep>12212110</ans:cep>
</ans:enderecoContratado>
<ans:numeroCNES>0009601</ans:numeroCNES>
</ans:identificacaoExecutante>
<ans:dadosAutorizacao>
<ans:dataAutorizacao>04/03/2010</ans:dataAutorizacao>
<ans:senhaAutorizacao>1000247113</ans:senhaAutorizacao>
<ans:validadeSenha>03/04/2010</ans:validadeSenha>
</ans:dadosAutorizacao>
<ans:caraterInternacao>U</ans:caraterInternacao>
<ans:acomodacao>7</ans:acomodacao>
<ans:dataHoraInternacao>23/03/2010H05:53</ans:dataHoraInternacao>
<ans:dataHoraSaidaInternacao>24/03/2010H12:40</ans:dataHoraSaidaInternacao>
<ans:tipoInternacao>2</ans:tipoInternacao>
<ans:regimeInternacao>1</ans:regimeInternacao>
<ans:obitoNeonatal>
<ans:qtdeobitoPrecoce>0</ans:qtdeobitoPrecoce>
</ans:obitoNeonatal>
<ans:diagnosticosSaidaInternacao>
<ans:diagnosticoPrincipal>
<ans:nomeTabela>CID-10</ans:nomeTabela>
<ans:codigoDiagnostico>K801</ans:codigoDiagnostico>
<ans:descricaoDiagnostico>CALCULOSE VESICULA BILIAR COM OUTRAS FORMAS COLECISTITE</ans:descricaoDiagnostico>
</ans:diagnosticoPrincipal>
<ans:motivoSaidaInternacao>11</ans:motivoSaidaInternacao>
</ans:diagnosticosSaidaInternacao>
<ans:procedimentosRealizados>
<ans:procedimentos>
<ans:equipe>
<ans:membroEquipe>
<ans:codigoProfissional>
<ans:cpf>78935032891</ans:cpf>
</ans:codigoProfissional>
<ans:identificacaoProfissional>
<ans:nomeExecutante>JOAO MOREIRA DOS SANTOS DR</ans:nomeExecutante>
<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>042914</ans:numeroConselho>
<ans:ufConselho>SP</ans:ufConselho>
</ans:conselhoProfissional>
<ans:codigoCBOS>06110</ans:codigoCBOS>
</ans:identificacaoProfissional>
<ans:cpf>78935032891</ans:cpf>
<ans:posicaoProfissional>00</ans:posicaoProfissional>
</ans:membroEquipe>
</ans:equipe>
<ans:procedimento>
<ans:codigo>43050182</ans:codigo>
<ans:tipoTabela>01</ans:tipoTabela>
<ans:descricao>COLECISTECTOMIA SEM COLANGIOGRAFIA</ans:descricao>
</ans:procedimento>
<ans:data>23/03/2010</ans:data>
<ans:horaInicio>07:45</ans:horaInicio>
<ans:horaFim>09:15</ans:horaFim>
<ans:quantidadeRealizada>01</ans:quantidadeRealizada>
<ans:viaAcesso>U</ans:viaAcesso>
<ans:tecnicaUtilizada>C</ans:tecnicaUtilizada>
<ans:reducaoAcrescimo>1.30</ans:reducaoAcrescimo>
<ans:valor>284.57</ans:valor>
<ans:valorTotal>284.57</ans:valorTotal>
</ans:procedimentos>
</ans:procedimentosRealizados>
<ans:outrasDespesas>
<ans:despesa>
<ans:identificadorDespesa>
<ans:codigo>65600703</ans:codigo>
<ans:tipoTabela>97</ans:tipoTabela>
<ans:descricao>COLECISTECTOMIA C OU S COLANG VIDEO ENF SEM HM</ans:descricao>
</ans:identificadorDespesa>
<ans:tipoDespesa>4</ans:tipoDespesa>
<ans:dataRealizacao>23/03/2010</ans:dataRealizacao>
<ans:horaInicial>05:53</ans:horaInicial>
<ans:reducaoAcrescimo>1.00</ans:reducaoAcrescimo>
<ans:quantidade>1.00</ans:quantidade>
<ans:valorUnitario>2438.00</ans:valorUnitario>
<ans:valorTotal>2438.00</ans:valorTotal>
</ans:despesa>
</ans:outrasDespesas>
<ans:tipoFaturamento>T</ans:tipoFaturamento>
<ans:valorTotal>
<ans:servicosExecutados>284.57</ans:servicosExecutados>
<ans:diarias>0.00</ans:diarias>
<ans:taxas>2438.00</ans:taxas>
<ans:materiais>0.00</ans:materiais>
<ans:medicamentos>0.00</ans:medicamentos>
<ans:gases>0.00</ans:gases>
<ans:totalGeral>2722.57</ans:totalGeral>
</ans:valorTotal>
<ans:observacao></ans:observacao>
</ans:guiaResumoInternacao>
</ans:guiaFaturamento>
</ans:guias>
</ans:loteGuias>
</ans:prestadorParaOperadora>
<ans:epilogo>
<ans:hash>4935153821c2da667ed9171df67f3729</ans:hash>
</ans:epilogo>
</ans:mensagemTISS>

Nenhum comentário:

Postar um comentário

Related Posts Plugin for WordPress, Blogger...