Zum Hauptinhalt springen

Eigene Integrationen

Eigene Integrationen sind eine Funktion in Vetera, mit der Sie Anfragen an externe Ressourcen von innerhalb von Vetera aus senden können. Um Zugriff auf diese Funktion zu erhalten, kontaktieren Sie den Vetera-Support.

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.

Gibt an, auf welcher Seite die Schaltfläche sichtbar ist. Jede eigene Integration kann nur auf einer Seite sichtbar sein, 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 wird als Parameter in der Abfragezeichenfolge übergeben) oder als POST-Anfrage (Nutzlast wird als Formulardaten übergeben).

URL

Die Ziel-URL, vollständig inklusive Schema.

Parametername

Der Name des Parameters, der verwendet wird, um die ID des aktuellen Objekts zu übergeben.

Aktiviert

Ermöglicht das Aktivieren und Deaktivieren einer eigenen Integration. Eigene Integrationen können außerdem gelöscht werden, wenn sie nicht mehr benötigt werden.

Bestätigungssalz

Ein geteimtes Geheimnis, das zur Berechnung des Bestätigungs-Hashes 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 zur Überprüfung verwendet werden kann, dass die Anfrage von der eigenen Integration stammt.

  • Nutzlast in Verifikationshash einbeziehen: Diese Option berechnet den Bestätigungs-Hash neu, indem die vollständige Nutzlast verwendet wird, einschließlich der Benutzer- und Kunden-IDs.

  • Informationen zu Unternehmen und Abteilung hinzufügen: Diese Option umfasst die erforderlichen Informationen zu Organisation und Abteilung automatisch. Vetera übermittelt diese Parameter in der Anfrage: Name von Vetera (Organisation core), ID von Vetera (Produkt-Organisation-ID) und Abteilung ID.

Vorsetzen des Parameterwerts

Es ist möglich, einen benutzerdefinierten Vorsatz für den Parameterwert hinzuzufügen, indem der Parametername anders angegeben wird.

Kopfzeilen

Hintergrundanfragen („HTTP Anfrage senden“) können beliebige statische Werte erhalten, die zu den Anfragen hinzugefügt werden.

  • Damit können Autorisation-Kopfzeilen in Anfragen aufgenommen werden.

  • Diese Funktion ist für Vordergrundanfragen („In neuem Fenster öffnen“, „Offene Seitenwand“) nicht implementiert. Gesendete Kopfzeilen werden außerdem nicht protokolliert.

Fracht Informationen

Die Ansicht „Einstellungen“ zeigt eine Liste von Nutzlast-Schlüsseln und -Werten an, die mit der Anfrage gesendet werden. Diese Liste wird aktualisiert, sobald die Einstellungen geändert werden.

CI2.png

Aktionstypen

1. HTTP Anfrage senden

Eine Anfrage wird im Hintergrund geplant und über die Server von Vetera gesendet. Nutzer sehen nicht die Webseite, aber möglicherweise eine Benachrichtigung, während das Senden fortschreitet.

  • Die Anfrage stammt von den ausgehenden IP-Adressen von Vetera.

  • Das Senden erfolgt asynchron, und es kann eine Verzögerung geben, abhängig von der aktuell anfallenden Arbeit auf den Servern.

  • Oben auf der Seite sehen Sie eine Informationsbenachrichtigung, sobald die Anfrage geplant wird.

  • Eine Erfolgsbenachrichtigung wird angezeigt, wenn die Anfrage erfolgreich gesendet wurde und die Integration mit einem erfolgreichen HTTP Statuscode antwortet (zwischen 200 und 299, inklusiv).

  • Wenn die Anfrage fehlschlägt, wird eine Fehlermeldung mit dem Text „Integration request failed“ angezeigt. Eine genauere Fehlermeldung wird in Klammern 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 zum Planen des Sendens wurde nicht verarbeitet.

Datenfehler

Die Anfrage zum Planen des Sendens enthielt ungültige Daten.

Integrationsfehler

Die Anfrage wurde erfolgreich gesendet, aber die Integration hat mit einem nicht-erfolgreichen HTTP Statuscode geantwortet (unter 200 oder über 299).

2. In neuem Fenster öffnen

Die Ziel-URL wird in einem neuen Fenster oder einem neuen Browser-Tab geöffnet.

  • Wenn eine GET-Anfrage verwendet wird, können Nutzer die Fracht Informationen in der Adressleiste des Browsers sehen.

3. Offene Seitenwand

Die Ziel-URL wird in Vetera eingebettet, indem oben auf dem Seiteninhalt eine Seitenwand geöffnet wird und die Seite als iframe angezeigt wird.

  • Die Ziel-URL muss das Einbetten unterstützen (die Kopfzeile „X-Frame-Options“ muss korrekt gesetzt sein).

Verwendung

Eigene Integrationen werden auf Zielseiten als Schaltflächen 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 ausschließlich 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

Rechts, oberhalb des Bereichs „Hinweise“ (nicht in den Patiententabs).

Kunden ID

Patient

Rechts, oberhalb des Bereichs „Hinweise“ (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 laufende und abgeschlossene Konsultationen.

Konsultations-ID

Termin Kalender

Oben auf dem Termin-Kalender.

Aktive Klinik Standort ID

Schicht Kalender

Oben auf dem Schicht-Kalender.

Aktive Klinik Standort ID

Bildgebende Diagnostik

Auf der Seite für Überweisung zur diagnostischen Bildgebung in den oberen und unteren Symbolleisten.

ID der Überweisung zur diagnostischen Bildgebung

Erinnerungen

In der Auswahlsymbolleiste auf der Erinnerungsseite, wenn eine oder mehrere Erinnerungen ausgewählt sind.

Erinnerungs-ID für jede ausgewählte Erinnerung

Protokoll

Anfragen, die im Hintergrund gesendet werden („HTTP Anfrage senden“), werden in einem internen Protokoll zur Bestätigung und zum Audit erfasst.

CI3.png
CI4.png
  1. Gehen Sie zu Einstellungen > Integration > Eigene Integrationen > Protokoll.

  2. In der Protokollansicht werden alle ausgeführten Anfragen aufgelistet, beginnend mit der neuesten Anfrage.

  3. Weitere Informationen in der Detailansicht sehen Sie, indem Sie auf die Schaltfläche mit dem Auge rechts in jeder Zeile klicken.

Hinweis

Bei Vordergrundanfragen („In neuem Fenster öffnen“, „Offene Seitenwand“) wird keine Protokollierung durchgeführt.

Bestätigungssalz & Hashes

Die Option „Bestätigungssalz“ wird nur angezeigt, 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 verficiation 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 Unternehmen und Abteilung hinzufügen“ DEAKTIVIERT -> 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 Unternehmen 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 prüfen, welche Anfragen von der eigenen Integration von Vetera stammen.

  • Wenn aktiviert, wird den Anfragen ein zusätzlicher Parameter namens „verification“ hinzugefügt.

  • Dieser Parameter ist ein 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 für die eigene Integration enthält.

Beispielsweise könnte man in Python prüfen, ob der Bestätigungs-Hash gültig ist, mit einer Funktion wie dieser:

from hashlib import md5VERIFICATION_SALT = "My custom verification salt"def is_verification_hash_valid(parameters):    hasher = md5()    hasher.update(parameters.timestamp.encode("utf8"))    hasher.update(VERIFICATION_SALT.encode("utf8"))    return hasher.hexdigest() == parameters.verification

Zweiseitige Kommunikation mit Vetera

Vetera ermöglicht in begrenztem Umfang eine zweiseitige Kommunikation mit eigenen Integrationen, die im Vordergrund geöffnet werden, über die Window.postMessage()-API.

  • Der einzige gültige Befehl ist „reload“.

    function refreshVeteraCloud() {    window.opener.postMessage("reload","*");}
  • Dieser Befehl führt einen vollständigen Seitenreload im Fenster oder Tab aus, der die eigene Integration geöffnet hat.

  • Das kann hilfreich sein, wenn die eigene Integration Vetera-Daten über die REST API aktualisiert.

Siehe auch

Hat dies deine Frage beantwortet?