Have you tried (on the advanced tab, field priming), CHI:DocumentId=p_Web.GetSessionValue('CHI:DocumentId') because although the data is not sent directly to the form because it is not part of the single, unique, unchanging key, (so not available via GetValue) it should be written to the session queue. If it is not, you can write it to the session queue at the start of the browse procedure for the child where that data is available.
Cheers!
Rob Mikkelsen