def score(
    self,
    noteTopics: pd.DataFrame,
    ratings: pd.DataFrame,
    noteStatusHistory: pd.DataFrame,
    userEnrollment: pd.DataFrame,
  ) -> Tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame]:
    """
    This function is deprecated and only included for testing purposes for now. Not intended to be called in
    main code flow (since the scorer will be split, and this function calls both phases sequentially)
    """
    logger.info(
      "CALLED DEPRECATED scorer.score() function. Prefer sequentially calling prescore() then score_final()."
    )

    prescoringModelResult = self.prescore(
      PrescoringArgs(
        noteTopics=noteTopics,
        ratings=ratings,
        noteStatusHistory=noteStatusHistory,
        userEnrollment=userEnrollment,
      )
    )

    if prescoringModelResult.scoredNotes is not None:
      prescoringModelResult.scoredNotes[c.scorerNameKey] = prescoringModelResult.scorerName
    if prescoringModelResult.helpfulnessScores is not None:
      prescoringModelResult.helpfulnessScores[c.scorerNameKey] = prescoringModelResult.scorerName
    if (
      prescoringModelResult.metaScores is not None and prescoringModelResult.scorerName is not None
    ):
      prescoringMetaOutput = c.PrescoringMetaOutput(
        metaScorerOutput={prescoringModelResult.scorerName: prescoringModelResult.metaScores}
      )
    else:
      prescoringMetaOutput = c.PrescoringMetaOutput(metaScorerOutput={})

    finalScoringArgs = FinalScoringArgs(
      noteTopics=noteTopics,
      ratings=ratings,
      noteStatusHistory=noteStatusHistory,
      userEnrollment=userEnrollment,
      prescoringNoteModelOutput=prescoringModelResult.scoredNotes,
      prescoringRaterModelOutput=prescoringModelResult.helpfulnessScores,
      prescoringMetaOutput=prescoringMetaOutput,
    )
    finalModelResult = self.score_final(finalScoringArgs)
    return (
      finalModelResult.scoredNotes,
      finalModelResult.helpfulnessScores,
      finalModelResult.auxiliaryNoteInfo,
    )

    This function is deprecated and only included for testing purposes for now. Not intended to be called in
    main code flow (since the scorer will be split, and this function calls both phases sequentially)
    
sourcecode/scoring/scorer.py