Production-grade access is free with an account. · Synthetic demo · no account needed

FinchNode

Patient-authorized EHR integration

Patient authorization versus application consent in healthcare APIs.

Source authorization answers whether data can be retrieved. Application consent answers whether a specific product may receive and use selected categories for a stated purpose.

Updated: 2026-08-25 · 9 min read

The bottom line

Keep source OAuth grants and application-sharing consent as separate records. Bind each to its purpose, data categories, application, timestamps, and lifecycle state, then fail closed when either boundary no longer permits access.

Key takeaways

  • An OAuth grant from an EHR is not automatically consent to share every retrieved category with every downstream app.
  • Consent receipts should be versioned and machine-enforceable, not merely a checkbox event.
  • Revocation must change API behavior and downstream lifecycle state, not only the user interface.

Evidence boundary: Describes FinchNode’s product architecture. It is technical guidance, not legal advice or a substitute for counsel.

Author: FinchNode Engineering

Model two independent boundaries

Source authorization and application consent answer different questions
BoundaryQuestionRepresentative state
Source authorizationMay the connection retrieve data from this source?scopes, patient context, token expiry, revocation
Application consentMay this application receive these categories for this purpose?app ID, purpose, categories, policy version, expiry

Store an enforceable consent receipt

{
  "receiptId": "consent_demo_01",
  "subject": "usr_demo_01",
  "applicationId": "app_example",
  "purpose": "personalized-care-navigation",
  "categories": ["demographics", "medications", "labs"],
  "policyVersion": "2026-08-25",
  "status": "active",
  "grantedAt": "2026-08-25T17:00:00Z",
  "expiresAt": "2026-11-23T17:00:00Z"
}

Enforce consent at every read boundary

  • Resolve the API key to one application and environment.
  • Verify that the subject currently shares with that application.
  • Intersect requested categories with the application allowlist and active consent.
  • Reject expired, revoked, or deleted consent before loading data.
  • Record a durable audit event without logging clinical payloads.
  • Propagate revocation, expiry, and deletion through signed lifecycle events.

More FinchNode interoperability guides

Frequently asked questions

Is an EHR OAuth approval the same as consent to share with an app?

Not necessarily. OAuth authorizes access at the source. A platform can separately record which downstream application may receive which categories for which purpose.

What should a consent receipt contain?

At minimum: subject, application, purpose, approved categories, policy version, grant time, status, expiry if applicable, and lifecycle timestamps.

What happens after revocation?

Future API reads should fail closed, active sync should stop as required, and the system should issue durable lifecycle events and apply the configured deletion or retention policy.

Is this legal advice?

No. This is a technical architecture pattern. Organizations should obtain appropriate legal and privacy guidance for their use case.