diff --git a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data.proto b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data.proto index 2eddff004698890c00b6dba3e1dca4c971def8d2..412ab95c88ed0e69061952cafe6954ad0b3379f9 100644 --- a/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data.proto +++ b/Server-Protocol-Buffer/src/main/proto/internal/ppdd/ppa_data.proto @@ -12,9 +12,9 @@ message PPADataIOS { repeated ExposureRiskMetadata exposureRiskMetadataSet = 2; // 0..n entries expected repeated PPANewExposureWindow newExposureWindows = 3; - // 0..1 entries expected + // 0..2 entries expected repeated PPATestResultMetadata testResultMetadataSet = 4; - // 0..1 entries expected + // 0..2 entries expected repeated PPAKeySubmissionMetadata keySubmissionMetadataSet = 5; PPAClientMetadataIOS clientMetadata = 6; @@ -26,13 +26,13 @@ message PPADataAndroid { // for Plausible Deniability; can be ignored by the server bytes requestPadding = 1; - // 0..n entries expected + // 0..1 entries expected repeated ExposureRiskMetadata exposureRiskMetadataSet = 2; // 0..n entries expected repeated PPANewExposureWindow newExposureWindows = 3; - // 0..1 entries expected + // 0..2 entries expected repeated PPATestResultMetadata testResultMetadataSet = 4; - // 0..1 entries expected + // 0..2 entries expected repeated PPAKeySubmissionMetadata keySubmissionMetadataSet = 5; PPAClientMetadataAndroid clientMetadata = 6; @@ -40,10 +40,16 @@ message PPADataAndroid { } message ExposureRiskMetadata { + // BLE-based proximity tracing PPARiskLevel riskLevel = 1; bool riskLevelChangedComparedToPreviousSubmission = 2; int64 mostRecentDateAtRiskLevel = 3; bool dateChangedComparedToPreviousSubmission = 4; + // check-in-based presence tracing + PPARiskLevel ptRiskLevel = 5; + bool ptRiskLevelChangedComparedToPreviousSubmission = 6; + int64 ptMostRecentDateAtRiskLevel = 7; + bool ptDateChangedComparedToPreviousSubmission = 8; } message PPANewExposureWindow { @@ -55,9 +61,14 @@ message PPANewExposureWindow { message PPATestResultMetadata { PPATestResult testResult = 1; int32 hoursSinceTestRegistration = 2; + // BLE-based proximity tracing PPARiskLevel riskLevelAtTestRegistration = 3; int32 daysSinceMostRecentDateAtRiskLevelAtTestRegistration = 4; int32 hoursSinceHighRiskWarningAtTestRegistration = 5; + // check-in-based presence tracing + PPARiskLevel ptRiskLevelAtTestRegistration = 6; + int32 ptDaysSinceMostRecentDateAtRiskLevelAtTestRegistration = 7; + int32 ptHoursSinceHighRiskWarningAtTestRegistration = 8; } message PPAKeySubmissionMetadata { @@ -69,9 +80,19 @@ message PPAKeySubmissionMetadata { PPALastSubmissionFlowScreen lastSubmissionFlowScreen = 6; int32 hoursSinceTestResult = 7; int32 hoursSinceTestRegistration = 8; + + // BLE-based proximity tracing int32 daysSinceMostRecentDateAtRiskLevelAtTestRegistration = 9; int32 hoursSinceHighRiskWarningAtTestRegistration = 10; + bool submittedWithTeleTAN = 11; + bool submittedAfterRapidAntigenTest = 12; + + // check-in-based presence tracing + int32 ptDaysSinceMostRecentDateAtRiskLevelAtTestRegistration = 13; + int32 ptHoursSinceHighRiskWarningAtTestRegistration = 14; + + bool submittedWithCheckIns = 15; } enum PPARiskLevel { @@ -138,9 +159,18 @@ enum PPAExposureWindowInfectiousness { enum PPATestResult { TEST_RESULT_UNKNOWN = 0; + + // PCR Test TEST_RESULT_PENDING = 1; TEST_RESULT_NEGATIVE = 2; TEST_RESULT_POSITIVE = 3; + TEST_RESULT_INVALID = 4; + + // Rapid Antigen Test + TEST_RESULT_RAT_PENDING = 5; + TEST_RESULT_RAT_NEGATIVE = 6; + TEST_RESULT_RAT_POSITIVE = 7; + TEST_RESULT_RAT_INVALID = 8; } enum PPALastSubmissionFlowScreen {