Integration des WebservicesWelche 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 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.
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 agWo 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 AbfragenWie 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?| draw.io Diagram |
|---|
| border | true |
|---|
| viewerToolbar | true |
|---|
| |
|---|
| fitWindow | false |
|---|
| diagramName | api_access_sequence |
|---|
| simpleViewer | false |
|---|
| width | 600 |
|---|
| diagramWidth | 676 |
|---|
| revision | 2 |
|---|
|
- The API Client requests the token endpoint from the auth server.
- The token endpoint is returned to the API Client.
- Request an access token from the auth server by providing the following post request parameters:
- grant_type: set to 'password'
- client_id: provided individually by santéservices
- client_secret: provided individually by santéservices
- username: provided individually by santéservices
- password: provided individually by santéservices
- scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
- The access token as well as the refresh token is returned to the API Client.
- The specific API resource is called providing the access token in as bearer in the Authorization http header:
'Authorization: Bearer <access token>'
- The API responds to the request.
- 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:
- grant_type: set to 'refresh_token'
- client_id: provided individually by santéservices
- client_secret: provided individually by santéservices
- scope: set constantly to 'openid profile email offline_access roles c1s_profile cpr'
- refresh_token: The refresh token received with the last access token.
- A new access token as well as a new refresh token is returned to the API Client.
- The specific API resource is called providing the new access token in as bearer in the Authorization http header:
'Authorization: Bearer <access token>'
- The API responds to the request.
Access token The access token response contains additional information: | Code Block |
|---|
| language | java |
|---|
| title | Access token response |
|---|
| {
"access_token": "MTQ0NjOkZmQ5OTM5NDE9ZTZjNGZmZjI3",
"refresh_token": "GEbRxBNZmQOTM0NjOkZ5NDE9ZedjnXbL",
"token_type": "bearer",
"expires_in": 300,
"scope": "openid profile email offline_access roles c1s_profile cpr"
} |
The token itself is a JWT and can therefore be decoded on the JWT website. The expires_in field defines the validity period of the token in seconds. Afterwards, a new token must be retrieved. Code samples A complete c# sample shows how to access one specific API resource (numbers): | HTML |
|---|
<div class="references"> |
CprApiAccessSample.zip Authentication in other languages follows the same procedure. The following code snippets explain the procedure on a step-by-step basis: | Code Block |
|---|
| language | c# |
|---|
| theme | Confluence |
|---|
| title | 1./2. Retrieve the auth servers token endpoint |
|---|
| collapse | true |
|---|
| /// <summary>
/// Loads the IAM configuration.
/// </summary>
private async Task<DiscoveryResponse> GetDiscoveryDocumentAsync(CancellationToken ct)
{
|
API Specification| Expand |
|---|
| title | Open API Specification |
|---|
| | HTML |
|---|
<!-- Models like EmployeeNumberDetailViewItem generate errors due to a SwaggerUI bug (https://github.com/swagger-api/swagger-ui/issues/3366). The errors are currently suppressed via CSS ('Space Tools' -> 'Look and Feel' -> 'Stylesheet'; 'Confluence Administrator' role needed to change this configuration). --> |
| Panel |
|---|
| Open API (Swagger) Integration for Confluence | {
"openapi": "3.0.1",
"info": {
"title": "CPR API v1",
"description": "This is the CPR API v1 documentation (binary version v1.0.3.29.StageNext).",
"contact": {
"name": "CPR API Support",
"email": "support@sasis.ch"
},
"version": "1"
},
"servers": [
{
"url": "/ApiGateway"
}
],
"paths": {
"/api/v1/careprovidercertification": {
"post": {
"tags": [
"CareProviderCertification"
],
"summary": "Creates or updates care provider certification periods and health services of one specific care provider. The request must always contain the full set historicised data.",
"requestBody": {
"description": "",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CareProviderCertificationRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CareProviderCertificationRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CareProviderCertificationRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CareProviderCertificationRequest"
}
}
}
},
"responses": {
"202": {
"description": "Success. The provided data has been accepted and is scheduled to be applied asynchronously."
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Error response"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"type": "object",
using (var client = new HttpClient())
"additionalProperties": {
var discoveryResponse = "type": "array",
await client.GetDiscoveryDocumentAsync(new DiscoveryDocumentRequest
"items": {
Address = "type": "string"[AuthorityUrl]"
}, ct).ConfigureAwait(false);
}
if (discoveryResponse.IsError)
},
throw "description": "Error response"
new Exception(discoveryResponse.Error);
return }discoveryResponse;
}
} |
| Code Block |
|---|
| language | c# |
|---|
| theme | Confluence |
|---|
| title | 3./4. Request access and refresh token |
|---|
| collapse | true |
|---|
| }
/// <summary>
},
/// Gets a new token response with "401": {
a username and password.
/// "description": "Unauthorized"
</summary>
private async Task<TokenResponse> RequestTokenAsync(CancellationToken }ct)
}{
}
},
using "/api/v1/clearingnumbers": {
(var client = new HttpClient())
"post": {
{
"tags": [
"ClearingNumbers"
var discoveryResponse = ],await GetDiscoveryDocumentAsync(ct).ConfigureAwait(false);
"summary": "Returns details for specific clearing numbers (ZSR/RCC/CPR). The returned data is to be specified as a list of plain clearing numbers as parameters.",
var tokenResponse = await client.RequestPasswordTokenAsync(new PasswordTokenRequest
"requestBody": {
"description": "A list of plain clearing numbers. <br />Validations:<ul><li>Max. 500 clearing numbersClientId per request.</li></ul>= "[ClientId]",
"content": {
ClientSecret = " application/json-patch+json": {
[ClientSecret]",
"schema": {
UserName = " type": "array"[UserName]",
"items": {
Password = "[Password]",
"type": "string"
Address = discoveryResponse.TokenEndpoint,
}
GrantType }= OidcConstants.GrantTypes.Password,
},
Scope = string.Join(" "application/json": {
, _scopes),
"schema": {}, ct).ConfigureAwait(false);
"type": "array",if (tokenResponse.IsError)
"items": {
throw new Exception(tokenResponse.Error);
"type": "string"
return tokenResponse;
}
} |
| Code Block |
|---|
| language | c# |
|---|
| theme | Confluence |
|---|
| title | 7./8. Token refresh strategy based validity of cached token response and request new access token |
|---|
| collapse | true |
|---|
| /// }<summary>
/// Gets the access },
token by either requesting a new token or by using the "text/json": {
refresh token of an already existing token.
/// </summary>
"schema": {
private async Task<string> GetAccessTokenAsync(CancellationToken ct)
"type": "array", {
if (_tokenResponse == "items": {
null)
{
"type": "string"
// Creates a new token response
}
_tokenResponse = }await RequestTokenAsync(ct).ConfigureAwait(false);
},
"application/*+json": {else
"schema": {
"type": "array",
var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
"items": {
// Parses JWT access token
"type": "string"
var jwtSecurityToken = jwtSecurityTokenHandler.ReadToken(_tokenResponse.AccessToken) as JwtSecurityToken;
}
// The access token might be }
valid now, but expired the very next millisecond.
}
}
// Thus, add a reasonable reserve in minutes },
for the validity time comparison below.
"responses": {
"200": {
var comparisionCorrectionInMinutes = 1;
"description": "Success",
// Compares the access token "content": {
life time with the current time, modified by the comparison correction value.
"application/json": {
if (jwtSecurityToken.ValidTo < DateTime.UtcNow.AddMinutes(comparisionCorrectionInMinutes))
"schema": {
{
"type": "array",
// Updates the existing "items": {token response
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.ClearingNumberDetailViewItem"
_tokenResponse = await RefreshTokenAsync(_tokenResponse.RefreshToken, ct).ConfigureAwait(false);
}
}
}
return _tokenResponse.AccessToken;
}
/// <summary>
}
/// Gets an updated token response },
by using a refresh token.
"400": {
/// </summary>
private async "description": "Bad Request",
Task<TokenResponse> RefreshTokenAsync(string refreshToken, CancellationToken ct)
"content": {
using "application/json": {
(var client = new HttpClient())
"schema": {
var discoveryResponse = "type": "object",await GetDiscoveryDocumentAsync(ct).ConfigureAwait(false);
var tokenResponse "additionalProperties": {
= await client.RequestTokenAsync(new TokenRequest
{
"type": "array",
ClientId = " items": {[ClientId]",
ClientSecret = "type": "string"[ClientSecret]",
}
Address = discoveryResponse.TokenEndpoint,
},
ClientCredentialStyle = ClientCredentialStyle.AuthorizationHeader,
"description": "Error response"
GrantType = OidcConstants.GrantTypes.RefreshToken,
}
Parameters }=
}
{
},
"401": {
{ "description": "Unauthorized"refresh_token", refreshToken },
}
}
}
},
{ "scope", string.Join(" ", _scopes) }
"/api/v1/employeenumbers": {
"post": {
}
"tags": [
"EmployeeNumbers"
});
],
"summary": "Returns details for specificif employees(tokenResponse.IsError)
The returned data is to be specified as a list of plain employee numbers (K-Nummer / Numéro C / Numerothrow di controllo) as parameters.",
new Exception(tokenResponse.Error);
"requestBody": {
return tokenResponse;
"description": "A list of plain employee}
numbers. <br />Validations:<ul><li>Max. 500 employee numbers }
|
| Code Block |
|---|
| language | c# |
|---|
| theme | Confluence |
|---|
| title | 5./6./9./10. API resource call using the access token in the Authorization http header |
|---|
| collapse | true |
|---|
| per request.</li></ul>",
/// <summary>
"content": {
/// A simple CPR API "application/json-patch+json": {number search request.
/// </summary>
"schema": {
private async Task<BulkResponse> CprApiSampleRequestAsync(string accessToken, CancellationToken ct)
"type": "array",{
BulkResponse bulkResponse = "items": {new BulkResponse();
using (var client = "type": "string"new HttpClient())
{
}
}client.SetBearerToken(accessToken);
},
var response = "application/json": {await client.GetAsync($"https://[CprBaseUrl]/ApiGateway/api/v1/numbers?searchOptions=Okp&offset=0&limit=10", ct).ConfigureAwait(false);
"schema": {
if (!response.IsSuccessStatusCode)
"type": "array",
throw new Exception("There was a problem with the "items": {request");
"type": "string "
content = await response.Content.ReadAsStringAsync();
}
if (content != null && content.Length }
> 0)
},
"text/json": {
"schema": {
bulkResponse "type": "array",= JsonConvert.DeserializeObject<BulkResponse>(content);
"items": {}
"type": "string"
}}
return }bulkResponse;
},
} |
| Code Block |
|---|
| language | c# |
|---|
| theme | Confluence |
|---|
| title | Plain API Call (putting everything together) |
|---|
| collapse | true |
|---|
| var accessToken = "application/*+json": {
"schema": {await GetAccessTokenAsync(ct).ConfigureAwait(false);
var cprApiResponse = await CprApiSampleRequestAsync(accessToken, ct).ConfigureAwait(false); |
Welche Limiten bestehen auf Batchabfragen?Als Batchabfragen gelten Abfragen mit mehr als 50 Requests pro Minute und Kunde. Abfragen aus Batch-Prozessen auf Online-Dienste der santéservices ag dürfen ausschliesslich zwischen 22.00 und 4.00 Uhr durchgeführt werden. Die Online-Dienste der santéservices ag sind mit einer Begrenzung versehen, welche die Anfragen ab einer Überschreitung von 1000 Abfragen pro Minute und Kunde zurückweist (http Statuscode 503). Siehe auch Service Level Agreement SLAder santéservices ag Services. Weshalb kann ich nur 500 Nummern bei der Detailansicht beziehen?Abfragen an die Endpoints ClearingNumbers und EmployeeNumbers sind aus Performance Gründen auf 500 Nummern limitiert. Der Abfrage-Prozess ist so zu planen, das jeweils maximal 500 Nummern in einem Request enthalten sind. Welche Statuscodes werden vom Webservice zurückgegeben?Der Webservice verwendet http status codes. Folgende Codes können zurückgegeben werden: Status Code | Description |
|---|
| 200 | Success |
|---|
| 202 | Accepted; Request is valid and business process could be triggered successfully. |
|---|
| 400 | Bad Request; The request data is invalid. |
|---|
| 401 | Unauthorized; The caller does not have sufficient privileges to perform the call. |
|---|
| 403 | Forbidden; The server is refusing the action. |
|---|
| 500 | Internal Server Error; Any unexpected internal failure. |
|---|
Wie können 503er-Fehler verhindert/vermieden werden?Wird der Webservice mit zu vielen parallelen Abfragen überlastet, werden 503er-Fehler zurückgegeben. Um 503er-Fehler zu vermeiden, müssen die Anweisungen für das Laden der Nummernliste wie auch das Laden der Nummerndetails unbedingt beachtet werden (siehe auch Wie können Daten zu ZSR- und K-Nr. über den Webservice abgefragt werden?). Die Anzahl Requests kann weiter reduziert werden, indem beispielsweise nur Mutationen als Tagesscheiben abgefragt werden (siehe auch Wie können Mutationen abgefragt werden?). Nach dem Auftreten eines 503er-Fehlers sollte zudem ein Zeitpuffer von 5 Minuten bis zur nächsten Abfrage implementiert werden. Allenfalls ist auch zu prüfen, ob Webservice-Abfragen auf einen anderen, nächtlichen Zeitslot verlegt werden können Wie können 400er-Fehler verhindert/vermieden werden?Wenn der Client einen ungültigen Request an den Webservice sendet, wird ein 400er-Fehler zurückgegeben. Um 400er-Fehler zu vermeiden, müssen die Anweisungen für das Laden der Nummernliste wie auch das Laden der Nummerndetails unbedingt beachtet werden (siehe auch Wie können Daten zu ZSR- und K-Nr. über den Webservice abgefragt werden?). Der Abfrage-Prozess ist so zu planen, das jeweils maximal 500 Nummern in einem Request enthalten sind. 400er-Fehler können ebenfalls auftreten wenn die Abfrage von einem Absender gesendet wird, der nicht in der Whitelist der WAF (Web Application Firewall) für den entsprechenden User konfiguriert wurde! Bitte nehmen sie in diesem Fall mit uns Kontakt auf und teilen sie uns die IP (oder den IP-Range) mit, von wo die Abfrage erfolgt. Abfrage von ZSR- und K-NummernWie können Daten zu ZSR- und K-Nr. über den Webservice abgefragt werden?Die Abfrage der Daten erfolgt in zwei Schritten. Schritt 1 - Laden der Nummernliste: Abfrage aller gewünschten ZSR-/K-Nummern über den Endpoint "Numbers". Angewendete Filterkriterien und die Benutzer-Berechtigungen beeinflussen das Suchresultat. Der Endpoint "Numbers" liefert sämtliche ZSR-/K-Nummern aus, die den Filterkriterien entsprechen und auf welche der Kunde berechtigt ist. Nicht geliefert werden ZSR-/K-Nummern die länger als 10 Jahre sistiert sind. Filterkriterien: - filterOptions: Begrenzt die Anzahl zurückgegebener Nummern auf bestimmte Kategorie(n)/Zertifizierer. Verfügbare Module analog der Abo-Optionen.
- numberTypes: Bestimmt den zurückgegebenen Nummerntyp (ZSR-/K-Nummer).
- offset: Paging-Wert, der eine Anzahl von Nummern überspringt. In der Regel kann hier 0 übergeben werden.
- limit: Paging-Wert, der die Anzahl zurückgegebener Nummern begrenzt. Damit mit einem Request alle Nummern auf einmal geladen werden können, darf hier ein relativ hoher Wert mitgegeben werden, z.B. 200'000.
- modifiedFrom: Das "Modified-Stichdatum", s. Abfrage von Mutationen (DIFF).
Schritt 2 - Laden der Nummerndetails: Mit dem Resultat von Schritt 1 ist für jeweils 500 Nummern ein Request über den jeweiligen Detail-Endpoint abzusetzen. Endpoints: - für ZSR-Nummern: Endpoint "ClearingNumbers"
- für K-Nummern: Eindpoint "EmployeeNumbers"
Die Response der Detail-Endpoints beinhaltet die kompletten Nummern-Details, auf die der User berechtigt ist. Auf gehäufte, parallele Einzelrequest ist aus performancegründen unbedingt zu verzichten. Kann ich nach bestimmten Eigenschaften einer ZSR- oder K-Nummer suchen?Erweiterte Suchanfragen mit Filterkriterien auf Feldebene, beispielsweise nach Name oder Postleitzahl, werden über den ZSR-Webservice nicht angeboten. Für erweiterte Suchanfragen steht die ZSR-Vollversion zur Verfügung. Wie wird der ClearingNumbers Endpoint verwendet?Wie wird der EmployeeNumbers Endpoint verwendet?Wie können gelöschte Eigenschaftswerte identifiziert werden?Wenn ein Eigenschaftswerte einer ZSR-Nummer einmal geliefert wurde (mit einer bestimmten ID bzw. ZSR-/K-Nummer) und zu einem späteren Zeitpunkt nicht mehr in der Response enthalten ist, dann handelt es sich um einen gelöschten/stornierten Wert. Wie können Mutationen abgefragt werden?Über den Endpoint "Numbers" kann als Parameter ein "Modified-Stichdatum" festgelegt werden. In der Response enthalten sind dann nur Nummern, die seit diesem Datum modifiziert wurden. Solche Modifikationen können fachlicher Natur sein, aber auch nur rein technische Werte der Nummer betreffen. Länger als 10 Jahre sistierte und stornierte Nummern werden über den Numbers-Endpoint nicht geliefert. Um herausfinden zu können, welche Nummern betroffen sind, müssen zuerst alle aktiven Nummern über den Numbers-Endpoint geladen werden. Fehlen Nummern in diesem Resultat, die im Client-System jedoch noch aktiv geführt werden, sind diese im Client-System zu beenden bzw. zu löschen. Nach dem Laden aller modifizierten Nummern können die Details zu diesen Nummern wie üblich über die Detail-Endpoints abgefragt werden. Die Response dieser Endpoints liefert immer alle verfügbaren Daten zu einer ZSR-/K-Nummer und nicht nur die effektiv geänderten Werte. Mutationen können vom Client-System z.B. mittels Vergleich des JSON-Resultats der letzten Abfrage mit dem JSON-Resultat der neuen Abfrage verarbeitet werden. Hierzu gäbe es folgende Fälle zu beachten: - Element mit techn. ID x besteht im Client-System und wird im JSON-Resultat geliefert: Es ist zu prüfen, ob sich ein für das Client-System relevanter Feldwert des Elements geändert hat.
- Element mit techn. ID y besteht im Client-System und wird im JSON-Resultat nicht geliefert: Alle Feldwerte des Elements gelten als storniert und müssen entfernt werden.
- Element mit techn. ID z besteht nicht im Client-System und wird im JSON-Resultat geliefert: Alle Feldwerte des Elements sind neu und müssen eingelesen werden.
Die Integration des Webservice sollte immer so erfolgen, dass diese unabhängig von der Anzahl der gemeldeten Mutationen funktioniert, z.B. sollen selbst gewählte Thresholds nicht zum Abbruch des Daten-Imports führen. Können auch nur geänderte ZSR-/K-Nummern geladen werden?Wie sind Mutationen zu verarbeiten?- Element mit techn. ID x besteht im Client-System und wird im JSON-Resultat geliefert: Es ist zu prüfen, ob sich ein für das Client-System relevanter Feldwert des Elements geändert hat.
- Element mit techn. ID y besteht im Client-System und wird im JSON-Resultat nicht geliefert: Alle Feldwerte des Elements gelten als storniert und müssen entfernt werden.
- Element mit techn. ID z besteht nicht im Client-System und wird im JSON-Resultat geliefert: Alle Feldwerte des Elements sind neu und müssen eingelesen werden.
Es gibt somit zwei Varianten wie eine Veränderung eines bestehenden Wertes geliefert werden kann: - Variante 1: mit fachlicher Historisierung → bei jeder Mutation des Feldwertes wird ein Element mit neuer technischer ID angelegt.
- Variante 2: noch ohne fachliche Historisierung → ein Feldwert ändert sich, die technische ID bleibt gleich.
Im Endausbau des Webservice wird nur noch Variante 1 zur Anwendung kommen. Aktuell muss die Integration so erfolgen, dass die Client-Systeme mit beiden Varianten umgehen können. Wie werden ZSR-Nummern Beziehungen im Webservice geliefert?- ClearingNumber.relatedClearingNumbers enthält durch die santéservices manuell geführte Beziehungen zu ZSR-Nummern. Diese werden nur noch so lange geführt, bis vom Leistungserbringer bestätigte Daten vorliegen.
- CareProvider.ClearingNumbers enthält vom Leistungserbringer bestätigte Beziehungen zu ZSR-Nummern.
- CareProvider.EmployeeNumbers enthält vom Leistungserbringer bestätigte Beziehungen zu K-Nummern. (hierbei handelt es sich NICHT um Angestelltenverhältnisse).
Um die Gesamtheit der ZSR-Nummern Beziehungen zu erhalten, müssen somit sowohl ClearingNumber.relatedClearingNumbers wie auch CareProvider.ClearingNumbers berücksichtigt werden. | Expand |
|---|
|
| Code Block |
|---|
| title | ClearingNumber.relatedClearingNumbers |
|---|
| "relatedClearingNumbers": [
{
"clearingNumber": "B222222 "type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.EmployeeNumberDetailViewItem"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Error response"
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/api/v1/healthservices/comments": {
"get": {
"tags": [
"HealthServices"
],
"summary": "Get all comments available on health services.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.HealthServiceCommentViewItem"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/api/v1/numbers": {
"get": {
"tags": [
"Numbers"
],
"summary": "Returns a paged list of clearing numbers (ZSR/RCC/CPR) and/or employee numbers (K-Nummer / Numéro C / Numero di controllo) by subscription search options.",
"parameters": [
{
"name": "searchoptions",
"in": "query",
"description": "The subscription search options. <br />Validations:<ul><li>Must be at least one of the listed search options.</li></ul>",
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.SearchOption"
}
}
},
{
"name": "offset",
"in": "query",
"description": "The number of entries used as offset to retrieve the next page. The next offset it must be calculated as sum of the previously used offset and the page size (limit).<br />Validations:<ul><li>-</li></ul>",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "limit",
"in": "query",
"description": "The maximal number of entries in the next returned page. Receiving a recordCount smaller than the limit indicates that the last page has been reached.<br />Validations:<ul><li>-</li></ul>",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "modifiedfrom",
"in": "query",
"description": "Numbers modified after this date (string in ISO time format, e.g: 2020-01-20T07:10:00Z).",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.StringBulkResponse"
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/api/v1/numbers/list": {
"post": {
"tags": [
"Numbers"
],
"summary": "Returns basic information about clearing and/or employee numbers. The returned data is to be specified as a list of plain clearing (ZSR/RCC/CPR) and/or employee numbers (K-Nummer / Numéro C / Numero di controllo) as parameters.",
"requestBody": {
"description": "A list of clearing (ZSR/RCC/CPR) and/or employee numbers (K-Nummer / Numéro C / Numero di controllo). <br />Validations:<ul><li>Max. 500 employee numbers per request.</li></ul>",
"content": {
"application/json-patch+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.NumberListViewItem"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Error response"
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/api/v1/subscribers": {
"get": {
"tags": [
"Subscribers"
],
"summary": "Returns all available subscriber names.",
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
},
"/api/v1/unregisteredcareproviders": {
"post": {
"tags": [
"UnregisteredCareProviders"
],
"summary": "Returns details for specific unregistered Medreg care provider. The returned data is to be specified as a list of plain global location numbers passed as parameters.",
"requestBody": {
"description": "A list of plain global location numbers. <br />Validations:<ul><li>Max. 500 global location numbers per request.</li></ul>",
"content": {
"application/json-patch+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.Medical"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"description": "Error response"
}
}
}
},
"401": {
"description": "Unauthorized"
}
}
}
}
},
"components": {
"schemas": {
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ComplementaryTherapistCertificationLabel": {
"enum": [
"ASCA",
"APTN",
"NVS_SPAK",
"ESKAMED_EMR"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.HealthServicePeriodRequest": {
"type": "object",
"properties": {
"externalId": {
"type": "string",
"description": "The identification of the health service in the system of the API consumer. <br />Validations:<ul><li>Must contain numbers only.</li></ul>",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' must be provided.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CertificationPeriodRequest": {
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' must be provided.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.HealthServicePeriodSubscriberRequest": {
"required": [
"subscriber"
],
"type": "object",
"properties": {
"subscriber": {
"type": "string",
"description": "Identification of the subscriber according to the subscribers-Endpoint."
},
"externalId": {
"type": "string",
"description": "The identification of the health service in the system of the API consumer. <br />Validations:<ul><li>Must contain numbers only.</li></ul>",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' must be provided.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CertificationPeriodSubscriberRequest": {
"type": "object",
"properties": {
"subscriber": {
"type": "string",
"description": "Identification of the subscriber according to the subscribers-Endpoint.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' must be provided.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CareProviderCertificationRequest": {
"required": [
"externalId",
"label"
],
"type": "object",
"properties": {
"clearingNumber": {
"type": "string",
"description": "The clearing number (=ZSR-Nummer) identifying the care provider uniquely. <br />Validations:<ul><li>Clearing number check digit accoring to the documentation.</li></ul>",
"nullable": true
},
"externalId": {
"type": "string",
"description": "The identification of the care provider in the system of the API consumer. <br />Validations:<ul><li>Must contain numbers only.</li></ul>"
},
"label": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ComplementaryTherapistCertificationLabel"
}
],
"description": "Certification label."
},
"careProviderHealthServices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.HealthServicePeriodRequest"
},
"description": "Health services for the care provider.",
"nullable": true
},
"careProviderCertificationPeriods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CertificationPeriodRequest"
},
"description": "Certification periods for the care provider.",
"nullable": true
},
"subscriberHealthServices": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.HealthServicePeriodSubscriberRequest"
},
"description": "Health services per subscriber.",
"nullable": true
},
"subscriberCertificationPeriods": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.Certifier.CertificationPeriodSubscriberRequest"
},
"description": "Certification periods per subscriber.",
"nullable": true
}
},
"additionalProperties": false,
"description": "The payload of a CareProviderCertification request."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Canton": {
"enum": [
"AG",
"AI",
"AR",
"BS",
"BL",
"BE",
"FR",
"GE",
"GL",
"GR",
"JU",
"LU",
"NE",
"NW",
"OW",
"SH",
"SZ",
"SO",
"SG",
"TG",
"TI",
"UR",
"VS",
"VD",
"ZG",
"ZH"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation": {
"type": "object",
"properties": {
"de": {
"type": "string",
"nullable": true
},
"fr": {
"type": "string",
"nullable": true
},
"it": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberSuffix": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The region name",
"nullable": true
},
"canton": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Canton"
}
],
"description": "When available the name of the swiss canton.",
"nullable": true
},
"cantonTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"suffixNumber": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The clearing number suffix (=StammKanton). This can be a swiss canton or any other grouping entity."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberCompensationType": {
"enum": [
"UNKNOWN",
"AMB_T_GSTAT_TP",
"TIERS_GARANT",
"TIERS_PAYANT",
"CONTRACT_BASED_TIERS_PAYANT_OR_GARANT"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberCompensation": {
"type": "object",
"properties": {
"clearingNumberCompensationType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberCompensationType"
}
],
"description": "The clearing number compensation type."
},
"clearingNumberCompensationTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the clearing number compensation (Entschädigungscode)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberLawType": {
"enum": [
"KVG_VVG",
"PARTIAL_KVG_VVG",
"VVG",
"UVG_MV_IV"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberLaw": {
"type": "object",
"properties": {
"clearingNumberLawType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberLawType"
}
],
"description": "The clearing number law type."
},
"clearingNumberLawTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The clearing number law (=Zulassung)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AddressFormType": {
"enum": [
"UNKNOWN",
"MR",
"MS"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AcademicTitle": {
"enum": [
"UNKNOWN",
"DR",
"PROF_DR",
"DRES",
"DR_MED",
"PD_DR_MED",
"PROF_DR_MED",
"MED_PRAKT",
"MED_DENT",
"DR_MED_DENT",
"PD_DR_MED_DENT",
"PROF_DR_MED_DENT"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The country name.",
"nullable": true
},
"twoLetterCountryCode": {
"type": "string",
"description": "The ISO 3166-1 alpha-2 two letter country code.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The country (=Land)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Gender": {
"enum": [
"UNKNOWN",
"MALE",
"FEMALE",
"OTHERS"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LegalFormType": {
"enum": [
"SOLE_PROPRIETORSHIP",
"GENERAL_PARTNERSHIP",
"CORPORATION",
"LIMITED_LIABILITY_COMPANY",
"COOPERATIVE",
"ASSOCIATION",
"FOUNDATION",
"PUBLIC_SECTOR_INSTITUTION",
"BRANCH",
"LIMITED_PARTNERSHIP",
"FOREIGN_BRANCH",
"CORPORATION_WITH_UNLIMITED_PARTNERS",
"AFFILIATION",
"LIMITED_COMPANY",
"NON_PROFIT_LIMITED_LIABILITY_COMPANY"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Language": {
"enum": [
"DE",
"FR",
"IT"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PostalAddress": {
"type": "object",
"properties": {
"postOfficeBoxText": {
"type": "string",
"description": "Post office box text.",
"nullable": true
},
"postOfficeBoxNumber": {
"type": "integer",
"description": "Post office box number.",
"format": "int32",
"nullable": true
},
"street": {
"type": "string",
"description": "The street with street number (=Strasse).",
"nullable": true
},
"addressAddition": {
"type": "string",
"description": "The address addition (=Adresszusatz).",
"nullable": true
},
"place": {
"type": "string",
"description": "The place/city (=Ort).",
"nullable": true
},
"postalCode": {
"type": "string",
"description": "The postal code, national and international (=PLZ).",
"nullable": true
},
"country": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country"
}
],
"description": "The country.",
"nullable": true
},
"canton": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Canton"
}
],
"description": "When available the name of the swiss canton.",
"nullable": true
},
"cantonTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The postal address (=Postadresse)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.PhoneNumberType": {
"enum": [
"LANDLINE",
"MOBILE",
"FAX"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PhoneNumber": {
"type": "object",
"properties": {
"phoneNumberType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.PhoneNumberType"
}
],
"description": "The phone number type.",
"nullable": true
},
"phoneNumberTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"number": {
"type": "string",
"description": "The phone number, formatted as E.164.",
"nullable": true
},
"country": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country"
}
],
"description": "The phone number country.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The phone number."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmailAddress": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "The email address.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The email address."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Contact": {
"type": "object",
"properties": {
"language": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Language"
}
],
"description": "The language to be used when communicating with this person.",
"nullable": true
},
"languageTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"postalAddress": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PostalAddress"
}
],
"description": "The postal address.",
"nullable": true
},
"phoneNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PhoneNumber"
},
"description": "The phone numbers.",
"nullable": true
},
"emailAddresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmailAddress"
},
"description": "The email addresses.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The person's contact details."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Party": {
"required": [
"__typename"
],
"type": "object",
"properties": {
"__typename": {
"type": "string"
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Contact"
}
],
"nullable": true
},
"id": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "__typename"
}
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProvider": {
"required": [
"__typename"
],
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Party"
}
],
"properties": {
"legalFormType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LegalFormType"
}
],
"nullable": true
},
"legalFormTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"organizationIdentificationNumber": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "__typename"
}
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProviderNaturalPerson": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProvider"
}
],
"properties": {
"givenName": {
"type": "string",
"nullable": true
},
"callName": {
"type": "string",
"nullable": true
},
"familyName": {
"type": "string",
"nullable": true
},
"originalName": {
"type": "string",
"nullable": true
},
"globalLocationNumber": {
"type": "string",
"nullable": true
},
"addressFormType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AddressFormType"
}
]
},
"addressFormTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"academicTitle": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AcademicTitle"
}
]
},
"academicTitleTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"birthdate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"birthPlace": {
"type": "string",
"nullable": true
},
"birthCountry": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country"
}
],
"nullable": true
},
"gender": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Gender"
}
]
},
"genderTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Contact"
}
],
"description": "The party contact details.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.OrganizingInstitutionType": {
"enum": [
"PRIVATE",
"PUBLIC"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProviderJuristicPerson": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProvider"
}
],
"properties": {
"firm": {
"type": "string",
"nullable": true
},
"organizingInstitutionType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.OrganizingInstitutionType"
}
],
"nullable": true
},
"organizingInstitutionTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Contact"
}
],
"description": "The party contact details.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderParty": {
"type": "object",
"properties": {
"party": {
"oneOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProviderNaturalPerson"
},
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyCareProviderJuristicPerson"
}
],
"description": "The care provider party (=Privatadresse).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for a care provider party (=Personendaten). For each point in time only one active mapping should exist."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Affiliation": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The affiliation name (=Verbandscode usf.). E.g. an organization code.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "An affiliation in an organisation (=Mitgliedschaft)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceComment": {
"type": "object",
"properties": {
"commentTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"description": "Comment translations.",
"nullable": true
},
"isExcluded": {
"type": "boolean",
"description": "Whether the health service is excluded."
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The health service specific comment."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthService": {
"required": [
"__typename"
],
"type": "object",
"properties": {
"__typename": {
"type": "string"
},
"name": {
"type": "string",
"nullable": true
},
"nameTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"externalId": {
"type": "string",
"nullable": true
},
"startDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean"
},
"id": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "__typename"
}
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceCertifier": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthService"
}
],
"properties": {
"affiliation": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Affiliation"
}
],
"description": "The health service affiliation, e.g. EMR, ASCA etc.",
"nullable": true
},
"comments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceComment"
},
"description": "Health service comments",
"nullable": true
}
},
"additionalProperties": false,
"description": "The certifier health service (=Zertifizierer-Methode)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthService": {
"required": [
"__typename"
],
"type": "object",
"properties": {
"__typename": {
"type": "string"
},
"startDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean"
},
"id": {
"type": "integer",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"discriminator": {
"propertyName": "__typename"
}
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceCertifier": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthService"
}
],
"properties": {
"healthService": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceCertifier"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceGroup": {
"type": "object",
"properties": {
"externalId": {
"type": "string",
"description": "Health service group external id (LEA-Leistungsbereich/-Leistungsgruppe abbreviation)",
"nullable": true
},
"parentExternalId": {
"type": "string",
"description": "The parent health service group external id (LEA-Leistungsbereich abbreviation)",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The health service group (=LEA-Leistungsbereich/-Leistungsgruppe)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceHospital": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthService"
}
],
"properties": {
"healthServiceGroup": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceGroup"
}
],
"description": "Health service group (LEA Leistungsbereich, Leistungsgruppe)",
"nullable": true
}
},
"additionalProperties": false,
"description": "The hospital health service (=LEA-Mandat)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceCantonMandate": {
"type": "object",
"properties": {
"canton": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Canton"
}
]
},
"name": {
"type": "string",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The hospital health service canton mandat (=LeaDatModellKantonEinschraenkung)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceHospital": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthService"
}
],
"properties": {
"healthService": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceHospital"
}
],
"nullable": true
},
"healthServiceCantonMandate": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.HealthServiceCantonMandate"
}
],
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.QualificationType": {
"enum": [
"DIPLOMA",
"CERTIFICATE",
"CONTINUING_EDUCATION_CERTIFICATE",
"EXPERTISE_AREA",
"SKILLS",
"ADMISSION",
"ADDITIONAL_CERTIFICATE",
"PROFICIENCY_TEST"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.BusinessScope": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The business scope's name.",
"nullable": true
},
"parentBusinessScope": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.BusinessScope"
}
],
"description": "The optional parent business scope (=PartnerartObergruppe). Available for sub business scopes only (=PartnerartUntergruppe).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The business scope devided into parent business scope (=PartnerartObergruppe) and sub business scope (=PartnerartUntergruppe)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Qualification": {
"type": "object",
"properties": {
"qualificationType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.QualificationType"
}
],
"description": "The qualification type.",
"nullable": true
},
"qualificationTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"name": {
"type": "string",
"description": "The qualification name.",
"nullable": true
},
"affiliation": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Affiliation"
}
],
"description": "The health service affiliation, e.g. FMH etc.",
"nullable": true
},
"businessScope": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.BusinessScope"
}
],
"description": "The business scope (=PartnerartObergruppe/-Untergruppe).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The qualification (=Qualifikation)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderQualification": {
"type": "object",
"properties": {
"country": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country"
}
],
"description": "The country (=Land) where the qualification has been attained.",
"nullable": true
},
"qualification": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Qualification"
}
],
"description": "The qualification (=Qualifikation).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for care provider qualifications (=Qualifikationen)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AffiliationBroker": {
"enum": [
"TARIF_SUISSE",
"ASPI",
"PHYSIO_SWISS"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderAffiliation": {
"type": "object",
"properties": {
"externalId": {
"type": "string",
"description": "The care provider membership id (=Mitgliedernummer).",
"nullable": true
},
"affiliationBroker": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.AffiliationBroker"
}
],
"description": "The affiliation broker. The institution providing the affiliation to the care provider.",
"nullable": true
},
"affiliationBrokerTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"affiliation": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Affiliation"
}
],
"description": "The affiliation (=Verband etc.).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The care provider affiliation."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.EmploymentType": {
"enum": [
"REGULAR",
"EXECUTIVE"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseState": {
"enum": [
"PENDING",
"APPROVED",
"DECLINED"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseRestrictionType": {
"enum": [
"UNKNOWN",
"NINETY_DAY_REGULATION",
"REGION",
"ACTIVITY",
"SUSPENSION",
"ADMISSION_MUTATION_LOCK",
"OKP_EXCLUSION"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseRestrictionReasonType": {
"enum": [
"UNKNOWN",
"TERMINATION_OF_ACTIVITY",
"REVOCATION_OF_BA_B_LICENSE",
"CHANGE_OF_LOCATION",
"TERMINATION_BY_DEATH",
"CARE_PROVIDER_MERGER",
"CHANGE_OF_HANDS",
"OUT_OF_CONTRACT",
"CHANGE_OF_REGION",
"CHANGE_OF_BUSINESS_SCOPE",
"MISSING_CERTIFICATION",
"COMPLEMENTARY_CARE_PROVIDER_MERGER",
"UNPAYED_SERVICE_FEE"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.LicenseRestriction": {
"type": "object",
"properties": {
"licenseRestrictionType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseRestrictionType"
}
],
"description": "License restriction type (=Beschränkungstyp).",
"nullable": true
},
"licenseRestrictionTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"licenseRestrictionReasonType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseRestrictionReasonType"
}
],
"description": "License restriction reason type (=Beschränkungsgrund).",
"nullable": true
},
"licenseRestrictionReasonTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"reason": {
"type": "string",
"description": "Licsense restriction reason (=Beschränkungstext).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "License restrictions (=Beschränkung, Sistierung, Sperrung, Ausstand)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.License": {
"type": "object",
"properties": {
"licenseState": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.LicenseState"
}
],
"description": "The licensing state.",
"nullable": true
},
"licenseStateTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"canton": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Canton"
}
],
"description": "When available the name of the swiss canton.",
"nullable": true
},
"cantonTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"country": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Country"
}
],
"description": "The country.",
"nullable": true
},
"licenseRestrictions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.LicenseRestriction"
},
"description": "License restrictions (=Beschränkung, Sistierung, Sperrung, Ausstand).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The canton based license (=Zulassung) including restrictions for this license."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployerRelation": {
"type": "object",
"properties": {
"clearingNumber": {
"type": "string",
"description": "The clearing number (=ZSR-Nummer).",
"nullable": true
},
"isPublished": {
"type": "boolean",
"description": "The is active flag.",
"nullable": true,
"deprecated": true
},
"employmentType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.EmploymentType"
}
],
"description": "The employment type (=Anstellungstyp)",
"nullable": true
},
"license": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.License"
}
],
"description": "The canton based license (=Zulassung).",
"nullable": true
},
"employmentTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the employer mapping (=Arbeitgeber)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployeeNumber": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The employee number (=KNummer).",
"nullable": true
},
"careProvider": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProvider"
}
],
"description": "The care provider (=Leistungserbringer).",
"nullable": true
},
"businessScope": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.BusinessScope"
}
],
"description": "The business scope (=PartnerartObergruppe/-Untergruppe).",
"nullable": true
},
"relatedEmployers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployerRelation"
},
"description": "A mapping list of employers.",
"nullable": true
},
"licenses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.License"
},
"description": "A list of licenses (=Zulassung KVG/VVG/UVG).",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The employee number (=KNummer)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProvider": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "An optional comment value.",
"nullable": true
},
"careProviderParties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderParty"
},
"description": "The care provider party (=Personendaten). Despite multiple records for each moment in time only one active party exists.",
"nullable": true
},
"healthServices": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceCertifier"
},
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceHospital"
}
],
"description": "The mapping details for care provider health services (=Zertifizierer Methoden)."
},
"description": "The care provider health service mappings (=Zertifizierer Methoden). For VVG care providers of complementary medicine only. When provided by external certifiers this list might contain multiple health service mappings for the same health service, but with diverging validity periods.",
"nullable": true
},
"qualifications": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderQualification"
},
"description": "The care provider qualification mappings (=Qualifikationen).",
"nullable": true
},
"affiliations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderAffiliation"
},
"description": "The care provider affiliation mappings (=Mitgliedschaften)",
"nullable": true
},
"careProviderBusinesses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusiness"
},
"description": "The care provider businesses (=Zahlstellen). A care provider can manage multiple businesses.",
"nullable": true
},
"employeeNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployeeNumber"
},
"description": "The care provider employee number (=KNummer). For all employed OKP care providers.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The careprovider (=Leistungserbringer)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyBusiness": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Party"
}
],
"properties": {
"globalLocationNumber": {
"type": "string",
"nullable": true
},
"branch": {
"type": "string",
"nullable": true
},
"url": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusinessParty": {
"type": "object",
"properties": {
"party": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyBusiness"
}
],
"description": "The party (=Zahlstellen-Adresse)",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for a business party (=Personendaten). For each point in time only one active mapping should exist."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.FacilityType": {
"enum": [
"HOSPITAL_LAB_TYPE",
"HOSPITAL_LAB_INFRASTRUCTURE",
"FITNESS_CLASSIFICATION",
"FITNESS_QUALITOP_FIT_SAFE",
"DOCTOR_FACILITY",
"HOSPITAL_FACILITY",
"NURSING_HOME_FACILITY",
"FITNESS_CARE_LEVEL"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Facility": {
"type": "object",
"properties": {
"facilityType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.FacilityType"
}
],
"description": "The facility type.",
"nullable": true
},
"facilityTypeTranslation": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"name": {
"type": "string",
"description": "The facility name.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The business facility (=Einrichtung)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusinessFacility": {
"type": "object",
"properties": {
"details": {
"type": "string",
"description": "Additional information for the assigned facility, e.g. bed count (=Anzahl Betten).",
"nullable": true
},
"facility": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Facility"
}
],
"description": "The facility (=Einrichtung).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for a business facilities (=Einrichtungen)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusiness": {
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "An optional comment value.",
"nullable": true
},
"isNotListedHospital": {
"type": "boolean",
"description": "The is not listed hospital flag (=Finanzierungsform)"
},
"careProvider": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProvider"
}
],
"description": "The care provider (=Leistungserbringer) managing the business (=Zahlstelle).",
"nullable": true
},
"careProviderBusinessParties": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusinessParty"
},
"description": "The business party (=Personendaten). Despite multiple records for each moment in time only one active party exists.",
"nullable": true
},
"affiliatedCareProviderBusiness": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusiness"
}
],
"description": "Another busisness with a relation to this particular business.",
"nullable": true
},
"facilities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusinessFacility"
},
"description": "A list of business facilities (=Einrichtung).",
"nullable": true
},
"healthServices": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceCertifier"
},
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderHealthServiceHospital"
}
],
"description": "The mapping details for care provider health services (=Zertifizierer Methoden)."
},
"description": "A list of health services (=Zertifizierer Methoden) mapped to this particular business. For VVG businesses of complementary medicine only.",
"nullable": true
},
"affiliations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderAffiliation"
},
"description": "A list of affiliations (=Mitgliedschaften) mapped to this particular business.",
"nullable": true
},
"clearingNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumber"
},
"description": "A list of clearing numbers (=ZSR-Nummern).",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The care provider business (=Zahlstelle)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyBeneficiary": {
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Party"
}
],
"properties": {
"globalLocationNumber": {
"type": "string",
"nullable": true
},
"firm": {
"type": "string",
"nullable": true
},
"branch": {
"type": "string",
"nullable": true
},
"abbreviation": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.BankGroup": {
"enum": [
"SNB",
"UBSAG",
"RESERVE",
"CREDIT_SUISSE_GROUP_AG_1",
"CREDIT_SUISSE_GROUP_AG_2",
"REGIONALBANKEN_RBA_HOLDING_AG",
"KANTONALBANKEN",
"RAIFFEISENBANKEN_EINZELINSTITUTE",
"POST_FINANCE"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.BankClearingType": {
"enum": [
"HEAD_QUARTERS",
"MAIN_BRANCH",
"BRANCH"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Bank": {
"type": "object",
"properties": {
"bankGroup": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.BankGroup"
}
],
"description": "The banks/financial institutions are divided into bank groups.",
"nullable": true
},
"bankGroupTranslation": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"bankClearingType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.BankClearingType"
}
],
"description": "The bank type, e.g. head office, main branch or branch.",
"nullable": true
},
"bankClearingTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"bankingClearingNumber": {
"type": "string",
"description": "Each bank/financial institution is identified by the BankingClearingNumber made up of 3 to 5 digits.",
"nullable": true
},
"bankingClearingNumberNew": {
"type": "string",
"description": "Any value here replaces the BankingClearingNumber.",
"nullable": true
},
"branchId": {
"type": "string",
"description": "Together with the BankingClearingNumber number the BranchId provides a conclusive key for each bank or financial institution record.",
"nullable": true
},
"sicNumber": {
"type": "string",
"description": "A 6-digit number only to be used by SIC and euroSIC participants.",
"nullable": true
},
"headquarterClearingNumber": {
"type": "string",
"description": "The BankingClearingNumber of the head office.",
"nullable": true
},
"shortName": {
"type": "string",
"description": "The short name of the bank or financial institution.",
"nullable": true
},
"name": {
"type": "string",
"description": "The name of the bank or financial institution",
"nullable": true
},
"postalAccountNumber": {
"type": "string",
"description": "The bank's or financial institution's postal account number.",
"nullable": true
},
"swift": {
"type": "string",
"description": "The SWIFT directory entry value.",
"nullable": true
},
"contact": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Contact"
}
],
"description": "The bank's or financial institution's contact details.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The SIX bank details."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Account": {
"type": "object",
"properties": {
"ibanNumber": {
"type": "string",
"description": "The IBAN number.",
"nullable": true
},
"accountNumber": {
"type": "string",
"description": "The account number (=Kontonummer).",
"nullable": true
},
"party": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.PartyBeneficiary"
}
],
"description": "Optionally contains the account holder (=Begünstigter) when not identical to the care provider (=Leistungserbringer).",
"nullable": true
},
"bank": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Bank"
}
],
"description": "The account's bank.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The bank account."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberAccount": {
"type": "object",
"properties": {
"account": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.Account"
}
],
"description": "The bank account.",
"nullable": true
},
"hasPaymentOrderReferenceNumber": {
"type": "boolean",
"description": "Marks the current account mapping available for ESR payments.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the clearing number bank account (=Konto)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberDummy": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The clearing number dummy name.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The clearing number dummy (=ZSR-Nummer)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberRelationType": {
"enum": [
"CHANGE_OF_REGION",
"CHANGE_OF_PRIMARY_BUSINESS_SCOPE",
"MERGER",
"TERMINATION_OF_ACTIVITY",
"CHANGE_OF_ACTIVITY",
"CHANGE_OF_HANDS",
"SECOND_CLEARING_NUMBER_INCLUSIVE_SUSPENSIONS",
"CHANGE_OF_SECONDARY_BUSINESS_SCOPE",
"COMPLEMENTARY_CARE_PROVIDER_MERGER",
"FITNESS_CARE_PROVIDER_MERGER",
"INVALID_MAPPING",
"MULTIPLE_LOCATIONS",
"MAIN_CLEARING_NUMBER",
"UNKNOWN"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberRelation": {
"type": "object",
"properties": {
"clearingNumber": {
"type": "string",
"description": "The related clearing number.",
"nullable": true
},
"isPublished": {
"type": "boolean",
"description": "The is active flag.",
"nullable": true,
"deprecated": true
},
"clearingNumberRelationType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.ClearingNumberRelationType"
}
],
"description": "The relation type (=Beziehungsart).",
"nullable": true
},
"clearingNumberRelationTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the clearing number relation (=Zugeordnete Zahlstellen, Zusätzliche Zahlstellen)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployeeRelation": {
"type": "object",
"properties": {
"employeeNumber": {
"type": "string",
"description": "The employee number (=KNummer).",
"nullable": true
},
"isPublished": {
"type": "boolean",
"description": "The is active flag.",
"nullable": true,
"deprecated": true
},
"employmentType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.EmploymentType"
}
],
"description": "The employment type (=Anstellungstyp)",
"nullable": true
},
"license": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.License"
}
],
"description": "The canton based license (=Zulassung).",
"nullable": true
},
"employmentTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the employee mapping (=Arbeitnehmer/Angestellte)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.TariffSystemType": {
"enum": [
"LOA",
"NURSING_HOME_FLAT_RATE"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.TariffSystem": {
"type": "object",
"properties": {
"tariffSystemType": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.TariffSystemType"
}
],
"description": "The tariff system type.",
"nullable": true
},
"tariffSystemTypeTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
},
"name": {
"type": "string",
"description": "The tariff name.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The tarif system."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberTariffSystem": {
"type": "object",
"properties": {
"tariffSystem": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.TariffSystem"
}
],
"description": "The tarif system.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The mapping details for the tarifs system (=Tarif-Verträge, Spitallaboratorium etc.)."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberComment": {
"type": "object",
"properties": {
"commentTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"description": "Comment translations.",
"nullable": true
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums)."
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The clearing number specific comment."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumber": {
"type": "object",
"properties": {
"number": {
"type": "string",
"description": "The clearing number (=ZSR-Nummer) as plain text value.",
"nullable": true
},
"clearingNumberSuffix": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberSuffix"
}
],
"description": "The ClearingNumberSuffix (=StammKanton). This can be a swiss canton or any other regional entity.",
"nullable": true
},
"clearingNumberCompensations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberCompensation"
},
"description": "The list of clearing number compensation types (=Entschädigungscode) valid for this clearing number.",
"nullable": true
},
"clearingNumberLaws": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberLaw"
},
"description": "The list of clearing number law types (=Zulassung) applicable for this clearing number.",
"nullable": true
},
"careProviderBusiness": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.CareProviderBusiness"
}
],
"description": "The care provider business (=Zahlstelle) this clearing number belongs to.",
"nullable": true
},
"clearingNumberAccounts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberAccount"
},
"description": "The account mapping details (=Konto). Despite multiple records for each moment in time only one active account exists.",
"nullable": true
},
"clearingNumberDummy": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberDummy"
}
],
"description": "Marks the current clearing number as a special multi-purpose number, unrelated to any care provider.",
"nullable": true
},
"businessScope": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.BusinessScope"
}
],
"description": "The business scope (=PartnerartObergruppe/-Untergruppe).",
"nullable": true
},
"relatedClearingNumbers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberRelation"
},
"description": "A mapping list of related clearing numbers. For every related clearing number, the type of relation is specified.",
"nullable": true
},
"relatedEmployees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployeeRelation"
},
"description": "A mapping list of employees of the care provider business, this clearing number belongs to.",
"nullable": true
},
"licenses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.License"
},
"description": "A list of licenses (=Zulassung KVG/VVG/UVG) provided to this clearing number.",
"nullable": true
},
"tariffSystems": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberTariffSystem"
},
"description": "A mapping list of tariff systems (=Tarif-Verträge).",
"nullable": true
},
"comments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumberComment"
},
"description": "A list of comments regarding this clearing number.",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "The clearing number (=ZSR-Nummer) and its full context information. Every business of a care provider has a clearing number."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.ClearingNumberDetailViewItem": {
"type": "object",
"properties": {
"modifiedTime": {
"type": "string",
"description": "Contains the clearing number modification date.",
"format": "date-time"
},
"version": {
"type": "string",
"nullable": true
},
"clearingNumber": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.ClearingNumber"
}
],
"description": "Contains a complete data set of a single clearing number (=Zahlstelle).",
"nullable": true
}
},
"additionalProperties": false,
"description": "A container for one specific clearing number and its context information."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.EmployeeNumberDetailViewItem": {
"type": "object",
"properties": {
"modifiedTime": {
"type": "string",
"description": "Contains the employee number modification date.",
"format": "date-time"
},
"version": {
"type": "string",
"nullable": true
},
"employeeNumber": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.Contract.EmployeeNumber"
}
],
"description": "Contains a complete data set of a single employee number (=KNummer).",
"nullable": true
}
},
"additionalProperties": false,
"description": "A container for one specific employee number and its context information."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.HealthServiceCommentViewItem": {
"type": "object",
"properties": {
"healthServiceId": {
"type": "integer",
"description": "The internal health service id.",
"format": "int64"
},
"healthServiceExternalId": {
"type": "string",
"description": "The identification of the health service in the system of the API consumer as provided with the CareProviderCertification endpoint.",
"nullable": true
},
"certifier": {
"type": "string",
"description": "The certifier name.",
"nullable": true
},
"healthServiceTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"description": "The health service name in different languages.",
"nullable": true
},
"commentTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"description": "The health service comment in different languages.",
"nullable": true
},
"isExcluded": {
"type": "boolean",
"description": "Marks a health service as excluded/unsupported by an insurer."
},
"startDate": {
"type": "string",
"description": "Date of the validity start (=fachliches Startdatum). Time information will be ignored. Validity starts at the beginning of the specified day.",
"format": "date-time",
"nullable": true
},
"endDate": {
"type": "string",
"description": "Date of the validity end (=fachliches Enddatum). Time information will be ignored. Validity ends at the end of the specified day. If the period lasts indefinitely, the max date '9999-12-31 23:59:59.9999999' is used.",
"format": "date-time",
"nullable": true
},
"id": {
"type": "integer",
"description": "Unique identifier of the instance.",
"format": "int64",
"nullable": true
}
},
"additionalProperties": false,
"description": "One specific comment entry on a health service."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Requests.SearchOption": {
"enum": [
"Okp",
"Ortho",
"Pharma",
"Lea",
"Comp",
"Fit",
"Asca",
"Spak",
"Aptn",
"Emr",
"EmFit",
"Qtop",
"Fsafe",
"FGuide",
"FGuideK",
"MedUnreg"
],
"type": "string"
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.StringBulkResponse": {
"type": "object",
"properties": {
"tookInMs": {
"type": "integer",
"description": "Request processing time in milliseconds.",
"format": "int32"
},
"totalCount": {
"type": "integer",
"description": "Overall, paging-independently count of entries according to the specified parameters.",
"format": "int32"
},
"recordCount": {
"type": "integer",
"description": "Number of records in the current page.",
"format": "int32",
"readOnly": true
},
"offset": {
"type": "integer",
"description": "The applied offset value.",
"format": "int32"
},
"limit": {
"type": "integer",
"description": "The applied limit value.",
"format": "int32"
},
"records": {
"type": "array",
"items": {
"type": "string"
},
"description": "The records of the current page.",
"nullable": true
}
},
"additionalProperties": false,
"description": "A response container for a list of string values."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.NumberListViewItem": {
"type": "object",
"properties": {
"modifiedTime": {
"type": "string",
"description": "Contains the employee number modification date.",
"format": "date-time"
},
"number": {
"type": "string",
"description": "The number (clearing or employee number) itself.",
"nullable": true
},
"globalLocationNumber": {
"type": "string",
"description": "Global location number (=EANNummer).",
"nullable": true
},
"organizationIdentificationNumber": {
"type": "string",
"description": "Organization identification number (=UID-Nummer/IDE/IDI).",
"nullable": true
},
"firm": {
"type": "string",
"description": "The firm (=Firma).",
"nullable": true
},
"branch": {
"type": "string",
"description": "The branch name (=Zweigstelle).",
"nullable": true
},
"givenName": {
"type": "string",
"description": "Given name / first name (=Vorname).",
"nullable": true
},
"callName": {
"type": "string",
"description": "Call name (=Rufname).",
"nullable": true
},
"familyName": {
"type": "string",
"description": "Family name / last name (=Nachname).",
"nullable": true
},
"originalName": {
"type": "string",
"description": "Orginal name (=Ledigenname).",
"nullable": true
},
"postalCode": {
"type": "string",
"description": "The postal code, national and international (=PLZ).",
"nullable": true
},
"place": {
"type": "string",
"description": "The place/city (=Ort).",
"nullable": true
},
"street": {
"type": "string",
"description": "The street with street number (=Strasse).",
"nullable": true
},
"phoneNumber": {
"type": "string",
"description": "An E.164 phone number.",
"nullable": true
},
"isValid": {
"type": "boolean",
"description": "Is true, if the instance was valid at the requested validityDate. If no specific validityDate was specified, then the current date (now) is evaluated (=fachliche Gültigkeit zum Zeitpunkt des übergebenen Stichdatums).",
"nullable": true
},
"detailViewItemUrl": {
"type": "string",
"description": "Resource URL to retrieve further details regarding this number.",
"nullable": true
},
"clearingNumberSuffixTwoLetterCantonCode": {
"type": "string",
"nullable": true
},
"clearingNumberSuffixTranslations": {
"allOf": [
{
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Translation"
}
],
"nullable": true
}
},
"additionalProperties": false,
"description": "A response container for a list of consolidated basic number (clearing or employee number) information."
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.AuthorizationAddress": {
"type": "object",
"properties": {
"companyName": {
"type": "string",
"nullable": true
},
"additionalAdressData1": {
"type": "string",
"nullable": true
},
"additionalAdressData2": {
"type": "string",
"nullable": true
},
"street": {
"type": "string",
"nullable": true
},
"streetNumber": {
"type": "string",
"nullable": true
},
"zip": {
"type": "string",
"nullable": true
},
"city": {
"type": "string",
"nullable": true
},
"phone": {
"type": "string",
"nullable": true
},
"phone2": {
"type": "string",
"nullable": true
},
"mobile": {
"type": "string",
"nullable": true
},
"fax": {
"type": "string",
"nullable": true
},
"email": {
"type": "string",
"nullable": true
},
"individualEnterpriseId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"individualEnterpriseText": {
"type": "string",
"nullable": true
},
"legalFormId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"legalFormIdText": {
"type": "string",
"nullable": true
},
"uidBusiness": {
"type": "string",
"nullable": true
},
"authorizationForSelfDispensationId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"authorizationForSelfDispensationText": {
"type": "string",
"nullable": true
},
"commentSelfDispensation": {
"type": "string",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.ConditionsAndRestrictions": {
"type": "object",
"properties": {
"typeId": {
"type": "integer",
"format": "int32"
},
"typeText": {
"type": "string",
"nullable": true
},
"description": {
"type": "string",
"nullable": true
},
"dateOfDecision": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfLimitation": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.Authorization": {
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.AuthorizationAddress"
},
"nullable": true
},
"authorizationConditionsAndRestrictions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.ConditionsAndRestrictions"
},
"nullable": true
},
"cantonOfAuthorizationId": {
"type": "integer",
"format": "int32"
},
"cantonOfAuthorizationText": {
"type": "string",
"nullable": true
},
"legalBasisId": {
"type": "integer",
"format": "int32"
},
"legalBasisText": {
"type": "string",
"nullable": true
},
"statusOfAuthorizationId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"statusOfAuthorizationText": {
"type": "string",
"nullable": true
},
"dateOfDecision": {
"type": "string",
"format": "date-time",
"nullable": true
},
"activityId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"activityText": {
"type": "string",
"nullable": true
},
"dateOfDecisionActivity": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfLimitation": {
"type": "string",
"format": "date-time",
"nullable": true
},
"practiceOpeningDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"practiceClosingDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"authorizationHiaId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"authorizationHiaText": {
"type": "string",
"nullable": true
},
"authorizationForNarcoticsId": {
"type": "integer",
"format": "int32"
},
"authorizationForNarcoticsText": {
"type": "string",
"nullable": true
},
"commentNarcotics": {
"type": "string",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.NinetyDayServiceProviderAddress": {
"type": "object",
"properties": {
"companyName": {
"type": "string",
"nullable": true
},
"additionalAdressData1": {
"type": "string",
"nullable": true
},
"additionalAdressData2": {
"type": "string",
"nullable": true
},
"street": {
"type": "string",
"nullable": true
},
"streetNumber": {
"type": "string",
"nullable": true
},
"zip": {
"type": "string",
"nullable": true
},
"city": {
"type": "string",
"nullable": true
},
"phone": {
"type": "string",
"nullable": true
},
"phone2": {
"type": "string",
"nullable": true
},
"mobile": {
"type": "string",
"nullable": true
},
"fax": {
"type": "string",
"nullable": true
},
"email": {
"type": "string",
"nullable": true
},
"authorizationForSelfDispensationId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"authorizationForSelfDispensationText": {
"type": "string",
"nullable": true
},
"commentSelfDispensation": {
"type": "string",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.NinetyDayServiceProvider": {
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.NinetyDayServiceProviderAddress"
},
"nullable": true
},
"statusId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"statusText": {
"type": "string",
"nullable": true
},
"dateOfNotification": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfStart": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfEnd": {
"type": "string",
"format": "date-time",
"nullable": true
},
"cantonOfAuthorizationId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"cantonOfAuthorizationText": {
"type": "string",
"nullable": true
},
"authorizationHiaId": {
"type": "integer",
"format": "int32",
" nullableclearingNumberRelationType": true
}"CHANGE_OF_HANDS",
"authorizationHiaTextclearingNumberRelationTypeTranslations": {
"typede": " stringBesitzerwechsel",
"nullablefr": true
"Changement },
"authorizationForNarcoticsId": {de propriétaire",
"typeit": " integer",
Cambiamento "format": "int32di proprietario"
},
"authorizationForNarcoticsTextid": {520754
"type": "string",}
"nullable] |
| Code Block |
|---|
| title | CareProvider.ClearingNumbers |
|---|
| "clearingNumbers": true[
},
"commentNarcotics": {
"typenumber": " string",
"nullable": trueN111111"
},
] |
| Code Block |
|---|
| title | CareProvider.EmployeeNumbers |
|---|
| " dateOfMutationemployeeNumbers": {[
"type": "string",{
"formatnumber": "date-time"
}
"999999K"
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.Diploma": {
"type": "object",
"properties": {
"authorizations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.Authorization"
},
"nullable": true
},
"ninetyDayServiceProviders": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.NinetyDayServiceProvider"
},
"nullable": true
},
"diplomaId": {
"type": "integer",
"format": "int32"
},
"diplomaText": {
"type": "string",
"nullable": true
},
"typeOfDiplomaId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"typeOfDiplomaText": {
"type": "string",
"nullable": true
},
"dateOfIssue": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfRecognition": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfEquivalency": {
"type": "string",
"format": "date-time",
"nullable": true
},
"placeOfIssue": {
"type": "string",
"nullable": true
},
"landOfIssueId": {
"type": "integer",
"format": "int32"
},
"landOfIssueText": {
"type": "string",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.PostgraduateTitle": {
"type": "object",
"properties": {
"postgraduateTitleId": {
"type": "integer",
"format": "int32"
},
"postgraduateTitleText": {
"type": "string",
"nullable": true
},
"typeOfTitleId": {
"type": "integer",
"format": "int32",
"nullable": true
},
"typeOfTitleText": {
"type": "string",
"nullable": true
},
"dateOfIssue": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfRecognition": {
"type": "string",
"format": "date-time",
"nullable": true
},
"dateOfEquivalency": {
"type": "string",
"format": "date-time",
"nullable": true
},
"placeOfIssue": {
"type": "string",
"nullable": true
},
"landOfIssueId": {
"type": "integer",
"format": "int32"
},
"landOfIssueText": {
"type": "string",
"nullable": true
},
"dateOfMutation": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"Sasis.Register.CareProvider.Common.Models.ApiGateway.V1.Responses.MedReg.PrivateLawPostgraduateTitle": {
"type": "object",
"properties": {
"typeId": {
"type": "integer",
"format": "int32"
},
"typeText": {
"type": "string",
"nullable": true
},] |
Hinweis: Eine Beziehungsart wird nicht geführt und kann daher nicht ausgeliefert werden für CareProvider.ClearingNumbers und CareProvider.EmployeeNumbers. |
Wie werden Angestelltenverhältnisse im Webservice geliefert?Angestelltenverhältnisse werden unter clearingNumber.relatedEmployees geliefert. Nach welcher Logik werden die Qualifikationen zugeordnet?qualificationTitleType Wir weisen aus, ob es sich um eine eidgenössische oder durch MEBEKO anerkannte Qualifikation handelt. Diese Differenzierung ist möglich bei Diplomen (qualificationGroupeTyp "DIPLOMA") oder Weiterbildungstitel (qualificationGroupType "POSTGRADUATE_TITLE"). Bei den privatrechtlichen Weiterbildungstitel (qualificationGroupeTyp "PRIVATE_LAW_POSTGRADUATE_TITLE") handelt es sich immer um eidgenössische Titel. Wir führen aktuell "UNKNOWN". Mögliche Werte: - RECOGINZED_MEBEKO (Anerkennung MEBEKO)
- FEDERAL (Eidgenössiche Titel)
qualificationGroupType Analoge Struktur gemäss MedReg. Unterteilung der Qualifikationen in die Typen Diplom, Weiterbildungstitel und privatrechtliche Weiterbildungstitel. Mögliche Werte: - DIPLOMA (Diplom)
- POSTGRADUATE_TITLE (Weiterbildungstitel)
- PRIVATE_LAW_POSTGRADUATE_TITLE (Privatrechtliche Weiterbildungstitel)
qualificationType
Im Unterschied zum qualificationGroupeTyp werden die privatrechtlichen Weiterbildungstitel (PRIVATE_LAW_POSTGRADUATE_TITLE) differenziert ausgewiesen in Fähigkeitsausweis (SIWF_CERTIFICATE) und Schwerpunkt (SIWF_SPECIALIZATION). Mögliche Werte: - DIPLOMA (Diplom)
- FMH_POSTGRADUATE_TITLE (Facharzttitel FMH)
- SIWF_CERTIFICATE (Fähigkeitsausweis)
- SIWF_SPECIALIZATION (Schwerpunkt (SIWF)
Zusammenfassend entsprechen für im Medreg geführte Partnerartobergruppen (Doctor, Pharmacist, Chiropractor, Dentist) der QualificationType dem Medreg "Privatrechtliche WB Typ", der QualificationTitleType dem Medreg Diplom-/Weiterbildungstyp und der QualificationGroupType der Medreg Unterteilung in Diplom, Weiterbildungstitel und privatrechtliche Weiterbildungstitel. Für alle anderen OG's wird für QualificationGroupType und QualificationTitleType "Unknown" geführt. Bei QualificationType wird je nach OG noch zwischen Diploma, Certificate, Admission, LaboratoryPostgraduateTitle, LaboratorySpecialization, OrthopedicShoeTechnologyPostgraduateTitle unterschieden. Welche Bedeutung haben die Daten «0001-01-01» bzw. «9999-12-31»?Für fachliche Zeiträume liefert der ZSR-Webservice immer einen Wert für Start- und Ende-Datum, auch dort wo sich aus den Legacy-Daten oder aus anderen Gründen sinnvollerweise keine genauen Datumswerte bestimmen lassen. Dafür werden je einen Platzhalterwert für das Start- und das Ende-Datum verwendet. Die Interpretation dieser Werte ist wie folgt: - «0001-01-01» ist ein Platzhalterwert für ein Startdatum und bedeutet, dass es kein bekanntes fachliches Anfangsdatum gibt (NULL).
- «9999-12-31» ist ein Platzhalterwert für ein Endedatum und bedeutet, dass es kein bekanntes fachliches Enddatum gibt (NULL).
Ein fachlicher Wert mit fachlichem Startdatum «0001-01-01» und fachlichem Endedatum «9999-12-31» ist somit zu jedem Zeitpunkt gültig. Werden technische Id's geliefert?Element id Die in der Detail-Response gelieferten IDs haben keinerlei fachliche Bedeutung und sollten nicht zur fachlichen Interpretation von Werten herbeigezogen werden. Sie dienen ausschliesslich der technischen Identifikation der gelieferten Daten bzw. können zur Handhabung von Mutationen (siehe Wie können Mutationen abgefragt werden? bzw. Wie sind Mutationen zu verarbeiten?) genutzt werden. Auf der technischen IDs sollte nie eine Logik codiert werden. Für den Hauptrecord der ZSR-/K-Nummer wird ausserdem überhaupt keine technische ID geliefert. Eine Identifikation ist nur mittels ZSR-/K-Nummer möglich. Ein Ersatzwert zur vormaligen ZahlstellenId wird nicht ausgeliefert Element key "Stammdaten/Referenzdaten", z.B. wie Kanton, Land, Qualifikation usf., werden mit einer beständigen GUID als Identifikator ausgeliefert. Siehe auch Können Referenzdaten (=Stammdaten) separat geladen werden? Die eindeutige Identifikation ist über das Element "key" (string) möglich bei folgenden Entitäten: - Affiliations
- BusinessScopes
- ClearingNumberSuffixes
- Countries
- Distribution Types
- Facilities
- FunctionalUnits
- HealthServices
- Qualifications
Beispiel: "key": "3fa85f64-5717-4562-b3fc-2c963f66afa6" Wie können Dummy-Nummern identifiziert werden?Die sogenannten Dummy-Nummern sind ein weiterhin verwendetes Legacy-Konstrukt, das weiterhin per ZSR-Webservice bezogen werden kann. Sobald auf dem ClearingNumber Objekt ein Wert für das Property "clearingNumberDummy" geliefert wird, handelt es sich um eine Dummy-Nummer. Beispiel-Struktur: | Code Block |
|---|
| {
"clearingNumber": {
"clearingNumberDummy": {
"id": 912
"name": "CH-Arzt",
}
}
} |
Wie werden Partnerart-Obergruppe/Partnerart-Untergruppe im Webservice ausgewiesen?Alle Leistungserbringer ausser Ärzte und Ärztinnen - Im Feld parentBusinessScope wird immer der Wert für die Partnerart-Obergruppe geliefert.
- Im Feld businessScope wird
- falls vorhanden der Wert der Partnerart-Untergruppe geliefert.
- ansonsten wird der Wert der Partnerart-Obergruppe geliefert.
Ärzte und Ärztinnen "Ärzte und Ärztinnen" werden in businessScope und businessActivity kategorisiert.
Die Werte für BusinessScopes/ParentBusinessScopes können Sie via Webservice über den Endpoint «BusinessScopes» abfragen: /api/v1/businessscopes. Die Werte für businessActivity können Sie via Webservice über den Endpoint «BusinessActivities» abfragen: /api/v1/businessactivities.
Wie setzt sich eine gültige ZSR-Nummer zusammen?Die ZSR-Nummer setzt sich zusammen aus einem Prüfbuchstaben (1. Stelle), Laufnummer (Stellen 2-5) und dem Nummernkreis (Stellen 6-7). Prüfbuchstabe 1 Laufnummer 4 Kantons-Identifikation 2 Beispiel: L248519 L = Prüfbuchstabe 2485 = Laufnummer 19 = Nummernkreis Berechnung Prüfbuchstabe Jeder Wert wird zuerst mit seiner Stellenposition multipliziert (letzte Zahl = Stellenposition 1). Die Resultate werden anschliessend summiert. Die Summe wird durch die Anzahl Buchstaben im Alphabet geteilt (Modulo 26). Der Restbetrag ergibt die Stelle des Buchstabens im Alphabet Beispiel: L248519
(9*1)+(1*2)+(5*3)+(8*4)+(4*5)+(2*6)=90 90/26=3.461... 90-(3*26)=12 12ter Buchstabe im Alphabet= L Beispiel: Y274589 (9*1)+(8*2)+(5*3)+(4*4)+(7*5)+(2*6)=103 103/26=3.96...103-(26*3)=25 25ter Buchstabe im Alphabet = Y Wie setzt sich eine gültige K-Nummer zusammen?K-Nummern setzen sich zusammen aus einer Laufnummer (Stellen 1-6) und dem Buchstaben "K" (7.Stelle). |