models/classes/runner/QtiRunnerService.php
protected function getTransmissionId(QtiRunnerServiceContext $context, $itemId = null)
    {
        if (is_null($itemId)) {
            $itemId = $context->getCurrentAssessmentItemRef();
        } elseif ($itemId != $context->getCurrentAssessmentItemRef()) {
            throw new \common_exception_NotImplemented('Item variables can be stored only for the current item');
        }

        $sessionId = $context->getTestSession()->getSessionId();
        $currentOccurrence = $context->getTestSession()->getCurrentAssessmentItemRefOccurence();

        return $sessionId . '.' . $itemId . '.' . $currentOccurrence;
    }
protected function getTransmissionId(QtiRunnerServiceContext $context, $itemId = null)
    {
        if (is_null($itemId)) {
            $itemId = $context->getCurrentAssessmentItemRef();
        } elseif ($itemId != $context->getCurrentAssessmentItemRef()) {
            throw new \common_exception_NotImplemented('Item variables can be stored only for the current item');
        }

        $sessionId = $context->getTestSession()->getSessionId();
        $currentOccurrence = $context->getTestSession()->getCurrentAssessmentItemRefOccurence();

        return $sessionId . '.' . $itemId . '.' . $currentOccurrence;
    }
Build the transmission based on context and item ref id to store Item variables

@param QtiRunnerServiceContext $context
@param null $itemId The item ref identifier
@return string The transmission id to store item variables
@throws \common_exception_NotImplemented If the given $itemId is not the current assessment item ref