Terminology Server Implementations?

1,407 views
Skip to first unread message

johnde...@gmail.com

unread,
Feb 6, 2017, 10:27:01 AM2/6/17
to HAPI FHIR


Hello,

Is anyone aware of any Java based terminology server implementations in Git?

I'm looking for something similar to this site:  http://fhir2.healthintersections.com.au/tx

I've been searching Git Hub but haven't found anything.


I would appreciate any help.

Thank you!
John

James Agnew

unread,
Feb 6, 2017, 10:31:31 AM2/6/17
to johnde...@gmail.com, HAPI FHIR
Hi John,

FWIW the HAPI JPA server module has a reasonably complete terminology service as a part of it. It's quite tightly coupled with the rest of the JPA server so you need to use it in conjunction with the rest of that module, but there is nothing stopping you from spinning up a JPA module and using it as just a terminology server.

The service currently supports searches, expansions, lookups etc. but does not currently support mapping. We'd be open to help if anyone wanted to help out with that part.

We also currently support automated import of SNOMED CT and LOINC, with others planned.

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/c85f391a-31a7-46c5-ab49-2d61a114c849%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kevin Mayfield

unread,
Feb 6, 2017, 10:43:37 AM2/6/17
to James Agnew, johnde...@gmail.com, HAPI FHIR
I've done as James suggests. It's working very well. 

Would be nice to have that UI working with it

johnde...@gmail.com

unread,
Feb 6, 2017, 10:52:52 AM2/6/17
to HAPI FHIR, johnde...@gmail.com

Kevin Mayfield

unread,
Feb 6, 2017, 10:56:08 AM2/6/17
to johnde...@gmail.com, HAPI FHIR
Yes. 

JPA page is here http://hapifhir.io/doc_jpa.html
and you will also need to use the hapi-cli tool to load in the terminologies http://hapifhir.io/doc_cli.html



--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

James Agnew

unread,
Feb 6, 2017, 11:07:38 AM2/6/17
to johnde...@gmail.com, HAPI FHIR
Hi John,

Those are sample implementation projects using the JPA server yup, and the main codebase for the module itself is here: https://github.com/jamesagnew/hapi-fhir/tree/master/hapi-fhir-jpaserver-base

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

johnde...@gmail.com

unread,
Feb 6, 2017, 11:14:15 AM2/6/17
to HAPI FHIR, johnde...@gmail.com
Thank you!

I believe that git project brings up an implementation that looks like this, correct?
https://fhirtest.uhn.ca/

If so, and this is an beginner question, what part makes this a compliant "terminology server". I'm not sure if that question makes sense.
For example, is searching for a ValueSet searching a code system?





On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

James Agnew

unread,
Feb 6, 2017, 11:34:06 AM2/6/17
to johnde...@gmail.com, HAPI FHIR
That is correct, yup.

Regarding the second question, there's a pretty decent writeup of what a terminology service in FHIR should do here: http://build.fhir.org/terminology-service.html

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

johnde...@gmail.com

unread,
Feb 6, 2017, 1:05:09 PM2/6/17
to HAPI FHIR, johnde...@gmail.com
Great thank you. I will take a look at the documentation


On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

johnde...@gmail.com

unread,
Feb 14, 2017, 9:18:20 AM2/14/17
to HAPI FHIR, johnde...@gmail.com
I pulled the master code locally and a commented out the .war in the pom.xml so that I could trace the code.

Where / what is the code system? I'm searching using the ValueSet and I'm in the "BaseController.processAndAddLastClientInvocation" which is called from the Controller.actionSearch() but I'm not seeing what test "code system" is being used,

Is there a way to easily determine this?

Thank you!


On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

James Agnew

unread,
Feb 14, 2017, 9:38:51 AM2/14/17
to johnde...@gmail.com, HAPI FHIR
Hi John,

The terminology services are in the hapi-fhir-jpaserver-base module.

sent from my phone.

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

johnde...@gmail.com

unread,
Feb 14, 2017, 2:06:50 PM2/14/17
to HAPI FHIR, johnde...@gmail.com
Ok got it. Thank you!


On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

johnde...@gmail.com

unread,
Feb 15, 2017, 11:48:25 AM2/15/17
to HAPI FHIR, johnde...@gmail.com
I'm still not seeing it. 
Is the code using a test external code system? Where is the URL specifically being defined in the code?

Thank you!

On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

James Agnew

unread,
Feb 15, 2017, 12:28:28 PM2/15/17
to johnde...@gmail.com, HAPI FHIR
Hi John,

Perhaps you could elaborate on what you're looking to do? Are you hoping to set up and use HAPI as a terminology server? To build your own, or contribute to the codebase?

The HAPI terminology services are not specific to a single code system. You won't find any hard coded code systems in the core code because it is designed to work the same way for any code system.

CodeSystems are typically defined by uploading a CodeSystem resource which contains a set of codes and a CS URL.

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

johnde...@gmail.com

unread,
Feb 15, 2017, 12:40:47 PM2/15/17
to HAPI FHIR, johnde...@gmail.com
Yes, I'm hoping to setup and use HAPI as a terminology server.
I'll trying to meet the minimal requires as a proof of concept.

I have the hapi-fhir-jpaserver-example setup and running locally.
Using the ValueSet, this example allows the user to search by and term or ID for exmaple. What is it searching? Is there a test code system being used?




On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

James Agnew

unread,
Feb 15, 2017, 12:45:49 PM2/15/17
to johnde...@gmail.com, HAPI FHIR
Ok that makes sense.

So, one thing to be clear, the terminology service part of the JPA server module isn't designed to be usable separately from the rest of the module.

If you have the hapi-fhir-jpaserver-example up and running, that includes the terminology service. You can upload any CodeSystem and ValueSet resources you want into that server, and perform lookups, expansions, etc on them.

Cheers,
James

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.

johnde...@gmail.com

unread,
Feb 15, 2017, 1:20:54 PM2/15/17
to HAPI FHIR, johnde...@gmail.com
It's ok that the JPA server module isn't designed to be usable separately.  I'm just trying to set something up to see how it works.

Where are there instructions to upload a CodeSystem and ValueSet resources into the server?

If I have a code system that exposes it's data via web services, can I still have a compliant terminology server?
What I mean is, if I search for a ValueSet passing an ID (for example), the service layer would then call a web service (that I already have built and is being used in production) to access the data. 
The data would then be returned using the HAPI API to put it in the correct JSON format.


On Monday, February 6, 2017 at 10:27:01 AM UTC-5, johnde...@gmail.com wrote:

mcc...@gmail.com

unread,
Feb 20, 2017, 5:34:36 PM2/20/17
to HAPI FHIR, johnde...@gmail.com
If you already have services implemented that do the terminology stuff, then you likely do not want to use the HAPI JPA server. 
Rather, you can use the HAPI library to create a FHIR server of your own and you will register a ResourceProvider for the ValueSet FHIR resource (maybe some other terminology resources as well) and then you supply the implementation to fetch the data using your already-created web services. 

johnde...@gmail.com

unread,
Mar 2, 2017, 10:53:15 AM3/2/17
to HAPI FHIR, johnde...@gmail.com, mcc...@gmail.com
Thank you. Sorry, I didn't see your response until now.

Kevin Mayfield

unread,
Mar 2, 2017, 12:07:28 PM3/2/17
to johnde...@gmail.com, HAPI FHIR, mcc...@gmail.com
Would it be useful to add these to hapi product. I added my own valueset and concept map providers but stuck with Term* classes from Hapi. 

I used other tools (ssis) to load the data in

Kev

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.

To post to this group, send email to hapi...@googlegroups.com.
Message has been deleted

James Agnew

unread,
Mar 8, 2017, 2:47:39 PM3/8/17
to Kevin Mayfield, johnde...@gmail.com, HAPI FHIR, Craig McClendon
Sorry, to add what to the hapi product? :) This thread showed up in my inbox in a really weird order for some reason... I can't follow it.

Cheers,
James

To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.

To post to this group, send email to hapi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/8105a8b2-596c-47a9-a293-ee446460eea1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+unsubscribe@googlegroups.com.

To post to this group, send email to hapi...@googlegroups.com.

Kevin Mayfield

unread,
Mar 9, 2017, 3:41:20 AM3/9/17
to James Agnew, johnde...@gmail.com, HAPI FHIR, Craig McClendon
The JPA server uses uses the generic entity to store ValueSets, other terminology resources have their own entities. 

It would be useful if ValueSet followed suit. Most ValueSets I'm coming across are flat files and it would be easier for staff to use other tools to load and maintain data (e.g. SQL Integration Server). Others are coming from SNOMED reference sets and it looks like they would need custom processing.



Néstor Almeida

unread,
Apr 4, 2018, 11:05:58 AM4/4/18
to HAPI FHIR
So, if you only wants to set up a Terminology server you must use the JPA implementation of the HAPI-FHIR server? I would like to use the REST one if it is plausible.

Sumathi Reddy

unread,
Mar 4, 2019, 6:17:06 AM3/4/19
to HAPI FHIR
Hi James,
         iam getting this error while uploading Terminology to fhir server,fhir version is dstu3.

           Type 'org/hl7/fhir/r4/model/Money' (current frame, stack[1]) is not assignable to 'org/hl7/fhir/r4/model/Quantity'

            any idea regerding this error?


I would appreciate any help.

Thank you!
sumathi.
Reply all
Reply to author
Forward
0 new messages