biologis / hv-client-lib
轻量级PHP库,易于使用,可连接到Microsoft HealthVault。
Requires
- biologis/hv-raw-connector: >=1.3.1
- psr/log: 1.0.0
- querypath/querypath: >=3.0.0
README
这是一个易于使用的PHP库,用于连接到基于HVRawConnectorPHP的Microsoft® 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"。
许可证
赞助商
bio.logis 为 pgsbox.de[pgsbox.com] 和 (https://pgsbox.de) 的用户提供了一种将他们的诊断报告上传到HealthVault的方法。