Como usar
Para utilizar o Widget é necessário adicioná-lo em uma tag iframe, sendo obrigatório:
- O preenchimento da propriedade
srccom a URL que deseja carregar, nesse casohttps://widget.iaramed.com. - O preenchimento da propriedade
allowcom a permissão de uso do microfone, comomicrophone *, caso queira realizar gravações de voz.
No código abaixo temos uma demonstração:
<iframe title="Widget Iara Med" id="iframe-widget-iaramed" src="https://widget.iaramed.com" allow="microphone *" style="width: 100%; height: 100vh; border: 0"></iframe>Comunicação com o Widget
Seção intitulada “Comunicação com o Widget”Assim que o iframe for inserido já é possível receber mensagens quanto ao carregamento do iframe e a situação da geração do laudo ao clicar no botão de Finalizar consulta.
Para conseguir receber as mensagens é necessário definir um listener para mensagens no objeto window, como demonstrado abaixo:
<script> window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado."); } else if (event.data.id === "IaraOnStartGenerateAppointment") { console.log("A geração do laudo foi iniciada."); } else if (event.data.id === "IaraOnFinishGenerateAppointment") { console.log("A geração do laudo foi finalizada."); console.log("Segue o conteúdo:"); console.log(event.data.appointmentContent); } };</script>Mensagens enviadas pelo Widget
Seção intitulada “Mensagens enviadas pelo Widget”Atualmente, o Widget envia três (3) mensagens diferentes:
IaraOnWidgetLoaded: sinaliza que o iframe foi carregado e está pronto para receber mensagens. Não envia nenhum dado além doiddo evento.IaraOnStartGenerateAppointment: sinaliza o início da geração do laudo. Não envia nenhum dado além doiddo evento.IaraOnFinishGenerateAppointment: sinaliza o fim da geração do laudo e é enviado o seu conteúdo. É possível obter o conteúdo por meio da chaveappointmentContent. O conteúdo é retornado em formato JSON.
Gerando o laudo médico
Seção intitulada “Gerando o laudo médico”Para gerar o laudo médico é disponibilizado o botão Finalizar consulta e o mesmo é desbloqueado ao completar dois (2) requisitos:
- Preencher alguns dos campos de input como
Gravações de áudios,Informações adicionaisouAnexos; - Enviar ao Widget um objeto com o template que será usado para a geração do laudo por meio do
postMessagedoiframe, sendo preciso que a chaveidseja com valorIaraInite a chavetemplateContentcorresponde ao template em formato JSON, como demostrado abaixo:
<script> window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado.");
const iframeID = "iframe-widget-iaramed"; const iframe = document.getElementById(iframeID); iframe.contentWindow?.postMessage( { id: "IaraInit", templateContent: { // subtítulo "Dados Pessoais": { // conteúdo do subtítulo "ID (Idade)": "[idade]", // outros itens chave/valor ... }, // outros subtítulos ... }, }, "https://widget.iaramed.com" ); } };</script>Exemplo de script completo
Seção intitulada “Exemplo de script completo”Com todos os dados preenchidos algo similar a isso poderá ser contruído:
<!DOCTYPE html><html lang="pt"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Widget Iara Med</title> </head>
<body> <script> window.onmessage = (event) => { if (event.data.id === "IaraOnWidgetLoaded") { console.log("Widget Iara Med carregado.");
const iframeID = "iframe-widget-iaramed"; const iframe = document.getElementById(iframeID); iframe.contentWindow?.postMessage( { id: "IaraInit", templateContent: { "Dados Pessoais": { "ID (Idade)": "[idade]", Peso: "[peso] g", Altura: "[altura] cm", "IMC (Índice de Massa Corporal)": "[IMC]", }, Mãe: { Nome: "[nome da mãe]", Gravidezes: "[quantidade de gestações]", Partos: "[quantidade de partos]", "Semanas de Gestação": "[semanas de gestação da criança ao nascimento]", "Peso ao Nascer": "[peso ao nascer da criança] g", "Peso Atual": "[peso atual da criança] g", "Tipo Sanguíneo": "[tipo sanguíneo da mãe]", }, }, }, "https://widget.iaramed.com" ); } else if (event.data.id === "IaraOnStartGenerateAppointment") { console.log("A geração do laudo foi iniciada."); } else if (event.data.id === "IaraOnFinishGenerateAppointment") { console.log("A geração do laudo foi finalizada."); console.log("Segue o conteúdo:"); console.log(event.data.appointmentContent); } }; </script>
<iframe title="Widget Iara Med" id="iframe-widget-iaramed" src="https://widget.iaramed.com" allow="microphone *" style="width: 100%; height: 100vh; border: 0" ></iframe> </body></html>