Sha256: 05e76733b679465df1eaecf5e3b4f1875d47f3f256041106f31ca4387a69b90a

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 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 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.resource_location
    "/api/pro/links"
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
caren-api-0.9.8 lib/caren/link.rb
caren-api-0.9.7 lib/caren/link.rb