Orthanc-ruby
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) :)
Installation
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
Usage
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
Backlog
- 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
Contributing
- Fork it ( https://github.com/[my-github-username]/orthanc/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
MIT License