[inhalt]
Projekt BISO 3 - Handbuch

Online-Anmeldungen in BISO mit Jaxforms

Jaxforms (siehe https://jaxforms.ch/) der Firma XCentric GmbH stellt für den Kt Bern eine Formularlösung für eine Beratungsanmeldung zur verfügung.

Nach Eingabe der Daten landen diese Informationen heute bereits in BISO, in einer "Inbox", von wo aus die Berater dann Fälle erstellen können. Diese Daten sind heute aber beschränkt auf Stammdaten (Personen-Daten), es findet keine Online-Terminfindung statt.

Ziel

Ziel ist nun, dass sich Ratsuchende online auf einen bestimmten Termin anmelden können: Jaxforms soll also bereits eine Terminauswahl anbieten können, welche dann in BISO bei der Falleröffnung zur Verfügung steht.

Geplanter Ablauf

Berater/in erfasst freie Termine in BISO

Als ersten Schritt werden die freien Termine wie gehabt in BISO erfasst. Ein speziell markiertes Termin-Thema markiert den Termin zur Freigabe im Web.

Termine in BISO

Terminauswahl via Jaxforms durch Ratsuchende

Die Termine sind nun in BISO verfügbar, und können im Web via Jaxforms zur Auswahl angeboten werden. Nach Abschluss des Jaxform-Formularprozesses landen die eingegebenen Daten inkl. Terminwahl in der BISO-Inbox zur weiteren Bearbeitung. Der Termin wird dabei reserviert.

Terminauswahl Jaxforms

Fall-Eröffnung in BISO

Nach erfolgter Online-Anmeldungen muss in BISO aus den Inbox-Daten nun ein Fall eröffnet werden. Dies passiert durch eine leichte Anpassung am heutigen Fall-Eröffnungsprozess: Die Eröffnung wird aus der Inbox heraus angestossen, der reservierte Termin aufgeführt.

BISO Falleröffnung

Termin-Absage

Auch eine Termin-Absage wird von Jaxforms aus angestossen: Die Ratsuchenden habend die Möglichkeit, den gewählten Termin via URL wieder abzusagen. Der Termin wird, sofern noch möglich, wieder zu einem freien Termin in BISO.

BISO Terminabsage

Termin-Verschiebung

Die Termin-Verschiebung ist eine Kombination aus Termin-Absage und Suche eines neuen Termins: Aus Sicht BISO sind hier keine weiteren Schnittstellen / Abläufe zu planen:

Jaxforms muss die entsprechenden Schritte (Absage, Neuwahl) zusammenfassen und im Frontend entsprechend anzeigen.

Architektur

Die Architektur sieht vor, dass BISO die notwendigen Daten und Funktionen als REST-Schnittstelle für Jaxforms anbieten kann: BISO stellt somit für alle notwendigen Abfragen / Operationen REST-Services zur Verfügung.

Angestossen wird somit der Prozess immer von Jaxforms aus.. BISO dient als REST-Server, während Jaxforms den REST-Client darstellt.

Service-Architektur

Benötigte BISO-Daten in Jaxforms

Aufgrund der gelieferten Spezifikation werden in Jaxforms folgende Daten aus BISO benötigt, welche BISO via Schnittstelle zur Verfügung stellen muss:

Benötigte Schnittstellen-Funktionen für Jaxforms

Termin-Handling in BISO

Es wird nun notwendig, dass Beratungsfall-Termine Zustände erhalten: Bis anhin gab es nur 2 Zustände: Frei oder am Beratungsfall zugewiesen. Dies wurde ganz einfach über den zugewiesenen Beratungsfall ermittelt (bf_termin.beratungsfall_id).

Dies reicht nun nicht mehr aus: Ein Termin muss nun verschiedene Zustände unterscheiden können:

Termin-Status

API-Schnittstelle

Die API-Schnittstelle bietet verschiedene Entry-Points, welche in folgender OpenAPI-Dokumentation ersichtlich sind:

https://proxy.kadenpartner.ch/biso3/integration/doc/api-doc/dist/

(Quelle: doc/api-doc/).

Dabei sind vor allem folgende Endpoints wichtig / erwähnenswert:

Die Daten, welche Jaxforms and sendFormData liefert sind hochspezifisch, und genau abgestimmt auf die Jaxforms-Lösung. Sie werden als JSON-Datenstruktur geliefert, und im JaxFormsService::parseJsonFormData() geparst.

Eine Beispiellieferung ist hier verlinkt.

Konfiguration

TBD: config.php, ...? TBD: Gaia-Kommandos dokumentieren: api-key generieren, routen freigeben