us_core_test_kit 0.7.0 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/us_core_test_kit/custom_groups/base_smart_granular_scopes_group.rb +2 -1
- data/lib/us_core_test_kit/custom_groups/capability_statement/instantiate_test.rb +6 -2
- data/lib/us_core_test_kit/custom_groups/capability_statement/profile_support_test.rb +10 -7
- data/lib/us_core_test_kit/custom_groups/screening_assessment_category_test.rb +75 -0
- data/lib/us_core_test_kit/custom_groups/smart_scopes_constants.rb +6 -4
- data/lib/us_core_test_kit/custom_groups/v6.1.0/screening_assessment_group.rb +45 -0
- data/lib/us_core_test_kit/custom_groups/v6.1.0/smart_granular_scopes_group.rb +46 -93
- data/lib/us_core_test_kit/custom_groups/v7.0.0-ballot/screening_assessment_group.rb +48 -0
- data/lib/us_core_test_kit/fhir_resource_navigation.rb +11 -6
- data/lib/us_core_test_kit/generated/v6.1.0/condition_encounter_diagnosis/metadata.yml +22 -20
- data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope1_group.rb +22 -21
- data/lib/us_core_test_kit/generated/v6.1.0/condition_granular_scope2_group.rb +44 -0
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/condition_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_abatement_date_granular_scope_test.rb → condition_patient_abatement_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_asserted_date_granular_scope_test.rb → condition_patient_asserted_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_category_clinical_status_granular_scope_test.rb → condition_patient_category_clinical_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_category_encounter_granular_scope_test.rb → condition_patient_category_encounter_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_category_granular_scope_test.rb → condition_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_clinical_status_granular_scope_test.rb → condition_patient_clinical_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_code_granular_scope_test.rb → condition_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_granular_scope_test.rb → condition_patient_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_onset_date_granular_scope_test.rb → condition_patient_onset_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/{condition_patient_recorded_date_granular_scope_test.rb → condition_patient_recorded_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/condition/metadata.yml +24 -22
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/metadata.yml +14 -12
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/observation_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/{observation_patient_category_date_granular_scope_test.rb → observation_patient_category_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/{observation_patient_category_granular_scope_test.rb → observation_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/{observation_patient_category_status_granular_scope_test.rb → observation_patient_category_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/{observation_patient_code_date_granular_scope_test.rb → observation_patient_code_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scope_tests/observation/{observation_patient_code_granular_scope_test.rb → observation_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scopes1_group.rb +0 -4
- data/lib/us_core_test_kit/generated/v6.1.0/granular_scopes2_group.rb +51 -0
- data/lib/us_core_test_kit/generated/v6.1.0/metadata.yml +40 -30
- data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope1_group.rb +12 -13
- data/lib/us_core_test_kit/generated/v6.1.0/observation_granular_scope2_group.rb +36 -0
- data/lib/us_core_test_kit/generated/v6.1.0/observation_lab/metadata.yml +12 -10
- data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +3 -1
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/condition_encounter_diagnosis/metadata.yml +22 -20
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/condition_granular_scope1_group.rb +22 -20
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/condition_granular_scope2_group.rb +22 -20
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/diagnostic_report_granular_scope1_group.rb +14 -12
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/diagnostic_report_granular_scope2_group.rb +14 -12
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/diagnostic_report_note/metadata.yml +14 -12
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/document_reference/metadata.yml +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/document_reference_granular_scope1_group.rb +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/condition_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_abatement_date_granular_scope_test.rb → condition_patient_abatement_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_asserted_date_granular_scope_test.rb → condition_patient_asserted_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_category_clinical_status_granular_scope_test.rb → condition_patient_category_clinical_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_category_encounter_granular_scope_test.rb → condition_patient_category_encounter_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_category_granular_scope_test.rb → condition_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_clinical_status_granular_scope_test.rb → condition_patient_clinical_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_code_granular_scope_test.rb → condition_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_granular_scope_test.rb → condition_patient_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_onset_date_granular_scope_test.rb → condition_patient_onset_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/{condition_patient_recorded_date_granular_scope_test.rb → condition_patient_recorded_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/condition/metadata.yml +22 -20
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/diagnostic_report_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_category_date_granular_scope_test.rb → diagnostic_report_patient_category_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_category_granular_scope_test.rb → diagnostic_report_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_code_date_granular_scope_test.rb → diagnostic_report_patient_code_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_code_granular_scope_test.rb → diagnostic_report_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_granular_scope_test.rb → diagnostic_report_patient_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/{diagnostic_report_patient_status_granular_scope_test.rb → diagnostic_report_patient_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/diagnostic_report/metadata.yml +14 -12
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/document_reference_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_id_granular_scope_test.rb → document_reference_id_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_category_date_granular_scope_test.rb → document_reference_patient_category_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_category_granular_scope_test.rb → document_reference_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_granular_scope_test.rb → document_reference_patient_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_status_granular_scope_test.rb → document_reference_patient_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_type_granular_scope_test.rb → document_reference_patient_type_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/{document_reference_patient_type_period_granular_scope_test.rb → document_reference_patient_type_period_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/document_reference/metadata.yml +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/metadata.yml +12 -10
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/observation_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/{observation_patient_category_date_granular_scope_test.rb → observation_patient_category_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/{observation_patient_category_granular_scope_test.rb → observation_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/{observation_patient_category_status_granular_scope_test.rb → observation_patient_category_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/{observation_patient_code_date_granular_scope_test.rb → observation_patient_code_date_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/observation/{observation_patient_code_granular_scope_test.rb → observation_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/metadata.yml +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/service_request_granular_scope_read_test.rb +32 -0
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_id_granular_scope_test.rb → service_request_id_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_category_authored_granular_scope_test.rb → service_request_patient_category_authored_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_category_granular_scope_test.rb → service_request_patient_category_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_code_authored_granular_scope_test.rb → service_request_patient_code_authored_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_code_granular_scope_test.rb → service_request_patient_code_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_granular_scope_test.rb → service_request_patient_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/granular_scope_tests/service_request/{service_request_patient_status_granular_scope_test.rb → service_request_patient_status_granular_scope_search_test.rb} +5 -5
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/metadata.yml +80 -70
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/observation_granular_scope1_group.rb +12 -10
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/observation_granular_scope2_group.rb +12 -10
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/observation_lab/metadata.yml +12 -10
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/service_request/metadata.yml +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/service_request_granular_scope1_group.rb +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/service_request_granular_scope2_group.rb +16 -14
- data/lib/us_core_test_kit/generated/v7.0.0-ballot/us_core_test_suite.rb +3 -1
- data/lib/us_core_test_kit/generator/granular_scope_group_generator.rb +0 -7
- data/lib/us_core_test_kit/generator/granular_scope_read_test_generator.rb +102 -0
- data/lib/us_core_test_kit/generator/granular_scope_resource_type_group_generator.rb +1 -1
- data/lib/us_core_test_kit/generator/granular_scope_test_generator.rb +4 -4
- data/lib/us_core_test_kit/generator/suite_generator.rb +9 -1
- data/lib/us_core_test_kit/generator.rb +2 -0
- data/lib/us_core_test_kit/granular_scope.rb +63 -0
- data/lib/us_core_test_kit/granular_scope_read_test.rb +71 -0
- data/lib/us_core_test_kit/{granular_scope_checker.rb → granular_scope_search_test.rb} +8 -47
- data/lib/us_core_test_kit/must_support_test.rb +3 -2
- data/lib/us_core_test_kit/primitive_type.rb +5 -0
- data/lib/us_core_test_kit/provenance_validator.rb +3 -4
- data/lib/us_core_test_kit/resource_search_param_checker.rb +139 -0
- data/lib/us_core_test_kit/search_test.rb +6 -2
- data/lib/us_core_test_kit/version.rb +1 -1
- metadata +73 -55
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cc3ca68e2a7b8f7609f1eaf4f983afd2813252e706a65f096733412d3aa4e118
|
|
4
|
+
data.tar.gz: 3458eaaeb4d904b728b16f92524da58598d1d84d12b82458614d014d8959efcc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0b8df109a82023aa02b8eeadfd4a024cd41e1b00570c6d7e3aa55e68d910ac17031874e62bed5f8a09392f5b6b70cc594a6a60ec47b1c1c34620f71c526f2d2f
|
|
7
|
+
data.tar.gz: 87e2ed36f19a5a5815d13c64f74afa0b8c3824fa751fb52b5b013bf9f0449b3d2d47bf36e8d9bd26341e6cd25a8731a27d7f8a1b5fe38ce21c250a02187ab37b
|
|
@@ -3,7 +3,8 @@ require 'smart_app_launch_test_kit'
|
|
|
3
3
|
require_relative './smart_ehr_launch_stu2'
|
|
4
4
|
require_relative './smart_scopes_constants'
|
|
5
5
|
require_relative './smart_standalone_launch_stu2_group'
|
|
6
|
-
require_relative '../
|
|
6
|
+
require_relative '../granular_scope_search_test'
|
|
7
|
+
require_relative '../granular_scope_read_test'
|
|
7
8
|
require_relative '../us_core_options'
|
|
8
9
|
require_relative './granted_granular_scopes_test'
|
|
9
10
|
|
|
@@ -12,8 +12,12 @@ module USCoreTestKit
|
|
|
12
12
|
assert_resource_type(:capability_statement)
|
|
13
13
|
capability_statement = resource
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
include_us_core = capability_statement.instantiates&.any? do |url|
|
|
16
|
+
url.split('|').first == 'http://hl7.org/fhir/us/core/CapabilityStatement/us-core-server'
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
assert include_us_core,
|
|
20
|
+
"Server CapabilityStatement.instantiates does not include 'http://hl7.org/fhir/us/core/CapabilityStatement/us-core-server'"
|
|
17
21
|
end
|
|
18
22
|
end
|
|
19
23
|
end
|
|
@@ -20,13 +20,15 @@ module USCoreTestKit
|
|
|
20
20
|
assert_resource_type(:capability_statement)
|
|
21
21
|
capability_statement = resource
|
|
22
22
|
|
|
23
|
-
supported_profiles =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
supported_profiles = capability_statement.rest&.flat_map do |rest|
|
|
24
|
+
rest.resource.flat_map do |resource|
|
|
25
|
+
# Remove trailing version from canonical url
|
|
26
|
+
resource.supportedProfile&.map { |profile| profile.split('|').first }
|
|
27
|
+
end.compact
|
|
28
|
+
end&.uniq || []
|
|
28
29
|
|
|
29
|
-
assert supported_profiles.include?('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'),
|
|
30
|
+
assert supported_profiles.include?('http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient'),
|
|
31
|
+
'US Core Patient profile not supported'
|
|
30
32
|
|
|
31
33
|
us_core_profiles = config.options[:us_core_profiles]
|
|
32
34
|
|
|
@@ -45,7 +47,8 @@ module USCoreTestKit
|
|
|
45
47
|
.join(', ')
|
|
46
48
|
|
|
47
49
|
assert missing_profiles.empty?,
|
|
48
|
-
|
|
50
|
+
'The CapabilityStatement does not list support for the following' \
|
|
51
|
+
"US Core profiles: #{missing_profiles_list}"
|
|
49
52
|
end
|
|
50
53
|
end
|
|
51
54
|
end
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
require_relative '../search_test'
|
|
2
|
+
|
|
3
|
+
module USCoreTestKit
|
|
4
|
+
class ScreeningAssessmentCategoryTest < Inferno::Test
|
|
5
|
+
include SearchTest
|
|
6
|
+
|
|
7
|
+
id :us_core_screening_assessment_category
|
|
8
|
+
title 'Server demonstrates support for the required Condition and Observation categories.'
|
|
9
|
+
|
|
10
|
+
input :patient_ids,
|
|
11
|
+
title: 'Patient IDs',
|
|
12
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
|
13
|
+
|
|
14
|
+
# Disable tagging requests since this test doesn't have properties defined.
|
|
15
|
+
# TODO: investigate whether we need to tag these for granular scope
|
|
16
|
+
# checking.
|
|
17
|
+
def tags(_params)
|
|
18
|
+
nil
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
|
22
|
+
def category_found(resource_type:, patient_id:, category_search_values:, missing_categories:)
|
|
23
|
+
search_params = { patient: patient_id }
|
|
24
|
+
|
|
25
|
+
category_search_values.each do |category_search_value|
|
|
26
|
+
search_params[:category] = category_search_value
|
|
27
|
+
search_and_check_response(search_params, resource_type)
|
|
28
|
+
|
|
29
|
+
resources = fetch_all_bundled_resources(resource_type:)
|
|
30
|
+
.select { |resource| resource.resourceType == resource_type }
|
|
31
|
+
|
|
32
|
+
resources.each do |resource|
|
|
33
|
+
resource.category&.each do |category|
|
|
34
|
+
category.coding&.each do |coding|
|
|
35
|
+
missing_categories.delete(coding.code)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
break if missing_categories.empty?
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
break if missing_categories.empty?
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
# rubocop:enable Metrics/CyclomaticComplexity
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
missing_obs_categories = config.options[:observation_screening_assessment_categories].dup
|
|
49
|
+
missing_cond_categories = config.options[:condition_screening_assessment_categories].dup
|
|
50
|
+
|
|
51
|
+
patient_id_list.each do |patient_id|
|
|
52
|
+
unless missing_cond_categories.empty?
|
|
53
|
+
category_found(resource_type: 'Condition',
|
|
54
|
+
patient_id:,
|
|
55
|
+
category_search_values: ['health-concern', 'problem-list-item'],
|
|
56
|
+
missing_categories: missing_cond_categories)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
next if missing_obs_categories.empty?
|
|
60
|
+
|
|
61
|
+
category_found(resource_type: 'Observation',
|
|
62
|
+
patient_id:,
|
|
63
|
+
category_search_values: ['survey'],
|
|
64
|
+
missing_categories: missing_obs_categories)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
pass if missing_cond_categories.empty? && missing_obs_categories.empty?
|
|
68
|
+
|
|
69
|
+
messages = []
|
|
70
|
+
messages << "Observation categories: #{missing_obs_categories.join(', ')}" unless missing_obs_categories.empty?
|
|
71
|
+
messages << "Condition categories: #{missing_cond_categories.join(', ')}" unless missing_cond_categories.empty?
|
|
72
|
+
skip "Could not find these #{messages.join(' and ')}."
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
@@ -6,12 +6,8 @@ module USCoreTestKit
|
|
|
6
6
|
'v610' => [
|
|
7
7
|
'patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis',
|
|
8
8
|
'patient/Condition.rs?category=http://hl7.org/fhir/us/core/CodeSystem/condition-category|health-concern',
|
|
9
|
-
'patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item',
|
|
10
9
|
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory',
|
|
11
10
|
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|social-history',
|
|
12
|
-
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs',
|
|
13
|
-
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|survey',
|
|
14
|
-
'patient/Observation.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh'
|
|
15
11
|
].map(&:freeze).freeze,
|
|
16
12
|
'v700_ballot' => [
|
|
17
13
|
'patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis',
|
|
@@ -28,6 +24,12 @@ module USCoreTestKit
|
|
|
28
24
|
}.freeze
|
|
29
25
|
|
|
30
26
|
SMART_GRANULAR_SCOPES_GROUP2 = {
|
|
27
|
+
'v610' => [
|
|
28
|
+
'patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item',
|
|
29
|
+
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs',
|
|
30
|
+
'patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|survey',
|
|
31
|
+
'patient/Observation.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh'
|
|
32
|
+
].map(&:freeze).freeze,
|
|
31
33
|
'v700_ballot' => [
|
|
32
34
|
'patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item',
|
|
33
35
|
'patient/DiagnosticReport.rs?category=http://loinc.org|LP7839-6',
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require_relative '../screening_assessment_category_test'
|
|
2
|
+
|
|
3
|
+
module USCoreTestKit
|
|
4
|
+
module USCoreV610
|
|
5
|
+
class ScreeningAssessmentGroup < Inferno::TestGroup
|
|
6
|
+
id :us_core_v610_screening_assessment
|
|
7
|
+
title 'Screening Assessments Guidance'
|
|
8
|
+
short_description 'Verify Condition and Observation resources support the ' \
|
|
9
|
+
'US Core Screening And Assessments Guidance.'
|
|
10
|
+
description %(
|
|
11
|
+
The #{title} Sequence tests Condition and Observation
|
|
12
|
+
resources associated with the provided patient. The resources returned
|
|
13
|
+
will be checked for consistency against the [US Core Screening And Assessments
|
|
14
|
+
Guidance](https://hl7.org/fhir/us/core/STU6.1/screening-and-assessments.html)
|
|
15
|
+
and FHIR JIRA ticket [FHIR-45319](https://jira.hl7.org/browse/FHIR-45319)
|
|
16
|
+
|
|
17
|
+
In this set of tests, Inferno serves as a FHIR client that attempts to
|
|
18
|
+
access the different types of Screening and Assessments specified in the guidance.
|
|
19
|
+
The provided patient needs to have the following four common Screening and Assessements
|
|
20
|
+
as Observation categories:
|
|
21
|
+
|
|
22
|
+
* SDOH Assessment (sdoh)
|
|
23
|
+
* Functional Status (functional-status)
|
|
24
|
+
* Disability Status (disability-status)
|
|
25
|
+
* Mental/Cognitive Status (cognitive-status)
|
|
26
|
+
|
|
27
|
+
The provided patient also needs to have the following common Screening and Assessment
|
|
28
|
+
as Condition category:
|
|
29
|
+
|
|
30
|
+
* SDOH Assessment (sdoh)
|
|
31
|
+
)
|
|
32
|
+
run_as_group
|
|
33
|
+
|
|
34
|
+
test from: :us_core_screening_assessment_category do
|
|
35
|
+
config(
|
|
36
|
+
options: {
|
|
37
|
+
condition_screening_assessment_categories: ['sdoh'].freeze,
|
|
38
|
+
observation_screening_assessment_categories: ['sdoh', 'functional-status', 'disability-status',
|
|
39
|
+
'cognitive-status'].freeze
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
require_relative '../base_smart_granular_scopes_group'
|
|
2
|
-
require_relative '../smart_scopes_constants'
|
|
3
|
-
require_relative '../granted_granular_scopes_test'
|
|
4
2
|
require_relative '../../generated/v6.1.0/granular_scopes1_group'
|
|
3
|
+
require_relative '../../generated/v6.1.0/granular_scopes2_group'
|
|
5
4
|
|
|
6
5
|
module USCoreTestKit
|
|
7
6
|
module USCoreV610
|
|
8
|
-
class SmartGranularScopesGroup <
|
|
9
|
-
include SmartScopesConstants
|
|
10
|
-
title 'US Core SMART Granular Scopes'
|
|
7
|
+
class SmartGranularScopesGroup < BaseSmartGranularScopesGroup
|
|
11
8
|
id :us_core_v610_smart_granular_scopes
|
|
12
|
-
|
|
13
|
-
description <<~DESCRIPTION
|
|
14
|
-
These tests verify that servers honor [SMART App Launch granular
|
|
15
|
-
scopes](http://hl7.org/fhir/smart-app-launch/STU2/scopes-and-launch-context.html#finer-grained-resource-constraints-using-search-parameters).
|
|
16
|
-
Support for these scopes is [required in US Core
|
|
17
|
-
7](http://hl7.org/fhir/us/core/2024Jan/scopes.html#us-core-scopes).
|
|
18
|
-
|
|
19
|
-
Prior to running these tests, first run the US Core FHIR API tests using
|
|
20
|
-
resource-level scopes. This group includes a SMART App Launch followed by
|
|
21
|
-
FHIR API tests. The app launches require that a granular scopes be
|
|
22
|
-
granted. The FHIR API tests then repeat all of the queries from the
|
|
23
|
-
original FHIR API tests that were run using resource-level scopes, and
|
|
24
|
-
verify that only resources matching the granted granular scopes are
|
|
25
|
-
returned.
|
|
26
|
-
DESCRIPTION
|
|
27
|
-
|
|
28
|
-
def self.default_group_scopes(version)
|
|
29
|
-
[DEFAULT_SCOPES, *SMART_GRANULAR_SCOPES_GROUP1[version]].join(' ')
|
|
30
|
-
end
|
|
9
|
+
title 'US Core SMART Granular Scopes'
|
|
31
10
|
|
|
32
11
|
def self.scopes_string(scopes)
|
|
33
12
|
scopes
|
|
@@ -36,91 +15,65 @@ module USCoreTestKit
|
|
|
36
15
|
.join("\n")
|
|
37
16
|
end
|
|
38
17
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
18
|
+
groups
|
|
19
|
+
.first
|
|
20
|
+
.description %(
|
|
21
|
+
These tests perform a SMART app launch to receive the following granular scopes:
|
|
22
|
+
|
|
23
|
+
#{scopes_string(SMART_GRANULAR_SCOPES_GROUP1['v610'])}
|
|
24
|
+
|
|
25
|
+
Then all of the searches which have been performed in the US Core FHIR API tests
|
|
26
|
+
are repeated to verify that the results have been filtered according to the
|
|
27
|
+
above scopes.
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
groups
|
|
31
|
+
.first
|
|
32
|
+
.config(
|
|
33
|
+
inputs: {
|
|
34
|
+
requested_scopes: {
|
|
35
|
+
name: :requested_scopes_group1,
|
|
36
|
+
default: groups.first.default_group_scopes('v610')
|
|
37
|
+
}
|
|
43
38
|
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
default: default_group_scopes('v610')
|
|
39
|
+
options: {
|
|
40
|
+
required_scopes: SMART_GRANULAR_SCOPES_GROUP1['v610']
|
|
47
41
|
}
|
|
48
|
-
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
group do
|
|
52
|
-
title 'SMART App Launch w/Granular Scopes'
|
|
42
|
+
)
|
|
53
43
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
.map { |scope| "* `#{scope}`" }
|
|
58
|
-
.join("\n")
|
|
59
|
-
end
|
|
44
|
+
groups
|
|
45
|
+
.first
|
|
46
|
+
.group from: :us_core_v610_smart_granular_scopes_1
|
|
60
47
|
|
|
61
|
-
|
|
48
|
+
groups
|
|
49
|
+
.last
|
|
50
|
+
.description %(
|
|
62
51
|
These tests perform a SMART app launch to receive the following granular scopes:
|
|
63
52
|
|
|
64
|
-
#{scopes_string(
|
|
53
|
+
#{scopes_string(SMART_GRANULAR_SCOPES_GROUP2['v610'])}
|
|
65
54
|
|
|
66
55
|
Then all of the searches which have been performed in the US Core FHIR API tests
|
|
67
56
|
are repeated to verify that the results have been filtered according to the
|
|
68
57
|
above scopes.
|
|
69
58
|
)
|
|
70
59
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
60
|
+
groups
|
|
61
|
+
.last
|
|
62
|
+
.config(
|
|
63
|
+
inputs: {
|
|
64
|
+
requested_scopes: {
|
|
65
|
+
name: :requested_scopes_group2,
|
|
66
|
+
default: groups.last.default_group_scopes('v610')
|
|
75
67
|
}
|
|
68
|
+
},
|
|
69
|
+
options: {
|
|
70
|
+
required_scopes: SMART_GRANULAR_SCOPES_GROUP2['v610']
|
|
76
71
|
}
|
|
77
72
|
)
|
|
78
|
-
group from: :us_core_smart_standalone_launch_stu2,
|
|
79
|
-
optional: true,
|
|
80
|
-
config: {
|
|
81
|
-
inputs: {
|
|
82
|
-
smart_credentials: {
|
|
83
|
-
name: :granular_scopes_1_credentials
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
} do
|
|
87
|
-
groups[1].test from: :us_core_granted_granular_scopes,
|
|
88
|
-
config: {
|
|
89
|
-
inputs: {
|
|
90
|
-
received_scopes: {
|
|
91
|
-
name: :standalone_received_scopes
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
options: {
|
|
95
|
-
required_scopes: SMART_GRANULAR_SCOPES_GROUP1['v610']
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
end
|
|
99
|
-
group from: :us_core_smart_ehr_launch_stu2,
|
|
100
|
-
optional: true,
|
|
101
|
-
config: {
|
|
102
|
-
inputs: {
|
|
103
|
-
smart_credentials: {
|
|
104
|
-
name: :granular_scopes_1_credentials
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
} do
|
|
108
|
-
groups[1].test from: :us_core_granted_granular_scopes,
|
|
109
|
-
config: {
|
|
110
|
-
inputs: {
|
|
111
|
-
received_scopes: {
|
|
112
|
-
name: :ehr_received_scopes
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
options: {
|
|
116
|
-
required_scopes: SMART_GRANULAR_SCOPES_GROUP1['v610']
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
end
|
|
120
|
-
end
|
|
121
73
|
|
|
122
|
-
|
|
123
|
-
|
|
74
|
+
groups
|
|
75
|
+
.last
|
|
76
|
+
.group from: :us_core_v610_smart_granular_scopes_2
|
|
124
77
|
end
|
|
125
78
|
end
|
|
126
79
|
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require_relative '../screening_assessment_category_test'
|
|
2
|
+
|
|
3
|
+
module USCoreTestKit
|
|
4
|
+
module USCoreV700_BALLOT
|
|
5
|
+
class ScreeningAssessmentGroup < Inferno::TestGroup
|
|
6
|
+
id :us_core_v700_ballot_screening_assessment
|
|
7
|
+
title 'Screening Assessments Guidance'
|
|
8
|
+
short_description 'Verify Condition and Observation resources support the ' \
|
|
9
|
+
'US Core Screening And Assessments Guidance.'
|
|
10
|
+
description %(
|
|
11
|
+
The #{title} Sequence tests Condition and Observation
|
|
12
|
+
resources associated with the provided patient. The resources returned
|
|
13
|
+
will be checked for consistency against the [US Core Screening And Assessments
|
|
14
|
+
Guidance](https://hl7.org/fhir/us/core/STU7/screening-and-assessments.html)
|
|
15
|
+
and FHIR JIRA ticket [FHIR-46052](https://jira.hl7.org/browse/FHIR-46052)
|
|
16
|
+
|
|
17
|
+
In this set of tests, Inferno serves as a FHIR client that attempts to
|
|
18
|
+
access the different types of Screening and Assessments specified in the guidance.
|
|
19
|
+
The provided patient needs to have the following four common Screening and Assessements
|
|
20
|
+
as Observation categories:
|
|
21
|
+
|
|
22
|
+
* SDOH Assessment (sdoh)
|
|
23
|
+
* Functional Status (functional-status)
|
|
24
|
+
* Disability Status (disability-status)
|
|
25
|
+
* Mental/Cognitive Status (cognitive-status)
|
|
26
|
+
* Physical Activity (activity)
|
|
27
|
+
* Alcohol Use (social-history)
|
|
28
|
+
* Substance Use (social-history)
|
|
29
|
+
|
|
30
|
+
The provided patient also needs to have the following common Screening and Assessment
|
|
31
|
+
as Condition category:
|
|
32
|
+
|
|
33
|
+
* SDOH Assessment (sdoh)
|
|
34
|
+
)
|
|
35
|
+
run_as_group
|
|
36
|
+
|
|
37
|
+
test from: :us_core_screening_assessment_category do
|
|
38
|
+
config(
|
|
39
|
+
options: {
|
|
40
|
+
condition_screening_assessment_categories: ['sdoh'].freeze,
|
|
41
|
+
observation_screening_assessment_categories: ['sdoh', 'functional-status', 'disability-status',
|
|
42
|
+
'cognitive-status', 'activity', 'social-history'].freeze
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require_relative './primitive_type'
|
|
2
|
+
|
|
1
3
|
module USCoreTestKit
|
|
2
4
|
module FHIRResourceNavigation
|
|
3
5
|
DAR_EXTENSION_URL = 'http://hl7.org/fhir/StructureDefinition/data-absent-reason'.freeze
|
|
@@ -65,19 +67,22 @@ module USCoreTestKit
|
|
|
65
67
|
slice = find_slice_via_discriminator(element, property)
|
|
66
68
|
slice
|
|
67
69
|
else
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
value = element.send(property)
|
|
71
|
+
primitive_value = get_primitive_type_value(element, property, value)
|
|
72
|
+
primitive_value.present? ? primitive_value : value
|
|
71
73
|
end
|
|
72
74
|
rescue NoMethodError
|
|
73
75
|
nil
|
|
74
76
|
end
|
|
75
77
|
|
|
76
|
-
def
|
|
77
|
-
type = element.class::METADATA[property.to_s]['type']
|
|
78
|
+
def get_primitive_type_value(element, property, value)
|
|
78
79
|
source_value = element.source_hash["_#{property}"]
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
return nil unless source_value.present?
|
|
82
|
+
|
|
83
|
+
primitive_value = USCoreTestKit::PrimitiveType.new(source_value)
|
|
84
|
+
primitive_value.value = value
|
|
85
|
+
primitive_value
|
|
81
86
|
end
|
|
82
87
|
|
|
83
88
|
def find_slice_via_discriminator(element, property)
|
|
@@ -350,26 +350,28 @@
|
|
|
350
350
|
- :id: us_core_v610_condition_encounter_diagnosis_reference_resolution_test
|
|
351
351
|
:file_name: condition_encounter_diagnosis_reference_resolution_test.rb
|
|
352
352
|
:granular_scope_tests:
|
|
353
|
-
- :id:
|
|
354
|
-
:file_name:
|
|
355
|
-
- :id:
|
|
356
|
-
:file_name:
|
|
357
|
-
- :id:
|
|
358
|
-
:file_name:
|
|
359
|
-
- :id:
|
|
360
|
-
:file_name:
|
|
361
|
-
- :id:
|
|
362
|
-
:file_name:
|
|
363
|
-
- :id:
|
|
364
|
-
:file_name:
|
|
365
|
-
- :id:
|
|
366
|
-
:file_name:
|
|
367
|
-
- :id:
|
|
368
|
-
:file_name:
|
|
369
|
-
- :id:
|
|
370
|
-
:file_name:
|
|
371
|
-
- :id:
|
|
372
|
-
:file_name:
|
|
353
|
+
- :id: us_core_v610_Condition_patient_category_granular_scope_search_test
|
|
354
|
+
:file_name: condition_patient_category_granular_scope_search_test.rb
|
|
355
|
+
- :id: us_core_v610_Condition_patient_granular_scope_search_test
|
|
356
|
+
:file_name: condition_patient_granular_scope_search_test.rb
|
|
357
|
+
- :id: us_core_v610_Condition_patient_recorded_date_granular_scope_search_test
|
|
358
|
+
:file_name: condition_patient_recorded_date_granular_scope_search_test.rb
|
|
359
|
+
- :id: us_core_v610_Condition_patient_asserted_date_granular_scope_search_test
|
|
360
|
+
:file_name: condition_patient_asserted_date_granular_scope_search_test.rb
|
|
361
|
+
- :id: us_core_v610_Condition_patient_category_clinical_status_granular_scope_search_test
|
|
362
|
+
:file_name: condition_patient_category_clinical_status_granular_scope_search_test.rb
|
|
363
|
+
- :id: us_core_v610_Condition_patient_onset_date_granular_scope_search_test
|
|
364
|
+
:file_name: condition_patient_onset_date_granular_scope_search_test.rb
|
|
365
|
+
- :id: us_core_v610_Condition_patient_abatement_date_granular_scope_search_test
|
|
366
|
+
:file_name: condition_patient_abatement_date_granular_scope_search_test.rb
|
|
367
|
+
- :id: us_core_v610_Condition_patient_clinical_status_granular_scope_search_test
|
|
368
|
+
:file_name: condition_patient_clinical_status_granular_scope_search_test.rb
|
|
369
|
+
- :id: us_core_v610_Condition_patient_category_encounter_granular_scope_search_test
|
|
370
|
+
:file_name: condition_patient_category_encounter_granular_scope_search_test.rb
|
|
371
|
+
- :id: us_core_v610_Condition_patient_code_granular_scope_search_test
|
|
372
|
+
:file_name: condition_patient_code_granular_scope_search_test.rb
|
|
373
|
+
- :id: us_core_v610_Condition_granular_scope_read_test
|
|
374
|
+
:file_name: condition_granular_scope_read_test.rb
|
|
373
375
|
:id: us_core_v610_condition_encounter_diagnosis
|
|
374
376
|
:file_name: condition_encounter_diagnosis_group.rb
|
|
375
377
|
:delayed_references: []
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
require_relative './granular_scope_tests/condition/
|
|
2
|
-
require_relative './granular_scope_tests/condition/
|
|
3
|
-
require_relative './granular_scope_tests/condition/
|
|
4
|
-
require_relative './granular_scope_tests/condition/
|
|
5
|
-
require_relative './granular_scope_tests/condition/
|
|
6
|
-
require_relative './granular_scope_tests/condition/
|
|
7
|
-
require_relative './granular_scope_tests/condition/
|
|
8
|
-
require_relative './granular_scope_tests/condition/
|
|
9
|
-
require_relative './granular_scope_tests/condition/
|
|
10
|
-
require_relative './granular_scope_tests/condition/
|
|
1
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_granular_scope_search_test'
|
|
2
|
+
require_relative './granular_scope_tests/condition/condition_patient_granular_scope_search_test'
|
|
3
|
+
require_relative './granular_scope_tests/condition/condition_patient_recorded_date_granular_scope_search_test'
|
|
4
|
+
require_relative './granular_scope_tests/condition/condition_patient_asserted_date_granular_scope_search_test'
|
|
5
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_clinical_status_granular_scope_search_test'
|
|
6
|
+
require_relative './granular_scope_tests/condition/condition_patient_onset_date_granular_scope_search_test'
|
|
7
|
+
require_relative './granular_scope_tests/condition/condition_patient_abatement_date_granular_scope_search_test'
|
|
8
|
+
require_relative './granular_scope_tests/condition/condition_patient_clinical_status_granular_scope_search_test'
|
|
9
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_encounter_granular_scope_search_test'
|
|
10
|
+
require_relative './granular_scope_tests/condition/condition_patient_code_granular_scope_search_test'
|
|
11
|
+
require_relative './granular_scope_tests/condition/condition_granular_scope_read_test'
|
|
11
12
|
|
|
12
13
|
module USCoreTestKit
|
|
13
14
|
module USCoreV610
|
|
@@ -21,7 +22,6 @@ based on the following granular scopes:
|
|
|
21
22
|
|
|
22
23
|
* `Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis`
|
|
23
24
|
* `Condition.rs?category=http://hl7.org/fhir/us/core/CodeSystem/condition-category|health-concern`
|
|
24
|
-
* `Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item`
|
|
25
25
|
|
|
26
26
|
)
|
|
27
27
|
|
|
@@ -29,16 +29,17 @@ based on the following granular scopes:
|
|
|
29
29
|
run_as_group
|
|
30
30
|
|
|
31
31
|
|
|
32
|
-
test from: :
|
|
33
|
-
test from: :
|
|
34
|
-
test from: :
|
|
35
|
-
test from: :
|
|
36
|
-
test from: :
|
|
37
|
-
test from: :
|
|
38
|
-
test from: :
|
|
39
|
-
test from: :
|
|
40
|
-
test from: :
|
|
41
|
-
test from: :
|
|
32
|
+
test from: :us_core_v610_Condition_patient_category_granular_scope_search_test
|
|
33
|
+
test from: :us_core_v610_Condition_patient_granular_scope_search_test
|
|
34
|
+
test from: :us_core_v610_Condition_patient_recorded_date_granular_scope_search_test
|
|
35
|
+
test from: :us_core_v610_Condition_patient_asserted_date_granular_scope_search_test
|
|
36
|
+
test from: :us_core_v610_Condition_patient_category_clinical_status_granular_scope_search_test
|
|
37
|
+
test from: :us_core_v610_Condition_patient_onset_date_granular_scope_search_test
|
|
38
|
+
test from: :us_core_v610_Condition_patient_abatement_date_granular_scope_search_test
|
|
39
|
+
test from: :us_core_v610_Condition_patient_clinical_status_granular_scope_search_test
|
|
40
|
+
test from: :us_core_v610_Condition_patient_category_encounter_granular_scope_search_test
|
|
41
|
+
test from: :us_core_v610_Condition_patient_code_granular_scope_search_test
|
|
42
|
+
test from: :us_core_v610_Condition_granular_scope_read_test
|
|
42
43
|
end
|
|
43
44
|
end
|
|
44
45
|
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_granular_scope_search_test'
|
|
2
|
+
require_relative './granular_scope_tests/condition/condition_patient_granular_scope_search_test'
|
|
3
|
+
require_relative './granular_scope_tests/condition/condition_patient_recorded_date_granular_scope_search_test'
|
|
4
|
+
require_relative './granular_scope_tests/condition/condition_patient_asserted_date_granular_scope_search_test'
|
|
5
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_clinical_status_granular_scope_search_test'
|
|
6
|
+
require_relative './granular_scope_tests/condition/condition_patient_onset_date_granular_scope_search_test'
|
|
7
|
+
require_relative './granular_scope_tests/condition/condition_patient_abatement_date_granular_scope_search_test'
|
|
8
|
+
require_relative './granular_scope_tests/condition/condition_patient_clinical_status_granular_scope_search_test'
|
|
9
|
+
require_relative './granular_scope_tests/condition/condition_patient_category_encounter_granular_scope_search_test'
|
|
10
|
+
require_relative './granular_scope_tests/condition/condition_patient_code_granular_scope_search_test'
|
|
11
|
+
require_relative './granular_scope_tests/condition/condition_granular_scope_read_test'
|
|
12
|
+
|
|
13
|
+
module USCoreTestKit
|
|
14
|
+
module USCoreV610
|
|
15
|
+
class ConditionGranularScope2Group < Inferno::TestGroup
|
|
16
|
+
title 'Condition Granular Scope Tests Tests'
|
|
17
|
+
short_description 'Verify support for the server capabilities required by the US Core Condition Encounter Diagnosis Profile.'
|
|
18
|
+
description %(
|
|
19
|
+
The tests in this group repeat all of the searches from the US Core
|
|
20
|
+
FHIR API tests, and verify that the resources returned are filtered
|
|
21
|
+
based on the following granular scopes:
|
|
22
|
+
|
|
23
|
+
* `Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item`
|
|
24
|
+
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
id :us_core_v610_condition_granular_scope_2_group
|
|
28
|
+
run_as_group
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
test from: :us_core_v610_Condition_patient_category_granular_scope_search_test
|
|
32
|
+
test from: :us_core_v610_Condition_patient_granular_scope_search_test
|
|
33
|
+
test from: :us_core_v610_Condition_patient_recorded_date_granular_scope_search_test
|
|
34
|
+
test from: :us_core_v610_Condition_patient_asserted_date_granular_scope_search_test
|
|
35
|
+
test from: :us_core_v610_Condition_patient_category_clinical_status_granular_scope_search_test
|
|
36
|
+
test from: :us_core_v610_Condition_patient_onset_date_granular_scope_search_test
|
|
37
|
+
test from: :us_core_v610_Condition_patient_abatement_date_granular_scope_search_test
|
|
38
|
+
test from: :us_core_v610_Condition_patient_clinical_status_granular_scope_search_test
|
|
39
|
+
test from: :us_core_v610_Condition_patient_category_encounter_granular_scope_search_test
|
|
40
|
+
test from: :us_core_v610_Condition_patient_code_granular_scope_search_test
|
|
41
|
+
test from: :us_core_v610_Condition_granular_scope_read_test
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|