Árvore de páginas

CONTEÚDO

  1. Visão Geral
    1. Rota
    2. Manutenção de documentos - saveDocument
    3. Inclusão de glosas - addMovementManualRestriction
    4. Remoção de glosas - removeMovementManualRestriction
    5. Validação de glosas - validateMovementRestriction
    6. Remoção de documentos - removeDocumentsByInvoice
    7. Remoção de documentos - removeDocumentsById
    8. Consulta de documentos - getDocumentById
    9. Consulta de documentos - getDocumentByInvoice
    10. Json retornado
  2. Regras de Negócio Aplicadas
  3. Como Validar as Informações
    1. Central de Movimentação de Guias TISS
  4. Exemplo de Como Validar as Informações

01. VISÃO GERAL

O TOTVS Saúde Planos (Linha Datasul) oferece uma série de APIs para integração.

A  API Manutenção de Documentos tem o objetivo de consultar, criar, atualizar e eliminar documentos do Revisão de Contas.

O método documentsMaintenance da API fornece a opção de modificar os dados do documento e incluir, alterar ou excluir movimentos do documento, seguindo as regras de negócio explicadas na sessão 2. Regras de Negócio Aplicadas.

a. Rota

/hrc/<versao>/documentsMaintenance/

b. saveDocument

Campo

DescriçãoTipo dadoMáscaraObrigatório na inclusãoObrigatório na alteraçãoPermite definir na inclusãoPermite
definir na alteração
cdUnidadeCódigo da unidadeinteiro
SimSimNãoNão
cdUnidadePrestadoraCódigo da unidade prestadorainteiro
SimSimSimNão
cdTransacaoCódigo da transaçãointeiro
SimSimSimNão
nrSerieDocOriginalNome da serie do documentocaracterx(04)SimSimSimNão
nrDocOriginalCódigo do documentointeiro
SimSimNãoNão
nrDocSistemaSequencia do documento no sistemainteiro
SimSimNãoNão
anoPeriodoAno do período de movimentação do Revisão de Contasinteiro
SimNãoSimSim
nrPeriodoPeríodo de movimentação do Revisão de Contasinteiro
SimNãoSimSim
anoGuiaAtendimentoAno da guia de autorizaçãointeiro
Somente caso Ação sobre Guia for = obrigaNãoSimSim
nrGuiaAtendimentoNúmero da guia de autorizaçãointeiro
Somente caso Ação sobre Guia for = obrigaNãoSimSim
nrGuiaPrestadorCódigo da guia do prestadorcaracter
NãoNãoSimSim
cdUnidadeAntUnidade do documento principalinteiro
NãoNãoSimSim
cdUnidadePrestadoraAntUnidade Prestadora do documento principalinteiro
NãoNãoSimSim
cdTransacaoAntTransação do documento principalinteiro
NãoNãoSimSim
nrSerieDocOriginalAntSérie do documento principalcaracterx(04)NãoNãoSimSim
nrDocOriginalAntNúmero do documento principalinteiro
NãoNãoSimSim
nrDocSistemaAntNumero de sistema do documento principalinteiro
NãoNãoSimSim
dtEmissaoData de emissão do documentodataaaaa-mm-ddSimNãoSimSim
dtRealizacaoData de realização*dataaaaa-mm-ddSomente caso Data Realizacao Unica (rc0110f)NãoSimSim
hrRealizacaoHora inicial de realização*caracter99:99Somente caso Data Realizacao Unica (rc0110f)NãoSimSim
cdUnidadeSolicitanteUnidade do Prestador Solicitanteinteiro
SimNãoSimSim
cdPrestadorSolicitanteCódigo do Prestador Solicitanteinteiro
SimNãoSimSim
anoGuiaOrigemAno da Guia Origeminteiro
NãoNãoSimSim
nrGuiaOrigemNúmero da Guia Origeminteiro
NãoNãoSimSim
dtSolicitacaoOrigemData de solicitação da Guia Origemdataaaaa-mm-ddNãoNãoSimSim
dtAutorizacaoOrigemData de Autorização da Guia Origemdataaaaa-mm-ddNãoNãoSimSim
cdVinculoSolicitanteVinculo do prestador solicitanteinteiro
SimNãoSimSim
cdEspecialidSolicitanteEspecialidade do prestador solicitanteinteiro
SimNãoSimSim
cdCboSolicitanteCBO do prestador solicitante - Caso em branco a Central TISS preenche com o primeiro CBO válido para a especialidade informadacaracter
SimNãoSimSim
cdConselhoProfSolicConselho do profissional solicitantecaracter
Somente para ExamesNãoSimSim
nrConselhoProfSolicCódigo do Conselho do profissional solicitantecaracter
Somente para ExamesNãoSimSim
ufConselhoProfSolicUF Conselho do profissional solicitantecaracter
Somente para ExamesNãoSimSim
nmProfSolNome do profissional solicitantecaracter
Somente para ExamesNãoSimSim
cdLocalAtendimentoLocal de atendimento (caso a transação esteja como "Pede local Atendimento'"= Sim, irá gravar a informação do campo Local Atendimento do cadastro. Se estiver como Não, não vai gravar o local.)inteiro
SimNãoSimSim
cdClasseHospitalarClasse Hospitalar (somente editável caso parametrizado no campo "Altera Class.Hosp." do cadastro da Transação). Por default a informação vem do plano do beneficiário.inteiro
Somente se Altera Classe HospitalarNãoSimSim
tpAcomodTipo de acomodação recebido na importação do documento.inteiro
NãoNãoSimNão
caraterSolicitacaoCarater da Solicitação (E-Eletiva, U-Urgencia)caracter
Somente para Internação e SPSADTNãoSimSim
tpRegimInterRegime de Internação (TISS Tab. 41)**inteiro
Somente para InternaçãoNãoSimSim
cdFaturamentoTipo de Faturamento (TISS Tab. 55)**inteiro
Somente para InternaçãoNãoSimSim
dtInternacaoData de Internação**dataaaaa-mm-ddSomente para InternaçãoNãoSimSim
dtAltaData de Alta**dataaaaa-mm-ddSomente para InternaçãoNãoSimSim
cdMotivoAltaMotivo de Alta**inteiro
Somente para InternaçãoNãoSimSim
hrInternacaoHora da internação**caracter99:99Somente para InternaçãoNãoSimSim
hrAltaHora da Alta**caracter99:99Somente para InternaçãoNãoSimSim
tpInterTipo de Internação (TISS Tab. 57)**inteiro
Somente para InternaçãoNãoSimSim
nmDeclNascViv a nmDeclNascViv5Declaração de nascido vivo (campos até o 5)caracter
NãoNãoSimSim
qtNascMortosQuantidade de nascidos mortosinteiro
NãoNãoSimSim
qtNascVivosTermoQuantidade de nascidos vivos não prematurosinteiro
NãoNãoSimSim
qtNascVivosPremQuantidade de nascidos vivos prematurosinteiro
NãoNãoSimSim
cidObito1 a cidObito5CID de óbito nascidos mortos (campos do 1 a 5)caracter
NãoNãoSimSim
nrDeclaracaoObito1 a nrDeclaracaoObito5Declaração de óbito nascidos mortos (campos 1 a 5)caracter
NãoNãoSimSim
indAcidenteIndicador de acidente (TISS Tab.36)inteiro
NãoNãoSimSim
tpConsultaTipo de Consulta (Transação de consulta - TISS Tab. 52)inteiro
Somente para ConsultaNãoSimSim
tpAtendTipo de Atendimento (Transação de SADT - TISS Tab. 50)inteiro
Somente para ExamesNãoSimSim
cdCid,cdCid2,cdCid3CID do atendimentocaracter
NãoNãoSimSim
cdCidObitoCID do óbito**caracter
Somente para InternaçãoNãoSimSim
nrDeclaracaoObitoDeclaração de óbito**caracter
Somente para InternaçãoNãoSimSim
dsIndClinicaIndicação Clínica

Para as guias de reembolso e odontologicas, não é obrigatório.

Obrigatório para todas as guias com tipo de atendimento, conforme parametrizado no cadastro hac.attendanceType.

caracter
NãoNãoSimSim
dsObservacaoObservação do documentocaracter
NãoNãoSimSim
anoFaturaAno da fatura do prestadorinteiro
NãoNãoSimNão
anoNDRAno da NDR do prestadorinteiro
NãoNãoSimNão
nrSerieFaturaSérie da fatura do prestadorcaracter
NãoNãoSimNão
nrSerieNDRSérie da NDR do prestadorcaracter
NãoNãoSimNão
nrFaturaNúmero da fatura do prestadorcaracter
NãoNãoSimNão
nrNDRNúmero da NDR do prestadorcaracter
NãoNãoSimNão
nrLoteNúmero do loteinteiro
NãoNãoNãoNão
cdUnidadeCarteiraCódigo da unidade da carteira do beneficiáriointeiro
SimNãoSimNão
cdCarteiraUsuarioCódigo da carteira do beneficiáriointeiro
SimNãoSimNão

cdUnidadePrestPrincipal

Código da unidade do prestador principalinteiro
SimNãoSimNão
cdPrestadorPrincipalCódigo do prestador principalinteiro
SimNãoSimNão
cdVinculoPrestPrincipalCódigo do vinculo do prestador principalinteiro
NãoNãoSimNão
inStatusDoctoStatus do documento (1- Pendente Análise de Glosa, 2- Pendente Liberação, 3- Liberado, 4- Pago, 5- Faturado, 6- Pago e Faturado, 7- Cancelado)inteiro
NãoNãoNãoNão
urlChaveChavecaracter
NãoSimNãoNão
cdUnidCdPrestExecCódigo da unidade e Prestador executantecaracter
NãoNãoNãoNão
nmMedicoAuditorNome do Médico Auditorcaracter
Somente para Internação quando obriga médico auditorNãoSimSim

cdCrmMedicoAuditor

CRM do Médico Auditorcaracter
Somente para Internação quando parametrizado para obrigar médico auditorNãoSimSim
cdUfMedicoAuditorUF do conselho do Médico Auditorcaracter
Somente para Internação quando parametrizado para obrigar médico auditorNãoSimSim
nmEnfermAuditorNome do enfermeiro auditorcaracter
Somente para Internação quando parametrizado para obrigar enfermeiro auditorNãoSimSim
cdCorenEnfermAuditorCOREN do enfermeiro auditorcaracter
Somente para Internação quando parametrizado para obrigar enfermeiro auditorNãoSimSim
cdUfEnfermAuditorUF conselho do enfermeiro auditorcaracter
Somente para Internação quando parametrizado para obrigar enfermeiro auditorNãoSimSim
codLotePrestadorTissCódigo do lote do prestadorinteiro
NãoNãoNãoNão

cdUnidadeImp

Código da unidade do Lote de Importaçãointeiro
NãoNãoNãoNão
cdPrestadorImpCódigo do prestador do Lote de Importaçãointeiro
NãoNãoNãoNão
nrLoteImpNúmero do Lote de Importaçãointeiro
NãoNãoNãoNão
nrSequenciaImpNúmero da sequencia do Lote de Importaçãointeiro
NãoNãoNãoNão
logAtendimRN

Indica recém nascido, esta informação não é alterável, somente é possível informar o campo na inclusão do documento.


lógico
Somente para InternaçãoNãoSimnão
inAcidenteIndicador de acidenteinteiro
Somente para Internação ou se o documento já possuir informação junto a base.NãoSimsim
dtDigitacaoData de digitação do documentodataaaaa-mm-ddNãoNãoNãoNão

desVersaoTiss

Versão TISS do documentocaracter
SimNãoSimNão

regimeAtendimento

Regime de Atendimento - Somente para Exames e Consultasinteiro
Obrigatório para Exames e ConsultasNãoSimSim

saudeOcupacional

Saúde Ocupacional - Somente para Exames e Consultasinteiro
NãoNãoSimSim

coberturaEspecial

Cobertura Especial - Somente para Exames e Consultasinteiro
NãoNãoSimSim
tag: pacotesAcesse aqui os campos da TAG "pacotes"SimSim
tag: procedimentos

Acesse aqui os campos da TAG "procedimentos"

SimSim
tag: insumosAcesse aqui os campos da TAG "insumos"SimSim
tag: parametros campo: [nomeUsuario]Nome de usuário que está manipulando o(s) registro(s).caracter
SimSimSimSim

{
    "documentos": [
        {
            "cdTransacao": 2,
            "cdUnidade": 120,
            "cdUnidadePrestadora": 120,
            "insumos": [
                {
                    "idRegistro": 1,
                    "idRegistroDoc": "120/120/2/cha/4/0",
                    "prestadores": [
                        {
                            "idRegistroMovto": 1,
                            "nrProcesso": 15,
                            "nrSeqDigitacao": 15
                        }
                    ],
                    "tpMovimento": "INSU"
                }
            ],
            "nrDocOriginal": 4,
            "nrDocSistema": 0,
            "nrSerieDocOriginal": "cha",
            "urlChave": "120/120/2/cha/4/0"
        }
    ],
    "parametros": [
        {
            "nomeUsuario": "super"
        }
    ]
}

c. addMovementManualRestriction

CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
cdUnidadeCódigo da unidadeinteiro
SimNão
cdUnidadePrestadoraCódigo da unidade prestadorainteiro
SimNão
cdTransacaoCódigo da transaçãointeiro
SimNão
nrSerieDocOriginalNome da serie do documentocaracterx(04)SimNão
nrDocOriginalCódigo do documentointeiro
SimNão
nrDocSistemaSequencia do documento no sistemainteiro
SimNão
cdTipoInsumoCódigo do tipo do insumointeiro99NãoNão
cdInsumoCódigo do insumo
inteiro
NãoNão
nrProcessoNúmero do processo do movimentointeiro
SimNão
nrSeqDigitacaoNúmero de sequencia do movimentointeiro
SimNão
tpMovimentoTipo do movimento:
PROC - indica procedimento
INSU - indica insumo
PACOTE - indica pacote
caracterx(04)SimNão
idIdentificador do movimento, para vincular as glosas existentes no Json.inteiro
SimNão
glosasAdicionadas
CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
idMovimentoIdentificador do movimento, ao qual pertence a glosainteiro
SimSim
cdClasseErroClasse de errointeiro
SimSim
cdGlosaCódigo da glosainteiro
SimSim
qtGlosarQtd. a ser glosada ao aplicar uma glosa de fracionamentodecimal
NãoSim
dsMotivoGlosaMotivo da glosacaracter
NãoSim
qtdDisponivelQtd. procedimentos disponíveis no caso de glosas parciaisinteiro
NãoNão
cdRegraQuantitativoCodigo regra quantit. tecnicointeiro
NãoNão
qtMovimentosGlosadosQtd. movimentos glosadosinteiro
NãoNão
dsGlosa


NãoNão
lgGlosaPrincipalGlosa principal do movimentológicotrue/falseNãoNão
lgGlosaManualIndica se a glosa é do tipo manuallógicotrue/falseNãoNão
desJustificativaReconsultaJustificativa reconsultacaracter
NãoNão

tag: parametros campo: [nomeUsuario]Nome de usuário que está manipulando o(s) registro(s).caracter

Sim

{
    "parametros": [
        {
            "nomeUsuario""super"
        }
    ],
    "movimentos": [
        {
            "cdUnidade"120,
            "cdUnidadePrestadora"120,
            "cdTransacao"2,
            "nrSerieDocOriginal""MARV",
            "nrDocOriginal"300,
            "nrDocSistema"0,
            "cdTipoInsumo"0,
            "cdInsumo"0,
            "nrProcesso"2,
            "nrSeqDigitacao"2,
            "tpMovimento""INSU",
            "id"1,
            "glosasAdicionadas": [
                {
                    "idMovimento"1,
                    "cdClasseErro"6,
                    "cdGlosa"6,
                    "qtGlosar": 1,

                    "dsMotivoGlosa""Motivo glosa"                    
                }
            ]
        }
    ]
}

d. removeMovementManualRestriction

CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
cdUnidadeCódigo da unidadeinteiro
SimNão
cdUnidadePrestadoraCódigo da unidade prestadorainteiro
SimNão
cdTransacaoCódigo da transaçãointeiro
SimNão
nrSerieDocOriginalNome da serie do documentocaracterx(04)SimNão
nrDocOriginalCódigo do documentointeiro
SimNão
nrDocSistemaSequencia do documento no sistemainteiro
SimNão
cdTipoInsumoCódigo do tipo do insumointeiro99NãoNão
cdInsumoCódigo do insumo
inteiro
NãoNão
nrProcessoNúmero do processo do movimentointeiro
SimNão
nrSeqDigitacaoNúmero de sequencia do movimentointeiro
SimNão
tpMovimentoTipo do movimento:
PROC - indica procedimento
INSU - indica insumo
PACOTE - indica pacote
caracterx(04)SimNão
idIdentificador do movimentointeiro
SimNão
glosasRemovidas
CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
idMovimentoIdentificador do movimentointeiro
SimSim
cdClasseErroClasse de errointeiro
SimSim
cdGlosaCódigo da glosainteiro
SimSim
dsMotivoGlosaMotivo da glosacaracter
NãoSim
qtiQuantProcedDisponQtd. procedimentos disponíveisinteiro
NãoNão
cdRegraQuantitativoCodigo regra quantit. tecnicointeiro
NãoNão
qtMovimentosGlosadosQtd. movimentos glosadosinteiro
NãoNão
dsGlosa


NãoNão
lgGlosaPrincipalGlosa principal do movimentológicotrue/falseNãoNão
lgGlosaManualIndica se a glosa é do tipo manuallógicotrue/falseNãoNão
desJustificativaReconsultaJustificativa reconsultacaracter
NãoNão

tag: parametros campo: [nomeUsuario]Nome de usuário que está manipulando o(s) registro(s).caracter

Sim

{
    "parametros": [
        {
            "nomeUsuario""super"
        }
    ],
    "movimentos": [
        {
            "cdUnidade"120,
            "cdUnidadePrestadora"120,
            "cdTransacao"2,
            "nrSerieDocOriginal""MARV",
            "nrDocOriginal"300,
            "nrDocSistema"0,
            "cdTipoInsumo"0,
            "cdInsumo"0,
            "nrProcesso"2,
            "nrSeqDigitacao"2,
            "tpMovimento""INSU",
            "id"1,
            "glosasRemovidas": [
                {
                    "idMovimento"1,
                    "cdClasseErro"6,
                    "cdGlosa"6
                }
            ]
        }
    ]
}

e. validateMovementRestriction

CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
cdUnidadeCódigo da unidadeinteiro9999SimNão
cdUnidadePrestadoraCódigo da unidade prestadorainteiro9999SimNão
cdTransacaoCódigo da transaçãointeiro9999SimNão
nrSerieDocOriginalNome da serie do documentocaracterx(04)SimNão
nrDocOriginalCódigo do documentointeiro
SimNão
nrDocSistemaSequencia do documento no sistemainteiro
SimNão
cdTipoInsumoCódigo do tipo do insumointeiro99NãoNão
cdInsumoCódigo do insumo
inteiro
NãoNão
nrProcessoNúmero do processo do movimentointeiro99999999SimNão
nrSeqDigitacaoNúmero de sequencia do movimentointeiro99999999SimNão
tpMovimentoTipo do movimento:
PROC - indica procedimento
INSU - indica insumo
PACOTE - indica pacote
caracterx(04)SimNão
idIdentificador do movimentointeiro
SimNão
validacao
CampoDescriçãoTipo dadoMáscaraObrigatórioPermite
definir
idMovimentoIdentificador do movimentointeiro
SimSim
cdTipoCobCódigo da validação para cobrançainteiro
NãoSim
cdTipoPagCódigo da validação para pagamentointeiro
NãoSim
cdValidacaoCódigo da validaçãointeiro
NãoNão

Valores aceitos para o cdTipoCob:

0 - Cobrança conforme contrato;

1 - Cobrança por custo operacional;

3 - Desconsiderar cobrança;

4 - Cobertura por intercâmbio;

6 - Cobrar somente participação;

7 - Desconsiderar cobrança participação.

Valores aceitos para o cdTipoPag:

0 - Pagamento conforme contrato;

1 - Desconsiderar Pagamento.


Sim
tag: parametros campo: [nomeUsuario]Nome de usuário que está manipulando o(s) registro(s).caracter

Sim

{
    "parametros": [
        {
            "nomeUsuario""super"
        }
    ],
    "movimentos": [
        {
            "cdUnidade"120,
            "cdUnidadePrestadora"120,
            "cdTransacao"2,
            "nrSerieDocOriginal""MARV",
            "nrDocOriginal"300,
            "nrDocSistema"0,
            "cdTipoInsumo"0,
            "cdInsumo"0,
            "nrProcesso"2,
            "nrSeqDigitacao"2,
            "tpMovimento""INSU",
            "id"1,
            "validacao": [
                {

                    "cdTipoCob"1,
                    "cdTipoPag"1
                }
            ]
        }
    ]
}

f. removeDocumentsByInvoice

Permite remover documentos passando a chave de uma fatura. Para esta funcionalidade não temos Json de entrada, os dados são passados pela URL.

Unidade/UnidadePrestadora/PrestadorPrincipal/AnoFatura/SerieFatura/Fatura

Exemplo:

http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/remove/fat/120/970/970/2020/970/2000G

g. removeDocumentsById

Permite remover documentos passando a chave de um documento. Para esta funcionalidade o Json de entrada possui apenas o usuário, os dados são passados pela URL.

Unidade/UnidadePrestadora/Transacao/SerieDocumento/NumeroDocumento/SequenciaDocumento

Exemplo:

http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/remove/doc/120/120/2/LUIS/26062181/0

{
    "parametros": [
        {
            "nomeUsuario""user"
        }
    ]
}

h. getDocumentById

Retorna um Json contendo todos os dados de um documento. Para esta funcionalidade não temos Json de entrada, os dados são passados pela URL.

Unidade/UnidadePrestadora/Transacao/SerieDocumento/NumeroDocumento/SequenciaDocumento

Após a chave do documento deve ser informando os expandables requisitados, sendo eles:

Expandablevalor retornado
procedimentosRetorna os procedimentos do documento, exceto os procedimentos constantes dentro de um pacote.
procedimentos.prestadoresRetorna os prestadores dos procedimentos do documento, exceto os prestadores dos procedimentos constantes dentro de um pacote.
insumosRetorna os insumos do documento, exceto os insumos constantes dentro de um pacote.
insumos.prestadoresRetorna os prestadores dos insumos do documento, exceto os prestadores dos insumos constantes dentro de um pacote.
pacotesRetorna os pacotes, apenas a estrutura dele.
pacotes.procedimentosRetorna os procedimentos contidos dentro dos pacotes.
pacotes.procedimentos.prestadoresRetorna os prestadores dos procedimentos contidos dentro dos pacotes.
pacotes.insumosRetorna os insumos contidos dentro dos pacotes.
pacotes.insumos.prestadoresRetorna os prestadores dos insumos contidos dentro dos pacotes.
procedimentos.glosasRetorna as glosas dos procedimentos do documento, exceto para os procedimentos constantes dentro de um pacote.
insumos.glosasRetorna as glosas dos insumos do documento, exceto para os insumos constantes dentro de um pacote.
pacotes.procedimentos.glosasRetorna as glosas dos procedimentos contidos dentro dos pacotes.
pacotes.insumos.glosasRetorna as glosas dos insumos contidos dentro dos pacotes.


Exemplo:

http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/doc/120/120/2/MARV/300/0?expand=procedimentos,procedimentos.prestadores,insumos,insumos.prestadores,pacotes,pacotes.procedimentos,pacotes.procedimentos.prestadores,pacotes.insumos,pacotes.insumos.prestadores,procedimentos.glosas,insumos.glosas,pacotes.procedimentos.glosas,pacotes.insumos.glosas

i. getDocumentByInvoice

Retorna um Json contendo todos os dados de um documento. Para esta funcionalidade não temos Json de entrada, os dados são passados pela URL.

Unidade/UnidadePrestadora/PrestadorPrincipal/AnoFatura/SerieFatura/Fatura

Após a chave do documento deve ser informando os expandables requisitados, sendo eles:

Expandablevalor retornado
procedimentosRetorna os procedimentos do documento, exceto os procedimentos constantes dentro de um pacote.
procedimentos.prestadoresRetorna os prestadores dos procedimentos do documento, exceto os prestadores dos procedimentos constantes dentro de um pacote.
insumosRetorna os insumos do documento, exceto os insumos constantes dentro de um pacote.
insumos.prestadoresRetorna os prestadores dos insumos do documento, exceto os prestadores dos insumos constantes dentro de um pacote.
pacotesRetorna os pacotes, apenas a estrutura dele.
pacotes.procedimentosRetorna os procedimentos contidos dentro dos pacotes.
pacotes.procedimentos.prestadoresRetorna os prestadores dos procedimentos contidos dentro dos pacotes.
pacotes.insumosRetorna os insumos contidos dentro dos pacotes.
pacotes.insumos.prestadoresRetorna os prestadores dos insumos contidos dentro dos pacotes.
procedimentos.glosasRetorna as glosas dos procedimentos do documento, exceto para os procedimentos constantes dentro de um pacote.
insumos.glosasRetorna as glosas dos insumos do documento, exceto para os insumos constantes dentro de um pacote.
pacotes.procedimentos.glosasRetorna as glosas dos procedimentos contidos dentro dos pacotes.
pacotes.insumos.glosasRetorna as glosas dos insumos contidos dentro dos pacotes.


Exemplo:

http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/fat/120/970/970/2020/970/2000G?expand=procedimentos,procedimentos.prestadores,insumos,insumos.prestadores,pacotes,pacotes.procedimentos,pacotes.procedimentos.prestadores,pacotes.insumos,pacotes.insumos.prestadores,procedimentos.glosas,insumos.glosas,pacotes.procedimentos.glosas,pacotes.insumos.glosas

j. Json retornado

Quando o processo de modificar o documento e/ou movimentos for realizado com sucesso será retornado o código 200 e o json com a chave do documento.

Exemplo:

{
    "total"1,
    "items": [
        {
            "cdUnidadePrestadora"120,
            "cdUnidade"120,
            "nrDocOriginal"30424,
            "nrSerieDocOriginal""TISS",
            "mensagemDetalhada""",
            "nrDocSistema"1,
            "tipoRegistro""SUCCESS",
            "cdTransacao"2
        }
    ],
    "hasNext"false
}

Quando ocorrer alguma inconsistência no processo será retornado o código 400 ou 500 e um json com as ocorrências.

O código de erro na mensagem principal é padronizado conforme a codificação abaixo. Enquanto que os códigos de erro listados na tag details são gerados pelo sistema e podem ser consultados no programa Manutenção de Mensagens (TE0110K).

CódigoDescrição
100Indica alguma inconsistência no processo em função de regra de negócio

Exemplo:

{
    "message""Erro ao comunicar com API do Sistema",
    "details": [
        {
            "message""Manutencao nao permitida em movimentos que nao estejam com status de Auditoria!",
            "detailedMessage""",
            "code""1",
            "type""error"
        }
    ],
    "detailedMessage""Erro ao executar saveDocument - api/v1/documentsMaintenance",
    "code""100",
    "type""error"
}

02. REGRAS DE NEGÓCIO APLICADAS 

O processo permitirá alterar os campos que são passíveis de alteração na Central de Movimentações TISS (hrc.document). Deve ser sempre informado valor nos campos editáveis, caso contrário o sistema entenderá que o valor do campo é nulo.

Pacotes

  • Os campos nr-processo e nr-sequencia dos movimentos nunca podem mudar. Eles são a chave para a vinculação dos movimentos entre o que esta no Json e o que esta na base. 
  • No caso do documento possuir mais de um lançamento de pacotes idênticos(mesmo código, prestador, data e hora), o sistema entende que o mesmo movimento não pode repetir dentro do mesmo pacote. Identificando assim a existência de outro pacote idêntico(mesmo código, prestador, data e hora).

Restrições:

  • Somente será permitida a alteração de dados de um documento por requisição.
  • Somente será permitida a alteração de documento com os movimentos com o status de Em Auditoria.
  • O processo não permite a alteração de movimentos incluídos via pacote de intercâmbio (SISPAC);
  • Ao incluir/modificar um movimento ele estará com o situação do movimento ('in-liberado-contas'8 - Em Auditoria.
  • O processo permite a inclusão de movimentos no documento, sendo que os campos que não podem ser definidos serão desconsiderados.
  • O processo permite a exclusão de movimentos do documento.
  • Quando da inclusão de um documento e ou movimento, os campos que não podem ser definidos serão desconsiderados.
    Não havendo validações se foram gravados ou se podem ser definidos pelo usuário.
  • Os métodos para adicionar glosa manual (addMovementManualRestriction), remover glosa manual (removeMovementManualRestriction) e validação de glosas (validateMovementRestriction) esperam na JSON da requisição apenas um movimento por solicitação conforme os exemplos apresentados na documentação.

Alteração dos valores dos movimentos:

  • Para quaisquer requisições de modificação de movimentos com valor informado nas tags vlMovimento, vlMovimentoHono, vlTaxaMovimento ou vlTaxaMovimentoHono esses valores serão considerados prioritariamente sobre quaisquer regras de valorização. Exemplo: se em uma requisição forem alterados via de acesso, quantidade de repasse e valor do movimento, o valor informado(diferente de zero e ?) nas tags vlMovimento, vlMovimentoHono, vlTaxaMovimento ou vlTaxaMovimentoHono prevalecerá, independente do valor valorizado pelo sistema.
  • Se o cliente desejar que o sistema realize a valorização nos campos(vlMovimento, vlMovimentoHono, vlTaxaMovimento e vlTaxaMovimentoHono) com base nos demais campos do movimento, então as tags vlMovimento, vlMovimentoHono, vlTaxaMovimento e vlTaxaMovimentoHono deverão ser zeradas ou omitidas.
    • Se apenas algumas dessas tags forem informadas, o sistema realizará a valorização do movimento calculando o valor das demais e, ao fim do processo, gravará no movimento o valor da tag informada na requisição;
      • Exemplo1: informado na tag vlMovimento = 10  e na tag vlTaxaMovimento = 0. A api considera que o valor do movimento é 10 e a taxa será definida pela valorização do sistema;
      • Exemplo2: informado na tag vlMovimento = 0  e na tag vlTaxaMovimento = 1. A api considera que o valor do movimento será definido pela valorização do sistema e o valor da taxa será 1.
    • A valorização do movimento somente irá ocorrer caso o valor do movimento(vlMovimento) não tenha sido modificado anteriormente, seja via API, seja via interface no TOTVS. Ou seja, o sistema revaloriza apenas quando o vl-principal ou vl-auxiliar for igual ao vl-base-valor-sistema;
    • A tag vlmovimento é composta pela soma dos campos vl-principal e vl-auxiliar;
    • A tag vlTaxaMovimento é composta pela soma dos campos vl-taxa-out-uni-prin e vl-taxa-out-uni-auxi;
    • A tag vlMovimentoHono é composta pela soma dos campos vl-principal e vl-auxiliar, quando o movimento for de divisão de honorários;
    • A tag vlTaxaMovimentoHono é composta pela soma dos campos vl-taxa-out-uni-prin e vl-taxa-out-uni-auxi, quando o movimento for de divisão de honorários;
    • Através da api não podemos modificar diretamente os campos vl-base-valor-sistema, vl-honorarios-medicos, vl-operacional e vl-filme. Estes campos são de uso do sistema;
    • Maiores informações sobre valorização de movimentos podem ser consultadas em: Valorização de Procedimentos e Insumos

Inclusão/Exclusão de movimentos:

  • Para inclusão de um novo movimento no documento será necessário preencher todos os campos da tag procedimentos ou insumos e da tag prestadores, somente para os movimentos que serão adicionados ou alterados. Os dados do prestador desse movimento tornam-se obrigatórios na tag prestadores. Para a inclusão de um novo movimento as tags nrProcesso e nrSeqDigitação do prestador devem ser informadas com valor zero e as tags idRegistro e idRegistroMovto não podem estar informadas com valor zero e nem com valores duplicados.
  • Para realizar a inclusão de um documento com os movimentos, deve-se preencher todos os campos da tag documentos com exceção dos campos cdUnidade e nrDocOriginal, assim como pelo menos um movimento (procedimento ou insumo) e ainda os campos referente a tag prestadores do movimento com as tags nrProcesso e nrSeqDigitação zerados.
  • Para a exclusão do movimento é necessário preencher a tag movimentosExcluidos, dentro da tag documentos, com as informações chave do movimento(nrProcesso e nrSeqDigitacao). Não poderá ser enviado o movimento excluído na tag de procedimentos/insumos.

Exemplo:

{
    "documentos": [
        {
            "movimentosExcluidos": [
                {"nrProcesso"1"nrSeqDigitacao"1}
            ],
        }
    ]
}

03. COMO VALIDAR AS INFORMAÇÕES

Os resultados apresentados pela API podem ser validados e visualizados nos seguintes programas/relatórios:

Central de Movimentação de Guias Tiss (hrc.document)

Localize o documento que deseja consultar. 

Ao acessar o programa na tela inicial está disponível a opção de Busca Avançada:


Através da Busca Avançada é possível pesquisar o documento:


Ao informar alguns campos e clicar em buscar será retornado o documento encontrado: 

  • Consultar o documento

          Localizando o documento, ao clicar no link do documento é possível consultar detalhes do documento. 
          

          Consultar glosas do documento.