Árvore de páginas


CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
    1. ContinuousMedications - Inclusão de medicamentos de uso contínuo
    2. ContinuousMedications - Retorna os medicamentos de uso contínuo
    3. Refunds - Retorna os protocolos de reembolso do medicamento
  3. Tela api continuousMedications
    1. Outras Ações / Ações relacionadas
  4. Tela api continuousMedications
    1. Principais Campos e Parâmetros
  5. Tabelas utilizadas


01. VISÃO GERAL

API para a entidade continuousMedications (Medicamentos de uso contínuo) do produto TOTVS Saúde Planos Linha Protheus.

Clique aqui para detalhes sobre como habilitar o serviço de APIs


Autenticação das APIs

API para obtenção do token de acesso às API’s REST no Protheus

De posse então do access_token obtido na api token, basta fazer a requisição à API desejada incluindo no cabeçalho o parâmetro Authorization com o valor Bearer mais o token de acesso.


02. EXEMPLO DE UTILIZAÇÃO

ContinuousMedications - Inclusão de medicamentos de uso contínuo

Realiza a inclusão de novos medicamentos de uso contínuo para o beneficiário.

/totvsHealthPlans/refundSetup/v1/continuousMedications

POST

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required
healthInsurerCodestringCódigo da operadora de saúde no sistemaBB0_CODOPE*required
subscriberIdstring

Matricula do beneficiário

(obtido através da API Beneficiaries - v1.000 (Family Contract))

B4F_MATRIC*required
professionalCouncilstring

Sigla do conselho regional do profissional de saúde da receita

(obtido através da API RegionalCouncils - v1.000 (Attendance Network))

B4F_SIGLA*required
professionalCouncilNumberstring

Numero do conselho regional do profissional de saúde da receita

B4F_REGSOL*required
stateAbbreviationstring

Estado do conselho regional do profissional de saúde da receita

B4F_ESTSOL*required
professionalNamestring

Nome do profissional de saúde da receita

(obtido através da API Professionals - v1.000 (Attendance Network))

BB0_NOME*required
prescriptionDatestring (date)Data da receitaB4F_DATINI*required
medicationsarrayMedicamentos de uso contínuo
*required
medications.tableCodestring

Código da tabela do medicamento

(obtido através API Medications - v1.000 (Procedure))

B7D_CODPAD*required
medications.medicationCodestring

Código do medicamento

(obtido através API Medications - v1.000 (Procedure))

B7D_CODMED*required
attachmentsarrayAnexos dos medicamentos
*required
attachments.hrefstringUrl do arquivo para que seja realizado o download
*required
Exemplo
{
	"healthInsurerCode" : "0001",
	"subscriberId" : "00011008000027010",
	"professionalCouncil" : "CRM",
    "stateAbbreviation" : "SP",
    "professionalName" : "VINICIUS",
    "prescriptionDate" : "2023-04-03",
	"professionalCouncilNumber" : "334456",
	"medications" : [
        {
            "tableCode" : "04",
            "medicationCode" : "0490173961"
        }
	],
    "attachments" : [
        {
            "href" : "https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png?teste"
        }
    ]
}
prescriptionCodestringCódigo da receita no sistemaB4F_CODREC*required
statusstring

Status da receita dos medicamentos, sendo:

  • 0 - Solicitado (Portal)
  • 1 - Protocolado
  • 2 - Em Analise
  • 3 - Deferido
  • 4 - Indeferido
  • 5 - Deferido Parcialmente
  • 6 - Pendente Inf. beneficiário
  • A - Solicitação não concluída
B4F_STATUS*required
prescriptionDescriptionstringDescrição da receitaB4F_DESCRI*required
subscriberIdstringMatricula do beneficiárioB4F_MATRIC*required
subscriberNamestringNome do beneficiárioBA1_NOMUSR*required
registrationDatestring (date)Data de cadastro da receita do medicamentoB4F_DTCAD*required
professionalCouncilstringSigla do conselho regional do profissional da receitaB4F_SIGLA*required
stateAbbreviationstringEstado do conselho regional do profissional da receitaB4F_ESTSOL*required
professionalCouncilNumberstringNumero do conselho regional do profissional da receitaB4F_REGSOL*required
professionalNamestringNome do profissional da receitaBB0_NOME*required
startValidityDatestring (date)Data inicial de validade da receitaB4F_DATINI*required
endValidityDatestring (date)Data final de validade da receitaB4F_DATFIN*required
medicationsarrayMedicamentos de contínuo da receita
*required
medications.tableCodestringCódigo da tabela do medicamentoB7D_CODPAD*required
medications.medicationCodestringCódigo do medicamentoB7D_CODMED*required
medications.medicationDescriptionstringDescrição do medicamentoBR8_DESCRI*required
Exemplo
{
    "prescriptionCode": "41750520230619000003",
    "status": "1",
    "prescriptionDescription": "Receita Nº 41750520230619000003.",
    "subscriberId": "00011008000027010",
    "subscriberName": "HERNANDES ALVES DA SILVA",
    "registrationDate": "2023-06-19",
    "professionalCouncil": "CRM",
    "stateAbbreviation": "SP",
    "professionalCouncilNumber": "334457",
    "professionalName": "VINICIUS",
    "startValidityDate": "2023-04-03",
    "endValidityDate": "2023-04-03",
    "medications": [
        {
            "tableCode": "04",
            "medicationCode": "0490173961",
            "medicationDescription": "DRAMIN 100 MG COM CT BL AL PLAS INC X 20"
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.
Exemplo
{
    "code": "E001",
    "message": "JSON inválido",
    "detailedMessage": "Json Error: >>\"professionalCouncil\" : \"CRM\",\r\n    \"stateAbbreviation\" : \"SP\",\r\n    \"professionalName\" : \"VINICIUS\",\r\n    \"prescriptionDate\" : \"2023-04-03\",\r\n\t\"professionalCouncilNumber\" : \"334457\",\r\n\t\"medications\" : [\r\n        {\r\n            \"tableCode\" : \"04\",\r\n            \"medicationCode\" : \"0490173961\"\r\n        }\r\n\t],\r\n    \"attachments\" : [\r\n        {\r\n            \"href\" : \"https://www.totvs.com/wp-content/uploads/2021/04/totvs-shared.png?teste\"\r\n        }\r\n    ]\r\n}<<"
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.*required
Exemplo
{
    "code": "E002",
    "message": "Os campos do json no body estão inválidos",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E002D-406",
            "message": "Tipo inválido para o campo professionalCouncilNumber",
            "detailedMessage": "O valor do campo professionalCouncilNumber deve ser do tipo (C)."
        },
        {
            "code": "E002A-406",
            "message": "Campo attachments não informado",
            "detailedMessage": "Não foi informado o campo attachments."
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
Exemplo
{
    "code": "E003",
    "message": "Operadora de Saúde não encontrada",
    "detailedMessage": "Não foi encontrada nenhum operadora de saúde com o código 0099"
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
Exemplo
{
    "code": "E004",
    "message": "Beneficiário não encontrado",
    "detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027012"
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.*required
Exemplo
{
    "code": "E005",
    "message": "Erro ao incluir receita de medicamentos de uso continuo.",
    "detailedMessage": "Verifique a lista de erros para mais detalhes",
    "details": [
        {
            "code": "E005-1",
            "message": "Não existe registro relacionado a chave informada no alias BR8, ordenação 1.",
            "detailedMessage": "Id do campo de erro: B7D_CODMED; Id do erro: REGNOIS"
        },
        {
            "code": "E005-1",
            "message": "Erro ao realizar download do arquivo.",
            "detailedMessage": "Status code: 404; Erro: Not Found\r\n; Url: https://www.totvs.com/wp-content/uploads/2022/04/totvs-shared.png?teste"
        }
    ]
}

ContinuousMedications - Retorna os medicamentos de uso contínuo

Retorna os medicamentos de uso contínuo do beneficiário

/totvsHealthPlans/refundSetup/v1/continuousMedications

GET

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required
subscriberId (query)string

Matricula do beneficiário (BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)

(obtido através da API Beneficiaries - v1.000 (Family Contract))

*required
prescriptionCode (query)string

Filtro de medicamentos pelo código da receita no sistema


prescriptionStatus (query)string

Filtro de medicamentos pelo status da receita, sendo:

  • 0 - Solicitado (Portal)
  • 1 - Protocolado
  • 2 - Em Analise
  • 3 - Deferido
  • 4 - Indeferido
  • 5 - Deferido Parcialmente
  • 6 - Pendente Inf. beneficiário
  • A - Solicitação não concluída

pode ser enviado mais de um status. Exemplo: 0,1,2,3


medicationCode (query)stringFiltro de medicamentos pelo código
expirationDate (query)string

Filtro de medicamentos pela validade, sendo:

  • 1 - Medicamentos dentro da validade
  • 2 - Medicamentos fora da validade

page (query)

string

Valor numérico (maior que zero) representando a página solicitada
pageSize (query)

string

Valor numérico (maior que zero) representando o total de registros retornados na consulta
order (query)

string

Lista de campos para ordenação, separada por virgula (,).
fields (query)

string

Lista com o nome das propriedades JSON que serão retornadas.
filter (query)

string

Filtros seguindo o padrão ODATA

Body


Não possui body!

hasNextbooleanIndica se ainda existem registros a serem retornados
*required
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de medicamentos

items.prescription_statusstring

Status da receita do medicamento:

  • 0 - Solicitado (Portal)
  • 1 - Protocolado
  • 2 - Em Analise
  • 3 - Deferido
  • 4 - Indeferido
  • 5 - Deferido Parcialmente
  • 6 - Pendente Inf. beneficiário
  • A - Solicitação não concluída
B4F_STATUS*required
items.prescription_CodestringCódigo da receita do medicamentoB7D_CODREC*required
items.initial_medication_datestring (date)Data inicial da validade do medicamentoB7D_DTVINI*required
items.final_medication_datestring (date)Data final da validade do medicamentoB7D_DTFVAL*required
items.medication_codestringCódigo do medicamentoB7D_CODMED*required
items.medication_descriptionstringDescrição do medicamentoBR8_DESCRI*required
items.unit_measurestringUnidade de consumo do medicamentoB7D_UNICON
items.quantity_authorizednumeric (integer)Quantidade autorizada do medicamentoB7D_QTDAUT
items.quantity_executednumeric (integer)Quantidade utilizada (executada) do medicamentoB7D_QTDEXE
items.state_abbreviationstringEstado do conselho regional do profissional da receitaB4F_ESTSOL*required
items.professional_councilstringSigla do conselho regional do profissional da receitaB4F_SIGLA*required
items.professional_council_numberstringNumero do conselho regional do profissional da receitaB4F_REGSOL*required
items.professional_namestringNome do profissional da receitaBB0_NOME*required
Exemplo
{
    "items": [
        {
            "prescription_status": "3",
            "prescription_code": "41750520230419000001",
            "initial_medication_date": "2023-01-01",
            "final_medication_date": "2023-01-01",
            "medication_code": "0490269497",
            "medication_description": "AAS ADULTO 500 MG COM CT BL AL PLAS INC X 20",
            "unit_measure": "",
            "quantity_authorized": 9999,
            "quantity_executed": 0,
            "state_abbreviation": "SP",
            "professional_council": "CRM",
            "professional_council_number": "1244477111",
            "professional_name": "FRANCISCO"
        },
        {
            "prescription_status": "1",
            "prescription_code": "41750520230619000001",
            "initial_medication_date": "2023-04-03",
            "final_medication_date": "2023-04-03",
            "medication_code": "0490173961",
            "medication_description": "DRAMIN 100 MG COM CT BL AL PLAS INC X 20",
            "unit_measure": "",
            "quantity_authorized": 0,
            "quantity_executed": 0,
            "state_abbreviation": "SP",
            "professional_council": "CRM",
            "professional_council_number": "334456",
            "professional_name": "VINICIUS"
        }
    ],
    "hasNext": true,
    "remainingRecords": 3
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.*required
Exemplo
{
    "code": "E001",
    "message": "Existem chaves obrigatórias que não foram informadas.",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001-406",
            "message": "Chave subscriberId obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave subscriber-id."
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
Exemplo
{
    "code": "E001",
    "message": "Beneficiário não encontrado",
    "detailedMessage": "Não foi possível retornar os dados do beneficiário através da matrícula informada."
}

Refunds - Retorna os protocolos de reembolso do medicamento

Retorna protocolos de reembolso vinculado ao medicamento de uso contínuo.

/totvsHealthPlans/refundSetup/v1/continuousMedications/refunds

GET

Authorization (header)

string

Cabeçalho usado para autorização das requisições (Bearer token)*required

Content-Type (header)

string

'application/json' é o formato do conteúdo*required
prescriptionCode (query)string

Código da receita do medicamento

*required
medicationCode (query)stringFiltro de medicamentos pelo código
page (query)

string

Valor numérico (maior que zero) representando a página solicitada
pageSize (query)

string

Valor numérico (maior que zero) representando o total de registros retornados na consulta
order (query)

string

Lista de campos para ordenação, separada por virgula (,).
fields (query)

string

Lista com o nome das propriedades JSON que serão retornadas.
filter (query)

string

Filtros seguindo o padrão ODATA

Body


Não possui body!

hasNextbooleanIndica se ainda existem registros a serem retornados
*required
remainingRecordsnumeric (integer)Quantidade de registros ainda existem para retorno
*required
itemsarrayLista de protocolos do medicamento

items.prescription_codestringCódigo da receita do medicamentoB1N_CODREC*required
items.medication_codestringCódigo do medicamentoB1N_CODPRO*required
items.medication_descriptionstringDescrição do medicamentoBR8_DESCRI*required
items.protocolstringNumero do protocolo de reembolsoB1N_PROTOC*required
items.statusstring

Status do protocolo de reembolso, sendo:

  • 0 = Solicitado (Portal)
  • 1 = Protocolado
  • 2 = Em analise
  • 3 = Deferido
  • 4 = Indeferido
  • 5 = Em digitação
  • 6 = Lib. financeiro
  • 7 = Não lib. financeiro
  • 8 = Glosado
  • 9 = Auditoria
  • A = Solicitação não concluída
  • B = Aguardando informação do Beneficiário
  • C = Aprovado Parcialmente
  • D = Cancelado
  • E = Reembolso Revertido
BOW_STATUS*required
items.request_datestring (date)Data de solicitação do reembolsoBOW_DTDIGI*required
items.quantity_requestednumeric (integer)Quantidade no reembolsoB1N_QTDMED*required
items.repayment_datestring (date)Data de pagamento do reembolsoBOW_DATPAG
Exemplo
{
    "items": [
        {
            "prescription_code": "41750520230419000001",
            "medication_code": "0490173961",
            "medication_description": "DRAMIN 100 MG COM CT BL AL PLAS INC X 20",
            "protocol": "41750520230525000002",
            "status": "A",
            "request_date": "2023-05-25",
            "quantity_requested": 1,
            "repayment_date": "2023-05-24"
        },
        {
            "prescription_code": "41750520230419000001",
            "medication_code": "0490173961",
            "medication_description": "DRAMIN 100 MG COM CT BL AL PLAS INC X 20",
            "protocol": "41750520230529000001",
            "status": "A",
            "request_date": "2023-05-29",
            "quantity_requested": 1,
            "repayment_date": "2023-04-24"
        }
    ],
    "hasNext": true,
    "remainingRecords": 30
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
detailsarrayLista de objetos de erro (recursiva) com mais detalhes sobre o erro principal.*required
Exemplo
{
    "code": "E001",
    "message": "Existem chaves obrigatórias que não foram informadas.",
    "detailedMessage": "Verifique a lista de erros no campo details para mais detalhes.",
    "details": [
        {
            "code": "E001-406",
            "message": "Chave prescriptionCode obrigatória",
            "detailedMessage": "Não foi informado no queryParams da requisição a chave prescription-code."
        }
    ]
}
codestringCódigo identificador do erro.*required
messagestringLiteral no idioma da requisição descrevendo o erro para o usuário.*required
detailedMessagestringMensagem técnica e mais detalhada do erro.*required
Exemplo
{
    "code": "E001",
    "message": "Receita Não Encontrada",
    "detailedMessage": "Não foi possível retornar os dados da receita através do código da receita informada."
}


03. TELA API CONTINUOUSMEDICATIONS

Outras Ações / Ações relacionadas

AçãoDescrição
Não se aplicaNão se aplica

04. TELA API CONTINUOUSMEDICATIONS

Principais Campos e Parâmetros

CampoDescrição
B4F_CODRECCódigo da receita no sistema
B7D_CODMEDCódigo do medicamento
B4F_STATUSStatus da receita do medicamento
MV_PLVALREValida os medicamentos na solicitação de reembolso no portal pela data da receita ou pela data dos medicamentos

05. TABELAS UTILIZADAS

  • Beneficiários (BA1)
  • Operadoras de Saúde (BA0)
  • Cab. Cad. Receitas (B4F)
  • Medicamentos da Receita (B7D)
  • Profissionais de Saúde (BB0)
  • Tabela Padrão (BR8)