Atualizar Paciente
Este método realiza a atualização do cadastro de pacientes no programa PBM. Ele depende de dados dinâmicos que variam conforme o programa e a origem de cadastro, por isso o fluxo requer validações prévias.
🔐 Passo 1: Obtenção do Token de Autenticação
Antes de realizar qualquer consulta, é obrigatório autenticar-se e obter um token JWT válido.
👉 Para mais detalhes, consulte: Como criar um token
📋 Passo 2: Consultar Campos do Formulário
Use o método consultProgramForm
para obter os campos obrigatórios e opcionais do formulário conforme os parâmetros abaixo:
Parâmetros
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
programCode | Int | Sim | Código do programa PBM |
originCode | Int | Sim | Código da origem de cadastro |
Exemplo de requisição
query {
WsAcesso_consultProgramForm(args: { programCode: <Preencher programCode>, originCode: <Preencher originCode> }) {
code
message
status
forms {
formType
fields {
fieldName
displayName
type
displayConfiguration
}
}
}
}
Exemplo simplificado de retorno
{
"forms": [
{
"formType": "Paciente",
"fields": [
{ "fieldName": "Nome", "displayConfiguration": "Obrigatório" },
{ "fieldName": "DataNascimento", "displayConfiguration": "Obrigatório" },
{ "fieldName": "TelefoneCelular", "displayConfiguration": "Obrigatório" },
{ "fieldName": "Email", "displayConfiguration": "Opcional" }
]
},
{
"formType": "Medicamento",
"fields": [
{ "fieldName": "CRM", "displayConfiguration": "Obrigatório" },
{ "fieldName": "CRMUF", "displayConfiguration": "Obrigatório" }
]
}
]
}
❓ Passo 3: Consultar Perguntas e Respostas Dinâmicas (opcional)
Caso o programa utilize perguntas e respostas dinâmicas, utilize o método listDynamicsFieldsOrigin
.
Parâmetros
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
programCode | Int | Sim | Código do programa PBM |
originCode | Int | Sim | Código da origem de cadastro |
Exemplo de requisição
query {
WsAcesso_listDynamicsFieldsOrigin(args: { programCode: <Preencher programCode>, originCode: <Preencher originCode> }) {
code
message
status
questionnaire {
questionCode
titleDisplay
productName
answers {
responseCode
titleDisplay
allowTypedValue
}
}
}
}
Exemplo de retorno (resumido)
{
"questionnaire": [
{
"questionCode": 1,
"titleDisplay": "Indicação",
"productName": "MEDICAMENTO EXEMPLO",
"answers": [
{ "responseCode": 101, "titleDisplay": "Indicação Genérica" }
]
}
]
}
📝 Passo 4: Enviar Dados para Atualização do Cadastro
Com todos os dados coletados, envie a mutation updatePatient
.
Parâmetros
Parâmetro | Tipo | Obrigatório | Descrição |
---|---|---|---|
programCode | Int | Sim | Código do programa PBM |
originCode | Int | Sim | Código da origem de cadastro |
cpf | String | Sim | CPF do Paciente |
forms | forms | Sim | Preencher os formulários |
Exemplo de requisição
mutation {
WsAcesso_updatePatient(
input: {
programCode: <Preencher programCode>
updatePatient: {
cpf: "12345678909"
originCode: <Preencher originCode>
forms: [
{
formType: "Paciente"
fields: [
{ name: "Nome", value: "PACIENTE EXEMPLO" },
{ name: "DataNascimento", value: "01/01/1990" },
{ name: "Sexo", value: "M" },
{ name: "TelefoneCelular", value: "11999990000" },
{ name: "Email", value: "exemplo@email.com" },
{ name: "AutorizaContato", value: "S" },
{ name: "AutorizaContatoTelefone", value: "S" },
{ name: "AutorizaContatoEmail", value: "S" },
{ name: "AutorizaContatoSMS", value: "S" },
{ name: "AutorizaContatoCorreio", value: "S" }
]
},
{
formType: "Medicamento"
fields: [
{ name: "TipoConselho", value: "1" },
{ name: "CRMUF", value: "SP" },
{ name: "CRM", value: "123456" },
{ name: "CodigoProdutoRegra", value: "999" }
]
}
]
}
}
) {
code
message
status
}
}
Exemplo de retorno
{
"data": {
"updatePatient": {
"code": 0,
"message": "CPF já existe na base. Dados cadastrais atualizados",
"status": "00"
}
}
}
✅ Observações Finais
- Os campos variam conforme o programa e devem ser validados dinamicamente.
- Utilize exatamente os nomes de campo (
fieldName
) retornados nas consultas. - Os campos dinâmicos podem incluir respostas obrigatórias ou múltiplas, dependendo do programa.