DE112004001153T5 - Datenmigration- und Formattransformationssystem - Google Patents

Datenmigration- und Formattransformationssystem Download PDF

Info

Publication number
DE112004001153T5
DE112004001153T5 DE112004001153T DE112004001153T DE112004001153T5 DE 112004001153 T5 DE112004001153 T5 DE 112004001153T5 DE 112004001153 T DE112004001153 T DE 112004001153T DE 112004001153 T DE112004001153 T DE 112004001153T DE 112004001153 T5 DE112004001153 T5 DE 112004001153T5
Authority
DE
Germany
Prior art keywords
data
record
conversion
source
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE112004001153T
Other languages
English (en)
Inventor
Rick Oviedo Wildes
Robert Bonham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Medical Solutions USA Inc
Original Assignee
Siemens Medical Solutions Health Services Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Medical Solutions Health Services Corp filed Critical Siemens Medical Solutions Health Services Corp
Publication of DE112004001153T5 publication Critical patent/DE112004001153T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

System zum Transformieren von Daten einer ersten Datenstruktur in eine andere zweite Datenstruktur, die mit einer ausführbaren Anwendung kompatibel ist, umfassend:
eine Konvertierungsvorlage, die vorbestimmte ausführbare Anweisungen zum Steuern der Konvertierung von Datenquellensätzen aus einem ersten Datenformat in Datenzielsätzen mit einem anderen zweiten Datenformat umfaßt;
einen Konvertierungsprozessor zum Abbilden und Konvertieren von Datenelementen in Datenfeldern der Quellensätze in Datenelemente in entsprechenden Datenfeldern der Zielsätze durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken als Reaktion auf die Konvertierungsvorlage.

Description

  • Querverweis zu verwandten Anmeldungen
  • Die vorliegende Anmeldung ist eine nicht provisorische Anmeldung der am 25. Juni 2003 von Wildes et al. eingereichten vorläufigen Anmeldung mit der laufenden Nummer 60/482,330.
  • Erfindungsgebiet
  • Die vorliegende Erfindung betrifft allgemein Computerinformationssysteme. Insbesondere betrifft die vorliegende Erfindung ein Datenmigrations- und Formattransformationssystem.
  • Allgemeiner Stand der Technik
  • Bei Computerinformationssystemen für Unternehmen aus dem Gesundheitswesen und andere Unternehmen müssen manchmal als erstes Datenformat zur Verwendung in einem ersten Computersystem gespeicherte Daten in ein von dem ersten Datenformat verschiedenes zweites Datenformat migriert und konvertiert werden, um durch ein von dem ersten Computersystem verschiedenes zweites Computersystem verwendet zu werden. In der Regel wird kundenspezifischer Konvertierungssoftwarecode erzeugt, um Daten von dem ersten Computersystem zu dem zweiten Computersystem zu bewegen und zu konvertieren.
  • Existierende Softwareanwendungen und Softwaretools bewegen und konvertieren Daten von einem Computersystem zu einem anderen. Diese existierenden Anwendungen und Tools bewegen jedoch üblicherweise Daten von Arbeitsdatenbanken zu Datenwarenhäusern und liefern üblicherweise nicht die gewünschte Flexibilität und kundenspezifische Anpassung.
  • Um Daten so zu bewegen und zu konvertieren, daß sie mit einem anderen Computersystem kompatibel sind, wird üblicherweise für jedes individuelle Umzugs- und Konvertierungsprojekt Softwarecode erstellt und getestet. Außerdem ist der erstellte, eine Konvertierung durchführende Code üblicherweise für den Einsatzdurch Programmierer bestimmt und nicht benutzerfreundlich. Der erstellte Code stellt üblicherweise außerdem keine Benutzerschnittstelle bereit, die es einem Benutzer ermöglicht, den Fortschritt einer Konvertierung einzuschätzen oder die Konvertierung nach dem Testen des erstellten Codes kundenspezifisch anzupassen. Dementsprechend besteht ein Bedarf an einem Datenmigrations- und Formattransformationssystem, das diese und andere Nachteile der Systeme nach dem Stand der Technik überwindet.
  • Kurze Darstellung der Erfindung
  • Gemäß einem Aspekt der vorliegenden Erfindung transformiert ein System Daten mit einer ersten Datenstruktur in Daten mit einer anderen zweiten Datenstruktur, die mit einer ausführbaren Anwendung kompatibel ist. Das System enthält eine Konvertierungsvorlage und einen Konvertierungsprozessor. Die Konvertierungsvorlage enthält vorbestimmte ausführbare Anweisungen zum Steuern der Konvertierung von Datenquellensätzen mit einem ersten Datenformat in Datenzielsätzen mit einem anderen zweiten Datenformat. Der Konvertierungsprozessor bildet Datenelemente in Datenfeldern der Datenquellensätzen in Datenelemente in entsprechenden Datenfeldern der Datenzielsätzen ab und konvertiert sie durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken als Reaktion auf die Konvertierungsvorlage.
  • Kurze Beschreibung der Zeichnungen
  • 1 veranschaulicht ein Datenmigrations- und Formattransformationssystem gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 2 veranschaulicht ein Funktionsblockdiagramm einer Konvertierungsmaschine für das in 1 gezeigte System gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 3 veranschaulicht ein Leserprozessorverfahren für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 4 veranschaulicht ein Mapper-Prozessorverfahren für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 5 veranschaulicht ein Schreiberprozessorverfahren für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 6 veranschaulicht ein Log-Schreiberprozessorverfahren für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 7 veranschaulicht ein Konvertierungsplanfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 8 veranschaulicht ein Konvertierungsplanausführungsressourcenfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 9 veranschaulicht ein Felddefinitionsfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 10 veranschaulicht ein Feldattributsfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 11 veranschaulicht ein Datensatzeigenschaftendialogfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 12 veranschaulicht ein Prozessorlistenfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 13 veranschaulicht ein Prozessoreigenschaftenfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • 14 veranschaulicht ein Datenquelleneigenschaftenfenster für das System und die Maschine, die in 1 bzw. 2 gezeigt sind, gemäß der bevorzugten Ausführungsform der vorliegenden Erfindung.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • 1 veranschaulicht ein Datenmigrations- und Formattransformationssystem 100 (im weiteren als „das System 100" bezeichnet). Das System 100 enthält allgemein ein erstes Computersystem 102, eine Konvertierungsmaschine 104 und ein zweites Computersystem 106. Das erste Computersystem 102 enthält eine erste zentrale Datenbank 108 zum Speichern von Datenquellensätzen mit Datenelementen in Datenfeldern in einem ersten Datenformat. Das zweite Computersystem 106 enthält eine zweite zentrale Datenbank 110 zum Speichern von Datenzielsätzen mit Datenelementen in Datenfeldern in einem zweiten Datenformat. Bei jeder der ersten und zweiten zentralen Datenbank kann es sich um eine beliebige Art von Datenspeicherungseinrichtung handeln und kann ansonsten als Speicherbauelemente oder Datenbanken bezeichnet werden. Sowohl das erste Computersystem 102 mit der ersten zentralen Datenbank 108 als auch das zweite Computersystem 106 mit der zweiten zentralen Datenbank 110 sind zusammen mit anderen computerbezogenen Schaltungen und assoziierter Software dem Fachmann wohlbekannt.
  • Die Konvertierungsmaschine 104 enthält eine Konvertierungsvorlage 112, eine Benutzerschnittstelle 114, einen Vorprozessor 116, einen Zuordnungsprozessor 118 und einen Konvertierungsprozessor 120. Die Konvertierungsvorlage enthält ausführbare Anweisungen 113. Die Benutzerschnittstelle 114 enthält eine Dateneingabeeinrichtung 126, einen Benutzerschnittstellengenerator 128 und eine Datenausgabeeinrichtung 130. Der Konvertierungsprozessor enthält einen abbildenden Prozessor 122 und einen konvertierenden Prozessor 124.
  • Das System 100 ist für den Einsatz durch einen Healthcare-Provider gedacht, der dafür verantwortlich ist, sich um die Gesundheit und/oder das Wohlergehen von ihm anvertrauten Menschen zu kümmern. Ein Healthcare-Provider kann Dienste bereitstellen, die auf das mentale, emotionelle oder physische Wohlergehen eines Patienten ausgerichtet sind. Zu Beispielen für Healthcare-Provider zählen u.a. ein Krankenhaus, ein Pflegeheim, eine Pflegeeinrichtung für betreutes Wohnen, eine Einrichtung für die Gesundheitspflege zu Hause, eine Hospizeinrichtung, eine Einrichtung für kritische Pflege, eine Gesundheitspflegeklinik, eine Klinik zur physikalischen Therapie, eine chiropraktische Klinik und eine Zahnarztpraxis. Bevorzugt ist der Healthcare-Provider ein Krankenhaus. Wenn ein Healthcare-Provider eine ihm anvertraute Person betreut, diagnostiziert er einen Zustand oder eine Krankheit und empfiehlt zur Heilung des Zustands einen Behandlungsablauf, falls eine derartige Behandlung existiert, oder liefert vorbeugende Gesundheitsdienste. Zu Beispielen für die Menschen, die von einem Healthcare-Provider betreut werden, zählen u.a. ein Patient, ein Bewohner, ein Klient, ein Benutzer und eine individuelle Person.
  • Die Computersysteme 102 und 106 stellen jeweils einen elektronischen Mechanismus bereit, damit ein Healthcare-Provider (ansonsten als „Mitarbeiter im Gesundheitswesen" bezeichnet) auf Gesundheitsdaten zugreifen kann. Jedes der Computersysteme 102 und 106 kann stationär oder mobil (d.h. tragbar) sein und kann in einer Vielfalt von Formen implementiert sein, einschließlich u.a. ein Desktop-Computer, ein Laptop-Computer, eine Workstation, eine netzbasierte Einrichtung, ein PDA (Personal Digital Assistant), eine Smartcard, ein Mobiltelephon, ein Pager und eine Armbanduhr. Jedes der Computersysteme 102 und 106 kann in einer zentralisierten oder dezentralisierten Konfiguration implementiert sein.
  • Die Benutzerschnittstelle 114 enthält die Dateneingabeeinrichtung 126, die es einem Benutzer gestattet, Informationen in die Konvertierungsmaschine 104 einzugeben, und die Datenausgabeeinrichtung 130, über die ein Benutzer Informationen von der Konvertierungsmaschine 104 erhalten kann. Bevorzugt ist die Dateneingabeeinrichtung 126 eine Tastatur, es kann sich dabei aber auch um einen Berührungsschirm oder ein Mikrophon mit Spracherkennungsprogramm handeln (als Beispiel). Bevorzugt ist die Datenausgabeeinrichtung 130 ein Display, sie kann aber auch ein Lautsprecher sein (als Beispiel). Die Datenausgabeeinrichtung 130 liefert dem Benutzer Informationen als Reaktion darauf, daß die Dateneingabeeinrichtung 126 Informationen von einem Benutzer erhält, oder als Reaktion auf eine andere Aktivität durch die Konvertierungsmaschine 104. Beispielsweise präsentiert das Display Informationen als Reaktion darauf, daß ein Benutzer über die Tastatur Informationen in die Konvertierungsmaschine 104 eingibt.
  • Der Benutzerschnittstellengenerator 128 erzeugt Informationen, bevorzugt in Form von Displaybildern, für die Datenausgabeeinrichtung 130. Ein Benutzerschnittstellenprozessor oder Benutzerschnittstellengenerator ist ein bekanntes Element, das elektronische Schaltungen oder Software oder eine Kombination aus beidem enthält, um Displaybilder oder Teile davon zu erzeugen. Eine Benutzerschnittstelle umfaßt ein oder mehrere Displaybilder, die eine Benutzerinteraktion mit einem Prozessor oder einer anderen Einrichtung ermöglichen. Zudem kann jede der von dem System 100 und der Maschine 104 der 1 bzw. 2 bereitgestellten Funktionen in Hardware, Software oder einer Kombination aus beidem implementiert sein.
  • Die Benutzerschnittstelle 114 stellt bevorzugt eine graphische Benutzeroberfläche (GUI) bereit, wobei zumindest Teile der Dateneingabeeinrichtung 126 und zumindest Teile der Datenausgabeeinrichtung 130 miteinander integriert sind, damit man eine benutzerfreundliche Schnittstelle erhält. Beispielsweise bildet ein Web-Browser einen Teil jeder der Eingabeeinrichtung und der Ausgabeeinrichtung, indem er gestattet, daß Informationen in den Web-Browser eingegeben werden, und indem er gestattet, daß Informationen durch den Web-Browser angezeigt werden.
  • Die Konvertierungsmaschine 104 kommuniziert mit jedem der Computersysteme 102 und 106 über einen verdrahteten oder drahtlosen Kommunikationsweg. Der Ausdruck „Weg" kann ansonsten auch als ein Netz, eine Strecke, ein Kanal oder als eine Verbindung bezeichnet werden. Der Kommunikationsweg kann jede Art von Protokoll verwenden, ansonsten als Datenformat bezeichnet, einschließlich u.a. ein Internetprotokoll (IP), ein Transmission-Control-Protocol-Internet-Protokoll (TCP/IP), ein Hyper Text Transmission Protocol (HTTP), ein RS232-Protokoll, ein Ethernet-Protokoll, ein mit dem Medical Interface Bus (MIB) kompatibles Protokoll, ein LAN- (Local Area Network)-Protokoll, ein WAN(Wide Area Network)-Protokoll, ein mit dem IEEE (Institute Of Electrical And Electronic Engineers)-Bus kompatibles Protokoll, ein DICOM- (Digital and Imaging Communications)-Protokoll und ein HL7- (Health Level Seven)-Protokoll.
  • Die Gesundheitsweseninformationen werden von einer oder mehreren verschiedenen Abteilungen erzeugt, die ansonsten als Gesundheitswesenquellen innerhalb eines oder beider Computersysteme 102 und 106 bezeichnet sind. Beispiele für die Gesundheitswesenquellen beinhalten u.a. ein Krankenhaussystem, ein Medizinsystem und ein Arztsystem, ein Datensatzsystem, ein Radiologiesystem, ein Buchhaltungssystem, ein Fakturierungssystem und jedes beliebige andere System, das in dem System 100 erforderlich ist oder gewünscht wird. Das Krankenhaussystem enthält weiterhin u.a. ein Laborsystem, ein Pharmaziesystem, ein Finanzsystem und ein Pflegesystem. Das Medizinsystem, ansonsten als Unternehmen bezeichnet, stellt eine Gesundheitsklinik oder ein anderes Krankenhaussystem dar. Das Arztsystem stellt eine Arztpraxis dar. Die Gesundheitsweseninformationen können in einer Vielfalt von Dateiformaten repräsentiert werden, einschließlich u.a. und in einer beliebigen Kombination: numerische Dateien, Textdateien, Graphikdateien, Videodateien, Audiodateien und visuelle Dateien. Die Graphikdateien enthalten eine graphische Spur, einschließlich beispielsweise eine Elektrokardiogramm- (EKG)-Spur und eine Elektroencephalogramm- (EEG)-Spur. Die Videodateien enthalten ein Videoeinzelbild oder eine Videobildsequenz. Die Audiodateien beinhalten einen Audioton oder ein Audiosegment. Die visuellen Dateien beinhalten ein Diagnosebild, einschließlich beispielsweise eine Magnetresonanz-tomographieaufnahme (MRI – Magnetic Resonance Image), ein Röntgenbild, einen Positronenemissionstomographie- (PET)-Scan oder ein Sonogramm.
  • In der Konvertierungsmaschine 104 können ein oder mehrere Elemente, wie hier gezeigt und beschrieben, einen oder mehrere Prozessoren enthalten, wie etwa den Vorprozessor 116, den Zuordnungsprozessor 118 und den Konvertierungsprozessor 124. Der Ausdruck Prozessor, wie er hier verwendet wird, umfaßt ein beliebiges Element oder eine Kombination der Elemente Hardware, Firmware und/oder Software. Ein Prozessor wirkt auf gespeicherte und/oder empfangene Informationen durch Manipulieren, Analysieren, Modifizieren, Konvertieren oder Übertragen von Informationen zur Verwendung durch eine ausführbare Prozedur oder eine Informationseinrichtung und/oder durch Lenken der Informationen an eine Ausgabeeinrichtung. Ein Prozessor kann die Fähigkeiten eines Controllers oder Mikroprozessors verwenden oder umfassen (als Beispiel).
  • Ein Prozessor führt als Reaktion auf die Verarbeitung eines Objekts Aufgaben aus. Ein Objekt, wie es hier verwendet wird, umfaßt eine Gruppierung von Daten und/oder ausführbaren Anweisungen, eine ausführbare Prozedur oder eine ausführbare Anwendung. Eine ausführbare Anwendung, wie hier verwendet, umfaßt Code oder maschinenlesbare Anweisung zum Implementieren vorbestimmter Funktionen einschließlich jener eines Betriebssystems, eines Gesundheitsweseninformationssystems oder eines anderen Informationsverarbeitungssystems (als Beispiel) als Reaktion auf Benutzerbefehl oder -eingabe. Eine ausführbare Prozedur, wie hier verwendet, ist ein Segment aus Code (maschinenlesbare Anweisung), Subroutine oder eine andere eigenständige Sektion von Code oder einen anderen eigenständigen Abschnitt einer ausführbaren Anwendung zum Ausführen eines oder mehrerer bestimmter Prozesse und kann das Ausführen von Operationen an empfangenen Eingabeparametern (oder als Reaktion auf empfangene Eingabeparameter) beinhalten und resultierende Ausgabeparameter bereitstellen.
  • Das System 100 stellt vorteilhafterweise eine flexible und kundenspezifisch anpaßbare Weise bereit, um komplexe Daten von einer Stelle (z. B. Computersystem 102 und/oder zentrale Datenbank 108) zu einer anderen (z. B. Computersystem 106 und/oder zentrale Datenbank 110) zu migrieren. Das System 100 gestattet, daß Benutzer über die graphische Benutzeroberfläche 114 Konvertierungsvorlagen erzeugen und definieren, die spezifizieren, wie komplexe Daten von einer Stelle zu einer anderen bewegt werden. Bevorzugt erleichtert das System 100 die Migration von Daten von klinischen elektronischen medizinischen Datensatzsystemen zu einer anderen klinischen ausführbaren Anwendung.
  • Die Konvertierungsmaschine 104 ermöglicht die Erzeugung von Modellkonvertierungsvorlagen (ansonsten als „Pläne" bezeichnet), die übliche Konvertierungsaufgaben unterstützen. Die Konvertierungsvorlagen 112 lassen sich über die graphische Benutzeroberfläche 114 kundenspezifisch anpassen, damit sie spezifische Anforderungen handhaben können. Als Reaktion auf das Testen einer Konvertierungsvorlage 112 verwendet ein Benutzer die graphische Benutzeroberfläche 114, um die Konvertierungsvorlage 112 zu modifizieren, damit identifizierte Probleme gelöst werden, ohne daß die Erstellung ausführbaren Softwarecodes erforderlich ist. Die Konvertierungsvorlage 112 umfaßt eine vorbestimmte Anweisung 113, die einen Konvertierungsprozeß steuert und in XML oder einer anderen Softwareprogrammcodesprache implementiert ist (als Beispiel).
  • Die Prozessoren 116, 118 und 120 empfangen eine Konvertierungsvorlage 112, die die Quellendaten, Zieldaten und die Abbildung definiert, und verwenden diese Konvertierungsvorlage 112, um Daten von einer Stelle zu einer anderen zu bewegen. Die graphische Benutzeroberfläche 114 gestattet, daß Endbenutzer Konvertierungsvorlagen 112 erstellen, modifizieren und ausführen.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung transformiert das System 100 Daten einer ersten Datenstruktur in eine mit einer ausführbaren Anwendung kompatible andere zweite Datenstruktur. Die Konvertierungsvorlage 112 enthält eine oder mehrere vorbestimmte ausführbare Anweisungen 113 zum Steuern der Konvertierung von in einer ersten zentralen Datenbank 108 gespeicherten Datenquellensätzen von einem ersten Datenformat zu in einer zweiten zentralen Datenbank 110 gespeicherten Datenzielsätzen mit einem anderen zweiten Datenformat. Von dem Konvertierungsprozessor 120 werden Datenelemente in Datenfeldern der Quellensätze in Datenelemente in entsprechenden Datenfeldern der Zielsätze abgebildet 122 und konvertiert 124 durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken als Reaktion auf die Konvertierungsvorlage 112.
  • Die Konvertierungsvorlage 112 assoziiert eine ausführbare Prozedur mit einem individuellen Datensatz. Die ausführbare Prozedur wird von dem Konvertierungsprozessor 120 beim Abbilden und Konvertieren von Datenelementen des individuellen Datensatzes zur Speicherung in entsprechenden Datenfeldern eines Zieldatensatzes ausgeführt.
  • Der Vorprozessor 116, der die Konvertierungsvorlage 112 validiert, stellt einen gültigen Transformationsprozeß bereit und initiiert als Reaktion auf einen Validierungsfehler eine Meldung, die einen ungültigen Zustand identifiziert.
  • Von dem Konvertierungsprozessor 120 werden Datenelemente in Datenfeldern der Quellendatensätze in Datenelemente in entsprechenden Datenfeldern der Zieldatensätze abgebildet und konvertiert, wobei mindestens eines der folgenden verwendet wird: (a) ein Attribut, das ein Quellendatensatzfeld-Datenelement identifiziert, soll auf ein identifiziertes Zieldatensatz-Datenfeld abgebildet werden und (b) ein Quellendatensatz-Datenfeldattribut, das ein Quellendatensatz-Datenfeld-Datenelement identifiziert, soll einem Datentyp zugeordnet werden, der von einem Typ des Quellendatensatz-Datenfeld-Datenelements verschieden ist.
  • Der Abbildungsprozessor 122 identifiziert ein Bestimmungsortdatenfeld eines Zieldatensatzes zum Aufnehmen eines Datenelements des zweiten Datenformats, bereitgestellt durch Konvertierung eines Datenelements des ersten Datenformats des Quellendatensatzes durch den Konvertierungsprozessor 120.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung transformiert das System 100 Daten einer ersten Datenstruktur in eine mit einer ausführbaren Anwendung kompatible andere zweite Datenstruktur. Das System 100 enthält einen Zuordnungsprozessor 118 und den Konvertierungsprozessor 120. Der Zuordnungsprozessor 118 assoziiert eine ausführbare Prozedur mit mindestens einem der folgenden: (a) eines Datensatzes und (b) eines Datenfelds eines Datensatzes von mehreren Datenquellensätzen. Von dem Konvertierungsprozessor 120 werden Datenelemente in Datenfelder der Quellendatensätze mit einem ersten Datenformat in Datenelemente in Datenfeldern von Zieldatensätzen mit einem anderen zweiten Datenformat unter Verwendung der assoziierten ausführbaren Prozedur abgebildet 122 und konvertiert 124.
  • Die Konvertierungsvorlage 112 umfaßt eine vorbestimmte ausführbare Anweisung 113 zum Steuern des Abbildens und Konvertierens der Datenelemente.
  • Das System 100 steuert die ausführbare Prozedur zur Ausführung mindestens eines der folgenden: (a) vor dem Konvertierungsprozessor 120 Ausführen der Abbildung und (b) nachdem der Konvertierungsprozessor 120 die Abbildung ausführt.
  • Der Benutzerschnittstellengenerator 128 initiiert eine Anzeige eines Bilds, das es einem Benutzer ermöglicht, eine ausführbare Prozedur auszuwählen zur Assoziierung mit mindestens einem der folgenden: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen. Der Benutzerschnittstellengenerator 128 initiiert eine Anzeige eines Bilds, das es einem Benutzer ermöglicht, Eigenschaften einer ausführbaren Prozedur auszuwählen zur Assoziierung mit mindestens einem der folgenden: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen. Der Benutzerschnittstellengenerator 128 initiiert weiterhin ein Anzeige eines Bilds, die es einem Benutzer ermöglicht, eine individuelle ausführbare Prozedur auszuwählen zur Assoziierung mit einem Datensegment umfassend mindestens eines der folgenden: (a) einen individuellen Datensatz und (b) ein individuelles Datenfeld eines Satzes von mehreren Datenquellensätzen, und die ausführbare Prozedur wird verwendet zum Konvertieren von Daten des Datensegments eines ersten Datenformats in ein anderes zweites Datenformat. Die ausführbare Prozedur wird auch verwendet beim Abbilden von Daten des Quellendatensatz-Datensegments auf ein Zieldatensatz-Datensegment. Der Zuordnungsprozessor 118 repliziert die ausführbare Prozedur und assoziiert die replizierte ausführbare Prozedur mit mindestens einem der folgenden: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen.
  • Vom Konvertierungsprozessor 120 werden Datenelemente in Datenfeldern der Quellendatensätze in Datenelemente in entsprechenden Datenfeldern der Zieldatensätze abgebildet 122 und konvertiert 124 unter Verwendung von einem oder mehreren der folgenden: (a) ein Attribut, das ein Quellendatensatzfeld identifiziert, (b) ein Zieldatensatz-Datenfeld, (c) eine vor der Abbildung auszuführende Funktion, (d) eine nach der Abbildung auszuführende Funktion, (e) ein Quellendatensatztyp, (f) ein Zieldatensatztyp und (g) eine durchzuführende Aktion als Reaktion auf die Detektion eines während der Konvertierung auftretenden Fehlers. Vom Konvertierungsprozessor 120 werden die Datenelemente durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken abgebildet 122 und konvertiert 124 unter Verwendung einer assoziierten ausführbaren Prozedur.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung transformiert das System 100 Daten einer ersten Datenstruktur in eine mit einer ausführbaren Anwendung kompatible andere zweite Datenstruktur. Das System 100 enthält den Benutzerschnittstellengenerator 128 und den Konvertierungsprozessor 120. Der Benutzerschnittstellengenerator 128 initiiert eine Anzeige eines Bilds, das einem Benutzer ermöglicht, eine individuelle ausführbare Prozedur auszuwählen zur Assoziierung mit einem Datensegment umfassend eines oder mehrere der folgenden: (a) einen individuellen Datensatz und (b) ein individuelles Datenfeld eines Satzes von mehreren Datenquellensätzen. Vom Konvertierungsprozessor 120 werden Datenelemente in dem Datensegment mit einem ersten Datenformat in Datenelemente in einem Datensegment von Zieldatensätzen mit einem anderen zweiten Datenformat unter Verwendung der assoziierten ausführbaren Prozedur abgebildet 122 und konvertiert 124.
  • 2 veranschaulicht ein Funktionsblockdiagramm der Konvertierungsmaschine 104 für das in 1 gezeigte System. Die Funktionsblöcke der Konvertierungsmaschine 104 in 2 führen die gleichen Funktionen aus wie die konzeptuellen Blöcke der Konvertierungsmaschine 104 in 1.
  • Die Konvertierungsmaschine 104 verarbeitet Konvertierungsvorlagen 112 in vier Phasen:
    • 1. Validierung – Stellt sicher, daß die Konvertierungsvorlage 112 eine gültige Datenbewegungsspezifikation definiert.
    • 2. Vorverarbeitung – Initialisiert Datenstrukturen und Datenquellenverbindungen.
    • 3. Ausführung – Bewegt Daten von einer Stelle zu einer anderen.
    • 4. Nachverarbeitung – Bereinigt Datenstrukturen und Datenquellenverbindungen.
  • Die in 2 detaillierte Ausführungsphase ist der Ort, wo die Hauptarbeit erfolgt, und ist in die folgenden Funktionen unterteilt:
    • 1. Lesen – Ein oder mehrere Maschinenleser 202 bringen Daten von einem Quellensystem 102 (1) in die maschineninternen Warteschlangen.
    • 2. Abbildung – Ein oder mehrere Maschinenmapper 206 erzeugen einen oder mehrere Ausgabedatensätze von jedem von dem Leser populierten Datensatz.
    • 3. Schreiben – Ein oder mehrere Maschinenschreiber 209 bewegen Daten von den maschineninternen Warteschlangen zum Zielsystem 106 (1).
    • 4. Protokollschreiber – Ein oder mehrere Maschinenprotokollschreiber protokollieren Datenfehler/Warnungen von verarbeiteten Datensätzen.
  • Die Maschinenprozessoren führen die obigen Maschinenfunktionen aus. Ein Maschinenprozessor ist ein Modul, der eine spezifische Konvertierungsmaschinenschnittstelle implementiert und eine spezifische Funktion ausführt. Die folgende Liste umreißt die Prozessortypen:
    • 1. Leser – Liest Daten von einer Datenquelle und bewegt sie in die maschineninternen Warteschlangen.
    • 2. Mapper – Erstellt Ausgabedatensätze aus Eingabedatensätzen.
    • 3. Schreiber – Bewegt Daten von maschineninternen Warteschlangen zu Zieldatenquellen.
    • 4. Feldwertegeber – Validiert und manipuliert Feldwerte.
    • 5. Datensatzwertegeber – Validiert und manipuliert innerhalb eines Datensatzes enthaltene Felder.
    • 6. Protokollschreiber – Aufzeichnen und Schreiben von Datenfehlern und/oder Warnungen für einen von der Konvertierungsmaschine 104 verarbeiteten Datensatz. Dieser Prozessor ist optional, wenn eine Konvertierung keine Fehler/Warnungen verarbeiten muß.
  • Eine Hauptkomponente der Konvertierungsmaschine 104 ist der Controller 204. Der Controller 204 lenkt Datensätze von der Ausgabewarteschlange eines Prozessors zur Eingabewarteschlange eines anderen Prozessors. Ein sequentieller Fluß des Funktionsblockdiagramms der Konvertierungsmaschine 104 beginnt mit der/den externen Eingabedatenquelle(n) 201, weiter zu dem/den Leser(n) 202, zu der/den lesenden Ausgabewarteschlange(n) 203, zum Controller 204, zu der/den abbildenden Eingabewarteschlange(n) 205, zu dem/den Mapper(n) 206, zu der/den abbildenden Ausgabewarteschlange(n) 207, zurück zum Controller 204, zu der/den schreibenden Eingabewarteschlange(n) 208, zu dem/den Lesern 209 und zu der/den externen Ausgabedatenquelle(n) 210. Der Controller 204 schreibt durch eine Verarbeitung eines Datensatzes erzeugte Fehler/Warnungen zu dem Protokollschreiber 211.
  • 3 veranschaulicht ein Leserprozessorverfahren 300 für das System 100 und die Maschine 104, in 1 bzw. 2 gezeigt. 3 zeigt ein Flußdiagramm, das den Logikfluß des Leserprozessors 202 umreißt, wie in 3 gezeigt. Die linke Hälfte des Flußdiagramms (als Schritte 301307 gezeigt) umreißt die Logik, die der Leserprozessor 202 durchführt, um Datensätze aus seinen zugewiesenen Datenquellen zu lesen, die Daten in die Datensatzobjekte der Maschinen zu laden und dann die Datensätze in seine Ausgangsschlange einzufügen. Die rechte Hälfte des Flußdiagramms (als Schritte 308-315 gezeigt) umreißt die Logik, die von dem Controller 204 ergriffen wird, wenn er die von dem Leserprozessor 202 in den Speicher geladenen Datensätze verarbeitet. Somit stellt jede Seite des Flußdiagramms einen separaten Ausführungsfaden dar.
  • Bei Schritt 301 beginnt das Verfahren die linke Hälfte des Flußdiagramms.
  • Bei Schritt 302 liest das Verfahren 300 einen Datensatz aus der/den externen Eingabedatenquelle(n) 201 wie etwa der ersten zentralen Datenbank 108 (1).
  • Bei Schritt 304 validiert das Verfahren 300 den Datensatz.
  • Bei Schritt 305 fügt das Verfahren den Datensatz in die Ausgabewarteschlange ein.
  • Bei Schritt 306 bestimmt das Verfahren 300, ob die entsprechenden Datensätze gelesen worden sind. Wenn die Bestimmung bei Schritt 302 positiv ist, dann geht das Verfahren 300 weiter zu Schritt 307; wenn ansonsten die Bestimmung bei Schritt 302 negativ ist, dann kehrt das Verfahren 300 zurück zu Schritt 302. Bei Schritt 307 beendet das Verfahren 300 die linke Hälfte des Flußdiagramms als Reaktion auf Schritt 306. Bei Schritt 308 beginnt das Verfahren 300 die rechte Hälfte des Flußdiagramms. Bei Schritt 309 liest das Verfahren 300 einen Datensatz aus der Ausgabewarteschlange. Bei Schritt 310 bestimmt das Verfahren 300, ob in dem Datensatz irgendwelche Fehler vorliegen. Wenn die Bestimmung bei Schritt 310 positiv ist, dann geht das Verfahren 300 weiter zu Schritt 311; wenn ansonsten die Bestimmung negativ ist, dann geht das Verfahren 300 weiter zu Schritt 312. Bei Schritt 311 sendet das Verfahren 300 als Reaktion auf Schritt 310 eine Fehlermeldung an den Protokollschreiber 211 (2). Bei Schritt 312 bestimmt das Verfahren 300, ob es irgendwelche Warnungen hinsichtlich des Datensatzes als Reaktion auf Schritt 310 gibt. Wenn die Bestimmung bei Schritt 312 positiv ist, dann geht das Verfahren 300 weiter zu Schritt 313; wenn ansonsten die Bestimmung bei Schritt 312 negativ ist, dann geht das Verfahren 300 weiter zu Schritt 314. Bei Schritt 313 sendet das Verfahren 300 den Datensatz an den Mapper 206 und sendet die Warnung als Reaktion auf Schritt 312 an den Protokollschreiber 211. Bei Schritt 314 sendet das Verfahren 300 den Datensatz als Reaktion auf Schritt 312 an den Mapper 206. Bei Schritt 315 endet das Verfahren 300 die rechte Hälfte des Flußdiagramms als Reaktion auf einen der Schritte 311, 313 und 314. 4 veranschaulicht ein Mapper-Prozessorverfahren 400 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. 4 zeigt ein Flußdiagramm, das den Logikfluß des Mapper-Prozessors 206 umreißt, wie in 2 gezeigt. Die linke Hälfte des Flußdiagramms (als Schritte 401408 gezeigt) umreißt die Logik, die der Mapper 206 ausführt, um Datensätze aus seiner zugeordneten Eingabewarteschlange zu lesen, neue Ausgabedatensätze zu erstellen und dann die Datensätze in seine Ausgabewarteschlange einzufügen. Die rechte Hälfte des Flußdiagramms (als Schritte 409417 gezeigt) umreißt die Logik, die von dem Controller 204 ergriffen wird, während er die von dem Mapper 206 erstellten Datensätze verarbeitet. Somit stellt jede Seite des Flußdiagramms separate Ausführungsfäden dar.
  • Bei Schritt 401 beginnt das Verfahren 400 die linke Hälfte des Flußdiagramms. Bei Schritt 402 liest das Verfahren 400 einen Datensatz aus der Eingabewarteschlange. Bei Schritt 403 führt das Verfahren 400 eine Vorabbildungsverarbeitung durch. Bei Schritt 404 bildet das Verfahren 400 Datensätze in neu erstellte Ausgabedatensätze ab. Bei Schritt 405 führt das Verfahren 400 eine Nachabbildungsverarbeitung durch. Bei Schritt 406 fügt das Verfahren 400 den Datensatz in die Ausgabewarteschlange ein. Bei Schritt 407 bestimmt das Verfahren 400, ob der Mapper-Prozessor 206 das Ende der Eingabewarteschlange erreicht hat (d.h. die entsprechenden Datensätze gelesen hat). Wenn die Bestimmung bei Schritt 407 positiv ist, dann geht das Verfahren 400 weiter zu Schritt 408; wenn ansonsten die Bestimmung bei Schritt 407 negativ ist, dann kehrt das Verfahren 400 zu Schritt 402 zurück. Bei Schritt 408 beendet das Verfahren 400 die linke Hälfte des Flußdiagramms als Reaktion auf Schritt 407. Bei Schritt 409 beginnt das Verfahren 400 die rechte Hälfte des Flußdiagramms. Bei Schritt 410 liest das Verfahren 400 einen Datensatz aus der Ausgabewarteschlange. Bei Schritt 411 bestimmt das Verfahren 400, ob der Datensatz Fehler aufweist. Wenn die Bestimmung bei Schritt 411 positiv ist, dann geht das Verfahren 400 weiter zu Schritt 412; wenn ansonsten die Bestimmung bei Schritt 411 negativ ist, dann geht das Verfahren 400 weiter zu Schritt 413. Bei Schritt 412 sendet das Verfahren 400 die Fehler in dem Datensatz an den Protokollschreiber 211 als Reaktion auf Schritt 411. Bei Schritt 413 bestimmt das Verfahren 400 als Reaktion auf Schritt 411, ob es Warnungen hinsichtlich des aus der Eingabewarteschlange gelesenen oder der Ausgabewarteschlange gelieferten Datensatzes gibt. Wenn die Bestimmung bei Schritt 413 lautet, daß es etwaige Warnungen hinsichtlich des aus der Eingabewarteschlange gelesenen Datensatzes gibt, dann geht das Verfahren 400 weiter zu Schritt 412. Wenn die Bestimmung bei Schritt 413 lautet, daß es etwaige Warnungen hinsichtlich des aus der Ausgabewarteschlange gelesenen Datensatzes gibt, dann geht das Verfahren 400 weiter zu Schritt 414. Wenn die Bestimmung bei Schritt 413 lautet, daß es keine Warnungen hinsichtlich des aus der Ausgabewarteschlange gelesenen Datensatzes gibt, dann geht das Verfahren 400 weiter zu Schritt 415. Bei Schritt 414 sendet das Verfahren 400 als Reaktion auf Schritt 413 den Datensatz an den Schreiber 209 und den Protokollschreiber 211. Bei Schritt 415 sendet das Verfahren 400 als Reaktion auf Schritt 413 den Datensatz an den Schreiber 209. Bei Schritt 416 beendet das Verfahren 400 als Reaktion auf einen der Schritte 412, 414 und 415 die rechte Hälfte des Flußdiagramms. 5 veranschaulicht ein Schreiberprozessorverfahren 500 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. 5 zeigt ein Flußdiagramm, das den Logikfluß des Schreiberprozessors 209 umreißt. Die linke Hälfte des Flußdiagramms (als Schritte 501508 gezeigt) umreißt die Logik, die der Schreiber 209 ausführt, um Datensätze aus seiner zugeordneten Eingabewarteschlange zu lesen, Datensätze zu seinen zugeordneten Datenquellen zu schreiben und dann etwaige Problemdatensätze in seine Ausgabewarteschlange einzufügen. Die rechte Hälfte des Flußdiagramms (als Schritte 509513 gezeigt) umreißt die Logik, die der Controller 204 ergreift, während er die von dem Schreiber erstellten Datensätze verarbeitet. Somit stellt jede Seite des Flußdiagramms getrennte Ausführungsfäden dar.
  • Bei Schritt 501 beginnt das Verfahren 500 mit der linken Hälfte des Flußdiagramms. Bei Schritt 502 liest das verfahren 500 einen Datensatz aus der Eingabewarteschlange. Bei Schritt 503 validiert das Verfahren 500 den Datensatz. Bei Schritt 504 schreibt das Verfahren 500 eine Datenaufzeichnung zu der/den externen Ausgabedatenquelle(n) 210 (2), wie etwa dem zweiten zentralen Datenspeicher 110 (1), als Reaktion auf eine positive Validierung bei Schritt 503. Bei Schritt 506 bestimmt das Verfahren 500, ob der Schreiber das Ende der Eingabewarteschlange erreicht hat (d.h. liest die entsprechenden Datensätze). Wenn die Bestimmung bei Schritt 506 positiv ist, dann geht das Verfahren 500 weiter zu Schritt 508; wenn ansonsten die Bestimmung bei Schritt 506 negativ ist, dann kehrt das Verfahren 500 zurück zu Schritt 502. Bei Schritt 507 fügt das Verfahren 500 Datensätze mit Problemen (z. B. Fehlern oder Warnungen) als Reaktion auf eine negative Validierung bei Schritt 503 zu der Ausgabewarteschlange hinzu. Bei Schritt 508 beendet das Verfahren 500 die linke Hälfte des Flußdiagramms als Reaktion auf Schritt 506. Bei Schritt 509 beginnt das Verfahren 500 mit der rechten Hälfte des Flußdiagramms. Bei Schritt 510 liest das Verfahren 500 einen Datensatz aus der Ausgabewarteschlange. Bei Schritt 511 bestimmt das Verfahren 500, ob es etwaige Fehler oder Warnungen hinsichtlich des Datensatzes als Reaktion auf Schritt 510 gibt. Wenn die Bestimmung bei Schritt 511 positiv ist, dann geht das Verfahren 500 weiter zu Schritt 512; wenn ansonsten die Bestimmung bei Schritt 511 negativ ist, dann geht das Verfahren 500 weiter zu Schritt 513. Bei Schritt 512 sendet das Verfahren 500 Fehler oder Warnungen hinsichtlich des Datensatzes an den Protokollschreiber 211 (2) als Reaktion auf Schritt 511. Bei Schritt 513 beendet das Verfahren 500 die rechte Hälfte des Flußdiagramms als Reaktion auf einen der Schritte 511 und 512.
  • 6 veranschaulicht ein Protokollschreiber-Prozessorverfahren 600 für das System 100 und die Maschine 104, in 1 bzw. 2 gezeigt. 6 zeigt ein Flußdiagramm, das den Logikfluß des Protokollschreiber-Prozessors 211 umreißt (2). Das Flußdiagramm umreißt die Logik, die der Protokollschreiber 211 ausführt, um Aufzeichnungen aus seiner zugeordneten Eingabewarteschlange zu lesen, Fehler/Warnungen und etwaige relevante Daten aus dem Datensatz in seine zugeordnete(n) Datenquelle(n) zu schreiben.
  • Bei Schritt 601 beginnt das Verfahren 600. Bei Schritt 602 liest das Verfahren 600 einen Datensatz aus der Eingabewarteschlange des Protokollschreibers 211. Bei Schritt 603 schreibt das Verfahren 600 den Datensatz und etwaige Meldungen (z. B. Fehler oder Warnungen), die mit den Datensätzen assoziiert sind, in die externen Datenquellen 2/1 und/oder 210. Bei Schritt 604 bestimmt das Verfahren 600, ob der Protokollschreiber 211 das Ende der Eingabewarteschlange erreicht hat (d.h. die entsprechenden Datensätze gelesen hat). Wenn die Bestimmung bei Schritt 604 positiv ist, dann geht das Verfahren 600 weiter zu Schritt 605; wenn ansonsten die Bestimmung bei Schritt 604 negativ ist, dann kehrt das Verfahren 600 zurück zu Schritt 602. Bei Schritt 605 endet das Verfahren 600.
  • Die 7 bis 14 veranschaulichen Beispiele für Benutzeroberflächenfenster, die vorgesehen sind, um die Benutzeroberfläche 114 in der Konvertierungsmaschine 104 zu implementieren, wie in 1 gezeigt. Die in 1 gezeigte graphische Benutzeroberfläche (GUI) 114 gestattet die Entwicklung von Plänen, die definieren, wie Daten von einer Stelle zu einer anderen bewegt werden.
  • 7 veranschaulicht ein Konvertierungsplanfenster 700 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. Um einen Konvertierungsplan zu erstellen, verwendet ein Benutzer wie etwa ein Konvertierungsplanentwickler den Konvertierungsplantyp Wartungsfunktion zum Definieren der Quellendatensätze, Zieldatensätze, Datenabbildung und Planoptionen. 7 zeigt einen Überblick über einen Konvertierungsplan. Die linke Seite des Konvertierungsplanfensters 700 zeigt die Konvertierungsplantypen einschließlich der Leserausgabedatensätze 701, der Schreibereingabedatensätze 702, der Prozessoren 703 und der Datenquellen 704. Die Leserdatensätze 701 definieren, was der oder die Leserprozessor(en) 202 (2) von seiner/seinen zugeordneten Datenquelle(n) 201 (in 7 als 704 dargestellt) in den Speicher laden. Die Schreiberdatensätze 702 definieren, welche Datensätze von dem/den Mapper-Prozessor(en) 206 erstellt und zu dem/den Schreiberprozessor(en) 209 geschickt werden. Der/Die Schreiberprozessor(en) 209 sendet die von dem Mapper 206 erstellten Schreiberdatensätze zu seiner/seinen zugeordneten Datenquelle(n) 210 (in 4 als 704 dargestellt). Die rechte Hälfte des Konvertierungsplanfensters 700 zeigt die Anzahl der Leserausgabedatensätze 705, die Anzahl der Schreiberausgabedatensätze 706, die Anzahl der Prozessoren 707 und die Anzahl der Datenquellen 708.
  • 8 veranschaulicht ein Konvertierungsplanausführungsressourcenfenster 800 für das System 100 und die Maschine 104, in 1 bzw. 2 gezeigt. Nachdem ein Benutzer die Konvertierungsvorlage erstellt, benutzt das Konvertierungsplanausführungsressourcenfenster 800 die Konvertierungsmaschine GUI 114, um Konvertierungsmodellvorlagen zu kopieren, Konvertierungs vorlagenoptionen einzustellen und Konvertierungsvorlagen abzuarbeiten. Die linke Seite des Konvertierungsplanausführungsressourcenfensters 800 enthält ein Konvertierungsplanzentraldatenbank-Fenster 800, das verschiedene Konvertierungspläne 801 anzeigt, die von dem Benutzer erstellt wurden. Das Konvertierungsplanausführungsressourcenfenster 800 zeigt auch den Namen eines Konvertierungsplans 802 zusammen mit assoziierten Details des Konvertierungsplans an, wie etwa Status, von wem der Plan erstellt wurde, wer den Plan ausgeführt hat, die Dauer des Plans, wie viele Datensätze gelesen wurden, wie viele Datensätze fehlerhaft waren.
  • 9 veranschaulicht ein Felddefinitionsfenster 900 für das System 100 und die Maschine 104, in 1 bzw. 2 gezeigt. Die linke Seite des Felddefinitionsfensters 900 ist gleich der in 7. Auf der rechten Seite des Felddefinitionsfensters 900 weist jeder Datensatz eine Liste von Felddefinitionen 901 auf, die der Planbenutzer erstellt. Jeder Felddefinition 901 sind verschiedene assoziierte Attribute zugeordnet, wie etwa Datentyp, Größe (für variabel sich wiederholende Typen), ein Wiederholwert von Feldern, Null, Fehler, Vorabbildung, Abbildung-auf-Felder, Datensatz usw. Insbesondere definiert das Abbildung-zu-Feldern(oder Abbildung-von-Feldern für Schreiberdatensätze)-Attribut für den Mapper-Prozessor 206, wie Daten innerhalb des Leserdatensatzes auf den Schreiberdatensatz zu übertragen sind. Ein vorteilhaftes Merkmal des Felddefinitionsfensters 900 ist die Fähigkeit, daß einem Feld ein Typ eines anderen Datensatzes zugewiesen werden kann. Dadurch erhält der Planbenutzer die Fähigkeit, hierarchische Datendefinitionen zu definieren.
  • 10 veranschaulicht ein Feldattributfenster 1000 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. Ein Benutzer verwendet das Feldattributfenster 1000, um in 9 gezeigte Feldattribute zu editieren. Dem Benutzer ist gestattet, Felder zu editieren, einschließlich ohne Beschränkung eines allgemeinen Felds 1001, Attributen 1002, vorabbildungsprozessoren 1003 und Abbildung-zu-Feldern 1004. Das allgemeine Feld 1001 enthält beispielsweise den Namen der Felddefinitionen 901 und eine assoziierte Beschreibung. Die Attribute 1002 enthalten beispielsweise den Feldtyp, die Größe, ob das Feld wiederholt werden kann oder nicht, den Zählwert, den Fehlertyp und ob das Feld nullierbar ist. Die Vorabbildungsprozessoren 1003 enthalten beispielsweise ChedkUser Id, GenerateInternalID, TranslateAddressType, TranslateAssigningAuthorityName. Die Karte für die Felder 1004 enthält beispielsweise Datensatzidentifizierer (z. B. Hpatient) und Feld (LastName) und durch den Namen beschriebene Felder (z. B. ObjectID) und Typ (integer32).
  • 11 veranschaulicht ein Datensatzeigenschaften-Dialogfenster 1100 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. Die Prozessorenliste gestattet die Zuordnung von Prozessoren zu einem Feld, so daß die Daten in dem Feld vor der Abbildung verarbeitet werden können, falls das Feld innerhalb eines Leserdatensatzes liegt, oder nach der Abbildung, wenn das Feld innerhalb eines Schreiberdatensatzes liegt. Prozessoren können ebenfalls auf der Datensatzebene zugeordnet werden. Dies geschieht mit dem Datensatzeigenschaften-Dialogfenster 1100. Das Datensatzeigenschaften-Dialogfenster 1100 enthält ohne Einschränkung ein allgemeines Feld 1101 und ein Prozessorenfeld 1102. Das allgemeine Feld 1101 enthält beispielsweise einen Namen (z. B. PD_ReaderOutPutRecord) und eine assoziierte Beschreibung. Das Prozessorenfeld 1102 enthält beispielsweise Leser, Protokollschreiber 1103 und Vorabbildungsprozessoren 1104, die jeweils hier durch einen Namen, eine Erweiterung und eine Programm-ID beschrieben werden.
  • 12 veranschaulicht ein Prozessorlistenfenster 1200 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. Das Prozessorlistenfenster 1200 wird auch dazu verwendet, zu definieren, welche Leser, Protokollschreiber und Schreiber zum Verarbeiten eines bestimmten Datensatzes verwendet werden.
  • Wenngleich die Fenster in den 10 und 11 dazu verwendet werden, etablierte Prozessorinstanzen Feldern/Datensätzen zuzuordnen, werden die Prozessorinstanzen zuerst innerhalb des Plans erstellt. Die linke Seite des Prozessorlistenfensters 1200 ist die gleiche wie in 7. Die rechte Seite des Prozessorlistenfensters 1200 zeigt ein Beispiel einer Konvertierungspläne-Prozessorliste. Jede Prozessorliste enthält beispielsweise einen Namen 1201 (z. B. HL7Reader), einen Typ 1202 (z. B. Leser) und eine Datenquelle 1203 (z. B. Eingabe HL7-File).
  • 13 veranschaulicht ein Prozessoreigenschaftenfenster 1300 für das System 100 und die Maschine 104, in den 1 bzw. 2 gezeigt. Ein Benutzer erstellt und/oder modifiziert Prozessoren unter Verwendung des Prozessoreigenschaftenfensters 1300. Das Prozessoreigenschaftenfenster 1300 enthält ohne Einschränkung die folgenden Felder: allgemein 1301, „in Verwendung durch" 1302, Typ 1303, Initialisierungsparameter 1304 und Datenquellen 1305. Das allgemeine Feld 1301 enthält beispielsweise einen Namen (z. B. TranslateReligion) und eine assoziierte Beschreibung. Das „in Verwendung durch"-Feld 1302 enthält beispielsweise einen Datensatz/Feld (z. B. PID1700Religion). Das Typfeld 1303 enthält beispielsweise eine interne Prozessorauswahl und eine externe Prozessorauswahl, einen Namen und einen Typ des Prozessors, eine Programm-ID und eine Prozessortypauswahl. Das Initialisierungsparameterfeld 1304 enthält beispielsweise einen Namen (z. B. @Global) und einen Wert (z. B. #MAPPatientReligion). Das Datenquellenfeld 1305 enthält beispielsweise einen Datenquellennamen (z. B. Input HL7 File) und einen assoziierten Typ, (z. B. Datei), Stelle und Name.
  • 14 veranschaulicht ein Datenquelleneigenschaftenfenster 1400 für das System 100 und die Maschine 104, in 1 bzw. 2 gezeigt. Ein Benutzer kann mehrere Instanzen von Prozessortypen zum Ausführen der gleichen Aufgaben erstellen, aber mit verschiedenen Parametern zum Ausführen der Prozessoraufgaben. Ein Benutzer kann auch Datenquellen einem Prozessor zuordnen, nachdem die Datenquelle erstellt worden ist, unter Verwendung des Datenquelleneigenschaftenfensters 1400. Zu dem Zeitpunkt, zu dem ein Benutzer die Datenquelle erstellt, kann deshalb der Benutzer die Datenquelle einem bereits erstellten Prozessor zuordnen (im Gegensatz dazu, die Zuordnung innerhalb des Prozessoreigenschaftendialogs vorzunehmen). Ein Benutzer kann unter Verwendung des Datenquelleneigenschaftenfensters 1400 Datenquellen hinzufügen und/oder modifizieren. Das Datenquelleneigenschaftenfenster 1400 enthält ohne Einschränkung die folgenden Felder: allgemeine Eigenschaften 1401, Prozessoren 1402 und generische Datenquelleneigenschaften 1403. Das Allgemeine-Eigenschaften-Feld 1401 enthält beispielsweise einen Datenquellennamen und einen assoziierten Typ und eine assoziierte Beschreibung. Das Prozessorenfeld 1402 enthält beispielsweise einen Namen (z. B. HL7Reader) und eine assoziierte Erweiterung und einen assoziierten Typ. Das generische Datenquelleneigenschaftenfeld 1403 enthält beispielsweise einen Typ, eine Stelle, einen Namen und einen Namen mit einem assoziierten Wert.
  • Das System 100 stellt vorteilhafterweise beispielsweise folgendes bereit:
    • 1. Segmentieren der Datenverarbeitung in Prozessoren. Dies gestattet, daß die Konvertierungsmaschineninfrastruktur intakt bleibt, während neue Prozessoren definiert werden, um spezifische Konvertierungsbedürfnisse zu handhaben.
    • 2. Verwenden von Datensatz- und Feldwertegebern, um flexible Möglichkeiten bereitzustellen, Feldwerte zu manipulieren, bevor sie zu ihrer Endstelle bewegt werden.
    • 3. Assoziieren von Regelskripts mit Datensätzen zum Ausführen komplexer Datenbewegungsaufgaben ohne das Schreiben von C++-Code.
    • 4. Unterstützen einer effizienten Datenbewegung (wie etwa SQL Server BCP), um eine effiziente Verarbeitung sicherzustellen.
    • 5. Erleichtern der kundenspezifischen Anpassung von Konvertierungsaufgaben durch Ändern von Konvertierungseinstel lungen. Für Konvertierungen, die komplexer sind, wird die GUI 114 verwendet, um eine kundenspezifische Benutzeranpassung eines Konvertierungsprozesses zu ermöglichen.
  • Die Konvertierungsmaschine 104 liefert eine flexible und kundenspezifisch anpaßbare Möglichkeit, komplexe Daten von einer Stelle zu einer anderen zu migrieren. Die Konvertierungsmaschine 104 gestattet die Entwicklung von Konvertierungsvorlagen 112, die Quellendaten 108, Zieldaten 110 und die 120 zum Migrieren von Daten von der Quelle 108 zum Ziel 110 beschreiben. Die Konvertierungsmaschine 104 gestattet auch das Zuordnen von Prozessoren und Kundenregeln in der Konvertierungsvorlage 112, damit Daten manipuliert werden können, während sie von einer Stelle zu einer anderen bewegt werden. Die Konvertierungsmaschine 104 ist auf eine Massendatenbewegung ausgerichtet und verwendet einen effizienten Mechanismus zum Beschleunigen der Übertragung von Daten von einer Stelle zu einer anderen.
  • Wenngleich die vorliegende Erfindung unter Bezugnahme auf verschiedene veranschaulichende Ausführungsformen davon beschrieben worden ist, ist somit mit der vorliegenden Erfindung nicht beabsichtigt, daß die Erfindung auf diese spezifischen Ausführungsformen beschränkt sein soll. Der Fachmann erkennt, daß Variationen, Modifikationen und Kombinationen des offenbarten Gegenstands vorgenommen werden können, ohne von dem Gedanken und Schutzbereich der Erfindung, wie in den beigefügten Ansprüchen dargelegt, abzuweichen.
  • Zusammenfassung
  • Ein System übersetzt Daten, die eine erste Datenstruktur aufweisen, in Daten, die eine andere zweite Datenstruktur aufweisen. Diese zweite Datenstruktur ist dabei kompatibel mit einem ausführbaren Programm. Das System umfasst eine Konvertierungsvorlage und einen Konvertierungsprozessor. Die Konvertierungsvorlage umfasst vorbestimmte ausführbare Anweisungen um die Konvertierung eines Quelldatensatzes mit der ersten Datenstruktur in den Zieldatensatz mit der anderen zweiten Datenstruktur zu erzielen. Der Konvertierungsprozessor bildet die Datenelemente in den Datenfeldern des Quelldatensatzes zu Datenelementen in den korrespondierenden Datenfeldern des Zieldatensatzes, indem die Werte der Datenelemente und die Eigenschaften der Datenfelder in Reaktion auf die Konvertierungsvorlage umgeformt werden.

Claims (16)

  1. System zum Transformieren von Daten einer ersten Datenstruktur in eine andere zweite Datenstruktur, die mit einer ausführbaren Anwendung kompatibel ist, umfassend: eine Konvertierungsvorlage, die vorbestimmte ausführbare Anweisungen zum Steuern der Konvertierung von Datenquellensätzen aus einem ersten Datenformat in Datenzielsätzen mit einem anderen zweiten Datenformat umfaßt; einen Konvertierungsprozessor zum Abbilden und Konvertieren von Datenelementen in Datenfeldern der Quellensätze in Datenelemente in entsprechenden Datenfeldern der Zielsätze durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken als Reaktion auf die Konvertierungsvorlage.
  2. System nach Anspruch 1, wobei die Konvertierungsvorlage eine ausführbare Prozedur mit einem individuellen Datensatz assoziiert und die ausführbare Prozedur von dem Konvertierungsprozessor beim Abbilden und Konvertieren von Datenelementen des individuellen Datensatzes zur Speicherung in entsprechenden Datenfeldern eines Zieldatensatzes ausgeführt wird.
  3. System nach Anspruch 1, das folgendes beinhaltet: ein Vorprozessor zum Validieren der Konvertierungsvorlage stellt einen gültigen Transformationsprozeß bereit und initiiert als Reaktion auf einen Validierungsfehler eine Meldung, die einen ungültigen Zustand identifiziert.
  4. System nach Anspruch 1, wobei von dem Konvertierungsprozessor Datenelemente in Datenfeldern der Quellendatensätze in Datenelemente in entsprechenden Datenfeldern der Zieldatensätze abgebildet und konvertiert werden, wobei mindestens eines der folgenden verwendet wird: (a) ein Attribut, das ein Quellendatensatzfeld-Datenelement identifiziert, soll auf ein identifiziertes Zieldatensatz-Datenfeld abgebildet werden und (b) ein Quellendatensatz-Datenfeldattribut, das ein Quellendatensatz-Datenfeld-Datenelement identifiziert, soll einem Datentyp zugeordnet werden, der von einem Typ des Quellendatensatz-Datenfeld-Datenelements verschieden ist.
  5. System nach Anspruch 1, das folgendes beinhaltet: einen Abbildungsprozessor zum Identifizieren eines Bestimmungsortdatenfelds eines Zieldatensatzes zum Aufnehmen eines Datenelements des zweiten Datenformats, bereitgestellt durch Konvertierung eines Datenelements des ersten Datenformats des Quelledatensatzes durch den Konvertierungsprozessor.
  6. System zum Transformieren von Daten einer ersten Datenstruktur in eine mit einer ausführbaren Anwendung kompatible andere zweite Datenstruktur, umfassend: einen Zuordnungsprozessor zum Assoziieren einer ausführbaren Prozedur mit mindestens einem der folgenden: (a) eines Datensatzes und (b) eines Datenfelds eines Datensatzes von mehreren Datenquellensätzen; einen Konvertierungsprozessor zum Abbilden und Konvertieren von Datenelementen in Datenfeldern der Quellendatensätze mit einem ersten Datenformat in Datenelemente in Datenfeldern von Zieldatensätzen mit einem anderen zweiten Datenformat unter Verwendung der assoziierten ausführbaren Prozedur.
  7. System nach Anspruch 6, das folgendes beinhaltet: eine Konvertierungsvorlage mit einer vorbestimmten ausführbaren Anweisung zum Steuern des Abbildens und Konvertierens der Datenelemente.
  8. System nach Anspruch 6, wobei das System die ausführbare Prozedur steuert ausgeführt wird mindestens eines von: (a) vor dem Konvertierungsprozessor Ausführen der Abbildung und (b) nachdem der Konvertierungsprozessor die Abbildung ausführt.
  9. System nach Anspruch 6, das folgendes enthält: einen Benutzerschnittstellengenerator zum Initiieren der Anzeige eines Bilds, das es einem Benutzer ermöglicht, eine ausführbare Prozedur auszuwählen zur Assoziierung mit mindestens einem der folgenden: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen.
  10. System nach Anspruch 6, das folgendes enthält: einen Benutzerschnittstellengenerator zum Initiieren der Anzeige eines Bilds, das es einem Benutzer ermöglicht, Eigenschaften einer ausführbaren Prozedur auszuwählen zur Assoziierung mit mindestens einem der folgenden: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen.
  11. System nach Anspruch 6, das folgendes enthält: einen Benutzerschnittstellengenerator zum Initiieren einer Anzeige eines Bilds, die es einem Benutzer ermöglicht, eine individuelle ausführbare Prozedur auszuwählen zur Assoziierung mit einem Datensegment umfassend mindestens eines der folgenden: (a) einen individuellen Datensatz und (b) ein individuelles Datenfeld eines Satzes von mehreren Datenquellensätzen, und die ausführbare Prozedur wird verwendet zum Konvertieren von Daten des Datensegments eines ersten Datenformats in ein anderes zweites Datenformat.
  12. System nach Anspruch 6, das folgendes enthält: einen Benutzerschnittstellengenerator zum Initiieren einer Anzeige eines Bilds, die es einem Benutzer ermöglicht, eine individuelle ausführbare Prozedur auszuwählen zur Assoziierung mit einem Datensegment umfassend mindestens eines der folgenden: (a) einen individuellen Datensatz und (b) ein individuelles Datenfeld eines Satzes von mehreren Datenquellensätzen, und die ausführbare Prozedur wird verwendet zum Abbilden von Daten des Quellendatensatz-Datensegments auf ein Zieldatensatz-Datensegment.
  13. System nach Anspruch 6, wobei der Zuordnungsprozessor die ausführbare Prozedur repliziert und die replizierte ausführbare Prozedur mit mindestens einem der folgenden assoziiert: (a) einem Datensatz und (b) einem Datenfeld eines Datensatzes von mehreren Datenquellensätzen.
  14. System nach Anspruch 6, bei dem folgendes geschieht: vom Konvertierungsprozessor werden Datenelemente in Datenfeldern der Quellendatensätze in Datenelemente in entsprechenden Datenfeldern der Zieldatensätze abgebildet und konvertiert unter Verwendung von mindestens einem der folgenden: (a) ein Attribut, das ein Quellendatensatzfeld identifiziert, (b) ein Zieldatensatz-Datenfeld, (c) eine vor der Abbildung auszuführende Funktion, (d) eine nach der Abbildung auszuführende Funktion, (e) ein Quellendatensatztyp, (f) ein Zieldatensatztyp und (g) eine durchzuführende Aktion, als Reaktion auf die Detektion eines während der Konvertierung auftretenden Fehlers.
  15. System nach Anspruch 6, wobei: vom Konvertierungsprozessor die Datenelemente unter Verwendung der assoziierten ausführbaren Prozedur durch Manipulieren von Datenelementwerten und Datenfeldcharakteristiken abgebildet und konvertiert werden.
  16. System zum Transformieren von Daten einer ersten Datenstruktur in eine mit einer ausführbaren Anwendung kompatible andere zweite Datenstruktur, umfassend: einen Benutzerschnittstellengenerator zum Initiieren einer Anzeige eines Bilds, das es einem Benutzer ermöglicht, eine individuelle ausführbare Prozedur auszuwählen zur Assoziierung mit einem Datensegment umfassend mindestens eines der folgenden: (a) einen individuellen Datensatz und (b) ein individuelles Datenfeld eines Satzes von mehreren Datenquellensätzen; und einen Konvertierungsprozessor zum Abbilden und Konvertieren von Datenelementen in dem Datensegment mit einem ersten Datenformat in Datenelemente in einem Datensegment von Zieldatensätzen mit einem anderen zweiten Datenformat unter Verwendung der assoziierten ausführbaren Prozedur.
DE112004001153T 2003-06-25 2004-06-24 Datenmigration- und Formattransformationssystem Ceased DE112004001153T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US48233003P 2003-06-25 2003-06-25
US60/482,330 2003-06-25
PCT/US2004/020373 WO2005003965A2 (en) 2003-06-25 2004-06-24 Data migration and format transformation system

Publications (1)

Publication Number Publication Date
DE112004001153T5 true DE112004001153T5 (de) 2006-06-22

Family

ID=33563850

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112004001153T Ceased DE112004001153T5 (de) 2003-06-25 2004-06-24 Datenmigration- und Formattransformationssystem

Country Status (5)

Country Link
US (1) US20050149536A1 (de)
CA (1) CA2529982A1 (de)
DE (1) DE112004001153T5 (de)
GB (1) GB2418507A (de)
WO (1) WO2005003965A2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7290003B1 (en) * 2004-08-19 2007-10-30 Sun Microsystems, Inc. Migrating data using an intermediate self-describing format
US7698634B2 (en) * 2005-03-07 2010-04-13 Computer Associates Think, Inc. System and method for data manipulation
US7840895B2 (en) * 2005-03-07 2010-11-23 Computer Associates Think, Inc. System and method for data manipulation
WO2006096667A1 (en) * 2005-03-07 2006-09-14 Computer Associates Think, Inc. System and method for providing data manipulation as a web service
WO2007072482A2 (en) * 2005-12-19 2007-06-28 Vestwise Llc A system and method of managing cash and suggesting transactions in a multi-strategy portfolio
US7496580B2 (en) * 2006-04-11 2009-02-24 Honeywell International Inc. Apparatus and method for procedural operations development and distribution
US10192031B1 (en) 2006-11-03 2019-01-29 Vidistar, Llc System for extracting information from DICOM structured reports
US20080109250A1 (en) * 2006-11-03 2008-05-08 Craig Allan Walker System and method for creating and rendering DICOM structured clinical reporting via the internet
US10503867B1 (en) 2006-11-03 2019-12-10 Vidistar, Llc System for interacting with medical images
US7904491B2 (en) * 2007-07-18 2011-03-08 Sap Ag Data mapping and import system
US8296461B2 (en) * 2007-08-07 2012-10-23 Object Innovation Inc. Data transformation and exchange
US7979793B2 (en) 2007-09-28 2011-07-12 Microsoft Corporation Graphical creation of a document conversion template
US20090240802A1 (en) * 2008-03-18 2009-09-24 Hewlett-Packard Development Company L.P. Method and apparatus for self tuning network stack
US8321438B1 (en) * 2008-06-18 2012-11-27 Bank Of America Corporation Integration layer for a data repository
US20100183201A1 (en) * 2008-09-18 2010-07-22 Frank Johan Schwab Adaptive Software and Hardware System for Scientific Image Processsing
US20110137859A1 (en) * 2009-12-08 2011-06-09 David Dickman Staged Data Conversion
US8972930B2 (en) 2010-06-04 2015-03-03 Microsoft Corporation Generating text manipulation programs using input-output examples
US8533671B2 (en) * 2010-06-07 2013-09-10 Microsoft Corporation Assigning type parameters
US9613115B2 (en) * 2010-07-12 2017-04-04 Microsoft Technology Licensing, Llc Generating programs based on input-output examples using converter modules
US9223502B2 (en) 2011-08-01 2015-12-29 Infinidat Ltd. Method of migrating stored data and system thereof
US8856191B2 (en) * 2011-08-01 2014-10-07 Infinidat Ltd. Method of migrating stored data and system thereof
US9552335B2 (en) 2012-06-04 2017-01-24 Microsoft Technology Licensing, Llc Expedited techniques for generating string manipulation programs
US9336216B2 (en) * 2013-01-17 2016-05-10 Ca, Inc. Command-based data migration
US20140317563A1 (en) * 2013-04-22 2014-10-23 John O'Byrne Generate field mapping
US9244949B2 (en) * 2013-06-27 2016-01-26 International Business Machines Corporation Determining mappings for application integration based on user contributions
CN103340608B (zh) * 2013-07-04 2015-12-23 安徽易科技术有限公司 居家养老健康档案的数据格式的差异化处理方法
AU2014305816B2 (en) 2013-08-08 2018-11-29 Oshyn, Inc. Migrating data for web content management systems
US10262377B2 (en) * 2013-09-13 2019-04-16 Mace Engineering Group Pty Ltd. Sales order data collection and management system
WO2015047251A1 (en) * 2013-09-25 2015-04-02 Hewlett-Packard Development Company, L.P. Flexible data format for database management systems
CN104657396B (zh) * 2013-11-25 2020-04-24 腾讯科技(深圳)有限公司 数据迁移方法及装置
US20150302007A1 (en) * 2013-11-26 2015-10-22 Lexmark International, Technology SA System and Methods for Migrating Data
US10969931B2 (en) * 2014-07-21 2021-04-06 Tibco Software Inc. Data mapping service
US10360190B2 (en) 2016-03-31 2019-07-23 Microsoft Technology Licensing, Llc Migrate data in a system using extensions
US11256710B2 (en) 2016-10-20 2022-02-22 Microsoft Technology Licensing, Llc String transformation sub-program suggestion
US11620304B2 (en) 2016-10-20 2023-04-04 Microsoft Technology Licensing, Llc Example management for string transformation
US10846298B2 (en) 2016-10-28 2020-11-24 Microsoft Technology Licensing, Llc Record profiling for dataset sampling
US20180191825A1 (en) * 2016-12-30 2018-07-05 Cerner Innovation, Inc. Migrating, editing, and creating content between different collaboration systems
CZ2017124A3 (cs) * 2017-03-07 2018-05-09 Krieg Jaroslav Způsob přenášení struktur a datových souborů mezi zdrojovým a cílovým systémem a systém k jeho provádění
US10671353B2 (en) 2018-01-31 2020-06-02 Microsoft Technology Licensing, Llc Programming-by-example using disjunctive programs
US11894113B2 (en) * 2018-12-31 2024-02-06 Cerner Innovation, Inc. Ontological standards based approach to charting utilizing a generic concept content based framework across multiple localized proprietary domains

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392390A (en) * 1992-04-10 1995-02-21 Intellilink Corp. Method for mapping, translating, and dynamically reconciling data between disparate computer platforms
US5694578A (en) * 1992-12-18 1997-12-02 Silicon Graphics, Inc. Computer-implemented method and apparatus for converting data according to a selected data transformation
US5745652A (en) * 1993-10-08 1998-04-28 International Business Machines Corporation Adaptive resource allocation using neural networks
FR2742245B1 (fr) * 1995-12-08 1998-01-23 Transtar Procede de manipulation de modeles de donnees utilises en genie logiciel
US5806067A (en) * 1996-10-21 1998-09-08 Catch/21 Enterprises, Inc. Method and apparatus for data processing with conversion of ambiguous data structures
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases
JP3734334B2 (ja) * 1997-05-07 2006-01-11 富士通株式会社 データ移行システム、データ移行用プログラムを格納したコンピュータ読み取り可能な記録媒体、及びデータ移行方法
US5999937A (en) * 1997-06-06 1999-12-07 Madison Information Technologies, Inc. System and method for converting data between data sets
US5978779A (en) * 1997-11-14 1999-11-02 Merrill Lynch, Pierce, Fenner & Smith Distributed architecture utility
US6151608A (en) * 1998-04-07 2000-11-21 Crystallize, Inc. Method and system for migrating data
EP1109117A1 (de) * 1999-12-14 2001-06-20 Sun Microsystems, Inc. Methode zur Umwandlung von Tabellendaten zwischen einer Datenbankdarstellung und einer Darstellung in einer mit Markierungen versehenen Sprache
JP3753598B2 (ja) * 2000-07-06 2006-03-08 株式会社日立製作所 計算機、計算機システムおよびデータ転送方法
US7260777B2 (en) * 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
US7152205B2 (en) * 2000-12-18 2006-12-19 Siemens Corporate Research, Inc. System for multimedia document and file processing and format conversion
US6996781B1 (en) * 2001-10-31 2006-02-07 Qcorps Residential, Inc. System and method for generating XSL transformation documents
JP2003150586A (ja) * 2001-11-12 2003-05-23 Ntt Docomo Inc 文書変換システム、文書変換方法及び文書変換プログラムを記録したコンピュータ読み取り可能な記録媒体
US20030140068A1 (en) * 2001-11-26 2003-07-24 Peter Yeung Arrangement, system and method relating to exchange of information
US6915287B1 (en) * 2001-12-13 2005-07-05 Novell, Inc. System, method and computer program product for migrating data from one database to another database
US6996589B1 (en) * 2002-01-16 2006-02-07 Convergys Cmg Utah, Inc. System and method for database conversion
US6993717B2 (en) * 2002-02-12 2006-01-31 Siemens Medical Solutions Health Services Inc. Data transformation system
US20040181753A1 (en) * 2003-03-10 2004-09-16 Michaelides Phyllis J. Generic software adapter

Also Published As

Publication number Publication date
GB2418507A (en) 2006-03-29
CA2529982A1 (en) 2005-01-13
US20050149536A1 (en) 2005-07-07
WO2005003965A2 (en) 2005-01-13
GB0525396D0 (en) 2006-01-18
WO2005003965A3 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
DE112004001153T5 (de) Datenmigration- und Formattransformationssystem
DE102005031245B4 (de) Verfahren zum Test eines klinischen und/oder medizintechischen Systems und Verfahren zur Steuerung medizintechnischer Untersuchungsabläufe in einem klinischen und/oder medizintechnischen System sowie entsprechende Computerprogrammprodukte
DE69130766T2 (de) Intelligentes hilfssystem
DE69810945T2 (de) Rechnersystem für entscheidungsunterstützung beim auswählen von diagnostischen und therapeutischen tests und von eingriffen bei patienten
DE112010001870T5 (de) Verfahren und system zum verwalten und anzeigen von medizinischen daten
DE102006000713A1 (de) Medizinisches Bildbetrachtungsmanagement- und Statussystem
EP3451211B1 (de) Verfahren und steuereinrichtung zur steuerung eines medizintechnischen bildgebenden systems
EP1321878A2 (de) Patientendatenverarbeitungssystem und -verfahren
DE102008056013A1 (de) Patientenbehandlungsplanungssystem
DE112007002806T5 (de) Interaktive Protokollzuordnung zwischen einem Radiologie-Informationssystem und einem(r) diagnostischen System/Modalität
DE102006039829A1 (de) Verfahren und Vorrichtung zur Anbringung von Anmerkungen oder Kommentaren an Bildern
DE102007013566A1 (de) Verfahren zur Bilddatenaufnahme
DE102006058941A1 (de) Verfahren und Vorrichtung zum Auswählen computergestützter Algorithmen, basierend auf dem Protokoll und/oder Parametern eines Akquisitionssystems
DE112011102394T5 (de) Verwalten und Optimieren von Workflows zwischen Computeranwendungen
DE10117685C2 (de) Verfahren zur Bearbeitung von Objekten eines standardisierten Kommunikationsprotokolls
DE102007050184A1 (de) Integrierte Lösung für diagnostische Lese- und Berichterstellung
WO2003037175A2 (de) Vorrichtung zur parameterkonfiguration multimodaler messgeräte
DE102016213515A1 (de) Verfahren zur Unterstützung eines Befunders bei der Auswertung eines Bilddatensatzes, Bildaufnahmeeinrichtung, Computerprogramm und elektronisch lesbarer Datenträger
EP4016543A1 (de) Verfahren und vorrichtung zur bereitstellung einer medizinischen information
EP3287915B1 (de) Erzeugung einer favoritenmenge umfassend mehrere protokolle zur ansteuerung eines medizinischen bildgebungsgerätes
DE102008004658B4 (de) Verfahren zur zentralen Steuerung von Prozessen in erweiterbaren medizinischen Plattformen
DE102006020028A1 (de) Symptombasierte Kundenprotokolle
DE10125504B4 (de) Verfahren und Computersystem zum Workflow Management
DE19953308A1 (de) Vorrichtung und Verfahren zum Implementieren eines Bild-Spreadsheets
DE112004001227T5 (de) Den Austausch von Daten zwischen ausführbaren Anwendungen unterstützendes Datenübertragungssystem

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law

Ref document number: 112004001153

Country of ref document: DE

Date of ref document: 20060622

Kind code of ref document: P

8131 Rejection