DE112017000695T5 - Arbeitsablauf-Erstellung anhand natürlicher Sprache - Google Patents

Arbeitsablauf-Erstellung anhand natürlicher Sprache Download PDF

Info

Publication number
DE112017000695T5
DE112017000695T5 DE112017000695.3T DE112017000695T DE112017000695T5 DE 112017000695 T5 DE112017000695 T5 DE 112017000695T5 DE 112017000695 T DE112017000695 T DE 112017000695T DE 112017000695 T5 DE112017000695 T5 DE 112017000695T5
Authority
DE
Germany
Prior art keywords
stakeholder
workflow
data
data object
action
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.)
Pending
Application number
DE112017000695.3T
Other languages
English (en)
Inventor
Jesus Orlando Sanchez Merchan
Gustavo Ignacio Gomez Gonzalez
Marcel Josef Manser Sonderer
Diego Enrique Parra Leal
Anwar Saud Hussein Ibañez Okamell
Jose Alcides Aranzazu Montoya
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.)
Bizagi Group Corp Washington Us
Original Assignee
Bizagi Group Ltd
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 Bizagi Group Ltd filed Critical Bizagi Group Ltd
Publication of DE112017000695T5 publication Critical patent/DE112017000695T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/20ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management or administration of healthcare resources or facilities, e.g. managing hospital staff or surgery rooms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Child & Adolescent Psychology (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Biomedical Technology (AREA)
  • Epidemiology (AREA)
  • Medical Informatics (AREA)
  • Public Health (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Ein computer-implementiertes Verfahren zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software mit Zugang zu einer Arbeitsablauf-Datenbank, die ein oder mehrere Datenobjekte, Aktionen zur Ausführung auf den Datenobjekten, und eine Mehrzahl von Stakeholder-Objekten, wobei jedes mit (a) einem oder mehreren der Datenobjekte und (b) einer oder mehreren der Aktionen verknüpft ist, enthält, wobei das Verfahren umfasst: Empfangen an einer Benutzerschnittstelle eines Computersystems einer Eingabe natürlicher Sprache und einer Angabe eines in der Arbeitsablauf-Datenbank durch ein Stakeholder-Objekt repräsentierten Stakeholders; Analysieren der Eingabe natürlicher Sprache auf einem Prozessor, um so ein Verb und ein Substantiv in der Eingabe natürlicher Sprache zu identifizieren; Überprüfen, ob ein Datenobjekt, das dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert; und falls ein solcher Einheitentyp in der Arbeitsablauf-Datenbank nicht existiert: Erzeugen in der Arbeitsablauf-Datenbank eines neuen Datenobjekts für das identifizierte Substantiv unter Verwendung eines vorbestimmten Datenobjekts; Speichern in der Arbeitsablauf-Datenbank einer Aktion für das identifizierte Verb unter Verwendung einer vorbestimmten Prozessdefinition; und Verknüpfen in der Arbeitsablauf-Datenbank des neuen Datenobjekts, der Aktion für das identifizierte Verb und des Stakeholder-Objekts so, dass, wenn die Arbeitsablauf-Management-Software durch den Stakeholder verwendet wird, es dem Stakeholder erlaubt ist, die Aktion auf einer Instanz des mit dem Stakeholder verknüpften neuen Datenobjekts auszuführen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Diese Erfindung betrifft ein Verfahren und ein Computersystem zum Entwerfen eines Arbeitsablaufs für Arbeitsablauf-Management-Software.
  • Computersysteme für Arbeitsablauf-Management sind entscheidend für den effizienten Betrieb von Unternehmen und Organisationen auf der ganzen Welt. Viele Unternehmen verwenden Computersysteme, um Prozesse zu definieren und zu organisieren, die durch ihre Mitarbeiter befolgt werden müssen. Dies kann insbesondere in großen Organisationen, deren Mitarbeiter über viele Standorte oder gar Länder verteilt sind, dabei helfen, sicherzustellen, dass Prozesse konsistent und effizient im gesamten Unternehmen durchgeführt werden. Zum Beispiel kann in Dienstleistungsbranchen wie z.B. Versicherungen oder Banken die Verwendung von Arbeitsablauf-Management-System sicherstellen, dass ihren Kunden durch das Unternehmen eine minimale Servicequalität bereitgestellt wird. Arbeitsablauf-Management kann auch als Geschäfts-Prozess-Management (BPM) bezeichnet werden.
  • Eine neue Klasse von Arbeitsablauf-Management-Software ist vor kurzem verfügbar geworden, die es erlaubt, dass komplexe Arbeitsabläufe an einem Computersystem erzwungen werden, ohne dass es erforderlich ist, dass jede mögliche Permutation eines Geschäftsablaufs in dem System definiert ist. Eine Herangehensweise ist es, die in einen Arbeitsablauf involvierten Stakeholdern zusammen mit den Aktionen, die diese Stakeholder durchführen dürfen und die Daten, die diese Stakeholder besitzen und auf welchen sie ihre Aktionen ausführen können, zu definieren. Die Aktionen sind nicht so zusammen verknüpft, dass sie vorbestimmte Arbeitsabläufe bilden; die Arbeitsabläufe ergeben sich vielmehr aus geeigneten Definitionen der Aktionen, Daten und Regeln, die herrschen, wenn die Aktionen und Daten den Stakeholdern zur Verfügung stehen, denen es erlaubt ist, sie auszuführen. Diese Stakeholder-zentrische Herangehensweise wird in BPM-Software ausgeführt, die von Bizagi verfügbar ist.
  • Die neue Herangehensweise an das Arbeitsablauf-Management verfügt über wesentliche Vorteile gegenüber konventionellen Systemen für Geschäfts-Prozess-Management, erfordert jedoch, wie jedes andere Arbeitsablauf-Management-System, weiterhin eine sorgfältige Definition des durch die Software verwendeten Datensatzes, um Arbeitsabläufe zu erzwingen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein computer-implementiertes Verfahren zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software mit Zugang zu einer Arbeitsablauf-Datenbank, die ein oder mehrere Datenobjekte, Aktionen zur Ausführung auf den Datenobjekten, und eine Mehrzahl von Stakeholder-Objekten, wobei jedes mit (a) einem oder mehreren der Datenobjekte und (b) einer oder mehreren der Aktionen verknüpft ist, enthält, bereitgestellt, wobei das Verfahren umfasst:
    • Empfangen an einer Benutzerschnittstelle eines Computersystems einer Eingabe natürlicher Sprache und einer Angabe eines in der Arbeitsablauf-Datenbank durch ein Stakeholder-Objekt repräsentierten Stakeholders;
    • Analysieren der Eingabe natürlicher Sprache auf einem Prozessor, um so ein Verb und ein Substantiv in der Eingabe natürlicher Sprache zu identifizieren;
    • Überprüfen, ob ein Datenobjekt, das dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert; und falls ein solcher Einheitentyp in der Arbeitsablauf-Datenbank nicht existiert:
    • Erzeugen in der Arbeitsablauf-Datenbank eines neuen Datenobjekts für das identifizierte Substantiv unter Verwendung eines vorbestimmten Datenobjekts;
    • Speichern in der Arbeitsablauf-Datenbank einer Aktion für das identifizierte Verb unter Verwendung einer vorbestimmten Prozessdefinition; und
    • Verknüpfen in der Arbeitsablauf-Datenbank des neuen Datenobjekts, der Aktion für das identifizierte Verb und des Stakeholder-Objekts so, dass, wenn die Arbeitsablauf-Management-Software durch den Stakeholder verwendet wird, es dem Stakeholder erlaubt ist, die Aktion auf einer Instanz des mit dem Stakeholder verknüpften neuen Datenobjekts auszuführen.
  • Jedem Stakeholder kann es erlaubt sein, auf einem mit dem Stakeholder verknüpften Datenobjekt nur die Aktionen auszuführen, die mit diesem Datenobjekt und mit dem den Stakeholder repräsentierenden Stakeholder-Objekt verknüpft sind.
  • Das Analysieren der Eingabe natürlicher Sprache auf einem Prozessor kann in Abhängigkeit von einem oder mehreren der folgenden durchgeführt werden: der Position des Worts in der Eingabe natürlicher Sprache; dem Vorhandensein eines ein Verb und ein Substantiv abgrenzenden Verbindungsworts; in welchen Feldern einer Benutzerschnittstelle die Wörter der Eingabe natürlicher Sprache vorhanden sind.
  • Das Analysieren der Eingabe natürlicher Sprache auf einem Prozessor kann das Verarbeiten der Eingabe natürlicher Sprache unter Verwendung eines Algorithmus zur Verarbeitung natürlicher Sprache umfassen, der dazu eingerichtet ist, ein Verb und ein Substantiv zu identifizieren, auf welches das Verb syntaktisch wirkt.
  • Das Überprüfen, ob ein Datenobjekt, das dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert, kann das Prüfen der in der Arbeitsablauf-Datenbank definierten Datenobjekte auf ein Datenobjekt umfassen, welches eine oder mehrere der folgenden Bedingungen umfasst: durch das Substantiv bezeichnet sein; mit dem Substantiv markiert sein; eine Bezeichnung aufweisen, bei der vorbestimmt ist, dass sie zu dem Substantiv äquivalent ist.
  • Das Verknüpfen in der Arbeitsablauf-Datenbank kann das Definieren in dem neuen Datenobjekt umfasst, dass es dem durch das Stakeholder-Objekt repräsentierten Stakeholder erlaubt ist, die identifizierte Verb-Aktion auf dem neuen Datenobjekt auszuführen.
  • Das Empfangen an der Benutzerschnittstelle kann ferner das Empfangen einer Angabe einer Kontext-Bedingung umfassen und das Verknüpfen in der Arbeitsablauf-Datenbank das Definieren in dem neuen Datenobjekt umfasst, dass es dem durch das Stakeholder-Objekt repräsentierten Stakeholder nur erlaubt ist, die identifizierte Verb-Aktion auf dem neuen Datenobjekt auszuführen, wenn die Kontext-Bedingung erfüllt ist.
  • Die Eingabe natürlicher Sprache kann an einer Benutzerschnittstelle empfangen werden, die dem Stakeholder zugeordnet ist, wobei das Empfangen einer Angabe eines Stakeholders das Identifizieren des Stakeholders als den Stakeholder umfasst, dem die Benutzerschnittstelle zugeordnet ist.
  • Die Benutzerschnittstelle, die dem Stakeholder zugeordnet ist, kann eine Entwurfsschnittstelle sein, die dazu eingerichtet ist, es einem Benutzer zu erlauben, das den Stakeholder repräsentierende Stakeholder-Objekt zu modifizieren.
  • Das vorbestimmte Datenobjekt kann ein Standard-Datenobjekt sein, wobei das neue Datenobjekt die Eigenschaften des Standard-Datenobjekts erbt und unter den Datenobjekten der Arbeitsablauf-Datenbank durch das Substantiv identifiziert wird.
  • Die vorbestimmte Prozessdefinition kann eine Standard-Prozessdefinition sein, wobei die Aktion die Eigenschaften der Standard-Prozessdefinition erbt und unter den Aktionen der Arbeitsablauf-Datenbank durch das Verb identifiziert wird.
  • Das Verfahren kann anschließend an das Verknüpfen das Auffordern des Benutzers umfassen, Attribute von einem oder mehreren der neuen Datenobjekte und die Aktion für das bezeichnete Verb zu editieren.
  • Die Prozessdefinitionen können in einer Prozessschicht der Arbeitsablauf-Datenbank definiert sein und die Datenobjekte sind in einer Datenschicht der Arbeitsablauf-Datenbank definiert.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Computersystem zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software mit Zugang zu einer Arbeitsablauf-Datenbank, die ein oder mehrere Datenobjekte, Aktionen zur Ausführung auf den Datenobjekten, und eine Mehrzahl von Stakeholder-Objekten, wobei jedes mit (a) einem oder mehreren der Datenobjekte und (b) einer oder mehreren der Aktionen verknüpft ist, enthält, bereitgestellt, wobei das System umfasst:
    • einen Datenspeicher, der die Arbeitsablauf-Datenbank umfasst;
    • eine Benutzerschnittstelle zum Empfangen einer Eingabe natürlicher Sprache und einer Angabe eines durch ein Stakeholder-Objekt in der Arbeitsablauf-Datenbank repräsentierten Stakeholders;
    • einen Prozessor, der eingerichtet ist:
    • die Eingabe natürlicher Sprache zu analysieren, um so ein Verb und ein Substantiv in der Eingabe natürlicher Sprache zu identifizieren;
    • zu überprüfen, ob ein Datenobjekt, welches dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert; und falls ein solcher Einheitentyp in der Arbeitsablauf-Datenbank nicht existiert:
    • Erzeugen in der Arbeitsablauf-Datenbank eines neuen Datenobjekts für das identifizierte Substantiv unter Verwendung eines vorbestimmten Datenobjekts;
    • Speichern in der Arbeitsablauf-Datenbank einer Aktion für das identifizierte Verb unter Verwendung einer vorbestimmten Prozessdefinition; und
    • Verknüpfen in der Arbeitsablauf-Datenbank des neuen Datenobjekts, der Aktion für das identifizierte Verb und des Stakeholder-Objekts so, dass, wenn die Arbeitsablauf-Management-Software durch den Stakeholder verwendet wird, es dem Stakeholder erlaubt ist, die Aktion auf einer Instanz des mit dem Stakeholder verknüpften neuen Datenobjekts auszuführen.
  • Es kann ein Computer-Programmcode zum Durchführen eines Verfahrens zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software bereitgestellt sein. Es kann ein nichtflüchtiges computerlesbares Speichermedium bereitgestellt sein, welches darauf gespeicherte computerlesbare Instruktionen aufweist, die, wenn sie durch ein Computersystem ausgeführt werden, das Computersystem dazu veranlassen, ein Verfahren zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software auszuführen.
  • Figurenliste
  • Die vorliegende Erfindung wird nun exemplarisch mit Bezug auf die beigefügten Zeichnungen beschrieben werden. In den Zeichnungen:
    • 1 zeigt ein Computersystem zum Entwerfen eines Arbeitsablaufs gemäß den hierin beschriebenen Prinzipien.
    • 2 zeigt ein Arbeitsablauf-Management-System.
    • 3 veranschaulicht eine exemplarische Struktur der Datenbank aus 2.
    • 4 veranschaulicht eine Benutzerschnittstelle eines Endgeräts aus 2.
    • 5 zeigt ein Beispiel eines Arbeitsablaufs, der am System von 2 durchgeführt wird.
    • 6 zeigt ein exemplarisches Stakeholder-Objekt.
    • 7 zeigt ein exemplarisches Datenobjekt.
    • 8 zeigt eine exemplarische Prozessdefinition.
    • 9 ist ein Flussdiagramm, welches den Betrieb des Arbeitsablauf-Management-Systems veranschaulicht.
    • 10 ist ein Flussdiagramm, welches ein Verfahren zum Entwerfen eines Arbeitsablaufs veranschaulicht.
    • 11 zeigt eine exemplarische Benutzerschnittstelle eines Computersystems zum Entwerfen eines Arbeitsablaufs.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die folgende Beschreibung wird als ein Beispiel präsentiert, um einen Fachmann in die Lage zu versetzen, die Erfindung zu realisieren und zu verwenden. Die vorliegende Erfindung ist nicht auf die hierin beschriebenen Ausführungsformen beschränkt und verschiedene Abwandlungen der offenbarten Ausführungsformen werden dem Fachmann ersichtlich sein.
  • Obgleich es in Stakeholder-zentrischen Arbeitsablauf-Management-Systemen nicht mehr notwendig ist, jede mögliche Permutation eines Geschäftsprozesses erschöpfend zu beschreiben, wenn Arbeitsablaufe für ein solches System entworfen werden, wurde nachgewiesen, dass es für nichttechnische Benutzer, für die das System neu ist, schwierig sein kann, zu verstehen, wie jede der Aktionen und Datenobjekte geeignet zu definieren und einzurichten ist, um die gewünschten Sätze der Arbeitsabläufe in dem System zu erzwingen. Es ist wünschenswert, dass sichergestellt wird, dass nichttechnische Benutzer Arbeitsabläufe für ein Arbeitsablauf-Computersystem entwerfen können, da die Mitarbeiter in einer Organisation mit dem Wissen der Geschäftsabläufe oft nicht technisch sind und keine Erfahrung in Computerprogrammierung haben.
  • Es wird ein Verfahren und ein Computersystem zum Entwerfen eines Arbeitsablaufs für ein Arbeitsablauf-Management-System bereitgestellt. Das Verfahren und das Computersystem sind insbesondere zum Entwerfen von Arbeitsabläufen für Arbeitsablauf-Management-System geeignet, die die Stakeholder-zentrische Herangehensweise verwenden. Das Verfahren und das Computersystem gehen die vorstehend beschriebenen Schwierigkeiten an, auf die Benutzer, für die das Entwerfen von Arbeitsabläufen neu ist, stoßen können, indem ein neuartiger Mechanismus bereitgestellt wird, durch den neue Aktionen und Datenobjekte zum Zeitpunkt des Entwerfens des Arbeitsablauf-Management-Systems erzeugt werden können.
  • Arbeitsablauf-Management-System
  • Anhand des Kontexts und eines Beispiels wird die Stakeholder-zentrische Herangehensweise, die in Arbeitsablauf-Management-Systemen verwendet wird, nun beschrieben werden. Solche Systeme erlauben es, dass komplexe Arbeitsabläufe erzwungen werden, während die Anforderungen des Computersystems an Speicher und Verarbeitung minimiert werden. Arbeitsabläufe müssen nicht im System vorbestimmt werden und ergeben sich stattdessen aus der besonderen Konfiguration des Computersystems. Jeder Arbeitsablauf repräsentiert eine Abfolge von Aktionen, die eine Gruppe aus einem oder mehreren Benutzern des Systems insgesamt befolgen können. Wie nachstehend beschrieben, können Abfolgen von Aktionen, die nicht erlaubt sind, nicht durch die Benutzer des Systems ausgeführt werden, da bei jedem Schritt in einem Arbeitsablauf nicht zulässige Aktionen einem Benutzer nicht präsentiert werden. Auf diese Wiese kann das Computersystem Benutzer darauf beschränken, nur zulässige Arbeitsabläufe durchzuführen.
  • Ein Beispiel eines Computersystems zum Erzwingen eines Arbeitsablaufs ist in 2 gezeigt. In 2 umfasst das Computersystem 200 einen Computerserver 201 mit einem Prozessor 202, einem Speicher 204 und einer Datenbank 203. Die Datenbank kann am Server, wie in 2 gezeigt, oder an Datenspeicher, auf den der Server zugreifen kann (z.B. über ein Netzwerk oder das Internet), verortet sein. Der Prozessor und Speicher unterstützen einen Arbeitsablauf-Manager 205, der in diesem Beispiel Software ist, die eingerichtet ist, auf den in der Datenbank 203 gehaltenen Daten zu arbeiten, um es Benutzern der Computer-Endgeräte 206, 207 und 208 des Systems zu erlauben, Arbeitsabläufe durchzuführen.
  • Es kann jede Anzahl von Endgeräten sein, aber in diesem Beispiel sind es drei. Die Datenbank kann einen oder mehrere über das System verteilte Datenspeicher umfassen, einschließlich lokal am Server und/der an Speicherorten außerhalb des Servers. Der Server kann eine oder mehrere Verarbeitungseinheiten (z.B. Prozessorkerne, Server oder Blades auf einem Blade-Server) mit Zugriff auf die Datenbank 203 und Unterstützung eines Arbeitsablauf-Managers umfassen. Die Datenbank kann eine relationale Datenbank sein, und Verknüpfungen zwischen Objekten der Datenbank können durch Verbindungen zwischen Verzeichnissen der Datenbank repräsentiert sein.
  • Jedes der Computer-Endgeräte kann wie für das Endgerät 206 gezeigt so eingerichtet sein, dass es einen Prozessor 209, eine Anzeige 210, eine Eingabe-/Ausgabe-Einheit 211 und einen Speicher 212 enthält. Der Prozessor und Speicher unterstützen eine Benutzerschnittstelle 213, über die ein Benutzer des Endgeräts mit dem Computer-Endgerät durch das Eingabe-/Ausgabe-Einheit 211 (z.B. eine Tastatur, Maus, ein Touchscreen, ein Mikrofon etc.) interagieren kann. Jedes Endgerät kann jede Art von Rechenvorrichtung sein, wie z.B. ein Desktop- oder Laptop-Computer, ein Tablet oder ein Smartphone. Jedes Endgerät kann ein „dünnes“ Endgerät, welches sich auf den Server stützt, um zumindest einen Teil seiner Verarbeitung durchzuführen, oder eine eigenständige Rechenvorrichtung sein, die mit dem Server 201 verbunden ist. Es ist selbstverständlich, dass viele weitere Konfigurationen von Computer-Servern und Endgeräten möglich sind.
  • Die Benutzerschnittstelle 213 eines Endgeräts bietet dem Benutzer Zugang zur Datenbank 203. Die Benutzerschnittstelle kann ein leichtgewichtiges Frontend (z.B. eine Web-Applikation, die die Benutzerschnittstelle 213 bereitstellt) bereitstellen, mittels dem ein Benutzer mit dem Arbeitsablaufmanager 205 interagieren kann, der dazu eingerichtet ist, den Zugang zur Datenbank 203 zu vermitteln und im Wesentlichen die Verarbeitung durchzuführen, die von einer Abfolge von Aktionen, die einen Arbeitsablauf bilden, benötigt wird. In anderen Beispielen kann die Benutzerschnittstelle selbst einige oder alle der Arbeitsablauf-Manager enthalten und demnach einen Teil oder die gesamte Verarbeitung, die mit einem Arbeitsablauf verbunden ist, durchführen. Viele Konfigurationen sind zwischen diesen beiden exemplarischen Extremen möglich. Die Prozessoren des Computersystems (z.B. am Server und/oder den Endgeräten) wie sie durch den Arbeitsablauf-Manager und/oder eine Benutzerschnittstelle eingerichtet sind, erzwingen Arbeitsabläufe in Übereinstimmung mit den hierin beschriebenen Prinzipien.
  • Ein oder mehrere Teile der Datenbank 203 können an den Endgeräten als Kopien eines Teils der Datenbank verortet sein, die der Benutzerschnittstelle an dem jeweiligen Endgerät und/oder über durch Verteilen zumindest eines Teils der Datenbank 203 über die Endgeräte des Systems zugänglich sind. Der Server kann selbst als ein Endgerät agieren, mittels dem ein Benutzer einen oder mehrere Schritte eines Workflows durchführen kann.
  • Die Benutzerschnittstelle 213 stellt ein Beispiel einer Computerschnittstelle des Systems 200 dar, wie den Benutzern des Systems ein Zugang zu Daten bereitgestellt wird, die an der Datenbank in den Datenobjekten gehalten werden. In anderen Beispielen kann die Schnittstelle an derselben Verarbeitungseinheit wie der Arbeitsablauf-Manager 205 unterstützt werden und/oder kann nicht-grafisch, wie z.B. eine Applikations-Programmierschnittstelle (API), Web-API oder ähnliches sein. Zum Beispiel kann eine Arbeitsstation sowohl einen Arbeitsablauf-Manager als auch eine Benutzerschnittstelle umfassen, die auf dem Prozessor laufen, weshalb die Workstation die Funktionen sowohl des Servers als auch des Endgeräts ausführt.
  • Ein Beispiel der an der Datenbank 203 gehaltenen Daten ist in 3 gezeigt. Die Datenbank 203 kann eine Datenschicht 301 und eine Prozessschicht 302 enthalten. Die Datenschicht kann Verzeichnisse 303 umfassen, die einen Satz Datenobjekte und einen Satz Stakeholder-Objekte definieren. Die Datenobjekte und die Stakeholder-Objekte können so miteinander verknüpft sein, dass sie für jeden Stakeholder einen Satz Datenobjekt-Instanzen logisch definieren, die mit diesem Stakeholder verknüpft sind. Jedes Stakeholder-Objekt (oder eine Instanz davon) entspricht einer Stakeholder-Rolle in den jeweiligen Arbeitsabläufen, für die das Computersystem eingerichtet ist, eine Unterstützung bereitzustellen. In einigen Beispielen kann ein Stakeholder-Objekt mehrere Instanzen umfassen, wobei jede Instanz einer anderen Stakeholder-Rolle entspricht - z.B. kann ein Stakeholder-Objekt für Ärzte in dem nachfolgenden Krankenhaus-Beispiel bereitgestellt sein, wobei jeder Doktor einer anderen Stakeholder-Instanz entspricht.
  • Die Verzeichnisse können auf andere Datenquellen verweisen, die außerhalb der Datenbank liegen (z.B. Datenquellen, die Patientenakten, oder Kontaktdetails für die Kunden eines Unternehmens halten). Die Prozessschicht enthält einen Satz Prozessdefinitionen 304, wovon jede eine Aktion spezifiziert, die einen Schritt in einem Arbeitsablauf repräsentieren kann. Die Prozessdefinitionen können zu den Verzeichnissen in der Datenschicht verweisen, um so die Daten- und Stakeholder-Objekte zu referenzieren, und anders herum. Zum Beispiel können die Datenobjekte aufgrund von entsprechenden Verknüpfungen von Verzeichnissen 303 mit Prozessdefinitionen 304 Aktionen, die auf dem Datenobjekt ausgeführt werden dürfen, und die Stakeholder bezeichnen, denen es erlaubt ist, jede dieser Aktionen zu starten. Die Daten- und Stakeholder-Objekte und die Prozessdefinitionen werden nachstehend detaillierter beschrieben. Andere Datenstrukturen, die in der Lage sind, Daten- und Stakeholder-Objekte und Prozessdefinitionen zur Verwendung in der hierin beschriebenen Weise zu definieren, können alternativ verwendet werden. Die Begriffe Datenschicht und Prozessschicht können logische Gruppierungen von Daten an einer Datenbank angeben und müssen keine entsprechende Struktur der Datenbank unterstellen.
  • Der Arbeitsablauf-Manager 205 ist eingerichtet, um in Abhängigkeit von den Daten, die an der Datenbank 203 gehalten werden, zu arbeiten, um so Arbeitsabläufe zu erzwingen, indem Benutzer der Computer-Endgeräte 206-208 darauf beschränkt werden, Abfolgen von Aktionen auf Datenobjekten der Datenbank in Übereinstimmung mit den an der Datenbank definierten Genehmigungen auszuführen. Dies kann in Übereinstimmung mit dem folgenden Beispiel erreicht werden.
  • Ein Satz Stakeholder-Objekte sind an der Datenbank 203 definiert, wobei jedes einen Stakeholder in den Arbeitsabläufen und die Datenobjekte, die mit diesem Stakeholder verknüpft sind, definiert. Jeder Stakeholder kann einen Typ eines Benutzers des Systems definieren, der in der Lage ist, eine oder mehrere Aktionen an dem System durchzuführen. Zum Beispiel können die Stakeholder in einem Computersystem, welches eingerichtet ist, es Krankenhausmitarbeitern zu ermöglichen, Prozesse in einer Krankenhausumgebung zu befolgen, die Krankenpfleger, Ärzte und andere Krankenhausmitarbeiter sein, die daran beteiligt ist, Aktionen am System durchzuführen. Triage-Krankenpfleger können ein Stakeholder sein, Notfall (ER)-Ärzte ein zweiter Stakeholder, und orthopädische Chirurgen ein dritter Stakeholder. Jeder Benutzer des Systems kann zu einem oder mehreren Stakeholdern gehören und es können einer oder mehrere Benutzer mit jedem Stakeholder verknüpft sein.
  • Ein Beispiel des logischen Dateninhalts eines Stakeholder-Objekts oder -Definition 600 ist in 6 gezeigt. Das Stakeholder-Objekt 600 enthält eine Definition des Stakeholders 601, die Informationen wie z.B. den Namen dieses Stakeholders oder andere Eigenschaften beinhalten kann. Das Stakeholder-Objekt kann Daten 602 enthalten, die die mit dem Stakeholder verknüpften Datenobjekte spezifizieren (z.B. der vorstehend erwähnte orthopädische Chirurg kann mit Datenobjekt-Instanzen verknüpft sein, die chirurgische Fälle repräsentieren). In einigen Beispielen kann ein Stakeholder-Objekt 600 mehrere Stakeholder-Instanzen umfassen - z.B. wo ein Stakeholder eine bestimmte Rolle repräsentiert (z.B. ein Arzt) und wo es viele Einzelpersonen in dieser Rolle gibt (z.B. viele Ärzte in einem Krankenhaus), wobei jede solche Einzelperson einer bestimmten Stakeholder-Instanz entsprechen kann. Jede Instanz kann eine Definition 601und Spezifikationsdaten 602 enthalten, die die mit diesem Stakeholder verknüpften Datenobjekte identifizieren. In Übereinstimmung mit der jeweiligen Implementierung kann ein Stakeholder durch ein Stakeholder-Objekt oder Instanzen eines Stakeholder-Objekts repräsentiert sein.
  • In anderen Beispielen können Informationen, die die Datenobjekte spezifizieren, auf jede andere Weise gespeichert sein - z.B. durch Verknüpfen des Stakeholder-Objekts mit ihren verknüpften Datenobjekten, oder Speichern dieser Verknüpfungen in an der Datenbank gehaltenen Spezifikationsdaten. Ein Stakeholder-Objekt kann Daten enthalten, die eine oder mehrere Konfigurationen der Benutzerschnittstelle für den Stakeholder definieren - z.B. kann das Stakeholder-Objekt eine Konfiguration (z.B. Aussehen, Anordnung der präsentierten Daten, Möglichkeit zum Recherchieren von Daten und/oder Suchen von Daten) der Benutzerschnittstelle 213 definieren, die der durch diesen Stakeholder ausgefüllten Rolle entspricht.
  • Ein oder mehrere Datenobjekte können an der Datenbank 203 definiert sein. Jedes Datenobjekt kann einen anderen Typ einer Einheit repräsentieren - z.B. kann in dem vorstehend beschriebenen Krankenhaus-Beispiel ein Datenobjekt Röntgenuntersuchungen und ein anderes kann Patiententermine repräsentieren. Jedes Datenobjekt kann mehrere Instanzen des Datenobjekts repräsentieren, wobei jede mit einem anderen Stakeholder verknüpft sein kann (z.B. die Röntgenaufnahmen der Patienten in dem System). Daten in der Datenobjekt-Instanz können eine oder mehrere Aktionen identifizieren, die auf dieser Instanz ausgeführt werden können und/oder dies kann über eine entsprechende Verlinkung der Datenobjekt-Instanzen mit in der Prozessschicht gehaltenen Aktionen definiert werden. Ein Datenobjekt kann insgesamt die Aktionen definieren, die auf seinen Instanzen ausgeführt werden können und kann Stakeholder, Typen von Stakeholdern oder Gruppen von Stakeholdern definieren, die diese Aktionen durchführen dürfen. Jede Datenobjekt-Instanz kann spezifizieren, welchen Stakeholdern es erlaubt ist, jede der Aktionen, die auf dem Datenobjekt ausgeführt werden können, auszuführen - z.B. durch entsprechende Verknüpfung des Datenobjekt-Instanz mit Stakeholder-Objekten oder mit in der Datenschicht gehaltenen Instanzen. Zum Beispiel können in dem Arbeitsablauf-Management-System, welches Arbeitsabläufe in einem Krankenhaus modelliert, die Datenobjekte Patientenakten sein, eine Untersuchung (z.B. eine Röntgenuntersuchung, ein MRI-Scan, ein Bluttest) repräsentieren oder ein Termin sein.
  • Die Datenbank kann mehrere Typen von Datenobjekten umfassen. Neue Instanzen eines Datenobjekts (z.B. eine neue Patientenakte) kann einige oder alle der Eigenschaften von anderen Datenobjekten desselben Typs erben. Zum Beispiel kann der Arbeitsablauf-Manager eingerichtet sein, eine neue Instanz eines Datenobjekts mit demselben Satz von Stakeholder-Objekten zu verknüpfen oder kann die Genehmigungen einer neuen Instanz eines Datenobjekts so setzen, dass derselbe Satz von Aktionen auf der neuen Instanz wie auf den anderen Datenobjekten desselben Typs ausgeführt werden kann. In einigen Implementierungen kann eine Definition für jeden Typ von Datenobjekt gespeichert werden, die die Verknüpfungen und Genehmigungen seiner Instanzen definiert; die Datenobjekt-Instanzen dieses Typs von Datenobjekt können so verstanden werden, dass sie diese Definition enthalten.
  • Ein Beispiel des logischen Dateninhalts eines Datenobjekts 700 ist in 7 gezeigt. Das Datenobjekt enthält Information 701 über das Objekt - z.B. können für ein Patientenakte-Datenobjekt diese Informationen den Namen, die Adresse, die Gesundheitssystem-Nummer und die medizinischen Aufzeichnungen des Patienten enthalten. Spezifikationsdaten 702 spezifizieren die Aktionen, die auf dem Objekt ausgeführt werden können, welche Stakeholder jede dieser Aktionen ausführen können und optional, in welchem Kontext diese Aktionen ausgeführt werden können. Objektinformationen 701 und die Spezifikationsdaten 702 können für jede Instanz 703 eines Datenobjekts bereitgestellt werden.
  • Datenobjekte und Stakeholder-Objekte, wie sie hierin beschrieben sind, können jegliche Sammlung von Daten sein und können oder können nicht Objekte einer relationalen Datenbank sein. Datenobjekte und Stakeholder-Objekte können auf jede Weise in dem Computersystem gehalten werden, einschließlich als eine oder mehrere Dateien oder Einträge in Dateien, oder in einer Datenbank.
  • Ein Benutzer eines Computer-Endgeräts 206-208 wird an der Datenbank 203 als einer oder mehrere entsprechende Stakeholder repräsentiert. Ein Benutzer-Endgerät kann eingerichtet sein, einen Benutzer zu authentifizieren (z.B. indem es Anmeldeinformationen vom Benutzer verlangt), um so ein für den Benutzer an dem Endgerät oder dem Server gespeichertes Profil zu identifizieren. Das Computersystem kann eingerichtet sein, jedes Benutzerprofil mit einem oder mehreren Stakeholder-Objekten (oder Instanzen), die an der Datenbank gehalten werden, zu verknüpfen, sodass es dem System ermöglicht wird, zu identifizieren, welche Stakeholder ein Benutzer eines Computer-Endgeräts repräsentiert, und somit die Daten und Aktionen, die diesem Benutzer in Übereinstimmung mit den hierin beschriebenen Prinzipien präsentiert werden. Jedes Benutzerprofil kann in der Datenbank gespeichert und mit dem einen oder mehreren Stakeholder-Objekten, die die mit dem Benutzer dieses Benutzerprofils verknüpften Stakeholdern repräsentieren, verknüpft sein.
  • Ein Benutzer ist durch den Arbeitsablauf-Manager darauf beschränkt, nur auf jene Datenobjekte-Instanzen zuzugreifen, die mit den durch den Benutzer repräsentierten Stakeholdern verknüpft sind. Ein Benutzer kann auf Datenobjekte an einem Benutzer-Endgerät auf jede geeignete Weise zugreifen, einschließlich durch Recherchieren seiner Datenobjekt-Instanzen, Suchen innerhalb von Datenobjekten nach Daten, oder Auswählen von Daten, die ihm präsentiert werden. Die Schnittstelle, durch welche ein Benutzer auf seine Daten zugreift, kann eingerichtet sein, Zugang auf mehr als eine Weise zu erlauben. Wie beschrieben worden ist, kann die Benutzerschnittstelle 213 gemäß den jeweiligen Anforderungen des mit dem Benutzer verknüpften Stakeholders eingerichtet sein.
  • Aktionen sind in der Datenbank 203 als Prozessdefinitionen definiert, wobei jede Aktion zur Ausführung auf einem oder mehreren Datenobjekten bereitgestellt ist. Ein Beispiel des logischen Dateninhalts einer Prozessdefinition 800, die eine Aktion definiert, ist in 8 gezeigt. Die Prozessdefinition kann Informationen über die Aktion 801 (z.B. ihren Namen und andere Parameter) und prozessuale Daten 803 enthalten, die die Aktion selbst definieren - z.B. Instruktionen, die die durch das Computersystem auszuführende Verarbeitung definieren, z.B. Modifizieren, Erzeugen oder Löschen einer Datenobjekt-Instanz, einem Benutzer ein Formular Präsentieren und Erzwingen der Eingabe von notwendigen Informationen etc. Solche prozessualen Daten können jede Form haben, einschließlich z.B. Daten zur Interpretation auf einem Prozessor des Servers oder Clients in eine Web-Applikation zur Präsentation an der Benutzerschnittstelle, Datenbank-Operationen, oder jede Art von Programmcode, der für die Ausführung auf einem Prozessor des Servers oder des Benutzer-Endgeräts geeignet ist.
  • Über die sequentielle Auswahl von Aktionen durch Benutzer des Systems auf die hierin beschriebene Weise können Arbeitsabläufe ausgeführt werden, in welchen jeder Schritt durch eine oder mehrere Aktionen repräsentiert ist. Zum Beispiel kann in dem nachfolgend mit Bezug auf 5 beschriebenen Krankenhaus-Beispiel eine Aktion die Vereinbarung eines Termins für einen Patienten über das Computersystem, die Durchführung einer Operation an einem Patienten (welche in dem Computersystem durch eine Aktion wiedergegeben werden kann, die eine Datenobjekt-Instanz, die die Patientenakte repräsentiert, aktualisiert) oder die Aktualisierung der Adressdetails eines Patienten sein. Jedes dieser Beispiele kann auf einer Patientenakte-Datenobjekt-Instanz durchgeführt werden.
  • Eine Prozessdefinition kann ferner Voraussetzungen 802 definieren, die Daten (z.B. Felder einer Datenobjekt-Instanz) spezifizieren, die in den Aktionen der Datenobjekte, auf denen die Aktion eingerichtet ist, zu arbeiten, zu verwenden sind. Zum Beispiel können in dem Beispiel des Aktualisierens der Adresse einer Patientenakte Voraussetzungen für diese Aktion bestimmte Daten von einer Patientenakte, auf der die Aktion arbeitet, in die Felder eines Formulars kopieren, die durch einen Benutzer, der die Adresse-Aktualisieren-Aktionen ausführt, vervollständigt werden müssen.
  • Arbeitsabläufe, die in dem Krankenhaus-Beispiel möglich sind, können zum Beispiel die Behandlung eines Patienten von der Einweisung bis zur Entlassung, das Buchen eines Termins für einen Patienten in einer ambulanten Klinik oder das Durchführen einer Röntgenuntersuchung sein. Ein Arbeitsablauf kann selbst viele kleinere Arbeitsabläufe umfassen: z.B. kann in einem Arbeitsablauf betreffend die Behandlung eines Patienten von der Einweisung zur Entlassung in einem Krankenaus eine Röntgenuntersuchung notwendig sein, deren Ausführung selbst einen Arbeitsablauf repräsentieren kann.
  • Die in der Datenbank definierten Aktionen repräsentieren Schritte in einem oder mehreren Arbeitsabläufen. Jedoch sind die Aktionen, anders als in konventionellen Systemen, in dem System nicht so verknüpft, dass sie einen Arbeitsablauf definieren: die Verknüpfung zwischen Aktionen wird durch die Stakeholder (z.B. ein als Stakeholder des Systems authentifizierter Benutzer), die einen Arbeitsablauf durchlaufen, durch das Auswählen einer am Computer-Endgerät präsentierten Aktion bereitgestellt. Durch das Sicherstellen, dass ein Stakeholder definiert ist, der jede Aktion, die einen Schritt eines Arbeitsablaufs repräsentiert, ausführen kann und dass diese Stakeholder mit den Datenobjekt-Instanzen, auf denen die Aktionen auszuführen sind, verknüpft sind, kann ein vollständiger Arbeitsablauf auf eine extrem flexible Weise erreicht werden. An jedem Punkt in einem Arbeitsablauf wird der nächste Schritt durch einen Stakeholder des Systems in dem Sinn bestimmt, dass jede dieser Aktionen, die diesem Stakeholder verfügbar sind, auf den Datenobjekt-Instanzen, mit denen sie verknüpft sind, ausgeführt werden können. Durch eine geeignete Definition der Daten, mit denen ein Stakeholder verknüpft ist, und den Aktionen, die durch diesen Stakeholder ausgeführt werden können, wird ein Satz möglicher Arbeitsabläufe in dem System erstellt. Diese Anordnung ermöglicht es dem System, komplexe Geschäftsprozesse in einem Unternehmen oder einer Organisation zu modellieren, die ausgebildete Mitarbeiter erfordern, die in der Lage sein können, eine Auswahl möglicher Entscheidungen innerhalb eines Arbeitsablaufs zu treffen. Das durch das Computersystem bereitgestellte Framework stellt nichtsdestotrotz sicher, dass nur bestimmte Mitarbeiter eine bestimmte Aktionen ausführen können, und dass eine solche Aktion in Übereinstimmung mit den Anforderungen der Prozessdefinition, die diese Aktion definiert (z.B. dass gewisse Daten bereitgestellt werden, dass gewisse Überprüfungen ausgeführt werden) ausgeführt werden müssen.
  • Ein Arbeitsablauf umfasst eine Abfolge von Aktionen. Jedoch definiert die Datenbank 203 nicht einen Arbeitsablauf als eine bestimmte Abfolge von Aktionen und die Prozessdefinitionen sind nicht so verknüpft, dass sie eine vorbestimmte Abfolge von Aktionen in der Datenbank definieren. Zum Beispiel kann das System keine Daten enthalten, die Aktionen zu einer Abfolge verknüpfen, oder anderweitig angeben, dass eine Aktion vor oder nach einer anderen ausgeführt werden muss. Die Arbeitsabläufe, die durch das System erzwungen werden, ergeben sich aus der bestimmten Systemstruktur und der Definition der Datenobjekte und Stakeholder-Objekte in für die durch das System modellierten Umgebung (z.B. ein Krankenhaus) und insbesondere für die Rollen in dieser Umgebung, die durch die Stakeholder (z.B. die Krankenhausmitarbeiter) repräsentiert werden, geeigneter Weise.
  • Die Arbeitsweise des Systems beim Ausführen eines Arbeitsablaufs wird nun exemplarisch mit Bezug auf 4, 5 und dem in 2 gezeigten System beschrieben werden.
  • Man betrachte den in 5 gezeigten Arbeitsablauf 500, der eine mögliche Abfolge von Aktionen repräsentiert, die beim Verwalten eines Patienten von der Einweisung bis zur Entlassung in einem Krankenaus ausgeführt werden. In diesem Beispiel enthält die Datenbank 203 Stakeholder-Objekte, die Krankenausmitarbeiter repräsentieren, die beim Ausführen von Arbeitsabläufen, die durch das System verwaltet werden sollen, eingebunden sind. Die Stakeholder-Objekte definieren zumindest einen Sachbearbeiter, einen Triage-Krankenpfleger, einen ER-Arzt, Radiologie-Assistenten, Radiologen, einen Facharzt und einen Gips-Fachmann. Es kann ein oder mehrere Mitglieder der Krankenhausmitarbeiter geben, die jeden dieser Stakeholder repräsentieren. Jedes Mitglied der Mitarbeiter kann durch eine bestimmte Instanz des entsprechenden Stakeholder-Objekts repräsentiert werden. Jedes Mitglied der Mitarbeiter kann durch das System als ein bestimmter Stakeholder mittels der Anmeldeinformationen erkannt werden, mit denen sie sich auf einem der Endgeräte 206-208 anmelden.
  • In diesem bestimmten Beispiel wird eine Person, die sich in einem Unfall verletzt hat, durch einen Sacharbeiter in die Notfallaufnahme eingewiesen. Das Stakeholder-Objekt in der Datenbank 203, welches einen Sachbearbeiter definiert, erlaubt es dem Sachbearbeiter, alle dem System in Datenbank 203 verfügbaren Patientenakten-Datenobjekt-Instanzen zu betrachten. Zum Beispiel kann der Sachbearbeiter mittels eines Desktop-Endgeräts die Patientenakten 501 nach dem Namen durchsuchen, um die Akte für die verletzte Person (nachfolgend der Patient) zu lokalisieren. Ein Beispiel der Benutzerschnittstelle 213 des Endgeräts, mittels dem die Suche durchgeführt wird, ist in 4 gezeigt. Der Sachbearbeiter gibt Suchparameter (z.B. den Namen der verletzten Person oder andere Informationsfelder der Patientenakte-Datenobjekte) in die Suchfelder 401 ein und der Arbeitsablauf-Manager 205 gibt in Antwort darauf eine Liste der Datenobjekt-Funde 402 aus. Typischerweise würde nur ein Teil der in jeder Patientenakte gehaltenen Informationen an der Benutzerschnittstelle angezeigt werden - z.B. lediglich der Name und das Geburtsdatum jedes gefundenen Patienten.
  • Der Sachbearbeiter kann anschließend die Patientenakte der verletzten Person (z.B. Akte 404 in 4) auswählen. Wenn die Auswahl ausgeführt wird, verarbeitet der Arbeitsablauf-Manager 205 das ausgewählte Patientenakte-Datenobjekt, um zu bestimmen, welche (wenn überhaupt) Aktionen auf dieser Datenobjekt-Instanz durch den Sachbearbeiter ausgeführt werden können. Alle Aktionen, die dem Sachbearbeiter zur Verfügung stehen, werden als Aktionen 403 in der Benutzerschnittstelle präsentiert. Würde der Sachbearbeiter mehr als eine Patientenakte auswählen, könnten dem Sachbearbeiter andere Aktionen präsentiert werden, wie z.B. „Patientenakten zusammenführen“, um es zu ermöglichen, dass doppelte Akten zusammengeführt werden, oder „Akten verknüpfen“, um die Mitglieder einer Familie im System zu verknüpfen. Wenn mehr als eine Akte ausgewählt wird, kann der Arbeitsablaufmanager eingerichtet sein, jene Aktionen anzuzeigen, die auf mehreren Akten arbeiten (wie in den Datenobjekten oder den Prozessdefinitionen spezifiziert werden kann) und die den angezeigten Datenobjekten-Instanzen gemeinsam sind. In anderen Beispielen kann der Arbeitsablauf-Manager eingerichtet sein, zusätzlich oder alternativ die Datenobjekt-Instanzen, die dem Benutzer präsentiert werden, zu verarbeiten, um zu bestimmen, welche (wenn überhaupt) Aktionen auf dieser Datenobjekt-Instanz durchgeführt werden können, vor oder unabhängig von der Auswahl einer bestimmten Datenobjekt-Instanz(en) durch den Benutzer. Dies kann für Arbeitsabläufe nützlich sein, in denen eine Aktion auf einer Anzahl von Datenobjekt-Instanzen zur selben Zeit durchgeführt wird (z.B. alle Datenobjekt-Instanzen, die von einer Suche ausgegeben werden oder die an der Benutzerschnittstelle präsentiert werden).
  • In diesem Beispiel wird dem Sachbearbeiter eine Aktion „Patient einweisen“ präsentiert. Durch Auswahl dieser Aktion 502 werden dem Sachbearbeiter ein Einweisungsformular präsentiert, welches in der an der Datenbank für diese Aktion gehaltenen Prozessdefinition definiert ist. Das Einweisungsformular kann erfordern, dass der Sachbearbeiter Informationen eingibt, wie z.B. eine Beschreibung, welcher Teil des Körpers verletzt ist, sein Schmerzniveau, ob der Patient bei Bewusstsein ist, etc. In diesem Fall weist der Patient einen verletzten Arm und Auge auf. Das Einweisungsformular würde in den prozessualen Daten für die „Patient einweisen“-Aktion definiert sein. Die prozessualen Daten können z.B. das Aussehen des Formulars, seine Datenfelder, welche Felder zwingend und welche optional sind, das erforderliche Datenformat der Daten für jedes Feld, Routinen zum Verarbeiten der in das Formular eingegebenen Daten etc. definieren. Abhängig von der Art der Aktion kann jede Verarbeitung, die mit der Aktion verknüpft und in den prozessualen Daten definiert ist, auf dem Prozessor des Servers und/oder des Benutzer-Endgeräts ausgeführt werden. Typischerweise kann die Verarbeitung, die die Präsentation und Eingabe von Daten betrifft, am Endgerät durchgeführt werden und jegliche substantielle Verarbeitung, die Daten betrifft, die in der Datenbank 203 gehalten werden, kann am Server durchgeführt werden. Prozessuale Daten, die in einer Prozessdefinition gehalten werden, können Routinen oder Code zur Ausführung am Endgerät und/oder Server enthalten.
  • Die Prozessdefinition kann ferner einen Satz Voraussetzungen enthalten, die Daten definieren, die von der entsprechenden Aktion benötigt werden. Die Voraussetzungen spezifizieren dem Arbeitsablauf-Manager, welche Daten der ausgewählten Datenobjekt(e) verwendet werden sollen. Wenn z.B. der Sachbearbeiter die „Patient einweisen“-Aktion auswählt, kopiert der Arbeitsablauf-Manager automatisch Datenobjekte, die in den Voraussetzungen dieser Aktion definiert sind, von der ausgewählten Patienten-Datenakte in eine Einweisungsakte-Datenobjekt-Instanz. In diesem Beispiel können die Felder den Namen, die Gesundheitssystem-Nummer, das Geburtsdatum und die Adresse des Patienten enthalten, wobei der Arbeitsablauf-Manager das Formular mit diesen Daten gemäß den Voraussetzungen der Aktion füllt. Die „Patient einweisen“-Aktion erzeugt eine neue Instanz einer Einweisungsakte-Datenobjekt-Instanz, die mit der Patientenakte-Datenobjekt-Instanz verknüpft ist. Sobald die Aktion abgeschlossen ist und die Einweisungsakte erstellt worden ist, ist die Rolle des Sachbearbeiters bei der Einweisung des Patienten beendet.
  • Konventionelle Arbeitsablauf-Management-System ermöglichen es nicht, dass ein Benutzer seine Daten sucht oder recherchiert, und auf der Basis der betrachteten oder ausgewählten Daten dem Benutzer Aktionen zu präsentieren, die durch den Benutzer auf diesen Daten ausgeführt werden können. In konventionellen System können Aktionen nur durch Auswahl eines Falls ausgeführt werden, der einem Benutzer in Übereinstimmung einem strengen Arbeitsablauf, der im System vorbestimmt ist, zugeführt worden ist. Der Benutzer würde dann eine vorbestimmte Aktion auf diesem Fall ausführen, ebenfalls gemäß dem vorbestimmten Arbeitsablauf.
  • Ein zweiter Stakeholder in dem System ist ein Triage-Krankenpfleger. Der Triage-Krankenpfleger-Stakeholder ist mit Einweisungsakten verknüpft. Wenn ein Triage-Krankenpfleger-Benutzer Einweisungsakten an einer Benutzerschnittstelle 213 eines Endgeräts durchsucht oder betrachtet, wird dem Triage-Krankenpfleger die Aktion „Patient beurteilen“ bei Auswahl eines Patienten, der noch nicht beurteilt worden ist, bereitgestellt. Dies wird erreicht, da das durch den Arbeitsablauf-Manager verarbeitete Einweisungsakte-Datenobjekt spezifiziert, dass ein Triage-Krankenpfleger die „Patient beurteilen“-Aktion auf dem Datenobjekt erst ausführen kann, wenn die Objektinformationen des Datenobjekts angeben, dass der Patient noch nicht beurteilt worden ist. Mit anderen Worten wird die Aktion nur präsentiert, wenn ein in dem Datenobjekt ausgewählter Kontext erfüllt ist.
  • Der Triage-Krankenpfleger wählt die Einweisungsakte für den verletzten Patienten, der durch den Sachbearbeiter eingewiesen ist, aus, und führt die „Patient beurteilen“-Aktion 503 aus. Der Triage-Krankenpfleger beurteilt anschließend den Patienten, eventuell unterstützt durch in Übereinstimmung mit dem Prozess am Endgerät präsentierte Informationen, und bestimmt die Schwere der Verletzungen. Der Triage-Krankenpfleger kann ebenso Zugang (über das Stakeholder-Objekt mit dem der Triage-Krankenpfleger als ein Systembenutzer verknüpft ist) auf das Patientenakte-Datenobjekt haben. In diesem Beispiel werden die Verletzungen durch den Triage-Krankenpfleger nicht als lebensbedrohlich betrachtet, sodass der Krankenpfleger der Einweisungsakte relevante Notizen hinzufügt und eine mittlere Prioritätswarteschlange für die Behandlung des Patienten in der Notaufnahme auswählt. Man beachte, dass der Triage-Krankenpfleger die „Patient beurteilen“-Aktionen auf dem Einweisungsakte-Datenobjekt nicht als Ergebnis eines vorbestimmten Arbeitsablaufs ausführt, der in der Datenbank definiert und durch den Arbeitsablauf-Manager ausgeführt wird. Der Triage-Krankenpfleger führt die „Patient beurteilen“-Aktion auf dem Einweisungsakte-Datenobjekt aus, da der Krankenpfleger, die ihm oder ihr zugänglichen Instanzen betrachtet, entweder durch Recherchieren oder Suchen, und die Aktion, die ihm oder ihr durch den Arbeitsablauf-Manager zur Verfügung stehen, auswählt. Somit stellen die Datenbank und der Arbeitsablauf-Manager sicher, dass jeder Benutzer nur die Aktionen ausführen kann, die ihm in Übereinstimmung mit den entsprechenden Prozessdefinitionen für diese Aktionen und dem Kontext, in dem der Benutzer seine Daten betrachtet, zur Verfügung stehen. Auf diese Weise beschränkt das System Benutzer darauf, nur erlaubte Arbeitsabläufe auszuführen, ohne dass es erforderlich ist, diese Arbeitsabläufe im Voraus an der Datenbank zu definieren.
  • Ein ER-Arzt untersucht den Patienten als nächstes, z.B. wenn die Einweisungsakte des Patienten das obere Ende der an der Benutzerschnittstelle des Endgeräts des Arztes angezeigte Warteschlange erreicht. ER-Ärzte sind als Stakeholder mit Einweisungsakte- und Patientenakte-Datenobjekten verknüpft. Bei der Auswahl der Einweisungsakte des Patienten, wird dem ER-Arzt die Aktion „Patient untersuchen“ bereitgestellt, die der Arzt auswählt 504. Dies stellt ein Formular bereit, in welches der Arzt Notizen machen kann und welchen dem Arzt ebenfalls erlaubt, die medizinische Akte des Patienten (die in der Objektinformation der Patientenakte der verletzten Person gehalten wird) und die durch den Triage-Krankenpfleger gemachten Notizen zu betrachtet. Da der ER-Arzt jedoch ein sachkundiger Mitarbeiter ist, wird er nicht durch einen für die „Patient untersuchen“-Aktion definierten Prozess geführt. Die Aktion repräsentiert den Entscheidungspunkt, an dem der Arzt die an dem Patienten durchzuführenden Untersuchungen frei bestimmt und gibt dem Arzt die Möglichkeit, eine Reihe von Untersuchungen über das Arbeitsablauf-Management-System anzuordnen (z.B. können die prozessualen Daten für die Aktion eine Such-Schnittstelle an dem Endgerät bereitstellen, über die der Arzt Untersuchungen, Tests, Scans und andere Verfahren anfordern und Notizen in der medizinischen Akte des Patienten machen kann).
  • Der Arzt entscheidet, dass eine Röntgenuntersuchung des Arms des Patienten erforderlich ist, und dass ein Augenarzt einen Blick auf das Auge des Patienten werfen soll. Die Auswahl der entsprechenden Optionen, die durch die „Patient untersuchen“-Aktion bereitgestellt werden, führt dazu, dass die Objektinformation der Einweisungsakte so verändert wird, dass sie die Vermerke „Röntgenuntersuchung erforderlich“ und „Augenarzt erforderlich“ enthält. Der Radiologie-Assistent-Stakeholder kann eingerichtet ist, dass ihm für entsprechend vermerkte Einweisungsakten, die durch einen Radiologie-Assistent-Benutzer betrachtet oder ausgewählt werden, die Aktion „Röntgenaufnahme durchführen“ bereitgestellt wird. Der Augenarzt-Stakeholder kann eingerichtet sein, dass ihm für entsprechend vermerkte Einweisungsakten, die durch einen Augenarzt-Benutzer betrachtet oder ausgewählt werden, die Aktion „Augenuntersuchung“ bereitgestellt wird.
  • Die Benutzerschnittstelle 213 eines Endgeräts kann in Abhängigkeit des Stakeholders, mit dem der Benutzer des Endgeräts verknüpft ist, eingerichtet sein. Zum Beispiel kann das Endgerät, wenn sich ein Radiologie-Assistent in ein Endgerät mit seinen Anmeldeinformationen einloggt, eingerichtet sein, eine Liste mit Einweisungsakten anzuzeigen, die den Vermerk „Röntgenuntersuchung erforderlich“ enthalten. Um ein zweites Beispiel zu geben, kann das Endgerät, wenn sich ein Augenarzt in ein Endgerät mit seinen Anmeldeinformationen einloggt, eingerichtet sein, eine Liste mit Einweisungsakten anzuzeigen, die den Vermerk „Augenarzt erforderlich“ enthalten. Dies kann durch die Verwendung von im System gehaltenen Benutzerprofilen (z.B. in der Datenbank 203) für die Benutzer des Systems, die die Stakeholder-Objekte, mit denen jeder Benutzer verknüpft ist, erreicht werden. Dadurch, dass sich ein Benutzer des Systems selbst als ein bestimmter Benutzer authentifizieren muss (z.B. durch Einloggen mit seinen Anmeldeinformationen), kann das System das passende Benutzerprofil und somit die mit den verknüpften Stakeholder(n) verknüpfte Benutzerschnittstelle laden. Die entsprechende Konfiguration der Benutzerschnittstelle für einen Stakeholder kann in Schnittstellen-Konfigurationsdaten in dem entsprechenden Stakeholder-Objekt gespeichert sein.
  • Der Radiologie-Assistent wählt die „Röntgenaufnahme durchführen“-Aktion 505 unter Berücksichtigung der Einweisungsakte des Patienten aus, was dazu führt, dass ein Röntgenuntersuchung-Datenobjekt erzeugt wird, auf dem die „Röntgenaufnahme durchführen“-Aktion ausgeführt wird. Das Röntgenuntersuchung-Datenobjekt ist mit der Einweisungsakte des Patienten verknüpft. Das entstandene Röntgenbild ist in dem Röntgenuntersuchung-Datenobjekt gespeichert. Ein Radiologen-Stakeholder ist mit allen Röntgenuntersuchung-Datenobjekten verknüpft und kann somit das Röntgenuntersuchung-Datenobjekt, welches mit der Einweisungsakte des Patienten verknüpft ist, betrachten. Bei der Auswahl des Röntgenuntersuchung-Datenobjekts wird dem Radiologen durch den auf dem Röntgenuntersuchung-Datenobjekt arbeitenden Arbeitsablauf-Manager die Aktion „Röntgenaufnahme prüfen“ präsentiert. Der Radiologe wählt diese Aktion aus 506 und gibt sein Ergebnis, dass der Arm des Patienten gebrochen ist, in ein durch sein Endgerät in Übereinstimmung mit der Definition der Aktion in ihrer entsprechenden Prozessdefinition präsentiertes Formular ein.
  • Der Augenarzt kann entsprechend in der Lage sein, die „Augenuntersuchung“-Aktion 507 bei der Auswahl der Einweisungsakte des Patienten auszuführen. Der Augenarzt gibt sein Ergebnis, dass das Auge nur eine leichte Verletzung erfahren hat, die eine spezielle Behandlung benötigt, in ein durch sein Endgerät in Übereinstimmung mit der Definition der Aktion in ihrer entsprechenden Prozessdefinition präsentiertes Formular ein.
  • Wenn jede Untersuchung beendet ist, kann die entsprechende Aktion die Einweisungsakte so vermerken, dass es dem ER-Arzt erlaubt ist, zu bestimmen, wenn die Untersuchungen abgeschlossen sind. An diesem Punkt führt der ER-Arzt den Arbeitsablauf durch Auswählen der „Behandlungsentscheidung“-Aktion 508 auf der Einweisungsakte des Patienten fort. Der Arzt kann durch Suchen an seinem Endgerät nach jenen Akten, deren Untersuchungen mittels eines entsprechenden Vermerks (z.B. einer Flagge oder jeder anderen Art von Hinweis) als abgeschlossen markiert sind, bestimmen, wenn Untersuchungen abgeschlossen worden sind. Der Arzt kann die Notizen des Augenarztes und das Röntgenbild sehen, das mit der Einweisungsakte in dem Röntgenuntersuchung-Datenobjekt verknüpft ist, betrachten. Der Arzt bestimmt, dass der gebrochene Arm in einen Gips gelegt werden soll und bestellt somit einen Vorderarm-Gips aus einer Liste von Behandlungen, die durch die „Behandlungsentscheidung“-Aktion zur Verfügung gestellt werden. Dies führt dazu, dass die Einweisungsakte so verändert wird, dass sie anzeigt, dass ein Gips erforderlich ist.
  • Ein Gips-Fachmann verwendet ein Endgerät, welches eingerichtet ist, alle Einweisungsakten zu präsentieren, die damit vermerkt wurden, dass ein Gips notwendig ist. Sobald der Patient das obere Ende seiner Arbeits-Warteschlange erreicht, die durch die Benutzerschnittstelle an seinem Endgerät bereitgestellt wird, wählt der Gips-Fachmann diesen Patienten aus und ihm wird die Option bereitgestellt, die Aktion „Gips herstellen“ 509 auszuführen. Diese Aktion präsentiert dem Gips-Fachmann die durch den Arzt in der Einweisungsakte gemachten Notizen, die die Art des erforderlichen Gipses bezeichnen. Der Gips-Fachmann stellt den Gips her und markiert die Aufgabe in der Aktion als abgeschlossen.
  • Der Sachbearbeiter kann den Patienten schließlich entlassen, sobald alle durch den Arzt angeforderten Behandlungen abgeschlossen sind. Dies wird dadurch erreicht, dass das Einweisungsakte-Datenobjekt eingerichtet ist, den Arbeitsablauf-Manager zu veranlassen, einem Sachbearbeiter die Aktion „Patient entlassen“ 510 nur dann zu präsentieren, wenn der Sachbearbeiter die Einweisungsakte eines Patienten, für den alle der angeforderten Behandlungen als abgeschlossen markiert sind, auswählt.
  • Ein solcher komplexer Arbeitsablauf kann nicht in konventionellen System erreicht werden, da die Anzahl möglicher Untersuchungen und Behandlungen enorm ist und es nicht realistisch wäre, strenge Prozesse für jede mögliche Kombination von Untersuchungen und Behandlungen, die bei einem Patienten erforderlich sein könnten, zu spezifizieren. Da darüber hinaus das Computersystem Aktionen einem Benutzer (a) gemäß den in dem System für Stakeholder, zu denen der Benutzer gehört, definierten Möglichkeiten und (b) dem durch die Daten, auf die dieser Stakeholder Zugang hat, zur Verfügung stellt, stellt das System eine Architektur bereit, die sicherstellt, dass Arbeitsabläufe sachgemäß ausgeführt werden.
  • Um z.B. zu ermöglichen, dass ein bestimmter Arbeitsablauf ausgeführt wird, können das Stakeholder- und das Datenobjekt so eingerichtet sein, dass für jeden Schritt des Arbeitsablaufs zumindest ein Stakeholder definiert ist, der mit dem Datenobjekt verknüpft ist, auf dem dieser Schritt auszuführen ist, und dem es erlaubt ist, die diesen Schritt repräsentierende Aktion auszuwählen. Um Stakeholder daran zu hindern, bestimmte Aktionen auf ihren Daten auszuführen, können ihre Datenobjekte so eingerichtet sein, dass sie nicht spezifizieren, dass der Stakeholder diese Aktionen ausführen kann. Um zu verhindern, dass ein Stakeholder auf bestimmte Datenobjekte oder Instanzen eines Datenobjekts zugreift, kann der Stakeholder so eingerichtet sein, dass diese Datenobjekte nicht als Objekte spezifiziert sind, auf die der Stakeholder zugreifen kann.
  • Ein Beispiel der Arbeitsweise des in 2 gezeigten Systems, wenn ein Benutzer eine Aktion innerhalb eines Arbeitsablaufs ausführt, wird nun mit Bezug auf 9 beschrieben werden. Bei 901 loggt sich der Benutzer in das System an einem Benutzer-Endgerät ein, z.B. durch Eingabe seiner Anmeldeinformationen in eine Benutzerschnittstelle 213, die als Web-Applikation bereitgestellt ist. Die Identität des Benutzers kann an dem Benutzer-Endgerät 206 oder dem Server 201 überprüft werden. In diesem Beispiel hat der Arbeitsablauf-Manager Zugriff auf ein für jeden Benutzer gespeichertes Profil, welches dem System den Stakeholder angibt, den der Benutzer repräsentiert. Wenn sich der Benutzer in das System einloggt, weiß der Arbeitsablauf daher, welche(r) Stakeholder der Benutzer repräsentiert und somit welche Stakeholder-Objekt(e) die Daten bezeichnen, auf die der Benutzer zugreifen darf.
  • In Antwort darauf, dass sich der Benutzer in das System einloggt, stellt der Arbeitsablauf-Manager, der auf dem Prozessor 202 läuft, bei 902 dem Benutzer-Endgerät in dem Profil des Benutzers oder dem verknüpften Stakeholder-Objekt gespeicherte Daten bereit, die definieren, wie sich die Benutzerschnittstelle 2013 an dem Endgerät selbst für diesen Benutzer einrichten soll (z.B. das Aussehen der Benutzerschnittstelle, welche Suchoptionen präsentiert werden sollen, und ob die Schnittstelle standardmäßig versuchen soll, Daten von den Datenobjekt-Instanzen, die mit dem durch den Benutzer repräsentierten Stakeholder verknüpft sind, laden soll).
  • Bei 903 übermittelt der Benutzer eine Datenanfrage an den Arbeitsablauf-Manager mittels der Benutzerschnittstelle. Zum Beispiel: der Benutzer kann seine Daten durchsuchen, wobei die Benutzerschnittstelle eingerichtet ist, Informationen von dem Arbeitsablauf-Manager anzufragen, die die durch den Benutzer ausgeführte Recherche erfüllen; oder der Benutzer kann eine Suche ausführen, wobei die in die Benutzerschnittstelle eingegebene Suchanfrage an den Arbeitsablauf-Manager weitergegeben wird, der die Suche innerhalb der Datenausführt, die mit dem Stakeholder verknüpft sind, der durch den Benutzer repräsentiert wird. Der Arbeitsablauf-Manager erfüllt die von der Benutzerschnittstelle (904) empfangenen Datenanfragen, indem er die angefragten Daten von den Datenobjekten des Stakeholders, der durch den Benutzer repräsentiert wird, gemäß den verknüpften Datenobjekten, die in dem entsprechenden Stakeholder-Objekt definiert sind (z.B. 602 in Stakeholder-Objekt 600 in 6), zurück gibt. Die Benutzerschnittstelle präsentiert die zurück gegebenen Daten an der Benutzerschnittstelle. Der Arbeitsablauf-Manager kann eingerichtet sein, Daten zurückzugeben, die auf die Datenobjekte des Stakeholders gemäß einer geeigneten Technik beschränkt sind, z.B. mittels einer geeigneten Abfrage in der Datenbank 203, die die Datenobjekte hält (z.B. kann die Abfrage eine Liste der Datenobjekte/Instanzen enthalten, die durch das Stakeholder-Objekt bezeichnet sind).
  • Das Recherchieren von Daten kann beinhalten, dass die Benutzerschnittstelle standardmäßig Daten lädt, wenn sich der Benutzer bei einem Endgerät anmeldet (z.B. in Übereinstimmung mit einem Datum, welches in dem Profil des Benutzers oder in den verknüpften Stakeholder-Objekten gespeichert ist).
  • Schritte 903 und 904 in dem Flussdiagramm-Beispiel repräsentieren einen Stakeholder (der durch den Benutzer repräsentiert wird), der auf seine verknüpften Datenobjekte zugreift. Ein Stakeholder kann alternativ oder zusätzlich auf seine Datenobjekte durch Auswählen von Daten, die ihm präsentiert werden, zugreifen (z.B. als das Ergebnis einer Recherche oder einer Suche). Dies ist durch den Flussdiagramm-Schritt 905 repräsentiert.
  • Wenn ein Benutzer auf Daten an der Benutzerschnittstelle, entweder durch Recherche, Suche oder Auswählen von Daten, die an der Schnittstelle präsentiert werden, zugreift, gibt die Benutzerschnittstelle dem Arbeitsablauf-Manager an, auf welche Daten zugegriffen wird. Bei der Recherche oder Suche wird diese Information dem Arbeitsablauf-Manager automatisch bereitgestellt, um den Arbeitsablauf-Manager zu veranlassen, die passenden Daten zurückzugeben. Wenn der Benutzer Daten auswählt, die ihm an der Benutzerschnittstelle präsentiert werden, gibt die Schnittstelle dem Arbeitsablauf-Manger die Daten an, welche ausgewählt werden.
  • Bei 905 verarbeitet der Arbeitsablauf-Manger die Spezifikationen der Datenobjekte und/oder Instanzen, in denen die abgerufenen Daten gehalten werden (z.B. 702 in dem in 7 gezeigten Datenobjekt 700), um den Satz von Aktionen zu identifizieren, die auf diesen Datenobjekten ausgeführt werden können und die der durch den Benutzer repräsentierte Stakeholder ausführen darf. Eine solche Verarbeitung kann auf jede geeignete Weise durchgeführt werden. Zum Beispiel kann der Arbeitsablauf-Manager zunächst die in den abgerufenen Datenobjekten aufgelisteten Aktionen filtern, um einen ersten Satz Aktionen zu ermitteln, die der Stakeholder ausführen darf (906a); der Arbeitsablauf-Manger kann anschließend den ersten Satz an Aktionen filtern, um jene Aktionen zu ermitteln, die allen abgerufenen Datenobjekten gemeinsam sind (906b) und somit einen zweiten Satz Aktionen erzeugen (dieser Schritt kann nicht erforderlich sein, wenn nur ein Datenobjekt ausgewählt ist). Die abgerufenen Datenobjekte können ferner einen Kontext spezifizieren (z.B. einen Satz Kriterien wie in 702 gezeigt), die erfüllt sein müssen, damit die Aktion dem Benutzer präsentiert wird. Der Arbeitsablauf-Manager würde deshalb anschließend den zweiten Satz an Aktionen filtern, um einen endgültigen Satz an Aktionen zu ermitteln (906c), dessen Kontext durch vorbestimmte Kriterien der Datenobjekte erfüllt ist (obwohl typischerweise nicht notwendigerweise auf die abgerufenen Datenobjekte beschränkt), um ihn dem Benutzer an der Benutzerschnittstelle in Antwort auf den Zugriff der Daten durch den Benutzer zu präsentierten. Zum Beispiel können in dem vorstehend beschriebenen Krankenhaus-Beispiel die Patienten-Datenobjekte zusätzlich eine „Patiententod aufnehmen“-Aktion spezifizieren, die jeder Arzt (der Stakeholder) ausführen kann, die dem Arzt jedoch nur zur Verfügung steht, wenn eine Patientenakte ausgewählt wird, deren Kriterium „IstTot“ auf wahr gesetzt ist.
  • Bei 906 präsentiert die Benutzerschnittstelle dem Benutzer den endgültigen Satz von Aktionen, der durch den Arbeitsablauf-Manager bestimmt worden ist. Schritte 903-906 können wiederholt werden, wenn die von dem Benutzer abgerufenen Daten sich ändern, um so sicherzustellen, dass der Benutzer stets mit einem passenden Satz von Aktionen gemäß den durch den Benutzer recherchierten, gesuchten, ausgewählten oder anderweitig abgerufenen Daten präsentiert wird. Bei 907 wählt der Benutzer eine Aktion aus, die an der Benutzerschnittstelle präsentiert ist und die den Arbeitsablauf-Manager veranlasst, auf die Prozessdefinition, die für die Aktion in der Datenbank gespeichert ist, zuzugreifen und die Aktion gemäß den prozessualen Daten, die die Aktion definieren, auszuführen. Die prozessualen Daten können z.B. eines oder mehrere der folgenden definieren: ein Formular, welches der Benutzer zu vervollständigen hat, ein Satz von Überprüfungen, die auf durch den Benutzer eingegebenen Daten auszuführen sind; einen Prozess zum Erzeugen einer neuen Instanz eines Datenobjekts; einen Prozess zum Modifizieren eines Datenobjekts. Zumindest ein Teil der prozessualen Daten kann an dem Benutzer-Endgerät ausgeführt werden (z.B. im Fall, dass ein Formular dem Benutzer zur Vervollständigung präsentiert wird). Der Arbeitsablauf-Manager kann eingerichtet sein, eine Aktion mit Daten der in der Datenbank gehaltenen Datenobjekten gemäß Voraussetzungen, die an der Prozessdefinition für die Aktion vorhanden sind, zu starten.
  • Auf diese Weise werden die Benutzer des Systems in die Lage versetzt, entsprechende Arbeitsabläufe zu befolgen, ohne zu stark durch vorbestimmte Abfolgen von Aktionen beschränkt zu sein.
  • Entwerfen von Arbeitsabläufen
  • Um es dem Arbeitsablauf-Manager 205 zu ermöglichen, für ein Geschäftsszenario geeignete Arbeitsabläufe zu erzwingen, ist es notwendig, in der Datenbank 203 passende Aktionen für jeden Stakeholder und optional Regeln, wie diese Aktionen den Stakeholdern präsentiert werden sollen, zu definieren. Solche Definitionen können zum Entwurfszeitpunkt vor der Ausführung von Arbeitsabläufen durch den Arbeitsablauf-Manager gemacht werden.
  • Ein Computersystem kann bereitgestellt sein, um es einen Entwerfer zu ermöglichen, die notwendigen Datenstrukturen in der Datenbank 203 zu erzeugen. Ein geeignetes Computersystem 101 ist in 1 gezeigt, auf dem die Arbeitsablauf-Entwurfs-Software 102 läuft. Das Computersystem umfasst einen Prozessor 103 und einen Speicher 104 zur Unterstützung der Arbeitsablauf-Entwurfs-Software. Eine Benutzerschnittstelle 110 der Software 102 kann auf einem Anzeigebildschirm 106 bereitgestellt sein, um es einem Entwerfer zu ermöglichen, mit dem Computersystem zu interagieren. Die Benutzerschnittstelle kann durch den Prozessor 103 gemäß dem Softwarecode, der einen Arbeitsablauf-Entwurf repräsentiert, erzeugt werden. Der Entwerfer kann dem Computersystem mittels einer Eingabevorrichtung 105, die z.B. eines oder mehrere einer Tastatur, einer Maus und einer Touchscreen-Schnittstelle der Anzeige 106 sein kann, eine Eingabe bereitstellen. In einer Ausführungsform repräsentieren das Computersystem 101, die Bildschirmanzeige 106 und die Eingabevorrichtung(en) 105 eine Arbeitsstation, die zum Entwurf von Arbeitsabläufen zur Verwendung im Arbeitsablauf-Manager 205 eingerichtet ist.
  • Die Arbeitsablauf-Datenbank 203, an der entsprechende Datenstrukturen für das, ist dem Arbeitsablauf-Entwerfer 102 zugänglich. In 1 ist die Datenbank 203 schematisch gezeigt und kann an jedem dem Computersystem 101 zugänglichen Ort bereitgestellt sein (z.B. an einem Datenspeicher, der über ein Netzwerk oder das Internet zugänglich ist, an einem Datenspeicher, der am Ort des Computersystems bereitgestellt ist, etc.).
  • Die Datenbank 203 kann die in 3 veranschaulichte und nachstehend beschriebene Struktur aufweisen und kann eine oder mehrere der in 6 bis 8 und vorstehend beschriebenen Datenstrukturen umfassen.
  • Der in 1 gezeigte Arbeitsablauf-Entwerfer ermöglicht es einem Entwerfer (ein Benutzer der Arbeitsablauf-Entwurfs-Software), Stakeholder-Objekte, Datenobjekte und Aktionen zu definieren, die den realen Geschäftsprozessen entsprechen, die die Arbeitsabläufe repräsentieren sollen. Damit es, wie in 6 bis 8 gezeigt, mehr als lediglich leere Datenstrukturen sind, müssen die Eigenschaften der Stakeholder-Objekte, Datenobjekte und Aktionen sorgfältig definiert werden, um so Stakeholder mit ihren Datenobjekten (oder deren Instanzen) und Aktionen in der vorstehend beschriebenen Weise zu verknüpfen. Eine Weise, die Eigenschaften dieser Datenstrukturen zu definieren, ist es, eine Entwurfsschnittstelle bereitzustellen, die es einem Entwerfer ermöglicht, die Eigenschaften der Datenstrukturen durch Eingabe von Daten gemäß einer bestimmten vorbestimmten Syntax einzugeben, z.B. Ausdrücke die durch den Arbeitsablauf-Manager 205 interpretiert werden können.
  • Eine derartige Herangehensweise erfordert es aber, dass der Entwerfer sowohl die technischen Anforderungen der Syntax versteht, als auch die Arbeitsabläufe, die durch den Arbeitsablauf-Manager erzwungen werden sollen, sorgfältig ausarbeitet. Dies kann nichttechnischen Mitarbeitern, die nicht darin erfahren sind, technischen Code gemäß einer strikten Syntax zu schreiben, vor Schwierigkeiten stellen. Eine verbesserte Herangehensweise wird nun mit Bezug auf einen in 10 gezeigten exemplarischen Arbeitsablauf beschrieben werden.
  • Die in 1 gezeigte Benutzerschnittstelle 110 ist eingerichtet, um es dem Entwerfer zu ermöglichen, einen Satz mit natürlicher Sprache 111, der eine Aktion ausdrückt, die auf einem bestimmten Datenobjekt-Typ ausgeführt werden kann (Schritt 1001 in 10). Der Satz mit natürlicher Sprache enthält zumindest ein Verb 107, welches angibt, was zu tun ist, und ein Substantiv, welches den Einheitentyp angibt, auf dem die Aktion ausgeführt werden soll. In dem Kontext des vorstehenden Krankenhaus-Beispiels kann der Entwerfer z.B. (unter Verwendung der Eingabevorrichtung(en) 105) „eine Röntgenaufnahme buchen“ eingeben. Ein „Verbinder“-Element 108 kann in dem Satz zwischen dem Verb und dem Substantiv vorhanden sein, welches z.B. ein Artikel oder eine Präposition in der englischen Sprache sein kann. Der Verbinder kann durch den Arbeitsablauf-Entwerfer ignoriert werden, es kann jedoch hilfreich sein, dem Entwerfer zu erlauben, einen solchen Verbinder einzugeben, da dies dem Entwerfer erlaubt, einen natürlichen Satz einzugeben, dessen Bedeutung ihm klar ist. Es kann hilfreich sein, dem Entwerfer in der Benutzerschnittstelle anzugeben, dass der eingegebene Satz mit natürlicher Sprache in der Form Verb-Verbinder-Substantiv eingegeben werden sollen (z.B. durch entsprechende Kennzeichnung der Felder 107-109, oder indem dem Entwerfer Instruktionen bereitgestellt werden).
  • Der Arbeitsablauf-Entwerfer analysiert den Satz mit natürlicher Sprache, um so das Verb und das Substantiv in dem Satz zu identifizieren (1002 in 10). In einigen Beispielen kann dies dadurch erreicht werden, dass die Benutzerschnittstelle eingerichtet ist, getrennte Felder für das Verb 107 und das Substantiv 109 bereitzustellen. Dies minimiert die durch den Arbeitsablauf-Entwerfer 102 geforderte Analyse des Satzes, um zu bestimmen, welche Wörter des Satzes 111 das Verb und das Substantiv sind. Ferner kann die Verwendung solcher Felder hilfreich beim Führen des Entwerfers beim Eingeben eines geeigneten Satzes der Form Verb-Verbinder-Substantiv sein. In anderen Beispielen kann die Benutzerschnittstelle ein einzelnes Feld bereitstellten, in das der Satz durch den Entwerfer eingegeben wird, wobei der Arbeitsablauf-Entwerfer eingerichtet ist, zu bestimmen, welches Wort (Wörter) das Substantiv repräsentiert. Eine solche Verarbeitung kann die Art der Wörter über eine oder mehrere ihrer Positionen in dem Satz, durch die Verwendung von Wörterbüchern von Verben und/oder Substantiven, und, indem der Verbinder identifiziert wird und, unterstellt, dass der Verbinder das Verb und das Substantiv trennt, unter Verwendung dieses Wissens, um das Verb und Substantiv-Teile des Satzes zu identifizieren, bestimmen. Geeignete Algorithmen zur Durchführen einer solchen Bearbeitung sind aus dem Feld der Verarbeitung natürlicher Sprache bekannt.
  • Der Arbeitsablauf-Entwerfer ist eingerichtet, zu überprüfen, ob ein Datenobjekt in der Arbeitsablauf-Datenbank 203 für das Substantiv existiert (1003 in 10). Dies kann durch Überprüfung auf ein Datenobjekt, welches mit dem Substantiv verknüpft ist, erreicht werden - z.B. durch Suche nach einem Datenobjekt, welches das Substantiv als seinen Namen, Titel oder andere Bezeichnung aufweist, oder welches mit diesem Substantiv markiert ist. Es kann nützlich sein, vorzusehen, dass Datenobjekt mit mehreren Substantiven als Markierungen vorgesehen werden, sodass es ermöglicht wird, ein Datenobjekt mit mehr als einem Substantiv zu verknüpfen. Dies kann hilfreich sein, wo mehrere Substantive auf dieselbe Einheit verweisen - z.B. kann ein Arzt auch als Mediziner bezeichnet werden; ein CAT-Scan kann auch als CT-Scan bezeichnet werden.
  • Jeder geeignete Suchalgorithmus kann durch den Arbeitsablauf-Entwerfer verwendet werden, um nach Datenobjekten, die mit dem Substantiv in der Arbeitsablauf-Datenbank verknüpft sind, zu suchen.
  • Wenn ein mit dem Substantiv verknüpftes Datenobjekt nicht bereits in der Arbeitsablauf-Datenbank vorhanden ist, ist der Arbeitsablauf-Entwerfer eingerichtet, automatisch ein Datenobjekt, welches mit dem Substantiv in der Arbeitsablauf-Datenbank 203 verknüpft ist, zu erzeugen (1004 in 10). Das Datenobjekt würde vorzugsweise den Namen des Substantivs oder einem von dem Substantiv abgeleiteten Namen annehmen. Das Datenobjekt kann mit dem Namen markiert werden, um so das Substantiv mit dem Datenobjekt zu verknüpfen.
  • Das neue Datenobjekt kann basierend auf einem vorbestimmten generischen Datenobjekt gespeichert werden - z.B. kann ein Standard-Datenobjekt mit vorbestimmten Eigenschaften dem Arbeitsablauf-Entwerfer zur Verfügung stehen (z.B. im Arbeitsspeicher 104 oder einem anderen Datenspeicher gespeichert). Alternativ kann der Benutzer ein oder einen Satz von generischen Datenobjekten abhängig davon, was das Datenobjekt repräsentieren soll, spezifizieren, z.B. in Übereinstimmung damit, ob es Bilddaten oder Termindetails halten soll, oder welche Abteilung das Datenobjekt betrifft. Zum Beispiel kann in dem Krankenhaus-Beispiel der Benutzer aus Standard-Datenobjekt-Typen wie z.B.: Termin, Testergebnisse (z.B. Röntgenuntersuchung oder Bluttests), pädiatrischer, orthopädischer, geriatrischer Medizin etc. auswählen. Verschiede Datenobjekt-Typen können verschiede Standard-Sätze von Feldern für Daten, Bilddaten, Patientenakte-Informationen etc. beinhalten.
  • Eine neue Aktion wird ebenso für das durch den Entwerfer eingegebene Verb erzeugt (1005 in 10). Die neue Aktion kann durch Speichern einer neuen Prozessdefinition 800 in der Arbeitsablauf-Datenbank 203 in Übereinstimmung mit der vorstehend beschriebenen 8 erzeugt werden. Die neue Aktion wird mit dem neuen Datenobjekt verknüpft, sodass es der Aktion erlaubt ist, auf dem Datenobjekt zu arbeiten (1006 in 10). Zum Beispiel können die Spezifikationsdaten 702 des Datenobjekts so definiert sein, dass sie es erlauben, dass die neu erzeugte Aktion auf den Instanzen dieses Datenobjekts läuft.
  • Die neue Aktion würde vorzugsweise denselben Namen wie das Verb oder einen von dem Verb abgeleiteten Namen annehmen. Die Aktion kann mit dem Verb markiert werden, sodass das Verb mit der Aktion verknüpft wird. Die neue Aktion kann basierend auf einer vorbestimmten Prozessdefinition gespeichert werden - z.B. kann eine Standard-Prozessdefinition mit vorbestimmten Eigenschaften dem Arbeitsablauf-Entwerfer zur Verfügung stehen (z.B. im Arbeitsspeicher 104 oder einem anderen Datenspeicher gespeichert). Alternativ kann der Benutzer ein oder einen Satz von generischen Prozessdefinitionen, abhängig davon, was die Aktion ausführen soll, spezifizieren. Zum Beispiel können die Aktionen dazu da sein, einen Prozess (z.B. einen festen Schritt in einem Arbeitsablauf), ein Formular (z.B. ein Fenster, welches vorgesehen ist, um von dem Benutzer zur Laufzeit Eingaben zu empfangen) oder eine Rolle (z.B. Code, der automatisch auf Arbeitsablauf-Daten ausgeführt wird) auszuführen. Eine andere generische Prozessdefinition kann für jeden Aktionstyp vorgesehen sein und verwendet werden, um die neue Aktion zu erzeugen, wenn der Satz mit natürlicher Sprache eingegeben wird.
  • Vor oder während der Satz mit natürlicher Sprache eingegeben wird, spezifiziert der Entwerfer ferner den (die) Stakeholder, die die Aktion ausführen können. Diese(r) Stakeholder werden in den Spezifikationsdaten 702 des Datenobjekts bezeichnet, welches erzeugt wird, um sicherzustellen, dass nur die entsprechenden Stakeholder den durch den Satz mit natürlicher Sprache ausgedrückten Arbeitsablauf-Schritt durchführen können.
  • Vor oder während der Satz mit natürlicher Sprache eingegeben wird, kann der Entwerfer ferner einen Kontext spezifizieren, der bestimmt, wann die Aktion dem Stakeholder zur Laufzeit zur Verfügung stellt wird. Der Kontext kann eine oder mehrere Bedingungen umfassen, die zur Laufzeit überprüft werden; nur wenn die Bedingung(en) erfüllt sind, wird die Aktion dem Stakeholder durch die Benutzerschnittstelle des Arbeitsablauf-Managers 205 zur Verfügung gestellt. Wenn z.B. für eine Geburtshilfe-Abteilung eines Krankenhauses ein Arbeitsablauf entwickelt wird, kann ein Entwerfer einen Arbeitsablauf-Schritt hinzufügen, um eine Schwangerschafts-Vorsorgeuntersuchung für eine Patientin durch Eingabe des Satzes mit natürlicher Sprache „eine Schwangerschafts-Vorsorgeuntersuchung vereinbaren“ eingibt (wobei „vereinbaren“ das Verb ist und „Schwangerschafts-Vorsorgeuntersuchung“ das Substantiv ist). Damit dies Sinn ergibt, muss der Patienten-Stakeholder schwanger sein - die Kontextbedingung kann deshalb eine Überprüfung beinhalten, um zu bestimmen ob die Stakeholder-Definition der Stakeholder-Instanz, die die Patientin zur Laufzeit repräsentiert, angibt, dass die Patientin schwanger ist (z.B. ob eine IstSchwanger-Flagge auf „wahr“ gesetzt ist).
  • Wenn ein mit einem Substantiv verknüpftes Datenobjekt bereits in der Arbeitsablauf-Datenbank existiert, ist der Arbeitsablauf-Entwerfer eingerichtet, zu überprüfen, ob eine Prozessdefinition für eine Aktion existiert, die mit dem eingegebenen Verb verknüpft ist (1007 in 10). Wenn eine solche Prozessdefinition existiert, werden die Prozessdefinition und das Datenobjekt durch Aktualisieren des Datenobjekts (z.B. Feld 702) anschließend verknüpft, um es zu ermöglichen, dass die Aktion, die der Prozessdefinition entspricht, auf dem Datenobjekt ausgeführt wird (1008 in 10). Wenn eine solche Prozessdefinition nicht existiert, wird eine neue Prozessdefinition in der Arbeitsablauf-Datenbank auf die vorstehend beschriebene Weise erzeugt und mit dem existierenden Datenobjekt verknüpft, sodass die neu erzeugte Aktion auf den Instanzen dieses Datenobjekts (1009 in 10) arbeiten kann.
  • Es ist vorteilhaft, wenn ein Stakeholder, dem es erlaubt ist, einen Arbeitsablauf-Schritt auszuführen, implizit daraus hervorgeht, wie der Satz mit natürlicher Sprache in die Benutzerschnittstelle eingegeben wird. Zum Beispiel kann der Arbeitsablauf-Entwerfer eingerichtet sein, es einem Entwerfer zu ermöglichen, einen Satz mit natürlicher Sprache durch Auswählen eines oder mehrerer Stakeholder-Objekte, oder von einer Benutzerschnittstelle, die das Stakeholder-Objekt repräsentiert, einzugeben. Dies hilft einem Entwerfer beim Entwickeln von sachgerechten Arbeitsabläufen, da der Entwerfer einen Arbeitsablauf häufig aus der Sicht betrachtet, wer in einer Organisation jeden der Schritte ausführen wird.
  • Es ist besonders vorteilhaft, wenn der Arbeitsablauf-Entwerfer eingerichtet ist, eine Kontext-Benutzerschnittstelle für jeden Stakeholder bereitzustellen. Eine Kontext-Benutzerschnittstelle gruppiert Aktionen, die durch den Stakeholder gemäß einer Kontextbedingung ausgeführt werden können, was dazu führt, dass diese Aktionen dem Benutzer zur Laufzeit zur Verfügung gestellt werden. Diese Herangehensweise ist in 11 veranschaulicht.
  • 11 zeigt einen Kontextbildschirm 110 für einen Patienten-Stakeholder. Der Bildschirm enthält Gruppen 1101 von Arbeitsablauf-Schritten 1102. Jede Gruppe weist eine zugeordnete Kontextbedingung 1105 auf. Der Arbeitsablauf-Entwerfer kann eingerichtet sein, jede Gruppe automatisch zu erzeugen, wenn ein neuer Arbeitsablauf-Schritt erzeugt wird, der zu keiner existierenden Gruppe gehört - eine solche neue Gruppe kann in Abhängigkeit von der für den Arbeitsablauf-Schritt eingegebenen Kontextbedingung erzeugt werden. Der Entwerfer kann an der Benutzerschnittstelle 110 aufgefordert werden, einen passenden Titel für die Gruppe basierend auf der Kontextbedingung einzugeben. Neue Schritte, die eine Kontextbedingung mit einer existierenden Gruppe teilen, können zu dieser Gruppe hinzugefügt werden. Eine Gruppe 1104 kann für alle Arbeitsablaufschritte hinzugefügt werden, die dem Stakeholder immer zur Verfügung stehen - diese müssen nicht mit einer Kontextbedingung versehen werden. Jede Gruppe kann eine Zweckmäßigkeit sein, die zur Entwurfszeit bereitgestellt wird, und muss nicht in der Struktur der Arbeitsablauf-Datenbank 203, auf der der Arbeitsablauf-Manger zur Laufzeit läuft, vorhanden sein.
  • Der Kontextbildschirm 1100 kann eine Benutzerschnittstelle bereitstellen, durch die ein Entwerfer einen Satz mit natürlicher Sprache eingegeben kann, der dem System einen neuen Arbeitsablauf-Schritt angibt, den der Entwerfer erzeugen möchte. Eine solche Benutzerschnittstelle kann dem Entwerfer für eine existierende Gruppe 1101 (z.B. durch Klicken des Buttons 1107) oder beim Erzeugen einer neuen Gruppe (z.B. durch Klicken des Buttons 1108 und Eingabe einer Kontextbedingung) zur Verfügung gestellt werden. Dem Entwerfer kann anschließend ein oder mehrere Felder 1106 präsentiert werden, in die ein Satz mit natürlicher Sprache eingegeben werden soll und eventuell veranlasst, ein neues Datenobjekt und Aktion in der Arbeitsablauf-Datenbank zu erzeugen. Das eine oder mehrere Felder 1106 sind dazu ausgebildet, einen Satz mit natürlicher Sprache 111 wie vorstehend mit Bezug auf 1 zu empfangen. Die Felder können Verb-, ein Verbinder- und Substantiv-Felder 107-109, wie in 1 und 11 gezeigt, umfassen.
  • Die in 11 gezeigte und vorstehend beschriebene Herangehensweise ist am vorteilhaftesten, da sowohl der Stakeholder, der den Arbeitsablauf-Schritt ausführt, als auch die Kontextkondition, die bestimmt wird, wenn der Arbeitsablauf-Schritt diesem Stakeholder zur Laufzeit präsentiert wird, sich implizit aus der Stelle ergeben, an der der Entwerfer den Satz mit natürlicher Sprache eingibt. Diese Herangehensweise macht es für einen Entwerfer mit eingeschränktem technischen Verständnis einfach, die von dem Arbeitsablauf-Manager benötigten Datenobjekte und Prozessdefinitionen zu erzeugen, um den gewünschten Arbeitsablauf zu erzwingen.
  • Sobald das neue Datenobjekt und Prozessdefinition in der Arbeitsablauf-Datenbank als Folge der Eingabe eines Satzes mit natürlicher Sprache erzeugt worden sind, kann der Entwerfer die Parameter des Datenobjekts und Prozessdefinition unter Verwendung der konventionellen Benutzerschnittstelle zur Konfiguration solcher Elemente einer Arbeitsablauf-Datenbank editieren. Dies ist eine einfachere Aufgabe, sobald das benötigte Datenobjekt und Prozessdefinition in dem System vorhanden und mit dem entsprechenden Stakeholder und Kontextdefinition verknüpft sind. Zum Beispiel kann es für den Entwerfer notwendig sein, prozessuale Daten für eine Prozessdefinition sowie weitere Informationen, die die besonderen Eigenschaften des neu erzeugten Datenobjekts und Aktion definieren, einzugeben (anfangs würden das Datenobjekt und die Prozessdefinition die generischen Eigenschaften des Standard-Datenobjekts oder -Prozessdefinition aufweisen, auf denen sie basieren). Solche Schritte können durch einen technischen Entwerfer ausgeführt werden, sobald die allgemeinen ArbeitsablaufSchritte gemäß den hierin beschriebenen Prinzipien aufgesetzt sind.
  • In den hierin beschriebenen Beispielen werden die Datenobjekte, die Stakeholder-Objekte und Aktionen in einer Datenbank gehalten, ganz allgemein können solche Daten überall dort und in geeigneter Form gehalten werden, wo sie dem System zugänglich sind. Der Begriff Objekt soll so verstanden werden, dass er die Datenbank nicht auf eine Objektdatenbank beschränkt; der Begriff Objekt ist in einem breiten Sinn verwendet, um auf jegliche Sammlung von Daten zu verweisen, die den hierin beschriebenen Informationsinhalt aufweisen.
  • Die Computersysteme der 1 und 2 sind in der Weise abgebildet, dass sie eine Anzahl an funktionalen Blöcken aufweisen. Dies ist nur schematisch und es ist nicht beabsichtigt, eine strenge Unterteilung zwischen verschiedenen logischen Elementen solcher Einheiten zu definieren. Jeder funktionale Block kann auf jede geeignete Weise bereitgestellt sein.
  • Im Allgemeinen können alle der vorstehend beschriebenen Funktionen, Verfahren, Techniken oder Komponenten in Software, Firmware, Hardware (z.B. feste Logikschaltungen) oder jede Kombination davon realisiert sein. Die Begriffe „Modul“, „Funktionalität“, „Komponente“, „Element“, „Einheit“, „Block“ und „Logik“ können hierin verwendet werden, um allgemein Software, Firmware, Hardware oder jede Kombination davon zu repräsentieren. In dem Fall einer Software-Implementierung repräsentiert das Modul, die Funktionalität, die Komponente, das Element, die Einheit, der Block oder die Logik Programmcode, der die spezifischen Aufgaben ausführt, wenn er auf einem Prozessor ausgeführt wird. Die hierin beschriebenen Algorithmen und Verfahren können durch einen oder mehrere Prozessoren ausgeführt werden, die Code ausführen, der die Prozessor(en) dazu veranlasst, die Algorithmen/Verfahren auszuführen. Beispiele eines computerlesbaren Speichermediums schließen einen Direktzugriffspeicher (RAM), Festwertspeicher (ROM), eine optische Disk, Flash-Speicher, Festplattenspeicher und andere Speichervorrichtungen ein, die magnetische, optische oder andere Techniken verwenden, um Instruktionen oder andere Daten zu speichern, und auf die durch eine Maschine zugegriffen werden kann.
  • Die Begriffe Computer-Programmcode und computerlesbare Instruktionen, wie sie hierin verwendet werden, beziehenden sich auf jede Art von ausführbarem Code für Prozessoren, einschließlich Code, der in einer Maschinensprache, einer interpretieren Sprache oder einer Scripting-Sprache ausgedrückt ist. Ausführbarer Code schließt binären Code, Maschinencode, Bytecode und Code, der in einer Programmiersprache wie z.B. C, Java oder OpenCL ausgedrückt ist, ein. Ausführbarer Code kann z.B. jede Art von Software, Firmware, Script, Modul oder Bibliothek sein, die, wenn sie auf geeignete Weise in einer virtuellen Maschine oder in einer anderen Softwareumgebung ausgeführt, verarbeitet, interpretiert, kompiliert, ausgeführt wird, einen Prozessor des Computersystems, auf dem der ausführbare Code unterstützt wird, dazu veranlasst, die durch den Code spezifizierten Aufgaben auszuführen.
  • Ein Prozessor, Computer, oder Computersystem können jede Art von Vorrichtung, Maschine oder dezidierter Schaltung, oder Sammlung oder Teil davon mit Verarbeitungsmöglichkeiten sein, sodass sie Instruktionen ausführen kann. Ein Prozessor kann jede Art von Mehrzweck- oder dezidiertem Prozessor sein, wie z.B. eine CPU, GPU, System-on-Chip, Zustandsmaschine, Medienprozessor, eine applikationsspezifische integrierte Schaltung (ASIC), eine programmierbare Logikanordnung, eine im Feld programmierbare Logikgatter-Anordnung (FPGA) oder ähnliches. Ein Computer oder ein Computersystem können einen oder mehrere Prozessoren umfassen.
  • Der Anmelder offenbart hiermit isoliert jedes hierin beschriebene individuelle Merkmal und jede Kombination aus zwei oder mehreren solcher Merkmale, in dem Maße, dass solche Merkmale oder Kombinationen basierend auf der vorliegenden Beschreibung als Ganzes im Licht des allgemeinen Fachwissens eines Fachmanns ausgeführt werden können, unabhängig davon, ob solche Merkmale oder Kombinationen der Merkmale hierin beschriebene Probleme lösen. Mit Blick auf die vorstehende Beschreibung ist es für den Fachmann selbstverständlich, dass zahlreiche Abwandlungen innerhalb des Umfangs der Erfindung gemacht werden können.

Claims (17)

  1. Computer-implementiertes Verfahren zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software mit Zugang zu einer Arbeitsablauf-Datenbank, die ein oder mehrere Datenobjekte, Aktionen zur Ausführung auf den Datenobjekten, und eine Mehrzahl von Stakeholder-Objekten, wobei jedes mit (a) einem oder mehreren der Datenobjekte und (b) einer oder mehreren der Aktionen verknüpft ist, enthält, wobei das Verfahren umfasst: Empfangen an einer Benutzerschnittstelle eines Computersystems einer Eingabe natürlicher Sprache und einer Angabe eines in der Arbeitsablauf-Datenbank durch ein Stakeholder-Objekt repräsentierten Stakeholders; Analysieren der Eingabe natürlicher Sprache auf einem Prozessor, um so ein Verb und ein Substantiv in der Eingabe natürlicher Sprache zu identifizieren; Überprüfen, ob ein Datenobjekt, das dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert; und falls ein solcher Einheitentyp in der Arbeitsablauf-Datenbank nicht existiert: Erzeugen in der Arbeitsablauf-Datenbank eines neuen Datenobjekts für das identifizierte Substantiv unter Verwendung eines vorbestimmten Datenobjekts; Speichern in der Arbeitsablauf-Datenbank einer Aktion für das identifizierte Verb unter Verwendung einer vorbestimmten Prozessdefinition; und Verknüpfen in der Arbeitsablauf-Datenbank des neuen Datenobjekts der Aktion für das identifizierte Verb und des Stakeholder-Objekts so dass, wenn die Arbeitsablauf-Management-Software durch den Stakeholder verwendet wird, es dem Stakeholder erlaubt ist, die Aktion auf einer Instanz des mit dem Stakeholder verknüpften neuen Datenobjekts auszuführen.
  2. Computer-implementiertes Verfahren wie in Anspruch 1 beansprucht, wobei es jedem Stakeholder erlaubt ist, auf einem mit dem Stakeholder verknüpften Datenobjekt nur die Aktionen auszuführen, die mit diesem Datenobjekt und mit dem den Stakeholder repräsentierenden Stakeholder-Objekt verknüpft sind.
  3. Computer-implementiertes Verfahren wie in Anspruch 1 oder 2 beansprucht, wobei das Analysieren der Eingabe natürlicher Sprache auf einem Prozessor in Abhängigkeit von einem oder mehreren der folgenden durchgeführt wird: der Position des Worts in der Eingabe natürlicher Sprache; dem Vorhandensein eines ein Verb und ein Substantiv abgrenzenden Verbindungsworts; in welchen Feldern einer Benutzerschnittstelle die Wörter der Eingabe natürlicher Sprache vorhanden sind.
  4. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das Analysieren der Eingabe natürlicher Sprache auf einem Prozessor das Verarbeiten der Eingabe natürlicher Sprache unter Verwendung eines Algorithmus zur Verarbeitung natürlicher Sprache umfasst, der dazu eingerichtet ist, ein Verb und ein Substantiv zu identifizieren, auf welches das Verb syntaktisch wirkt.
  5. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das Überprüfen, ob ein Datenobjekt, das dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert, das Prüfen der in der Arbeitsablauf-Datenbank definierten Datenobjekte auf ein Datenobjekt umfasst, welches eine oder mehrere der folgenden Bedingungen umfasst: durch das Substantiv bezeichnet sein; mit dem Substantiv markiert sein; eine Bezeichnung aufweisen, bei der vorbestimmt ist, dass sie zu dem Substantiv äquivalent ist.
  6. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das Verknüpfen in der Arbeitsablauf-Datenbank das Definieren in dem neuen Datenobjekt umfasst, dass es dem durch das Stakeholder-Objekt repräsentierten Stakeholder erlaubt ist, die identifizierte Verb-Aktion auf dem neuen Datenobjekt auszuführen.
  7. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das Empfangen an der Benutzerschnittstelle ferner das Empfangen einer Angabe einer Kontext-Bedingung umfasst und das Verknüpfen in der Arbeitsablauf-Datenbank das Definieren in dem neuen Datenobjekt umfasst, dass es dem durch das Stakeholder-Objekt repräsentierte Stakeholder nur erlaubt ist, die identifizierte Verb-Aktion auf dem neuen Datenobjekt auszuführen, wenn die Kontext-Bedingung erfüllt ist.
  8. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei die Eingabe natürlicher Sprache an einer Benutzerschnittstelle empfangen wird, die dem Stakeholder zugeordnet ist, wobei das Empfangen einer Angabe eines Stakeholders das Identifizieren des Stakeholders als den Stakeholder umfasst, dem die Benutzerschnittstelle zugeordnet ist.
  9. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei die Benutzerschnittstelle, die dem Stakeholder zugeordnet ist, eine Entwurfsschnittstelle ist, die dazu eingerichtet ist, es einem Benutzer zu erlauben, das den Stakeholder repräsentierende Stakeholder-Objekt zu modifizieren.
  10. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das vorbestimmte Datenobjekt ein Standard-Datenobjekt ist, wobei das neue Datenobjekt die Eigenschaften des Standard-Datenobjekts erbt und unter den Datenobjekten der Arbeitsablauf-Datenbank durch das Substantiv identifiziert wird.
  11. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei die vorbestimmte Prozessdefinition eine Standard-Prozessdefinition ist, wobei die Aktion die Eigenschaften der Standard-Prozessdefinition erbt und unter den Aktionen der Arbeitsablauf-Datenbank durch das Verb identifiziert wird.
  12. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei das Verfahren anschließend an das Verknüpfen das Auffordern des Benutzers umfasst, Attribute von einem oder mehreren der neuen Datenobjekte und die Aktion für das bezeichnete Verb zu editieren.
  13. Computer-implementiertes Verfahren wie in einem der vorangegangenen Ansprüche beansprucht, wobei die Prozessdefinitionen in einer Prozessschicht der Arbeitsablauf-Datenbank definiert sind und die Datenobjekte in einer Datenschicht der Arbeitsablauf-Datenbank definiert sind.
  14. Computersystem zum Entwerfen eines Arbeitsablaufs zur Verwendung in Arbeitsablauf-Management-Software mit Zugang zu einer Arbeitsablauf-Datenbank, die ein oder mehrere Datenobjekte, Aktionen zur Ausführung auf den Datenobjekten, und eine Mehrzahl von Stakeholder-Objekten, wobei jedes mit (a) einem oder mehreren der Datenobjekte und (b) einer oder mehreren der Aktionen verknüpft ist, umfasst, wobei das System umfasst: einen Datenspeicher, der die Arbeitsablauf-Datenbank umfasst; eine Benutzerschnittstelle zum Empfangen einer Eingabe natürlicher Sprache und einer Angabe eines durch ein Stakeholder-Objekt in der Arbeitsablauf-Datenbank repräsentierten Stakeholders; einen Prozessor, der eingerichtet ist: die Eingabe natürlicher Sprache zu analysieren, um so ein Verb und ein Substantiv in der Eingabe natürlicher Sprache zu identifizieren; zu überprüfen, ob ein Datenobjekt, welches dem Substantiv entspricht, in der Arbeitsablauf-Datenbank existiert; und falls ein solcher Einheitentyp in der Arbeitsablauf-Datenbank nicht existiert: Erzeugen in der Arbeitsablauf-Datenbank eines neuen Datenobjekts für das identifizierte Substantiv unter Verwendung eines vorbestimmten Datenobjekts; Speichern in der Arbeitsablauf-Datenbank einer Aktion für das identifizierte Verb unter Verwendung einer vorbestimmten Prozessdefinition; und Verknüpfen in der Arbeitsablauf-Datenbank des neuen Datenobjekts, der Aktion für das identifizierte Verb und des Stakeholder-Objekts so, dass, wenn die Arbeitsablauf-Management-Software durch den Stakeholder verwendet wird, es dem Stakeholder erlaubt ist, die Aktion auf einer Instanz des mit dem Stakeholder verknüpften neuen Datenobjekts auszuführen.
  15. Computer-Programmcode zum Durchführen eines Verfahrens wie in einem der Ansprüche 1 bis 14 beansprucht.
  16. Nichtflüchtiges computerlesbares Speichermedium, welches darauf gespeichert computerlesbare Instruktionen aufweist, die wenn sie durch ein Computersystem ausgeführt werden, das Computersystem dazu veranlassen, das Verfahren wie in einem der Ansprüche 1 bis 14 beansprucht durchzuführen.
  17. Computersystem, wie im Wesentlichen hierin mit Bezug auf eine der 1 bis 11 beschrieben.
DE112017000695.3T 2016-02-08 2017-01-24 Arbeitsablauf-Erstellung anhand natürlicher Sprache Pending DE112017000695T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1602260.0A GB2547888A (en) 2016-02-08 2016-02-08 Natural language workflow construction
GB1602260.0 2016-02-08
PCT/EP2017/051362 WO2017137246A1 (en) 2016-02-08 2017-01-24 Natural language workflow construction

Publications (1)

Publication Number Publication Date
DE112017000695T5 true DE112017000695T5 (de) 2018-11-15

Family

ID=55641991

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017000695.3T Pending DE112017000695T5 (de) 2016-02-08 2017-01-24 Arbeitsablauf-Erstellung anhand natürlicher Sprache

Country Status (4)

Country Link
US (1) US20210117881A1 (de)
DE (1) DE112017000695T5 (de)
GB (1) GB2547888A (de)
WO (1) WO2017137246A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487512B2 (en) * 2016-03-29 2022-11-01 Microsoft Technology Licensing, Llc Generating a services application
US11100297B2 (en) 2019-04-15 2021-08-24 International Business Machines Corporation Provision of natural language response to business process query
US20230297594A1 (en) * 2022-03-18 2023-09-21 Zoho Corporation Private Limited Entity interaction trends

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5377103A (en) * 1992-05-15 1994-12-27 International Business Machines Corporation Constrained natural language interface for a computer that employs a browse function
US8935153B2 (en) * 2012-03-28 2015-01-13 Xerox Corporation Natural language incident resolution

Also Published As

Publication number Publication date
US20210117881A1 (en) 2021-04-22
GB201602260D0 (en) 2016-03-23
GB2547888A (en) 2017-09-06
WO2017137246A1 (en) 2017-08-17

Similar Documents

Publication Publication Date Title
US11295867B2 (en) Generating and applying subject event timelines
DE112012004036T5 (de) Definieren des Geltungsbereichs und Verwalten der Rollenentwicklung
DE102012218329B4 (de) Verwalten von Funktionsübernahme-Operationen an einem Cluster von Computern
DE102007026799A1 (de) Systeme und Verfahren zur Verfeinerung der Identifikation von Kandidaten für klinische Studien
EP3451211B1 (de) Verfahren und steuereinrichtung zur steuerung eines medizintechnischen bildgebenden systems
DE112010003251T5 (de) Medizinische Diagnoseunterstützungsvorrichtung, Verfahren zur Steuerung einer medizinischen Diagnoseunterstützungsvorrichtung und Programm
DE102007026802A1 (de) Systeme und Verfahren zur Identifizierung von Kandidaten für eine klinische Studie
DE102008020610A1 (de) Vorrichtungen und Verfahren zur Validierung klinischer Daten
DE112018003236T5 (de) Domänenspezifischer lexikalisch gesteuerter prä-parser
DE112011100934T5 (de) Kontextbewusster Datenschutz
DE112020002129T5 (de) Deep-learning-ansatz für datenverarbeitungsspannen
DE112017000695T5 (de) Arbeitsablauf-Erstellung anhand natürlicher Sprache
EP1611538A2 (de) Verfahren und anordnung zur automatischen aufbereitung und auswertung medizinischer daten
D Pierce et al. SemanticDB: a semantic web infrastructure for clinical research and quality reporting
DE69709918T2 (de) Relationelle datenbank die in einer speicherstruktur compiliert und gespeichert ist
DE102019131471A1 (de) Konfigurieren und Anzeigen einer Anwenderschnittstelle mit Gesundheitsfürsorgestudien
DE112015004487T5 (de) Kontextuelle Arbeitsablauf-Verwaltung
US20220198285A1 (en) Knowledge management system
DE112022003063T5 (de) Data-governance-systeme und -verfahren
DE112018003243T5 (de) Domänenspezifische lexikalische analyse
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen
Akshaya et al. Artificial Intelligence is changing health and eHealth care
Schulman Managing your patients' data in the neonatal and pediatric ICU: an introduction to databases and statistical analysis
DE10238596A1 (de) Verteiltes System und Verfahren zur Darstellung und Bearbeitung medizinisch relevanter Datenobjekte
EP3138030A1 (de) Patientenrekrutierungssystem und patientenrekrutierungsverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06Q0050240000

Ipc: G06Q0010060000

R081 Change of applicant/patentee

Owner name: BIZAGI GROUP CORP., WASHINGTON, US

Free format text: FORMER OWNER: BIZAGI GROUP LTD, SLIEMA, MT