FHIR Chat · Parsing and traversing of FHIR query parameters · hapi

Stream: hapi

Topic: Parsing and traversing of FHIR query parameters


view this post on Zulip Georg Fette (Aug 13 2018 at 11:50):

Hi, I would like to make experiments with the query API of the HAPI server. Could somebody who has some experience with the technical internals point me to some of the classes that are responsible for the parsing and traversing of the _query parameters, so I could reuse those parts ?
Greetings

view this post on Zulip James Agnew (Aug 13 2018 at 19:21):

Assuming you mean the JPA server, you're probably looking for the class SearchBuilder.

view this post on Zulip Georg Fette (Aug 14 2018 at 10:59):

Thank you. It could be that I mean this class, but I first have to dig a bit through the code from there.
I would like to write an alternative query engine, so the JPA server could be the right place, although I would have thought to find the hook I am looking for some layers towards the abstract side because the thing I want to write isn't exactly a JPA server. I would like to find the place were the HAPI server takes the query request and gives it to the the arbitrary persistence layer where the query engine is also located.

Is the complete query represented by the SearchParameterMap which is passed in createQuery ? In createQuery the parameters for the AND and OR are explicitly processed. Are concepts like chained parameters, reverse chaining, composite search parameters and filter contained in the elements of the SearchParameterMap ?

view this post on Zulip Kevin Mayfield (Aug 14 2018 at 11:06):

Is this useful? https://nhsconnect.github.io/CareConnectAPI/build_patient_server.html We use this RESTful server as is but then implement our own query engine.

view this post on Zulip Georg Fette (Aug 14 2018 at 11:53):

Ah, thanks. I did not know the CareConnectAPI yet. Interesting. Is the CareConnectAPI (besides the API parts for non-FHIR parts like security) something like a facade for FHIR that can be used to capsule APIs like that of the HAPI server ? It looks like a big REST-API-adapter that combines a lot of APIs, but does it also have a processing logic in itself or does it only serve as a bundle of APIs ?

Is the CCRI an alternative to HAPI ?

What software part represents the REST-API-part of the CareConnectAPI that I could use to use it as my facade for the FHIR query ? I found a gibthub repository (https://github.com/nhsconnect/CareConnectAPI). Would I still use HAPI (or CCRI) as a processing server and replace parts in those FHIR servers to fulfill my needs, or would I directly implement something that gets attached to the CareConnectAPI ?

view this post on Zulip Kevin Mayfield (Aug 14 2018 at 14:56):

CCRI is UK equivalent of USA's HSPC (Argonaut) Reference Implementation. HSPC used HAPI JPA server but we wanted to show you could use HAPI to create a FHIR server with an existing SQL server.
HAPI does most of the REST and FHIR object work. We added the SQL to HAPI translations using JPA/Hibernate.

view this post on Zulip Kevin Mayfield (Aug 14 2018 at 14:58):

It's still a HAPI FHIR Server but the internals are different.


Last updated: Apr 12 2022 at 19:14 UTC