Mass Patient Email Export

In the course of operating your practice, you may find the need to send bulk emails to patients for a variety of reasons. This article covers how to generate a list of emails for your patients so you can easily send a mass email out to all of them.

Step One: Which patients do we want to reach?

Some offices are trying to reach all "active" patients, which they would call any patient that has been seen by the office in the last one to two years. Other offices may want to contact every patient that has a future appointment. We will cover both options.

Step Two: Get a list of patients

All Active Patients

The best way to get a list of all active patients is the Reports>Clinical>Patients by Procedure and Diagnosis report. This will generate a list of all patients who have been charged for a procedure in a given timeframe--if they saw the doctor, they will have been billed, so this should more or less catch everyone. Make sure to uncheck all filters at the top.  Run it for the date range you want, then select 'Make List' at the bottom. Proceed to step three of this article.

All Future Appointments

We can also get a list of all patients with future appointments. Go to the Appointments Report in the Scheduling Node, put in today's date for the start, and leave the end date blank. Some offices want to only message patients with appointments in the next two or three weeks, so put in an end date if you want, but know that leaving it blank will give you all appointments.  When selecting filters for this report, you'll need to select the correct appointment statuses, eliminating any appointment status that indicates the appointment was cancelled, missed, or rescheduled.  Run the report, then select 'Make List.'  Proceed to step three of this article.

Other Situations

We can generally use any report that generates a list of patient names for this purpose. We have detailed these two as they cover the requests for the situation outline in the first paragraph of this article. If you just want a list of all patients, you can run the Patient Email Address Report in the Marketing Node and then export it with the 'Export' button.  From there the exported list can be imported into Contacts, skipping to step four of this article. You can do this for other situations, such as running the Patients by Age report to capture those in retirement ranges, for instance.

If you are using a different report than the ones listed, the process should still work as long as the report selected generates a list of patient names.

Step Three: Export Preset

The Lists window should have opened when you made the list. If it did not, hit Command+L on your apple keyboard or go to Window > Lists from the menubar. Find your list. If you ran a patients report, hit "Remove Duplicates" and confirm the prompt to delete the duplicates. This will not work on the Appointments report, unfortunately, and is only available in Gen 11 or higher. Duplicates will need to be removed manually in other scenarios: See Step Three and a half.

From here, we'll begin selecting our Export Presets for our report. With the list you generated highlighted, select the "Export..." button, followed by New Preset. In the menus, select the checkboxes for the information you wish to see exported: Person (or Patient) > First, Last, Email. Omit anything else. If you ran the Appointments report, you will need to expand the Appointment List>Patient>Person to find these fields. Make sure to title or 'name' your preset, and choose Create.

Now, make sure your new preset is in the leftmost drop-down, select "CSV" from the next drop-down, and make sure to UNCHECK "Include Report Data" if that option is available. Select Export, give your file a name and choose a location to save the file. When choosing a name, change the file extension to *.xls as this will trick macOS into opening it with Excel (or Numbers) automatically.

Step Three and a Half: Removing Blanks and Duplicates

This step only applies if you ran the Appointments report, or some other report where MacPractice could not remove duplicates for you, or if you want to remove patients with no email on file. Open the file you saved in Step 3 in Excel or Numbers.


You might want to remove the header row first to prevent it from being imported into your contacts. Select it by clicking the "1" row on the left, then right-clicking and choosing Delete. Next, select the Email column, and sort the table (the Sort button looks something like A>Z at the top of the screen). All of the patients with no email will be at the bottom. You can select them all by clicking the first row letter on the left, scrolling down, holding Shift and clicking the last row, then hit Delete.

To remove the duplicates, go to Data>Remove Duplicates. For more information, see this Microsoft help article. Once you have cleaned up the file in Excel, go to File>Save As, make sure to select "comma-separated value (.csv)" from the file type options to make sure it will import into Contacts.


We will start with the same process. Remove the header row by clicking the "1" on the left, right-clicking, and selecting "Delete Row". If you want to remove rows with missing emails, click on Organize in the top right corner, then selecting the email column from the "Add a Column" menu. This will group all of the blank email patients at the bottom, and you can select and delete them by clicking and dragging or shift-clicking.

For other duplicates in Numbers, refer to their documentation, as unfortunately Numbers does not have a simple 'Remove Duplicates' prompt as Excel does.

Step Four: Import into Contacts

Open Apple Contacts from the Applications Folder. You must make a new group before importing, otherwise it will be impossible to distinguish between patients and other contacts thus making it nearly impossible to remove them after the fact. Make a new group with File>New Group in the menubar, and name it something that will help you distinguish what this contact group is. Make sure to select this group in the sidebar before importing. Then go to File>Import and locate your CSV file where you previously saved it.

The next window will make you select the fields to import. Identify each row, and make sure to select the right field for each row. If you did not need to do any work in Excel or Numbers, then you will want to mark "Ignore First Card" in the bottom left and it should also have auto-selected the import fields. If it did not auto-select the import fields (last, first, email), then you can choose them from the drop down menus. Make sure it looks something like this screenshot.


Step Five: Ship it!

Now you can compose your message and send it using whatever HIPAA secure method you choose!

Was this article helpful?
1 out of 1 found this helpful