Appearance
Zugriff auf CuraGo-Daten ohne Caching-Protokoll für Third-Party Apps
1. Allgemeines
In der folgenden Kurzanleitung wird grob skizziert, wie eine Third-Party-App mit dem CuraGo-Server kommunizieren sollte.
Für detailliertere Angaben ist die OpenAPI-Dokumentation heranzuziehen:
text
https://docs.curasoft.dev/cura-go.deHier wird der Datenaustausch ohne Caching-Protokoll erklärt.
Bei großen Datenmengen wird empfohlen, die API inklusive Caching-Protokoll anzusprechen.
Siehe dazu die Dokumentation zur Variante mit Caching.
2. Authentifizierung beim Server
Die Authentifizierung besteht aus zwei Informationen:
- API-Key: Erlaubt den Serverzugriff.
- ACCESS-Key: Erlaubt den Datenzugriff.
Der API-Key wird von CuraSoft zur Verfügung gestellt.
Der ACCESS-Key wird vom Kunden / Pflegedienst / Leistungserbringer zur Verfügung gestellt.
Dieser kann im cura-go.de-Portal unter „Freigaben“ erzeugt werden.
Diese beiden Keys werden beim Authentifizieren im Header mitgeschickt.
Nachdem man sich erfolgreich authentifiziert hat, erhält man ein Bearer-Token, welches bei allen weiteren Requests im Auth-Header mitgeschickt werden muss.
Das Bearer-Token ist ein JWT (JSON Web Token).
Request
Route
http
GET /auth/v3/appHeader
text
X-API-KEY: <api_key>
X-ACCESS-KEY: <access_key>Response
text
<bearer>3. Abfragen von Daten
Request
Route
http
GET /web/v3/rest/{model}Header
text
Authorization: Bearer <bearer>Pfad-Parameter
text
{model}: z. B. Patient oder MitarbeiterResponse
json
[
{ "..": ".." },
{ "..": ".." }
]Diese Abfrageart ist limitiert auf 1000 Einträge. Mit dem Queryparameter limit kann diese Einschränkung umgangen werden. Jedoch empfielt es sich bei solchen Datenmengen die gecachte Kommunikation mit der API zu nutzen! (Siehe Kapitel CuraGo API inkl. Caching).
4. Beispiel: Abfragen von Mandanten
Ein Leistungserbringer bzw. Pflegedienst kann mehrere Zweigstellen bzw. Mandanten haben.
Diese sind in allen hinterlegten Datensätzen durch das Feld mandant_id gekennzeichnet.
Hier kann man sich auflisten lassen, welche Mandanten ein Leistungserbringer bzw. Pflegedienst überhaupt hat.
Request
Route
http
GET /web/v3/rest/MandantHeader
text
Authorization: Bearer <bearer>Response
text
Mandant[]5. Beispiel: Abfragen von Patienten-Daten
Request
Route
http
GET /web/v3/rest/PatientHeader
text
Authorization: Bearer <bearer>Response
text
Patient[]