Sha256: 11d6f7d9c589768ffc490b280f94cb7870d2cfad72a0ad2a9c57b42f37f80546

Contents?: true

Size: 1.57 KB

Versions: 10

Compression:

Stored size: 1.57 KB

Contents

class Caren::Link < Caren::Base

  def self.keys
    [:id,               # Integer (Caren id)
     :person_name,      # String (Caren person name)
     :care_provider_id, # Integer
     :person_id,        # String (Caren person id)
     :person_photo,     # String (url of photo)
     :patient_number,   # String (12345)
     :external_id,      # String (Your person id)
     :status,           # String (pending,confirmed,cancelled)
     :skip_letter,      # Boolean
     :letter            # Base64 encoded pdf file
    ] + super
  end

  def self.search key, value, session
    from_xml session.get( self.search_url(key,value) )
  end

  def self.find id, session
    from_xml session.get(self.resource_url(id))
  end

  def cancel session
    self.class.from_xml session.put(self.class.cancel_url(self.id), "")
  end

  def pdf session
    self.class.from_xml session.get(self.class.pdf_url(self.id))
  end

  def self.all session
    from_xml session.get(self.resource_url)
  end

  # Request to create a new link. Example:
  # Caren::Link.new( :patient_number => 1234 ).create
  def create session
    self.class.from_xml session.post(self.resource_url, self.to_xml)
  end

  def as_xml
    { :patient_number => self.patient_number,
      :external_id => self.external_id,
      :skip_letter => self.skip_letter }
  end

  def self.array_root
    :links
  end

  def self.node_root
    :link
  end

  def self.pdf_url id=nil
    "#{resource_location}/#{id}/pdf"
  end

  def self.cancel_url id=nil
    "#{resource_location}/#{id}/cancel"
  end

  def self.resource_location
    "/api/pro/links"
  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
caren-api-0.12.5 lib/caren/link.rb
caren-api-0.12.4 lib/caren/link.rb
caren-api-0.12.3 lib/caren/link.rb
caren-api-0.12.2 lib/caren/link.rb
caren-api-0.12.1 lib/caren/link.rb
caren-api-0.12.0 lib/caren/link.rb
caren-api-0.11.1 lib/caren/link.rb
caren-api-0.11.0 lib/caren/link.rb
caren-api-0.10.0 lib/caren/link.rb
caren-api-0.9.10 lib/caren/link.rb