Class: DaVinciDTRTestKit::MockPayer::FullEHRNextQuestionEndpoint
- Inherits:
-
Inferno::DSL::SuiteEndpoint
- Object
- Inferno::DSL::SuiteEndpoint
- DaVinciDTRTestKit::MockPayer::FullEHRNextQuestionEndpoint
show all
- Includes:
- DaVinciDTRTestKit::MockPayer
- Defined in:
- lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb
Instance Method Summary
collapse
#build_outcome_param, #find_questionnaire_response, #operation_outcome, #outcome_issue, #parse_fhir_object
Instance Method Details
#complete_questionnaire? ⇒ Boolean
50
51
52
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 50
def complete_questionnaire?
custom_questionnaires && next_custom_questionnaire.blank?
end
|
#custom_next_question_requests ⇒ Object
31
32
33
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 31
def custom_next_question_requests
requests_repo.tagged_requests(test_run.test_session_id, ["custom_#{DaVinciDTRTestKit::CLIENT_NEXT_TAG}"])
end
|
#custom_questionnaires ⇒ Object
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 35
def custom_questionnaires
return @custom_questionnaires unless @custom_questionnaires.nil?
questionnaires = JSON.parse(result.input_json)
.find { |input| input['name'].include?('custom_next_question_questionnaires') }
&.dig('value')
return unless questionnaires
@custom_questionnaires = [JSON.parse(questionnaires)].flatten.compact
end
|
#make_response ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 22
def make_response
return if response.status == 401
response.status = 200
response.format = 'application/fhir+json'
response.['Access-Control-Allow-Origin'] = '*'
response.body = build_questionnaire_next_response.to_json
end
|
#next_custom_questionnaire ⇒ Object
46
47
48
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 46
def next_custom_questionnaire
custom_questionnaires[custom_next_question_requests.length]
end
|
18
19
20
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 18
def tags
[test.config.options[:next_tag]]
end
|
#test_run_identifier ⇒ Object
10
11
12
13
14
15
16
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 10
def test_run_identifier
return request.params[:session_path] if request.params[:session_path].present?
UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
request.['authorization']&.delete_prefix('Bearer ')
)
end
|
#update_result ⇒ Object
54
55
56
57
58
59
60
61
|
# File 'lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb', line 54
def update_result
if UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token')
return
end
results_repo.update_result(result.id, 'pass') unless test.config.options[:accepts_multiple_requests]
end
|