biologis/hv-client-lib

轻量级PHP库,易于使用,可连接到Microsoft HealthVault。

1.4.0 2013-08-30 09:11 UTC

This package is auto-updated.

Last update: 2024-08-29 03:48:49 UTC


README

这是一个易于使用的PHP库,用于连接到基于HVRawConnectorPHPMicrosoft® HealthVault™。它添加了一个更友好的面向对象编程接口,并隐藏了HealthVault协议中(大多数)复杂的XML部分。

安装

HVClientLibPHP依赖于HVRawConnectorPHP

您可以使用composer简单地安装HVRawConnectorPHP及其依赖项。

要将HVClientLibPHP作为库添加到您的项目中,请将以下内容添加到您的composer.json的'require'部分

{
  "require": {
    "biologis/hv-client-lib": "dev-master"
  }
}

如果composer对未知的pear频道提出异议,请将以下内容添加到您的composer.json

{
  "repositories": [
    {
      "type": "pear",
      "url": "http://pear.php.net"
    }
  ]
}

HVClientLibPHP的早期版本也可以通过pear安装,包括所有依赖项

pear channel-discover pear.biologis.com
pear channel-discover pear.querypath.org
pear install biologis/HVClient

此方法将安装HVClientLibPHP作为库,但不会提供可用的示例应用程序。

状态

HVClientLibPHP不是一个功能齐全的HealthVault SDK,但它应该提供PHP创建强大的HealthVault应用程序所需的所有功能。

它基本上可以处理所有事物,但随时间推移,我们将向表示类添加一些便利函数。

但目前实现的方法数量非常有限(基本方法都是可用的)

  • GetPersonInfo
  • GetThings
  • PutThings

如果您需要更多,并且理解可用的文档,您可以直接使用HVRawConnectorPHP。在这种情况下,您最好将您的工作贡献出来,以便HVClientLibPHP能够更快地发展。

用法

这是一个简单示例,用于显示所有体重测量值

$hv = new HVClient($yourAppId, $_SESSION);
$hv->connect($yourCertThumbPrint, $yourPrivateKey);

$personInfo = $hv->getPersonInfo();
$recordId = $personInfo->selected_record_id;

$things = $hv->getThings('Weight Measurement', $recordId);
foreach ($things as $thing) {
  print $thing->weight->value->kg;
}

使用不同国家和语言连接不同的HealthVault™实例

$hv = new HVClient($yourAppId, $_SESSION);

$hv->setHealthVaultPlatform(
  'https://platform.healthvault-ppe.co.uk/platform/wildcat.ashx');
$hv->setLanguage('de');
$hv->setCountry('DE');

$hv->connect($yourCertThumbPrint, $yourPrivateKey);

要连接您的基于PHP的HealthVault™应用程序,您的应用程序需要经过用户授权,并且用户本人需要通过HealthVault™进行身份验证。如果这些要求中的任何一个没有得到满足,HVClientLibPHP都会抛出相应的异常。在这种情况下,您可以创建一个链接,将用户带到HealthVault™进行身份验证并授权您的应用程序,并在之后将其带回到您的网站

$hv = new HVClient($yourAppId, $_SESSION);

try {
  $hv->connect($yourCertThumbPrint, $yourPrivateKey);
  $personInfo = $hv->getPersonInfo();
}
catch (HVRawConnectorUserNotAuthenticatedException $e) {
 print '<a href="' .
   $hv->getAuthenticationURL($yourReturnURL) .
   ">Authenticate</a>';
}

有关更多示例,请参阅HVClientLibPHP中包含的demo_app源代码。

HVClientLibPHP永远不会提供注册新HealthVault™应用程序或引导您通过入职流程的API,因为这可以使用应用程序配置中心轻松完成。

因此,请首先在那里注册您的应用程序,然后再开始编码。

demo_app(又称Hello World)已经注册。对于您的第一次测试,您也可以使用其凭据立即开始。

演示

此存储库中包含的demo_app目前演示了两个功能

  • 它查询用户的HealthVault记录中所有的"事物",并转储原始XML内容。
  • 它列出了上传到所选健康记录的所有文件,并允许您上传更多文件。

默认情况下,它使用HealthVault的美国预生产实例。

要开始,请按照上面的安装说明操作,并将demo_app文件夹放置在Web服务器上,访问"demo_app/index.php"。

许可证

GPLv2.

赞助商

bio.logispgsbox.de[pgsbox.com] 和 (https://pgsbox.de) 的用户提供了一种将他们的诊断报告上传到HealthVault的方法。