SMART on FHIR Apps: Building Secure Clinical Applications That Work Inside Any EHR