/** * @inheritdoc */ public function buildNarrative(Questionnaire $questionnaire) { if (SmokingRagIsRedSpecification::isSatisfiedBy($questionnaire)) { $this->buildRedSmokingNarrative($questionnaire); $this->buildRedSmokingBehaviours($questionnaire); } else { $this->buildGreenSmokingNarrative($questionnaire); } return $this->narrative; }
/** * @param Questionnaire $questionnaire */ protected function buildSmokingBehaviours(Questionnaire $questionnaire) { if (SmokingRagIsRedSpecification::isSatisfiedBy($questionnaire)) { if (SmokingIsOccasionalSpecification::isSatisfiedBy($questionnaire)) { $this->narrative->addMessages(self::SECTION_NAME, array(SmokingNarrativeBuilder::SECTION_NAME => 'behaviours_smoking_red_occasional')); } else { $this->narrative->addMessages(self::SECTION_NAME, array(SmokingNarrativeBuilder::SECTION_NAME => 'behaviours_smoking_red')); } } else { $this->narrative->addMessages(self::SECTION_NAME, array(SmokingNarrativeBuilder::SECTION_NAME => 'behaviours_smoking_green')); } }