S.L.
I think 7 sounds rather young. I remember when I was 8, maybe almost 9, I was on a walk with a friend (a boy a year or so older than I) and we saw a tampon applicator in the gutter. He told me what it was, and I remember it so well! He was quite a bit off, but I didn't really care about what he was talking about. Within a year or two, was playing with a friend (a girl my age) and she started making fun of another girl (who wasn't present) because "she thinks that a period is a dot at the end of a sentence." I had no idea what she was talking about, and changed the subject. I didn't care, and most of my friends didn't know much until there was a little movie at school when we were 9 or 10.
I think I'd give her a few more years of innocence. I think the only real reason to discuss it is if she has questions (she may hear things) or if she's likely to get her period soon. That would be terrifying if you didn't know what it was (think My Girl).
That said, I have little kids, so I haven't even thought about having the talk yet!