Stream: hapi
Topic: JPA Server Config
Ben Grey (Aug 19 2019 at 18:16):
Hi,
I am currently working with a HAPI JPA Server module for an enterprise FHIR project (large document bundles). Trying work out if there a way for this to be configured to allow us to specify our own resource IDs/version ID handling as by default it appears to be controlled automatically. If this is not an easy config task we were thinking of adding our own ID within the resource identifier element instead?
Thanks!
Lloyd McKenzie (Aug 20 2019 at 17:01):
@James Agnew
James Agnew (Aug 21 2019 at 09:36):
Hi @Ben Grey , yes, you can control the "server ID mode" and "client ID mode" via the DaoConfig. By default HAPI FHIR creates sequential numeric IDs and allows clients to assign non-numeric IDs but you can adjust both of these behaviours.
Stefan Heijmans (Sep 22 2021 at 11:50):
I am creating a local HAPI FHIR server, but when performing a search with multiple parameters it completely freezes. Is there a configuration parameter that needs to be enabled?
Daniel Venton (Sep 22 2021 at 12:01):
I doubt there is a "don't freeze" configuration parameter. You're going to have to figure out where it's "freezing". You are going to have to instrument your code to find out where it appears to be freezing. Is it taking too long to parse your parameters, too long to query the database, slow network pipe, etc. Once you find our where the "freeze" is, then you can determine what needs to be done about it.
Stefan Heijmans (Sep 22 2021 at 12:10):
Daniel Venton said:
I doubt there is a "don't freeze" configuration parameter. You're going to have to figure out where it's "freezing". You are going to have to instrument your code to find out where it appears to be freezing. Is it taking too long to parse your parameters, too long to query the database, slow network pipe, etc. Once you find our where the "freeze" is, then you can determine what needs to be done about it.
So in general and just to be clear, all HAPI servers should be able to accept a multi parameter query? Performing the same query on the online server at http://hapi.fhir.org does immediately return a result. Is there anyway to view the .yaml configuration file for this online server?
Daniel Venton (Sep 22 2021 at 12:19):
Everybody can do their own thing, so it's entirely possible that there are servers that can only accept 1 parameter. But if they are using HAPI and they are coded that way then HAPI will tell you, "No matching signature" or some such message, telling you it doesn't know how to process that search set.
I would expect that most servers treat the search param list as all values are optional, you can search with any combination of the allowed items.
Daniel Venton (Sep 22 2021 at 12:23):
That said, not everything is free. If your search requires the database to table scan (because you don't have indexes) the entire database with billions of records, then it's probably going to take awhile. If your searches only filter on indexed columns it'll be faster. I don't know how your database is setup, but if HAPI has to read billions of rows, de-serialize each item to get to the value of X, just to determine if that row is 'selected', then good luck ever getting a response.
Stefan Heijmans (Sep 22 2021 at 12:36):
Daniel Venton said:
That said, not everything is free. If your search requires the database to table scan (because you don't have indexes) the entire database with billions of records, then it's probably going to take awhile. If your searches only filter on indexed columns it'll be faster. I don't know how your database is setup, but if HAPI has to read billions of rows, de-serialize each item to get to the value of X, just to determine if that row is 'selected', then good luck ever getting a response.
But what if there is only one record, that is easily found when performing a search on its identifier, but the server does not respond when doing the same search with identifier + subject ID, for instance. Is there any indication what goes wrong?
Daniel Venton (Sep 22 2021 at 13:48):
Are there logs, monitoring tools. Are you running an out-of-the-box solution (stand up a jar, set some config and go) or a custom implementation (you wrote some code to utilize HAPI libraries)? If the 1st then you'll have to provide the scenario to the application provider you can try stream #hapi , if the second, then you can debug and trace what is happening.
Stefan Heijmans (Sep 23 2021 at 11:19):
Daniel Venton said:
Are there logs, monitoring tools. Are you running an out-of-the-box solution (stand up a jar, set some config and go) or a custom implementation (you wrote some code to utilize HAPI libraries)? If the 1st then you'll have to provide the scenario to the application provider you can try stream #hapi , if the second, then you can debug and trace what is happening.
We are running the HAPI server in Docker as an more or less out of the box solution. So far I have not seen any logs and are not aware of any monitoring tools, so any help there would be appreciated.
Notification Bot (Sep 23 2021 at 16:53):
Josh Mandel has marked this topic as resolved.
Notification Bot (Sep 23 2021 at 16:53):
Josh Mandel has marked this topic as unresolved.
Notification Bot (Sep 23 2021 at 16:54):
This topic was moved here from #implementers > JPA Server Config by Josh Mandel
Stefan Heijmans (Sep 27 2021 at 08:49):
Stefan Heijmans said:
Daniel Venton said:
Are there logs, monitoring tools. Are you running an out-of-the-box solution (stand up a jar, set some config and go) or a custom implementation (you wrote some code to utilize HAPI libraries)? If the 1st then you'll have to provide the scenario to the application provider you can try stream #hapi , if the second, then you can debug and trace what is happening.
We are running the HAPI server in Docker as an more or less out of the box solution. So far I have not seen any logs and are not aware of any monitoring tools, so any help there would be appreciated.
I got the logging of Docker itself working and now I am seeing the following error popping up: 'Failed to pre-expand ValueSet: Unknown code system http://hl7.org/fhir/sid/icd-10-cm.' How can I resolve this? Do I need to include a coding system in the configuration .yaml file as implementation guide? If so, how should this be done? Hopefully someone can help me.
Stefan Heijmans (Sep 27 2021 at 14:05):
Stefan Heijmans said:
Stefan Heijmans said:
Daniel Venton said:
Are there logs, monitoring tools. Are you running an out-of-the-box solution (stand up a jar, set some config and go) or a custom implementation (you wrote some code to utilize HAPI libraries)? If the 1st then you'll have to provide the scenario to the application provider you can try stream #hapi , if the second, then you can debug and trace what is happening.
We are running the HAPI server in Docker as an more or less out of the box solution. So far I have not seen any logs and are not aware of any monitoring tools, so any help there would be appreciated.
I got the logging of Docker itself working and now I am seeing the following error popping up: 'Failed to pre-expand ValueSet: Unknown code system http://hl7.org/fhir/sid/icd-10-cm.' How can I resolve this? Do I need to include a coding system in the configuration .yaml file as implementation guide? If so, how should this be done? Hopefully someone can help me.
If anyone is able to provide the complete configuration.yaml file of the online HAPI server at HAPI FHIR that would also already be very useful!
Jens Villadsen (Sep 27 2021 at 14:09):
@Stefan Heijmans I don't expect that the HAPI server that runs on http://hapi.fhir.org/ is running the same instance as the one you find on hapi-fhir-jpa-starter
Jens Villadsen (Sep 27 2021 at 14:09):
hence, no such configuration.yaml file exists
Stefan Heijmans (Sep 27 2021 at 14:51):
Jens Villadsen said:
hence, no such configuration.yaml file exists
That would be a shame as that server is working properly with our own created application...
Patrick Werner (Sep 28 2021 at 18:02):
The poster error suggests, that your Server doesn‘t know the ICD10-CM CodeSystem. After adding this CS, the expansion should work.
Stefan Heijmans (Sep 29 2021 at 06:59):
Patrick Werner said:
The poster error suggests, that your Server doesn‘t know the ICD10-CM CodeSystem. After adding this CS, the expansion should work.
Sounds logical, but can you also help me with explaining how this CS should be added? Ideally, it is done through the application.yaml configuration file, as an implementation guide I can imagine. However, adding the following does not work:
hapi:
fhir:
implementationguides:
icd10:
url: http://hl7.org/fhir/sid/icd-10-cm
name: http://hl7.org/fhir/sid/icd-10-cm
version: 2.1.0
Any suggestions on how to solve this?
PS: Please find attached the complete application.yaml file. Note that also the included implementation guides for Loinc and Snomed are not working either. application.yaml
Alex Bennett (Jan 24 2022 at 18:31):
@Stefan Heijmans any update on this? I'm hitting a similar issue.
Patrick Werner (Jan 24 2022 at 18:32):
@Stefan Heijmans you have to include a package containing the populated CodeSystem. Unfortunately there is no official source i am aware of.
By the way, the correct package for what you have tried would be: hl7.terminology#2.0.0
Patrick Werner (Jan 24 2022 at 18:33):
(deleted)
Patrick Werner (Jan 24 2022 at 18:33):
(deleted)
Patrick Werner (Jan 24 2022 at 18:36):
tx.fhir.org is also aware of ICD-10-CM. @Rob Hausam are there ICD-10-CM CodeSystems with content available?
Rob Hausam (Jan 24 2022 at 21:29):
@Patrick Werner We do have an ICD-10-CM code system resource in the packages repo, which is the source that tx.fhir.org is using.
Jens Villadsen (Jan 24 2022 at 21:36):
that is one big Code system
Rob Hausam (Jan 24 2022 at 21:38):
Yes, it's definitely pretty good sized - but it works on tx.fhir.org (and I expect will in HAPI, too).
Jens Villadsen (Jan 24 2022 at 21:38):
Roughly 244849 codes in it
Jens Villadsen (Jan 24 2022 at 21:39):
@Rob Hausam is it part of an IG?
Patrick Werner (Jan 24 2022 at 21:39):
hapi handles them really well. You might have to increase max expansion size tho, if expansions are needed.
Jens Villadsen (Jan 24 2022 at 21:40):
right ... I guess the package is fhir.tx.support.r4
Rob Hausam (Jan 24 2022 at 21:41):
No, it isn't in an IG (unless someone has picked it up and using it that way that I'm not aware of). Yes - it's in fhir.tx.support.r4
.
Jens Villadsen (Jan 24 2022 at 21:42):
It can be resolved from there - https://packages.fhir.org/catalog?name=fhir.tx.support.r4 and an IG is more or less an npm in terms of FHIR
Jens Villadsen (Jan 24 2022 at 21:46):
@Rob Hausam shouldn't stuff like https://github.com/FHIR/packages/blob/master/packages/fhir.tx.support.r4/package/CodeSystem-usps.json be in US core instead?
Jens Villadsen (Jan 24 2022 at 21:48):
Rob Hausam (Jan 24 2022 at 21:53):
@Jens Villadsen It certainly would be reasonable to reference and/or publish in US Core. But it's also reasonable and very useful to have it available in the FHIR build terminology server, I think - so that's why it's in the packages repo.
Last updated: Apr 12 2022 at 19:14 UTC