GDHCN Trust Network - Personal Health Wallet
0.1.0 - ci-build International flag

GDHCN Trust Network - Personal Health Wallet, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-trust-phw/ and changes regularly. See the Directory of published versions

Logical Model: SMARTHealthLinkPayload - Detailed Descriptions

Draft as of 2025-09-06

Definitions for the SMARTHealthLinkPayload logical model.

Guidance on how to interpret the contents of this table can be foundhere

0. SMARTHealthLinkPayload
Definition

SMART Health Link Payload (DRAFT)

This logical model constrains the Health Link Payload for a SMART Health Link

A SMART Health Link URI is generated from this payload according to the algorithm documented here

ShortSMART Health Link Payload (DRAFT)
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. SMARTHealthLinkPayload.url
Definition

Manifest URL for this Health Link

Shorturl
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
4. SMARTHealthLinkPayload.key
Definition

Decryption key for processing files returned in the manifest. 43 characters, consisting of 32 random bytes base64urlencoded.

ShortDecryption key for processing files returned in the manifest. 43 characters, consisting of 32 random bytes base64urlencoded.
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. SMARTHealthLinkPayload.exp
Definition

Optional. Number representing expiration time in Epoch seconds, as a hint to help the Health Link Receiving Application determine if this QR is stale. (Note: epoch times should be parsed into 64-bit numeric types.)

ShortOptional. Number representing expiration time in Epoch seconds, as a hint to help the Health Link Receiving Application determine if this QR is stale. (Note: epoch times should be parsed into 64-bit numeric types.)
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
8. SMARTHealthLinkPayload.flag
Definition

Optional. String created by concatenating single-character flags in alphabetical order: 'L' indicates the Health Link is intended for long-term use and manifest content can evolve over time; 'P' indicates the Health Link requires a Passcode to resolves; and 'U' indicates the Health Link's url resolves to a single encrypted file accessible via GET, bypassing the manifest and SHALL NOT be used in combination with P.

ShortOptional. String created by concatenating single-character flags in alphabetical order: 'L' indicates the Health Link is intended for long-term use and manifest content can evolve over time; 'P' indicates the Health Link requires a Passcode to resolves; and 'U' indicates the Health Link's url resolves to a single encrypted file accessible via GET, bypassing the manifest and SHALL NOT be used in combination with P.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. SMARTHealthLinkPayload.label
Definition

Optional. String no longer than 80 characters that provides a short description of the data behind the Health Link.

ShortOptional. String no longer than 80 characters that provides a short description of the data behind the Health Link.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. SMARTHealthLinkPayload.v
Definition

Optional. Integer representing the Health Links protocol version this Health Link conforms to. MAY be omitted when the default value (1) applies.

ShortOptional. Integer representing the Health Links protocol version this Health Link conforms to. MAY be omitted when the default value (1) applies.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. SMARTHealthLinkPayload.type
Definition

Classifying type code to distinguish different types of health links. If not present then the Health Link is a SMART Health Link.

ShortClassifying type code to distinguish different types of health links. If not present then the Health Link is a SMART Health Link.
Control0..0
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension

Guidance on how to interpret the contents of this table can be foundhere

0. SMARTHealthLinkPayload
Definition

SMART Health Link Payload (DRAFT)

This logical model constrains the Health Link Payload for a SMART Health Link

A SMART Health Link URI is generated from this payload according to the algorithm documented here

ShortSMART Health Link Payload (DRAFT)
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. SMARTHealthLinkPayload.type
Control0..0

Guidance on how to interpret the contents of this table can be foundhere

0. SMARTHealthLinkPayload
Definition

SMART Health Link Payload (DRAFT)

This logical model constrains the Health Link Payload for a SMART Health Link

A SMART Health Link URI is generated from this payload according to the algorithm documented here

ShortSMART Health Link Payload (DRAFT)
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. SMARTHealthLinkPayload.url
Definition

Manifest URL for this Health Link

Shorturl
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
4. SMARTHealthLinkPayload.key
Definition

Decryption key for processing files returned in the manifest. 43 characters, consisting of 32 random bytes base64urlencoded.

ShortDecryption key for processing files returned in the manifest. 43 characters, consisting of 32 random bytes base64urlencoded.
Control1..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
6. SMARTHealthLinkPayload.exp
Definition

Optional. Number representing expiration time in Epoch seconds, as a hint to help the Health Link Receiving Application determine if this QR is stale. (Note: epoch times should be parsed into 64-bit numeric types.)

ShortOptional. Number representing expiration time in Epoch seconds, as a hint to help the Health Link Receiving Application determine if this QR is stale. (Note: epoch times should be parsed into 64-bit numeric types.)
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
8. SMARTHealthLinkPayload.flag
Definition

Optional. String created by concatenating single-character flags in alphabetical order: 'L' indicates the Health Link is intended for long-term use and manifest content can evolve over time; 'P' indicates the Health Link requires a Passcode to resolves; and 'U' indicates the Health Link's url resolves to a single encrypted file accessible via GET, bypassing the manifest and SHALL NOT be used in combination with P.

ShortOptional. String created by concatenating single-character flags in alphabetical order: 'L' indicates the Health Link is intended for long-term use and manifest content can evolve over time; 'P' indicates the Health Link requires a Passcode to resolves; and 'U' indicates the Health Link's url resolves to a single encrypted file accessible via GET, bypassing the manifest and SHALL NOT be used in combination with P.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. SMARTHealthLinkPayload.label
Definition

Optional. String no longer than 80 characters that provides a short description of the data behind the Health Link.

ShortOptional. String no longer than 80 characters that provides a short description of the data behind the Health Link.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
12. SMARTHealthLinkPayload.v
Definition

Optional. Integer representing the Health Links protocol version this Health Link conforms to. MAY be omitted when the default value (1) applies.

ShortOptional. Integer representing the Health Links protocol version this Health Link conforms to. MAY be omitted when the default value (1) applies.
Control0..1
Typestring
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. SMARTHealthLinkPayload.type
Definition

Classifying type code to distinguish different types of health links. If not present then the Health Link is a SMART Health Link.

ShortClassifying type code to distinguish different types of health links. If not present then the Health Link is a SMART Health Link.
Control0..0
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension