小编Iva*_*aev的帖子

在Datomic中跨多个属性进行全文搜索

我有一个看起来大致相似的模型(在JSON中):

{"gender": "female", 
 "name": [
  {"family": "Smith", 
   "given": ["Samantha"], 
   "middle": ["Lee"]]}}
Run Code Online (Sandbox Code Playgroud)

有大约6M的记录具有这样的结构.我需要使用OR子句在人名的所有组件上提供全文搜索.例如,如果用户输入"smith",我需要检查所有给定,中间和姓氏.

在Datomic中,我制作了一个模式:

   {:db/ident       :model/name
    :db/valueType   :db.type/ref
    :db/isComponent true
    :db/cardinality :db.cardinality/many}

   {:db/ident       :model.name/family
    :db/valueType   :db.type/string
    :db/cardinality :db.cardinality/one
    :db/fulltext    true}

   {:db/ident       :model.name/given
    :db/valueType   :db.type/string
    :db/cardinality :db.cardinality/many
    :db/fulltext    true}

   {:db/ident       :model.name/middle
    :db/valueType   :db.type/string
    :db/cardinality :db.cardinality/many
    :db/fulltext    true}          
Run Code Online (Sandbox Code Playgroud)

注意,我提供了这些属性的全文索引.现在,当我通过单个属性查询时family,性能很好(大约100ms):

(def query-all
  '[:find [(rand 100 ?model) ...]
    :in $ ?search
    :where
    [(fulltext $ :model.name/family ?search) [[?name _ _ _]]]
    [?model :model/name ?name]])
Run Code Online (Sandbox Code Playgroud)

但是当我使用OR子句添加其他条件时,性能会急剧下降(20秒):

(def query-all
  '[:find [(rand 100 ?model) ...]
    :in $ …
Run Code Online (Sandbox Code Playgroud)

clojure datomic

7
推荐指数
1
解决办法
486
查看次数

如何从临床健康记录实例获取医疗机构?

我正在开发一个可与临床健康记录配合使用的应用程序。这个想法是获取 FHIR 资源并以某种方式处理它们。虽然获取 FHIR 数据很容易,但我无法找出该记录属于哪个帐户或组织。

HKClinicalRecord两个类都没有可能HKFHIRResource指向帐户或医疗机构的方法或字段。

同时,标准的 Apple Health 应用程序确实知道每条记录的帐户。它甚至允许打开它并查看患者的数据(参见屏幕截图)。苹果的应用程序可以按组织过滤记录。这正是我在我的应用程序中寻找的东西。有人可以告诉我如何在我的代码中获取这些信息吗?

截图:

ios hl7-fhir healthkit

2
推荐指数
1
解决办法
155
查看次数

标签 统计

clojure ×1

datomic ×1

healthkit ×1

hl7-fhir ×1

ios ×1