Skip to content
barcoder

Standards/smart-health-cards

SMART Health Cards

TypeQR Data Format
PrimaryUS
Completeness86%high

Overview

A SMART Health Card (SHC) is a digitally signed, verifiable health credential carried in a qr-code or stored in a digital wallet [1]. Technically it is a W3C Verifiable Credential packaged as a JSON Web Signature (JWS) whose payload wraps a HL7 FHIR Bundle (e.g. Patient + Immunization resources) [1, 2]. The JWS is signed with ES256 (ECDSA P-256 / SHA-256), Deflate-compressed, and — for QR display — converted into a numeric string prefixed with shc:/ [1].

SHC was developed by the Vaccination Credential Initiative (VCI), a public-private coalition launched in January 2021, and is maintained through the smart-on-fhir/health-cards project and HL7 FHIR implementation guides [3, 2]. It was the dominant verifiable-vaccination format in the United States and Canada during the pandemic [3].

History

14 January 2021 — VCI launches. The Vaccination Credential Initiative was announced by MITRE alongside the CARIN Alliance, Cerner, Change Healthcare, The Commons Project Foundation, Epic Systems, Evernorth, Mayo Clinic, Microsoft, Oracle, Safe Health, and Salesforce, to enable privacy-preserving, verifiable proof of COVID-19 vaccination [3]. VCI adopted the SMART Health Card framework as its technical basis [3].

2021 — Specification published. The SHC framework was published at spec.smarthealth.cards and developed openly in the smart-on-fhir/health-cards repository, building on the SMART on FHIR ecosystem [1, 2].

June 2021 — State adoption. The California Department of Public Health launched a Digital COVID-19 Vaccine Record portal issuing SMART Health Cards [3]. Numerous US states, several Canadian provinces, and other jurisdictions followed.

2021 onwards — Trust infrastructure. VCI established an Issuer Directory and the CommonTrust Network, listing clinical and government organizations authorized to issue valid cards [3].

2022–2024 — HL7 standardization. The framework continued to be formalized through HL7 FHIR implementation guides (the SMART Health Cards and Links IG) [4].

Technical specification

Layered structure [1, 2]:

  1. FHIR Bundle — the clinical content (e.g. Patient, Immunization), as JSON.
  2. VC payload — wraps the bundle: {"iss": "<issuer URL>", "nbf": <timestamp>, "vc": {"type": ["https://smarthealth.cards#health-card"], "credentialSubject": {"fhirBundle": {...}}}} [1].
  3. JWS — the payload is minified, Deflate-compressed (zip: "DEF"), and signed with ES256. JWS header carries alg: "ES256", zip: "DEF", and kid (base64url SHA-256 JWK Thumbprint of the signing key) [1].
  4. QR encoding — the compact JWS is converted to a numeric string: each character c becomes the two digits Ord(c) − 45. The result is prefixed with shc:/ and rendered as a QR. Example: shc:/56762909524320603460292437404460... [1].

Chunking (legacy). A JWS longer than 1195 characters could be split into chunks of ≤1191 chars, each its own QR with a shc:/<index>/<total>/... prefix; multi-chunk QR is now deprecated in favor of single QR (V22 or lower) [1].

Trust / key resolution. Verifiers fetch the issuer's public keys from <iss>/.well-known/jwks.json over CORS-enabled HTTPS. Keys are EC ("kty": "EC", "use": "sig", "alg": "ES256"), optionally with an x5c certificate chain for PKI-based trust. The kid selects the key [1].

Revocation. A card may carry a rid (revocation identifier); issuers publish revoked rids per key at /.well-known/crl/<kid>.json, with optional time-scoping [1].

Use cases

  • Proof of COVID-19 vaccination and testing — the original and dominant use, issued by health systems, pharmacies, and public-health agencies [3].
  • Patient-held portable records — stored in Apple Health / Apple Wallet and Google's equivalents, allowing offline verification [3].
  • Venue and travel entry — scanned by verifier apps (e.g. SMART Health Card readers) for event or boundary checks [3].
  • General clinical credentials — because the payload is a generic FHIR Bundle, the framework extends beyond COVID to other immunizations and lab results [1, 4].

Implementations

  • Specification / reference (canonical)smart-on-fhir/health-cards — 275★, TypeScript, last active 2023. The framework spec, implementation guide, and supporting tooling [2].
  • HL7 FHIR IG — the SMART Health Cards and Links Implementation Guide profiles the FHIR Bundle and resources used in cards [4].
  • VCI Issuer Directory / CommonTrust Network — the trust registry of approved issuers [3].
  • Wallets / OS support — Apple integrated SHC into Apple Health/Wallet; numerous open-source verifier and walkthrough projects exist (e.g. dvci/health-cards-walkthrough) [6].

Comparison

SMART Health Cards eu-dcc divoc icao-vds-nc
Data model W3C VC as JWS over FHIR Bundle CWT / CBOR + COSE W3C VC (JSON-LD / JSON-JWT) signed JSON/CBOR seal
Encoding numeric shc:/, Deflate Base45 + ZLIB, HC1: JSON-LD in QR signed JSON in QR/Data Matrix
Signature ES256 ES256 / PS256 issuer-controlled (RSA/Ed25519) ES256 / ES384
Trust issuer /.well-known/jwks.json, VCI directory EU Gateway, CSCA/DSC PKI per-country, issuer keys eMRTD CSCA PKI
Governance VCI consortium / HL7 EU eHealth Network → WHO eGov Foundation (India) ICAO
Geography US, Canada, others EU + 51 countries India, Sri Lanka, Philippines ICAO member states

SHC's defining choice is to build on JWS + FHIR — leveraging the existing JSON-Web ecosystem and HL7's clinical data model — and to resolve trust via web-published JWKS endpoints, in contrast to EU DCC's CBOR/COSE/Base45 pipeline and state-PKI Gateway [1, 2].

Fun facts

The shc:/ numeric trick exists to maximize QR density. Rather than Base64URL, SHC re-encodes each JWS character as a pair of digits (Ord(c)−45), letting the QR use its efficient numeric mode — squeezing a full signed credential into one scannable code [1].

Status

The framework remains published and maintained through the smart-on-fhir/health-cards project and HL7 FHIR implementation guides, with the spec generalized beyond COVID toward broader verifiable clinical credentials [1, 4]. Active issuance dropped sharply after the pandemic, but the standard persists as a recognized way to carry FHIR-based verifiable health data in a QR, and cards already stored in patient wallets remain verifiable as long as issuer JWKS endpoints stay online [1, 3].

Sources

  1. SMART Health Cards Framework — spec.smarthealth.cards
  2. Health Cards Framework implementation guide — smart-on-fhir
  3. SMART Health Card — Wikipedia (VCI launch, members, California)
  4. Health Cards Specification — SMART Health Cards and Links IG, HL7
  5. smart-on-fhir/health-cards — GitHub
  6. SMART Health Cards walkthrough — dvci/health-cards-walkthrough
  7. About VCI — vci.org
  8. How verifiable vaccination records with SMART Health Cards work — Medium

Deployments

No country reports mention this standard by name.

source · docs/standards/smart-health-cards/index.md