Present Perfect czy Past Simple

Temat przeniesiony do archwium.
Witam. Który z czasów będzie poprawny w poniższym zdaniu? Bo w drugim, według mnie, na 99% zaznaczona opcja jest poprawna.

My sister has read/read all her books when she has been/was in hospital.


Dodatkowo, czy w poniższych zdaniach dobrze wybrałem czas?

- I have just cooked some pasta. Would you like some?
- No, thank you. We had a three-course dinner just an hour ago.
my sister read all her books when she was in the hospital - to zdanie jest poprawne

2 ok
3 ok