Reference Implementation Server + Libraries for the FHIR Specification, written in Pascal
This is a set of FHIR applications written in Pascal. It is also the home of the pascal reference implementation for FHIR. Included in this project:
Also:
For binary releases of this content, see http://www.healthintersections.com.au/FhirServer
This project is maintained by the FHIR Project lead (Grahame Grieve). The server runs in multiple locations, including http://test.fhir.org, http://tx.fhir.org, and http://packages2.fhir.org
The license is standard BSD-3:
Copyright (c) 2011+, HL7, Inc and Health Intersections Pty Ltd All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
See https://chat.fhir.org/#narrow/stream/179281-pascal
In form, this a middleware tool to help applications exchange data via a repository. It also shows how to implement a generic FHIR server against an SQL database. The server is specifically written as an reference server - it implements all parts of the specification as defined, and is co-developed with the specification. It is not well optimised for hosting/supporting very large repositories efficiently.
The open source FHIR Server includes delphi/pascal implementations of:
FPC/Lazarus:
Delphi:
library: the pascal reference implementation with supporting code
exec: files needed by the server at run time
.github: ci-build setup
exec: files required at execution time, and target for the compiled applications (e.g. exec/64)
build: build scripts for windows and linux. Will install the entire pascal toolchain from scratch - see below
dependencies: external code that isn't in it's own repository (mainly for legacy reasons)
doco: documentation for the product (though most documentation lives in the healthintersections wiki)
fixtures: resources used for running the tests during the ci-build
install: install scripts for the windows versions of the applications (to be reviewed)
library: library code as described above
npp: FHIR Npp - being phased out
packages: lazarus packages for the libraries
resources: resources used in the test scripts
server: server code (including the server console)
testcases: more resources for test cases
toolkit: old toolkit being phased out
toolkit2: new toolkit under development
transformer: - being phased out
utilities: - misc other projects as listed above + java code generator for pascal code
See [build/readme.md] for further instructions for building the programs in this repository.
Also see [build/readme.md] for release information