Here is what you should have for your relationships:
Doctors::__pkDoctorID = Patients::_fkDoctorID
Patients::__pkPatientID = Exams::_fkPatientID
Exams::__pkExamID = Starts::_fkExamID
If this notation is unfamiliar, see: Common Forum Relationship and Field Notations Explained
Given your description of "doing this all from the Doctors layout", I am not at all sure this is what you actually have.
FileMaker won't know which exam links to a given record in Starts unless you first do something that puts a value in a field in the start record that matches to the primary key for a selected record in exams. The simplest solution is to use a layout based on exams to fill in information on each "start", but this is not the only way to do this. You can use supplementary relationships to the current record in Doctors with scripts and script triggers or buttons to enter this information for you from the Doctors layout.
Here's one way:
Define some global fields in Doctors: gSelectedPatient and gSelectedExam.
add two more relationships to new occurrences of Exams and Starts
Doctors::gSelectedPatient = SelectedExams::_fkPatientID
Doctors::gSelectedExam = SelectedStarts::_fkExamID
You can then put portals to SelectedExams and a portal to SelectedStarts on your Doctors layout in place of any portals to Exams and Starts.
The trick is to use script trigger performed scripts to update the values in the two global fields. Here's an example for "synching" the gSelectedPatient field:
Select the OnObjectExit trigger for the portal to Patients and have it perform this script:
Set Field [Doctors::gSelectedPatient ; Patients::__pkPatientID]
Then, you can click into any row in the portal to Patients and the portal to Exams will update to show all Exam records for that patient and you can add new Exam records for that patient directly in the portal.
You can use the same method to synch a portal to SelectedStarts each time you interact with the portal to SelectedExams.
To add a new table occurrence:
In Manage | Database | relationships, make a new table occurrence of YourTable by clicking it and then clicking the duplicate button (2 green plus signs). You can double click the new occurrence box to get a dialog to appear where you can rename the new occurrence box.
We have not duplicated a table. Instead, this is a new reference to the same table already present in your database.
That's a great answer, and I think I understand what you are saying. I have a question about your answer, however. Should I set the script trigger for the New Start to the exit from the Exam? Or can I put both script triggers in the same script with the exit from the New Patient Info?
Also, if you don't mind my asking, why does creating a new table occurrence work with this?
For anyone that is interested and may have a similar issue, I have mine solved. What I did is put the primary entry portals into the "Exam" table. I then added the doctor information and linked to that table via a drop down menu and then used a portal to the New Exam page used the above method for the New Start page.
why does creating a new table occurrence work with this?
Using a new table occurrence allows you to create a new relationship between two tables without having to change an existing relationship. This can also be necessary to avoid getting a "circle" in your relationships graph.
For more on Table Occurrences and how to use them: Tutorial: What are Table Occurrences?