FHIR: фильтр даты в smart on fhir search api
Я новичок в Smart на 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?
1 ответ
Это просто монго-подобный синтаксический сахар, предоставляемый fhir.js
. Он действует как построитель URL-адресов, и результирующий URL-адрес FHIR может выглядеть так:
Последние версии 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(...)
Также см. http://hl7.org/fhir/search.html для получения подробной информации оdate
синтаксис параметра.