fhirbase/fhirplace

Name: fhirplace

Owner: Fhirbase

Description: [DEPRECATED] Open-source FHIR server

Created: 2014-03-20 08:06:57.0

Updated: 2017-02-06 16:52:40.0

Pushed: 2016-02-17 10:19:13.0

Homepage:

Size: 9955

Language: Eagle

GitHub Committers

UserMost Recent Commit# Commits
Mike Lapshin2015-01-16 12:09:58.051
Danil Kutkevich2016-02-17 10:19:13.057
niquola2015-07-08 16:19:26.0137
Maksym2015-09-23 13:53:18.099
Alexandra Pavlyshina2014-11-19 13:52:49.03
serzh2014-04-28 07:25:44.054

Other Committers

UserEmailMost Recent Commit# Commits

README

[DEPRECATED] No longer being actively developed

FHIRplace

Build Status

FHIR Server implementation powered by FHIRBase.

Installation
Using Docker
er run --name=fhirbase -d fhirbase/fhirbase
er inspect fhirbase
nd ip address
er run --name=fhirplace -e 'FHIRPLACE_DBHOST=<fhirbase-ip>:5432' -t fhirbase/fhirplace
er inspect fhirplace
nd fhirplace ip address
 <fhirplace-ip>/metadata

FHIRplace and FHIRbase both are using a lot of third-party software like PostgreSQL, Java, Node.js, etc. Installing it by hand is a complex task which can take several working days to accomplish.

Fortunately, another approach is available nowadays. Instead of installing all required software manually, one can use virtualization technologies to run a “virtual machine” with already pre-configured operating system.

To quickly get FHIRplace up and running we advice you to follow virtualization path. If you're willing to install FHIRplace to your local machine or server, please follow full Installation Manual.

Running FHIRplace Virtual Machine
Mac OS X and Windows

If you're running Windows or Mac OS X, you have to install VirtualBox virtualization software. Installation process is quite straightforward, so we won't describe it here. If problems arise, refer to Official Installation Manual.

Linux

If you're running some flavor of Linux, make sure you have Docker installed:

cker --version # or docker.io --version

If docker binary is not present, install it using your distributive package manager, e.g. sudo apt-get install docker.io.

Installing Vagrant

Vagrant is a simple and powerful command-line utility to manage virtual machines primary intended for developers use. Navigate to downloads page to get an installer suitable for your OS. After installation is finished, run Terminal application (on Mac OS X) or Command Prompt (on Windows) to test if installation was successful. Type the following command:

ant --version

If you see an output like

ant 1.6.5

you have successfully installed Vagrant.

Getting FHIRplace source code

You have to get FHIRplace source code to run FHIRplace. If you have Git SCM installed, clone FHIRplace repository from GitHub. Alternatively, you can download ZIP archive and unpack it somewhere in your file system.

Starting VMs

Open Terminal (or Command Prompt) and navigate to directory where FHIRplace source code is located, e.g.:

/work/fhirplace

Then start FHIRplace VMs with command:

ant up fhirbase --provider=docker && vagrant up fhirplace --provider=docker

Initial VMs startup can take a lot of time because Vagrant have to download several OS images (about 1.5 Gb total) and unpack them. Next startups will be much faster (almost instant).

If Vagrant won't report any errors, direct your browser to http://localhost:3000/ and you'll see FHIRplace welcome page.

Stopping VMs

When you finish your work with FHIRplace, you may decide to stop running VMs to free system resources that they have allocated. This can be done with the following command:

ant halt fhirbase fhirplace
Accessing FHIRbase with pgAdmin

You can access FHIRbase directly using any PostgreSQL client like command-line psql utility or graphical pgAdmin. This section describes connection to FHIRbase with pgAdmin, actions in other clients are similar.

Run pgAdmin and click File -> Add server… menu. Enter the following connection parameters in the dialog window:

Parameter | Value ———-|———- Host | localhost Port | 5433 User | fhirbase Password | fhirbase

pgAdmin Connection Screenshot

Click “OK” and you will see new server appeared in the left sidebar.

pgAdmin Connection Screenshot

Double-click newly created server to connect to it. Then expand “Databases” subtree and double-click “fhirbase” database.

pgAdmin Connection Screenshot

Now you're connected to fhirbase database and ready to perform SQL queries. Let's try to create new Organization resource.

Click Tools -> Query tool menu and SQL editor window will appear.

pgAdmin Connection Screenshot

Copy-paste following SQL query:

CT fhir_create(
"base":"https://localhost:3000/"}'::jsonb,
rganization',
"resourceType":"Organization","text":{"status":"generated","div":"<div>\n      <p>XYZ Insurance</p>\n    </div>"},"identifier":[{"system":"urn:oid:2.16.840.1.113883.3.19.2.3","value":"666666"}],"name":"XYZ Insurance"}'::jsonb,
]'::jsonb

Press F5 or click Query -> Execute menu to run query. You should see result in “Output” pane:

pgAdmin Connection Screenshot

That means query was executed successfuly. Now let's try to find newly created Organization with FHIR search functionality. Copy-paste following query in editor window and execute it:

CT * FROM search(
rganization'::text,
ame=XYZ'

In “Output” pane you'll see Organization resource we inserted in previous step.

pgAdmin Connection Screenshot

Summarizing up, we connected to FHIRbase using pgAdmin and performed some queries to test if it's actually works. Please, refer to FHIRbase and PostgreSQL Documentation for further reading.

Service

All premium services from developers of FHIRbase projects should be requested from Choice Hospital Systems (http://Choice-HS.com)

License

Copyright © 2014 Health Samurai Team.

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.