FHIR, at least version 4 (R4), provides support for the following:
My clinician-facing app will be accessible via SMART within EHRs at the Patient level (e.g. clicking into my app from a patient), however, I also want my app to be accessible outside of the patient level. E.g., a clinician can click to see a list of all teams (CareTeam) and *all *patients (Patient) associated with those care teams.
Right now, the APIs I linked to above require searching Care Teams only for a particular patient and Patients by a specific identifier.
There is also PatientList.Search in STU3, however, this also requires an "internal patient list ID", which I assume is the primary key for patient lists.
It's best to reach out to open@epic.com for Epic questions. However, the short answer is that when an app launches in a patient context, it typically only has access to the records for that specific patient, not all patients. U.S. EHRs have focused on their APIs meeting the requirements of patient access, which means single patients, rather than accessing all patient data. There are both security and performance considerations around wider access - and most such access is expected to happen over the bulk data API. You can certainly ask Epic about whether they have any plans to support cross-patient access through SMART, but right now, I think the answer is "you can't".