ExecContext return stored procedure output value

Hi, I’m using ExecContext to execute a stored procedure with an output of scope_identity. However I am receiving a zero value

tsql := "sp_CreateMetadata"

	_, err = db.ExecContext(ctx, tsql,
		sql.Named("Fname", fname),
		sql.Named("Fsize", fsize),
		sql.Named("Ftype", ftype),
		sql.Named("Osuser", osuser),
		sql.Out{Dest: &lastInsertId1})
alter  PROCEDURE sp_CreateMetadata
	-- Add the parameters for the stored procedure here
	@Fname nvarchar(200),
	@Fsize float,
	@Ftype nvarchar(25),
	@Osuser nvarchar(50),
	@LastInsertID int output
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	INSERT INTO Uploads( Fname, Fsize, Ftype, OsUser ) VALUES (@FName, @Fsize, @Ftype, @Osuser)
    -- Insert statements for procedure here
	set @LastInsertID = SCOPE_IDENTITY()
	return @LastInsertID

//also SELECT @LastInsertID = SCOPE_IDENTITY() did not work
END