Por que a ordem das instruções não alteram o produto? xhr.send() que envia a requisição é chamado após a função que recebe os dados da requisição.
var botaoAdicionar = document.querySelector("#buscar-pacientes");
botaoAdicionar.addEventListener("click", function() {
var xhr = new XMLHttpRequest(); // objeto JavaScript que faz a requisição http
xhr.open("GET","https://api-pacientes.herokuapp.com/pacientes"); //abrindo a conexão
xhr.addEventListener("load", function() {
var erroAjax = document.querySelector("#erro-ajax");
if(xhr.status == 200) {
erroAjax.classList.add("invisivel");
var resposta = xhr.responseText;
var pacientes = JSON.parse(resposta);
pacientes.forEach(function(paciente) {
adicionaPacienteNaTabela(paciente);
});
} else {
erroAjax.classList.remove("invisivel");
}
});
xhr.send(); //enviando a conexao;
});