Datenarchitektur und -Management in Datenlösungen für das Gesundheitswesen in Microsoft Fabric
Das Framework für Datenlösungen für das Gesundheitswesen verwendet eine spezielle Medallion-Architektur für eine optimale Datenorganisation und -verarbeitung. Dieses Design sorgt für eine kontinuierliche Verbesserung der Datenqualität und -struktur und ermöglicht es Ihnen, Gesundheitsdaten effektiver zu verwalten. In diesem Artikel werden die wichtigsten Funktionen und Vorteile dieser Architektur vorgestellt und ein umfassender Überblick darüber gegeben, wie Daten innerhalb dieses Frameworks verwaltet werden.
Medaillon-Lakehouse-Design
Wie in der Lösungsarchitektur erläutert, verwenden Datenlösungen für das Gesundheitswesen die Medaillon-Lakehouse-Architektur für die Organisation und Verarbeitung von Daten über mehrere Ebenen. Während sich die Daten durch die einzelnen Ebenen bewegen, werden ihre Struktur und Qualität kontinuierlich verbessert. Im Kern besteht das Medaillon-Lakehouse-Design in Datenlösungen für das Gesundheitswesen aus den folgenden wichtigen Lakehouses:
Bronze Lakehouse: Das Bronze Lakehouse, auch als Rohzone bezeichnet, ist die erste Ebene, auf der Quelldaten in ihrem ursprünglichen Dateiformat organisiert sind. Es erfasst Quelldateien in OneLake und/oder erstellt Verknüpfungen aus nativen Speicherquellen. Außerdem werden strukturierte und halbstrukturierte Daten aus der Quelle in Delta-Tabellen gespeichert, die auch als Staging- Tabellen bezeichnet werden. Diese Tabellen sind komprimiert und spaltenweise indiziert, um effiziente Transformationen und Datenverarbeitungen zu unterstützen. Die Daten auf dieser Ebene können in der Regel nur angefügt werden und sind unveränderlich.
Dateien (ob persistent oder verknüpft) dienen im Bronze Lakehouse als vertrauenswürdige Quelle. Sie bilden die Grundlage für die Datenherkunft im gesamten Datenbestand in Datenlösungen für das Gesundheitswesen. Stagingtabellen bestehen in der Bronzeschicht im Allgemeinen aus wenigen Spalten und sind so konzipiert, dass sie jede Datenmodalität und jedes Format in einer einzigen Tabelle enthalten (z. B. ClinicalFhir- und ImagingDicom-Tabellen). Sie sollten diese Stagingtabellen im Bronze Lakehouse aus den folgenden Gründen nicht erweitern, anpassen oder Abhängigkeiten von ihnen erstellen:
- Interne Implementierung: Die Stagingtabellen werden intern speziell für Datenlösungen im Gesundheitswesen in Microsoft Fabric implementiert. Ihr Schema wurde speziell für Datenlösungen im Gesundheitswesen entwickelt und folgt keinem Branchen- oder Community-Datenstandard.
- Vorübergehender Speicher: Nachdem die Daten verarbeitet und aus den Bronze Lakehouse-Stagingtabellen in die vereinfachten und normalisierten Delta-Tabellen im Silver Lakehouse umgewandelt wurden, sind die Bronze-Stagingtabellendaten bereit zum Löschen. Dieses Modell gewährleistet Kosten- und Speichereffizienz und reduziert die Datenredundanz zwischen Quelldateien und Stagingtabellen im Bronze Lakehouse.
Silver Lakehouse: Das Silver Lakehouse, auch als angereicherte Zone bezeichnet, verfeinert die Daten aus dem Bronze Lakehouse. Es umfasst Validierungsprüfungen und Anreicherungstechniken zur Verbesserung der Datengenauigkeit für nachgelagerte Analysen. Im Gegensatz zur Bronze-Ebene verwenden die Daten im Silver Lakehouse Regeln, die auf deterministischen IDs und Änderungszeitstempeln basieren, um Datensatzeinfügungen und -aktualisierungen zu verwalten.
Gold Lakehouse: Das Gold Lakehouse, auch als kuratierte Zone bezeichnet, verfeinert die Daten aus dem Silver Lakehouse weiter für spezielle Geschäfts- und Analyseanforderungen. Dieser Ebene dient als primäre Quelle für hochwertige, aggregierte Datasets, die für eine umfassende Analyse und Extraktion von Erkenntnissen bereit sind. Während Datenlösungen für das Gesundheitswesen ein Bronze und ein Silver Lakehouse pro Bereitstellung bereitstellen, können Sie mehrere Gold Lakehouses für verschiedene Unternehmenseinheiten und Personas einrichten.
Admin Lakehouse: Das Admin Lakehouse enthält Dateien für die Data Governance und Rückverfolgbarkeit über die Lakehouse-Ebenen hinweg, einschließlich globaler Konfigurations- und Validierungsfehler, die in der BusinessEvent-Tabelle gespeichert sind. Weitere Informationen finden Sie unter Admin Lakehouse.
Einheitliche Ordnerstruktur
Kunden aus dem Gesundheitswesen und den Biowissenschaften arbeiten mit riesigen Datenmengen aus verschiedenen Quellsystemen über mehrere Datenmodalitäten und Dateiformate hinweg, einschließlich der folgenden Dateiformate:
- Klinische Modalität: FHIR-NDJSON-Dateien, FHIR-Pakete und HL7.
- Bildgebungsmodalität: DICOM, NIFTI und NDPI.
- Genomik Modalität: BAM, BCL, FASTQ und VCF.
- Ansprüche: CCLF und CSV.
Dabei gilt Folgendes:
- FHIR: Fast Healthcare Interoperability Resources
- HL7: Health Level Seven International
- DICOM: Digital Imaging and Communications in Medicine
- NIFTI: Neuroimaging Informatics Technology Initiative
- NDPI: Nano-dimensional Pathology Imaging
- BAM: Binary Alignment Map
- BCL: Base Call
- FASTQ: Ein textbasiertes Format zum Speichern einer biologischen Sequenz und der entsprechenden Qualitätsmerkmale
- VCF: Variant Call Format
- CCLF: Claim and Claim Line Feed
- CSV: durch Trennzeichen getrennte Datei
OneLake in Microsoft Fabric bietet einen logischen Data Lake für Ihre Organisation. Datenlösungen für das Gesundheitswesen in Microsoft Fabric bieten eine einheitliche Ordnerstruktur, mit der Daten in verschiedenen Modalitäten und Formaten organisiert werden können. Diese Struktur optimiert die Datenerfassung und -verarbeitung und erhält gleichzeitig die Datenherkunft auf der Ebene der Quelldatei und des Quellsystems im Bronze Lakehouse aufrecht.
Auf der obersten Ebene gibt es die folgenden sechs Ordner:
- Extern
- Fehlerhaft
- Erfassen
- Verarbeiten
- ReferenceData
- SampleData
Die Unterordner sind wie folgt organisiert:
Files\Ingest\[DataModality]\[DataFormat]\[Namespace]
Files\External\[DataModality]\[DataFormat]\[Namespace]\[BYOSShortcutname]\
Files\SampleData\[DataModality]\[DataFormat]\[Namespace]\
Files\ReferenceData\[DataModality]\[DataFormat]\[Namespace]\
Files\Failed\[DataModality]\[DataFormat]\[Namespace]\YYYY\MM\DD
Files\Process\[DataModality]\[DataFormat]\[Namespace]\YYYY\MM\DD
Ordnerbeschreibungen
Namespace (erforderlich): Identifiziert das Quellsystem für empfangene Dateien, entscheidend für die Sicherstellung der Eindeutigkeit der ID pro Quellsystem.
Erfassungsordner: Fungiert als Ablage- oder Warteschlangenordner. In diesem Ordner können Sie die zu erfassenden Dateien in den entsprechenden Unterordnern für Modalitäten und Formate ablegen. Nach Beginn der Erfassung werden die Dateien in den entsprechenden Verarbeitungsordner oder in den Fehlerordner für Fehler übertragen.
Verarbeitungsordner: Das endgültige Ziel für alle erfolgreich verarbeiteten Dateien innerhalb der jeweiligen Kombination aus Modalität und Format. Dieser Ordner folgt dem Muster
YYYY/MM/DD
basierend auf dem Verarbeitungsdatum. Die Ordnerpartitionierung entspricht den bewährten Methoden für Azure Data Lake Storage für eine verbesserte Organisation, gefilterte Suchen, Automatisierung und potenzielle parallele Verarbeitung.Externer Ordner: Dient als übergeordneter Ordner für die verknüpften BYOS-Ordner (eigener Datenspeicher). Die Standardbereitstellung schlägt eine Ordnerstruktur für die Modalitäten Ansprüche, klinisch, genomisch und bildgebend vor. Die Modalitäten bildgebend und klinisch verfügen über Standardformate und Namespaces, die zur Unterstützung von DICOM- und FHIR-Diensten in Azure Health Data Services konfiguriert sind. Dieses Format gilt nur für den Fall, dass Sie Daten mit OneLake verknüpfen möchten. Datenlösungen für das Gesundheitswesen in Microsoft Fabric haben schreibgeschützten Zugriff auf Dateien in diesen verknüpften Ordnern.
Fehlerordner: Wenn beim Verschieben oder Verarbeiten von Dateien im Erfassungsordner oder im Verarbeitungsordner ein Fehler auftritt, werden die betroffenen Dateien entsprechend ihrer Modalität-Format-Kombination in den Fehlerordner verschoben. Ein Fehler wird in der BusinessEvent-Tabelle im Admin Lakehouse protokolliert. Dieser Ordner folgt dem Muster
YYYY/MM/DD
basierend auf dem Verarbeitungs-/Fehlerdatum. Dateien in diesem Ordner werden nicht gelöscht und verbleiben so lange hier, bis Sie sie mithilfe desselben ursprünglichen Erfassungsmusters korrigieren und erneut erfassen.Beispieldatenordner: Enthält synthetische, referenzielle und/oder öffentliche Datasets. Die Standardbereitstellung bietet Beispieldaten für verschiedene Kombinationen von Modalität und Format bereit, um die sofortige Ausführung von Notebooks und Pipelines nach der Bereitstellung zu erleichtern. Dieser Ordner erstellt keine
YYYY/MM/DD
-Unterordner.Verweisdatenordner: Enthält referenzielle und übergeordnete Datasets aus öffentlichen oder benutzerspezifischen Quellen. Dieser Ordner erstellt keine
YYYY/MM/DD
-Unterordner. Die Standardbereitstellung schlägt eine Ordnerstruktur für OMOP (Observational Medical Outcomes Partnership)-Vokabular vor.
Datenerfassungsmuster
Basierend auf der zuvor beschriebenen einheitlichen Ordnerstruktur unterstützen Datenlösungen für das Gesundheitswesen in Microsoft Fabric zwei unterschiedliche Erfassungsmuster. In beiden Fällen verwenden die Lösungen strukturiertes Streaming in Spark für die Verarbeitung eingehender Dateien in den jeweiligen Ordnern.
Erfassungsmuster
Bei diesem Muster handelt es sich um einen einfachen Ansatz, bei dem die zu erfassenden Dateien unter der entsprechenden Modalität, dem entsprechenden Format und dem entsprechenden Namespace im Erfassungsordner abgelegt werden. Die Erfassungspipelines überwachen diesen Ordner auf neu abgelegte Dateien und verschieben sie zur Verarbeitung in den entsprechenden Verarbeitungsordner. Wenn die Erfassung von Dateidaten in der Stagingtabelle des Bronze Lakehouse erfolgreich war, wird die Datei komprimiert und im Verarbeitungsordner mit einem Zeitstempelpräfix für den Zeitpunkt der Verarbeitung nach dem Muster YYYY/MM/DD
gespeichert. Dieses Präfix sorgt für eindeutige Dateinamen. Sie können die Komprimierung nach Bedarf konfigurieren oder deaktivieren.
Wenn die Dateiverarbeitung fehlschlägt, werden die fehlgeschlagenen Dateien für jede Kombination aus Modalität und Format aus dem Erfassungsordner in den Fehlerordner verschoben, und in der Tabelle BusinessEvent im Admin Lakehouse wird ein Fehler protokolliert.
Dieses Erfassungsmuster ist ideal für tägliche inkrementelle Erfassungen oder für das physische Verschieben von Daten nach Azure Data Lake Storage oder OneLake.
BYOS-Muster
Möglicherweise verfügen Sie manchmal über Daten und Dateien, die bereits in Azure oder anderen Cloudspeicherdiensten vorhanden sind, mit vorhandenen nachgelagerten Implementierungen und Abhängigkeiten von diesen Dateien. Im Gesundheitswesen und in den Biowissenschaften können die Datenmengen mehrere Terabyte oder sogar Petabyte erreichen, insbesondere für die medizinische Bildgebung und Genomik. Aus diesen Gründen ist das direkte Erfassungsmuster möglicherweise nicht durchführbar.
Wir empfehlen die Verwendung des BYOS-Musters für die Erfassung historischer Daten, wenn bereits erhebliche Datenmengen in Azure oder einem anderen Cloudspeicher oder lokalen Speicher vorliegen, die das S3-Protokoll unterstützen. Dieses Muster verwendet OneLake-Verknüpfungen in Fabric und den externen Ordner im Bronze Lakehouse, um die direkte Verarbeitung von Quelldateien zu ermöglichen. Die Dateien müssen nicht verschoben oder kopiert werden, und Gebühren für ausgehenden Datenverkehr und Datenduplizierung werden vermieden.
Trotz der Effizienzsteigerungen, die das BYOS-Erfassungsmuster bietet, sollten Sie die Folgendes beachten:
- Direkte Dateiaktualisierungen (Inhaltsaktualisierungen innerhalb der Datei) werden nicht überwacht. Sie sollten für alle Aktualisierungen eine neue Datei (mit einem anderen Namen) erstellen, da die Erfassungspipeline nur neue Dateien überwacht. Diese Einschränkung liegt an dem strukturierten Streaming in Spark.
- Es findet keine Datenkomprimierung statt.
- Das BYOS-Muster erstellt keine optimierte Ordnerstruktur auf der Grundlage des
YYYY/MM/DD
-Musters. - Schlägt die Dateiverarbeitung fehl, werden die fehlgeschlagenen Dateien nicht in den Fehlerordner verschoben. Es wird aber ein Fehler wird in der BusinessEvent-Tabelle im Admin Lakehouse protokolliert.
- Es wird davon ausgegangen, dass die Quelldaten schreibgeschützt sind.
- Es gibt keine Kontrolle über die Herkunft oder Verfügbarkeit der Quelldaten nach der Erfassung.
Datenkomprimierung
Datenlösungen für das Gesundheitswesen in Microsoft Fabric unterstützen standardmäßig die Komprimierung im gesamten Medaillon-Lakehouse-Design. Daten, die in den Delta-Tabellen im Medaillon Lakehouse erfasst werden, werden in einem komprimierten, spaltenbasierten Format mithilfe von Parquet-Dateien gespeichert. Werden die Dateien im Aufnahmemuster aus dem Verarbeitungsordner in den Verarbeitungsordner verschoben, werden sie nach erfolgreicher Verarbeitung standardmäßig komprimiert. Sie können die Komprimierung nach Bedarf konfigurieren oder deaktivieren. Für die Imaging- und Anspruchsfunktionen können die Erfassungspipelines auch Rohdateien in einem komprimierten ZIP-Format verarbeiten.
Datenmodell für das Gesundheitswesen
Wie unter Medaillon-Lakehouse-Design beschrieben, implementieren die Stagingtabellen im Bronze Lakehouse intern speziell entwickelte Tabellen für Datenlösungen im Gesundheitswesen und folgen keinem Branchen- oder Community-Datenstandard.
Das Datenmodell für das Gesundheitswesen im Silver Lakehouse basiert auf dem FHIR R4-Standard. Es bietet eine gemeinsame Datensprache für Datenanalysten, Datenwissenschaftler und Entwickler für die Zusammenarbeit und die Entwicklung datengesteuerte Lösungen, die die Ergebnisse für Patienten und die Geschäftsleistung verbessern. Es unterstützt Daten in verschiedenen Bereichen des Gesundheitswesens, z. B. Klinik, Verwaltung, Finanzen und Soziales. Das Datenmodell für das Gesundheitswesen erfasst durch den FHIR-Standard definierte Daten und organisiert die FHIR-Ressourcen mithilfe von Tabellen und Spalten innerhalb des Lakehouse.
Durch das Vereinfachen von FHIR-Daten in Delta-Parquet-Tabellen können Sie für das Durchsuchen und Analysieren von Daten vertraute Tools wie T-SQL und Spark SQL verwenden. Für nichtklinische Daten außerhalb von FHIR verwenden wir Schemas aus den Azure Synapse-Datenbankvorlagen. Diese Implementierung ermöglicht die Einbindung nichtklinischer Informationen, wie z. B. Daten zur Patienteninteraktion, in das Patientenprofil.
Das Datenmodell für das Gesundheitswesen im Silver Lakehouse ist so konzipiert, dass es eine End-to-End-Unternehmenssicht auf Gesundheitsdaten über Geschäftseinheiten und Forschungsbereiche hinweg bietet.
Datenherkunft und Rückverfolgbarkeit
Um die Herkunft und Rückverfolgbarkeit auf Datensatz- und Dateiebene zu gewährleisten, enthalten die Tabellen des Datenmodells für das Gesundheitswesen folgende Spalten:
Column | Eigenschaft |
---|---|
msftCreatedDatetime |
Zeitstempel der ersten Erstellung des Datensatzes im Silver Lakehouse |
msftModifiedDatetime |
Zeitstempel der letzten Änderung des Datensatzes |
msftFilePath |
Vollständiger Pfad zur Quelldatei im Bronze Lakehouse, einschließlich Verknüpfungen |
msftSourceSystem |
Das Quellsystem des Datensatzes gemäß dem Namespace in der einheitlichen Ordnerstruktur |
Wird ein Feld normalisiert, vereinfacht oder geändert, wird der ursprüngliche Wert in der Spalte {columnName}Orig
festgehalten. In der Patiententabelle im Silver Lakehouse finden Sie z. B. folgende Spalten:
Column | Eigenschaft |
---|---|
meta_lastUpdatedOrig |
Hält den ursprünglichen Wert in seinem Rohformat (Zeichenfolge oder Datum) fest und speichert ihn als Datetime |
idOrig und identifierOrig |
Im Silver Lakehouse harmonisierte IDs und Bezeichner |
birthdateOrig und deceasedDateTimeOrig |
Hält die ursprünglichen Datumswerte mit einer anderen Zeitstempelformatierung fest |
Wird eine Spalte (z. B. meta_lastUpdated
) vereinfacht oder in eine Zeichenfolge (z. B meta_string
) konvertiert, wird sie mit einem Suffix gekennzeichnet, der mit einem Unterstrich (_
) beginnt.
Handhabung von Aktualisierungen
Werden neue Daten aus dem Bronze Lakehouse im Silver Lakehouse erfasst, vergleicht ein Aktualisierungsvorgang die eingehenden Datensätze für jeden Ressourcen- und Tabellentyp mit den Zieltabellen im Silver Lakehouse. Für FHIR-Tabellen im Silver Lakehouse werden bei diesem Vergleich die Werte {FHIRResource}.id
und {FHIRResource}.meta_lastUpdated
mit den Spalten id
und lastUpdated
in der Stagingtabelle ClinicalFhir abgeglichen.
- Wird eine Übereinstimmung festgestellt und der eingehende Datensatz ist neu, wird der Silver-Datensatz aktualisiert.
- Ist der eingehende Datensatz alt, wird der Silver-Datensatz ignoriert.
- Wird keine Übereinstimmung gefunden, wird der neue Datensatz in das Silver Lakehouse eingefügt.
Admin Lakehouse
Das Admin Lakehouse verwaltet die Lakehouse-übergreifende Konfiguration, die globale Konfiguration, die Statusberichterstattung und die Nachverfolgung für Datenlösungen für das Gesundheitswesen in Microsoft Fabric.
Globale Konfiguration
Der Ordner system-configurations im Admin Lakehouse enthält die globalen Konfigurationsparameter. Die drei Konfigurationsdateien enthalten vorkonfigurierte Werte für die Standardbereitstellung aller Funktionen von Datenlösungen für das Gesundheitswesen. Sie müssen keinen dieser Werte neu konfigurieren, um die Beispieldaten oder Datenpipelines für beliebige Funktion auszuführen.
Die Datei deploymentParametersConfiguration.json enthält globale Parameter unter activitiesGlobalParameters
und aktivitätsspezifische Parameter für Notebooks und Pipelines unter activities
. Der jeweilige Funktionsleitfaden enthält für jede Funktion die spezifischen Konfigurationsdetails. Die Dateiparameter validation_config.json werden unter Datenüberprüfung erläutert.
In der folgenden Tabelle werden alle globalen Konfigurationsparameter aufgeführt.
Abschnitt | Konfigurationsparameter |
---|---|
activitiesGlobalParameters |
•administration_lakehouse_id :Bezeichner des Admin Lakehouse• bronze_lakehouse_id : Bezeichner des Bronze Lakehouse• silver_lakehouse_id : Bezeichner des Silver Lakehouse• keyvault_name : Azure Key Vault-Wert bei Bereitstellung mit dem Azure Marketplace-Angebot• enable_hds_logs : Aktiviert die Protokollierung; Standardwert ist auf true festgelegt• movement_config_path : Pfad zur Datei file_orchestration_config• bronze_imaging_delta_table_path : Fabric-Pfad für die Bildgebungsmodalität-Tabelle (falls bereitgestellt)• bronze_imaging_table_schema_path : Fabric-Pfad für die Bildgebungsschema-Tabelle (falls bereitgestellt)• omop_lakehouse_id : Bezeichner des Gold Lakehouse (falls bereitgestellt) |
Aktivitäten für healthcare#_msft_fhir_ndjson_bronze_ingestion | •source_path_pattern : OneLake-Pfade zum Verarbeitungsordner• move_failed_files_enabled : Kennzeichnung, ob eine fehlgeschlagene Datei aus dem Erfassungsordner in den Fehlerordner verschoben werden soll• compression_enabled : Kennzeichnung, ob die NDJSON-Rohdateien nach der Verarbeitung komprimiert werden• target_table_name : Name der klinischen Erfassungstabelle im Bronze Lakehouse• target_tables_path : OneLake-Pfad für alle Delta-Tabellen im Bronze Lakehouse• max_files_per_trigger : Anzahl der Dateien, die bei jeder Ausführung verarbeitet werden• max_structured_streaming_queries : Anzahl der Verarbeitungsabfragen, die parallel ausgeführt werden können• checkpoint_path : OneLake-Pfad für den Prüfpunktordner• schema_dir_path : OneLake-Pfad für den Bronze-Schema-Ordner• validation_config_key : Validierungskonfiguration auf übergeordneter Ebene Weitere Informationen finden Sie unter Datenüberprüfungen.• file_extension : Erweiterung der erfassten Rohdatei |
Aktivitäten für healthcare#_msft_bronze_silver_flatten | •source_table_name : Name der klinischen Erfassungstabelle im Bronze Lakehouse• config_path : OneLake-Pfad zur vereinfachten Konfigurationsdatei• source_tables_path : OneLake-Pfad zu den Delta-Quelltabellen im Bronze Lakehouse• target_tables_path : OneLake-Pfad zu den Delta-Zieltabellen im Silver Lakehouse• checkpoint_path : OneLake-Pfad für den Prüfpunktordner• schema_dir_path : OneLake-Pfad für den Bronze-Schema-Ordner• max_files_per_trigger : Anzahl der Dateien, die in jeder Ausführung verarbeitet werden• max_bytes_per_trigger : Anzahl der Bytes, die in jeder Ausführung verarbeitet werden• max_structured_streaming_queries : Anzahl der Verarbeitungsabfragen, die parallel ausgeführt werden können |
Aktivitäten für healthcare#_msft_imaging_dicom_extract_bronze_ingestion | •byos_enabled : Kennzeichnung, ob die Erfassung des DICOM-Bildgebungsdatasets im Bronze Lakehouse von einem externen Speicherort über OneLake-Verknüpfungen erfolgt In diesem Fall werden die Dateien nicht in den Verarbeitungsordner verschoben, wie dies sonst der Fall wäre.• external_source_path : OneLake-Pfad für den verknüpften externen Ordner im Bronze Lakehouse• process_source_path : OneLake-Pfad für den Verarbeitungsordner im Bronze Lakehouse• checkpoint_path : OneLake-Pfad für den Prüfpunktordner• move_failed_files : Kennzeichnung, ob eine fehlgeschlagene Datei aus dem Erfassungsordner in den Fehlerordner verschoben wird• compression_enabled : Kennzeichnung, ob die NDJSON-Rohdateien nach der Verarbeitung komprimiert werden• max_files_per_trigger : Anzahl der Dateien, die in jeder Ausführung verarbeitet werden• num_retries : Anzahl der Wiederholungen für jede Dateiverarbeitung vor einem Fehler |
Aktivitäten für healthcare#_msft_imaging_dicom_fhir_conversion | •fhir_ndjson_files_root_path : OneLake-Pfade zum Verarbeitungsordner• avro_schema_path : OneLake-Pfad für den Silver-Schema-Ordner• dicom_to_fhir_config_path : OneLake-Pfad für die Konfiguration der Zuordnung von DICOM-Metatags zur FHIR-Ressource ImagingStudy• checkpoint_path : OneLake-Pfad für den Prüfpunktordner• max_records_per_ndjson : Anzahl der Datensätze, die in jeder Ausführung in einer einzelnen NDJSON-Datei verarbeitet werden• subject_id_type_code : Wertcode für die medizinische Nummer des Patienten in den DICOM-Metadaten Der Standardwert ist auf MR festgelegt, was Medical Record Number in FHIR entspricht.• subject_id_type_code_system : Das Codesystem für die medizinische Nummer des Patienten in den DICOM-Metadaten• subject_id_system : Die Objekt-ID für das Codesystem für die medizinische Nummer des Patienten in den DICOM-Metadaten |
Aktivitäten für healthcare#_msft_omop_silver_gold_transformation | •vocab_path : OneLake-Pfad zum Verweisdatenordner im Bronze Lakehouse, in dem die OMOP Vokabel-Datasets gespeichert sind• vocab_checkpoint_path : OneLake-Pfad für den Prüfpunktordner• omop_config_path : OneLake-Pfad für die Konfiguration der Zuordnung vom Silver Lakehouse zum Gold OMOP Lakehouse. |
BusinessEvents-Tabelle
Die Deltatabelle BusinessEvents erfasst alle Überprüfungsfehler, Warnungen und andere Benachrichtigungen oder Ausnahmen, die während Erfassungs- und Transformationsprozessen auftreten können. Verwenden Sie diese Tabelle, um den Fortschritt der Erfassungsausführung sowohl auf Benutzer- als auch auf Funktionsebene und nicht nur auf Systemprotokollebene zu überwachen. Sie identifiziert beispielsweise, welche Rohdateien bei der Erfassung zu Überprüfungsfehlern oder Warnungen geführt haben. Für Protokolle auf Systemebene und zur Überwachung von Apache Spark-Aktivitäten in allen Lakehouses können Sie den Fabric-Überwachungshub verwenden mit der Option, Azure Log Analytics zu integrieren.
Die folgende Tabelle enthält die Spalten in der Tabelle BusinessEvent:
Column | Eigenschaft |
---|---|
id |
Eindeutiger Bezeichner (GUID) für jede Zeile in der Tabelle |
activityName |
Name der Aktivität/des Notebooks, die/das den Fehler und/oder den Überprüfungsfehler oder die Warnung generiert hat |
targetTableName |
Zieltabelle für die Datenaktivität, die das Ereignis generiert hat |
targetFilePath |
Pfad für die Zieldatei für die Datenaktivität, die das Ereignis generiert hat |
sourceTableName |
Quelltabelle für die Datenaktivität, die das Ereignis generiert hat |
sourceLakehouseName |
Quell-Lakehouse für die Datenaktivität, die das Ereignis generiert hat |
targetLakehouseName |
Ziel-Lakehouse für die Datenaktivität, die das Ereignis generiert hat |
sourceFilePath |
Pfad für die Quelldatei für die Datenaktivität, die das Ereignis generiert hat |
runId |
Ausführungs-ID für die Datenaktivität, die das Ereignis generiert hat |
severity |
Schweregrad des Ereignisses, der einen der folgenden zwei Werte annehmen kann: Error oder Warning Error bedeutet, dass Sie dieses Ereignis beheben müssen, bevor Sie mit der Datenaktivität fortfahren können Warning dient als passive Benachrichtigung, die in der Regel kein sofortiges Handeln erfordert. |
eventType |
Unterscheidet zwischen Ereignissen, die vom Überprüfungsmodul generiert werden, und generischen Ereignissen, die von Benutzern oder nicht behandelten Ausnahmen/Systemausnahmen generiert werden, die Benutzer in der BusinessEvent-Tabelle anzeigen möchten. |
recordIdentifier |
Bezeichner des Quelldatensatzes Diese Spalte unterscheidet sich von der Spalte id dadurch, dass sie einen neuen und eindeutigen Bezeichner für jedes Ereignis in der Tabelle BusinessEvents abbildet. |
recordIdentifierSource |
Quellsystem für den Bezeichner des Quelldatensatzes Wenn das Quellsystem beispielsweise die ePA ist, dient der Name oder die URL der ePA als Quelle. |
active |
Kennzeichnung, ob das Ereignis (Fehler oder Warnung) behoben ist |
message |
Meldung mit der Beschreibung des Fehlers oder der Warnung |
exception |
Meldung der nicht behandelten Ausnahme/Systemausnahme |
customDimensions |
Anwendbar, wenn die Quelldaten der Überprüfung oder Ausnahme keine diskrete Spalte in einer Tabelle sind. Wenn es sich bei den Quelldaten beispielsweise um ein Attribut innerhalb eines JSON-Objekts handelt, das als Zeichenfolge in einer einzelnen Spalte gespeichert ist, wird das vollständige JSON-Objekt als benutzerdefinierte Dimension bereitgestellt. |
eventDateTime |
Zeitstempel der Generierung des Ereignisses oder der Ausnahme |
Datenüberprüfungen
Das Datenüberprüfungsmodul in Datenlösungen für das Gesundheitswesen in Microsoft Fabric stellt sicher, dass die Rohdaten vordefinierte Kriterien erfüllen, bevor sie im Bronze Lakehouse erfasst werden. Sie können die Überprüfungsregeln auf Tabellen- und Spaltenebene innerhalb des Bronze Lakehouse konfigurieren. Derzeit werden diese Regeln ausschließlich während des Erfassungsprozesses implementiert, von Rohdateien bis hin zu Delta-Tabellen im Bronze Lakehouse.
Wenn eine Rohdatei verarbeitet wird, gelten die Überprüfungsregeln auf Erfassungsebene. Es gibt zwei Schweregrade für die Überprüfung: Error
und Warning
. Ist eine Validierungsregel auf Error
festgelegt, stoppt die Pipeline, wenn die Regel verletzt wird, und die fehlerhafte Datei wird in den Fehlerordner verschoben. Ist der Schweregrad auf Warning
festgelegt, setzt die Pipeline die Verarbeitung fort, und die Datei wird in den Verarbeitungsordner verschoben. In beiden Fällen werden Einträge, die die Fehler bzw. Warnungen widerspiegeln, in der Tabelle BusinessEvents im Admin Lakehouse erstellt.
Die Tabelle BusinessEvents erfasst Protokolle und Ereignisse auf Geschäftsebene für alle Lakehouses für alle Aktivitäten, Notebooks oder Datenpipelines in Datenlösungen für das Gesundheitswesen. Die aktuelle Konfiguration erzwingt jedoch nur Überprüfungsregeln während der Erfassung, was dazu führen kann, dass einige Spalten in der Tabelle BusinessEvents für Überprüfungsfehler und -warnungen nicht ausgefüllt werden.
Sie können die Datenüberprüfungsregeln in der Datei validation_config.json im Admin Lakehouse konfigurieren. Standardmäßig werden die Spalten meta.lastUpdated
und id
in der Tabelle ClinicalFhir des Bronze Lakehouse je nach Bedarf festgelegt. Diese Spalten sind entscheidend für die Entscheidung, wie Aktualisierungen und Einfügungen im Silver Lakehouse verwaltet werden, siehe auch Handhabung von Aktualisierungen.
In der folgenden Tabelle sind die Konfigurationsparameter für die Datenüberprüfung aufgeführt.
Konfigurationstyp | Parameter |
---|---|
Lakehouse-Ebene | bronze : Der Umfang der Überprüfungs- und Datensatzbezeichnerknoten In diesem Fall wird der Wert für das Bronze Lakehouse festgelegt. |
Prüfungen | •validationType : Der exists Überprüfungstyp prüft, ob in der Rohdatei (Quelldaten) ein Wert für das konfigurierte Attribut bereitgestellt wird.• attributeName : Name des zu überprüfenden Attributs• validationMessage : Meldung, die den Überprüfungsfehler oder die Warnung beschreibt• severity : Gibt den Grad des Problems an, der entweder Error oder Warning sein kann• tableName : Name der zu überprüfenden Tabelle Ein Sternchen (*) zeigt an, dass diese Regel für alle Tabellen innerhalb des Geltungsbereichs dieses Lakehouse gilt. |
recordIdentifier |
•attributeName : Datensatzbezeichner der Quell-/Rohdatei in der Spalte recordIdentifier in der Tabelle BusinessEvent• jsonPath : Optionaler Wert, der den JSON-Pfad einer Spalte oder eines Attributs für den Wert darstellt, der in der Spalte recordIdentifier in der Tabelle BusinessEvent platziert werden soll. Dieser Wert gilt, wenn die Quelldaten für die Überprüfung keine diskrete Spalte in einer Tabelle sind. Wenn es sich bei den Quelldaten beispielsweise um ein Attribut innerhalb eines JSON-Objekts handelt, das als Zeichenfolge in einer einzelnen Spalte gespeichert ist, leitet der JSON-Pfad zu dem spezifischen Attribut weiter, das als Datensatzbezeichner dient. |