Mit diesem Mechanismus können Nachrichten vom e-card-Serversystem zum Ordinationsclient übertragen werden.
Über ein Flag, das periodisch abgefragt werden kann, wird signalisiert, dass eine neue Nachricht vorliegt. Die neuen Nachrichten
können dann vom e-card-Serversystem abgefragt werden.
Das Messaging-System dient zur Benachrichtigung über asynchron am e-card-Server verarbeiteter fachlicher Funktionen.
Hinweis - Zustellung und Abholung von Nachrichten in Abhängigkeit des Dialogs:
Je nach Service erfolgt die Zustellung (push) bzw. die Abholung (poll) von Nachrichten in Abhängigkeit bestimmte Parameter des
angemeldeten Dialogs:
Nachrichten KSE: in Abhängigkeit der beim Dialogaufbau verwendeten TaetigkeitsBereichId.
Nachrichten ABS und EBS: in Abhängigkeit der (beim Dialogaufbau) verwendeten Vertragspartnernummer.
D.h. bei mehreren Vertragspartnernummern bzw. mehreren
Tätigkeitsbereichen müssen unter Umständen mehrere Dialoge zur Abfrage der Nachrichten verwendet werden.
Die Daten können nur mit einem Dialog abgeholt werden, der auch die Nachricht empfangen hat bzw. kann.
Wird von der Vertragspartnersoftware ein Service unterstützt, welches den Benachrichtigungsmechanismus benötigt (KSE, ABS, EBS), ist
das Messaging-System wie oben beschrieben einzusetzen.
mittels Push-Mechanismus
Die Nachrichtenzustellung erfolgt
Session-Orientiert.
Die Information über neue Nachrichten wird mit jedem Request zum e-card-Server aktualisiert und seitens Vertragspartnersoftware mit
der Funktion
hasUnreadMessages() abgefragt. Liegen neue Nachrichten vor, können diese mit der Funktion
getMessages() abgeholt
und entsprechend der Meldungskategorie weiterverarbeitet werden.
Szenario
4
-
Asynchrone Nachrichtenabfrage mittels Push-Mechanismus:
mittels Poll-Mechanismus
Die Nachrichtenzustellung erfolgt
nicht Session-Orientiert.
Mittels der Funktion
pollMessages() wird eine Anfrage nach Nachrichten gestartet. Dabei ist der Suchzeitpunkt anzugeben, ab dem neue
Nachrichten geliefert werden sollen. Bei der ersten Abfrage sollte dieser Suchzeitpunkt in der Vergangenheit liegen.
Liegen Nachrichten vor, werden diese abgeholt. Zusätzlich wird der nächste Suchzeitpunkt, unabhängig ob Nachrichten vorliegen
oder nicht übermittelt. Wird die Funktion
pollMessages() immer mit dem zurückgelieferten Suchzeitraum aufgerufen, ergibt sich
eine lückenlose und duplikatfreie Zustellung der Nachrichten (in Abhängigkeit der Dialogparameter - siehe auch
Hinweis - Zustellung und Abholung von Nachrichten in Abhängigkeit des Dialogs).
Die Nachrichten können anhand der Meldungskategorie weiterverarbeitet werden.
Ergibt eine Anfrage, dass mehr Nachrichten vorliegen als aktuell zurückgeliefert werden können, kann die Funktion
pollMessages()
sofort nochmals aufgerufen werden.
Anderenfalls muss das Pollintervall berücksichtigt werden. Das Intervall selbst kann anhand der Funktion
getMinMsgPollingIntervall()
ermittelt werden.
Für eine ordentliche Zuordnung der Nachrichten zu einem Benutzer, muss die Vertragspartnersoftware bei Serviceabfragen
(z.B. Bewilligungsanfrage aus ABS) die jeweilige ID, die als Ergebnis zurückgeliefert wird, intern zu dem ausführenden Benutzer merken.
Diese IDs sind bei den durch
pollMessages() abgefragten Nachrichten im Message-Datenfeld
Data zu finden. Dadurch kann
eine benutzerbezogene Zuordnung und Zustellung innerhalb der Vertragspartnersoftware stattfinden.
Szenario
4
-
Asynchrone Nachrichtenabfrage mittels Poll-Mechanismus:
Durch diese Funktion kann der Vertragspartner die Übersiedlung einer Ordinationsadresse abschließen. Die ursprüngliche und die
neue Ordinationsadresse werden im Zuge des Dialogaufbaus bekanntgegeben.
Im Zuge der Übersiedlung sollten eventuell vorhandene Offlinedaten übertragen werden, da es ansonsten zu einem Datenverlust kommen kann.
Mittels des Parameters forceUebersiedlung kann festgelegt werden, ob bei der Durchführung der Funktion geprüft werden soll,
ob für die Ordination noch Offlinedaten vorhanden sind (in diesem Fall wird eine entsprechende Fehlermeldung retourniert).
Hinweis: Die Prüfung erfolgt in diesem Fall für die Ordination und den Tätigkeitsbereich des Dialogaufbaus.
Werden also im Zuge der Übersiedlung der Ordination Offlinedaten festgestellt, müssen die Daten jeweils separat mittels
eines eigenen Dialogs für jeden Tätigkeitsbereich der Ordination übertragen werden.