The amazing tale of a test certificate and the Unix timestamp that traveled through time.
Now let’s move on to sports: the whole world is talking about the test certificates of a tennis player right now.
Novak Đoković is a serbian tennis player who recently entered Australia – without vaccination, but with two PCR test certificates. A positive test result from December 16th and a negative test result from December 22nd. He is therefore considered to be recovered.
With this he got a special permit to enter the country unvaccinated – but this permit was then considered insufficient when he entered the country. In the meantime, however, a court has allowed him to enter australia.
In cooperation with SPIEGEL, we took a look at the court documents and tried to understand the technical details. 🕵️
In serbia pcr test results are managed through a central test result registry. After the test, you get a test certificate with a QR code. Scanning this will take you to the test registry website where you can validate the test.
However, the website itself contains only parts of the information of the paper certificate: The name of the person tested, the test result, and a test number.
So it is not possible to check when someone was tested with the help of the test result page.
Because we like to look at URLs, we did the same in this case. 🔎
There is one exciting detail that stands out right away: There is a code in the URL that starts with a Unix timestamp.
Unix timestamps are a standard to represent points in time. It is the number of seconds since 1/1/1970 at midnight. So the current time is: 1641903476, which is about 1.6 billion seconds since the beginning of “unix time”.
The timestamp in the certificate URL (1640187792) can also be converted to a human-readable time. In the negative test of December 22nd the timestamp and the date in the test certificate match.
For Đokovićs positive PCR test, which according to the court document was evaluated on December 16, the timestamp (1640524880) is from … 🥁 … December 26. Wait, that doesn’t seem right 🤔
There is also a “confirmation code” on the test result page. We were able to find some more tests and found that the first part of this code is an ascending test ID and corresponds approximately to the number of PCR tests reported for Serbia at that time.
But something is wrong with Đoković positive PCR test result: the test ID of the positive test (7371999) from Dec. 16 is larger than that of the negative test from Dec. 22 (7320919). The test that was supposedly performed earlier was therefore entered into the system later. 🤔And also if we look at the test numbers reported by Serbia, in period from 16/12 to 22/12 about 75,000 tests were performed - but the test IDs of Đoković differ only by 50,000.
This number fits much better if we believe the timestamp and assume 12/26 as the date of the positive test: Because between 12/22 and 12/26 about 50,000 tests were reported – thus fitting many to the documents at hand.
But there seems to be more wrong with these test results
For timeline completeness:
— Ben Rothenberg (@BenRothenberg) January 10, 2022
Djokovic produced a negative PCR test dated December 22nd. pic.twitter.com/Kqmey80nPw
And with that, we pass on to the weather. 🌤️
Update
On HackerNews someone gave a plausible explanation for the timestamps: They are regenerated when you download the PDF with the result.
This explains the inconsistencies in the timestamps – but not in the confirmation codes – because they remain the same.
https://news.ycombinator.com/item?id=29894843
And the inconsistencies also exists in them. The confirmation codes are ascending, so the result from the 16th should have a lower number than the one from 22nd. However, it is the other way around.
If you like what we do and want to support us, you can check out our support page.
To stay up to date, follow us on Twitter or subscribe to our RSS feed