¿Es posible para la cláusula de salida de SQL devolver una columna que no se está insertando?

He realizado algunas modificaciones en mi base de datos y necesito migrar los datos antiguos a las nuevas tablas. Para eso, necesito llenar una tabla (ReportOptions) tomando los datos de la tabla original (Práctica), y llenar una segunda tabla intermedia (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...)

Hice una consulta para obtener todos los datos que necesito para pasar de Práctica a Opciones de informe, pero tengo problemas para completar la tabla intermedia

--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

Si pudiera hacer referencia a un campo que no está en la tabla de destino en la cláusula OUTPUT, sería genial (creo que no puedo, pero no estoy seguro). ¿Alguna idea sobre cómo satisfacer mi necesidad?

Gracias por adelantado.