FAQ
How do I share feedback?
We’d love any and all feedback that will help improve your experience and the value you get out of Morf. If you have ideas, please feel free to share them in our shared Slack channel and include what problem it is you’re hoping to solve and any ideas you have to solve it.
How do I report bugs?
If you see something unexpected, please…
- Copy the url of the page where you’re seeing the issue
- Take a screenshot of what you’re seeing if possible
- Share in Slack with the following details: browser (e.g. chrome), url, screenshot, time issue occurred
Does Morf regularly monitor my workflows?
The Morf team monitors for 72hrs to 1 week after updating an existing workflow or launching a new one to ensure that no new errors crop up after testing (amount of time depends on the change). If any new issues arise after this period, it’s likely an infrequent edge case, and thus we use the monitoring tools to investigate and address these edge cases as they are reported in Slack.
What is this crazy filter expression?
e.g. current_step_id.orValue("") == "booking_in_progress"
This is Common Expression Language, which is the language we use to create conditional logic for a workflows. This example is checking to see if the current_step_id
value on a Formsort Step Completed
event is equal to the string “booking_in_progress.” The .orValue("")
accounts for if current_step_id
is not present on the event. More info on CEL here.
CEL can also be used to create calculated values, e.g. date_of_birth.getAge(morf.now())
will return the number of years between date_of_birth
and now.
When does a profile get created?
A profile gets created based on the configuration of each workflow. However, the default behavior is that we create a profile when we receive an event and we are unable to find an existing profile that matches the data on the event.
A lead will normally get created if the source of data is not an EHR and we only have contact information for that profile, a patient will get created if we receive data from an EHR.
A lead will get converted to a patient if we create a record in an EHR for that profile or receive data from an EHR for that profile.
Why does a profile have multiple IDs for the same application?
If your organization is configured to have email and/or phone number as unique, then if multiple contacts get created in your third party tools with the same email and/or phone, those profiles will get merged in Morf if they are both leads or both patients.
Email and phone can be unique for leads and unique for patients. This means there can exist a lead profile with the same email address as a patient profile, but no two lead profiles and no two patient profiles can have the same email. The same would be true for phone numbers too. This is to ensure that leads and patient profiles remain separate until there is some verification that these are the same people and their profiles can be merged.
Example: Someone goes through a signup flow in Formsort with email address test@gmail.com and schedules an appointment in Healthie. 2 months later Morf receives events from this Formsort signup flow where email address is test@gmail.com. We do not want to automatically associate this data with the existing test@gmail.com profile because the email address has not been verified, if we did associate it with the existing patient we could inadvertently overwrite their medical record. Once the email is verified, the profiles can be merged.
How are third party application IDs managed?
Once a third party application ID is associated to a profile, that ID is the source of truth for how to reconcile who that person is in Morf. If we receive data from a third party tool, we will look up the associated profile based on that ID, and if we send data to a third party tool, we will use that ID to determine which profile to update.
Third party application IDs must be unique by profile, i.e. a healthie ID can only be associated to one profile, a hubspot contact ID can only be associated to one profile.
What does the “activity cancelled” warning mean?
This normally occurs if you have reminder workflows configured in Morf. For example appointment or form completion reminders that are configured to wait until a specified time. Most reminder workflows are configured to only allow one execution per “object”. An “object” could be an appointment, a form, a profile. For example, if we receive an appointment updated event that triggers your reminder workflow, and there is already an execution in flight for that appointment, then the first execution will get cancelled and the most recent one will continue, we call this superseding
. We emit an “Activity cancelled” warning whenever this happens, but it is benign and does not require any action.