module FHIR::ModelExtras::InstanceMethods

Public Instance Methods

client() click to toggle source
# File lib/fhir_client/ext/model.rb, line 11
def client
  @client || FHIR::Model.client
end
conditional_create(params) click to toggle source
# File lib/fhir_client/ext/model.rb, line 23
def conditional_create(params)
  handle_response client.conditional_create(self, params)
end
conditional_update(params) click to toggle source
# File lib/fhir_client/ext/model.rb, line 31
def conditional_update(params)
  handle_response client.conditional_update(self, id, params)
end
create() click to toggle source
# File lib/fhir_client/ext/model.rb, line 19
def create
  handle_response client.create(self)
end
destroy() click to toggle source
# File lib/fhir_client/ext/model.rb, line 35
def destroy
  handle_response client.destroy(self.class, id) unless id.nil?
  nil
end
resolve(reference) click to toggle source
# File lib/fhir_client/ext/model.rb, line 40
def resolve(reference)
  if reference.contained?
    contained.detect { |c| c.id == reference.id }
  else
    reference.read
  end
end
update() click to toggle source
# File lib/fhir_client/ext/model.rb, line 27
def update
  handle_response client.update(self, id)
end
vread(version_id) click to toggle source
# File lib/fhir_client/ext/model.rb, line 15
def vread(version_id)
  self.class.vread(id, version_id, client)
end

Private Instance Methods

handle_response(response) click to toggle source
# File lib/fhir_client/ext/model.rb, line 49
def handle_response(response)
  raise client.exception_class.new "Server returned #{response.code}.", response if response.code.between?(400, 599)
  response.resource
end