Module: DaVinciDTRTestKit::MockPayer
- Included in:
- FullEHRNextQuestionEndpoint, FullEHRQuestionnairePackageEndpoint, FullEHRV220NextQuestionEndpoint, FullEHRV220QuestionnairePackageEndpoint
- Defined in:
- lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb,
lib/davinci_dtr_test_kit/server/endpoints/next_question_proxy_endpoint.rb,
lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb,
lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb,
lib/davinci_dtr_test_kit/server/endpoints/questionnaire_package_proxy_endpoint.rb,
lib/davinci_dtr_test_kit/full_ehr/v2.0.1/full_ehr_questionnaire_package_endpoint.rb,
lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_questionnaire_package_endpoint.rb,
lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_next_question_endpoint.rb,
lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_questionnaire_package_endpoint.rb
Defined Under Namespace
Classes: FullEHRNextQuestionEndpoint, FullEHRQuestionnairePackageEndpoint, FullEHRV220NextQuestionEndpoint, FullEHRV220QuestionnairePackageEndpoint, NextQuestionProxyEndpoint, ParseError, QuestionnairePackageProxyEndpoint, SMARTAppNextQuestionEndpoint, SMARTAppQuestionnairePackageEndpoint
Instance Method Summary
collapse
Instance Method Details
#build_outcome_param(issues) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb', line 25
def build_outcome_param(issues)
FHIR::Parameters::Parameter.new(
name: 'Outcome',
resource: FHIR::OperationOutcome.new(issue: issues)
)
end
|
#find_questionnaire_response(input_parameters) ⇒ Object
15
16
17
18
19
20
21
22
23
|
# File 'lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb', line 15
def find_questionnaire_response(input_parameters)
questionnaire_response_param = input_parameters.try(&:parameter)&.find do |param|
param.name == 'questionnaire-response'
end
return questionnaire_response_param if questionnaire_response_param
operation_outcome('error', 'business-rule',
'Input parameter does not have a `parameter:questionnaire-response` slice.')
end
|
#operation_outcome(severity, code, text = nil) ⇒ Object
32
33
34
|
# File 'lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb', line 32
def operation_outcome(severity, code, text = nil)
FHIR::OperationOutcome.new(issue: outcome_issue(severity, code, text))
end
|
#outcome_issue(severity, code, text = nil) ⇒ Object
36
37
38
39
40
|
# File 'lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb', line 36
def outcome_issue(severity, code, text = nil)
FHIR::OperationOutcome::Issue.new(severity:, code:).tap do |issue|
issue.details = FHIR::CodeableConcept.new(text:) if text.present?
end
end
|
#parse_fhir_object(str, entity: 'Request') ⇒ Object
5
6
7
8
9
10
11
12
13
|
# File 'lib/davinci_dtr_test_kit/full_ehr/endpoints/mock_payer.rb', line 5
def parse_fhir_object(str, entity: 'Request')
FHIR.from_contents(str).tap do |result|
raise ParseError, "#{entity} does not contain a valid FHIR resource." if result.nil?
end
rescue ParseError
raise
rescue StandardError
raise ParseError, "#{entity} does not contain valid JSON."
end
|