- Criado por Vinicius Queiros Teixeira, última alteração em 30 out, 2023
CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Tela api continuousMedications
- Outras Ações / Ações relacionadas
- Outras Ações / Ações relacionadas
- Tela api continuousMedications
- Principais Campos e Parâmetros
- Principais Campos e Parâmetros
- 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
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 |
| healthInsurerCode | string | Código da operadora de saúde no sistema | BB0_CODOPE | *required |
| subscriberId | string | Matricula do beneficiário (obtido através da API Beneficiaries - v1.000 (Family Contract)) | B4F_MATRIC | *required |
| professionalCouncil | string | Sigla do conselho regional do profissional de saúde da receita (obtido através da API RegionalCouncils - v1.000 (Attendance Network)) | B4F_SIGLA | *required |
| professionalCouncilNumber | string | Numero do conselho regional do profissional de saúde da receita | B4F_REGSOL | *required |
| stateAbbreviation | string | Estado do conselho regional do profissional de saúde da receita | B4F_ESTSOL | *required |
| professionalName | string | Nome do profissional de saúde da receita (obtido através da API Professionals - v1.000 (Attendance Network)) | BB0_NOME | *required |
| prescriptionDate | string (date) | Data da receita | B4F_DATINI | *required |
| medications | array | Medicamentos de uso contínuo | *required | |
| medications.tableCode | string | Código da tabela do medicamento (obtido através API Medications - v1.000 (Procedure)) | B7D_CODPAD | *required |
| medications.medicationCode | string | Código do medicamento (obtido através API Medications - v1.000 (Procedure)) | B7D_CODMED | *required |
| attachments | array | Anexos dos medicamentos | *required | |
| attachments.href | string | Url do arquivo para que seja realizado o download | *required |
{
"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"
}
]
}
| prescriptionCode | string | Código da receita no sistema | B4F_CODREC | *required |
| status | string | Status da receita dos medicamentos, sendo:
| B4F_STATUS | *required |
| prescriptionDescription | string | Descrição da receita | B4F_DESCRI | *required |
| subscriberId | string | Matricula do beneficiário | B4F_MATRIC | *required |
| subscriberName | string | Nome do beneficiário | BA1_NOMUSR | *required |
| registrationDate | string (date) | Data de cadastro da receita do medicamento | B4F_DTCAD | *required |
| professionalCouncil | string | Sigla do conselho regional do profissional da receita | B4F_SIGLA | *required |
| stateAbbreviation | string | Estado do conselho regional do profissional da receita | B4F_ESTSOL | *required |
| professionalCouncilNumber | string | Numero do conselho regional do profissional da receita | B4F_REGSOL | *required |
| professionalName | string | Nome do profissional da receita | BB0_NOME | *required |
| startValidityDate | string (date) | Data inicial de validade da receita | B4F_DATINI | *required |
| endValidityDate | string (date) | Data final de validade da receita | B4F_DATFIN | *required |
| medications | array | Medicamentos de contínuo da receita | *required | |
| medications.tableCode | string | Código da tabela do medicamento | B7D_CODPAD | *required |
| medications.medicationCode | string | Código do medicamento | B7D_CODMED | *required |
| medications.medicationDescription | string | Descrição do medicamento | BR8_DESCRI | *required |
{
"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"
}
]
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
| details | array | Lista de objetos de erro (recursiva) com mais detalhes sobre o erro principal. |
{
"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}<<"
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
| details | array | Lista de objetos de erro (recursiva) com mais detalhes sobre o erro principal. | *required |
{
"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."
}
]
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
{
"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"
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
{
"code": "E004",
"message": "Beneficiário não encontrado",
"detailedMessage": "Não foi encontrado nenhum beneficiário com a matricula 00011008000027012"
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
| details | array | Lista de objetos de erro (recursiva) com mais detalhes sobre o erro principal. | *required |
{
"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"
}
]
}
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:
pode ser enviado mais de um status. Exemplo: 0,1,2,3 | |
| medicationCode (query) | string | Filtro de medicamentos pelo código | |
| expirationDate (query) | string | Filtro de medicamentos pela validade, sendo:
| |
| 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!
| hasNext | boolean | Indica se ainda existem registros a serem retornados | *required | |
| remainingRecords | numeric (integer) | Quantidade de registros ainda existem para retorno | *required | |
| items | array | Lista de medicamentos | ||
| items.prescription_status | string | Status da receita do medicamento:
| B4F_STATUS | *required |
| items.prescription_Code | string | Código da receita do medicamento | B7D_CODREC | *required |
| items.initial_medication_date | string (date) | Data inicial da validade do medicamento | B7D_DTVINI | *required |
| items.final_medication_date | string (date) | Data final da validade do medicamento | B7D_DTFVAL | *required |
| items.medication_code | string | Código do medicamento | B7D_CODMED | *required |
| items.medication_description | string | Descrição do medicamento | BR8_DESCRI | *required |
| items.unit_measure | string | Unidade de consumo do medicamento | B7D_UNICON | |
| items.quantity_authorized | numeric (integer) | Quantidade autorizada do medicamento | B7D_QTDAUT | |
| items.quantity_executed | numeric (integer) | Quantidade utilizada (executada) do medicamento | B7D_QTDEXE | |
| items.state_abbreviation | string | Estado do conselho regional do profissional da receita | B4F_ESTSOL | *required |
| items.professional_council | string | Sigla do conselho regional do profissional da receita | B4F_SIGLA | *required |
| items.professional_council_number | string | Numero do conselho regional do profissional da receita | B4F_REGSOL | *required |
| items.professional_name | string | Nome do profissional da receita | BB0_NOME | *required |
{
"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
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
| details | array | Lista de objetos de erro (recursiva) com mais detalhes sobre o erro principal. | *required |
{
"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."
}
]
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
{
"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."
}
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) | string | Filtro 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!
| hasNext | boolean | Indica se ainda existem registros a serem retornados | *required | |
| remainingRecords | numeric (integer) | Quantidade de registros ainda existem para retorno | *required | |
| items | array | Lista de protocolos do medicamento | ||
| items.prescription_code | string | Código da receita do medicamento | B1N_CODREC | *required |
| items.medication_code | string | Código do medicamento | B1N_CODPRO | *required |
| items.medication_description | string | Descrição do medicamento | BR8_DESCRI | *required |
| items.protocol | string | Numero do protocolo de reembolso | B1N_PROTOC | *required |
| items.status | string | Status do protocolo de reembolso, sendo:
| BOW_STATUS | *required |
| items.request_date | string (date) | Data de solicitação do reembolso | BOW_DTDIGI | *required |
| items.quantity_requested | numeric (integer) | Quantidade no reembolso | B1N_QTDMED | *required |
| items.repayment_date | string (date) | Data de pagamento do reembolso | BOW_DATPAG |
{
"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
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
| details | array | Lista de objetos de erro (recursiva) com mais detalhes sobre o erro principal. | *required |
{
"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."
}
]
}
| code | string | Código identificador do erro. | *required |
| message | string | Literal no idioma da requisição descrevendo o erro para o usuário. | *required |
| detailedMessage | string | Mensagem técnica e mais detalhada do erro. | *required |
{
"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ção | Descrição |
|---|---|
| Não se aplica | Não se aplica |
04. TELA API CONTINUOUSMEDICATIONS
Principais Campos e Parâmetros
| Campo | Descrição |
|---|---|
| B4F_CODREC | Código da receita no sistema |
| B7D_CODMED | Código do medicamento |
| B4F_STATUS | Status da receita do medicamento |
| MV_PLVALRE | Valida 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)