Can I get forms to automatically show up, based on the patient's reason for visit?

You can set up Tablet Rules that will automatically show appointment-specific forms. These can be very useful for collecting relevant information from patients before their appointment without having to manually add forms to their queue.

For example, if a patient is booked for a "back pain" appointment, they could automatically be presented with a Back Pain eForm.

Please Note: For all examples provided, Ocean is expecting an exact, case-sensitive, match on your appointment types/reasons. For example, Ocean considers "COPD" and "copd" to be two different terms. Ensure the values entered into your tablet rules are an exact match to your EMR appointment configuration.

PS Suite/Med Access Accuro OSCAR Pro Other EMRs
Note: This feature is only available on the Telus API integration. PS Suite Custom Form integrations are unable to support this functionality.

For all examples provided below, pt.getReasonForVisit() sources the information set under the appointment "Type" dropdown in the corresponding PS Suite and Med Access booking windows.

tablet-rules1-pss.png tablet-rules2-ma.png

Replace instances of "apptType" with the corresponding value from your EMR.


Appointment type is:

If you need to match against a single appointment type.

pt.getReasonForVisit() != null && pt.getReasonForVisit() == "apptType"
Copy Rule
Example: If you wish to match on a "COPD" appointment, your completed script would be as follows: pt.getReasonForVisit() != null && pt.getReasonForVisit() == "COPD"

Appointment type is not:

If you need to exclude a single appointment type but match on all other types.

pt.getReasonForVisit() != null && pt.getReasonForVisit() != "apptType"
Copy Rule

Appointment type is one of:

Match on one or more appointment types.

pt.getReasonForVisit() != null && (pt.getReasonForVisit() == "apptType1" || pt.getReasonForVisit() == "apptType2")
Copy Rule
Note: It is possible to match more than two different appointment types. You can modify the rule to include additional pt.getReasonForVisit() == "" functions separated by || ("or") operators.

Appointment type is not one of:

Exclude one or more appointment types, but match on all other types.

pt.getReasonForVisit() != null && pt.getReasonForVisit() != "apptType1" && pt.getReasonForVisit() != "apptType2"
Copy Rule
Note: It is possible to exclude more than two different appointment types. You can modify the rule to include additional pt.getReasonForVisit() != "" functions separated by && ("and") operators.

Appointment type contains:

Match appointment type(s) by a partial or common value.

pt.getReasonForVisit() != null && pt.getReasonForVisit().includes("apptType")
Copy Rule

Example: If you have a series of appointments containing common terms — Virtual Follow-Up, Virtual COPD, Virtual Prescription — you can match against the common term "Virtual" to target all appointment types.

Please note: The includes() function matches against all instances of the supplied value, meaning something like "Virtually" would also be considered a match as it contains the term "Virtual."


Appointment type does not contain:

Exclude appointment type(s) by a partial or common value.

pt.getReasonForVisit() != null && !pt.getReasonForVisit().includes("apptType")
Copy Rule

For more information on setting up tablet rules, and examples of helpful rules, please refer to the "Tablet Rules" guide.

Have more questions? Submit a request