HealthKitToFhir Swift 库提供了一种从 HKObject 创建 FHIR® 资源的简单方法。
HealthKitToFhir 使用 Swift Package Manager 来管理依赖项。 强烈建议您使用 Xcode 11 或更高版本将 HealthKitToFhir 添加到您的项目中。
资源是使用 “Factory” 类创建的,这些类可以使用可选的 JSON 配置进行初始化,以提供用于修饰资源的其他转换数据。 在下面的示例中,观察工厂在没有配置的情况下初始化。
do {
let factory = try ObservationFactory()
} catch {
// Handle errors
}
do {
let observation = try factory.observation(from: healthKitObject)
} catch {
// Handle errors
}
可以通过在运行时初始化 ObservationFactory 时为其提供自定义配置来添加其他观测转换。
DeviceFactory 将提取 HKObject 设备和 sourceRevision 属性中提供的数据,以创建设备资源。 此转换不需要任何配置。
HealthKitToFhir 使用 JSON 配置文件来提供从 HealthKit HKObject 转换为 FHIR 资源所需的其他数据。DefaultObservationFactoryConfig.json 包含 ObservationFactory 类的转换数据,以支持上面列出的类型。
下面的示例显示了用于将包含血糖读数的 HKQuantitySample 转换为 FHIR 资源的数据。 HKObject 类型标识符用于查找填充观测所需的数据,这包括血糖观测的代码和 valueQuantity 属性。 此 “静态” 数据将在转换过程中 “复制” 到观测,而测量值、日期和标识符等值将从 HKObject 的属性转换而来。
"HKQuantityTypeIdentifierBloodGlucose": {
"code": {
"coding": [
{
"system": "http://loinc.org",
"code": "41653-7",
"display": "Glucose Glucometer (BldC) [Mass/Vol]"
}
]
},
"valueQuantity": {
"unit" : "mg/dL",
"system" : "http://unitsofmeasure.org",
"code" : "mg/dL"
}
}
此项目欢迎贡献和建议。 大多数贡献要求您同意贡献者许可协议 (CLA),声明您有权并将实际授予我们使用您的贡献的权利。 有关详细信息,请访问 https://cla.opensource.microsoft.com。
当您提交拉取请求时,CLA 机器人将自动确定您是否需要提供 CLA 并适当地修饰 PR(例如,状态检查、评论)。 只需按照机器人提供的说明进行操作即可。 您只需在使用我们 CLA 的所有仓库中执行此操作一次。
还有许多其他方式可以为 HealthKitToFhir 项目做出贡献。
有关更多信息,请参阅 Contributing to HealthKitToFhir。
本项目已采用 Microsoft 开源行为准则。 有关更多信息,请参阅 行为准则 FAQ 或通过 opencode@microsoft.com 联系我们,提出任何其他问题或意见。
FHIR® 是 HL7 的注册商标,经 HL7 许可使用。