Skip to content

gotidy/fhir-client

Repository files navigation

Golang FHIR Client

This repository contains a FHIR® R4 models for Go. The models consist of Go structs for each resource and data type. The structs are suitable for JSON encoding/decoding.

Features

  • resources implement the Marshaler interface
  • unmarshal functions are provided for every resource
  • enums are provided for every ValueSet used in a required binding, has a computer friendly name and refers only to one CodeSystem
  • enums implement Code(), Display() and Definition() methods

Usage

In your project, import github.com/gotidy/fhir-client/examples/app and you are done.

TODOs

  • Support Polymorphic Data Elements
  • Support ValueSets Referring to Multiple CodeSystems

Develop

This repository contains two Go modules, the generated models itself and the generator. Both modules use go generate to generate the FHIR models. For go generate to work, you have to install the generator first. To do that, run make gen-gen in the module root directory. After that, you can regenerate the FHIR Models under models by running make gen-models.

For client generation run make gen-client.

License

Copyright 2021

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.