Carl Emberger · Feb 17

How are the values for HS.Registry.Config set?

In the class HS.Util.Zip.Operations the OnInit method does a get value for ZipUtility, ZipCommand, UnZipCommand.

What is not clear in documentation is where/how those key/values are set.  Any assistance would be appreciated.

Method OnInit() As %Status
                If (##class(HS.Registry.Config).GetKeyValue("\ZipUtility\ZipCommand")="") || (##class(HS.Registry.Config).GetKeyValue("\ZipUtility\UnZipCommand")="") {
                                $$$LOGERROR($$$Text("Zip Configuration is not configured, please define config registry entries \ZipUtility\ZipCommand and \ZipUtility\UnZipCommand"))
                Quit $$$OK

Product version: IRIS 2020.1
$ZV: IRIS for Windows (x86-64) 2020.1 (Build 215U) Mon Mar 30 2020 20:14:33 EDT [HealthConnect:2.1.0]
0 120
Discussion (2)3
Log in or sign up to continue

Hi Carl, To expand on Tim's answer:

Keys in the HS Configuration Registry can either be set by a user in the Management Portal, or they can be set programmatically.  I am only seeing one place in the HS codebase where these keys get set, in HS.Util.Installer.Kit.IHE.XDM.Direct:AddHub():

Do ##class(HS.Registry.Config).AddNewKey("\ZipUtility\ZipCommand",$S($zv["Win":"""c:\program files\7-zip\7z"" a %1 . -r",1:"zip -rm %1 ."))
Do ##class(HS.Registry.Config).AddNewKey("\ZipUtility\UnZipCommand",$S($zv["Win":"""c:\program files\7-zip\7z"" x %1 -o. -r",1:"unzip %1 -d ."))

However this class appears to be related to setting up support for the XDM IHE profile, so unless that is something that's important to you, you shouldn't worry about getting that code to run.  Rather, this is just an example of the values for these keys that is expected by the code that uses them.