lib/lifen/user.rb in lifen-2.4.0 vs lib/lifen/user.rb in lifen-3.0.0

- old
+ new

@@ -99,97 +99,19 @@ def client UserAuthenticatedClient.new(token) end - def fhir_payload - { reference: "Practitioner/#{uuid}" } - end - # def self.where(params) # json = application_client.get("fhir/Practitioner/", params) # users = [] # users << new(user_json) # users # end - def self.find_by_rpps(rpps) - json = application_client.get("fhir/Practitioner/?identifier=#{rpps}") - - - - raise "User not found" if Array(json["entry"]).size != 1 - - user_json = Array(json["entry"]).first.fetch("resource") { {} } - - user_json[:uuid] = user_json["id"] - - user = new(user_json) - - Array(user_json["telecom"]).each do |telecom_json| - user.channels << Lifen::Channel.from_json(telecom_json, "telecom") - end - - Array(user_json["address"]).each do |address_json| - user.channels << Lifen::Channel.from_json(address_json, "address") - end - - user - end - - def create_address(params) - filtered_params = {"resourceType" => "Practitioner"} - - address = { - "line": Array(params[:lines]), - "city": params[:city], - "postalCode": params[:postal_code], - "country": params[:country] - } - - filtered_params[params[:type]] = address - - json = application_client.post("fhir/Practitioner/#{uuid}/$add-address", filtered_params) - - channel = Channel.new(uuid: json["issue"][0]["id"], type: params[:type], value: "#{Array(params[:lines]).join(", ")}, #{params[:postal_code]} #{params[:city]}") - - self.channels << channel - - channel - end - - alias_method :create_channel, :create_address - - def self.from_json(json) - reference = json["reference"] - - uuid = reference.gsub("Practitioner/", "") - - new(uuid: uuid) - end - - def create_telecom(params) - filtered_params = {"resourceType" => "Practitioner"} - - telecom = { - "system": params[:system], - "value": params[:value] - } - - filtered_params[params[:type]] = telecom - - json = application_client.post("fhir/Practitioner/#{uuid}/$add-telecom", filtered_params) - - channel = Channel.new(uuid: json["issue"][0]["id"], type: params[:type], value: params[:value]) - - self.channels << channel - - channel - - end private def application_client @application_client ||= AppAuthenticatedClient.new