1) Form Display Condition
Advantage: Easy to use, doesn't add modules to your application.
See more about "display logic for forms" here.
2) Case List Filtering
3) Child Cases
You can open a "referral" child case into a different "referrals" module, which contains forms associated that referral.
Advantage: Easy to see and evaluate referrals data, since they are tracked as separate cases.