class Crucible::Tests::ConnectathonFetchPatientRecordTest
Public Class Methods
new(client1, client2=nil)
click to toggle source
Calls superclass method
Crucible::Tests::BaseTest::new
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 13 def initialize(client1, client2=nil) super(client1, client2) @tags.append('connectathon') @category = {id: 'connectathon', title: 'Connectathon'} end
Public Instance Methods
create_patient_record()
click to toggle source
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 316 def create_patient_record @ids_count = { 'FHIR::Organization' => [], 'FHIR::Practitioner' => [], 'FHIR::Patient' => [], 'FHIR::Condition' => [], 'FHIR::Observation' => [], 'FHIR::DiagnosticReport' => [], 'FHIR::Encounter' => [], 'FHIR::Procedure' => [] } @organization_1.id = nil @org1_reply = @client.create @organization_1 @org1_id = @org1_reply.id @organization_1.id = @org1_id @ids_count[FHIR::Organization.to_s] << @org1_id assert_response_ok(@org1_reply) @organization_2.id = nil @org2_reply = @client.create @organization_2 @org2_id = @org2_reply.id @organization_2.id = @org2_id @ids_count[FHIR::Organization.to_s] << @org2_id assert_response_ok(@org2_reply) @practitioner.id = nil @practitioner.role[0].organization.reference = "Organization/#{@org1_id}" @prac_reply = @client.create @practitioner @prac_id = @prac_reply.id @practitioner.id = @prac_id @ids_count[FHIR::Practitioner.to_s] << @prac_id assert_response_ok(@prac_reply) @patient.id = nil @patient.generalPractitioner = [ FHIR::Reference.new ] @patient.generalPractitioner[0].reference= "Practitioner/#{@prac_id}" @patient.managingOrganization.reference = "Organization/#{@org1_id}" @pat_reply = @client.create @patient @patient_id = @pat_reply.id @patient.id = @patient_id @ids_count[FHIR::Patient.to_s] << @patient_id assert_response_ok(@pat_reply) @condition_2.id = nil @condition_2.subject.reference = "Patient/#{@patient_id}" @condition_2.asserter.reference = "Practitioner/#{@prac_id}" @cond2_reply = @client.create @condition_2 @cond2_id = @cond2_reply.id @condition_2.id = @cond2_id @ids_count[FHIR::Condition.to_s] << @cond2_id assert_response_ok(@cond2_reply) @observation.id = nil @observation.subject.reference = "Patient/#{@patient_id}" @observation.performer[0].reference = "Practitioner/#{@prac_id}" @obs_reply = @client.create @observation @obs_id = @obs_reply.id @observation.id = @obs_id @ids_count[FHIR::Observation.to_s] << @obs_id assert_response_ok(@obs_reply) @diagnosticreport.id = nil @diagnosticreport.subject.reference = "Patient/#{@patient_id}" @diagnosticreport.performer[0].reference = "Organization/#{@org2_id}" @dr_reply = @client.create @diagnosticreport @dr_id = @dr_reply.id @diagnosticreport.id = @dr_id @ids_count[FHIR::DiagnosticReport.to_s] << @dr_id assert_response_ok(@dr_reply) @encounter_1.id = nil @encounter_1.patient.reference = "Patient/#{@patient_id}" @encounter_1.participant[0].individual.reference = "Practitioner/#{@prac_id}" @encounter_1.serviceProvider.reference = "Organization/#{@org1_id}" @enc1_reply = @client.create @encounter_1 @enc1_id = @enc1_reply.id @encounter_1.id = @enc1_id @ids_count[FHIR::Encounter.to_s] << @enc1_id assert_response_ok(@enc1_reply) @encounter_2.id = nil @encounter_2.patient.reference = "Patient/#{@patient_id}" @encounter_2.participant[0].individual.reference = "Practitioner/#{@prac_id}" @encounter_2.serviceProvider.reference = "Organization/#{@org1_id}" @encounter_2.indication[0].reference = nil @enc2_reply = @client.create @encounter_2 @enc2_id = @enc2_reply.id @encounter_2.id = @enc2_id @ids_count[FHIR::Encounter.to_s] << @enc2_id assert_response_ok(@enc2_reply) @procedure.id = nil @procedure.subject.reference = "Patient/#{@patient_id}" # @procedure.report[0].reference = "DiagnosticReport/#{@dr_id}" @procedure.performer[0].actor.reference = "Practitioner/#{@prac_id}" @procedure.encounter.reference = "Encounter/#{@enc2_id}" @prc_reply = @client.create @procedure @prc_id = @prc_reply.id @procedure.id = @prc_id @ids_count[FHIR::Procedure.to_s] << @prc_id assert_response_ok(@prc_reply) # @encounter_2.indication = [ FHIR::Reference.new ] @encounter_2.indication[0].reference = "Procedure/#{@prc_id}" @enc2_reply = @client.update @encounter_2, @enc2_id assert_response_ok(@enc2_reply) @condition_1.id = nil @condition_1.subject.reference = "Patient/#{@patient_id}" @condition_1.context.reference = "Encounter/#{@enc1_id}" @condition_1.asserter.reference = "Practitioner/#{@prac_id}" @condition_1.evidence[0].detail[0].reference = "Observation/#{@obs_id}" ref = FHIR::Reference.new ref.reference = "Procedure/#{@prc_id}" @condition_1.evidence[0].detail << ref ref = FHIR::Reference.new ref.reference = "Condition/#{@cond2_id}" @condition_1.evidence[0].detail << ref @cond1_reply = @client.create @condition_1 @cond1_id = @cond1_reply.id @condition_1.id = @cond1_id @ids_count[FHIR::Condition.to_s] << @cond1_id assert_response_ok(@cond1_reply) end
description()
click to toggle source
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 9 def description 'Connectathon Fetch Patient Record Tests focusing on the $everything operation.' end
id()
click to toggle source
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 5 def id 'ConnectathonFetchPatientRecordTest' end
setup()
click to toggle source
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 19 def setup @resources = Crucible::Generator::Resources.new @patient = @resources.example_patient_record_201 @condition_1 = @resources.example_patient_record_condition_201 @condition_2 = @resources.example_patient_record_condition_205 @diagnosticreport = @resources.example_patient_record_diagnosticreport_201 @encounter_1 = @resources.example_patient_record_encounter_201 @encounter_2 = @resources.example_patient_record_encounter_202 @observation = @resources.example_patient_record_observation_202 @organization_1 = @resources.example_patient_record_organization_201 @organization_2 = @resources.example_patient_record_organization_203 @practitioner = @resources.example_patient_record_practitioner_201 @procedure = @resources.example_patient_record_procedure_201 @patient_ids = [] @created_patient_record = false begin create_patient_record @created_patient_record = true rescue Exception => e @created_patient_record = false end end
teardown()
click to toggle source
# File lib/tests/suites/connectathon_fetch_patient_record.rb, line 42 def teardown @client.destroy(FHIR::Condition, @cond1_reply.id) if !@cond1_id.nil? @client.destroy(FHIR::Procedure, @prc_reply.id) if !@prc_id.nil? @client.destroy(FHIR::Encounter, @enc2_reply.id) if !@enc2_id.nil? @client.destroy(FHIR::Encounter, @enc1_reply.id) if !@enc1_id.nil? @client.destroy(FHIR::DiagnosticReport, @dr_reply.id) if !@dr_id.nil? @client.destroy(FHIR::Observation, @obs_reply.id) if !@obs_id.nil? @client.destroy(FHIR::Condition, @cond2_reply.id) if !@cond2_id.nil? @client.destroy(FHIR::Patient, @pat_reply.id) if !@patient_id.nil? @patient_ids.each do |id| @client.destroy(FHIR::Patient, id) end @client.destroy(FHIR::Practitioner, @prac_reply.id) if !@prac_id.nil? @client.destroy(FHIR::Organization, @org2_reply.id) if !@org2_id.nil? @client.destroy(FHIR::Organization, @org1_reply.id) if !@org1_id.nil? end