You can use a "join" table.
It can work something like this - Display the portal to your 30 symptoms, on that portal have your checkbox and details fields from the join table which is related both to your patient table and the symptom table. Your relationship to the join table can have "allow creation of related records" turned on, when you enter data into those join fields then a record for that symptom and patient will be created in the join table.
A portal doesn't have to show records from the same TO, it can be another related TO.
It sounds complicated because it is but it works fine if you don't want to create a lot of unused symptom records.
There are many other ways to use a join table also but that is just one example.
You can list the 30 related records without creating a set of 30 for each parent record. Instead, a button in the portal row, when clicked, creates a related record associated with that one symptom and parent record. Click the button again and a script deletes that related record. This table that links a symptom to your parent record (a patient? an Office visit? a consultation) serves as a join table between it and your 30 record master table of symptoms.
This can look and act like a check box--either in a portal or in a list view.
Thanks for that Karl, but my brain must be in holiday mode.
I display the portal to the 30 symptoms via an X join (otherwise it won't show the 30).
When I enter data into a field in the join table, it shows next to every symptom in the portal.
I can set up a second portal to symptoms via the join, that will correctly show the symptoms that have data entered.
I still cannot get a portal to show all symptoms along with the entered data.
You will need to set global fields somewhere with the right keys populated to use in your join relationship.
The relationship to the join table must be a multi-key relationship so that when the new join record is created it has both the patient id and the symptom id stored.
When the join records have the correct keys you can set-up your portals to show only the correct join records.
It's complicated, holiday mode or not!
So close... you need to follow the relationship for the portal to work, like plumbing I guess.
I added a new relationship, and added the global field.
I added the "set global" part mentioned above as a button but just make it an automatic thing when you go to a record.
If you "allow creation" of the join record in the new relationship I created then it should be done.
Also you don't need your script trigger to set the symptom ID.
Consultation.fmp12.zip 70.5 K
Thank you so much, I just couldn't see how to hang a join TO off the all symptoms TO.