Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
.settings/org.eclipse.wst.jsdt.ui.superType.container
.settings/org.eclipse.wst.jsdt.ui.superType.name
.idea
~$*.xlsx

/coverage
/spec/examples.txt
Expand Down
2 changes: 1 addition & 1 deletion lib/davinci_crd_test_kit/client_fhir_api_group.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class ClientFHIRAPIGroup < Inferno::TestGroup
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@64', 'hl7.fhir.us.davinci-crd_2.0.1@65',
'hl7.fhir.us.davinci-crd_2.0.1@66', 'hl7.fhir.us.davinci-crd_2.0.1@89',
'hl7.fhir.us.davinci-crd_2.0.1@92'
'hl7.fhir.us.davinci-crd_2.0.1@92', 'cds-hooks_2.0@174'

config(
inputs: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ class AppointmentBookReceiveRequestTest < Inferno::Test
config options: { accepts_multiple_requests: true }
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@171',
'hl7.fhir.us.davinci-crd_2.0.1@183', 'hl7.fhir.us.davinci-crd_2.0.1@243',
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245',
'cds-hooks_2.0@15'

input :cds_jwt_iss,
title: 'CRD JWT Issuer',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,14 @@ class ClientAppointmentBookGroup < Inferno::TestGroup
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71', 'hl7.fhir.us.davinci-crd_2.0.1@286'
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71',
'hl7.fhir.us.davinci-crd_2.0.1@177', 'hl7.fhir.us.davinci-crd_2.0.1@178',
'hl7.fhir.us.davinci-crd_2.0.1@179', 'hl7.fhir.us.davinci-crd_2.0.1@180',
'hl7.fhir.us.davinci-crd_2.0.1@286',
'cds-hooks-library_1.0.1@17', 'cds-hooks-library_1.0.1@18', 'cds-hooks-library_1.0.1@19',
'cds-hooks-library_1.0.1@21', 'cds-hooks-library_1.0.1@22', 'cds-hooks-library_1.0.1@23',
'cds-hooks-library_1.0.1@25', 'cds-hooks-library_1.0.1@26', 'cds-hooks-library_1.0.1@27',
'cds-hooks-library_1.0.1@29', 'cds-hooks-library_1.0.1@30', 'cds-hooks-library_1.0.1@31'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def format_selected_response_types
wait(
identifier:,
message: <<~MESSAGE
**Approval Workflow Test**:
**Card Display Attestation**:

I attest that the following CDS response types were returned and that the client system displays
each of the CDS Service Cards to the user:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,13 @@ class ClientEncounterDischargeGroup < Inferno::TestGroup
test from: :crd_token_payload
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@201', 'hl7.fhir.us.davinci-crd_2.0.1@202',
'hl7.fhir.us.davinci-crd_2.0.1@203',
'cds-hooks-library_1.0.1@45', 'cds-hooks-library_1.0.1@46', 'cds-hooks-library_1.0.1@47',
'cds-hooks-library_1.0.1@49', 'cds-hooks-library_1.0.1@50', 'cds-hooks-library_1.0.1@51',
'cds-hooks-library_1.0.1@53', 'cds-hooks-library_1.0.1@54', 'cds-hooks-library_1.0.1@55'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,13 @@ class ClientEncounterStartGroup < Inferno::TestGroup
test from: :crd_token_payload
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@192', 'hl7.fhir.us.davinci-crd_2.0.1@193',
'hl7.fhir.us.davinci-crd_2.0.1@194',
'cds-hooks-library_1.0.1@33', 'cds-hooks-library_1.0.1@34', 'cds-hooks-library_1.0.1@35',
'cds-hooks-library_1.0.1@37', 'cds-hooks-library_1.0.1@38', 'cds-hooks-library_1.0.1@39',
'cds-hooks-library_1.0.1@41', 'cds-hooks-library_1.0.1@42', 'cds-hooks-library_1.0.1@43'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ class ClientFHIRApiCreateTest < Inferno::Test
Verify that the CRD client supports the create interaction for the given resource. The capabilities required
by each resource can be found here: https://hl7.org/fhir/us/davinci-crd/CapabilityStatement-crd-client.html#resourcesSummary1
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@74'

input :create_resources,
type: 'textarea',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ class ClientFHIRApiUpdateTest < Inferno::Test
Verify that the CRD client supports the update interaction for the given resource. The capabilities required by
each resource can be found here: https://hl7.org/fhir/us/davinci-crd/CapabilityStatement-crd-client.html#resourcesSummary1
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@74'

input :update_resources,
type: 'textarea',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,18 @@ class ClientOrderDispatchGroup < Inferno::TestGroup
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@284', 'hl7.fhir.us.davinci-crd_2.0.1@285',
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@150',
'hl7.fhir.us.davinci-crd_2.0.1@284', 'hl7.fhir.us.davinci-crd_2.0.1@285',
'hl7.fhir.us.davinci-crd_2.0.1@286', 'hl7.fhir.us.davinci-crd_2.0.1@287',
'hl7.fhir.us.davinci-crd_2.0.1@288', 'hl7.fhir.us.davinci-crd_2.0.1@289',
'hl7.fhir.us.davinci-crd_2.0.1@290', 'hl7.fhir.us.davinci-crd_2.0.1@291',
'hl7.fhir.us.davinci-crd_2.0.1@292', 'hl7.fhir.us.davinci-crd_2.0.1@293',
'hl7.fhir.us.davinci-crd_2.0.1@294', 'hl7.fhir.us.davinci-crd_2.0.1@295'
'hl7.fhir.us.davinci-crd_2.0.1@294', 'hl7.fhir.us.davinci-crd_2.0.1@295',
'cds-hooks-library_1.0.1@57', 'cds-hooks-library_1.0.1@58', 'cds-hooks-library_1.0.1@59',
'cds-hooks-library_1.0.1@61', 'cds-hooks-library_1.0.1@62', 'cds-hooks-library_1.0.1@63',
'cds-hooks-library_1.0.1@65', 'cds-hooks-library_1.0.1@66', 'cds-hooks-library_1.0.1@67',
'cds-hooks-library_1.0.1@69', 'cds-hooks-library_1.0.1@70', 'cds-hooks-library_1.0.1@71',
'cds-hooks-library_1.0.1@72'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
Expand Down
21 changes: 14 additions & 7 deletions lib/davinci_crd_test_kit/client_tests/client_order_select_group.rb
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,20 @@ class ClientOrderSelectGroup < Inferno::TestGroup
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71', 'hl7.fhir.us.davinci-crd_2.0.1@284',
'hl7.fhir.us.davinci-crd_2.0.1@285', 'hl7.fhir.us.davinci-crd_2.0.1@286',
'hl7.fhir.us.davinci-crd_2.0.1@287', 'hl7.fhir.us.davinci-crd_2.0.1@288',
'hl7.fhir.us.davinci-crd_2.0.1@289', 'hl7.fhir.us.davinci-crd_2.0.1@290',
'hl7.fhir.us.davinci-crd_2.0.1@291', 'hl7.fhir.us.davinci-crd_2.0.1@292',
'hl7.fhir.us.davinci-crd_2.0.1@293', 'hl7.fhir.us.davinci-crd_2.0.1@294',
'hl7.fhir.us.davinci-crd_2.0.1@295'
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71', 'hl7.fhir.us.davinci-crd_2.0.1@150',
'hl7.fhir.us.davinci-crd_2.0.1@212', 'hl7.fhir.us.davinci-crd_2.0.1@213',
'hl7.fhir.us.davinci-crd_2.0.1@214', 'hl7.fhir.us.davinci-crd_2.0.1@215',
'hl7.fhir.us.davinci-crd_2.0.1@284', 'hl7.fhir.us.davinci-crd_2.0.1@285',
'hl7.fhir.us.davinci-crd_2.0.1@286', 'hl7.fhir.us.davinci-crd_2.0.1@287',
'hl7.fhir.us.davinci-crd_2.0.1@288', 'hl7.fhir.us.davinci-crd_2.0.1@289',
'hl7.fhir.us.davinci-crd_2.0.1@290', 'hl7.fhir.us.davinci-crd_2.0.1@291',
'hl7.fhir.us.davinci-crd_2.0.1@292', 'hl7.fhir.us.davinci-crd_2.0.1@293',
'hl7.fhir.us.davinci-crd_2.0.1@294', 'hl7.fhir.us.davinci-crd_2.0.1@295',
'cds-hooks-library_1.0.1@74', 'cds-hooks-library_1.0.1@75', 'cds-hooks-library_1.0.1@76',
'cds-hooks-library_1.0.1@78', 'cds-hooks-library_1.0.1@79', 'cds-hooks-library_1.0.1@80',
'cds-hooks-library_1.0.1@82', 'cds-hooks-library_1.0.1@83', 'cds-hooks-library_1.0.1@84',
'cds-hooks-library_1.0.1@86', 'cds-hooks-library_1.0.1@87', 'cds-hooks-library_1.0.1@88',
'cds-hooks-library_1.0.1@90', 'cds-hooks-library_1.0.1@91', 'cds-hooks-library_1.0.1@92'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
Expand Down
20 changes: 13 additions & 7 deletions lib/davinci_crd_test_kit/client_tests/client_order_sign_group.rb
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,19 @@ class ClientOrderSignGroup < Inferno::TestGroup
test from: :crd_hook_request_required_fields
test from: :crd_hook_request_optional_fields
test from: :crd_hook_request_valid_context do
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71', 'hl7.fhir.us.davinci-crd_2.0.1@284',
'hl7.fhir.us.davinci-crd_2.0.1@285', 'hl7.fhir.us.davinci-crd_2.0.1@286',
'hl7.fhir.us.davinci-crd_2.0.1@287', 'hl7.fhir.us.davinci-crd_2.0.1@288',
'hl7.fhir.us.davinci-crd_2.0.1@289', 'hl7.fhir.us.davinci-crd_2.0.1@290',
'hl7.fhir.us.davinci-crd_2.0.1@291', 'hl7.fhir.us.davinci-crd_2.0.1@292',
'hl7.fhir.us.davinci-crd_2.0.1@293', 'hl7.fhir.us.davinci-crd_2.0.1@294',
'hl7.fhir.us.davinci-crd_2.0.1@295'
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@71', 'hl7.fhir.us.davinci-crd_2.0.1@150',
'hl7.fhir.us.davinci-crd_2.0.1@220', 'hl7.fhir.us.davinci-crd_2.0.1@221',
'hl7.fhir.us.davinci-crd_2.0.1@222', 'hl7.fhir.us.davinci-crd_2.0.1@223',
'hl7.fhir.us.davinci-crd_2.0.1@284', 'hl7.fhir.us.davinci-crd_2.0.1@285',
'hl7.fhir.us.davinci-crd_2.0.1@286', 'hl7.fhir.us.davinci-crd_2.0.1@287',
'hl7.fhir.us.davinci-crd_2.0.1@288', 'hl7.fhir.us.davinci-crd_2.0.1@289',
'hl7.fhir.us.davinci-crd_2.0.1@290', 'hl7.fhir.us.davinci-crd_2.0.1@291',
'hl7.fhir.us.davinci-crd_2.0.1@292', 'hl7.fhir.us.davinci-crd_2.0.1@293',
'hl7.fhir.us.davinci-crd_2.0.1@294', 'hl7.fhir.us.davinci-crd_2.0.1@295',
'cds-hooks-library_1.0.1@1', 'cds-hooks-library_1.0.1@2', 'cds-hooks-library_1.0.1@3',
'cds-hooks-library_1.0.1@5', 'cds-hooks-library_1.0.1@6', 'cds-hooks-library_1.0.1@7',
'cds-hooks-library_1.0.1@9', 'cds-hooks-library_1.0.1@10', 'cds-hooks-library_1.0.1@11',
'cds-hooks-library_1.0.1@13', 'cds-hooks-library_1.0.1@14', 'cds-hooks-library_1.0.1@15'
end
test from: :crd_hook_request_valid_prefetch
test from: :crd_card_display_attest_test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ class CRDClientRegistrationVerification < Inferno::Test
During this test, Inferno will verify that the CRD Client registration details
provided are conformant.
)

verifies_requirements 'cds-hooks_2.0@174'

input :cds_jwt_iss,
title: 'CRD JWT Issuer',
description: %(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ class DecodeAuthTokenTest < Inferno::Test
include an Authorization header presenting the JWT as a "Bearer" token.
)

verifies_requirements 'cds-hooks_2.0@178'

output :auth_tokens, :auth_token_payloads_json, :auth_token_headers_json

def hook_name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ class EncounterDischargeReceiveRequestTest < Inferno::Test
hook requests and responds to the client with the response types selected as an input.
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@197', 'hl7.fhir.us.davinci-crd_2.0.1@243',
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245',
'cds-hooks_2.0@15'

config options: { accepts_multiple_requests: true }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ class EncounterStartReceiveRequestTest < Inferno::Test
hook requests and responds to the client with the response types selected as an input.
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@186', 'hl7.fhir.us.davinci-crd_2.0.1@243',
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245',
'cds-hooks_2.0@15'

config options: { accepts_multiple_requests: true }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ class HookRequestValidContextTest < Inferno::Test
The client must provide its FHIR server URL and access token in the hook request in order to run
this test.
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@254'

input :contexts, :client_fhir_server
input :client_access_token,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class HookRequestValidPrefetchTest < Inferno::Test
contained resource against its corresponding CRD resource profile. This test is optional and will be skipped if no
`prefetch` field is contained in the hook request.
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@43'
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@54', 'cds-hooks_2.0@30'
optional

input :contexts, :prefetches
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ class OrderDispatchReceiveRequestTest < Inferno::Test
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@205',
'hl7.fhir.us.davinci-crd_2.0.1@207', 'hl7.fhir.us.davinci-crd_2.0.1@243',
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245',
'cds-hooks_2.0@15'

config options: { accepts_multiple_requests: true }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ class OrderSelectReceiveRequestTest < Inferno::Test
hook requests and responds to the client with the response types selected as an input.
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@209', 'hl7.fhir.us.davinci-crd_2.0.1@243',
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@244', 'hl7.fhir.us.davinci-crd_2.0.1@245',
'cds-hooks_2.0@15'

config options: { accepts_multiple_requests: true }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class OrderSignReceiveRequestTest < Inferno::Test
)
verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@218', 'hl7.fhir.us.davinci-crd_2.0.1@225',
'hl7.fhir.us.davinci-crd_2.0.1@243', 'hl7.fhir.us.davinci-crd_2.0.1@244',
'hl7.fhir.us.davinci-crd_2.0.1@245'
'hl7.fhir.us.davinci-crd_2.0.1@245', 'cds-hooks_2.0@15'

config options: { accepts_multiple_requests: true }

Expand Down
2 changes: 2 additions & 0 deletions lib/davinci_crd_test_kit/client_tests/retrieve_jwks_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ class RetrieveJWKSTest < Inferno::Test
submit the jwk_set as an input to the test.
)

verifies_requirements 'cds-hooks_2.0@183', 'cds-hooks_2.0@185', 'cds-hooks_2.0@197', 'cds-hooks_2.0@199'

input :auth_token_headers_json
input :cds_jwk_set,
title: 'CRD JSON Web Key Set (JWKS)',
Expand Down
2 changes: 2 additions & 0 deletions lib/davinci_crd_test_kit/client_tests/token_header_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ class TokenHeaderTest < Inferno::Test
that the key used to sign the token can be identified in the JWKS.
)

verifies_requirements 'cds-hooks_2.0@182', 'cds-hooks_2.0@184', 'cds-hooks_2.0@202'

input :auth_token_headers_json, :crd_jwks_keys_json
output :auth_tokens_jwk_json

Expand Down
4 changes: 4 additions & 0 deletions lib/davinci_crd_test_kit/client_tests/token_payload_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ class TokenPayloadTest < Inferno::Test
- `jti` must be a non-blank string that uniquely identifies this authentication JWT
)

verifies_requirements 'cds-hooks_2.0@180', 'cds-hooks_2.0@181', 'cds-hooks_2.0@187', 'cds-hooks_2.0@189',
'cds-hooks_2.0@190', 'cds-hooks_2.0@191', 'cds-hooks_2.0@192', 'cds-hooks_2.0@196',
'cds-hooks_2.0@203'

REQUIRED_CLAIMS = ['iss', 'aud', 'exp', 'iat', 'jti'].freeze

def required_claims
Expand Down
11 changes: 11 additions & 0 deletions lib/davinci_crd_test_kit/crd_client_suite.rb
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,17 @@ class CRDClientSuite < Inferno::TestSuite
identifier: 'hl7.fhir.us.davinci-crd_2.0.1',
title: 'Da Vinci Coverage Requirements Discovery (CRD) v2.0.1',
actor: 'Client'
},
{
identifier: 'cds-hooks_2.0',
title: 'CDS Hooks',
actor: 'Client'
},
{
identifier: 'cds-hooks-library_1.0.1',
title: 'CDS Hooks Library',
actor: 'Client',
requirements: 'referenced'
}
)

Expand Down
Binary file not shown.
Binary file not shown.
Loading