I’m not sure about this comment:
Typically appointment and Coverage would both reference Patient and you could therefore search Coverages for those where Coverage.beneficiary = Appointment.actor where the actor is the Patient (from the examples it isn’t clear how to discern when the actor is the Patient).
This isn’t wrong, it just doesn’t give you the coverage for the appointment. This would give you the list of coverages that could potentially be candidates for covering the services of an appointment, but it can’t tell you which one actually does. E.g. if the patient has two coverages 1) workers comp and 2) a commercial/personal, the pre-registration done as part of appointment scheduling will identify which of those two coverages is likely to apply to the appointment. The correct coverage would be confirmed (and updated as needed) at appointment check-in.
The way to represent this is by having Appointment reference an Account. And the Account would list the coverage(s) that apply to to the Appointment (pending verification at check-in, at which point the “final” coverages are documented on the Account referenced from Encounter.
Currently, Appointment does not have a reference to Account. I have submitted GF#54078 to add that reference.
Appointment.supportingInformation might(?) be an option if this is patient portal scheduling and the Coverage content is being submitted by the patient, to be verified before being considered as usable for billing.