DE102005057745A1 - System zur gemeinsamen Verwendung von Inhaltsinformation zwischen ausführbaren Anwendungen - Google Patents

System zur gemeinsamen Verwendung von Inhaltsinformation zwischen ausführbaren Anwendungen Download PDF

Info

Publication number
DE102005057745A1
DE102005057745A1 DE102005057745A DE102005057745A DE102005057745A1 DE 102005057745 A1 DE102005057745 A1 DE 102005057745A1 DE 102005057745 A DE102005057745 A DE 102005057745A DE 102005057745 A DE102005057745 A DE 102005057745A DE 102005057745 A1 DE102005057745 A1 DE 102005057745A1
Authority
DE
Germany
Prior art keywords
command
instruction
executable
data
application
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.)
Withdrawn
Application number
DE102005057745A
Other languages
English (en)
Inventor
Eric Martin
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 DE102005057745A1 publication Critical patent/DE102005057745A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

Ein System erlaubt eine Client-Integration von zwei Anwendungen unter Verwendung von komplexen Integrationspunkten, die einen bidirektionalen Transfer von kontextabhängiger Information bereitstellen, wodurch eine Anwendungsintegration ermöglicht wird. Das System minimiert die Notwendigkeit für ein anwendungsspezifisches Codieren, um eine Interoperabilität einer ausführbaren Anwendung zu unterstützen, indem eine Vermittlerfunktion integriert wird, die ein benutzerkonfigurierbares Abfangen und Substituieren von Befehlen, Kontextinformation und Daten, die zwischen unterschiedlichen Anwendungen ausgetauscht werden, ermöglicht. Ein System, das den gleichzeitigen Betrieb von mehreren unterschiedlichen ausführbaren Anwendungen unterstützt, enthält eine Quelle von Befehlskonfigurationsdaten zur Verwendung beim Identifizieren eines Befehlstyps, eines Orts von Kontextdaten in einem Befehl eines bestimmten Typs und einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs. Ein Vermittlerprozessor empfängt einen ersten Befehl von einer ersten ausführbaren Anwendung und verwendet die Konfigurationsdaten beim Identifizieren eines Befehlstyps des ersten Befehls, Lokalisieren der Kontextdaten in dem ersten Befehl und Formatieren eines zweiten Befehls, um die lokalisierten Kontextdaten einzufügen, um kompatibel zu einer ausführbaren Zielanwendung zu sein.

Description

  • Die Erfindung betrifft ein System zum Austauschen von Befehlen, Daten und Inhaltsinformation, um einen gleichzeitigen Betrieb von unterschiedlichen ausführbaren Anwendungen zu unterstützen.
  • Die betriebliche Integration von verschiedenen ausführbaren Anwendungen ist notwendig, um einen gleichzeitigen Betrieb von Anwendungen zu ermöglichen, die Funktionen unterstützen, auf die über entsprechende Bildfenster in einem einzelnen angezeigten Verbundbild sowie unter einer Vielzahl von anderen Umständen zugegriffen werden kann. Die betriebliche Integration ermöglicht einer Anwendung Befehle und Daten an eine Zielanwendung zu geben, um erforderliche Funktionen zu starten. Ein existierendes System verwendet ein Interoperabilitäts-Übertragungsprotokoll zur gemeinsamen Verwendung durch die unterschiedlichen ausführbaren Anwendungen, um Befehle und Daten auszutauschen. Die gemeinsame Verwendung eines derartigen Interoperabilitätsprotokolls bedeutet typischerweise, dass die unterschiedlichen ausführbaren Anwendungen individuell Code verwenden, um die Verwendung des Interoperabilitätsprotokolls zu unterstützen. Eine zusätzliche Anwendung, die das Protokoll nicht unterstützt, muss jedoch derart modifiziert werden, dass Code integriert werden muss, um die betriebliche Integration mit existierenden Anwendungen unter Verwendung des Interoperabilitätsprotokolls zu ermöglichen. Ferner kann es sein, dass die zusätzliche Anwendung derart modifiziert werden muss, dass Code integriert werden muss, um die betriebliche Integration von mehreren unterschiedlichen Typen von Befehls- und Datenaustausch zu ermöglichen. Die Notwendigkeit, einen derartigen anwendungsspezifischen Code bereitzustellen, stellt eine erhebliche Belastung der Personalressourcen dar, und bringt ein Fehlerrisiko und eine Verzögerung mit sich.
  • Eine Aufgabe der Erfindung ist die Schaffung eines Systems und eines Verfahrens, die die oben genannten Probleme lösen.
  • Diese Aufgabe wird durch ein System und ein Verfahren gemäß den unabhängigen Ansprüchen gelöst. Weiterentwicklungen der Erfindung sind in den Unteransprüchen angegeben.
  • Ein System gemäß der Erfindung minimiert die Notwendigkeit für ein anwendungspezifisches Codieren (Programmieren), um eine Interoperabilität einer ausführbaren Anwendung zu unterstützen, indem eine Vermittlerfunktion integriert wird, die ein benutzerkonfigurierbares Abfangen und Ersetzen von Befehlen, Inhaltsinformation und Daten ermöglicht, die zwischen unterschiedlichen Anwendungen ausgetauscht werden. Ein System, welches den gleichzeitigen Betrieb von mehreren unterschiedlichen ausführbaren Anwendungen unterstützt, enthält eine Quelle von Befehlskonfigurationsdaten zur Verwendung beim Identifizieren eines Befehlstyps, eines Orts von Inhaltsdaten in einem Befehl eines bestimmten Typs und einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs. Ein Vermittlerprozessor empfängt einen ersten Befehl von einer ersten ausführbaren Anwendung und verwendet die Konfigurationsdaten bei der Identifizierung eines Befehlstyps des ersten Befehls, der Lokalisierung von Inhaltsdaten in dem ersten Befehl und zum Formatieren eines zweiten Befehls, um die lokalisierten Inhaltsdaten einzufügen, um kompatibel zu einer ausführbaren Zielanwendung zu sein.
  • Unter Bezugnahme auf die beigefügten Zeichnungen werden bevorzugte Ausführungsbeispiele der Erfindung beschrieben.
  • 1 zeigt ein internetkompatibles Host-System, welches die Interoperabilität von unterschiedlichen ausführbaren Anwendungen unterstützt, gemäß der Erfindung.
  • 2 zeigt Konfigurationsinformation, die von einer benutzerkonfigurierbaren Vermittlerfunktion verwendet wird, die eine Anwendungsinteroperabilität gemäß der Erfindung ermöglicht.
  • 3 verdeutlicht die betriebliche Integration einer medizinischen Vorrichtungsanwendung und einer Klinikinformationssystemanwendung, indem die konfigurierbare Vermittlerfunktion gemäß der Erfindung verwendet wird.
  • 4 zeigt ein Flussdiagramm eines Prozesses, der die Interoperabilität unterschiedlicher ausführbarer Anwendungen gemäß der Erfindung unterstützt.
  • 1 zeigt ein internetkompatibles Host-System, das die Interoperabilität von unterschiedlichen ausführbaren Anwendungen unterstützt. Das System unterstützt die Interoperabilität einer ausführbaren Anwendung durch Verwendung einer Vermittlerfunktion, die ein benutzerkonfigurierbares Abfangen und Ersetzen von Befehlen, Inhaltsinformation und Daten ermöglicht. Befehle, die Ersatzdaten enthalten, werden für einen bidirektionalen oder unidirektionalen Austausch zwischen unterschiedlichen Anwendungen erzeugt, ohne dass eine spezifische Anwendungscodierung erforderlich ist. Ein abgefangener und erzeugter Ersatzbefehl ermöglicht eine Integration zwischen unterschiedlichen Anwendungen, und einen Austausch eines bestimmten Befehlstyps und zugehöriger Inhaltsinformation oder Daten zwischen unterschiedlichen Anwendungen. Eine spezifische Instanz eines Befehlsaustauschs (Befehlsintegration) zwischen unterschiedlichen Anwendungen ist ein bestimmter Integrationspunkt, der einen bestimmten Befehl- und Datenaustauschlink zwischen zwei gleichzeitig arbeitenden unterschiedlichen ausführbaren Anwendungen enthält, die einen bestimmten Befehlstyp und zugehörige Inhaltsinformation oder Daten aufweisen. Das System erlaubt vorteilhafterweise die Konfiguration einer derartigen Integration anstelle eines Codierens (Programmierens).
  • Das System verhindert vorteilhafterweise die Notwendigkeit einer spezifischen Codierung, um die Integration zu unterstützen, indem ein Eingabebefehl (Impuls) von einer ersten Anwendung abgefangen und evaluiert wird, ob der Eingabebefehl ein bestimmter Befehlstyp ist, der einen Integrationspunkt unterstützt. Das System extrahiert kontextabhängige Information von dem Eingabebefehl und identifiziert eine Funktion, die für diese Integration konfiguriert ist. Das System greift auf eine Funktionsdefinition zu, die zu der identifizierten Funktion gehört, und substituiert die kontextabhängige Information, die von dem abgefangenen Eingabebefehl extrahiert worden ist, und global konfigurierte Werte in die Funktionsdefinition, um einen resultierenden Ausgabebefehl bereitzustellen zur Übertragung an eine Zielanwendung. Die globalen Werte enthalten ein oder mehrere individuelle Datenstücke, die in mehrere unterschiedliche Befehle substituiert werden, beispielsweise ein URL-Adressenteil (eine Basis-URL) oder andere Datenstücke, die in mehrere unterschiedliche Befehle integriert werden.
  • Das System unterstützt die Wartung der Integrationspunkte, indem eine Änderung der Konfiguration der Funktiondefinitionen (Ausgabebefehlsformate) möglich ist, ohne dass es erforderlich ist, den spezifischen Anwendungscode, der ausführbaren Anwendungen zu ändern. Ein Vermittlerprozessor in dem System führt die Funktions(Befehls)-Substitution durch, unter Verwendung einer einheitlichen Definition der Funktionen (Befehle), die in einer Konfigurationsdatei verwaltet werden. Der Systemvermittlerprozessor verarbeitet Eingabebefehle, die konfiguriert sind, um von einem von mehreren vorbestimmten Befehlstypen zu sein. Befehlstypen können URLs, GSM codierte URLs und Benutzerschnittstellenbefehle oder Ereignisse sein. Ein Ausführungsbeispiel des Systems enthält ein Definieren eines Eingabebefehls, ein Abfangen eines definierten Befehls von einer ersten Anwendung und ein Evaluieren, ob der abgefangene Befehl konfiguriert ist, um als ein Integrationspunkt zu agieren. Das System extrahiert kontextabhängige Information aus einem abgefangenen Eingabebefehl in Antwort auf eine vorbestimmte Konfigurationsinformation unter Verwendung von Extraktoren (ausführbare Prozeduren), die für einen Befehlstyp beispielsweise spezifisch sind. Verfügbare kontextabhängige Information wird in die Funktion substituiert, die für diesen Integrationspunkt konfiguriert ist, um einen Ausgabebefehl bereitzustellen zur Übertragung an eine Zielanwendung. Zusätzliche kontextabhängige Information, die global verfügbare Werte enthält, beispielsweise eine Basis-URL, wird beispielsweise aus einer Konfigurationsdatei hergeleitet, und ebenfalls in die Funktion integriert, die für den Integrationspunkt konfiguriert ist. Ein Ausgabebefehlsformat kann eine URL, eine GSM codierte URL, ein Benutzerschnittstellenereignis, einen JavaScript-Funktionsaufruf und einen ActiveX-Schnittstellenaufruf enthalten.
  • Eine ausführbare Anwendung gemäß der Erfindung enthält Code oder eine maschinenlesbare Anweisung zum Implementieren vorbestimmter Funktionen, enthaltend die eines Betriebssystems, Gesundheitspflegeinformationssystems oder eines anderen Informationsverarbeitungssystems, beispielsweise in Antwort auf einen Benutzerbefehl oder eine Eingabe. Eine ausführbare Prozedur ist ein Codesegmet (eine maschinenlesbare Anweisung), eine Sub-Routine oder ein anderer eindeutiger Codeabschnitt oder Bereich einer ausführbaren Anwendung, um eine oder um mehrere bestimmte Prozesse durchzuführen und kann das Ausführen von Operationen auf empfangene Eingabeparameter enthalten (oder in Antwort auf empfangene Eingabeparameter) und resultierende Ausgabeparameter bereitstellen. Ein Prozessor gemäß der Erfindung ist eine Vorrichtung und/oder ein Satz von maschinenlesbaren Anweisungen zum Durchführen von Aufgaben (Tasks). Ein Prozessor enthält irgendeine Kombination aus Hardware, Firmware und/oder Software. Ein Prozessor agiert auf Information durch Manipulieren, Analysieren, Modifizieren, Konvertieren und Übertragen von Information zur Verwendung durch eine aus führbare Prozedur oder eine Informationsvorrichtung, und/oder durch Weiterleiten der Information an eine Ausgabevorrichtung. Ein Prozessor kann die Fähigkeiten einer Steuerung oder eines Mikroprozessors beispielsweise verwenden oder enthalten. Ein Anzeigenprozessor oder Generator ist ein bekanntes Element, welches eine elektronische Schaltung oder Software oder eine Kombination aus beiden enthält, um Anzeigenbilder oder Bereiche davon zu erzeugen. Eine Benutzerschnittstelle enthält ein oder mehrere Anzeigenbilder, die eine Benutzerinteraktion mit einem Prozessor oder einer anderen Vorrichtung erlauben. Eine Quelle von Befehlskonfigurationsdaten enthält eine Datei, einen Speicher, eine Datenbank oder eine andere Zusammenstellung von Daten.
  • In dem internetkompatiblen System gemäß 1 startet eine Benutzerschnittstellenanwendung 27 die Erzeugung von Daten, die Bilder darstellen zur Anzeige auf einer Reproduktionsvorrichtung (nicht gezeigt) in Antwort auf einen Benutzerbefehl. Das System gemäß 1 wird im Zusammenhang mit einem internetkompatiblen System beschrieben, welches URL-Befehle verarbeitet. Es soll jedoch verstanden werden, dass dies nur beispielhaft ist. Das System und die erfindungsgemäßen Prinzipien arbeiten, um einen gleichzeitigen Betrieb von internetkompatiblen oder nicht internetkompatiblen ausführbaren Anwendungen, die keine URL-Befehle verwenden, zu unterstützen. Die Anzeigenbilder gehören zu gleichzeitig ausführbaren Anwendungen, die in Antwort auf einen Benutzerbefehl aktiviert worden sind. Ein individuelles Anzeigenbild kann ein einzelnes Verbundbild enthalten, welches mehrere Fenster enthält, die individuell Information anzeigen, die zu entsprechenden mehreren gleichzeitig arbeitenden ausführbaren Anwendungen gehört. Die angezeigten Bilder enthalten einen Browserrahmen (Frame), der benutzerauswählbare Schaltflächen (Buttons) bereitstellt, Optionslisten und Dateneingabefelder in Benutzerschnittstellenmenüleisten 31 und 33, die beispielsweise einem Benutzer erlauben, Befehle oder andere Daten zur Konfigurierung und zum Betreiben des Systems einzugeben.
  • Die Anwendung 27 integriert eine internetkompatible Anwendung 25, die eine Vermittlerfunktion (Prozessor) 10 enthält, die ein benutzerkonfigurierbares Abfangen eines Eingabebefehls, der zu einem bestimmten Integrationspunkt gehört, erlaubt. Der bestimmte Integrationspunkt enthält einen bestimmten Befehl- und Datenaustauschlink zwischen zwei gleichzeitig arbeitenden unterschiedlichen ausführbaren Anwendungen, die einen bestimmten Befehlstyp und zuge hörige Inhaltsinformation oder Daten enthalten. Der Vermittlerprozessor 10 liefert eine benutzerkonfigurierbare Extrahierung von kontextabhängiger Information aus dem Eingabebefehl und eine Substituierung der verfügbaren kontextabhängigen Information (enthaltend die extrahierte kontextabhängige Information und global konfigurierte Daten) in einen Befehl, der zu dem bestimmten Integrationspunkt gehört. Eine Benutzerkonfigurationsfunktion verwendet vorbestimmte Daten, die eine Konfigurationsdatei 15 und eine Befehlssubstitutionskonfigurationsdatei 17 strukturieren. Die Konfigurationsdateien 15 und 17 verknüpfen mehrere Integrationspunkte mit entsprechenden mehreren Befehlstypen und mit entsprechender Befehlstyp spezifischer Information, die Daten aufweist, die eine Befehlsstrukturinformation, eine Datensubstitutionsinformation, Daten, die eine ausführbare Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs angeben, Information, die den Ort der Kontextdaten in einen Befehl eines bestimmten Typs angibt, kontextabhängige Information und Befehlsdaten enthalten.
  • Der Vermittlerprozessor 10 identifiziert einen Befehlstyp eines Eingabebefehls, und ein Verfügbarkeitsüberwachungsprozessor 13 verwendet die vorbestimmte Datenstrukturierungskonfigurationsdatei 15 und die Befehlssubstitutionskonfigurationsdatei 17, um zu bestimmen, ob der identifizierte Befehlstyp des Eingabebefehls zu dem bestimmten Integrationspunkt gehört.
  • Wenn der Verfügbarkeitsüberwachungsprozessor 13 bestimmt, dass der identifizierte Befehlstyp des Eingabebefehls zu dem bestimmten Integrationspunkt gehört, verwendet der Vermittlerprozessor 10 die Daten in den Konfigurationsdateien 15 und 17, um die Kontextdaten in dem Eingabebefehl zu lokalisieren. Der Vermittlerprozessor 10 verwendet die Kontextdatensubstitutionsfunktion 19 und die Befehlssubstitutionsfunktion 21, um einen Ausgabebefehl zu formatieren, um die lokalisierten Kontextdaten einzufügen, und um kompatibel zu der ausführbaren Zielanwendung zu sein, und startet die Übertragung des Ausgabebefehls an die ausführbare Zielanwendung.
  • 2 zeigt Konfigurationsinformation, wie sie in den Konfigurationsdateien 15 und 17 verwendet wird, die von der benutzerkonfigurierbaren Vermittlerfunktion (Prozessor) 10 verwendet werden, wodurch eine Anwendungs-Interoperabilität ermöglicht wird. Die Konfigurationsinformation wird von dem Vermittlerprozessor 10 verwendet, um einen Eingabebefehl von einer ersten ausführbaren Anwendung, beispielsweise einer Benutzerschnittstellenanwendung, abzufangen und die kontextabhängige Information aus dem Eingabebefehl zu extrahieren sowie die kontextabhängige Information in einen formatierten Ausgabebefehl zu bringen (substituieren), und den Ausgabebefehl beispielsweise an ein Klinikinformationssystem zu übertragen. Im Betrieb eines Klinikinformationssystems wird die Konfigurationsinformation gemäß 2 verwendet, um die angezeigte Klinikinformation eines ersten Patienten in einem ersten Fenster eines Verbundanzeigebildes zu aktualisieren. Speziell aktualisiert sie die angezeigte Klinikinformation, die in dem ersten Fenster gezeigt ist, das zu einer ersten Anwendung gehört, um Klinikinformation eines anderen benutzerausgewählten zweiten Patienten einzufügen, die unter Verwendung einer anderen Zielanwendung hergeleitet worden ist.
  • Die ContextChangePatient-Konfigurationsdaten (enthaltend FunctionType 203, FunctionRegExp 205 und FunctionMapTo 207 Elemente) werden von dem Vermittlerprozessor 10 verwendet, um festzustellen, ob ein Eingabebefehl ein vorbestimmter spezieller Typ ist. Wenn der Prozessor 10 bestimmt, dass der Eingabebefehl ein vorbestimmter spezieller Typ ist, startet der Prozessor 10 eine PatientNavToClinical-Informationssystemfunktion 220. Die PatientNavToClinical-Informationssystemfunktion 220 (enthaltend FunctionName 221 und FunctionType 223 Elemente) ist als eine eindeutige unabhängige Funktion implementiert, so dass sie von mehreren Eingabebefehlen verwendet werden kann. Die FunctionVariableExtraction 230 bestimmt, wie die kontextabhängige Information aus dem Eingabebefehl extrahiert wird. Die FunctionTargetFormat 240 bestimmt die Struktur eines Ausgabebefehls und verwendet eine globale variable (baseURL). Der FunctionType-Ausdruck 203 wird in der Konfigurationsinformation gemäß 2 verwendet, um den Befehlstyp zu bestimmen.
  • In einem beispielhaften Betrieb enthält ein individuelles Verbundanzeigenbild, das in Antwort auf einen Befehl von der Anwendung 27 (1) erzeugt worden ist, zwei Fenster, die individuell Information anzeigen, die zu einer ersten ausführbaren Anwendung und einer ausführbaren Zielanwendung gehört. Die erste ausführbare Anwendung und die ausführbare Zielanwendung sind gleichzeitig arbeitende Anwendungen, die sich einen bestimmten Integrationspunkt teilen (gemeinsam verwenden), der einen bestimmten Befehl- und Datenaustauschlink enthält, der einen bestimmten Befehlstyp und zugehörige Kontextinformation oder Daten aufweist. Ein Befehl wird in der ersten Anwendung initiiert, um auf Klinikinformation eines bestimmten Patienten von der Zielanwendung zuzugreifen, indem bestimmte Patientenidentifizierungsdatenkontextinformation verwendet wird, die von der ersten Anwendung bereitgestellt wird.
  • In Antwort auf einen Benutzereingabebefehl zum Initiieren einer Zielanwendungsfunktion durch Auswahl eines Bildelements (beispielsweise eines Hyperlinks) in einem Fenster, das zu der ersten Anwendung gehört, initiiert die erste Anwendung die Erzeugung eines Befehls und eine Übertragung des erzeugten Befehls an die Zielanwendung. Der Vermittlerprozessor 10 bestimmt, ob der erzeugte Befehl von einem bestimmten Typ ist und formatiert in Übereinstimmung mit vorbestimmten Anforderungen der FunctionRegExp 205 (2) in dem ContextChangePatient-Abschnitt 200. Die FunctionRegExp 205 enthält speziell Information über geänderte Kontext-Subjekte, beispielsweise CDMS CCSC INFORMATIONCONTEXTCHANGE CHANGEDSUBJECTS Patient.ld.MRN-1343123.
  • In Antwort auf eine Bestimmung, dass der erzeugte Befehl kompatibel ist zu den Anforderungen der FunctionRegExp 205, fängt der Vermittlerprozessor 10 den erzeugten Befehl von der ersten ausführbaren Anwendung ab, bestimmt, dass der vorgesehene Empfänger eine ausführbare Zielanwendung ist, und verhindert eine weitere Ausbreitung des abgefangenen Befehls. Der Vermittlerprozessor 10 lokalisiert und extrahiert Kontextinformation aus dem abgefangenen Befehl, indem die FunctionVariableExtraction 230 Konfigurationsdaten in dem Patient-NavToClinical-Informationsabschnitt 220 verwendet werden. Ferner erzeugt der Vermittlerprozessor 10 einen zweiten Befehl zur Übertragung an die ausführbare Zielanwendung unter Verwendung der Formatierung, die durch die FunctionTargetFormat 240 Konfigurationdaten angegeben wird. Der erzeugte zweite Befehl enthält die lokalisierten und extrahierten Kontextdaten, die aus dem abgefangenen Befehl hergeleitet worden sind. Der Vermittlerprozessor 10 übermittelt den erzeugten zweiten Befehl an die ausführbare Zielanwendung. Die ausführbare Zielanwendung verarbeitet den zweiten Befehl, indem ein Vorgang durchgeführt wird, der von dem zweiten Befehl benötigt wird, unter Verwendung der Kontextinformation, die mit dem zweiten Befehl geliefert wird.
  • 3 verdeutlicht eine betriebliche Integration einer ersten medizinischen Vorrichtungsanwendung und einer anderen Klinikinformationssystem-Zielanwendung unter Verwendung einer konfigurierbaren Vermittlerfunktion. Der Vermittlerprozessor 10 fängt Daten ab, die einen Eingabebefehl und zugehörige Kontextinformation darstellen, die über das Benutzerschnittstellen-Verbundbildfenster 300 in Antwort auf eine Benutzerauswahl eines Icons 307 initiiert wor den sind, der zu einer Strahlungsbehandlungsfolge vom 11. Februar 2004 in der Reihe 305 gehört. Der Vermittlerprozessor 10 bestimmt, dass ein Integrationspunkt (bildlich verdeutlicht als Icon 315) zu dem eingegebenen Befehl gehört, unter Verwendung der Konfigurationsdaten in den Konfigurationsdateien 15 und 17. Der Prozessor 10 erzeugt ferner einen Befehl, der die Kontextdaten, die aus dem Eingabebefehl hergeleitet worden sind, zur Übertragung an eine Ziel(Workspace)-Anwendung, die zu dem Bildfenster 320 gehört, integriert und liefert ein Icon 325, das die zugreifbare Information der ersten Anwendung angibt.
  • 4 zeigt ein Flussdiagramm eines Prozesses, der durch den Vermittlerprozessor 10 in Verbindung mit anderen Einheiten des Systems gemäß 1 durchgeführt wird, wodurch eine Interoperabilität von gleichzeitig arbeitenden unterschiedlichen ausführbaren Anwendungen ermöglicht wird. In Schritt 702, der dem Start in Schritt 701 folgt, werden die Konfigurationsdaten in den Konfigurationsdateien 15 und 17 gespeichert. Die gespeicherten Konfigurationsdaten sind verwendbar zum Identifizieren eines Befehlstyps, eines Orts der Kontextdaten in einem Befehl eines bestimmten Typs, einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs und eines Befehlsformats, welches von der ausführbaren Zielanwendung benötigt wird. Die Kontextdaten enthalten beispielsweise einen Patientenidentifizierer, eine patientenmedizinische Datensatznummer, eine User-ID, ein Passwort, einen medizinischen Bildidentifizierer, eine Patientenkontaktinformation, eine Patientenadresseninformation, eine Patientenversicherungsinformation, eine Patientenbehandlugnsinformation, Patientenbehandlungsreihenfolgedaten und Patientengesundheitspflegeanbieteridentifikationsinformation. Der Befehlstyp enthält beispielsweise einen URL-Befehlstyp zur Verwendung bei der Erfassung von patientenspezifischer medizinischer Information. Der Befehlstyp kann alternativ ein Nicht-URL-Befehlstyp sein.
  • Der Vermittlerprozessor 10 empfängt in Schritt 704 einen ersten Befehl von einer ersten ausführbaren Anwendung. In Schritt 707 fängt der Vermittlerprozessor 10 den empfangenen ersten Befehl von der ersten ausführbaren Anwendung ab, und verhindert eine weitere Ausbreitung des abgefangenen Befehls. Der Vermittlerprozessor 10 verwendet in Schritt 711 Daten in den Konfigurationsdateien 15 und 17 bei der Identifizierung eines Befehlstyps des abgefangenen ersten Befehls und bei der Lokalisierung von Kontextdaten in dem abgefangenen ersten Befehl. In Schritt 714 bestimmt der Vermittlerprozessor, ob die lokalisierten Kontextdaten ver schlüsselt sind. Wenn die Kontextdaten verschlüsselt sind, entschlüsselt der Vermittlerprozessor 10 die verschlüsselten lokalisierten Kontextdaten. Wenn der erste Befehl eine URL ist, lokalisiert der Vermittlerprozessor 10 die verschlüsselten Kontextdaten in einem Datenfeld der URL. Der Vermittlerprozessor 10 formatiert in Schritt 717 einen zweiten Befehl, um die lokalisierten (und optional verschlüsselten) Kontextdaten einzufügen, damit sie kompatibel sind zu einem erforderlichen Befehlsformat einer ausführbaren Zielanwendung. Gemäß einem Ausführungsbeispiel ist der zweite Befehl eine URL, und der Vermittlerprozessor 10 (der die Funktionen 19 und 21 gemäß 1 verwendet) formatiert den zweiten Befehl durch Verschlüsseln der lokalisierten Kontextdaten zur Einfügung in den zweiten Befehl in einem Datenfeld der URL zur Übertragung an die ausführbare Zielanwendung. Gemäß einem anderen Ausführungsbeispiel werden die Kontextdaten in nicht verschlüsselter Form in den zweiten Befehl integriert. Der Prozess gemäß 4 endet in Schritt 723. Das System minimiert die Notwendigkeit für eine spezifische Integrationspunktcodierung zur Unterstützung der Interoperabilität von Anwendungen, und erlaubt die Wartung von Details des Integrationspunkts ohne Codeänderungen durch die beteiligten Anwendungen. Das System unterstützt die Integration von medizinischen Vorrichtungen und IT-Anwendungen.
  • Das System minimiert die Notwendigkeit für ein spezifisches Codieren (Programmieren) (und die Wartung des Codes) von mindestens einer der beteiligten gleichzeitig arbeitenden Anwendungen. Die Systemfähigkeit zur Bereitstellung und Aufrechterhaltung von Integrationspunkten zwischen mehreren Anwendungen ist für eine breite Vielzahl von Anwendungen und Umgebungen (Einrichtungen) anwendbar. Das System, der Prozess und das Benutzerschnittstellenanzeigebild gemäß der Erfindung sind nicht exklusiv. Andere Systeme und Prozesse können gemäß den erfindungsgemäßen Prinzipien hergeleitet werden, um die gleichen Wirkungen zu erzielen. Obwohl die Erfindung unter Bezugnahme auf spezielle Ausführungsbeispiele beschrieben wurde, ist es selbstverständlich, dass die gezeigten Ausführungsbeispiele und Änderungen, die hier beschrieben worden sind, lediglich beispielhaft sind. Modifikationen des gegenwärtigen Designs können von einem Fachmann auf diesem Gebiet vorgenommen werden, ohne den Schutzbereich der Erfindung zu verlassen. Ferner kann irgendeine der Funktionen, die von dem System und dem Prozess gemäß den 1 und 4 bereitgestellt werden, in Hardware, Software oder in einer Kombination aus beiden implementiert werden.

Claims (13)

  1. Ein System, das den gleichzeitigen Betrieb einer Mehrzahl von unterschiedlichen ausführbaren Anwendungen unterstützt, enthält: eine Quelle von Befehlskonfigurationsdaten zur Verwendung beim Identifizieren eines Befehlstyps, eines Orts von Kontextdaten in einem Befehl eines bestimmten Typs, und einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs; und einen Vermittlerprozessor (10) zum Empfangen eines ersten Befehls von einer ersten ausführbaren Anwendung und zum Verwenden der Konfigurationsdaten bei der Identifizierung eines Befehlstyps des ersten Befehls, einer Lokalisierung der Kontextdaten in dem ersten Befehl und beim Formatieren eines zweiten Befehls zum Einfügen der lokalisierten Kontextdaten, um kompatibel zu einer ausführbaren Zielanwendung zu sein.
  2. System nach Anspruch 1, wobei die Quelle von Befehlskonfigurationsdaten verwendet wird zum Identifizieren eines Befehlsformats, welches von der ausführbaren Zielanwendung benötigt wird, und der Vermittlerprozessor (10) die Konfigurationsdaten beim Formatieren des zweiten Befehls verwendet, um kompatibel zu dem benötigten Befehlsformat der ausführbaren Zielanwendung zu sein.
  3. System nach Anspruch 1 oder 2, wobei die Kontextdaten mindestens (a) einen Patientenidentifizierer und/oder (b) eine medizinische Patientendatensatznummer enthalten.
  4. System nach Anspruch 1, 2 oder 3, wobei die Kontextdaten mindestens (a) eine BenutzerID und/oder (b) ein Passwort enthalten.
  5. System nach einem der Ansprüche 1 bis 4, wobei die Kontextdaten mindestens (a) einen medizinischen Bildidentifizierer, (b) Patientenkontaktinformation, (c) Patientenadresseninformation, (d) Patientenversicherungsinformation, (e) Patientenbehandlungsinformation, (f) Patientenbehandlungsreihenfolgeinformation und/oder (g) Patientengesundheitspflegeanbieteridentifikationsinformation enthalten, und der Vermittlerprozessor (10) den ersten Befehl von der ersten ausführbaren Anwendung abfängt und eine weitere Ausbreitung des abgefangenen Befehls verhindert.
  6. System nach einem der Ansprüche 1 bis 5, wobei der Befehlstyp einen URL-Befehlstyp enthält, und der URL-Befehlstyp beim Erfassen von patientenspezifischer medizinischer Information verwendet wird.
  7. System nach einem der Ansprüche 1 bis 6, wobei der Befehlstyp einen Nicht-URL-Befehlstyp enthält.
  8. System nach einem der Ansprüche 1 bis 7, wobei der Vermittlerprozessor (10) verschlüsselte lokalisierte Kontextdaten in dem ersten Befehl entschlüsselt, und der erste Befehl eine URL ist, und der Vermittlerprozessor (10) die verschlüsselten Kontextdaten in einem Datenfeld der URL lokalisiert.
  9. System nach einem der Ansprüche 1 bis 8, wobei der Vermittlerprozessor (10) den zweiten Befehl formatiert durch Verschlüsseln der lokalisierten Kontextdaten zur Einfügung in den zweiten Befehl, der zweite Befehl eine URL ist, und der Vermittlerprozessor (10) die verschlüsselten lokalisierten Kontextdaten in einem Datenfeld der URL formatiert.
  10. System nach einem der Ansprüche 1 bis 9, wobei der Vermittlerprozessor (10) den zweiten Befehl formatiert, um einen globalen Wert einzufügen, der ein individuelles Datenstück enthält, welches in mehrere unterschiedliche Befehlen substituiert wird, und das individuelle Datenstück einen URL-Adressenbereich enthält.
  11. System, welches einen gleichzeitigen Betrieb einer Mehrzahl von unterschiedlichen ausführbaren Anwendungen unterstützt, enthaltend: eine Quelle von Befehlskonfigurationsdaten zur Verwendung beim Identifizieren eines Befehlstyps, eines Orts von Kontextdaten in einem Befehl eines bestimmten Typs, und einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs; und einen Vermittlerprozessor (10) zum Abfangen eines ersten Befehls von einer ersten ausführbaren Anwendung und zum Verwenden der Konfigurationsdaten bei der Identifizierung eines Befehlstyps des ersten Befehls, einer Lokalisierung von Kontextdaten in dem ersten Befehl und bei der Formatierung eines zweiten Befehls, um die lokalisierten Kontextdaten einzufügen, um kompatibel zu einer ausführbaren Zielanwendung zu sein.
  12. Verfahren zur Beförderung von Information zwischen ausführbaren Anwendungen, welches den gleichzeitigen Betrieb von unterschiedlichen ausführbaren Anwendungen unterstützt, mit den Schritten: Speichern von Konfigurationsdaten zur Verwendung beim Identifizieren eines Befehlstyps, eines Orts von Kontextdaten in einem Befehl eines bestimmten Typs und einer ausführbaren Zielanwendung zum Empfangen eines Befehls eines bestimmten Typs; und Empfangen eines ersten Befehls von einer ersten ausführbaren Anwendung; Verwenden der Konfigurationsdaten beim Identifizieren eines Befehlstyps des ersten Befehls, Lokalisieren von Kontextdaten in dem ersten Befehl, und Formatieren eines zweiten Befehls, um die lokalisierten Kontextdaten einzufügen, um kompatibel zu einer ausführbaren Zielanwendung zu sein.
  13. Verfahren nach Anspruch 12, mit einem Abfangen des ersten Befehls von der ersten ausführbaren Anwendung und einem Verhindern einer weiteren Ausbreitung des abgefangenen Befehls.
DE102005057745A 2004-12-09 2005-12-02 System zur gemeinsamen Verwendung von Inhaltsinformation zwischen ausführbaren Anwendungen Withdrawn DE102005057745A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63479004P 2004-12-09 2004-12-09
US60/634,790 2004-12-09
US11/180,354 US20060168347A1 (en) 2004-12-09 2005-07-13 System for sharing context information between executable applications
US11/180,354 2005-07-13

Publications (1)

Publication Number Publication Date
DE102005057745A1 true DE102005057745A1 (de) 2006-06-14

Family

ID=35580118

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005057745A Withdrawn DE102005057745A1 (de) 2004-12-09 2005-12-02 System zur gemeinsamen Verwendung von Inhaltsinformation zwischen ausführbaren Anwendungen

Country Status (5)

Country Link
US (1) US20060168347A1 (de)
CA (1) CA2529213A1 (de)
DE (1) DE102005057745A1 (de)
GB (1) GB2421102A (de)
IT (1) ITMI20052326A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007014970B3 (de) * 2007-03-28 2008-07-31 Siemens Ag Konfiguration von medizintechnischen Prozessen

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882170B1 (en) * 2004-10-06 2011-02-01 Microsoft Corporation Interfacing a first type of software application to information configured for use by a second type of software application
US9329897B2 (en) 2005-11-10 2016-05-03 The Mathworks, Inc. Use of dynamic profiles for creating and using a distributed computing environment
US8819119B2 (en) 2005-11-10 2014-08-26 The Mathworks, Inc. Dynamic definition for concurrent computing environments
US7634530B2 (en) * 2005-11-10 2009-12-15 The Mathworks, Inc. Dynamic definition for concurrent computing environments
GB0616135D0 (en) 2006-08-14 2006-09-20 British Telecomm Application controller
US8839266B1 (en) 2013-07-31 2014-09-16 Vmware, Inc. Inter-application communication on mobile platforms
US10685743B2 (en) * 2014-03-21 2020-06-16 Ehr Command Center, Llc Data command center visual display system
US9967319B2 (en) * 2014-10-07 2018-05-08 Microsoft Technology Licensing, Llc Security context management in multi-tenant environments
US10749986B2 (en) 2016-04-11 2020-08-18 Samsung Electronics Co., Ltd. Platform for interaction via commands and entities
US10552212B2 (en) 2016-11-28 2020-02-04 Arm Limited Data processing
US10423446B2 (en) 2016-11-28 2019-09-24 Arm Limited Data processing
US10671426B2 (en) * 2016-11-28 2020-06-02 Arm Limited Data processing
US20190082122A1 (en) * 2017-09-08 2019-03-14 Samsung Electronics Co., Ltd. Method and device for providing contextual information

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844518A (ja) * 1994-07-29 1996-02-16 Nec Corp 複数アプリケーションソフトに於ける入力操作統一方法
US5699522A (en) * 1996-02-23 1997-12-16 Unisys Corporation Data processing system with fast message processing for upgraded input/output stations
US6182146B1 (en) * 1997-06-27 2001-01-30 Compuware Corporation Automatic identification of application protocols through dynamic mapping of application-port associations
US6202099B1 (en) * 1998-03-30 2001-03-13 Oracle Corporation Method and apparatus for providing inter-application program communication using a common view and metadata
US20030033317A1 (en) * 1999-03-23 2003-02-13 Robert Ziglin Methods and apparatus for interfacing application programs with database functions
US6694321B1 (en) * 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
GB2354850B (en) * 1999-09-29 2002-01-09 Ibm Data processing with reuse of existing message structure to allow access to distribution list
US6741853B1 (en) * 2000-11-09 2004-05-25 Nortel Networks Limited Device aware internet portal
US20030105887A1 (en) * 2001-12-03 2003-06-05 Cox Burke David Method and system for integration of software applications
US7127609B2 (en) * 2001-01-12 2006-10-24 Siemens Medical Solutions Health Services Corporation System and user interface for adaptively processing and communicating URL data between applications
JP2002281537A (ja) * 2001-03-15 2002-09-27 Matsushita Electric Ind Co Ltd フォーマット変換装置および構内交換機制御システム
US7257820B2 (en) * 2001-04-14 2007-08-14 Siebel Systems, Inc. Method and system for using integration objects with enterprise business applications
US7610404B2 (en) * 2002-05-22 2009-10-27 Cast Iron Systems, Inc. Application network communication method and apparatus
US7607137B2 (en) * 2002-07-01 2009-10-20 Sap Ag Integration of heterogeneous applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007014970B3 (de) * 2007-03-28 2008-07-31 Siemens Ag Konfiguration von medizintechnischen Prozessen

Also Published As

Publication number Publication date
GB2421102A (en) 2006-06-14
ITMI20052326A1 (it) 2006-06-10
US20060168347A1 (en) 2006-07-27
CA2529213A1 (en) 2006-06-09
GB0523309D0 (en) 2005-12-28

Similar Documents

Publication Publication Date Title
DE102005057745A1 (de) System zur gemeinsamen Verwendung von Inhaltsinformation zwischen ausführbaren Anwendungen
JP4909936B2 (ja) 医療情報システム
US7870006B2 (en) Methods and systems for managing clinical research information
CN113094037A (zh) 表单和工作流的交互方法、开发平台、设备及存储介质
DE102006000713A1 (de) Medizinisches Bildbetrachtungsmanagement- und Statussystem
DE112004001153T5 (de) Datenmigration- und Formattransformationssystem
DE102008056013A1 (de) Patientenbehandlungsplanungssystem
DE10065558A1 (de) Medizinisches Diagnosesystem mit einem Online-Echtzeitvideotraining
DE102008020610A1 (de) Vorrichtungen und Verfahren zur Validierung klinischer Daten
CN111145853A (zh) 影像结构化报告对人工智能诊断结果的应用系统及方法
US20050251006A1 (en) Method and system for remote post-processing of medical image information
DE102005041627A1 (de) Automatische Protokollierung von Parametern einer medizinischen Untersuchung
DE102005058164A1 (de) Betriebsüberwachungssytem für eine ausführbare Anwendung
DE102007021275A1 (de) Verfahren zur Übertragung und/oder zur Bereitstellung persönlicher elektronischer Daten eines Inhabers, insbesondere gesundheitsbezogener elektronischer Daten eines Patienten
WO2018229056A1 (de) Verfahren zur überwachung und fernbedienung einer blutbehandlungseinrichtung
EP1798620A1 (de) System und Verfahren zur Fernanalyse, Fernwartung und/oder Fehlerbehebung eines technischen Gerätes
EP2356600B1 (de) Patientenverwaltungssystem mit intelligenter schnittstelleneinrichtung zur übertragung medizinischer daten
DE10290696T5 (de) Verfahren und System zum drahtlosen Zugriff auf einen Computer eines Benutzers
DE112004001227T5 (de) Den Austausch von Daten zwischen ausführbaren Anwendungen unterstützendes Datenübertragungssystem
EP3401816A1 (de) Dynamische erstellung von übersichtsnachrichten im gesundheitswesen
DE10322685A1 (de) Verfahren zur Verarbeitung eines Therapiehinweise umfassenden Datensatzes bei medizinischen Behandlungen
DE102008019627B4 (de) System und Verfahren zur sicheren Speicherung und Freigabe von Applikationsdaten
DE10322684A1 (de) Verfahren zur Verarbeitung einer Versionsänderung eines medizinische Therapiehinweise umfassenden Datensatzes
US20040034547A1 (en) Medical device which can be subordinated to a planning medical system and planning medical system which can be made superordinate to a medical device
JP6903107B2 (ja) 症例蓄積システム

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: SIEMENS MEDICAL SOLUTIONS USA,INC.(N.D.GES.D.S, US

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120703