Skip to content

add support for Verifiable Health Links (VHL) #9

@litlfred

Description

@litlfred

there is a new HCERT claim that needs to be added for support as defined here as claim 5 for a "VHL". The Verifiable Health LInk (VHL) is a variant or the Smart Health Link (SHL) with some slightly different behavior.

Here is the new HCERT claim for the VHL
https://github.com/WorldHealthOrganization/smart-trust/blob/main/input/fsh/models/hcert.fsh
In this case, rather than containing health content that will be displayed to the user, the VHL is an obfuscated URI which a user can retrieve a manifest of files. The content is a string URI that should have the form vhlink:/eyJ1cmwiOiJodHRwczovL2Vo.... or shlink:/eyJ1cmwiOiJodHRwczovL2Vo....

The VHL is mostly documented in the VHL spec:
https://build.fhir.org/ig/IHE/ITI.VHL/branches/master/volume-1.html

the rules for the VHL URI are defined here in the SHL spec here.
https://docs.smarthealthit.org/smart-health-links/spec/

and the GDHCN Validator should behave as a SHL Receiving Application. Specifically, it should:

  • decode the vhlink to get the manifest URL
  • if a PIN code is required, prompt the user to enter the PIN
  • make a request to retrieve the manifest (Note, we will use a VHL Manifest not an SHL Manifest as defined in the SHL specificaiton)
  • show the user the list of files in the manifest with an option to display them

there are several file types that may be in a manifest which will have their own display logic. we will start with support for the following:

the VHL Manifest is a FHIR SearchSet result that from of a FHIR List query of the format for a given List id and with the _include=List:item with results as in the example here:
https://worldhealthorganization.github.io/smart-ips-pilgrimage/Bundle-PilgrimFolderSearchSetExtended.json.html

Please update documentation and begin implementation

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions