Skip to content

MikeRileyGTRI/GT-FHIR

 
 

Repository files navigation

GT-FHIR

This is the Georgia Tech FHIR Server. It is built on top of Hapi Fhir (v1.1) Fhir spec implementation. Currently the objects model is built in conformance to Fhir spec DSTU2 - some features in DSTU1 are not supported. For the Data Access Layer, this server uses a modified version of Hapi Fhir JpaServer-Base project, which is implemented to provided support for any database schema, so we can focus on the creation of Resources from the data on the databases.

Server Structure and Communication

gt-fhir-webapp

This project contains part of the business layer and the presentation layer, with the controller/servlets. It contains the providers for each resource and their DAO classes. It uses Spring framework, with CORS filter. The configuration files are found in the 'WEB-INF' folder. The providers are generated by using Tinder plugin and then modified to match the operations and search params provided by the server - which are defined in gt-fhir-entities project.

gt-fhir-entities-dstu2

This project contains the object model representing the schema for the database used by the server. The server is connected to a database which follows the Omop v4.0 specification for its basic tables - some extension tables are added in order to provide more information The model is built to represent the database schema. The relationship between the Entity Fields and its respective Fhir Resource Fields are expressed in the methods 'getRelatedResource' and 'constructEntityFromResource', or in the javadocs where applicable. Tables' names and columns' names are specified under javax.persistence annotations, as well any constraints. Javax Bean Validation annotations are specified as well.

gt-fhir-overlay

This overlay has a user interface - which follows the design of Hapi Fhir's Example interface, being our default client for Fhir server.

About

Georgia Tech FHIR Server

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 67.0%
  • CSS 13.2%
  • HTML 12.2%
  • JavaScript 7.4%
  • Shell 0.2%