Histórico da Página
CONTEÚDO
- Visão Geral
- Rota
- JSON de entrada
- Manutenção de documentos - saveDocument
- Inclusão de glosas - addMovementManualRestriction
- Remoção de glosas - removeMovementManualRestriction
- Validação de glosas - validateMovementRestriction
- Remoção de documentos - removeDocumentsByInvoice
- Remoção de documentos - removeDocumentsById
- Consulta de documentos - getDocumentById
- Consulta de documentos - getDocumentByInvoice
- Json retornadoRetorno
- Regras de Negócio Aplicadas
- Como Validar as Informações
- Central de Movimentação de Guias TISS
- Consultar de Documento
- Central de Movimentação de Guias TISS
01. VISÃO GERAL Âncora visao_geral visao_geral
visao_geral | |
visao_geral |
O TOTVS Saúde Planos (Linha Datasul) oferece uma série de APIs para integração.
...
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.
Versão atual: v1.
a. Rota
Com a entrada em vigência da TISS 4, a v1 desta API foi depreciada e é mantida apenas para compatibilidade pois trata apenas documentos versão TISS 3.05.00 e anteriores.
Favor considerar a utilização da última versão desta API, que trata documentos de versões mais novas da TISS além de manter a compatibilidade com documentos TISS 3.05.00 e anteriores.
a. Rota
Âncora | ||||
---|---|---|---|---|
|
//hrc/<versao>/documentsMaintenance/
b.
...
saveDocument Âncora saveDocument saveDocument
saveDocument | |
saveDocument |
Campo |
---|
...
Descrição | Tipo dado | Máscara |
---|
Obrigatório | Permite definir na alteração | Permite definir na inclusão |
---|---|---|
cdUnidade | Código da unidade |
inteiro | Sim | Não | Não | ||
cdUnidadePrestadora | Código da unidade prestadora |
inteiro | Sim | Não | Sim | ||
cdTransacao | Código da transação |
inteiro | Sim | Não | Sim | ||
nrSerieDocOriginal | Nome da serie do documento |
caracter | x(04) | Sim | Não | Sim | |
nrDocOriginal | Código do documento |
inteiro | Sim | Não | Não | ||
nrDocSistema | Sequencia do documento no sistema |
inteiro | Sim | Não | Não | |||
anoPeriodo | Ano do período de movimentação do Revisão de Contas | inteiro | Sim | Sim | Sim | |
nrPeriodo | Período de movimentação do Revisão de Contas | inteiro | Sim | Sim | Sim | |
anoGuiaAtendimento | Ano da guia de autorização | inteiro |
Somente caso Ação sobre Gua for = obriga | Sim | Sim |
nrGuiaAtendimento | Número da guia de autorização | inteiro |
Somente caso Ação sobre Gua for = obriga | Sim | Sim | ||||
nrGuiaPrestador | Código da guia do prestador | caracter | Não | Sim | Sim | |
cdUnidadeAnt | Unidade do documento principal | inteiro | Não |
Sim | Sim | |||
cdUnidadePrestadoraAnt | Unidade Prestadora do documento principal | inteiro | Não |
Sim | Sim | |||
cdTransacaoAnt | Transação do documento principal | inteiro | Não |
Sim | Sim | |||
nrSerieDocOriginalAnt | Série do documento principal | caracter | x(04) | Não |
Sim | Sim | |||
nrDocOriginalAnt | Número do documento principal | inteiro | Não |
Sim | Sim | |||
nrDocSistemaAnt | Numero de sistema do documento principal | inteiro | Não |
Sim | Sim | |||
dtEmissao | Data de emissão do documento | data | aaaa-mm-dd | Sim |
Sim | Sim |
dtRealizacao | Data de realização* | data | aaaa-mm-dd | Somente caso Data Realizacao Unica (rc0110f) | Sim | Sim |
hrRealizacao | Hora inicial de realização* | caracter | 99:99 | Somente caso Data Realizacao Unica (rc0110f) | Sim | Sim |
cdUnidadeSolicitante | Unidade do Prestador Solicitante | inteiro | Sim | Sim | Sim | |
cdPrestadorSolicitante | Código do Prestador Solicitante | inteiro | Sim | Sim | Sim | |
anoGuiaOrigem | Ano da Guia Origem | inteiro | Não | Sim | Sim | |
nrGuiaOrigem | Número da Guia Origem | inteiro | Não |
Sim | Sim | |||
dtSolicitacaoOrigem | Data de solicitação da Guia Origem | data | aaaa-mm-dd | Não |
Sim | Sim | |||
dtAutorizacaoOrigem | Data de Autorização da Guia Origem | data | aaaa-mm-dd | Não |
Sim | Sim | ||||
cdVinculoSolicitante | Vinculo do prestador solicitante | caracter | Sim | Sim |
Sim | |||||
cdEspecialidSolicitante | Especialidade do prestador solicitante | caracter | Sim | Sim |
Sim | ||
cdCboSolicitante | CBO do prestador solicitante - Caso em branco a Central TISS preenche com o primeiro CBO válido para a especialidade informada | caracter |
Sim | Sim | Sim | |
cdConselhoProfSolic | Conselho do profissional solicitante | caracter |
Somente para Exames | Sim | Sim | |
nrConselhoProfSolic | Código do Conselho do profissional solicitante | caracter |
Somente para Exames | Sim | Sim | |
ufConselhoProfSolic | UF Conselho do profissional solicitante | caracter |
Somente para Exames | Sim | Sim | |
nmProfSol | Nome do profissional solicitante | caracter |
Somente para Exames | Sim | Sim | |
cdLocalAtendimento | Local 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 |
Sim | Sim | Sim | |
cdClasseHospitalar | Classe Hospitalar (somente editável caso parametrizado no campo "Altera Class.Hosp." do cadastro da Transação) | inteiro |
Somente se Altera Classe Hospitalar | Sim | Sim | |
caraterSolicitacao | Carater da Solicitação (E-Eletiva, U-Urgencia) | caracter |
Somente para Internação e SPSADT | Sim | Sim | |
tpRegimInter | Regime de Internação (TISS Tab. 41)** | inteiro |
Somente para Internação | Sim | Sim | ||
cdFaturamento |
Tipo de Faturamento (TISS Tab. 55)** | inteiro |
Somente para Internação | Sim | Sim | |
dtInternacao | Data de Internação** | data | aaaa-mm-dd |
Somente para Internação | Sim | Sim | |
dtAlta | Data de Alta** | data | aaaa-mm-dd |
Somente para Internação | Sim | Sim |
cdMotivoAlta | Motivo de Alta** | inteiro |
Somente para Internação | Sim | Sim | |
hrInternacao | Hora da internação** | caracter | 99:99 |
Somente para Internação | Sim | Sim |
hrAlta |
Hora da Alta** | caracter | 99:99 |
Somente para Internação | Sim | Sim |
tpInter | Tipo de Internação (TISS Tab. 57)** | inteiro |
Somente para Internação |
Sim | Sim | |||
nmDeclNascViv a nmDeclNascViv5 | Declaração de nascido vivo (campos até o 5) | caracter | Não |
Sim | Sim |
qtNascMortos | Quantidade de nascidos mortos |
inteiro | Não | Sim | Sim | |||
qtNascVivosTermo | Quantidade de nascidos vivos não prematuros | inteiro | Não | Sim | Sim | |
qtNascVivosPrem | Quantidade de nascidos vivos prematuros | inteiro | Não | Sim | Sim | |
cidObito1 a cidObito5 | CID de óbito nascidos mortos (campos do 1 a 5) |
caracter | Não | Sim | Sim | ||
nrDeclaracaoObito1 a nrDeclaracaoObito5 | Declaração de óbito nascidos mortos (campos 1 a 5) |
caracter | Não |
Sim | Sim | |||||
indAcidente | Indicador de acidente (TISS Tab.36) | inteiro | Não | Sim | Sim | |
tpConsulta | Tipo de Consulta (Transação de consulta - TISS Tab. 52) | inteiro |
Somente para Consulta | Sim | Sim | |
tpAtend | Tipo de Atendimento (Transação de SADT - TISS Tab. 50) | inteiro |
Somente para Exames | Sim | Sim |
cdCid,cdCid2,cdCid3 | CID do atendimento | caracter | Não |
Sim | Sim | |
cdCidObito | CID do óbito** | caracter |
Somente para Internação | Sim | Sim | |
nrDeclaracaoObito | Declaração de óbito** | caracter |
Somente para Internação | Sim | Sim | |
dsIndClinica | Indicaçã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ão |
lista de movimentos do documento que serão alterados, incluídos ou excluídos
Tipo do movimento:
PROC - indica procedimento
INSU - indica insumo
PACOTE - indica pacote
Tipo da ação:
INCLUI - indica inclusão do movimento
ALTERA - indica a alteração do movimento
ELIMINA - indica a exclusão do movimento
Sim
lista com os dado do prestador executante
* Obrigatório quando movimento incluído via pacote.
** Obrigatório quando tipoMovimento = INSU.
*** Informado quando insumo genérico.
Sim | Sim | |||||
dsObservacao | Observação do documento | caracter | Não | Sim | Sim | |
anoFatura | Ano da fatura do prestador | inteiro | Não | Não | Sim | |
anoNDR | Ano da NDR do prestador | inteiro | Não | Não | Sim | |
nrSerieFatura | Série da fatura do prestador | caracter | Não | Não | Sim | |
nrSerieNDR | Série da NDR do prestador | caracter | Não | Não | Sim | |
nrFatura | Número da fatura do prestador | caracter | Não | Não | Sim | |
nrNDR | Número da NDR do prestador | caracter | Não | Não | Sim | |
nrLote | Número do lote | inteiro | Não | Não | Não | |
cdUnidadeCarteira | Código da unidade da carteira do beneficiário | inteiro | Sim | Não | Sim | |
cdCarteiraUsuario | Código da carteira do beneficiário | inteiro | Sim | Não | Sim | |
cdUnidadePrestPrincipal | Código da unidade do prestador principal | inteiro | Sim | Não | Sim | |
cdPrestadorPrincipal | Código do prestador principal | inteiro | Sim | Não | Sim | |
cdVinculoPrestPrincipal | Código do vinculo do prestador principal | inteiro | Não | Não | Sim | |
inStatusDocto | Status 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ão | Não | Não | |
urlChave | Chave | caracter | Não | Não | Não | |
cdUnidCdPrestExec | Código da unidade e Prestador executante | caracter | Não | Não | Não | |
nmMedicoAuditor | Nome do Médico Auditor | caracter | Somente para Internação quando obriga médico auditor | Sim | Sim | |
cdCrmMedicoAuditor | CRM do Médico Auditor | caracter | Somente para Internação quando parametrizado para obrigar médico auditor | Sim | Sim | |
cdUfMedicoAuditor | UF do conselho do Médico Auditor | caracter | Somente para Internação quando parametrizado para obrigar médico auditor | Sim | Sim | |
nmEnfermAuditor | Nome do enfermeiro auditor | caracter | Somente para Internação quando parametrizado para obrigar enfermeiro auditor | Sim | Sim | |
cdCorenEnfermAuditor | COREN do enfermeiro auditor | caracter | Somente para Internação quando parametrizado para obrigar enfermeiro auditor | Sim | Sim | |
cdUfEnfermAuditor | UF conselho do enfermeiro auditor | caracter | Somente para Internação quando parametrizado para obrigar enfermeiro auditor | Sim | Sim | |
codLotePrestadorTiss | Código do lote do prestador | inteiro | Não | Não | Não | |
cdUnidadeImp | Código da unidade do Lote de Importação | inteiro | Não | Não | Não | |
cdPrestadorImp | Código do prestador do Lote de Importação | inteiro | Não | Não | Não | |
nrLoteImp | Número do Lote de Importação | inteiro | Não | Não | Não | |
nrSequenciaImp | Número da sequencia do Lote de Importação | inteiro | Não | Não | Nã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ção | não | Sim | |
inAcidente | Indicador de acidente | inteiro | Somente para Internação ou se o documento já possuir informação junto a base. | sim | Sim | |
dtDigitacao | Data de digitação do documento | data | aaaa-mm-dd | Não | Não | Não |
tag: pacotes | Acesse aqui os campos da TAG "pacotes" | Sim | Sim | |||
tag: procedimentos | Acesse aqui os campos da TAG "procedimentos" | Sim | Sim | |||
tag: insumos | Acesse aqui os campos da TAG "insumos" | Sim | Sim | |||
tag: parametros campo: [nomeUsuario] | Nome de usuário que está manipulando o(s) registro(s). | caracter | Sim | Sim |
Expandir | ||
---|---|---|
| ||
Expandir | ||
| ||
{ "codConselhoProfissionalSolicit": "99999","UFconselhoProfissionalSolicit": "RS", "nomeProfissionalSolicitante": NOME PRESTADOR", "localAtendimento": 0, "classeHospitalar": 1, { "caraterSolicitacao": "E", " regimeInternacao1cdCarteiraUsuario": 999999999999, " tipoFaturamentocdCboSolicitante": " 4201115", " dataInternacaocdCid": " 2020-08-20", " dataAltacdCid1": " 2020-08-20", " motivoAltacdCid2": 01 "", " horaInternacaocdCid3": " 01:00", " horaAltacdCidObito": " 16:16", " caraterInternacaocdCidObito1": " E", " tipoInternacaocdCidObito2": 3"", " dataRealizacaocdCidObito3": " 2020-08-20", " horaRealizacaocdCidObito4": " 10:01", " declNascVivcdCidObito5": "", " declNascViv2cdClasseHospitalar": ""1, " declNascViv3cdConselhoProfSolic": "CRM", " declNascViv4cdCorenEnfermAuditor": "", " declNascViv5cdCrmMedicoAuditor": "2", " qtdNascidosMortoscdEspecialidSolicitante": 016, " cidObito1cdFaturamento": "", " cidObito2cdMotivoAlta": ""0, " cidObito3cdPrestadorImp": ""0, " cidObito4cdPrestadorPrincipal": ""11521, " cidObito5cdPrestadorSolicitante": ""11521, " declaracaoObito1cdTransacao": ""3001, " declaracaoObito2cdTransacaoAnt": ""0, " declaracaoObito3cdUfEnfermAuditor": "", " declaracaoObito4cdUfMedicoAuditor": "", " declaracaoObito5cdUnidCdPrestExec": "", " tipoAcomodacao0cdUnidade": 9999, " indicadorAcidentecdUnidadeAnt": 90, " tipoConsulta0cdUnidadeCarteira": 9999, " tipoAtendimentocdUnidadeImp": 0, " saidaSADTcdUnidadePrestPrincipal": 9999, " atendimentoRNcdUnidadePrestadoraAnt": false0, " atendimentoRNSalaPartofalsecdUnidadeSolicitante": 9999, " CIDcdVinculoPrestPrincipal": 2, " CID2codLotePrestadorTiss": "", " CID3dsIndClinica": "", " CID4dsObservacao": "consulta", " CIDObitodtAlta": ""null, " declaracaoObitodtAutorizacaoOrigem": ""null, " indicacaoClinicadtDigitacao": " Descricao da indicação clínica2020-10-26", " observacaodtEmissao": " campo destinado a observações2020-10-20", " medicoAuditordtInternacao": null, " crmMedicoAuditorhrAlta": "", " ufMedicoAuditorhrDigitacao": "091937", " enfermeiroAuditorhrInternacao": "", " corenEnfermeiroAuditorinStatusDocto": 2, " ufEnfermeiroAuditornmDeclNascViv": "", " nomeUsuarioEventualnmDeclNascViv2": "", " dataNascUsuarioEventualnmDeclNascViv3": null"", " codCidadeUsuarioEventualnmDeclNascViv4": 0," sexoUsuarioEventual" : 0, " carteiraUsuarioEventualnmDeclNascViv5": "", " movimentosnmDeclObt": [{0, " idnmEnfermAuditor": 1"", " idPacotenmMedicoAuditor": 0"", " tipoMovimentonmProfSol": " PROCAQUI", " acaonrConselhoProfSolic": " ALTERA12321", " tipoInsumonrDeclaracaoObito": 0"", " movimentonrDeclaracaoObito1": " 10102019", " quantidadenrDeclaracaoObito2": 1.0"", " valorMovimentonrDeclaracaoObito3": 100.0 "", " dataRealizacaonrDeclaracaoObito4": " 2020-08-20", " horaRealizacaonrDeclaracaoObito5": " 10:00", " horaFinalRealizacaonrDocOriginal": "10:00"2, " viaAcessonrDocOriginalAnt": 10, " tecnicaUtilizadanrDocSistema": ""0, " descricaoInsumonrDocSistemaAnt": ""0, " codigoANVISAnrFatura": "", " fornecedorInsumonrGuiaAtendimento": ""0, " notaFornecedornrGuiaOrigem": ""0, " referenciaMaterialnrGuiaPrestador": "", " prestadoresnrLote": [null, " idMovimentonrLoteImp": 10, nrNDR": 1," sequencia" : 0, nrPeriodo": 1110, nrSequenciaImp": 110, nrSerieDocOriginal": "API", nrSerieDocOriginalAnt": " CRM", nrSerieFatura": " 231987", nrSerieNDR": " MG", "cpfProfissionalExecutante": "","quantidadeCobrado": 1.0, "valorCobrado": 100.0, "valorTaxaMovimento": 6.0, "qtdVezesTabelaPag": 2.0, "qtdVezesTabelaCob": 2.0, "cbo "atendimentoRN": false, "dtRealizacao": "2020-10-20", "hrRealizacao": "14:00", "logAtendimRN": false, " especialidadecdFatReducaoAcrescimo": 0, " porteAnestesicocdModulo": 09, " porteAnestesicoCobrancacdMovimento": 0"10101012", " adicionalUrgenciacdPacoteSispac": false"", " urgenciacdTipoAcomodacaoSispac": false"", " nivelcdTipoInsumo": 0, " tipoVinculocdUnidOrigemSispac": 0}] }] } |
c. Retorno
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:
{
"serieDocumento": "API",
"transacao": 3002,
"documentoSistema": 0,
"unidadePrestadora": 120,
"documento": 20,
"unidade": 120
}
Quando ocorrer alguma inconsistência no processo será retornado o código 500 e um json com as ocorrências.
Os códigos de erro na mensagem principal padronizados 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).
...
Exemplo:
{
"message": "Ocorream inconsistencias no processamento da solicitacao.",
"details": [
{
"message": "ID Movimento: 3",
"detailedMessage": "Movimento incluido via pacote intercambio nao pode ser alterado.\n saveDocument - BOSAU-DOCUMENT-MAINTENANCE",
"code": "9999",
"type": "error"
},
{
"message": "TAG 'acao' possui valor invalido: ",
"detailedMessage": " saveDocument - BOSAU-DOCUMENT-MAINTENANCE",
"code": "1838",
"type": "error"
},
],
"detailedMessage": "",
"code": "109",
"type": "error"
}
...
O processo irá permitirá alterar os campos que são passíveis de alteração na Central de Movimentações TISS (hrc.documents).
Restrições:
...
"", } "parametros": [ { "nomeUsuario": "super" } ] } |
c. addMovementManualRestriction Âncora addMovementManualRestriction addMovementManualRestriction
addMovementManualRestriction | |
addMovementManualRestriction |
Campo | Descrição | Tipo dado | Máscara | Obrigatório | Permite definir | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cdUnidade | Código da unidade | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdUnidadePrestadora | Código da unidade prestadora | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdTransacao | Código da transação | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrSerieDocOriginal | Nome da serie do documento | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrDocOriginal | Código do documento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrDocSistema | Sequencia do documento no sistema | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdTipoInsumo | Código do tipo do insumo | inteiro | 99 | Não | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdInsumo | Código do insumo | inteiro | Não | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrProcesso | Número do processo do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrSeqDigitacao | Número de sequencia do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tpMovimento | Tipo do movimento: PROC - indica procedimento INSU - indica insumo PACOTE - indica pacote | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id | Identificador do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
glosasAdicionadas |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tag: parametros campo: [nomeUsuario] | Nome de usuário que está manipulando o(s) registro(s). | caracter | Sim |
Expandir | ||
---|---|---|
| ||
{ |
d. removeMovementManualRestriction Âncora removeMovementManualRestriction removeMovementManualRestriction
removeMovementManualRestriction | |
removeMovementManualRestriction |
Campo | Descrição | Tipo dado | Máscara | Obrigatório | Permite definir | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cdUnidade | Código da unidade | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdUnidadePrestadora | Código da unidade prestadora | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdTransacao | Código da transação | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrSerieDocOriginal | Nome da serie do documento | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrDocOriginal | Código do documento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrDocSistema | Sequencia do documento no sistema | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdTipoInsumo | Código do tipo do insumo | inteiro | 99 | Não | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cdInsumo | Código do insumo | inteiro | Não | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrProcesso | Número do processo do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
nrSeqDigitacao | Número de sequencia do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tpMovimento | Tipo do movimento: PROC - indica procedimento INSU - indica insumo PACOTE - indica pacote | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id | Identificador do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
glosasRemovidas |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
tag: parametros campo: [nomeUsuario] | Nome de usuário que está manipulando o(s) registro(s). | caracter | Sim |
Expandir | ||
---|---|---|
| ||
{ |
e. validateMovementRestriction Âncora validateMovementRestriction validateMovementRestriction
validateMovementRestriction | |
validateMovementRestriction |
Campo | Descrição | Tipo dado | Máscara | Obrigatório | Permite definir | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
cdUnidade | Código da unidade | inteiro | 9999 | Sim | Não | ||||||||||||||||||||||||||||||
cdUnidadePrestadora | Código da unidade prestadora | inteiro | 9999 | Sim | Não | ||||||||||||||||||||||||||||||
cdTransacao | Código da transação | inteiro | 9999 | Sim | Não | ||||||||||||||||||||||||||||||
nrSerieDocOriginal | Nome da serie do documento | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||
nrDocOriginal | Código do documento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||
nrDocSistema | Sequencia do documento no sistema | inteiro | Sim | Não | |||||||||||||||||||||||||||||||
cdTipoInsumo | Código do tipo do insumo | inteiro | 99 | Não | Não | ||||||||||||||||||||||||||||||
cdInsumo | Código do insumo | inteiro | Não | Não | |||||||||||||||||||||||||||||||
nrProcesso | Número do processo do movimento | inteiro | 99999999 | Sim | Não | ||||||||||||||||||||||||||||||
nrSeqDigitacao | Número de sequencia do movimento | inteiro | 99999999 | Sim | Não | ||||||||||||||||||||||||||||||
tpMovimento | Tipo do movimento: PROC - indica procedimento INSU - indica insumo PACOTE - indica pacote | caracter | x(04) | Sim | Não | ||||||||||||||||||||||||||||||
id | Identificador do movimento | inteiro | Sim | Não | |||||||||||||||||||||||||||||||
validacao |
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 |
Expandir | ||
---|---|---|
| ||
{ "cdTipoCob": 1, |
f. removeDocumentsByInvoice
Âncora | ||||
---|---|---|---|---|
|
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
Âncora | ||||
---|---|---|---|---|
|
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
Âncora | ||||
---|---|---|---|---|
|
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
Exemplo:
http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/doc/120/120/2/MARV/300/0
i. getDocumentByInvoice
Âncora | ||||
---|---|---|---|---|
|
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
Exemplo:
http://cxs-man-dts03:8280/api/hrc/v1/documentsMaintenance/fat/120/970/970/2020/970/2000G
j. Json retornado
Âncora | ||||
---|---|---|---|---|
|
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ódigo | Descrição |
---|---|
100 | Indica 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 Âncora regras_neg regras_neg
regras_neg | |
regras_neg |
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
- 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;
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 Âncora valida_inf valida_inf
valida_inf | |
valida_inf |
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:
...
- Consultar o documento
Localizando o documento, ao clicar no link do documento é possível consultar detalhes do documento.
Consultar glosas do documento.
Templatedocumentos |
---|
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |