HealthVault platform exception: “The specified transform was not found.”

If you see HealthVault platform throw the above exception when you run HealthRecordSearcher.GetMatchingItems() with specified type ID, the likely cause is that the locale of the application server is set to a value that doesn’t match the locale of the XSLT transform in HealthVault platform. The platform then fails to retrieve the XSLT transform with the application server’s locale. To work around this, we can add an element in Web.Config to specify the locale.

 

<configuration>

    <system.web>

        <globalization uiCulture=”en-US” culture=”en-US” />

    </system.web>

</configuration>

 

When debugging issues like this, the request-response tracing described at https://msdn.microsoft.com/en-us/healthvault/cc135993.aspx should be quite helpful.