rxjs com vários forkjoin ao fazer solicitações http

Estou fazendo algumas solicitações http e uso rxjs para obter uma notificação bem-sucedida do resultado:

  getReportings(departmentId: number): Observable<any> {
        return Observable.forkJoin(
            this.http.get('/api/members/' + departmentId).map(res => res.json()),
            this.http.get('/api/reports/' + departmentId).map(res => res.json())
        );
    }

Quando as duas solicitações http forem concluídas, desejo que dentro do método getReportings itere a matriz de relatórios, leia alguns valores e, para cada relatório, faça novamente uma nova solicitação http com esses valores.

Ao todo, tenho 2 (membro / relatórios) + aprox. 4 a 8 (outras coisas) solicitações.

Quando todos os aprox. 6 a 8 solicitações são concluídas. Quero obter TODOS os dados das 6 a 8 solicitações anteriores no manipulador bem-sucedido.

Como posso fazer isso com o rxjs?

ATUALIZAR

Como o usuário olsn pediu mais detalhes e eu o entendo agora, qual é a preocupação dele? Coloquei mais dados aqui (pseudo-código) como devem ser as solicitações de 6 a 8:

getReportings(departmentId: number): Observable<any> {
    return Observable.forkJoin(
        this.http.get('/api/members/' + departmentId).map(res => res.json()),
        this.http.get('/api/reports/' + departmentId).map(res => res.json())
    ).switchMap((result: [any[], any[]]) => {
        let members: any[] = result[0];
        let reports: any[] = result[1];
        let allNewStreams: Observable<any>[] = [
            Observable.of(members),
            Observable.of(reports)
        ]; 

        for(let report of reports)
        {
            allNewStreams.push(
this.http.get(report.url + ?key1=report.name1?).map(res => res.json()));
        }


        return Observable.forkJoin(allNewStreams); // will contain members, reports + 4-6 other results in an array [members[], reports[], ...other stuff]
    });
}

questionAnswers(1)

yourAnswerToTheQuestion