Although I can't document it, I do believe "in hospital" is BE, "in the hospital" is AE. Maybe it's just me, my family, or a regionalism in AE, but I would welcome other opinions and documentation.
I don't see "kurz" used in the English translation -- maybe "Today I was briefly in the hospital ..." or "I was briefly in the hospital today ..."
Despite the comma in the OP between Krankenhaus and weil, the comma is not necessary in English. "Today I was briefly in the hospital because I ..." "Because" clauses can have, but don't need, a comma. If, however, you put the "because" clause first, then it needs the comma: "Because I [had a blackout/passed out], I was briefly in the hospital today."
"Have eaten" is the correct form.