研究文件格式 API
此页面列出了使用研究文件格式 API 的一些技巧和最佳实践。
使用程序化使用方式
SFF API 设计为通过程序化方式访问,而不是通过手动读取文件。SFF 软件包中包含的清单文件列出了每列的 CSV 文件和元数据,每个研究数据(Study Data)部分都有自己的区组。清单文件中单独列出了研究设计(Study Design)部分。临床数据部分中包含项目定义(Item Definition)数据,因为每个项目(Item)均为 CSV 文件中的一列。
SFF 列标题也被设计为机器可读的。JSON 格式的属性不能保证以特定的顺序排列,因此以程序化方式解析列非常重要。除临床数据部分中的 itemgroups
数组属性外,该属性会维持每个项目定义在项目组中的显示顺序。
高效跟踪更改
SFF 中的每个文件都包含一个 ROWID 列,该列用作每行的唯一标识符。使用此列可跟踪任何行级更改。
- 将每个更改视为 UPSERT:如果增量 SFF 文件中出现一行,则表示对该行进行了添加或修改。
- DELETES CSV 文件列出了在最新更改增量中删除的所有行。
如果发生了错误阻止增量软件包捕获更改,则仍将生成软件包,但将为空。这与软件包为空不同,因为未对文件进行更改。
利用创建日期
文件名中包括了每个规定增量的发布时间:增量提取每 15 分钟一次,完整提取每 24 小时一次。在处理 SFF 压缩包时,最佳实践是按照 API 返回的 created_date 顺序来使用。使用 created_date(尤其是对于增量 SFF 使用)有助于您了解将更改应用于下游系统以使其保持同步的顺序。例如,created_date 可能在 00:30 UTC 左右,但发布时间可能显示 00:45。这是因为系统已捕获 00:30 和 00:45 之间的时间间隔。
检索完整 SFF 软件包以进行设置和刷新
首次启用完整 SFF 软件包时进行检索。如果还启用了增量 SFF,则最初只需检索完整软件包。之后,如果您的数据变得不同步并且您需要完全刷新,您可以再次检索完整软件包。