Zum Hauptinhalt springen

Fragebogen-Integration

RxScale bietet einbettbare medizinische Fragebögen, die Patienteninformationen für ärztliche Konsultationen erfassen. Diese Fragebögen können über das RxScale Admin Tool erstellt und angepasst werden.

Installation

Auf der Detailseite des Fragebogens im Admin Tool finden Sie ein Installationsskript. Fragebogen-Releases sind versioniert, sodass Sie neue Versionen sicher testen können. Fügen Sie Folgendes zu Ihrer Seite hinzu:
<!-- Placeholder for the questionnaire -->
<div id="rxscale_questionnaire"></div>

<!-- Assign your questionnaire UID -->
<script>
  window.rxscale_questionnaire_uid = "YOUR_QUESTIONNAIRE_UID";
</script>

<!-- Main JS for rendering -->
<script defer src="https://snippets.rxscale.com/v2.7/index.js"></script>

<!-- Default styling -->
<link href="https://snippets.rxscale.com/v2.7/index.css" rel="stylesheet" />

<!-- Optional: Custom styling -->
<link href="https://customizations.rxscale.com/YOUR_QUESTIONNAIRE_UID/css/customization.css" rel="stylesheet" />
Ersetzen Sie YOUR_QUESTIONNAIRE_UID durch die UID von der Detailseite Ihres Fragebogens im Admin Tool.
RxScale rendert den Fragebogen automatisch und reagiert auf den konfigurierten Typ:
  • Product Recommender — Zeigt einen Empfehlungsablauf basierend auf den Antworten des Patienten an
  • Direct To Cart — Leitet den Benutzer nach Abschluss zum Warenkorb weiter (sofern nicht anders konfiguriert)

Event Hooks

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

Window Event Handler

Nach einer erfolgreichen Fragebogen-Einreichung ruft RxScale einen Callback namens rxscaleQuestionnaireCompleted auf:
window.rxscaleQuestionnaireCompleted = ({ submissionId }) => {
  // Custom logic, e.g., redirect or analytics
};

DataLayer (Google Tag Manager)

RxScale überträgt strukturierte Events in das dataLayer-Objekt für die Google Tag Manager-Integration. Events werden bei Seitenübergängen und nach Abschluss des Fragebogens ausgelöst. Verfügbare Variablen:
  • nextStep — Kennung des nächsten Schritts
  • previousStep — Kennung des vorherigen Schritts
  • stepName — Name des aktuellen Schritts
  • questionnaireVersion — Fragebogen-Version
  • questionnaireName — Fragebogen-Name
  • questionnaireId — Fragebogen-UID

Klaviyo-Integration

Das Klaviyo-Snippet muss auf Ihrer Webseite installiert sein, damit diese Integration funktioniert.
Wenn ein Benutzer einen Fragebogen beantwortet, können seine Antwortdaten ein Klaviyo-Profil identifizieren oder ein Event über das vorhandene Klaviyo-SDK auf Ihrer Seite auslösen.

Helium-Integration

Das Helium-Snippet muss auf Ihrer Webseite installiert sein, damit diese Integration funktioniert.
Benutzerantworten können ein Helium-Konto identifizieren oder erstellen und Funktionen wie das Vorausfüllen von Anmeldefeldern basierend auf zuvor eingereichten Antworten ermöglichen.

Einreichungen mit Bestellungen verknüpfen

Um eine Fragebogen-Einreichung mit einer Shopify-Bestellung zu verknüpfen, fügen Sie identifizierende Metadaten in die Bestellung ein. Die erforderlichen Informationen können auf Bestellebene oder innerhalb jeder Bestellposition gespeichert werden.

Erforderliche Eigenschaften

EigenschaftErforderlich fürBeschreibung
_anamnesis_uidRxScale-FragebögenVerknüpft die Einreichung mit der Bestellung
_external_submission_identifierExterne AnbieterIhre externe Einreichungs-ID
_external_provider_uidExterne AnbieterIhre externe Anbieter-UID
Wenn sowohl Eigenschaften auf Bestellebene als auch auf Positionsebene vorhanden sind, hat die Eigenschaft auf Positionsebene Vorrang.

Beispiel: RxScale-Fragebogen

fetch('/cart/update.js', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    attributes: {
      _anamnesis_uid: "SUBMISSION_UID"
    }
  })
});

Beispiel: Externer Fragebogen-Anbieter

fetch('/cart/update.js', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    attributes: {
      _external_submission_identifier: "YOUR_EXTERNAL_ID",
      _external_provider_uid: "YOUR_PROVIDER_UID"
    }
  })
});
Das Speichern von _anamnesis_uid auf Bestellebene ermöglicht es Shopify, Bestellungen bei Bedarf zu duplizieren (z. B. über die Nachbestellfunktion).

Apothekenauswahl

Um eine ausgewählte Apotheke mit einer Einreichung zu verknüpfen, senden Sie die Apothekeninformationen an die RxScale-API:
fetch(`https://api.rxscale.com/api/v3-1/anamnesis/${anamnesis_uid}/attributes/pharmacy`, {
  method: 'PUT',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    key: "pharmacy_email",
    value: pharmacyEmail,    // empty string if pharmacy uses API integration
    pharmacy_uid: pharmacyUid
  })
});
Wenn die ausgewählte Apotheke Daten über eine API-Integration erhält (keine E-Mail), übergeben Sie einen leeren String für das Feld value.

Patientenstatus-Prüfung

Prüfen Sie nach dem Shopify-Login, wann ein Patient zuletzt eine Anamnese unterzeichnet hat, anhand seiner Kunden-ID:
const response = await fetch(
  "https://api.rxscale.com/api/v0/patient/intent" +
  "?shop_customer_id=CUSTOMER_ID" +
  "&shop_identifier=YOUR_SHOP" +
  "&intent=INTENT_NAME"
);
const data = await response.json();
console.log(data.return_code);
Der Fragebogen muss im Admin Tool mit dem Intent getaggt sein, damit dies funktioniert.

Rückgabecodes

CodeBedeutung
100Keine vorherige Einreichung, oder letzte unterzeichnete Einreichung älter als 24 Monate
200Letzte unterzeichnete Einreichung liegt zwischen 12 und 24 Monaten zurück
300Letzte unterzeichnete Einreichung liegt innerhalb der letzten 12 Monate
Beispielantwort:
{
  "return_code": 300
}