Class: SatusehatClient::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/satusehat_client/client.rb

Instance Method Summary collapse

Constructor Details

#initializeClient

Returns a new instance of Client.



5
6
7
# File 'lib/satusehat_client/client.rb', line 5

def initialize
  @connection = Connection.build
end

Instance Method Details

#find_encounter_by_subject_and_identifier(subject, identifier_value) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/satusehat_client/client.rb', line 18

def find_encounter_by_subject_and_identifier(subject, identifier_value)

  # subject is patient SATUSEHAT ID, ex. P009083xx13x
  # identifier_value from SATUSEHAT
  response = @connection.get("Encounter?subject="+subject)
  if response.status == 200
    data_parse = JSON.parse(response.body)
    if data_parse.count > 0
      filter_data = data_parse["entry"].select { |dt| dt["resource"]["identifier"] != nil}
      response = filter_data.select { |dt| dt["resource"]["identifier"][0]["value"] == identifier_value}
    end
  end

  return response
end

GET DATA ORGANIZATION WITH ID



45
46
47
48
49
50
51
52
# File 'lib/satusehat_client/client.rb', line 45

def find_related_organizations(id_organization)

  response = @connection.get('Organization') do |req|
    req.params["partof"] = id_organization
  end

  return response
end

#find_service_request_by_id(id) ⇒ Object

GET DATA SERVICE REQUEST BY ID



55
56
57
58
59
60
61
# File 'lib/satusehat_client/client.rb', line 55

def find_service_request_by_id(id)

  response = @connection.get("ServiceRequest/#{id}")
  binding.break
  return response

end

#imaging_study_by_patient_id(patient_id) ⇒ Object

GET DATA IMAGING STUDY BY



74
75
76
77
78
79
80
81
# File 'lib/satusehat_client/client.rb', line 74

def imaging_study_by_patient_id(patient_id)

  response = @connection.get("ImagingStudy") do |req|
    req.params["subject"] = patient_id
  end

  return response
end

#search_patient_service_requests(subject, identifier_value, identifier_accs_number) ⇒ Object

GET DATA SERVICE REQUEST BY PATIENT ID



64
65
66
67
68
69
70
71
# File 'lib/satusehat_client/client.rb', line 64

def search_patient_service_requests(subject, identifier_value, identifier_accs_number)

  response = @connection.get("ServiceRequest") do |req|
    req.params["subject"] = patient_id
  end

  return response
end

#submit_encounter(format_data) ⇒ Object

SEND ENCOUNTER



10
11
12
13
14
15
16
# File 'lib/satusehat_client/client.rb', line 10

def submit_encounter(format_data)
  response = @connection.post('Encounter') do |req|
    req.body = format_data
  end

  return response
end

#submit_service_request(format_data) ⇒ Object

SEND DATA SERVICE REQUEST



36
37
38
39
40
41
42
# File 'lib/satusehat_client/client.rb', line 36

def submit_service_request(format_data)
  response = @connection.post('ServiceRequest') do |req|
    req.body = format_data
  end

  return response
end