taskGNU Health - Tasks: task #13118, FHIR integration


You are not allowed to post comments on this tracker with your current authentication level.

task #13118: FHIR integration

Submitter:  Luis Falcon <meanmicio>
Submitted:  Thu 06 Mar 2014 09:05:30 PM UTC
Should Start On:  Thu 06 Mar 2014 12:00:00 AM UTC Should be Finished on:  Sun 04 Dec 2016 12:00:00 AM UTC
Category:  Functionality Priority:  5 - Normal
Status:  In Progress Privacy:  Public
Assigned to:  teffalump Percent Complete:  80%
Open/Closed:  Open Release:  3.1.0
Module:  health_fhir Component:  None

Wed 11 May 2016 08:41:41 PM UTC, comment #5: 

An update on the FHIR work.

There are two issues that I'm trying to address:

1) A better interface for the tryton data models. Since there seems considerable interest in data from multiple sources -- devices, telemed, etc. -- we need a better common interface for the tryton data models.

2) Deprecating our fhir library(s). We don't have the resources (or desire) to maintain libraries against evolving standards. Furthermore, there are, finally, good 3rd-party libraries for fhir - seems an easy choice to me. Hehe.

The fhir server, currently, is mostly proof-of-concept code, rather than actually well designed. I probably should have spent some more designing, rather than jumping into the fhir standards, etc. Easy to see in hindsight, I suppose. Anyways, here are the goals:

- Write adapter classes for the data models.
    - This should be a general interface to the models using fhir-like resources.
    - I'm mostly separating code out from other classes, and updating it for the new standard.
        e.g., fhir-like data <---> ADAPTER <---> gnuhealth.patient

- Move as much code to the 3rd party fhir library.
    - Mostly this means removing a lot of code, and writing glue code.
        e.g., 3rd party fhir library <---> GLUE CODE <---> fhir-like data <---> adapter

The adapter classes are there as a general interface, not only for the fhir server. For example, handling device input to update a patient's current weight. However, currently, they don't work well separated from the fhir server, so I need to separate out the relevant code. The glue code will be tedious but hopefully I can adapt previous code.

Since I don't want to pollute the main repo, I'm using a github repo (for now): https://github.com/teffalump/fhir. Once I get reasonable stability and function, I'll merge the new code back into the main repo, host it separately, etc.


Chris Zimmerman <teffalump>
Mon 09 Feb 2015 06:32:22 AM UTC, comment #4: 

I've added FamilyHistory and Condition endpoints. I will add MedicationStatement and Immunization, which should cover the most important information on the HL7 FHIR server. I still want to include some sort of export functionality within GNU Health.

Chris Zimmerman <teffalump>
Sat 27 Dec 2014 12:38:00 AM UTC, comment #3: 

The Patient, DiagnosticReport, Observation, Procedure, and Practitioner have read, search, and validate interactions. Still working on best way to integrate with Health/Tryton.

Chris Zimmerman <teffalump>
Sun 24 Aug 2014 09:37:30 AM UTC, comment #2: 


Fantastic ! And to put more pressure, FHIR integration was the feature request most voted for 2.8 series :)

All the best

Luis Falcon <meanmicio>
Group administrator
Sat 23 Aug 2014 07:09:27 PM UTC, comment #1: 

Hehe, too much pressure! Been slacking recently, but hopefully can get that patient resource done soon-ish. =-)

Chris Zimmerman <teffalump>
Thu 06 Mar 2014 09:05:30 PM UTC, original submission:  

As mentioned in the mailing lists, we should have FHIR integration in GNU Health for the upcoming 2.6 version (est. july 6th)

Initially, the functionality should include :

- FHIR message server (other EMRs should be able to query GNU Health instance)
- Patient resource[2]
- Export patient information to save it on the patient health card.

I think that the best is to have a module per resource[1]. So

health_fhir : main general classes
health_fhir_patient : Patient demographics resource
health_fhir_immunization : Vaccine administration resource

I propose documenting it in a section of the GNU Health wikibook[3]

Thank you Emilien, Andrew and Alvin for your support and ideas on this since a while ago :)

Let's keep the discussion on the health-dev mailing list.


[1] http://www.hl7.org/implement/standards/fhir/resourcelist.html
[2] http://www.hl7.org/implement/standards/fhir/patient.html
[3] http://en.wikibooks.org/wiki/GNU_Health

Luis Falcon <meanmicio>
Group administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by teffalump (Posted a comment)
  • -email is unavailable- added by meanmicio (Submitted the item)

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.


    Follow 12 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-05-11 teffalump Should be Finished on2015-01-04 2016-12-04
        Release2.7.0 3.1.0
    2015-02-09 teffalump Percent Complete50% 80%
    2014-12-26 teffalump Percent Complete0% 50%
    2014-08-22 meanmicio Should be Finished on2014-07-06 2015-01-04
        Modulehealth_fihr health_fhir
    2014-08-22 meanmicio Assigned tomeanmicio teffalump
        Release2.5.0 2.7.0
    2014-03-07 meanmicio CategoryNone Functionality
        StatusNone In Progress
        Assigned toNone meanmicio
        ReleaseNone 2.5.0

    Back to the top

    Powered by Savane 3.13-0159.
    Corresponding source code