davinci_plan_net_test_kit 0.12.0 → 0.12.1
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/davinci_plan_net_test_kit/custom_groups/capability_statement/json_support_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/custom_groups/capability_statement/profile_support_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/davinci_plan_net_test_suite.rb +8 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_forward_chain_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_include_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/endpoint_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint/metadata.yml +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/endpoint_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_city_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_postalcode_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_address_state_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_location_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_forward_chain_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_include_healthcare_service_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_revinclude_organization_affiliation_service_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_revinclude_practitioner_role_service_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_service_category_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_service_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/healthcare_service_specialty_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service/metadata.yml +12 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/healthcare_service_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_administered_by_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_administered_by_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_administered_by_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_owned_by_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_forward_chain_owned_by_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_identifier_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_administered_by_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_include_insurance_plan_owned_by_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_owned_by_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_plan_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/insurance_plan_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan/metadata.yml +12 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/insurance_plan_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_city_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_postalcode_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_address_state_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_forward_chain_partof_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_include_location_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_reverse_chain_insurance_plan_coverage_area_owned_by_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_healthcare_service_location_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_insurance_plan_coverage_area_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_organization_affiliation_location_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_revinclude_practitioner_role_location_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/location_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location/metadata.yml +11 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/location_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/metadata.yml +91 -2
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/metadata.yml +6 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_forward_chain_partof_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_include_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_reverse_chain_practitioner_role_network_location_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_revinclude_practitioner_role_network_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network/network_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/network_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/metadata.yml +12 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_city_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_postalcode_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_address_state_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_location_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_network_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_network_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_participating_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_primary_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_forward_chain_service_service_category_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_network_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_participating_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_primary_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_include_organization_affiliation_service_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_network_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_participating_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_primary_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_role_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_service_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil/org_affil_specialty_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/org_affil_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/metadata.yml +9 -1
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_forward_chain_partof_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_coverage_area_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_include_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_insurance_plan_owned_by_coverage_area_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_location_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_network_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_reverse_chain_org_affil_participating_organization_specialty_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_endpoint_organization_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_healthcare_service_organization_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_insurance_plan_administered_by_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_insurance_plan_owned_by_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_organization_affiliation_participating_organization_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_organization_affiliation_primary_organization_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_revinclude_practitioner_role_organization_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization/organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/organization_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/metadata.yml +5 -1
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_family_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_given_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_location_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_network_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_role_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_reverse_chain_practitioner_role_practitioner_specialty_search_test.rb +3 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner/practitioner_revinclude_practitioner_role_practitioner_search_test.rb +4 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/metadata.yml +21 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_endpoint_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_city_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_postalcode_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_address_state_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_location_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_network_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_address_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_partof_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_organization_type_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_practitioner_name_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_forward_chain_service_service_category_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_id_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_endpoint_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_network_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_practitioner_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_include_practitioner_role_service_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_lastupdated_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_location_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_must_support_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_network_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_organization_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_practitioner_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_read_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_role_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_service_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role/practitioner_role_specialty_search_test.rb +2 -0
- data/lib/davinci_plan_net_test_kit/generated/v1.1.0/practitioner_role_group.rb +1 -0
- data/lib/davinci_plan_net_test_kit/generator/must_support_metadata_extractor.rb +3 -302
- data/lib/davinci_plan_net_test_kit/generator/must_support_test_generator.rb +1 -1
- data/lib/davinci_plan_net_test_kit/generator/special_cases.rb +1 -1
- data/lib/davinci_plan_net_test_kit/generator/templates/forward_chain_test.rb.erb +2 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/group.rb.erb +1 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/include_search.rb.erb +2 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/must_support.rb.erb +2 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/read.rb.erb +2 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/reverse_chain_search.rb.erb +3 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/revinclude_search.rb.erb +4 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/search.rb.erb +2 -0
- data/lib/davinci_plan_net_test_kit/generator/templates/suite.rb.erb +8 -0
- data/lib/davinci_plan_net_test_kit/must_support_test.rb +1 -192
- data/lib/davinci_plan_net_test_kit/requirements/davinci_plan_net_test_kit_requirements.csv +65 -0
- data/lib/davinci_plan_net_test_kit/requirements/generated/davinci_plan_net_server_v110_requirements_coverage.csv +60 -0
- data/lib/davinci_plan_net_test_kit/requirements/hl7.fhir.us.davinci-pdex-plan-net_1.1.0_reqs.xlsx +0 -0
- data/lib/davinci_plan_net_test_kit/version.rb +2 -2
- metadata +10 -8
- data/lib/davinci_plan_net_test_kit/igs/Plan Net Requirements Interpretation.xlsx +0 -0
@@ -18,6 +18,8 @@ module DaVinciPlanNetTestKit
|
|
18
18
|
|
19
19
|
id :davinci_plan_net_v110_include_practitioner_role_practitioner_role_service_search_test
|
20
20
|
|
21
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@27'
|
22
|
+
|
21
23
|
def properties
|
22
24
|
@properties ||= SearchTestProperties.new(
|
23
25
|
resource_type: 'PractitionerRole',
|
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
|
|
17
17
|
|
18
18
|
)
|
19
19
|
|
20
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
|
21
|
+
|
20
22
|
id :davinci_plan_net_v110_practitioner_role_organization_search_test
|
21
23
|
def self.properties
|
22
24
|
@properties ||= SearchTestProperties.new(
|
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
|
|
17
17
|
|
18
18
|
)
|
19
19
|
|
20
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
|
21
|
+
|
20
22
|
id :davinci_plan_net_v110_practitioner_role_practitioner_search_test
|
21
23
|
def self.properties
|
22
24
|
@properties ||= SearchTestProperties.new(
|
@@ -17,6 +17,8 @@ none are returned, the test is skipped.
|
|
17
17
|
|
18
18
|
)
|
19
19
|
|
20
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@19'
|
21
|
+
|
20
22
|
id :davinci_plan_net_v110_practitioner_role_specialty_search_test
|
21
23
|
def self.properties
|
22
24
|
@properties ||= SearchTestProperties.new(
|
@@ -190,6 +190,7 @@ read succeeds.
|
|
190
190
|
|
191
191
|
id :davinci_plan_net_v110_practitioner_role
|
192
192
|
run_as_group
|
193
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@12'
|
193
194
|
|
194
195
|
def self.metadata
|
195
196
|
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'practitioner_role', 'metadata.yml'), aliases: true))
|
@@ -1,316 +1,17 @@
|
|
1
|
-
require_relative 'value_extractor'
|
2
1
|
require_relative 'must_support_metadata_extractor_us_core_3'
|
3
|
-
|
2
|
+
require 'inferno'
|
4
3
|
|
5
4
|
module DaVinciPlanNetTestKit
|
6
5
|
class Generator
|
7
|
-
class MustSupportMetadataExtractor
|
8
|
-
attr_accessor :profile_elements, :profile, :resource, :ig_resources
|
9
|
-
|
10
|
-
def initialize(profile_elements, profile, resource, ig_resources)
|
11
|
-
self.profile_elements = profile_elements
|
12
|
-
self.profile = profile
|
13
|
-
self.resource = resource
|
14
|
-
self.ig_resources = ig_resources
|
15
|
-
end
|
16
|
-
|
6
|
+
class MustSupportMetadataExtractor < Inferno::DSL::MustSupportMetadataExtractor
|
17
7
|
def must_supports
|
18
|
-
@must_supports =
|
19
|
-
extensions: must_support_extensions,
|
20
|
-
slices: must_support_slices,
|
21
|
-
elements: must_support_elements
|
22
|
-
}
|
8
|
+
@must_supports = super
|
23
9
|
|
24
10
|
handle_special_cases
|
25
11
|
|
26
12
|
@must_supports
|
27
13
|
end
|
28
14
|
|
29
|
-
def is_uscdi_requirement_element?(element)
|
30
|
-
element.extension.any? do |extension|
|
31
|
-
extension.url == 'http://hl7.org/fhir/us/core/StructureDefinition/uscdi-requirement' &&
|
32
|
-
extension.valueBoolean
|
33
|
-
end && !element.mustSupport
|
34
|
-
end
|
35
|
-
|
36
|
-
def all_must_support_elements
|
37
|
-
profile_elements.select { |element| element.mustSupport || is_uscdi_requirement_element?(element) }
|
38
|
-
end
|
39
|
-
|
40
|
-
def must_support_extension_elements
|
41
|
-
all_must_support_elements.select { |element| element.path.end_with? 'extension' }
|
42
|
-
end
|
43
|
-
|
44
|
-
def must_support_extensions
|
45
|
-
must_support_extension_elements.map do |element|
|
46
|
-
{
|
47
|
-
id: element.id,
|
48
|
-
url: element.type.first.profile.first
|
49
|
-
}.tap do |metadata|
|
50
|
-
if is_uscdi_requirement_element?(element)
|
51
|
-
metadata[:uscdi_only] = true
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def must_support_slice_elements
|
58
|
-
all_must_support_elements.select { |element| !element.path.end_with?('extension') && element.sliceName.present? }
|
59
|
-
end
|
60
|
-
|
61
|
-
def sliced_element(slice)
|
62
|
-
profile_elements.find { |element| element.id == slice.path || element.id == slice.id.sub(":#{slice.sliceName}", '') }
|
63
|
-
end
|
64
|
-
|
65
|
-
def discriminators(slice)
|
66
|
-
slice.slicing.discriminator
|
67
|
-
end
|
68
|
-
|
69
|
-
def must_support_pattern_slice_elements
|
70
|
-
must_support_slice_elements.select do |element|
|
71
|
-
discriminators(sliced_element(element)).first.type == 'pattern'
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
def pattern_slices
|
76
|
-
must_support_pattern_slice_elements.map do |current_element|
|
77
|
-
{
|
78
|
-
name: current_element.id,
|
79
|
-
path: current_element.path.gsub("#{resource}.", '')
|
80
|
-
}.tap do |metadata|
|
81
|
-
discriminator = discriminators(sliced_element(current_element)).first
|
82
|
-
discriminator_path = discriminator.path
|
83
|
-
discriminator_path = '' if discriminator_path == '$this'
|
84
|
-
pattern_element =
|
85
|
-
if discriminator_path.present?
|
86
|
-
profile_elements.find { |element| element.id == "#{current_element.id}.#{discriminator_path}" }
|
87
|
-
else
|
88
|
-
current_element
|
89
|
-
end
|
90
|
-
|
91
|
-
metadata[:discriminator] =
|
92
|
-
if pattern_element.patternCodeableConcept.present?
|
93
|
-
{
|
94
|
-
type: 'patternCodeableConcept',
|
95
|
-
path: discriminator_path,
|
96
|
-
code: pattern_element.patternCodeableConcept.coding.first.code,
|
97
|
-
system: pattern_element.patternCodeableConcept.coding.first.system
|
98
|
-
}
|
99
|
-
elsif pattern_element.patternCoding.present?
|
100
|
-
{
|
101
|
-
type: 'patternCoding',
|
102
|
-
path: discriminator_path,
|
103
|
-
code: pattern_element.patternCoding.code,
|
104
|
-
system: pattern_element.patternCoding.system
|
105
|
-
}
|
106
|
-
elsif pattern_element.patternIdentifier.present?
|
107
|
-
{
|
108
|
-
type: 'patternIdentifier',
|
109
|
-
path: discriminator_path,
|
110
|
-
system: pattern_element.patternIdentifier.system
|
111
|
-
}
|
112
|
-
elsif pattern_element.binding&.strength == 'required' &&
|
113
|
-
pattern_element.binding&.valueSet.present?
|
114
|
-
|
115
|
-
value_extractor = ValueExactor.new(ig_resources, resource, profile_elements)
|
116
|
-
|
117
|
-
values = value_extractor.values_from_value_set_binding(pattern_element).presence ||
|
118
|
-
value_extractor.values_from_resource_metadata([metadata[:path]]).presence || []
|
119
|
-
|
120
|
-
{
|
121
|
-
type: 'requiredBinding',
|
122
|
-
path: discriminator_path,
|
123
|
-
values: values
|
124
|
-
}
|
125
|
-
else
|
126
|
-
raise StandardError, 'Unsupported discriminator pattern type'
|
127
|
-
end
|
128
|
-
|
129
|
-
if is_uscdi_requirement_element?(current_element)
|
130
|
-
metadata[:uscdi_only] = true
|
131
|
-
end
|
132
|
-
end
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
def must_support_type_slice_elements
|
137
|
-
must_support_slice_elements.select do |element|
|
138
|
-
discriminators(sliced_element(element)).first.type == 'type'
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
def type_slices
|
143
|
-
must_support_type_slice_elements.map do |current_element|
|
144
|
-
discriminator = discriminators(sliced_element(current_element)).first
|
145
|
-
type_path = discriminator.path
|
146
|
-
type_path = '' if type_path == '$this'
|
147
|
-
type_element =
|
148
|
-
if type_path.present?
|
149
|
-
elements.find { |element| element.id == "#{current_element.id}.#{type_path}" }
|
150
|
-
else
|
151
|
-
current_element
|
152
|
-
end
|
153
|
-
|
154
|
-
type_code = type_element.type.first.code
|
155
|
-
|
156
|
-
{
|
157
|
-
name: current_element.id,
|
158
|
-
path: current_element.path.gsub("#{resource}.", ''),
|
159
|
-
discriminator: {
|
160
|
-
type: 'type',
|
161
|
-
code: type_code.upcase_first
|
162
|
-
}
|
163
|
-
}.tap do |metadata|
|
164
|
-
if is_uscdi_requirement_element?(current_element)
|
165
|
-
metadata[:uscdi_only] = true
|
166
|
-
end
|
167
|
-
end
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
def must_support_value_slice_elements
|
172
|
-
must_support_slice_elements.select do |element|
|
173
|
-
discriminators(sliced_element(element)).first.type == 'value'
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
def value_slices
|
178
|
-
must_support_value_slice_elements.map do |current_element|
|
179
|
-
{
|
180
|
-
name: current_element.id,
|
181
|
-
path: current_element.path.gsub("#{resource}.", ''),
|
182
|
-
discriminator: {
|
183
|
-
type: 'value'
|
184
|
-
}
|
185
|
-
}.tap do |metadata|
|
186
|
-
metadata[:discriminator][:values] = discriminators(sliced_element(current_element)).map do |discriminator|
|
187
|
-
fixed_element = profile_elements.find do |element|
|
188
|
-
element.id.starts_with?(current_element.id) &&
|
189
|
-
element.path == "#{current_element.path}.#{discriminator.path}"
|
190
|
-
end
|
191
|
-
|
192
|
-
{
|
193
|
-
path: discriminator.path,
|
194
|
-
value: fixed_element.fixedUri || fixed_element.fixedCode
|
195
|
-
}
|
196
|
-
end
|
197
|
-
|
198
|
-
if is_uscdi_requirement_element?(current_element)
|
199
|
-
metadata[:uscdi_only] = true
|
200
|
-
end
|
201
|
-
end
|
202
|
-
end
|
203
|
-
end
|
204
|
-
|
205
|
-
def must_support_slices
|
206
|
-
pattern_slices + type_slices + value_slices
|
207
|
-
end
|
208
|
-
|
209
|
-
def plain_must_support_elements
|
210
|
-
all_must_support_elements - must_support_extension_elements - must_support_slice_elements
|
211
|
-
end
|
212
|
-
|
213
|
-
def handle_fixed_values(metadata, element)
|
214
|
-
if element.fixedUri.present?
|
215
|
-
metadata[:fixed_value] = element.fixedUri
|
216
|
-
elsif element.patternCodeableConcept.present?
|
217
|
-
metadata[:fixed_value] = element.patternCodeableConcept.coding.first.code
|
218
|
-
metadata[:path] += '.coding.code'
|
219
|
-
elsif element.fixedCode.present?
|
220
|
-
metadata[:fixed_value] = element.fixedCode
|
221
|
-
elsif element.patternIdentifier.present?
|
222
|
-
metadata[:fixed_value] = element.patternIdentifier.system
|
223
|
-
metadata[:path] += '.system'
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
|
-
def type_must_support_extension?(extensions)
|
228
|
-
extensions&.any? do |extension|
|
229
|
-
extension.url == 'http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support' &&
|
230
|
-
extension.valueBoolean
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
def save_type_code?(type)
|
235
|
-
'Reference' == type.code
|
236
|
-
end
|
237
|
-
|
238
|
-
def get_type_must_support_metadata(current_metadata, current_element)
|
239
|
-
current_element.type.map do |type|
|
240
|
-
if type_must_support_extension?(type.extension)
|
241
|
-
metadata =
|
242
|
-
{
|
243
|
-
path: "#{current_metadata[:path].delete_suffix('[x]')}#{type.code.upcase_first}",
|
244
|
-
original_path: current_metadata[:path]
|
245
|
-
}
|
246
|
-
metadata[:types] = [type.code] if save_type_code?(type)
|
247
|
-
handle_type_must_support_target_profiles(type, metadata) if type.code == 'Reference'
|
248
|
-
|
249
|
-
metadata
|
250
|
-
end
|
251
|
-
end.compact
|
252
|
-
end
|
253
|
-
|
254
|
-
def handle_type_must_support_target_profiles(type, metadata)
|
255
|
-
index = 0
|
256
|
-
target_profiles = []
|
257
|
-
|
258
|
-
type.source_hash['_targetProfile']&.each do |hash|
|
259
|
-
if hash.present?
|
260
|
-
element = FHIR::Element.new(hash)
|
261
|
-
target_profiles << type.targetProfile[index] if type_must_support_extension?(element.extension)
|
262
|
-
end
|
263
|
-
index += 1
|
264
|
-
end
|
265
|
-
|
266
|
-
metadata[:target_profiles] = target_profiles if target_profiles.present?
|
267
|
-
end
|
268
|
-
|
269
|
-
def handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
|
270
|
-
choice_element_metadata = must_support_elements_metadata.find do |metadata|
|
271
|
-
metadata[:original_path].present? &&
|
272
|
-
current_metadata[:path].include?( metadata[:original_path] )
|
273
|
-
end
|
274
|
-
|
275
|
-
if choice_element_metadata.present?
|
276
|
-
current_metadata[:original_path] = current_metadata[:path]
|
277
|
-
current_metadata[:path] = current_metadata[:path].sub(choice_element_metadata[:original_path], choice_element_metadata[:path])
|
278
|
-
end
|
279
|
-
end
|
280
|
-
|
281
|
-
def must_support_elements
|
282
|
-
plain_must_support_elements.each_with_object([]) do |current_element, must_support_elements_metadata|
|
283
|
-
{
|
284
|
-
path: current_element.path.gsub("#{resource}.", '')
|
285
|
-
}.tap do |current_metadata|
|
286
|
-
if is_uscdi_requirement_element?(current_element)
|
287
|
-
current_metadata[:uscdi_only] = true
|
288
|
-
end
|
289
|
-
|
290
|
-
type_must_support_metadata = get_type_must_support_metadata(current_metadata, current_element)
|
291
|
-
|
292
|
-
if type_must_support_metadata.any?
|
293
|
-
must_support_elements_metadata.concat(type_must_support_metadata)
|
294
|
-
else
|
295
|
-
handle_choice_type_in_sliced_element(current_metadata, must_support_elements_metadata)
|
296
|
-
|
297
|
-
supported_types = current_element.type.select { |type| save_type_code?(type) }.map { |type| type.code }
|
298
|
-
current_metadata[:types] = supported_types if supported_types.present?
|
299
|
-
|
300
|
-
handle_type_must_support_target_profiles(current_element.type.first, current_metadata) if current_element.type.first&.code == 'Reference'
|
301
|
-
|
302
|
-
handle_fixed_values(current_metadata, current_element)
|
303
|
-
|
304
|
-
must_support_elements_metadata.delete_if do |metadata|
|
305
|
-
metadata[:path] == current_metadata[:path] && metadata[:fixed_value].blank?
|
306
|
-
end
|
307
|
-
|
308
|
-
must_support_elements_metadata << current_metadata
|
309
|
-
end
|
310
|
-
end
|
311
|
-
end.uniq
|
312
|
-
end
|
313
|
-
|
314
15
|
#### SPECIAL CASE ####
|
315
16
|
|
316
17
|
def handle_special_cases
|
@@ -78,7 +78,7 @@ module DaVinciPlanNetTestKit
|
|
78
78
|
def build_must_support_list_string(uscdi_only)
|
79
79
|
slice_names = group_metadata.must_supports[:slices]
|
80
80
|
.select { |slice| slice[:uscdi_only].presence == uscdi_only.presence }
|
81
|
-
.map { |slice| slice[:
|
81
|
+
.map { |slice| slice[:slice_id] }
|
82
82
|
|
83
83
|
element_names = group_metadata.must_supports[:elements]
|
84
84
|
.select { |element| element[:uscdi_only].presence == uscdi_only.presence }
|
@@ -51,7 +51,7 @@ module DaVinciPlanNetTestKit
|
|
51
51
|
# and the Plan-Net requirements. However, the NPI and CLIA identifier types, which are Must-Support, are clearly
|
52
52
|
# intended for provider organizations only and are not expected to be populated for other organization types.
|
53
53
|
network_group = ig_metadata.groups.find { |group| group.name == 'plannet_Network'}
|
54
|
-
adjusted_must_supports = network_group.must_supports[:slices].dup.delete_if {|slice| slice[:
|
54
|
+
adjusted_must_supports = network_group.must_supports[:slices].dup.delete_if {|slice| slice[:slice_id] == 'Organization.identifier:NPI'}
|
55
55
|
network_group.must_supports[:slices] = adjusted_must_supports
|
56
56
|
end
|
57
57
|
|
@@ -13,6 +13,7 @@ module DaVinciPlanNetTestKit
|
|
13
13
|
run_as_group<% if optional? %>
|
14
14
|
optional
|
15
15
|
<% end %>
|
16
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@12'
|
16
17
|
|
17
18
|
def self.metadata
|
18
19
|
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '<%= profile_identifier %>', 'metadata.yml'), aliases: true))
|
@@ -20,6 +20,9 @@ module DaVinciPlanNetTestKit
|
|
20
20
|
)
|
21
21
|
|
22
22
|
id :<%= test_id %>
|
23
|
+
|
24
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@22'
|
25
|
+
|
23
26
|
input :<%= input_name %>,
|
24
27
|
title: '\'<%= "#{constraining_param}" %>\' value from <%= "#{a_or_an(source_resource)}" %> instance with \'<%= "#{target_param}" %>\' populated',
|
25
28
|
description: 'Single value from the \'<%= constraining_param %>\' element of <%= a_or_an(source_resource) %>
|
@@ -18,6 +18,9 @@ module DaVinciPlanNetTestKit
|
|
18
18
|
)
|
19
19
|
|
20
20
|
id :<%= test_id %>
|
21
|
+
|
22
|
+
verifies_requirements 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0@28'
|
23
|
+
|
21
24
|
input :<%= input_name %>,
|
22
25
|
title: '<%= resource_type %> instance ids referenced in <%= "#{revinclude_param_resource}.#{rev_param_sp}" %>',
|
23
26
|
description: %(Comma separated list of <%= resource_type %> instance ids that are referenced by <%= "#{a_or_an(revinclude_param_resource)}" %>
|
@@ -25,6 +28,7 @@ module DaVinciPlanNetTestKit
|
|
25
28
|
when run at the group level.),
|
26
29
|
optional: true
|
27
30
|
|
31
|
+
|
28
32
|
def properties
|
29
33
|
@properties ||= SearchTestProperties.new(
|
30
34
|
<%= search_test_properties_string %>
|
@@ -144,6 +144,14 @@ module DaVinciPlanNetTestKit
|
|
144
144
|
|
145
145
|
id :<%= suite_id %>
|
146
146
|
|
147
|
+
requirement_sets(
|
148
|
+
{
|
149
|
+
identifier: 'hl7.fhir.us.davinci-pdex-plan-net_1.1.0',
|
150
|
+
title: 'DaVinci PDEX Plan Net',
|
151
|
+
actor: 'Server'
|
152
|
+
}
|
153
|
+
)
|
154
|
+
|
147
155
|
fhir_resource_validator do
|
148
156
|
igs '<%= ig_identifier %>'
|
149
157
|
|