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: VerifiableHealthLinkPayload - Detailed Descriptions

Draft as of 2025-09-06

Definitions for the VerifiableHealthLinkPayload logical model.

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

0. VerifiableHealthLinkPayload
Definition

Verifiable Health Link Payload (DRAFT)

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

ShortVerifiable Health Link Payload (DRAFT)
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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.
Control1..1
BindingThe codes SHOULD be taken from HL.TYPE ValueSet
(preferred to http://smart.who.int/trust-phw/ValueSet/HL.TYPE)
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Invariantsis-a-verifiable-health-link: The Health Link type is is a verifiable health link (type = 'vhl')

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

0. VerifiableHealthLinkPayload
Definition

Verifiable Health Link Payload (DRAFT)

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

ShortVerifiable Health Link Payload (DRAFT)
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. VerifiableHealthLinkPayload.type
Control1..?
BindingThe codes SHOULD be taken from HL.TYPE ValueSet
(preferred to http://smart.who.int/trust-phw/ValueSet/HL.TYPE)
Invariantsis-a-verifiable-health-link: The Health Link type is is a verifiable health link (type = 'vhl')

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

0. VerifiableHealthLinkPayload
Definition

Verifiable Health Link Payload (DRAFT)

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

ShortVerifiable Health Link Payload (DRAFT)
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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. VerifiableHealthLinkPayload.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.
Control1..1
BindingThe codes SHOULD be taken from HL.TYPE ValueSet
(preferred to http://smart.who.int/trust-phw/ValueSet/HL.TYPE)
Typecode
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
Invariantsis-a-verifiable-health-link: The Health Link type is is a verifiable health link (type = 'vhl')