É possível para a cláusula SQL Output retornar uma coluna que não está sendo inserida?

Fiz algumas modificações no meu banco de dados e preciso migrar os dados antigos para as novas tabelas. Para isso, preciso preencher uma tabela (ReportOptions), pegando os dados da tabela original (Practice), e preencher uma segunda tabela intermediária (PracticeReportOption).

ReportOption (ReportOptionId int PK, field1, field2...)
Practice (PracticeId int PK, field1, field2...)
PracticeReportOption (PracticeReportOptionId int PK, PracticeId int FK, ReportOptionId int FK, field1, field2...)

Eu fiz uma consulta para obter todos os dados que preciso para passar de Prática para ReportOptions, mas estou tendo problemas para preencher a tabela intermediária

--Auxiliary tables
DECLARE @ReportOption TABLE (PracticeId int /*This field is not on the actual ReportOption table*/, field1, field2...)
DECLARE @PracticeReportOption TABLE (PracticeId int, ReportOptionId int, field1, field2)

--First I get all the data I need to move
INSERT INTO @ReportOption
SELECT P.practiceId, field1, field2...
  FROM Practice P

--I insert it into the new table, but somehow I need to have the repation PracticeId / ReportOptionId
INSERT INTO ReportOption (field1, field2...)
OUTPUT @ReportOption.PracticeId, --> this is the field I don't know how to get
       inserted.ReportOptionId
  INTO @PracticeReportOption (PracticeId, ReportOptionId)
SELECT field1, field2
  FROM @ReportOption

--This would insert the relationship, If I knew how to get it!
INSERT INTO @PracticeReportOption (PracticeId, ReportOptionId)
SELECT PracticeId, ReportOptionId
  FROM @ReportOption

Se eu pudesse referenciar um campo que não está na tabela de destino na cláusula OUTPUT, isso seria ótimo (acho que não posso, mas não tenho certeza). Alguma idéia de como acoplar minha necessidade?

Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion