Date:

Estimated Time:less than a minute

Rendering Patients in SolR (part-1)

Patient medical records contain a broad variety of data such numeric, coding, time-series or medical reports. It can be translated as a json document with a nested structure.

SolR allows to handle highly nested objects to be queried efficiently. It provides pagination, and also faceting features wich are very powerful to provide a patient centered search engine.

Patients in electronic health records:

Patient Nested

Consider the two patients below:

It yet possible to ask relevant questions to SolR:

# Count and give me one patient having during the same visit:
# - one XX1 code
# - one report containing "popeye"
curl http://localhost:8983/solr/patient/query -d '
q=*:*
&fq={!parent which="content_type_s:visite"}
    ccam_ss:XX1
&fq={!parent which="content_type_s:visite"}
    {!complexphrase inOrder=true}
        doc_text_t:"popeye marche"~3
        AND doc_type_ss:APHP.CRH-H
&fl=id
&rows=1'

Using blockJoin queries has some limitations: - it is not possible to highlight matching text from a parent or a child document - it has some impact on performances

The particular model used in this post has some limitations: - it is not possible to highlight matching text at the patient level - it is not possible to play with a sequence of events, such of encounter - queries are complicated

Let's see a other approach in a next post.

This page was last modified: