Eigene Integrationen sind eine Funktion in Vetera, mit der Sie Anfragen an externe Ressourcen direkt aus Vetera heraus senden können. Um Zugriff auf diese Funktion zu erhalten, kontaktieren Sie die Vetera Unterstützung.
Verwaltung
Verwalten Sie eigene Integrationen in Einstellungen > Integration > Eigene Integrationen.
Um eine Integration hinzuzufügen, wählen Sie die Schaltfläche hinzufügen.
Um eine Integration zu bearbeiten, wählen Sie die Schaltfläche pen in der Tabellenzeile.
Einstellungen
Feld | Beschreibung |
Name | Gibt die Kennzeichnung auf der Schaltfläche an, die in der Benutzeroberfläche sichtbar ist. |
Sichtbare Seite | Gibt an, auf welcher Seite die Schaltfläche sichtbar ist. Jede eigene Integration kann nur auf einer Seite angezeigt werden, aber dieselbe Konfiguration kann dupliziert werden. |
Aktion | Gibt an, welche Aktion ausgeführt wird, wenn die Schaltfläche ausgewählt wird. |
HTTP Methode | Gibt an, ob die Anfrage als GET-Anfrage gesendet wird (Nutzlast als Parameter in der Query-String) oder als POST-Anfrage (Nutzlast als Formulardaten). |
URL | Die Ziel-URL, vollständig mit Schema. |
Parametername | Der Name des Parameters, der beim Übergeben der ID des aktuellen Objekts verwendet wird. |
Ermöglicht | Ermöglicht das Aktivieren und Deaktivieren einer eigenen Integration. Eigene Integrationen können auch gelöscht werden, wenn sie nicht mehr benötigt werden. |
Bestätigungssalz | Ein geteilter geheimer Schlüssel, der zur Berechnung des Bestätigungs-Hashs verwendet wird. Erforderlich, wenn der Bestätigungs-Hash aktiviert ist. |
Konfigurationsoptionen
Bestätigungs-Hash hinzufügen: Aktiviert einen Bestätigungs-Hash in der Nutzlast, der verwendet werden kann, um zu überprüfen, dass die Anfrage von der eigenen Integration stammt.
Nutzlast in Verifikationshash einbeziehen: Diese Option berechnet den Bestätigungs-Hash neu und verwendet dabei die vollständige Nutzlast inklusive Benutzer- und Kunden ID.
Informationen zu Organisation und Abteilung hinzufügen: Diese Option bindet die erforderlichen Organisations- und Abteilungsinformationen automatisch ein. Vetera übermittelt diese Parameter in der Anfrage: Vetera name (organization core), Vetera ID (product organization ID) und Abteilung ID.
Vorsilbe für den Parameterwert
Es ist möglich, eine eigene Vorsilbe für den Parameterwert hinzuzufügen, indem der Parametername anders angegeben wird.
Wenn Sie z.B. den Parameternamen als „id=client_“ festlegen, wird eine Anfrage wie https://example.com/?id=client_1 gesendet.
Kopfzeilen
Hintergrundanfragen („HTTP Anfrage senden“) können beliebige statische Werte erhalten, die zu den Anfragen hinzugefügt werden.
So können Sie Autorisierungs-Kopfzeilen in die Anfragen einbinden.
Diese Funktion ist nicht für Vordergrundanfragen („In neuer Registerkarte öffnen“, „Offene Seitenwand“) implementiert. Gesendete Kopfzeilen werden außerdem nicht protokolliert.
Fracht Information
Die Ansicht „Einstellungen“ zeigt eine Liste der Nutzlast-Schlüssel und -Werte an, die mit der Anfrage gesendet werden. Diese Liste wird aktualisiert, wenn die Einstellungen geändert werden.
Aktionstypen
1. HTTP Anfrage senden
Eine Anfrage wird im Hintergrund geplant und über die Server von Vetera gesendet. Benutzer sehen die Webseite nicht, können aber eine Benachrichtigung sehen, wenn der Sendevorgang fortschreitet.
Die Anfrage stammt von den ausgehenden IP-Adressen von Vetera.
Das Senden erfolgt asynchron, und es kann eine Verzögerung geben – abhängig davon, wie viel Arbeit aktuell auf den Servern läuft.
Oben auf der Seite sehen Sie eine Informationsbenachrichtigung, sobald die Anfrage geplant wird.
Wenn die Anfrage erfolgreich gesendet wurde und die Integration mit einem erfolgreichen HTTP Statuscode antwortet (zwischen 200 und 299 inklusive), wird eine Erfolgsmeldung angezeigt.
Wenn die Anfrage fehlschlägt, wird eine Fehlermeldung mit dem Text „Integration request failed“ angezeigt. Zusätzlich wird in der Klammer eine genauere Fehlermeldung ausgegeben.
Fehlermeldung | Beschreibung |
Backend error | Auf den Worker-Servern von Vetera ist ein unbekannter Fehler aufgetreten. Kontaktieren Sie den Vetera-Support für zusätzliche Informationen. |
Verbindungsfehler | Die Anfrage, um das Senden zu planen, ist nicht durchgegangen. |
Data error | Die Anfrage, um das Senden zu planen, enthielt ungültige Daten. |
Integration error | Die Anfrage wurde zwar erfolgreich gesendet, aber die Integration hat mit einem nicht-erfolgreichen HTTP Statuscode geantwortet (kleiner als 200 oder größer als 299). |
2. In neuer Registerkarte öffnen
Die Ziel-URL wird in einem neuen Fenster oder Browser-Tab geöffnet.
Wenn eine GET-Anfrage verwendet wird, können Benutzer die Fracht Information sehen, die in der Adresszeile des Browsers angezeigt wird.
3. Offene Seitenwand
Die Ziel-URL wird in Vetera eingebettet, indem eine Seitenwand über den Inhalt der Seite geöffnet und die Seite als iframe angezeigt wird.
Die Ziel-URL muss das Einbetten unterstützen (der Kopfzeile „X-Frame-Options“ muss korrekt gesetzt sein).
Verwendung
Eigene Integrationen werden als Schaltflächen auf den Zielseiten dargestellt.
Wenn für eine Seite nur eine Integration eingerichtet ist, wird sie als normale Schaltfläche dargestellt.
Wenn eine Seite mehrere Integrationen hat, werden sie als Dropdown-Menü dargestellt.
Eigene Integrationen senden nur die relevante Objekt-ID (Kunden ID, Patienten-ID, Rechnungs-ID, usw.), die über die Vetera REST API abgefragt werden kann.
Seite | Schaltflächenposition | ID als Parameter gesendet |
Kunde | Rechtsseitig, oberhalb des Bereichs „Anmerkungen“ (nicht in den Patiententabs). | Kunden ID |
Patient | Rechtsseitig, oberhalb des Bereichs „Anmerkungen“ (nicht in den Kundentabs). | Patienten-ID |
Rechnung | In der unteren Symbolleiste der Rechnungsseiten (einschließlich Direktverkauf). | Rechnungs-ID (nicht die Rechnungsnummer) |
Konsultation | Oberhalb des Bereichs „Allgemeine Angaben“, für sowohl fortlaufende als auch beendete Konsultationen. | Konsultations-ID |
Terminkalender | Oben im Terminkalender. | Aktive Klinik Standort ID |
Dienstplan | Oben im Dienstplan. | Aktive Klinik Standort ID |
Bildgebende Diagnostik | Auf der Seite „Überweisung zur diagnostischen Bildgebung“ in den oberen und unteren Symbolleisten. | Überweisung der diagnostischen Bildgebung ID |
Erinnerung | In der Auswahl-Symbolleiste auf der Erinnerungsseite, wenn eine oder mehrere Erinnerungen ausgewählt sind. | Erinnerung ID für jede ausgewählte Erinnerung |
Protokoll
Anfragen, die im Hintergrund gesendet werden („HTTP Anfrage senden“), werden für Bestätigung und Prüfung in einem internen Protokoll erfasst.
Wechseln Sie zu Einstellungen > Integration > Eigene Integrationen > Protokoll.
In der Protokollansicht werden alle erstellten Anfragen angezeigt, beginnend mit der neuesten Anfrage.
Weitere Informationen in der Detailansicht finden Sie, indem Sie die Schaltfläche mit dem Auge rechts in jeder Zeile auswählen.
Hinweis: Die Protokollierung wird nicht für Vordergrundanfragen durchgeführt („In neuer Registerkarte öffnen“, „Offene Seitenwand“).
Bestätigungssalz & Hashes
Die Option „Bestätigungssalz“ ist nur sichtbar, wenn „Bestätigungs-Hash hinzufügen“ ausgewählt ist. Zusätzlich wird „Nutzlast in Verifikationshash einbeziehen“ ebenfalls angezeigt, wenn „Bestätigungs-Hash hinzufügen“ ausgewählt ist.
Basierend auf der Kombination der Zulassung wird der Bestätigungs-Hash wie folgt berechnet:
1. Bestätigungssalz aktiviert, „include payload in verification option“ deaktiviert -> Hash berechnet als:Hexadezimale Bestätigung MD5 Hash digest, z.B.: "4e531ee13aa16886db72bc1621206d2f". Der Hash wird generiert, indem das Bestätigungssalz nach dem enthaltenen Zeitstempel angehängt wird („2018-07-15T09:12:54+00:00Mein Bestätigungssalz“). [string]2. Bestätigungssalz aktiviert, „include payload in verification option“ aktiviert, „Informationen zu Organisation und Abteilung hinzufügen“ DISABLED -> Hash berechnet als:Hexadezimale Bestätigung MD5 Hash digest, z.B.: "23ae5385b3862a571f1b5d6f6b469b1c". Der Hash wird berechnet mit: "<timestamp><salt><parameter_name><object_id>user_id<user_id>" („2018-07-15T09:12:54+00:00Mein Bestätigungssalzpatient_id1234user_id56“). [string]3. Bestätigungssalz aktiviert, „include payload in verification option“ aktiviert, „Informationen zu Organisation und Abteilung hinzufügen“ AKTIVIERT -> Hash berechnet als:Hexadezimale Bestätigung MD5 Hash digest, z.B.: "163049a017bb405d4bfec754810c9838". Der Hash wird berechnet mit: "<timestamp><salt><parameter_name><object_id>user_id<user_id>provet_env<provet_env>provet_id<provet_id>department_id<department_id>" („2018-07-15T09:12:54+00:00Mein Bestätigungssalzpatient_id1234user_id56provet_envenvprovet_id12345department_id12“). [string]
Bestätigungshashes können als zusätzliche Validierung verwendet werden, um zu überprüfen, welche Anfragen von der Vetera eigenen Integration stammen.
Wenn aktiviert, wird eine zusätzliche Variable namens „verification“ zu den Anfragen hinzugefügt.
Diese Variable ist eine MD5 Hash digest des Zeitstempels und des Bestätigungssalzes.
Für das Senden im Hintergrund wird der Zeitstempel erzeugt, wenn die Anfrage tatsächlich gesendet wird.
Für das Senden im Vordergrund wird der Zeitstempel erzeugt, wenn eine Seite geladen wird, die die Schaltfläche der eigenen Integration enthält.
Zum Beispiel, um zu überprüfen, dass der Bestätigungs-Hash in Python gültig ist, könnte man eine Funktion wie diese schreiben:
from hashlib import md5VERIFICATION_SALT = "Mein Bestätigungssalz"def is_verification_hash_valid(parameters): hasher = md5() hasher.update(parameters.timestamp.encode("utf8")) hasher.update(VERIFICATION_SALT.encode("utf8")) return hasher.hexdigest() == parameters.verificationZweiseitige Kommunikation mit Vetera
Vetera ermöglicht eine begrenzte Menge zweiseitiger Kommunikation mit eigenen Integrationen, die im Vordergrund geöffnet werden, über die API Window.postMessage().
Der einzige gültige Befehl ist „reload“.
function refreshVeteraCloud() { window.opener.postMessage("reload","*");}Dieser Befehl führt einen vollständigen Seiten-Neuladevorgang im Fenster oder Tab aus, der die eigene Integration geöffnet hat.
Das kann nützlich sein, wenn die eigene Integration Vetera-Daten über die REST API aktualisiert.
