C# 使用HealthVault SDK获取有意义的UseVDtreport结果时遇到问题

C# 使用HealthVault SDK获取有意义的UseVDtreport结果时遇到问题,c#,healthvault,C#,Healthvault,我一直在开发一个应用程序,通过Health发送CCD文档的DOPU(下车/上车)请求。创建DOPU请求并获取HealthVault生成的相应令牌工作正常 我现在使用两种SDK方法来获取有意义的使用报告数据: OfflineWebApplicationConnection.GetMeaningfulUseTimelyAccessDOPUDocumentReport获取发送的所有DPU请求。这很好,它总是给我正确的DOPU请求(带有数据/时间戳、令牌和应用程序ID) 另一种是OfflineWebAp

我一直在开发一个应用程序,通过Health发送CCD文档的DOPU(下车/上车)请求。创建DOPU请求并获取HealthVault生成的相应令牌工作正常

我现在使用两种SDK方法来获取有意义的使用报告数据:

  • OfflineWebApplicationConnection.GetMeaningfulUseTimelyAccessDOPUDocumentReport
    获取发送的所有DPU请求。这很好,它总是给我正确的DOPU请求(带有数据/时间戳、令牌和应用程序ID)
  • 另一种是
    OfflineWebApplicationConnection.GetMeaningfulUseVDTReport
    方法。这就是导致问题的原因。无论我设置了什么日期范围(一周、一个月、Datetime.MinValue到Datetime.MaxValue),我总是得不到任何结果。无论我进入我的HV帐户多少次,都可以查看和下载我的连接DOPU文档。那个SDK方法仍然没有给我任何结果
  • 我还尝试过在将CCD发送到时使用CCD扩展XML,特别是设置患者id和输入日期。同样,这不会影响我的报告结果

    有没有人比我在SDK中的有意义的用户方法方面更有经验,对我为什么在离线WebApplicationConnection.GetMeaningfulUseVDTReport调用中什么都得不到有任何建议

    下面是我用来运行报告的一些示例代码(一些注释行只是我在尝试不同的日期范围)。我还可以发布代码片段,显示我是如何发送DOPU请求的,尽管这一切似乎都按照预期进行

    
    班级计划
    {
    静态void Main(字符串[]参数)
    {
    var applicationId=ConfigurationManager.AppSettings[“applicationId”];
    var url=ConfigurationManager.AppSettings[“HealthServiceUrl”];
    var connection=new OfflineWebApplicationConnection(新Guid(applicationId)、url、Guid.Empty/*offlinePersonId*/);
    Console.WriteLine(“\nGetMeaningfullUseTimelyAccess-DopUDocumentReport”);
    //var receives=connection.GetMeaningfulUseTimelyAccessDOPUDocumentReport(新的日期范围(新的日期时间(2014,11,19))和新的日期时间(2014,12,19));
    var receives=connection.GetMeaningfulUseTimelyAccessDopudDocumentReport(新的日期范围(DateTime.MinValue,DateTime.MaxValue));
    //var receives=connection.GetMeaningfulUseTimelyAccessDOPUDocumentReport(新的日期范围(DateTime.UtcNow.AddMonths(-12),DateTime.UtcNow));
    foreach(收据中的var收据)
    {
    WriteLine(string.Format(“{0}-{1}-{2}”,receipt.AvailableDate,receipt.PackageId,receipt.Source));
    }
    Console.WriteLine(“\nGetMeaningFulluseVDtreport”);
    //var activities=connection.GetMeaningfulUseVDTReport(新的日期范围(新的日期时间(2000,12,3),新的日期时间(2014,12,10));
    //var activities=connection.GetMeaningfulUseVDTReport(新的日期范围(DateTime.MinValue,DateTime.MaxValue));
    var activities=connection.GetMeaningfulUseVDTReport(新的日期范围(DateTime.UtcNow.AddMonths(-12),DateTime.UtcNow.AddDays(1));
    foreach(活动中的var活动)
    {
    Console.WriteLine(activity.PatientId);
    }
    Console.ReadLine();
    }
    }
    
    更新1 尝试了MS在codeplex上使用的示例web应用程序。将其与我们的应用程序ID/凭据一起使用。嗯,它起作用了。不知道有什么不同,至少到目前为止是这样

    更新2 因此,我尝试了许多其他真实的CCD(在我们的PPE环境中,完成后立即删除它们),包括测试CCD。我甚至在我的应用程序中设置了ConnectPackage,使其行为与MS的测试应用程序相同。无论我发送什么,我都知道如何为CCD使用VDT数据。然而,MS测试应用程序中的测试CCD可以工作

    更新3 尝试通过MS测试应用程序发送CCD。再次,它发送,我可以连接到一个高压帐户没有问题。无论使用的日期范围如何,我都没有得到VDT数据。也许我们的CCD有问题