Instalação
Para instalar o componente no seu projeto:
Via NPM
npm i @doctorassistant/daai-component
Via CDN
Alternativamente, você pode incluir o componente diretamente via CDN:
<script
src="https://cdn.jsdelivr.net/npm/@doctorassistant/daai-component@latest/dist/web-components/web-components.esm.js"
type="module"
></script>
Uso Básico
Após a instalação, importe e utilize o componente:
import '@doctorassistant/daai-component';
<daai-consultation-recorder
apiKey="SUA_API_KEY"
professional="ID_DO_PROFISSIONAL"
/>
Propriedades
Propriedades Obrigatórias
| Propriedade | Tipo | Descrição |
|---|
apiKey | string | Chave da API necessária para realizar requisições |
professional | string | Identificador único do profissional que utilizará o componente |
Propriedades Opcionais
| Propriedade | Tipo | Descrição |
|---|
specialty | string | Define a especialidade médica para o registro |
metadata | object | Dados adicionais para recuperação via webhook |
telemedicine | boolean | Ativa funcionalidade de telemedicina |
hideTutorial | boolean | Desativa o modal de tutorial da telemedicina |
maxRecordingTime | number | Tempo máximo de gravação em segundos |
warningRecordingTime | number | Tempo em segundos antes do limite para aviso |
reportSchema | object | Esquema customizado do relatório, conforme especificação da API. Permite definir instruções, schema e exemplos para o relatório gerado. |
Eventos
O componente emite os seguintes eventos que podem ser capturados:
// Início da gravação
onStart = (data) => {
console.log("Gravação iniciada:", data);
};
// Sucesso na gravação
onSuccess = (data) => {
console.log("Gravação finalizada com sucesso:", data);
};
// Erro durante a gravação
onError = (error) => {
console.log("Erro:", error);
};
// Eventos do componente
onEvent = (event) => {
console.log("Evento:", event);
};
// Aviso de tempo restante
onWarningRecordingTime = () => {
console.log("Aviso de tempo restante");
};
Especialidades Disponíveis
O componente suporta várias especialidades médicas, sendo elas:
Customização
O componente pode ser customizado através de variáveis CSS:
daai-consultation-recorder {
--recorder-primary-color: #ff0000;
--recorder-secondary-color: #808080;
--recorder-success-color: #00ff00;
--recorder-error-color: #ff0000;
--recorder-background-color: #ffffff;
--recorder-border-color: #000000;
--recorder-text-color: #000000;
--recorder-button-radius: 4px;
--recorder-border-radius: 8px;
--recorder-large-device-height: 52px;
--recorder-small-device-height: 120px;
--recorder-font-family: "Arial, sans-serif";
}
React
import "@doctorassistant/daai-component";
import { useEffect } from "react";
function App() {
useEffect(() => {
const recorder = document.getElementById("recorder");
if (recorder) {
recorder.onSuccess = (response) => {
console.log("Sucesso:", response);
};
recorder.onError = (error) => {
console.log("Erro:", error);
};
}
}, []);
return (
<daai-consultation-recorder
id="recorder"
apiKey="SUA_API_KEY"
professional="ID_DO_PROFISSIONAL"
/>
);
}
Vue
<template>
<daai-consultation-recorder
ref="recorder"
:apiKey="apiKey"
:professional="professionalId"
/>
</template>
<script>
import { onMounted, ref } from 'vue';
import '@doctorassistant/daai-component';
export default {
setup() {
const recorder = ref(null);
const apiKey = 'SUA_API_KEY';
const professionalId = 'ID_DO_PROFISSIONAL';
onMounted(() => {
if (recorder.value) {
recorder.value.onSuccess = (response) => {
console.log('Sucesso:', response);
};
}
});
return {
recorder,
apiKey,
professionalId
};
}
};
</script>
Segurança
O componente foi desenvolvido seguindo as melhores práticas de segurança:
- Criptografia de ponta a ponta
- Conformidade com HIPAA
- Controle de acesso
- Auditoria transparente
Limitações de Tempo
Para configurar limites de tempo de gravação:
<daai-consultation-recorder
apiKey="SUA_API_KEY"
professional="ID_DO_PROFISSIONAL"
maxRecordingTime={300} // 5 minutos
warningRecordingTime={30} // Aviso 30 segundos antes
/>
Esquema customizado do relatório
A funcionalidade de customização do relatório (report-schema) está disponível apenas a partir da versão 2.3.1 do componente.
Você pode customizar o relatório gerado pelo componente utilizando a propriedade report-schema. Isso permite definir instruções, um schema e exemplos para o relatório, tornando a geração do conteúdo mais flexível e adaptada à sua necessidade.
Dica: É possível testar e validar a configuração do relatório customizado diretamente no backoffice, na aba de transformação nas configurações da aplicação. Assim, você pode experimentar diferentes schemas e exemplos antes de aplicar em produção.
- O campo
schema deve ser um JSON Schema válido, conforme a especificação oficial. Isso garante que o relatório gerado siga a estrutura esperada.
- O campo
fewShots deve conter exemplos que satisfazem o schema definido. Dessa forma, os exemplos servem como referência para o preenchimento correto do relatório.
Por exemplo:
<daai-consultation-recorder
apikey="SUA_API_KEY"
professional="ID_DO_PROFISSIONAL"
report-schema='{
"instructions": "O relatório deve ser escrito em português brasileiro...",
"schema": {
"type": "object",
"required": ["foo", "bar"],
"properties": {
"foo": { "type": "integer" },
"bar": { "type": "string" }
},
"additionalProperties": true
},
"fewShots": [
{"foo":1,"bar":"test"},
{"foo":2,"bar":"test2"}
]
}'
/>