Class: SatusehatClient::Client
- Inherits:
-
Object
- Object
- SatusehatClient::Client
- Defined in:
- lib/satusehat_client/client.rb
Instance Method Summary collapse
- #find_encounter_by_subject_and_identifier(subject, identifier_value) ⇒ Object
-
#find_related_organizations(id_organization) ⇒ Object
GET DATA ORGANIZATION WITH ID.
-
#find_service_request_by_id(id) ⇒ Object
GET DATA SERVICE REQUEST BY ID.
-
#imaging_study_by_patient_id(patient_id) ⇒ Object
GET DATA IMAGING STUDY BY.
-
#initialize ⇒ Client
constructor
A new instance of Client.
-
#search_patient_service_requests(subject, identifier_value, identifier_accs_number) ⇒ Object
GET DATA SERVICE REQUEST BY PATIENT ID.
-
#submit_encounter(format_data) ⇒ Object
SEND ENCOUNTER.
-
#submit_service_request(format_data) ⇒ Object
SEND DATA SERVICE REQUEST.
Constructor Details
#initialize ⇒ Client
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 |
#find_related_organizations(id_organization) ⇒ Object
GET DATA ORGANIZATION WITH ID
45 46 47 48 49 50 51 52 |
# File 'lib/satusehat_client/client.rb', line 45 def (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 |