--- S:\Projekte\VIG_VST-IRD\Konzepte\API\Vitalstatus\OpenAPI\OpenAPI_VitalStatusNotificationService-API_V1 (1.2).json	2024-10-09 15:30:22.000000000 +0200
+++ S:\Projekte\VIG_VST-IRD\Konzepte\API\Vitalstatus\OpenAPI\OpenAPI_VitalStatusNotificationService-API_V1.0.json	2024-08-09 11:09:13.000000000 +0200
@@ -1,331 +1,365 @@
-*
-  KONZEPT – SÄMTLICHE INHALTE UNTER ÄNDERUNGSVORBEHALT !
-
-  Kontakt:
-  Robert Koch-Institut
-  Nordufer 20
-  13353 Berlin
-
-  E-Mail: Vertrauensstelle-IRD@rki.de
-*/
-
-* Version techn. Spec: 1.2 */
-
 {
-  "openapi": "3.0.1",
-  "info": {
-    "title": "VIRD Service für die Übertragung von Vitalstatus-Meldungen sowie Anfragen dazu, dem Abruf von asynchronen Fehlern, die bei der Verarbeitung von Daten aufgetreten sind, sowie die Information von Anonymisierungen von Versicherten in der Vertrauensstelle und der Registerstelle",
-    "version": "v1"
-  },
-  "paths": {
-    "/api/v1/anonymizationnotifications": {
-      "get": {
-        "summary": "Gibt die Info über die Anonymisierung von Versicherten in der Registerstelle und der Vertrauensstelle zurück",
-        "responses": {
-          "200": {
-            "description": "Die Operation wurde erfolgreich abgeschlossen",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/AnonymizationNotificationsBundle"
-                }
-              }
-            }
-          },
-          "204": {
-            "description": "Es sind keine Daten vorhanden"
-          },
-          "401": {
-            "description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
-          },
-          "403": {
-            "description": "Die Anfrage war nicht autorisiert"
-          },
-          "500": {
-            "description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
-          }
-        }
-      }
-    },
-    "/api/v1/vitalstatusnotification": {
-      "post": {
-        "summary": "Speichert eine Datenlieferung von Vitalstatus-Meldungen",
-        "requestBody": {
-          "content": {
-            "application/json": {
-              "schema": {
-                "$ref": "#/components/schemas/VitalStatusNotificationBundle"
-              }
-            }
-          }
-        },
-        "responses": {
-          "200": {
-            "description": "Die Operation wurde erfolgreich abgeschlossen"
-          },
-          "400": {
-            "description": "Es wurde eine fehlerhafte Nachricht gesendet"
-          },
-          "401": {
-            "description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
-          },
-          "403": {
-            "description": "Die Anfrage war nicht autorisiert"
-          },
-          "415": {
-            "description": "Es wurde ein falscher Content-Type gesendet"
-          },
-          "500": {
-            "description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
-          }
-        }
-      }
-    },
-    "/api/v1/vitalstatusnotification/requests": {
-      "get": {
-        "summary": "Gibt Anfragen zu Vitalstatus-Meldungen von Versicherten zurück",
-        "responses": {
-          "200": {
-            "description": "Die Operation wurde erfolgreich abgeschlossen",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/RequestsForVitalStatusNotificationBundle"
-                }
-              }
-            }
-          },
-          "204": {
-            "description": "Es sind keine Daten vorhanden"
-          },
-          "401": {
-            "description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
-          },
-          "403": {
-            "description": "Die Anfrage war nicht autorisiert"
-          },
-          "500": {
-            "description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
-          }
-        }
-      }
-    },
-    "/api/v1/vitalstatusnotification/processingerrors": {
-      "get": {
-        "summary": "Gibt Fehler zurück, die bei der Verarbeitung von Vitalstatus-Meldungen auf Seiten der Vertrauensstelle oder der Registerstelle aufgetreten sind",
-        "responses": {
-          "200": {
-            "description": "Die Operation wurde erfolgreich abgeschlossen",
-            "content": {
-              "application/json": {
-                "schema": {
-                  "$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorsBundle"
-                }
-              }
-            }
-          },
-          "204": {
-            "description": "Es sind keine Daten vorhanden"
-          },
-          "401": {
-            "description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
-          },
-          "403": {
-            "description": "Die Anfrage war nicht autorisiert"
-          },
-          "500": {
-            "description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
-          }
-        }
-      }
-    }
-  },
-  "components": {
-    "schemas": {
-      "AnonymizationNotification": {
-        "required": [
-          "IdVersicherter"
-        ],
-        "type": "object",
-        "properties": {
-          "IdVersicherter": {
-            "type": "string",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false
-      },
-      "AnonymizationNotificationsBundle": {
-        "required": [
-          "Anonymisierungen",
-          "Signatur"
-        ],
-        "type": "object",
-        "properties": {
-          "Anonymisierungen": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/AnonymizationNotification"
-            },
-            "description": "Liste der Anonymisierungen"
-          },
-          "Signatur": {
-            "type": "string",
-            "description": "Signatur über die Daten",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false
-      },
-      "RequestForVitalStatusNotification": {
-        "required": [
-          "IdVersicherter"
-        ],
-        "type": "object",
-        "properties": {
-          "IdVersicherter": {
-            "type": "string",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false
-      },
-      "RequestsForVitalStatusNotificationBundle": {
-        "required": [
-          "Anfragen",
-          "Signatur"
-        ],
-        "type": "object",
-        "properties": {
-          "Anfragen": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/RequestForVitalStatusNotification"
-            },
-            "description": "Liste der Anfragen"
-          },
-          "Signatur": {
-            "type": "string",
-            "description": "Signatur über die Daten",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false
-      },
-      "VitalStatusNotification": {
-        "required": [
-          "IdDatensatz",
-          "IdVersicherter",
-          "Sterbedatum",
-          "Vitalstatus"
-        ],
-        "type": "object",
-        "properties": {
-          "IdDatensatz": {
-            "type": "string",
-            "description": "Definiert die eindeutige Id eines Datensatzes innerhalb dieser Meldung."
-          },
-          "IdVersicherter": {
-            "type": "string",
-            "description": "Identifikator des Versicherten. Dieser Wert ist für die VST verschlüsselt.",
-            "format": "byte"
-          },
-          "Vitalstatus": {
-            "type": "string",
-            "description": "Der Vitalstatus des Versicherten. Dieser Wert ist für die RST verschlüsselt.",
-            "format": "byte"
-          },
-          "Sterbedatum": {
-            "type": "string",
-            "description": "Sterbedatum des Versicherten. Dieser Wert ist für die RST verschlüsselt.",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false,
-        "description": "Definiert einen Datensatz zu einem Vitalstatus eines Versicherten"
-      },
-      "VitalStatusNotificationBundle": {
-        "required": [
-          "IdDatenlieferung",
-          "Meldungen",
-          "Signatur"
-        ],
-        "type": "object",
-        "properties": {
-          "IdDatenlieferung": {
-            "type": "string",
-            "description": "Definiert die eindeutige Id der Datenlieferung"
-          },
-          "Meldungen": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/VitalStatusNotification"
-            },
-            "description": "Die Liste der Meldungen"
-          },
-          "Signatur": {
-            "type": "string",
-            "description": "Signatur über die Angaben der Datenlieferung.",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false,
-        "description": "Definiert eine Datenlieferung von Vitalstatus-Meldungen"
-      },
-      "VitalStatusNotificationProcessingErrorResult": {
-        "required": [
-          "Code",
-          "IdDatenlieferung",
-          "IdDatensatz"
-        ],
-        "type": "object",
-        "properties": {
-          "IdDatenlieferung": {
-            "type": "string",
-            "description": "Eindeutige Id der Datenlieferung zurück"
-          },
-          "IdDatensatz": {
-            "type": "string",
-            "description": "Eindeutige Id des Datensatzes innerhalb einer Datenlieferung"
-          },
-          "Code": {
-            "$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorResultCode"
-          }
-        },
-        "additionalProperties": false,
-        "description": "Definiert einen Fehler, der bei der Verarbeitung eines Datensatzes aufgetreten ist"
-      },
-      "VitalStatusNotificationProcessingErrorResultCode": {
-        "enum": [
-          "DecryptionError",
-          "WrongFormatIdVersicherter",
-          "DuplicateIdVersicherter"
-        ],
-        "type": "string",
-        "description": "Definiert einen Fehlercode, der bei der Verarbeitung eines Datensatzes aufgetreten ist"
-      },
-      "VitalStatusNotificationProcessingErrorsBundle": {
-        "required": [
-          "Fehler",
-          "Signatur"
-        ],
-        "type": "object",
-        "properties": {
-          "Fehler": {
-            "type": "array",
-            "items": {
-              "$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorResult"
-            },
-            "description": "Liste der Fehler"
-          },
-          "Signatur": {
-            "type": "string",
-            "description": "Signatur über die Daten",
-            "format": "byte"
-          }
-        },
-        "additionalProperties": false
-      }
-    }
-  }
+	"openapi": "3.0.1",
+	"info": {
+		"title": "VIRD Service für die Übertragung von Vitalstatus-Meldungen sowie Anfragen dazu, dem Abruf von asynchronen Fehlern, die bei der Verarbeitung von Daten aufgetreten sind, sowie die Information von Anonymisierungen von Versicherten in der Vertrauensstelle und der Registerstelle",
+		"version": "v1",
+		"description": "Stand entsprechend IRD_API_ Krankenversicherungstraeger_v1.0_technische_Spezifikation.pdf - Dokumentversion 1.4",
+		"contact": {
+			"name": "Robert Koch-Institut, Referat VIG - Vertrauensstellen, Nordufer 20, 13353 Berlin",
+			"email": "Vertrauensstelle-IRD@rki.de"
+		}
+	},
+	"paths": {
+		"/api/v1/vitalstatusnotification": {
+			"post": {
+				"tags": [
+					"VitalStatus"
+				],
+				"summary": "Speichert eine Datenlieferung von Vitalstatus-Meldungen",
+				"requestBody": {
+					"description": "",
+					"content": {
+						"application/json": {
+							"schema": {
+								"$ref": "#/components/schemas/VitalStatusNotificationBundle"
+							}
+						}
+					}
+				},
+				"responses": {
+					"200": {
+						"description": "Die Operation wurde erfolgreich abgeschlossen"
+					},
+					"400": {
+						"description": "Es wurde eine fehlerhafte Nachricht gesendet"
+					},
+					"401": {
+						"description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
+					},
+					"403": {
+						"description": "Die Anfrage war nicht autorisiert"
+					},
+					"415": {
+						"description": "Es wurde ein falscher Content-Type gesendet"
+					},
+					"500": {
+						"description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
+					}
+				}
+			}
+		},
+		"/api/v1/vitalstatusnotification/requests": {
+			"get": {
+				"tags": [
+					"VitalStatus"
+				],
+				"summary": "Gibt Anfragen zu Vitalstatus-Meldungen von Versicherten zurück",
+				"responses": {
+					"200": {
+						"description": "Die Operation wurde erfolgreich abgeschlossen",
+						"content": {
+							"application/json": {
+								"schema": {
+									"$ref": "#/components/schemas/RequestsForVitalStatusNotificationBundle"
+								}
+							}
+						}
+					},
+					"204": {
+						"description": "Es sind keine Daten vorhanden"
+					},
+					"401": {
+						"description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
+					},
+					"403": {
+						"description": "Die Anfrage war nicht autorisiert"
+					},
+					"500": {
+						"description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
+					}
+				}
+			}
+		},
+		"/api/v1/vitalstatusnotification/processingerrors": {
+			"get": {
+				"tags": [
+					"VitalStatus"
+				],
+				"summary": "Gibt Anfragen zu Vitalstatus-Meldungen von Versicherten zurück",
+				"responses": {
+					"200": {
+						"description": "Die Operation wurde erfolgreich abgeschlossen",
+						"content": {
+							"application/json": {
+								"schema": {
+									"$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorsBundle"
+								}
+							}
+						}
+					},
+					"204": {
+						"description": "Es sind keine Daten vorhanden"
+					},
+					"401": {
+						"description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
+					},
+					"403": {
+						"description": "Die Anfrage war nicht autorisiert"
+					},
+					"500": {
+						"description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
+					}
+				}
+			}
+		},
+		"/api/v1/anonymizationnotifications": {
+			"get": {
+				"tags": [
+					"VitalStatus"
+				],
+				"summary": "Gibt die Info über die Anonymisierung von Versicherten in der Registerstelle und der Vertrauensstelle zurück",
+				"responses": {
+					"200": {
+						"description": "Die Operation wurde erfolgreich abgeschlossen",
+						"content": {
+							"application/json": {
+								"schema": {
+									"$ref": "#/components/schemas/AnonymizationNotificationsBundle"
+								}
+							}
+						}
+					},
+					"204": {
+						"description": "Es sind keine Daten vorhanden"
+					},
+					"401": {
+						"description": "Die Authentifizierung an der Schnittstelle ist fehlgeschlagen"
+					},
+					"403": {
+						"description": "Die Anfrage war nicht autorisiert"
+					},
+					"500": {
+						"description": "Es ist ein interner Fehler bei der Verarbeitung aufgetreten"
+					}
+				}
+			}
+		}
+	},
+	"components": {
+		"schemas": {
+			"AnonymizationNotification": {
+				"required": [
+					"IdVersicherter"
+				],
+				"type": "object",
+				"properties": {
+					"IdVersicherter": {
+						"type": "string",
+						"description": "Identifikator des Versicherten.",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert einen Datensatz zu einem Versicherten, zu dem eine Anonymisierung innerhalb der Vertrauensstelle und der Registerstelle vorgenommen wurde"
+			},
+			"AnonymizationNotificationsBundle": {
+				"required": [
+					"Anonymisierungen",
+					"SessionKey",
+					"Signatur"
+				],
+				"type": "object",
+				"properties": {
+					"Anonymisierungen": {
+						"type": "array",
+						"items": {
+							"$ref": "#/components/schemas/AnonymizationNotification"
+						},
+						"description": "Liste der Anonymisierungen"
+					},
+					"SessionKey": {
+						"type": "string",
+						"description": "Symmetrischer 32 Bytes langer Schlüssel gültig für diese Übertragung (Session).",
+						"format": "byte"
+					},
+					"Signatur": {
+						"type": "string",
+						"description": "Signatur über die Daten zusammen mit dem verwendenten Session-Key",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert die Liste der Anonymisierungen und die Signatur über die Daten."
+			},
+			"RequestForVitalStatusNotification": {
+				"required": [
+					"IdVersicherter"
+				],
+				"type": "object",
+				"properties": {
+					"IdVersicherter": {
+						"type": "string",
+						"description": "Identifikator des Versicherten.",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert einen Datensatz zur Anfrage des Vitalstatus eines Versicherten."
+			},
+			"RequestsForVitalStatusNotificationBundle": {
+				"required": [
+					"Anfragen",
+					"SessionKey",
+					"Signatur"
+				],
+				"type": "object",
+				"properties": {
+					"Anfragen": {
+						"type": "array",
+						"items": {
+							"$ref": "#/components/schemas/RequestForVitalStatusNotification"
+						},
+						"description": "Definiert die Liste der Anfragen zur Vitalstatus-Meldungen und die Signatur über die Daten"
+					},
+					"SessionKey": {
+						"type": "string",
+						"description": "Symmetrischer 32 Bytes langer Schlüssel gültig für diese Übertragung (Session).",
+						"format": "byte"
+					},
+					"Signatur": {
+						"type": "string",
+						"description": "Signatur über die Vital Status Meldungen.",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Liste der Anfragen und Signatur über die Daten"
+			},
+			"VitalStatusNotification": {
+				"required": [
+					"IdDatensatz",
+					"IdVersicherter",
+					"Sterbedatum",
+					"Vitalstatus"
+				],
+				"type": "object",
+				"properties": {
+					"IdDatensatz": {
+						"maxLength": 40,
+						"minLength": 3,
+						"type": "string",
+						"description": "Definiert die eindeutige Id eines Datensatzes innerhalb dieser Meldung.",
+						"format": "byte"
+					},
+					"IdVersicherter": {
+						"type": "string",
+						"description": "Identifikator des Versicherten. Dieser Wert ist für die VST verschlüsselt.",
+						"format": "byte"
+					},
+					"Vitalstatus": {
+						"type": "string",
+						"description": "Der Vitalstatus des Versicherten. Dieser Wert ist für die RST verschlüsselt.",
+						"format": "byte"
+					},
+					"Sterbedatum": {
+						"type": "string",
+						"description": "Sterbedatum des Versicherten. Dieser Wert ist für die RST verschlüsselt.",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert einen Datensatz zu einem Vitalstatus eines Versicherten"
+			},
+			"VitalStatusNotificationBundle": {
+				"required": [
+					"IdDatenlieferung",
+					"Meldungen",
+					"Signatur"
+				],
+				"type": "object",
+				"properties": {
+					"IdDatenlieferung": {
+						"type": "string",
+						"description": "Definiert die eindeutige Id der Datenlieferung",
+						"format": "byte"
+					},
+					"Meldungen": {
+						"type": "array",
+						"items": {
+							"$ref": "#/components/schemas/VitalStatusNotification"
+						},
+						"description": "Die Liste der Meldungen"
+					},
+					"Signatur": {
+						"type": "string",
+						"description": "Signatur über die Angaben der Datenlieferung.",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert eine Datenlieferung von Vitalstatus-Meldungen und die Signatur über die Daten"
+			},
+			"VitalStatusNotificationProcessingErrorResult": {
+				"required": [
+					"Code",
+					"IdDatenlieferung",
+					"IdDatensatz"
+				],
+				"type": "object",
+				"properties": {
+					"IdDatenlieferung": {
+						"maxLength": 40,
+						"minLength": 3,
+						"type": "string",
+						"description": "Eindeutige Id der Datenlieferung",
+						"format": "byte"
+					},
+					"IdDatensatz": {
+						"maxLength": 40,
+						"minLength": 3,
+						"type": "string",
+						"description": "Eindeutige Id des Datensatzes innerhalb einer Datenlieferung",
+						"format": "byte"
+					},
+					"Code": {
+						"$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorResultCode"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert einen Fehler, der bei der Verarbeitung eines Datensatzes aufgetreten ist"
+			},
+			"VitalStatusNotificationProcessingErrorResultCode": {
+				"enum": [
+					"DecryptionError",
+					"WrongFormatIdVersicherter",
+					"DuplicateIdVersicherter"
+				],
+				"type": "string",
+				"description": "Definiert einen Fehlercode, der bei der Verarbeitung eines Datensatzes aufgetreten ist"
+			},
+			"VitalStatusNotificationProcessingErrorsBundle": {
+				"required": [
+					"Fehler",
+					"Signatur"
+				],
+				"type": "object",
+				"properties": {
+					"Fehler": {
+						"type": "array",
+						"items": {
+							"$ref": "#/components/schemas/VitalStatusNotificationProcessingErrorResult"
+						},
+						"description": "Liste der Fehler"
+					},
+					"Signatur": {
+						"type": "string",
+						"description": "Signatur über die Daten",
+						"format": "byte"
+					}
+				},
+				"additionalProperties": false,
+				"description": "Definiert die Liste der Verarbeitungsfehler zur Vitalstatus-Meldungen und die Signatur über die Daten"
+			}
+		}
+	}
 }
\ No newline at end of file
