Define a ProcedureID field as a serial number and use it to link to your Checkups, Surgery and Imaging tables.
You might also consider merging checkups Surgery and Imaging data into a combined table as this may simplify the design some types of reports. You can simply combine fields and only use those fields appropriate for each type of procedure. You can even use different layouts for each procedure type so you can hide fields not required for that type from the user.
Thanks for the help!
I was looking into doing the combined "checkups, surgery, imaging" table, but my problem was the following. If somebody wants to browse all checkups, wouldn't they see a bunch of empty fields where there are entries for "imaging" or "surgery"? Is there some way to filter records based on they layout somebody is using?
You can create a layout that lets them browse each type of record and show only the fields you want to show.
There are a number of ways to filter records for view in a portal too.
You can do this with portals, global felds and tab controls very easily.
First you create a calculation field in your procedure record that combines patientID and procedure type
Then you set up 3(or as many as you need) calculation fields that have global storage that
combine the patient id wtih the various types of procedures ie(nnn&"surgery")
You create relationships from the procedure table to these global fields
Then on a tab control you can place a portal for each type of relationship so they can see them filtered
You can even have one that is all by simply linking procedure table to patient by patient id
What you show in each portal is up to you.
Its simple and effective and with the tab names equal to type very intuitive for the user.
with filemaker advanced you can even use custom menus to replace the standard "show all records" step with your own script where you can set up a find that only finds records appropriate for the current layout. Your users won't even know the other records are there unless they look at the total record count in the status bar.
Thanks! That makes a lot of sense. I'll try out that solution and keep you posted on the results.