Expandir |
---|
title | Ver resultado JSON... |
---|
| Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"idMedicalRecord": 47,
"idModel": 9,
"observation": "Modelo principal da ficha de saúde",
"fields": [
{
"idField": 70,
"value": "Joana Silva"
}
]
} |
|
Sumário
Objetivo
Este documento tem como objetivo exemplificar a forma de utilização da API de preenchimento da ficha médica do candidaton o TOTVS Processo Seletivo. Esta API possibilita incluir, atualizar ou acessar a ficha médica do candidato do TOTVS Processo Seletivo. É importante importante ressaltar que neste modelo o aplicativo RM.Host é responsável por hospedar e expor os serviços de APIs. Veja mais sobre a configuração clicando aqui. Pré-requisitos
Por questão de segurança e rastreabilidade as requisições serão permitidas somente para um usuários cadastrado no RM, portanto é necessário conceder as devidas permissões apara o perfil do usuário que irá executar as requisições. 
O TOTVS Processo Seletivo irá considerar as parametrizações referente ao termo de consentimento de uso de imagem e voz que foram definidas no TOTVS Educacional, para maiores informações clique aqui. (Este item tem que ser revisto ao cria a o preenchimento da ficha pela central do candidato) É necessário indicar que a utilização do termo esta habilitada para o processo seletivo. Para maiores informações acesse Parâmetro - Matrícula. Dicas
A construção do modelo da ficha médica que será utilizada é realizada no TOTVS Educacional, no TOTVS Educacional será possível permitido definir um único modelo ativo por contexto, ou seja, o modelo que estiver ativo naquele contexto será o modelo disponibilizado para preenchimento em todo o RM (Portal do aluno, Portal Gestão Educacional ou Portal do TOTVS Processo Seletivo). Para conhecer mais sobre a criação de modelos clique aqui. Dica |
---|
Para ter acesso a estrutura do modelo ativo e que será utilizado pela API de preenchimento da ficha médica, orientamos consumir a API abaixo: Máscara de Url: http://{domínio}:{porta}/api/educational/v1/medicalrecord/templates/{Id. Modelo}?Expand=wrapper,section,field Exemplo de configuração: Domínio: localhost Porta: 8051 Id. Modelo: Identificador do modelo da ficha médica que deseja recuperar, se passar -1 será retornado o modelo que esta ativo. Url Utilizada: http://localhost:8051/api/educational/v1/medicalrecord/templates/-1?Expand=wrapper,section,field Expandir |
---|
title | Ver resultado JSON... |
---|
| Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado Positivo (JSON) |
---|
linenumbers | true |
---|
| {
"idModel": 9,
"companyCode": 1,
"branchCode": 1,
"levelEducationCode": 1,
"name": "Exemplo ficha de saúde aluno",
"active": "S",
"observation": "Teste",
"wrappers": [
{
"id": 13,
"idModel": 9,
"title": "Questionário 1",
"displayOrder": 1,
"sections": [
{
"idSection": 8,
"idWrapper": 13,
"title": "Seção 1",
"inactive": "N",
"displayOrder": 0,
"fields": [
{
"id": 56,
"title": "Faz algum tipo de controle médico?",
"fieldType": 8,
"required": "N",
"inactive": "N",
"displayOrder": 2,
"optionsForSelection": [
{
"idField": 56,
"sequential": 1,
"text": "Sim",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 56,
"sequential": 2,
"text": "Não",
"inactive": "N",
"optionUsedPeople": false
}
]
},
{
"id": 57,
"title": "Já esteve internado alguma vez? ",
"fieldType": 10,
"size": 50,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": [
{
"idField": 57,
"sequential": 1,
"text": "Sim",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 57,
"sequential": 2,
"text": "Não",
"inactive": "N",
"optionUsedPeople": false
}
]
},
{
"id": 58,
"title": "Descreva sobre a internação",
"fieldType": 2,
"size": 500,
"required": "N",
"inactive": "N",
"displayOrder": -2,
"optionsForSelection": []
},
{
"id": 59,
"title": "Já teve ataque, desmaio, perda de sentido? ",
"fieldType": 7,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": [
{
"idField": 59,
"sequential": 1,
"text": "Sim",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 59,
"sequential": 2,
"text": "Não",
"inactive": "N",
"optionUsedPeople": false
}
]
}
]
}
],
"fields": [
{
"id": 24,
"title": "Usa medicamentos controlado",
"descriptiveText": "teste cadastro hhhh",
"fieldType": 8,
"size": 60,
"mask": "9999-99999",
"required": "N",
"inactive": "N",
"displayOrder": 1,
"optionsForSelection": [
{
"idField": 24,
"sequential": 1,
"text": "ooo",
"inactive": "N",
"optionUsedPeople": false
}
]
}
]
},
{
"id": 14,
"idModel": 9,
"title": "Questionário 2",
"displayOrder": 2,
"sections": [
{
"idSection": 9,
"idWrapper": 14,
"title": "Patologia ",
"inactive": "N",
"displayOrder": 0,
"fields": [
{
"id": 60,
"title": "Possui algum tipo de alergia? ",
"descriptiveText": "teste cadastro hhhhsSSS",
"fieldType": 1,
"size": 10,
"mask": "9999-99999",
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 61,
"title": "Possui algum problema respiratório, reumatismo infeccioso ou sopro no coração?",
"fieldType": 11,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 62,
"title": "Qual problema respiratório?",
"fieldType": 1,
"size": 100,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 63,
"title": " É diabético?",
"fieldType": 7,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": [
{
"idField": 63,
"sequential": 1,
"text": "Sim",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 63,
"sequential": 2,
"text": "Não",
"inactive": "N",
"optionUsedPeople": false
}
]
}
]
}
]
},
{
"id": 15,
"idModel": 9,
"title": "COVID-19",
"displayOrder": 3,
"fields": [
{
"id": 64,
"title": " Já tomou todas as vacinas, inclusive a da COVID-19?",
"fieldType": 8,
"size": 50,
"required": "S",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": [
{
"idField": 64,
"sequential": 1,
"text": "Sim",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 64,
"sequential": 2,
"text": "nao",
"inactive": "N",
"optionUsedPeople": false
},
{
"idField": 64,
"sequential": 3,
"text": "talve",
"inactive": "N",
"optionUsedPeople": false
}
]
},
{
"id": 65,
"title": "Qual vacina da COVID-19?",
"fieldType": 1,
"size": 50,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 66,
"title": "Data da Dose única da COVID-19:",
"fieldType": 4,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 67,
"title": "Data em que tomou a 1º dose da COVID-19:",
"fieldType": 4,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 68,
"title": "Data em que tomou a 2º dose da COVID-19:",
"fieldType": 4,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 69,
"title": "Data em que tomou a dose de reforço da COVID-19",
"fieldType": 4,
"required": "N",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
}
]
},
{
"id": 16,
"idModel": 9,
"title": "Contato Escolar",
"displayOrder": 0,
"sections": [
{
"idSection": 10,
"idWrapper": 16,
"title": "Em caso de emergência a escola deverá comunicar:",
"inactive": "N",
"displayOrder": 0,
"fields": [
{
"id": 70,
"title": "Nome",
"fieldType": 1,
"size": 100,
"required": "S",
"inactive": "N",
"displayOrder": 1,
"optionsForSelection": []
},
{
"id": 71,
"title": "Telefone",
"fieldType": 3,
"size": 20,
"mask": "(99)9999-9999",
"required": "S",
"inactive": "N",
"displayOrder": 0,
"optionsForSelection": []
},
{
"id": 72,
"title": "Parentesco",
"fieldType": 1,
"size": 40,
"mask": "(99)9999-9999",
"required": "S",
"inactive": "N",
"displayOrder": -1,
"optionsForSelection": []
}
]
}
]
}
]
} |
|
|
1 - Métodos
Serão apresentados 3 métodos, os quais foram implementados na API do Termo, são eles: - GET ( Retorna a ficha médica cadastrada)
- POST (Criar nova ficha médica)
- PUT (Atualiza informações da ficha médica)
1.1 - GET (Retorna a ficha médica cadastrada)
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/ApplicantRegistries/{Cód. da Coligada}|{Id. Processo Seletivo}|{Cód. Usuário PS }/medicalRecord/{Id. Ficha Médica}?BranchCode={Cód Filial}&LevelEducationCode={Nível de ensino}&ResponsibleApplicantCode={Cód. Usuário PS responsável pela operação} Expandir |
---|
title | Resultado - Usuário não cadastrado |
---|
| Caso o usuário não possua nenhum ficha médica cadastrada (para o modelo ativo no RM) será retorno um objeto vazio conforme o exemplo abaixo: Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"applicantRegistryCode": "83",
"selectionProcessCode": "161",
"idMedicalRecord": 0,
"idModel": 0,
"fields": []
} |
|
Expandir |
---|
title | Ver resultado JSON... |
---|
| Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"applicantRegistryCode": "386",
"selectionProcessCode": "161",
"idMedicalRecord": 47,
"idModel": 9,
"observation": "Modelo principal da ficha de saúde",
"fields": [
{
"idField": 70,
"value": "Joana Silva"
},
{
"idField": 71,
"value": "(31)9 9221-4225"
},
{
"idField": 72,
"value": "Mãe"
},
{
"idField": 56,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
},
{
"idField": 64,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
}
]
} |
Informações |
---|
title | Informações complementares |
---|
| É importante ressaltar que se um candidato já for aluno (possuir vinculo com a tabela de Pessoa) a ficha médica do candidato é a mesma do aluno, ou seja, qualquer alteração na ficha médica do candidato automaticamente reflete na ficha médica do aluno (estará alterando a mesma ficha). |
|
1.2 - POST (Criar uma nova ficha médica)
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/ApplicantRegistries/{Cód. da Coligada}|{Id. Processo Seletivo}|{Cód. Usuário PS }/medicalRecord/?BranchCode={Cód Filial}&LevelEducationCode={Nível de ensino}&ResponsibleApplicantCode={Cód. Usuário PS responsável pela operação} Informações |
---|
icon | false |
---|
title | Exemplo de Entrada |
---|
| Expandir |
---|
title | Ver resultado JSON... |
---|
| Importante: idModel: deve ser informado o id. modelo que esta ativo para o contexto. Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"idModel": 9,
"observation": "Ficha da Elisa Stefany Milena Gonçalves",
"fields": [
{
"idField": 70,
"value": "Elisa Stefany Milena Gonçalves"
},
{
"idField": 71,
"value": "(31)998235743"
},
{
"idField": 72,
"value": "Mãe"
},
{
"idField": 56,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
},
{
"idField": 64,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
}
]
} |
|
|
Informações |
---|
icon | false |
---|
title | Exemplo de Resultado |
---|
| Expandir |
---|
title | Ver resultado JSON... |
---|
| Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"applicantRegistryCode": "384",
"responsibleApplicantCode": "26",
"selectionProcessCode": "161",
"idMedicalRecord": 48,
"idModel": 9,
"companyCode": 1,
"branchCode": 1,
"levelEducationCode": 1,
"observation": "Ficha da Elisa Stefany Milena Gonçalves",
"fields": [
{
"idField": 70,
"value": "Elisa Stefany Milena Gonçalves",
"optionsSelected": []
},
{
"idField": 71,
"value": "(31)998235743",
"optionsSelected": []
},
{
"idField": 72,
"value": "Mãe",
"optionsSelected": []
},
{
"idField": 56,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
},
{
"idField": 64,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
}
]
} |
|
|
Máscara de Url: http://{domínio}:{porta}/api/educational/v1/ApplicantRegistries/{Cód. da Coligada}|{Id. Processo Seletivo}|{Cód. Usuário PS }/medicalRecord/{Id. Ficha Médica}?BranchCode={Cód Filial}&LevelEducationCode={Nível de ensino}&ResponsibleApplicantCode={Cód. Usuário PS responsável pela operação} Informações |
---|
icon | false |
---|
title | Exemplo de Entrada |
---|
| Expandir |
---|
title | Ver resultado JSON... |
---|
| Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"observation": "Modelo principal da ficha de saúde",
"fields": [
{
"idField": 70,
"value": "Joana Silva"
},
{
"idField": 71,
"value": "(31)9 9221-4225"
},
{
"idField": 72,
"value": "Mãe"
},
{
"idField": 56,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
},
{
"idField": 64,
"value": "",
"optionsSelected": [
{
"sequential": 1,
"value": "Sim"
}
]
}
]
} |
|
|
Informações |
---|
icon | false |
---|
title | Exemplo de Resultado |
---|
| Expandir |
---|
title | Ver resultado JSON... |
---|
| Informações |
---|
| Importante: Serão retornados somete os campos que foram atualizado, pois quando enviamos as informações para atualização podemos enviar campos que não foram modificados, por isso é reportado retornado somente os campos que foram atualizados. |
Bloco de código |
---|
language | js |
---|
firstline | 1 |
---|
title | Resultado (JSON) |
---|
linenumbers | true |
---|
| {
"idMedicalRecord": 47,
"idModel": 9,
"observation": "Modelo principal da ficha de saúde",
"fields": [
{
"idField": 70,
"value": "Joana Silva"
},
{
"idField": 71,
"value": "(31)9 9221-4225"
}
]
} |
|
|
|