Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve FHIR Search Performance with Subject References #2161

Closed
alexanderkiel opened this issue Oct 29, 2024 · 0 comments · Fixed by #2162
Closed

Improve FHIR Search Performance with Subject References #2161

alexanderkiel opened this issue Oct 29, 2024 · 0 comments · Fixed by #2162
Assignees
Labels
module:db performance Performance improvement
Milestone

Comments

@alexanderkiel
Copy link
Member

alexanderkiel commented Oct 29, 2024

The performance of FHIR Search queries that include a search parameter of type token and a subject or patient search parameter should be improved.

The queries have the following form:

[base]/[type]?[token-param]=[system]|[code]&[subject/patient]=Patient/[id-0],Patient/[id-1],...

were:

  • type – a resource type that is part of the patient compartment like Condition or Observation
  • token-param – a search param of type token like code
  • system, code – the value of the token search param that has to include a system URL
  • subject/patient – either a subject or a patient search parameter
  • id-0, id-1 – one or more patient ID's

Other additional search parameters are allowed. The order of the search parameters doesn't matter.

In case all requirements hold, the performance optimisation will use the patient compartment indices in order to process the query. Using the patient compartment indices ensures that the combination of token search parameter and patient is directly accessed via a single index.

Performance is documented here. TLDR It's super fast.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:db performance Performance improvement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant