A Ruby implementation of the Orthanc DICOM server REST API
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



A Ruby implementation of the Orthanc DICOM server v0.8.6 REST API

Alpha!! Not ready for production. Anything may change, including resource nesting and naming schemes.

###Attention: The gem now implements the orthanc resources as multilevel methods, to make it more Ruby-like

(This is my first API client gem, experienced help or advice would be most appreciated) :)


NOTE: If you need an instance of Orthanc to test against, you can build a ready-to-use Orthanc server VM with the orthanc-vagrant project.

Add this line to your application's Gemfile:

gem 'orthanc'

And then execute:

$ bundle

Or install it yourself as:

$ gem install orthanc


The gem tries to follow the Orthanc API naming scheme as closely as possible, converting methods and response items to snake case to make the experience more ruby-like.

api=Orthanc::Client.new("localhost", "8042")
api.patients # All patients as instances for method chaining
api.patients_list # Patient array, from Orthanc response
pat = api.patients.first # First patient (instance)

pat.shared_tags(simplify:true) # Patient's shared tags (simplified)

api.system.database_version => 5
api.statistics.count_studies => 14

You get the picture.

You can see what Orthanc API resources have been mapped in the gem, and their status here

Basic documentation can be found in here


  • Methods that return a file should be handled by ruby
  • Test attachments (not sure how they are implemented in Orthanc)
  • Handle network errors, return false if 500 Server error? (eg. echo)
  • Test peers
  • Write automated tests


  1. Fork it ( https://github.com/[my-github-username]/orthanc/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request


MIT License