Zephyrnet-logo

AWS Cloud-technologie voor bijna-realtime detectie van hartafwijkingen met behulp van gegevens van draagbare apparaten

Datum:

Hart- en vaatziekten (HVZ) zijn wereldwijd doodsoorzaak nummer één: er sterven elk jaar meer mensen aan hart- en vaatziekten dan aan enig ander oorzaak.

De COVID-19-pandemie heeft organisaties gemaakt zorgverlening wijzigen om het contact van het personeel met zieke mensen en de algehele druk op het gezondheidszorgsysteem te verminderen. Deze technologie stelt organisaties in staat om telezorgoplossingen te leveren, die aandoeningen bewaken en detecteren die de gezondheid van patiënten in gevaar kunnen brengen.

In dit bericht presenteren we een AWS-architectuur die live elektrocardiogram (ECG)-feeds van gewone draagbare apparaten verwerkt, de gegevens analyseert en bijna realtime informatie biedt via een webdashboard. Als een mogelijk kritieke toestand wordt gedetecteerd, stuurt het real-time waarschuwingen naar geabonneerde personen.

Overzicht oplossingen

De architectuur is opgedeeld in zes verschillende lagen:

  • Gegevensopname
  • Live ECG-streamopslag
  • ECG-gegevensverwerking
  • Historisch ECG-pathologiearchief
  • Live meldingen
  • Visualisatiedashboard

Het volgende diagram toont de architectuur op hoog niveau.

In de volgende paragrafen gaan we dieper in op elke laag.

Gegevensopname

De laag voor gegevensopname gebruikt AWS IoT-kern als het verbindingspunt tussen de externe externe sensoren en de AWS Cloud-architectuur, die in staat is om inzichten op te slaan, te transformeren, te analyseren en te tonen van de verkregen live feeds van externe draagbare apparaten.

Wanneer de gegevens van de externe draagbare apparaten AWS IoT Core bereiken, kunnen deze worden verzonden met behulp van een AWS IoT-regel en bijbehorende acties.

In de voorgestelde architectuur gebruiken we één regel en één actie. De regel extraheert gegevens uit de onbewerkte stroom met behulp van een eenvoudige SQL-instructie, zoals uiteengezet in de volgende AWS IoT Core-regeldefinitie SQL-code.

SELECT device_id, ecg, ppg, bpm, timestamp() as timestamp FROM ‘dt/sensor/#’

De actie schrijft de geëxtraheerde gegevens uit de regel naar een Amazone-tijdstroom database.

Raadpleeg voor meer informatie over het implementeren van workloads met AWS IoT Core Implementatie van tijdkritische cloud-to-device IoT-berichtpatronen op AWS IoT Core.

Live ECG-streamopslag

Live gegevens die afkomstig zijn van aangesloten ECG-sensoren worden onmiddellijk opgeslagen in Timestream, dat met opzet is ontworpen om tijdreeksgegevens op te slaan.

Van Timestream worden periodiek gegevens in scherven geëxtraheerd en vervolgens verwerkt door AWS Lambda om spectrogrammen te genereren en door Amazon Rekognition om ECG-spectrogramclassificatie uit te voeren.

U kunt een Timestream-database maken en beheren via de AWS-beheerconsole, van de AWS-opdrachtregelinterface (AWS CLI), of via API-aanroepen.

Op de Timestream-console kunt u verschillende databasestatistieken observeren en bewaken, zoals weergegeven in de volgende schermafbeelding.

Bovendien kunt u verschillende query's uitvoeren op een bepaalde database.

ECG-gegevensverwerking

De verwerkingslaag is samengesteld uit Amazon EventBridge, Lambda en Amazon-herkenning.

De kern van de detectie draait om het vermogen om spectrogrammen te maken op basis van een tijdreeksstap en -gebruik Aangepaste labels voor Amazon-herkenning, getraind met een archief van spectrogrammen die zijn gegenereerd op basis van tijdreeksen van ECG-gegevens van patiënten met verschillende pathologieën, om een ​​classificatie uit te voeren van de inkomende ECG-gegevens livestream omgezet in spectrogrammen door Lambda.

EventBridge-gebeurtenisgegevens

Met EventBridge is het mogelijk om gebeurtenisgestuurde applicaties op schaal te creëren in AWS.

In het geval van de ECG-near-real-time-analyse wordt EventBridge gebruikt om een ​​gebeurtenis te creëren (SpectrogramPeriodicGeneration) die periodiek een Lambda-functie activeert om spectrogrammen te genereren uit de onbewerkte ECG-gegevens en een verzoek naar Amazon Rekognition te sturen om de spectrogrammen te analyseren om tekenen van afwijkingen te detecteren.

De volgende schermafbeelding toont de configuratiedetails van de SpectrogramPeriodicGeneration evenement.

Lambda-functie details

De Lambda-functie GenerateSpectrogramsFromTimeSeries, volledig geschreven in Python, fungeert als orkestrator tussen de verschillende stappen die nodig zijn om een ​​classificatie van een ECG-spectrogram uit te voeren. Het is een cruciaal onderdeel van de verwerkingslaag dat detecteert of een binnenkomend ECG-signaal tekenen van mogelijke afwijkingen vertoont.

De Lambda-functie heeft drie hoofddoelen:

  • Haal een pas van 1 minuut op uit de live ECG-stream
  • Genereer er spectrogrammen van
  • Start een Amazon Recognition-taak om classificatie van de gegenereerde spectrogrammen uit te voeren

Details van Amazon-erkenning

De ECG-analyse om te detecteren of er anomalieën aanwezig zijn, is gebaseerd op de classificatie van spectrogrammen die zijn gegenereerd op basis van 1 minuut durende ECG-trace-stappen.

Om deze classificatietaak te volbrengen, gebruiken we Rekognition Custom Labels om een ​​model te trainen dat in staat is om verschillende hartpathologieën te identificeren die worden aangetroffen in spectrogrammen die zijn gegenereerd op basis van ECG-sporen van mensen met verschillende hartaandoeningen.

Om Rekognition Custom Labels te gaan gebruiken, moeten we de locaties specificeren van de datasets, die de gegevens bevatten die Amazon Rekognition gebruikt voor labeling, training en validatie.

Als je in de gedefinieerde datasets kijkt, is het mogelijk om meer details te zien die Amazon Rekognition uit het gegeven heeft gehaald Amazon eenvoudige opslagservice (Amazon S3) emmer.

Vanaf deze pagina kunnen we de labels zien die Amazon Rekognition automatisch heeft gegenereerd door de mapnamen in de S3-bucket te matchen.

Bovendien biedt Amazon Rekognition een voorbeeld van de gelabelde afbeeldingen.

De volgende schermafbeelding toont de details van de S3-bucket die wordt gebruikt door Amazon Rekognition.

Nadat u een dataset hebt gedefinieerd, kunt u Rekognition Custom Labels gebruiken om op uw data te trainen en het model daarna voor inferentie te implementeren.

De projectpagina's van Rekognition Custom Labels bieden details over elk beschikbaar project en een boomweergave van alle modellen die zijn gemaakt.

Bovendien tonen de projectpagina's de status van de beschikbare modellen en hun prestaties.

U kunt de modellen kiezen op de Rekognition Custom Labels-console om meer details van elk model te zien, zoals weergegeven in de volgende schermafbeelding.

Meer details over het model zijn beschikbaar op de Modeldetails Tab.

Kies voor een verdere beoordeling van de modelprestaties Bekijk testresultaten. De volgende schermafbeelding toont een voorbeeld van testresultaten van ons model.

Historisch ECG-pathologiearchief

De archieflaag voor pathologie ontvangt onbewerkte ECG-gegevens uit de tijdreeks, genereert spectrogrammen en slaat deze op in een aparte bucket die u kunt gebruiken om uw Rekognition Custom Labels-model verder te trainen.

Visualisatiedashboard

Het live visualisatiedashboard, verantwoordelijk voor het tonen van real-time ECG's, PPG-traces en live BPM, wordt geïmplementeerd via Amazon beheerde Grafana.

Amazon Managed Grafana is een volledig beheerde dienst die samen met Grafana Labs is ontwikkeld en is gebaseerd op open-source Grafana. Amazon Managed Grafana is verbeterd met zakelijke mogelijkheden en maakt het je gemakkelijk om je operationele gegevens op schaal te visualiseren en te analyseren.

Op de door Amazon beheerde Grafana-console kun je werkruimten maken, dit zijn logisch geïsoleerde Grafana-servers waar je Grafana-dashboards kunt maken. De volgende schermafbeelding toont een lijst met onze beschikbare werkruimten.

U kunt ook het volgende instellen op de workspaces pagina:

  • Gebruikers
  • Gebruikersgroepen
  • Data bronnen
  • Meldingskanalen

De volgende schermafbeelding toont de details van onze werkruimte en zijn gebruikers.

In het Data bronnen sectie, kunnen we alle bronfeeds bekijken en instellen die het Grafana-dashboard vullen.

In de volgende schermafbeelding hebben we drie bronnen geconfigureerd:

Je kan kiezen Configureren in Grafana voor een bepaalde gegevensbron om deze rechtstreeks in Amazon Managed Grafana te configureren.

U wordt gevraagd om u te authenticeren binnen Grafana. Voor deze post gebruiken we AWS IAM Identity Center (opvolger van AWS Single Sign-On)

Nadat u bent ingelogd, wordt u doorgestuurd naar de startpagina van Grafana. Vanaf hier kunt u uw opgeslagen dashboards bekijken. Zoals te zien is in de volgende schermafbeelding, hebben we toegang tot ons Heart Health Monitoring-dashboard.

U kunt ook het tandwielpictogram in het navigatievenster kiezen en verschillende configuratietaken uitvoeren voor het volgende:

  • Data bronnen
  • Gebruikers
  • Gebruikersgroepen
  • Statistieken
  • Plugins
  • voorkeuren

Als we bijvoorbeeld kiezen: Data bronnen, kunnen we bronnen toevoegen die Grafana-borden zullen voeden.

De volgende schermafbeelding toont het configuratiepaneel voor Timestream.

Als we vanaf de startpagina van Grafana naar het Heart Health Monitoring-dashboard navigeren, kunnen we de widgets en informatie in het dashboard bekijken.

Conclusie

Met services zoals AWS IoT Core, Lambda, Amazon SNS en Grafana kunt u een serverloze oplossing bouwen met een gebeurtenisgestuurde architectuur die in staat is om gegevensstromen in bijna realtime op te nemen, te verwerken en te bewaken vanaf een verscheidenheid aan apparaten, waaronder gewone draagbare apparaten.

In dit bericht hebben we een manier onderzocht om live ECG-gegevens op te nemen, te verwerken en te bewaken die zijn gegenereerd door een synthetisch draagbaar apparaat om inzichten te bieden om te helpen bepalen of er afwijkingen aanwezig zijn in de ECG-gegevensstroom.

Ga voor meer informatie over hoe AWS innovatie in de gezondheidszorg versnelt naar AWS voor gezondheid.


Over de auteur

Benedetto Carollo is Senior Solution Architect voor medische beeldvorming en gezondheidszorg bij Amazon Web Services in Europa, het Midden-Oosten en Afrika. Zijn werk richt zich op het helpen van klanten op het gebied van medische beeldvorming en gezondheidszorg bij het oplossen van zakelijke problemen door gebruik te maken van technologie. Benedetto heeft meer dan 15 jaar ervaring in technologie en medische beeldvorming en heeft gewerkt voor bedrijven als Canon Medical Research en Vital Images. Benedetto behaalde zijn MSc in Software Engineering summa cum laude aan de Universiteit van Palermo – Italië.

spot_img

Laatste intelligentie

spot_img