The second question is quicker to answer so I'll do that first.
If you have a field, say it's called txtGender (M for Male, F for Female), you can code an afterupdate event. Suppose the next field is called txtAge. Then...
If Len(Trim(Nz(Me.txtGender,""))) > 0 Then
The code above makes sure the Gender textbox has a value. If it does, it goes on to Age. Note that I didn't make it Q/A the data to see if it made sense, e.g. allow only M or F.
If users use the TAB key after entering data, this afterupdate event is not necessary. If they use the ENTER key, it is. People should get used to tabbing, but some don't.
As for your first question, when you created the subform, the wizard should have asked you to supply and parent/child relationship from form to subform. In your case, it's the Patient ID. That relationship is not created by the addition of a command button. If the command button's function is to add a new record in the subform, note that the Patient ID will not autofill (assuming parent/child link is correct) until after you start entering data in another field in the subform.