FHIR:智能搜索中的日期过滤器 api

FHIR: date filter in smart on fhir search api

我是 Smart on FHIR 的新手,正在使用 fhirclient.js 创建一个用于培训目的的演示应用程序。我需要在指定的日期期间(过去 3 个月)获取患者的一些特定重要信息,如温度、体重等。

smart.patient.api.search({
                    type: "Observation",            
                    query: {          
                      $sort: [
                          ["date",
                          "asc"]
                    ],
                    code: {
                      $or: ['http://loinc.org|8462-4',
                        'http://loinc.org|8480-6',
                        'http://loinc.org|55284-4',
                        'http://loinc.org|8310-5',
                        'http://loinc.org|3141-9',
                        'http://loinc.org|718-7']
                    }
                  }
                  }).then(results => {

告诉我如何在此搜索中包含日期过滤器api?

这只是 fhir.js 提供的一个类似于 mongo 的语法糖。它充当 URL 构建器,结果 FHIR URL 可能如下所示:

https://r3.smarthealthit.org/Observation?_sort:asc=date&code=http://loinc.org|8462-4,http://loinc.org|8480-6,http://loinc.org|55284-4,http://loinc.org|8310-5,http://loinc.org|3141-9,http://loinc.org|718-7

fhirclient 的最新版本不包含 fhir.js。现在我们有像 URLSearchParams 这样的东西来帮助我们取得类似的结果。使用最新版本的 fhirclient 库,您要查找的代码可能如下所示:

const client = new FHIR.client("https://r3.smarthealthit.org");
const query = new URLSearchParams();
query.set("_sort", "date");
query.set("code", [
  'http://loinc.org|8462-4',
  'http://loinc.org|8480-6',
  'http://loinc.org|55284-4',
  'http://loinc.org|8310-5',
  'http://loinc.org|3141-9',
  'http://loinc.org|718-7'
].join(","));
query.set("date", "ge2013-03-14"); // after or equal to 2013-03-14
query.set("date", "le2019-03-14"); // before or equal to 2019-03-14
client.request("Observation?" + query).then(...)

有关 date 参数语法的详细信息,另请参阅 http://hl7.org/fhir/search.html#date