No promises as you did not provide the DDL for the tables or sample data:
SELECT DISTINCT
[Rxo].[SYS_ID]
, [Rxo].[PATIENT_ID]
, [Rxo].[DESCRIPTION]
, [Rxo].[RX_NUMBER]
, [JRxf].[MAX_FILL_NUM]
, [Rxo].[PT_CASE_PHYSICIAN_SYS_ID]
, CONVERT(VARCHAR(12) , [Rxo].[DATE_WRITTEN] , 110) AS DATE_WRITTEN
, CONVERT(VARCHAR(12) , [Rxo].[EXPIRES] , 110) AS EXPIRES_ON
, CONVERT(VARCHAR(12) , [Rx3].[MIN_START] , 110) AS MIN_START
, cast(min([Rxo].[DATE_WRITTEN]) over (partition by [Rxo].[PATIENT_ID]) as DATE) as MinStart
, cast(max([Rxo].[DATE_EXPIRES]) over (partition by [Rxo].[PATIENT_ID]) as DATE) as MaxStart
FROM
[dbo].[RX_ORDER] AS Rxo
LEFT JOIN (
SELECT
MAX([Rxf].[REFILL_NUMBER]) AS [MAX_FILL_NUM]
, [Rxf].[RX_ORDER_SYS_ID]
FROM
[dbo].[RX_FILL] AS Rxf
GROUP BY
[Rxf].[RX_ORDER_SYS_ID]
) JRxf
ON [Rxo].[SYS_ID] = [JRxf].[RX_ORDER_SYS_ID]
LEFT JOIN [dbo].[PATIENT] AS Pat
ON [Rxo].[PATIENT_ID] = [Pat].[PATIENT_ID]
LEFT JOIN [dbo].[PT_CASE] AS Ptc
ON [Pat].[PATIENT_ID] = [Ptc].[PATIENT_ID]
WHERE
[Ptc].[SITE_ID] = '0001' AND
[Ptc].[CASE_STATUS_CODE] = 'A' AND
[Rxo].[STATUS] = 'A' AND
[Ptc].[PATIENT_ID] = 2000000000
ORDER BY
[Rxo].[PATIENT_ID]
, [Rxo].[RX_NUMBER]