Zum Hauptinhalt springen

So integrieren Sie den RxScale-Fragebogen auf Ihrer Website

Eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration des RxScale-Fragebogens.

Cassian Brosius avatar
Verfasst von Cassian Brosius
Vor über 3 Wochen aktualisiert

RxScale ermöglicht es Ihnen, medizinische Fragebögen direkt in Ihre Website einzubetten. Diese Fragebögen können verwendet werden, um medizinische Informationen zu sammeln, Patienten durch Empfehlungsabläufe zu führen oder Compliance-Workflows zu unterstützen.
Dieser Artikel erklärt, wie Sie den Fragebogen installieren, Integrationen konfigurieren und verfügbare JavaScript-Hooks nutzen.

1. Übersicht

Alle Fragebögen werden im RxScale Admin Tool erstellt und konfiguriert.
Dort erhalten Sie:

  • Ihre Questionnaire UID

  • Das Installations-Snippet

  • Optionale Custom Styles und Integrationsoptionen

RxScale rendert den Fragebogen automatisch entsprechend des konfigurierten Typs (z. B. Product Recommender, Direct to Cart).


2. Installation

Um einen Fragebogen auf Ihrer Seite anzuzeigen, fügen Sie das Installations-Snippet in Ihre Website ein.
Ein typisches Snippet sieht wie folgt aus:

Was dieses Snippet macht:

  • Rendert Ihren Fragebogen automatisch

  • Lädt alle benötigten JavaScript- und CSS-Dateien

  • Unterstützt versionierte Releases — dadurch können neue Versionen getestet werden, ohne Ihre Live-Version zu beeinflussen


3. Fragebogen-Typen

RxScale rendert den angegebenen Fragebogen und reagiert auf den im Admin Tool definierten Typ.

1. Product Recommender

Zeigt einen schrittweisen Ablauf an, der basierend auf den Antworten passende Produkte empfiehlt.

2. Direct to Cart

Im Folgenden werden diese Integrationen im Detail beschrieben.

Leitet Benutzer direkt nach Abschluss in den Warenkorb weiter (sofern nicht anders konfiguriert).


4. Optionale Integrationen & Hooks

RxScale unterstützt optionale JavaScript-Hooks, die bei bestimmten Ereignissen auf der Webseite ausgelöst werden. Diese Hooks sind unabhängig und modular.

Folgende Integrationen werden unterstützt:

  1. Klaviyo

  2. Helium Account Management

  3. DataLayer für Google Tag Manager

  4. Window Event Handler

Im Folgenden werden diese Integrationen im Detail beschrieben.

01. Klaviyo-Integration

Voraussetzung: Das Klaviyo-Snippet muss bereits auf Ihrer Website installiert sein.

Antwortdaten eines Nutzers können verwendet werden, um:

  • Klaviyo-Profile zu identifizieren

  • Ereignisse in Klaviyo-Flows auszulösen

Die Integration nutzt das bestehende Klaviyo-SDK auf Ihrem Webauftritt.


02. Helium Account Management

Voraussetzung: Das Helium-Snippet muss installiert sein.

Ermöglicht:

  • Erstellung oder Identifikation eines Helium-Accounts anhand der Antworten

  • Automatisches Vorbefüllen von Login- oder Formulardaten basierend auf früheren Einsendungen


03. Google Tag Manager / DataLayer

RxScale sendet strukturierte Events in das dataLayer-Objekt.
Diese Events werden sowohl beim Übergang zwischen Schritten als auch nach Abschluss des Fragebogens ausgelöst.

Folgende Variablen werden bereitgestellt:

  • aktueller Schritt

  • vorheriger Schritt

  • Schritt-Name

  • Fragebogen-Version

  • Fragebogen-Name

  • Fragebogen-ID

Ereignisse werden sowohl bei sprunghaften Änderungen als auch beim Ausfüllen eines Fragebogens ausgelöst.


04. Window Event Handler

Nach erfolgreichem Abschluss eines Fragebogens kann RxScale eine benutzerdefinierte Callback-Funktion aufrufen:

Beispiel:

window.rxscaleQuestionnaireCompleted = ({ submissionId }) => {

// Custom logic, e.g., redirect or analytics

};

Damit können Entwickler maßgeschneiderte Abläufe implementieren, die nach einer abgeschlossenen Einsendung stattfinden sollen.


5. Verknüpfen einer Einsendung mit einer Shopify-Bestellung

Damit RxScale eine bestimmte Einsendung eindeutig einer Shopify-Bestellung zuordnen kann, müssen entsprechende Metadaten gespeichert werden.
Diese können auf Bestell-Ebene oder pro Order Item gespeichert werden.

Wenn Sie Daten von einem eigenen Fragebogen senden, müssen Sie zusätzlich zum Anamnesis-UID auch den Provider-Identifier übermitteln.

Erforderliche Eigenschaft nur für RxScale-Fragebögen

_anamnesis_uid

Nur für externe Anbieter erforderlich

_external_submission_identifier

Nur für externe Anbieter erforderlich

_external_provider_uid

  • Priorität: Wenn Werte auf Bestell- und Item-Ebene vorhanden sind, hat der Item-Wert Vorrang.

    Wichtig: Das Speichern von _anamnesis_uid auf Bestell-Ebene ermöglicht Shopify das Duplizieren von Bestellungen über Reorder-Funktionen.

Um diese Eigenschaft in einem Shopify-Shop festzulegen, können Sie das folgende Beispiel verwenden. Dieser Codeausschnitt verknüpft die _anamnesis_uid mit dem Warenkorb, die später beim Bezahlvorgang an die Bestellung übergeben wird:

fetch('/cart/update.js', {

method: 'POST',

headers: {
'Content-Type': 'application/json'

},

body: JSON.stringify({

attributes: {

_anamnesis_uid: "",

_external_submission_identifier: "" // only required for external question naire submissions

_external_provider_uid: "" // only required for external questionnaire submissions

}

})

})


6. Apothekenauswahl (Pharmacy Selection)

Um eine ausgewählte Apotheke mit einer Anamnese-Einsendung zu verknüpfen, senden Sie folgende Anfrage an die RxScale-API:

attribute s/pharmacy`, {

method: 'PUT',

headers: {

'Content-Type': 'application/json'

},

body: JSON.stringify({

key: "pharmacy_email",

value: pharmacyEmail,

pharmacy_uid: pharmacyUid

})

});

Wenn die gewählte Apotheke keine E-Mail-Adresse besitzt und ihre Daten ausschließlich über eine API erhält, übergeben Sie einfach einen leeren String als value.


7. Patientenstatus (Patient Status)

Um zu prüfen, wann ein Patient zuletzt eine Anamnese erfolgreich unterschrieben hat, senden Sie nach dem Shopify-Login folgende Anfrage:

fetch("https://api.rxscale.com/api/v0/patient/intent?shop_customer_id=XXXX &shop_identifier=XXXXX&intent=XXXX", requestOptions)

.then((response) => response.text())

.then((result) => console.log(result))

.catch((error) => console.error(error);

Hinweis: Der Fragebogen muss mit dem entsprechenden Intent getaggt sein.

Die Antwort enthält einen return_code mit folgender Bedeutung:

Return Code

Bedeutung

100

Keine vorherige Einsendung oder letzte Einsendung älter als 24 Monate

200

Letzte Einsendung 12–24 Monate alt

300

Letzte Einsendung innerhalb der letzten 12 Monate

Beispiel-Antwort:

{

"return_code": 300

}

Hat dies deine Frage beantwortet?