Class: DaVinciDTRTestKit::DTRPayerServerV220::InteractionTest

Inherits:
Inferno::Test
  • Object
show all
Includes:
ClientSimulation
Defined in:
lib/davinci_dtr_test_kit/server/v2.2.0/interaction_test.rb

Instance Method Summary collapse

Methods included from ClientSimulation

#questionnaire_interaction

Instance Method Details

#extract_fhir_parameters(questionnaire_package_request_parameters) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/davinci_dtr_test_kit/server/v2.2.0/interaction_test.rb', line 63

def extract_fhir_parameters(questionnaire_package_request_parameters)
  parameters_list = Array.wrap(parsed_json_if_valid(questionnaire_package_request_parameters,
                                                    'Provided well-formed $questionnaire-package bodies.',
                                                    continue: false))
  parameters_list.map.with_index do |entry, index|
    if entry['resourceType'] == 'Parameters'
      FHIR::Parameters.new(entry)
    else
      add_message('warning', "skipping **$questionnaire-package Parameters** input entry #{index + 1}: " \
                             'not a FHIR Parameters resource')
      nil
    end
  end.compact
end

#extract_fhir_questionnaire_response_templates(questionnaire_response_templates) ⇒ Object



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/davinci_dtr_test_kit/server/v2.2.0/interaction_test.rb', line 78

def extract_fhir_questionnaire_response_templates(questionnaire_response_templates)
  return nil unless questionnaire_response_templates.present?

  questionnaire_response_list =
    Array.wrap(parsed_json_if_valid(questionnaire_response_templates,
                                    'Provided well-formed QuestionnaireResponse templates.',
                                    continue: false))
  questionnaire_response_list.map.with_index do |entry, index|
    if entry['resourceType'] == 'QuestionnaireResponse'
      FHIR::QuestionnaireResponse.new(entry)
    else
      add_message('warning', 'skipping **QuestionnaireResponse Templates for $next-question requests** ' \
                             "input entry #{index + 1}: not a FHIR QuestionnaireResponse resource")
      nil
    end
  end.compact
end