royd, correct, it does not allow circular references, but you still need to have a //USEUNIT statement at the top of your unit to tell it to include variables and methods from another script unit. Without that, you'll get exactly the result you got. If you have B referencing A and then A referencing B again, that's not allowed. But so long as it's just a single line, shouldn't be a problem.
In other words, your UnitB should look like this:
//USEUNIT AA_Create_Patient;
function patientSignOn(){
Log.Message("Patient's Name is: " + AA_Create_Patient.fName);
Log.Message("Security code is: " + AA_Create_Patient.securityC);
Log.Message("Signup url is: " + AA_Create_Patient.getURL);
. . .
}