Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Configurações INI
  3. Verbos
  4. Exemplo de Chamada da API
  5. Atributos de Resposta
  6. Tabelas Utilizadas


01. VISÃO GERAL

A API referenceValues tem como objetivo retornar a tabela de valores de referência para apoio de análise de eventos em auditoria quando utilizado a Carol Pós.


02. CONFIGURAÇÕES INI

Para iniciar a instalação do processo, devemos configurar seu INI Protheus com a funcionalidade REST para habilitar o acesso as API´s. Documentos auxiliares:

1. Configuração do REST do Protheus

Com o INI Protheus configurado, a nomenclatura das API´s ficará no formato: <url + Porta + chave rest definidos no INI Protheus> +  /totvsHealthPlans/v1/referenceValues Exemplo:

Logo, a minha URL será: http://localhost:8080/rest/totvsHealthPlans/v1/referenceValues

03. VERBOS

Seguem os verbos disponíveis na API:

Verbo

Path

Query Params

Descrição

GETreferenceValues
  • level
  • healthProviderId
  • healthProviderOfficialRecord
  • healthProviderName
  • hospitalizationGroupId
  • hospitalCategoryId
  • accommodationId
  • hospitalRegimeId
Retorna dados da tabela de referência

04. EXEMPLO DE CHAMADA DA API


VERBO GET

Através do verbo GET podemos retornar os dados da tabela de referência em 2 níveis:


NÍVEL 1

Retorna: Dados da Rede de Atendimento e Grupo de Internação

QueryParams obrigatórios: Não há.

URL Exemplo: http://localhost:8080/rest/totvshealthplans/v1/referenceValues?level=1


No nível 1 ainda podemos realizar alguns filtros opcionais:

AtributoDescrição
healthProviderId Código RDA
healthProviderOfficialRecordCPF/CNPJ RDA
healthProviderNameDescrição RDA
hospitalizationGroupIdCódigo Grupo de Internação
hospitalCategoryIdCódigo Categoria Hospitalar
accommodationIdCódigo Acomodação
hospitalRegimeId Código Regime Hospitalar


NÍVEL 2

Retorna: Categoria do Hospital, Regime Hospitalar e Acomodação.

QueryParams obrigatórios:

AtributoDescrição
healthProviderId Código RDA
hospitalizationGroupIdCódigo Grupo de Internação
hospitalCategoryIdCódigo Categoria Hospitalar
accommodationIdCódigo Acomodação
hospitalRegimeId Código Regime Hospitalar


URL Exemplo: http://localhost:8080/rest/totvshealthplans/v1/referenceValues?level=1&healthProviderId=000004&hospitalCategoryId=1&hospitalizationGroupId=1&accommodationId=1&hospitalRegimeId=1


05. ATRIBUTOS DE RESPOSTA

Chamada GET Level 1:

AtributoCampo Protheus Tipo
healthProviderIdBO0_CODRDACaracter
hospitalizationGroupIdBO0_GRPINTCaracter
officialRecordBAU_CPFCGCCaracter
nameBAU_NOMECaracter
hospitalCategoryIdBO0_CATHOSCaracter
accommodationIdBO0_ACOMODCaracter
hospitalRegimeIdBO0_REGINTCaracter
Sucesso 200 - Level 1
{
    "hasNext": false,
    "items": [
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "1",
                "description": "Clinica"
            },
            "hospitalCategory": {
                "id": "1",
                "description": "AAA - Alto custo"
            },
            "hospitalRegime": {
                "id": "1",
                "description": "Hospitalar"
            },
            "accommodation": {
                "id": "1",
                "description": "Enfermaria"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "1",
                "description": "Clinica"
            },
            "hospitalCategory": {
                "id": "1",
                "description": "AAA - Alto custo"
            },
            "hospitalRegime": {
                "id": "3",
                "description": "Domiciliar"
            },
            "accommodation": {
                "id": "1",
                "description": "Enfermaria"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "1",
                "description": "Clinica"
            },
            "hospitalCategory": {
                "id": "2",
                "description": "AA - Custo Medio"
            },
            "hospitalRegime": {
                "id": "1",
                "description": "Hospitalar"
            },
            "accommodation": {
                "id": "1",
                "description": "Enfermaria"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "2",
                "description": "Cirurgica"
            },
            "hospitalCategory": {
                "id": "2",
                "description": "AA - Custo Medio"
            },
            "hospitalRegime": {
                "id": "2",
                "description": "Hospital-Dia"
            },
            "accommodation": {
                "id": "2",
                "description": "Apartamento"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "3",
                "description": "Obstetrica"
            },
            "hospitalCategory": {
                "id": "3",
                "description": "A - Custo Padrao"
            },
            "hospitalRegime": {
                "id": "3",
                "description": "Domiciliar"
            },
            "accommodation": {
                "id": "3",
                "description": "UTI"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "4",
                "description": "Pediatrica"
            },
            "hospitalCategory": {
                "id": "4",
                "description": "I - Interior"
            },
            "hospitalRegime": {
                "id": "1",
                "description": "Hospitalar"
            },
            "accommodation": {
                "id": "1",
                "description": "Enfermaria"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000004",
                "officialRecord": "34585221000190",
                "name": "HOSPITAL BOM CLIMA"
            },
            "hospitalizationGroup": {
                "id": "5",
                "description": "Psiquiatrica"
            },
            "hospitalCategory": {
                "id": "5",
                "description": "E - Especial"
            },
            "hospitalRegime": {
                "id": "2",
                "description": "Hospital-Dia"
            },
            "accommodation": {
                "id": "2",
                "description": "Apartamento"
            }
        },
        {
            "healthInsurer": {
                "healthProviderId": "000005",
                "officialRecord": "48564082000123",
                "name": "PRODE ODONTOLOGIA"
            },
            "hospitalizationGroup": {
                "id": "1",
                "description": "Clinica"
            },
            "hospitalCategory": {
                "id": "1",
                "description": "AAA - Alto custo"
            },
            "hospitalRegime": {
                "id": "1",
                "description": "Hospitalar"
            },
            "accommodation": {
                "id": "1",
                "description": "Enfermaria"
            }
        }
    ]
}


Chamada GET Level 2:

Atributo Campo ProtheusTipo
initialDateBO0_DATINIData
finalDateBO0_DATFIMData
frequenceBO0_FREQNumérico
CLDValueBO0_CLDNumérico
CMIValueBO0_CMINumérico
hospitalizationAmountBO0_QTDINTNumérico
dailyGroupingBO0_AGRDIACaracter
Sucesso 200 - Level 2
{
    "hasNext": false,
    "items": [
        {
            "initialDate": "2024-01-01",
            "finalDate": "2025-12-31",
            "dailyGrouping": "Agrupamento Diaria 1",
            "frequence": 2,
            "hospitalizationAmount": 5,
            "CLDValue": 60.66,
            "CMIValue": 77.42
        },
        {
            "initialDate": "",
            "finalDate": "",
            "dailyGrouping": "Agrupamento Diaria 2",
            "frequence": 3,
            "hospitalizationAmount": 3,
            "CLDValue": 100,
            "CMIValue": 150
        }
    ]
}


GET com falha 400:

Erro 400
{
    "code": 400,
    "message": "Campo obrigatorio nao informado",
    "detailedMessage": "level"
}


06. TABELAS UTILIZADAS

Tabelas SX2:

ChaveAquivoNomeModoModoUnModoEmpÚnico
BO0BO0T10Valores de ReferênciaCompartilhadoExclusivoExclusivoBO0_FILIAL+BO0_SEQUEN


Campos SX3 (Tabela BO0):

CampoOrdemTipoTamanhoDecimalTítuloDescriçãoPictureValidBrowseVisualContextoCbox
BO0_FILIAL01Caracter80FilialFilial do Sistema@!
NãoAlterarReal
BO0_SEQUEN02Caracter100SequencialSequencial@!
SimAlterarReal
BO0_CODINT03Caracter40Operadora Código Operadora@!
SimAlterarReal
BO0_CODRDA04Caracter60Cod RDACódigo Rede Atendimento@!
SimAlterarReal
BO0_CATHOS05Caracter10Categ HospCategoria Hospitalar@!Vazio .Or. Pertence('12345') SimAlterarRealVazio .Or. Pertence('12345')
BO0_ACOMOD06Caracter10Tipo de AcomTipo de Acomodação@!Vazio .Or. Pertence('123')SimAlterarRealVazio .Or. Pertence('123')
BO0_GRPINT07Caracter10Grupo InternGrupo de Internação@!Vazio .Or. Pertence('12345') SimAlterarRealVazio .Or. Pertence('12345') 
BO0_REGINT08Caracter10Regime InterRegime de Internação@!Vazio .Or. Pertence('123')SimAlterarRealVazio .Or. Pertence('123')
BO0_DATINI09Date80Iní Periodo Início Período

SimAlterarReal
BO0_DATFIM10Date80Fim Período Fim Período

SimAlterarReal
BO0_AGRDIA11Caracter200Agrup DiariaAgrup. de Diárias

SimAlterarReal
BO0_FREQ  12Number120Frequência  Frequência@E 999999999999
SimAlterarReal
BO0_QTDINT13Number120Qtd Intern  Qtd Internações@E 999999999999
SimAlterarReal
BO0_CLD   14Number172Valor CLDValor CLD

@E 999,999,999.99


SimAlterarReal
BO0_CMI   15Number172Valor CMIValor CMI@E 999,999,999.99
SimAlterarReal


Índices SIX:

ÍndiceChaveChave
BO01BO0_FILIAL+BO0_SEQUEN
BO02BO0_FILIAL+BO0_CODINT+BO0_CODRDA+BO0_GRPINT+BO0_CATHOS+BO0_REGINT+BO0_ACOMOD