Step 2: Feeds

Create feeds

Feeds must be provided to Google on a regular basis for the data to be directly shown on Google. The following feeds are needed.

Feed Description Frequency
Practitioner Contains data describing practitioners, which includes third-party links to booking with practitioners. (counterpart: FHIR practitioner) . [Required only for booking with specific practitioners] Once every 24 hours
Facility Contains data describing healthcare facilities/locations, like lab test centers and clinics, which includes third-party links to booking with facilities. (counterpart: FHIR location) Once every 24 hours
Appointment Type Contains a list of all appointment types including id and name. E.g. checkup, sick and new patient. It will be used as a reference to narrow down schedules. (counterpart: FHIR appointment type) Once every 24 hours
Availability Lists availability slots for given practitioners, facilities, service types, and appointment types. (counterpart: FHIR slot) A minimum of 24 hours of coverage starting from the next available slot must be provided for each practitioner, facility, and appointment type combination. Once every 15-60 minutes
Conversion Share conversion rate with Google including metrics for visiting the links and completing booking appointments. Once every week

The feeds format is described with the protocol buffer 3 syntax, however you can reference the Feed samples to see the JSON format. We recommend that you upload the feeds in JSON format.

Feed file size, sharding, and compression

Please view the following tutorials regarding compression and shards:

To determine the size of the feeds, use the following guidelines (a feed can be constituted of multiple files called "shards"):

  • Suggested feed sharding:
    • Practitioner feed: 1 shard
    • Facility feed: 1 shard
    • Appointment type feed: 1 shard
    • Conversion feed: 1 shard
    • Availability feed : less than 20 shards
  • Size of feed files and sharding:
    • Keep shard file size below 200 MB (after compression). Use multiple shards if needed.
    • Individual records sent in one shard don't need to be sent in the same shard in future feeds.
    • For better performance, split data evenly among the shards, to make all the shard files similar in size.
    • If necessary, use gzip to compress plain text JSON feeds. However, do so for each individual feed shard.

Upload the feeds to your SFTP Dropbox

To begin uploading feeds, first complete the Setup instructions. Afterwards, navigate to the feeds page in the partner portal. All feeds should be uploaded to the Generic account.

Each feed needs to be uploaded through SFTP separately with a fileset descriptor file. The filename of a fileset descriptor should be <feed_name>-< generation_timestamp>.filesetdesc.json, in which <feed_name> could be healthappointments.practitioner, healthappointments.facility, healthappointments.appointment_type, and healthappointments.availability.

Visit Using the Generic feed dropbox for more information. Examples are available on our Samples page.

Confirm that your data looks correct

Sign in to the Partner Portal. Toggle to the Sandbox environment to find the following pages in the Dashboards section.

Shows the feed summary statistics and points out errors during feed upload.

To confirm that your data looks correct after your initial upload to the sandbox environment, check the Feeds page for any feed errors.

Upload your feeds to production

Once you are able to consistently upload complete, error-free feeds to the Sandbox environment you may begin uploading to the Production environment. At this point your integration will not be live.

Once all your production feed data is uploading consistently and connected to your production system, your feeds are ready for review.

Google evaluates feeds

Once you upload your feeds, Google processes and evaluates them for quality and completeness.