The Filters custom processing step allows you to specify what traffic should be sent to your destination based on the information in a transmission payload.
Filter rules are written based on Redox data model JSON properties, as represented in our data models documentation. For a property or set of properties in the data model, you can specify a set of allowed or disallowed values as criteria for sending the transmission. These filter rules are defined in the context of a Subscription, meaning they are specific to a source, data model, and your destination.
You can set filter rules on the Subscription settings page. Filters can only be viewed or created by users with PHI access for destinations that your organization owns.
Defining Filter Rules
For each subscription, filter rules begin by defining “Send if…” or “Block All”:
- “Send if…” allows you to set criteria for sending
- “Block All” will block all traffic until the filter is removed (often helpful when preparing a new integration).
For both options, filter rules are evaluated for all applicable event types for a given data model (see exclusion list below)
Send if… Rules
A “Send if…” filter is a collection of rules, each defining a data model property and a set of allowed or disallowed values for that property. For a transmission to be sent, all rules must be satisfied.
Each rule is evaluated based on the following criteria:
- “is in” – the property value must be equal to a value in the provided value set
- “is not in” – the property value must not be equal to a value in the provided value set
Value matching for either criteria is case-sensitive. Values can be added to a rule in a comma-delimited format. For values with a comma, the value with the comma should be encased in quotes, such as:
valueOne,"value,Two",valueThree. Trailing or leading spaces are ignored, unless encased within quotes.
Multiple Payload Values
Some data model JSON properties are contained within an array list, meaning the transmission payload may have multiple values for that property. These properties will have a  within their title. In this case, if any value for that property satisfies the filter rule, the rule is satisfied.
Determining Filtered Status
Filter rules are applied to all transmissions going forward immediately after saving. To determine if a transmission was filtered, you can view its status in either a transmission list view (Transmissions tab or a Destination tab) or on a specific transmission’s detail view page.
If a given transmission was filtered, it will show a status of “Filtered”. Other statuses include “Sent” and “Errored”
Historically, the implementation team at Redox has set up custom filter logic on behalf of our customers. This custom filter logic may also result in a transmission status of “Filtered”. If you have questions about existing filter logic or a specific transmission, please reach out to Redox support
Filters can also be created via API. See the documentation here: https://redox-platform-api.readme.io/reference/filters
Excluded Event Types
Filter rules are not evaluated for query-based event types. Specifically, the following data model and event type combinations will ignore filter criteria:
- ClinicalSummary: PatientQuery, PatientQueryResponse, VisitQuery, VisitQueryResponse, DocumentQuery, DocumentQueryResponse ,DocumentGet, DocumentGetResponse
- ClinicalDecisions: Request, Response
- Media: Query, QueryResponse
- Notes: Query, QueryResponse
- Order: Query, QueryResponse
- Organization: Query, QueryResponse
- PatientAdmin: CensusQuery, CensusQueryResponse, VisitQuery, VisitQueryResponse
- PatientSearch: Query, Response, LocationQuery, LocationQueryResponse
- Provider: ProviderQuery, ProviderQueryResponse
- Referral: Query, QueryResponse
- Results: Query, QueryResponse
- Scheduling: AvailableSlots, AvailableSlotsResponse, Booked, BookedSlotsResponse
- SSO: Sign-On
- Vaccination: PatientQuery, PatientQueryResponse