public function generateRawData()
    {
        $rawData = ['id' => $this->getId()];
        $rawData['output_info'] = [];
        $rawData['output_info']['data'] = [];
        if ($this->getName()) {
            $rawData['name'] = $this->getName();
        }
        if ($this->getAppId()) {
            $rawData['app_id'] = $this->getAppId();
        }
        if ($this->getCreatedAt()) {
            $rawData['created_at'] = $this->getCreatedAt();
        }
        if ($this->getConcepts()) {
            $rawData['output_info']['data']['concepts'] = [];
            foreach ($this->getConcepts() as $concept) {
                $rawData['output_info']['data']['concepts'][] = $concept->generateRawData();
            }
        }
        if ($this->isConceptsMutuallyExclusive() || $this->isClosedEnvironment()) {
            $rawData['output_info']['output_config'] = $this->getOutputConfig();
        }
        if ($this->getModelVersion()) {
            $rawData['model_version'] = $this->getModelVersion()->generateRawData();
        }

        return $rawData;
    }