Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. The API Client requests the token endpoint from the auth server.
  2. The token endpoint is returned to the API Client.
  3. Request an access token from the auth server by providing the following post request parameters:
    1. grant_type: set to 'password'
    2. client_id: provided individually by SASIS
    3. client_secret: provided individually by SASIS
    4. username: provided individually by SASIS
    5. password: provided individually by SASIS
    6. scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
  4. The access token as well as the refresh token is returned to the API Client.
  5. The specific API resource is called providing the access token in as bearer in the Authorization http header:
    'Authorization: Bearer <access token>'
  6. The API responds to the request.
  7. Once the access token expired, the previously received refresh token is used to request a new access token from the auth server by providing the following parameters:
    1. grant_type: set to 'refresh_token'
    2. client_id: provided individually by SASIS
    3. client_secret: provided individually by SASIS
    4. scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
    5. refresh_token: The refresh token received with the last access token.
  8. A new access token as well as a new refresh token is returned to the API Client.
  9. The specific API resource is called providing the new access token in as bearer in the Authorization http header:
    'Authorization: Bearer <access token>'
  10. The API responds to the request.


Werden sistierte (inaktive) Nummern über den ZSR Webservice ausgeliefert?

ZSR Webservice liefert sistierte ZSR- wie auch K-Nummer aus, sofern die Sistierung nicht länger als 10 Jahre zurückliegt. 

Ein sistierter Leistungserbringer, bzw. Angestellter kann wie folgt identifiziert werden: Zum Abfragezeitpunkt besteht keine gültige validityPeriod.


Werden gelöschte Nummern über den Webservice geliefert?

Nummern werden gelöscht, wenn diese irrtümlicherweise erteilt wurden und nie fachlich gültig waren oder wenn diese vor mehr als 10 Jahren sistiert wurden (siehe sistierte Nummern).

Integratoren wird folgendes Vorgehen empfohlen, um gelöschte Nummern zu erkennen:

  • Laden aller Nummern über den Endpoint Numbers ohne Wert in modifiedFrom und Offset 0 und Limit 150'000. Die Liste enthält alle publizierten Nummern abzüglich der gelöschten Nummern.  
  • Vergleich des Outputs mit den im eigenen System geführten Nummern. Alle Nummer, die im eigenen System vorhanden nicht aber im Output enthalten sind, müssen als gelöscht verarbeitet werden. 


Warum erhalte ich keine Response auf eine angefragte Nummer?

Wenn eine Nummer abgefragt wird und keine Werte geliefert werden, ist die Nummer:

  • nicht bei santéservices ag  vorhanden.
  • storniert, weil sie irrtümlich erstellt wurde. Das heisst, sie war fachlich nie gültig.
  • archiviert. Spätestens 10 Jahre nach Inaktivsetzung wird eine Nummer archiviert.


Wie sieht das Datenmodell beim ZSR Webservice aus?

Die wichtigsten Entitäten sind:

  • CareProvider - Leistungserbringer
  • CareProviderBusiness - Standort
  • ClearingNumber - ZSR-Nummer
  • EmployeeNumber - K-Nummer

Hauptentitäten einer ClearingNumber (Zahlstelle):

  • number (ZSR-Nummer)
  • correspondenceParty (Korrespondenzadresse)
  • clearingNumberSuffix (Nummernkreis = letzte beiden Ziffern einer ZSR-Nummer)
  • account (Konto)
  • clearingNumberLaws (Zulassung)
  • careProvider (Leistungserbringer)
    • careProviderParties (Adressen)
    • qualifications (Qualifikationen)
    • employeeNumbers (K-Nummer)
  • careProviderBusinesses (Zahlstellen-Standorte)
    • careProviderBusinessParties (Adressen)
    • facilities (Einrichtung)
    • healthServices (Methoden)
    • affiliations (Mitgliedschaften)
  • businessScope (PaOG/PaUG)
  • businessActivity (Haupttätigkeit Ärztin/Arzt)
  • relatedClearingNumbers (zugeordnete Zahlstellen/Zusätzliche Zahlstellen)
  • relatedEmployees (Arbeitnehmer/Angestellte)
  • licenses (Kantonale Bewilligung)
  • admissions (Kantonale Zulassung)
  • validityPeriods (Gültigkeit der Nummer)


Hinweise:
Es handelt sich um eine stark vereinfachte Darstellung - für Details siehe Swagger-Schema.


Mit welchem Response-Format gibt der ZSR-Webservice Antwort?

Die Daten werden in JSON Format geliefert (XML wird nicht unterstützt).


Können Referenzdaten (=Stammdaten) separat geladen werden?

Stammdaten/Basisdaten zu ZSR-/K-Nummern Werten (Methoden, Qualifikationen, Banken, usf.) müssen grundsätzlich nicht separat geladen werden. Alle notwendigen Daten werden direkt in der Detail-Response zur einzelnen Nummer mitgeliefert.

Bei Bedarf können Stammdaten/Basisdaten dennoch separat wie folgt eingelesen werden:

  • Alle Enum-Werte (z.B. Gender, Canton u.a.) werden bereits im swagger.json (JSON) vollständig ausgewiesen. Mit Hilfe des SwaggerEditors oder anderer Tools lassen sich Referenz-Klassen des ZSR-Webservice samt der dazugehörigen Enum-Werte automatisch generieren.
  • Nicht als Enum-Werte im swagger.json ausgewiesen, aber über einen dedizierten ZSR-Webservice Endpoint abrufbar sind folgende Werte:
    • Affiliations (Verbandscodes)
    • BusinessActivities
    • BusinessScopes (PAOG/PAUG)
    • CareProviderCertification
    • ClearingNumberSuffixes (Nummernkreise)
    • Countries (Länder)
    • Distribution Types
    • Facilities (Standorteigenschaften)
    • FunctionalUnits
    • HealthServices (Methoden)
    • Qualifications (Qualifikationen)

Die eindeutige Identifikation der Stammdaten ist über das Element "key" (string) möglich. Siehe Werden technische Id's geliefert?
Beispiel: "key": "3fa85f64-5717-4562-b3fc-2c963f66afa6"



Wo finde ich die technische Dokumentation des Webservice?

Es steht eine Open API Specification zur Verfügung.

Nebst Swagger kann beispielsweise ReDoc zur Darstellung OpenAPI Specification genutzt werden.

  • Swagger: Das Swagger UI ermöglicht, Einzelabfragen zu testen. Die Darstellung mittels Swagger ist jedoch bezüglich Property-Darstellung von mehrfach vererbten Entitäten nicht abschliessend, d.h. es werden nicht alle Properties von Entitäten in Swagger-UI angezeigt,
  • Redocly: Als alternatives GUI wird Redocly zusätzlich zu Swagger-UI zur Verfügung gestellt. Entitäten von json werden hier immer mit allen Properties dargestellt. Die Ansicht des json kann unter /ApiGateway/docs aufgerufen werden: Live-System: https://zsrnext.ch/ApiGateway/docs


Gibt es eine Versionierung des ZSR-Webservice?

Der ZSR-Webservice liegt in der Version v1.x vor. Alle Änderungen am Webservice werden bis auf Weiteres nicht über neue Versionen im Parallelbetrieb umgesetzt, sondern alle Anpassungen erfolgen direkt auf der Version v1.x. Jegliche Änderungen werden jedoch rechtzeitig als Release-Notes publiziert und per Stage-System zur Verfügung gestellt. Es gelten die Service Level Agreement SLA.


Steht den Kunden eine Integrationsumgebung zur Verfügung?

Für die Integration des ZSR-Webservices sowie für vorgängiges Testing von neuen Webservice-Versionen steht unter int.zsrnext.ch/ eine Integrationsplattform bereit.
Der Datenstand der Integrationsplattform wird wöchentlich jeden Mittwoch Morgen mit einer Kopie von Live aktualisiert. Aufgrund der Datenaktualisierung sowie Wartungsarbeiten ist auf der Integrationsplattform jeden Mittwoch von 06:00 bis 12:00 mit Unterbrüchen zu rechnen.


Wie lauten die aktuellen IT-SLA der santéservices ag

Für den Webservice kommt das  Service Level Agreement SLA der santéservices IT Services zur Anwendung.



Anfragen und Support

Wo kann der Zugang zum ZSR-Webservice beantragt werden?

Bitte nehmen Sie Kontakt mit uns auf um den Zugang zum ZSR-Webservice zu beantragen.


An wen kann man sich bei Supportanfragen zum ZSR-Webservice wenden?

Bitte nehmen Sie Kontakt mit uns auf.



Authentifizierung und Absetzen von Abfragen

Wie kann auf den ZSR-Webservice zugegriffen werden?

Bitte nehmen Sie Kontakt mit uns auf um den Zugang zum ZSR-Webservice zu beantragen.


Wie erfolgt die Authentifizierung?

Die Authentifizierung basiert auf OpenID Connect bzw. OAuth 2.0 unter Verwendung von password grant.

Sv translation
languagede



Integration des Webservices

Welche Daten können über den ZSR-Webservice bezogen werden?

Welche Daten abgefragt werden können ist also abhängig von den Modulen die der Kunde abonniert hat. Siehe Abo-Optionen

Mit welchem Response-Format gibt der ZSR-Webservice Antwort?

Die Daten werden in JSON Format geliefert (XML wird nicht unterstützt).

Können Referenzdaten (=Stammdaten) separat geladen werden?

Stammdaten/Basisdaten zu ZSR-/K-Nummern Werten (Methoden, Qualifikationen, Banken, usf.) müssen grundsätzlich nicht separat geladen werden. Alle notwendigen Daten werden direkt in der Detail-Response zur einzelnen Nummer mitgeliefert.

Bei Bedarf können Stammdaten/Basisdaten dennoch separat wie folgt eingelesen werden:

  • Alle Enum-Werte (z.B. Gender, Canton u.a.) werden bereits im swagger.json (JSON) vollständig ausgewiesen. Mit Hilfe des SwaggerEditors oder anderer Tools lassen sich Referenz-Klassen des ZSR-Webservice samt der dazugehörigen Enum-Werte automatisch generieren.
  • Nicht als Enum-Werte im swagger.json ausgewiesen, aber über einen dedizierten ZSR-Webservice Endpoint abrufbar sind folgende Werte:
    • Affiliations (Verbandscodes)
    • BusinessActivities
    • BusinessScopes (PAOG/PAUG)
    • CareProviderCertification
    • ClearingNumberSuffixes (Nummernkreise)
    • Countries (Länder)
    • Distribution Types
    • Facilities (Standorteigenschaften)
    • FunctionalUnits
    • HealthServices (Methoden)
    • Qualifications (Qualifikationen)
    • TariffSystems (Tarifsysteme)

Die eindeutige Identifikation der Stammdaten ist über das Element "key" (string) möglich. Siehe Werden technische Id's geliefert?
Beispiel: "key": "3fa85f64-5717-4562-b3fc-2c963f66afa6"

Wo finde ich die technische Dokumentation des Webservice?

Es steht eine Open API Specification zur Verfügung.

Nebst Swagger kann beispielsweise ReDoc zur Darstellung OpenAPI Specification genutzt werden.

Gibt es eine Versionierung des ZSR-Webservice?

Der ZSR-Webservice liegt in der Version v1.x vor. Alle Änderungen am Webservice werden bis auf Weiteres nicht über neue Versionen im Parallelbetrieb umgesetzt, sondern alle Anpassungen erfolgen direkt auf der Version v1.x. Jegliche Änderungen werden jedoch rechtzeitig als Release-Notes publiziert und per Stage-System zur Verfügung gestellt. Es gelten die https://www.sasis.ch/sharepoint/public/service-level-agreement.pdf.

Steht den Kunden eine Integrationsumgebung zur Verfügung?

Für die Integration des ZSR-Webservices sowie für vorgängiges Testing von neuen Webservice-Versionen steht unter int.zsrnext.ch/ eine Integrationsplattform bereit.
Der Datenstand der Integrationsplattform wird wöchentlich jeden Mittwoch Morgen mit einer Kopie von Live aktualisiert. Aufgrund der Datenaktualisierung sowie Wartungsarbeiten ist auf der Integrationsplattform jeden Mittwoch von 06:00 bis 12:00 mit Unterbrüchen zu rechnen.

Wie lauten die aktuellen IT-SLA der SASIS AG

Für den Webservice kommt das Service Level Agreement der SASIS IT Services zur Anwendung.

Anfragen und Support

Wo kann der Zugang zum ZSR-Webservice beantragt werden?

Bitte nehmen Sie Kontakt mit uns auf um den Zugang zum ZSR-Webservice zu beantragen.

An wen kann man sich bei Supportanfragen zum ZSR-Webservice wenden?

Bitte nehmen Sie Kontakt mit uns auf.

Authentifizierung und Absetzen von Abfragen

Wie kann auf den ZSR-Webservice zugegriffen werden?

Bitte nehmen Sie Kontakt mit uns auf um den Zugang zum ZSR-Webservice zu beantragen.

Wie erfolgt die Authentifizierung?

Die Authentifizierung basiert auf OpenID Connect bzw. OAuth 2.0 unter Verwendung von password grant.

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameapi_access_sequence
simpleViewerfalse
width600
diagramWidth676
revision2
draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameapi_access_sequence
simpleViewerfalse
width600
diagramWidth676
revision2

  1. The API Client requests the token endpoint from the auth server.
  2. The token endpoint is returned to the API Client.
  3. Request an access token from the auth server by providing the following post request parameters:
    1. grant_type: set to 'password'
    2. client_id: provided individually by santéservices
    3. client_secret: provided individually by santéservices
    4. username: provided individually by santéservices
    5. password: provided individually by santéservices
    6. scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
  4. The access token as well as the refresh token is returned to the API Client.
  5. The specific API resource is called providing the access token in as bearer in the Authorization http header:
    'Authorization: Bearer <access token>'
  6. The API responds to the request.
  7. Once the access token expired, the previously received refresh token is used to request a new access token from the auth server by providing the following parameters:
    1. grant_type: set to 'refresh_token'
    2. client_id: provided individually by santéservices
    3. client_secret: provided individually by santéservices
    4. scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
    5. refresh_token: The refresh token received with the last access token.
  8. A new access token as well as a new refresh token is returned to the API Client.
  9. The specific API resource is called providing the new access token in as bearer in the Authorization http header:
    'Authorization: Bearer <access token>'
  10. The API responds to the request.