Pular para o conteúdo principal

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

PropriedadeTipoDescrição
apiKeystringChave da API necessária para realizar requisições
professionalstringIdentificador único do profissional que utilizará o componente

Propriedades Opcionais

PropriedadeTipoDescrição
specialtystringDefine a especialidade médica para o registro
metadataobjectDados adicionais para recuperação via webhook
telemedicinebooleanAtiva funcionalidade de telemedicina
hideTutorialbooleanDesativa o modal de tutorial da telemedicina
maxRecordingTimenumberTempo máximo de gravação em segundos
warningRecordingTimenumberTempo em segundos antes do limite para aviso
reportSchemaobjectEsquema 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";
}

Integração com Frameworks

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"}
    ]
  }'
/>