A 7-year-old boy presents with a non-blanching purpuric rash on the legs, abdominal pain and arthralgia after an upper respiratory infection. Urinalysis shows microscopic haematuria but normal blood pressure and renal function. Which diagnosis best fits this presentation?