Efficient Scanning for Advertisements

In our product we offer the ability to scan for Bluetooth advertising messages, however obviously scanning continuously requires quite a large amount of power.

If we want to scan for just a single beacon then after a while we can figure out the advertising interval and start scanning only when we expect the packet to be sent - which drastically reduces power consumption.

Is any functionality like that built into the Softdevice or Nordic SDK, or is this something we should be implementing ourselves?

Thanks!