You might need to use subquery or CTE because the ROW_NUMBER() is being calculated/applied to each row during execution. Example CTE (Common Table Expression)
WITH temp as (
SELECT dbo.fn_parsehtml(MCS_CASE_SUMMARY)
,ROW_NUMBER() OVER (
ORDER BY RRH_MR_NUM
) AS RowNum
,RRH_LOCATION_CD
,RRH_MR_NUM
,RRH_FIRST_NAME
,RRH_PAT_SEX
,RRH_REGN_DT
,RRH_PAT_DOB
,MCS_CRT_DTE
FROM MR_CASE_SUMMARY_HISTORY_2015
LEFT OUTER JOIN RE_REGISTRATION_HEADER ON MCS_MRD_NUMBER = rrh_mr_num
LEFT OUTER JOIN CO_PATIENT_ADDRESS_DETAIL ON RRH_COMM_ID = CPA_COMM_ID
AND CPA_MAILING_ADDR = '1'
) SELECT * FROM temp
WHERE RowNum BETWEEN 1 AND 10
or subquery
SELECT * FROM
(
SELECT dbo.fn_parsehtml(MCS_CASE_SUMMARY)
,ROW_NUMBER() OVER (
ORDER BY RRH_MR_NUM
) AS RowNum
,RRH_LOCATION_CD
,RRH_MR_NUM
,RRH_FIRST_NAME
,RRH_PAT_SEX
,RRH_REGN_DT
,RRH_PAT_DOB
,MCS_CRT_DTE
FROM MR_CASE_SUMMARY_HISTORY_2015
LEFT OUTER JOIN RE_REGISTRATION_HEADER ON MCS_MRD_NUMBER = rrh_mr_num
LEFT OUTER JOIN CO_PATIENT_ADDRESS_DETAIL ON RRH_COMM_ID = CPA_COMM_ID
AND CPA_MAILING_ADDR = '1'
) r
WHERE r.RowNum BETWEEN 1 AND 10
reference:
Why You Can't Use ROW_NUMBER() In Your WHERE Clause - SQL Theater[
^]