Considere ECG devices enviando dados pela internet para habilitar ECG por telemedicina. CloudECG disponibiliza uma série de rotas para a comunicacão com ECG devices. Como os dados de um ECG não cabem em uma única requisição web, CloudECG consegue processar múltiplas requisições enviadas em rajadas e organizá-las no banco incrementalmente. O BD é não-relacional (MongoBD) e armazena dados no formato JSON. Os dados ECG podem necessitar de processamento de sinal digital para eliminação de ruídos e adequação de frequências. A ferramenta BioSPPy fornece uma série de funções para processamentode biosinais e está totalmente integrada e automatizada para o uso dentro de CloudECG, habilitando-o a receber sinais de ampla gama de ECG devices. CloudECG também oferece rotas para a comunicacão com aplicativos e sites (PWA), permitindo a visualização virtual de ECGs.
O padrão de comunicação que me refiro se chama FHIR - Fast Healthcare Interoperability Resources
De acordo com o site: "FHIR is a standard for health care data exchange" https://www.hl7.org/fhir/
Google Cloud Platform da um baita suporte - confira
O plano é (i) estudar o padrão e tentar implementar tanto do lado da (ii) nuvem, quanto do lado do (iii) hardware, e, finalmente, (iv) do lado do PWA.
Durante o desenvolvimento, para mudar o padrão JSON formato livre criado pelo Marcelo para o FHIR serão necessárias uma das duas modificações: adequar o banco de dados para o novo formato ou desenvolver um script que converta FHIR -> padraoMarcelo.
Qualquer aplicacao dentro do padrao FHIR serve para um TCC:
ECG eh uma informacao altamente redundante e com grande volume de dados
Nao ha razao para sobrecarregar as redes transmitindo os dados sem qualquer tipo de tratamento
Qualquer tipo de comunicacao seria beneficiada, mas essa tecnica eh especialmente benefica para IoT, pois pode habilitar comunicacao low-power de alto alcance (LoRa, SigFox)
O plano é (i) estudar os algoritmos de compactação classicos e especificos para ECG e (ii) aplicar a compactação - na nuvem antes de enviar para os PWAs ou num dispositivo de hardware antes de enviar um ECG - e a (iii) DEScompactação antes de armazenar os dados no BD.
TCC no tema de compressao de sinais ECG
A Compactação pode estar na nuvem antes de enviar dados para os PWAs ou num dispositivo de hardware antes de enviar um ECG.
A DEScompactação pode estar na nuvem antes de enviar dados para os PWAs ou num dispositivo de hardware antes de enviar um ECG.
A observacao do ECG ja existe em com CloudECG e PWAs. Entretanto, nada eh feito com esta informacao
A partir da analise de um ECG, eventos podem ser identificados - alteracoes que indicam problemas cardiacos
CloudECG pode simplesmente enviar a lista de eventos para o PWA e deixar o medico avaliar
CloudECG pode rodar um algoritmo (ML ou heuristica) para identificar o tipo de evento (exemplo: qual a doenca cardiaca mais provavel ou falha na cominicação)
A partir da lista de eventos, medico+CloudECG podem tomar decisoes: sugerir tratamentos, cirurgias, medicação...
A atuação (executar as decisoes tomadas) nao eh trabalhada por questoes de etica e saude
Repositorio Physionet tem diversas amostras de ECG reais com a lista de eventos que servem para comparacao com o resultado que venha a ser identificado.
TCCs nessa area podem ter a insercao de informacoes adicionais
O PWA foi escolhido para permitir deploy de site, app Android e app iOS com o mesmo codigo-fonte.
PWA atual eh apenas um prototipo para mostrar o conceito, mas necessita de MUITAS melhorias.
TCC - Visualização de ECG: o PWA nao pode receber 30 minutos de um ECG de uma so vez. Eh necessario pensar em uma solucao para permitir uma visualizacao adequeada sem precisar carregar e processar uma enorme quantidade de dados de uma unica vez.
TCC - Visualização de ECG: A animacao da onda tambem nao esta correta. Nao esta no timing que deveria ser. O desafio aqui eh: como fazer o streaming do ECG em um canvas atraente e na velocidade correta?
TCC: Considere que profissionais de saúde serão consultados, as funcionalidades desejadas para os clientes web são: