Skip to main content

Birdeye Native Integration - Modernizing Medicine

Updated today

The information contained in this document is confidential, privileged, and only for the use of internal Birdeye users. This document may not be used, published or redistributed.

This integration is supported for both SMB & Enterprise businesses.

Integrating Birdeye with Modernizing Medicine
User Manual - SUPPORT ARTICLE

Modernizing Medicine is an Electronic Medical Record Software application designed to assist physicians in collecting patient information with great ease. The application helps improve physicians' overall efficiency in collecting and storing patients’ diagnoses and ordering tests and prescriptions to prepare billing information.

Integrating Modernizing Medicine with Birdeye will automate the process of sending out review requests to patients on a daily basis.

Once Modernizing Medicine is integrated with Birdeye, patient information will be pulled from Nextech once daily from the list of completed appointments from the previous day.

Birdeye collects the first name, last name, email address, and phone number of your patients and automatically sends the review requests based on the preferences set within the Birdeye dashboard.

Table of Contents


Integration Requirements

Triggers Supported

Birdeye allows you to fetch data from your PMS using some predefined triggers. Here is the supported trigger for Modernizing Medicine:

Trigger Display Name

Trigger Name/

Value

Trigger Description

Modernizing Medicine Appointment Trigger

Appointment

This trigger is used to fetch customer data based on the appointment status.

Details required from the Birdeye client

  • Trigger Details

Details required from the Birdeye dashboard

  • Enterprise ID for a multi-location account and Business ID for all locations.

  • Business ID in case of an SMB Business.

Information from Birdeye Dashboard

  1. For an SMB account - Business ID
    Login to your Birdeye account, go to Left Navigation Rail and click on ‘Settings’. Once the new page appears, click on ‘Integrations’ and select ‘API.’

    You will find the ‘Business ID’ and ‘API key’ shown in the image.

  2. For multi-location accounts - Enterprise ID and Business IDs of all locations

Enterprise ID

Business IDs of all locations

Login to your Birdeye account, go to Left Navigation Rail and click on ‘Settings’. Once the new page appears, click on ‘Profile’ and select ‘Business Profiles.’

To view Location ID, hover over the ‘Status’ of location.

Details required from Modernizing Medicine

When a Modernizing Medicine client is ready to integrate with Birdeye, please send a request to practicesolutions@modmed.com. The Practice Solutions team will work through the process of enabling the integration and providing the required data points (Firm Url, Firm Username & Password) for go-live.

Sample email for your reference:

Hi Team,

We have one of our mutual clients, “Birdeye TEST”, who would like to integrate their ModMed CRM with Birdeye to benefit from sending review requests to their completed appointments. To integrate, we will need ModMed API, Firm URL prefix, ModMed Username & Password. I have looped in practice for authorizing the same. Please feel free and let us know if you need any further information from us or practice.


Integration Process

Before you can integrate Modernizing Medicine with Birdeye, you will need to set up the following configurations on the integration support dashboard:

To set up native integration, we have an integration support dashboard, where we need to set up the integration and then follow these steps to complete the configuration.

Login

  1. After successful login in the integration dashboard, you have to click on ‘BE integration’ and then click on ‘Add Integration.’

  2. Search for the CRM in the search bar and select it. Click on ‘Next’.

Manage Triggers

The trigger is automatically selected as only one trigger is supported.

Note: To fetch information for all the triggers available using curl commands, use this command. To replace triggers, use this curl command.

Manage Properties

Here; you can manage group-level properties, which will be applied to all locations under a CRM.

  1. Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days).

  2. Modernizing medicine API key: It is unique for each business. This information will be provided by the Modmed API support team (Click here)

  3. Appointment type id: Review requests can be sent to certain appointment types only. Multiple values can be added using pipe (|).

  4. Modernizing medicine username: This information will be provided by the Modmed API support team (Click here)

  5. Modernizing medicine password: This information will be provided by the Modmed API support team (Click here)

  6. Firm URL prefix: This information will be provided by the Modmed API support team (Click here)

  7. Modernizing medicine appointment status: Enter the appointment status for which the business wants to send review requests. Usually, the business prefers sending review requests on “Closed/fulfiled/completed” statuses. It is a mandatory field.

  8. Multilocation Property: If a client wants to fetch the data from Location ID or Practitioner ID. You can select that from a drop-down button.

NOTE: Whichever property(Location ID or Practitioner ID) is selected will become mandatory at the location level. If not selected, by default, Location Id will be considered a Multilocation Property.

Note: This step will create a group for our integration. Alternatively, you can do it via curl commands.

For SMB accounts, you can access the curl command.

For Enterprise accounts, you can access the curl command.

Manage Locations

For Single Location/Multi-Location Accounts, select the location from the drop-down menu and click on ‘Add.’

(In the case of Single Location accounts, it will give you only one option).

A drawer will appear on the right-hand side.

The Status, Frequency, and Next Runtime will be set by default. You can make the changes if required.

  1. Status: It shows the status of Integration (Active or Inactive).

  2. Frequency: The number of times integration will sync with CRM (Days or Hours).

  3. Next RunTime: The next scheduled time is when the integrations will run.

  4. Customer fetch delay: It is used if businesses want to send review requests with a delay (number of days).

  5. Modernizing medicine location Id: In the case of a multi-location account, enter the location IDs. Use this API to fetch the location Id for the business.

  6. Practitioners IDs: Add practitioner IDs for which you want to send review requests.

Override Group Properties: With this, you can override the properties added at the group level, specific to each location.

Click on ‘Next’ and click on ‘Save.’

NOTE:

  1. For SMB: You can use ‘manage the locations’ using this curl command.

  2. For Enterprise: You can use ‘manage the locations’ using this curl command.


Curl Commands

Before you can integrate Modernizing Medicine with Birdeye, you will need to set up the following configurations:

A business integration group is a configuration that supports the business hierarchy of individual businesses on the Birdeye platform. The common properties for all business integrations are entered at the group level. Setting up a business integration group allows you to associate multiple business locations with the Enterprise account. Below is the list of curl commands you will need to run to set this up.

Create Integration Group: (Curl Command)

Copy Curl Command:

curl --location --request PUT 'https://common-services.Birdeye.com/integration/add/businessintegrationgroup' \--header 'Cache-Control: no-cache' \--header 'Content-Type: application/json' \--data-raw '{"parentBusinessNumber": 150088776180458,"integrationGroupProperties": [{"propertyKey": "firm.url.prefix","propertyValue": "ophthpmsandbox210"},{"propertyKey": "modernizing.medicine.api.key","propertyValue": "5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7"},{"propertyKey": "modernizing.medicine.appointment.status","propertyValue": "fulfilled|completed"},{"propertyKey": "modernizing.medicine.appointment.type.id","propertyValue": "920|918"},{"propertyKey": "modernizing.medicine.username","propertyValue": "fhir_ireZU"},{"propertyKey": "modernizing.medicine.password","propertyValue": "7vq9bVas6W"}],"integrationSourceId": 103,"integrationGroupTriggers": [{"triggerId": 115,"triggerTypeId": 1}]}'
  • 150088776180458- Business ID - This is Enterprise ID for multi-location account and Business ID for a single location SMB account

  • 5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7 - API Key - This will remain constant for all the clients.

  • 920|918 - Appointment type Id - ‘modernizing.medicine.appointment.type.id’ property value will be a pipe-separated list of appointment types for which the customer wants to send the review request. Also, ensure that there is no whitespace in the pipe-separated list. If a customer wants to send a review request to all appointment types, then leave this property value empty.

  • fulfilled|completed- Appointment Status - ‘modernizing.medicine.appointment.status’ property value will be a pipe-separated list of appointment statuses for which the customer wants to send the review request. Also, ensure that there is no whitespace in the comma-separated list. If the value of this property is not given, then a review request will be sent to the appointments that have “fulfilled” status.

  • ophthpmsandbox210 - Firm URL prefix-This will be obtained through Modernizing Medicine.

  • fhir_ireZU- Modernizing Medicine UserName- ‘modernizing.medicine.username’-This will be obtained through Modernizing Medicine.

  • 7vq9bVas6W-Modernizing Medicine Password-’modernizing.medicine.password’-This will be obtained through Modernizing Medicine.

  • 115 Integration Trigger ID - Can be one or more triggers. Ask the client what trigger they would like to integrate with, then run the curl command to fetch all possible triggers for Nextech. Identify the trigger ID (s) and insert (use commas) in case of multiple trigger Ids.
    Note: To set up an integration with a different firm URL prefix for a location, we have to set up this integration with an SMB using the integration mapping and create group curl commands.

Fetch information for all the triggers available for Modernizing Medicine (Curl Command)

Copy Curl Command:

curl -X GET https://common-services.Birdeye.com/integration/trigger/integrationtriggers/sourceid/115 -H 'cache-control: no-cache' -H 'content-type: application/json'

Sample response: A sample response like this would appear after you run the curl command. The response will have the trigger name, description and ID. This trigger Id will be utilized while creating the integration group. Integration can have one or more triggers. To use more than one trigger, enter comma-separated values while creating the integration group.

{"id": 115,"triggerService": "modernizingMedicineAppointmentTriggerService","displayName": "Modernizing Medicine Appointment Trigger","description": "This trigger is used to fetch customer data based on the appointment status","active": true,"integrationTriggerType": {"id": 1,"name": "JOB"},"actionGroupId": 1,"sourceIdsList": [103],"triggerName": "Appointment"}● 115- Trigger ID

Update triggers in Integration Group (Curl Command)

Copy Curl Command:

curl -X POST 'https://common-services.Birdeye.com/integration/update/businessintegrationgroup?replaceTriggers=true' -H 'cache-control: no-cache' -H 'content-type: application/json' -d '{ "groupId": 150,"integrationGroupTriggers":[{"triggerId":115,"triggerTypeId":1}]}'
  • replaceTriggers=true To replace existing trigger(s), enter the value for replaceTriggers as true. To add new trigger(s) to the existing list, the value for replaceTriggers should be false.

  • 150- The Group ID which was returned in the previous step will be entered here.

  • 115 the Trigger ID (s) which need to be added or updated to the integration.

Find business integration group details (Curl Command)

Copy Curl Command:

curl -X GET https://common-services.Birdeye.com/integration/businessintegrationgroup/150088776180458 -H 'Cache-Control: no-cache'
  • 150088776180458- Business Id: Enter the Business Id here to get the integration group details for a business.

Sample:

[{"groupId": 150,"integrationSourceType": {"id": 22,"integrationSource": "MODERNIZINGMEDICINE","sourceCategory": "Healthcare","oauthEnabled": true},"integrationGroupTriggers": [{"triggerId": 115,"triggerTypeId": 1}] }]

150- Group ID: A group ID will be returned in the sample response with the details of the existing triggers for a business.

Integration Mapping (Single Location):

Once the Integration Group is created, the next step is to create the Integration Mapping.

Copy Curl Command:

curl -X PUT https://common-services.Birdeye.com/integration/add/businessintegrationmapping -H 'Cache-Control: no-cache' -H 'Content-Type: application/json' -d '{"businessNumber": 150088776180458,"active": true,"integrationGroupId" : 150}'
  • 150088776180458- Business Number: Enter the Business number here.

  • 150- Integration Group ID: Enter the Integration Group ID which was returned when the Integration group was created.

Integration Mapping (Multiple Locations with same API key, Firm prefix URL, firm UserName and firm password):

Copy Curl Command:

curl --location --request PUT 'https://common-services.Birdeye.com/integration/add/businessintegrationmapping' \--header 'Cache-Control: no-cache' \--header 'Content-Type: application/json' \--data-raw '{"businessNumber": 150088776180458,"active": true,"integrationGroupId": 31,"integrationProperties": [{"propertyKey": "modernizing.medicine.location.id","propertyValue": "Dermatology|Oncology"}]}'
  • 150088776180458- Business Number: Enter the Business number here.

  • 31- Integration Group ID: Enter the Integration Group ID, which was returned when the Integration group was created.

  • 329 - Location Id: Enter the Location Id as per the name specified in the Modernizing Medicine account for the Appointment Location picklist corresponding to this business.Multiple Locations Ids will be added using pipe seperated.


How to find the Appointment Type Id associated with the API Key?

Copy Curl Command:

curl --location --request GET 'https://common-services.Birdeye.com/modernmedicine/appointmenttypes' \--header 'Content-Type: application/json' \--data-raw '{"apiKey": "5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7","firmUrlPrefix": "ophthpmsandbox210","firmUsername": "fhir_ireZU","firmPassword": "7vq9bVas6W"}'
  • 5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7 apiKey - This will remain constant for all the clients.

  • ophthpmsandbox210-firmUrlPrefix- This will be obtained from Modernizing Medicine.

  • fhir_ireZU- Modernizing Medicine UserName- ‘firmUsername’-This will be obtained through Modernizing Medicine.

  • 7vq9bVas6W-Modernizing Medicine Password-’firmPassword’-This will be obtained through Modernizing Medicine.


How to find the Location Ids for the given Location names associated with the API Key?

Copy Curl Command:

curl --location --request GET 'https://common-services.Birdeye.com/modernmedicine/locations' \--header 'Content-Type: application/json' \--data-raw '{"apiKey": "5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7","firmUrlPrefix": "ophthpmsandbox210","firmUsername": "fhir_ireZU","firmPassword": "7vq9bVas6W"}'
  • 5ccc677f8893d40a34bc26281ee054c995f54a2eaf6d8df736b0deb7 apiKey - This will remain constant for all the clients.

  • ophthpmsandbox210-firmUrlPrefix- This will be obtained from Modernizing Medicine.

  • fhir_ireZU- Modernizing Medicine UserName- ‘firmUsername’-This will be obtained through Modernizing Medicine.

  • 7vq9bVas6W-Modernizing Medicine Password-’firmPassword’-This will be obtained through Modernizing Medicine.


Important Instructions

While you are on the integration setup call, you will be asked for the names of the appointment types for which a review request would be sent. If you do not specify the appointment type id, then the review request would go only based upon appointment status.

For a multi-location setup, you will need to provide the modernizing medicine location ids corresponding to the Birdeye business location. To find the location id from the location name, use the above-mentioned curl.


Re-Authorise Business

Sometimes, it happens the credentials entered were wrong during setup or have expired, so we receive 401 Unauthorized Error while running the Integration. As a result, Integration will be marked unauthorized. It will not run until the credentials are corrected and the business is authorized again, which involves the steps given in the below document.

Did this answer your question?