davinci_plan_net_test_kit 0.11.1 → 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 +54 -44
- 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 +59 -46
- 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
@@ -1,4 +1,3 @@
|
|
1
|
-
require 'inferno/dsl/oauth_credentials'
|
2
1
|
require_relative '../../version'
|
3
2
|
require_relative '<%= capability_statement_file_name %>'
|
4
3
|
<% group_file_list.each do |file_name| %>require_relative '<%= file_name %>'
|
@@ -13,15 +12,15 @@ module DaVinciPlanNetTestKit
|
|
13
12
|
|
14
13
|
## Scope
|
15
14
|
|
16
|
-
These tests are a **DRAFT** intended to allow Plan Net server implementers to perform
|
17
|
-
preliminary checks of their servers against Plan Net IG requirements and [provide
|
18
|
-
feedback](https://github.com/inferno-framework/davinci-plan-net-test-kit/issues)
|
19
|
-
to ONC on the tests. Future versions of these tests may validate other
|
15
|
+
These tests are a **DRAFT** intended to allow Plan Net server implementers to perform
|
16
|
+
preliminary checks of their servers against Plan Net IG requirements and [provide
|
17
|
+
feedback](https://github.com/inferno-framework/davinci-plan-net-test-kit/issues)
|
18
|
+
to ONC on the tests. Future versions of these tests may validate other
|
20
19
|
requirements and may change the test validation logic.
|
21
20
|
|
22
21
|
## Test Methodology
|
23
22
|
|
24
|
-
Inferno will act as a client and make a series of requests to the
|
23
|
+
Inferno will act as a client and make a series of requests to the
|
25
24
|
server under test. The responses will be checked for conformance to the Plan
|
26
25
|
Net IG requirements individually and used in aggregate to determine whether
|
27
26
|
required features and functionality are present.
|
@@ -30,10 +29,10 @@ module DaVinciPlanNetTestKit
|
|
30
29
|
`tx.fhir.org` as the terminology server.
|
31
30
|
|
32
31
|
## Running the Tests
|
33
|
-
|
32
|
+
|
34
33
|
### Quick Start
|
35
34
|
|
36
|
-
The tests are designed to be runnable with a single input from the user:
|
35
|
+
The tests are designed to be runnable with a single input from the user:
|
37
36
|
the base FHIR URL of the server under test. To run in this mode:
|
38
37
|
1. Click the `RUN ALL TESTS` button in the upper right
|
39
38
|
2. Provide the URL for the server in the first "FHIR Endpoint (required)" input
|
@@ -41,10 +40,10 @@ module DaVinciPlanNetTestKit
|
|
41
40
|
4. Wait for Inferno to run the tests (will take several minutes)
|
42
41
|
5. Expand tests with failures to determine the reason
|
43
42
|
|
44
|
-
If you would like to try out the tests but don't have a Plan Net server implementation,
|
45
|
-
you can use the publicly available reference implementation available at URL
|
43
|
+
If you would like to try out the tests but don't have a Plan Net server implementation,
|
44
|
+
you can use the publicly available reference implementation available at URL
|
46
45
|
https://plan-net-ri.davinci.hl7.org/fhir. Select this endpoint by using that URL as the
|
47
|
-
"FHIR Endpoint (required)" input or prepopulating it by selecting the
|
46
|
+
"FHIR Endpoint (required)" input or prepopulating it by selecting the
|
48
47
|
`Da Vinci Plan Net Reference Server` preset in the upper left. Note that this
|
49
48
|
system is not currently expected to pass all of the tests.
|
50
49
|
|
@@ -53,8 +52,8 @@ module DaVinciPlanNetTestKit
|
|
53
52
|
- Additional data within the system under test, e.g., to demonstrate all Must Support elements.
|
54
53
|
- Fixes to the system under test.
|
55
54
|
|
56
|
-
Note that this mode requires that the server support parameterless searches against
|
57
|
-
Plan Net resource types (e.g., `GET [FHIR Endpoint]/InsurancePlan`), which are not required
|
55
|
+
Note that this mode requires that the server support parameterless searches against
|
56
|
+
Plan Net resource types (e.g., `GET [FHIR Endpoint]/InsurancePlan`), which are not required
|
58
57
|
by the Plan Net IG. If your server does not support these searches, or some returned instances
|
59
58
|
will not conform to Plan Net profiles, see the *Instance Gathering* section under
|
60
59
|
*Test Configuration Details* below for how to disable these searches and direct the tests
|
@@ -62,8 +61,8 @@ module DaVinciPlanNetTestKit
|
|
62
61
|
|
63
62
|
### Running Groups Individually
|
64
63
|
|
65
|
-
Each test group listed on the left can be run individually using the `RUN TESTS`
|
66
|
-
button in the upper right of the group page. However, note that running
|
64
|
+
Each test group listed on the left can be run individually using the `RUN TESTS`
|
65
|
+
button in the upper right of the group page. However, note that running
|
67
66
|
them individually requires additional inputs so that Inferno can find appropriate values for searches
|
68
67
|
(see *Determination of Search Values When Running Single Groups* below for details).
|
69
68
|
|
@@ -74,60 +73,59 @@ module DaVinciPlanNetTestKit
|
|
74
73
|
|
75
74
|
### Authentication
|
76
75
|
|
77
|
-
The Plan Net IG requires that "A conformant Plan-Net service SHALL NOT
|
78
|
-
require a directory mobile application to send consumer identifying information
|
76
|
+
The Plan Net IG requires that "A conformant Plan-Net service SHALL NOT
|
77
|
+
require a directory mobile application to send consumer identifying information
|
79
78
|
in order to query content." A simple way to ensure this is to not require authentication,
|
80
79
|
which is safe because the information in scope does not include PHI. Thus, the
|
81
80
|
tests do not send authentication details by default.
|
82
81
|
|
83
|
-
If a server under test requires authentication information to be sent, an access token
|
84
|
-
may be provided using the "OAuth Credentials - Access Token" input. When populated,
|
82
|
+
If a server under test requires authentication information to be sent, an access token
|
83
|
+
may be provided using the "OAuth Credentials - Access Token" input. When populated,
|
85
84
|
requests to the server will include an HTTP header of the form `Authorization: Bearer [access token]`.
|
86
85
|
|
87
86
|
### Instance Gathering
|
88
87
|
|
89
88
|
Inferno needs to identify instances of each profile to use to validate conformance to
|
90
|
-
structural and search API requirements. Inferno will use one or a combination of the
|
89
|
+
structural and search API requirements. Inferno will use one or a combination of the
|
91
90
|
following two approaches as directed by the inputs.
|
92
91
|
|
93
92
|
#### Parameterless searches (default)
|
94
|
-
|
95
|
-
Inferno will use a search against the base resource type without any search
|
96
|
-
parameters (`GET [FHIR Endpoint]/[Resource Type]`) to identify instances of each profile.
|
93
|
+
|
94
|
+
Inferno will use a search against the base resource type without any search
|
95
|
+
parameters (`GET [FHIR Endpoint]/[Resource Type]`) to identify instances of each profile.
|
97
96
|
This behavior can be controlled using the following inputs:
|
98
97
|
- "Use parameterless searches to identify instances?": if the server under test does not support
|
99
98
|
parameterless searches, this can be set to `No` to disable parameterless searches.
|
100
|
-
- "Maximum number of instances to gather using parameterless searches (required)" and
|
101
|
-
"Maximum pages of results to consider when using parameterless searches (required)": if fewer
|
102
|
-
instances (e.g., to improve performance) or more instances (e.g., to improve Must Support
|
99
|
+
- "Maximum number of instances to gather using parameterless searches (required)" and
|
100
|
+
"Maximum pages of results to consider when using parameterless searches (required)": if fewer
|
101
|
+
instances (e.g., to improve performance) or more instances (e.g., to improve Must Support
|
103
102
|
element coverage) should be gathered, these inputs can be adjusted to tune the number
|
104
103
|
of instances that Inferno will gather using parameterless searches.
|
105
|
-
|
104
|
+
|
106
105
|
#### Specific instance ids
|
107
|
-
|
108
|
-
Inputs of the form "ids of [profile] instances" can be used by the user to specify particular
|
106
|
+
|
107
|
+
Inputs of the form "ids of [profile] instances" can be used by the user to specify particular
|
109
108
|
instances for Inferno to gather for use in testing. Inferno will perform a read on each provided id
|
110
|
-
to gather the instances. When parameterless searches are not used, all inputs of this form must be populated.
|
109
|
+
to gather the instances. When parameterless searches are not used, all inputs of this form must be populated.
|
111
110
|
When instance ids are provided in addition to parameterless searches, instances provided by the user
|
112
111
|
are prioritized for use in determining search values for search tests.
|
113
|
-
|
112
|
+
|
114
113
|
### Determination of Search Values When Running Single Groups
|
115
114
|
|
116
|
-
Validation of search parameters requires Inferno to identify values that are expected
|
117
|
-
to return instances. By default, Inferno does this by examining gathered instances of each profile
|
115
|
+
Validation of search parameters requires Inferno to identify values that are expected
|
116
|
+
to return instances. By default, Inferno does this by examining gathered instances of each profile
|
118
117
|
to identify search values that should return results when performed against the server under
|
119
118
|
test. For `_revinclude` and reverse chaining tests, Inferno needs access to instances of other profiles
|
120
|
-
in order to determine appropriate search values. When test groups are run individually, Inferno will not
|
121
|
-
have access to instances identified while running other groups. Thus, when running at the group level,
|
119
|
+
in order to determine appropriate search values. When test groups are run individually, Inferno will not
|
120
|
+
have access to instances identified while running other groups. Thus, when running at the group level,
|
122
121
|
two additional inputs are required to allow the tests to identify appropriate search values:
|
123
|
-
- "[target profile] instance ids referenced in [referencing profile].[reference element]":
|
124
|
-
used by `_revinclude` tests on [target profile] when run as a group to identify
|
122
|
+
- "[target profile] instance ids referenced in [referencing profile].[reference element]":
|
123
|
+
used by `_revinclude` tests on [target profile] when run as a group to identify
|
125
124
|
instances of the [target profile] that have instances of [referencing profile] that reference it.
|
126
|
-
- "'[constraining element]' value from a [referencing profile] instance with '[reference element]' populated": used by reverse chaining tests
|
127
|
-
on the [target profile] referenced in the [reference element] element when run as a single group
|
125
|
+
- "'[constraining element]' value from a [referencing profile] instance with '[reference element]' populated": used by reverse chaining tests
|
126
|
+
on the [target profile] referenced in the [reference element] element when run as a single group
|
128
127
|
to identify the value to use when performing the reverse chain search.
|
129
128
|
)
|
130
|
-
version VERSION
|
131
129
|
|
132
130
|
VALIDATION_MESSAGE_FILTERS = [
|
133
131
|
%r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
|
@@ -146,6 +144,14 @@ module DaVinciPlanNetTestKit
|
|
146
144
|
|
147
145
|
id :<%= suite_id %>
|
148
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
|
+
|
149
155
|
fhir_resource_validator do
|
150
156
|
igs '<%= ig_identifier %>'
|
151
157
|
|
@@ -167,9 +173,13 @@ module DaVinciPlanNetTestKit
|
|
167
173
|
url: 'https://github.com/inferno-framework/davinci-plan-net-test-kit/issues'
|
168
174
|
},
|
169
175
|
{
|
170
|
-
label: 'Source
|
176
|
+
label: 'Open Source',
|
171
177
|
url: 'https://github.com/inferno-framework/davinci-plan-net-test-kit'
|
172
178
|
},
|
179
|
+
{
|
180
|
+
label: 'Download',
|
181
|
+
url: 'https://github.com/inferno-framework/davinci-plan-net-test-kit/releases'
|
182
|
+
},
|
173
183
|
{
|
174
184
|
label: 'Implementation Guide',
|
175
185
|
url: '<%=ig_link %>'
|
@@ -179,10 +189,13 @@ module DaVinciPlanNetTestKit
|
|
179
189
|
input :url,
|
180
190
|
title: 'FHIR Endpoint',
|
181
191
|
description: 'URL of the FHIR endpoint'
|
182
|
-
input :
|
192
|
+
input :smart_auth_info,
|
183
193
|
title: 'OAuth Credentials',
|
184
|
-
type: :
|
185
|
-
optional: true
|
194
|
+
type: :auth_info,
|
195
|
+
optional: true,
|
196
|
+
options: {
|
197
|
+
mode: 'access'
|
198
|
+
}
|
186
199
|
input :no_param_search,
|
187
200
|
title: 'Use parameterless searches to identify instances?',
|
188
201
|
type: 'radio',
|
@@ -208,10 +221,10 @@ module DaVinciPlanNetTestKit
|
|
208
221
|
title: 'Maximum pages of results to consider when using parameterless searches',
|
209
222
|
default: '20',
|
210
223
|
description: 'Only used with parameterless searches. A higher number will gather more instances for the tests, if they are available. The test will not consider further pages once the maximum number of instances has been reached.'
|
211
|
-
|
224
|
+
|
212
225
|
fhir_client do
|
213
226
|
url :url
|
214
|
-
|
227
|
+
auth_info :smart_auth_info
|
215
228
|
end
|
216
229
|
|
217
230
|
group from: :<%= capability_statement_group_id %>
|
@@ -14,198 +14,7 @@ module DaVinciPlanNetTestKit
|
|
14
14
|
def perform_must_support_test(resources)
|
15
15
|
skip_if resources.blank?, "No #{resource_type} resources were found"
|
16
16
|
|
17
|
-
|
18
|
-
missing_slices(resources)
|
19
|
-
missing_extensions(resources)
|
20
|
-
|
21
|
-
handle_must_support_choices if metadata.must_supports[:choices].present?
|
22
|
-
|
23
|
-
if (missing_elements + missing_slices + missing_extensions).length.zero?
|
24
|
-
pass
|
25
|
-
end
|
26
|
-
|
27
|
-
skip "Could not find #{missing_must_support_strings.join(', ')} in the #{resources.length} " \
|
28
|
-
"provided #{resource_type} resource(s)"
|
29
|
-
end
|
30
|
-
|
31
|
-
def handle_must_support_choices
|
32
|
-
missing_elements.delete_if do |element|
|
33
|
-
choices = metadata.must_supports[:choices].find { |choice| choice[:paths]&.include?(element[:path]) }
|
34
|
-
is_any_choice_supported?(choices)
|
35
|
-
end
|
36
|
-
|
37
|
-
missing_extensions.delete_if do |extension|
|
38
|
-
choices = metadata.must_supports[:choices].find { |choice| choice[:extension_ids]&.include?(extension[:id]) }
|
39
|
-
is_any_choice_supported?(choices)
|
40
|
-
end
|
41
|
-
|
42
|
-
missing_slices.delete_if do |slice|
|
43
|
-
choices = metadata.must_supports[:choices].find { |choice| choice[:slice_names]&.include?(slice[:name]) }
|
44
|
-
is_any_choice_supported?(choices)
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
def is_any_choice_supported? (choices)
|
49
|
-
choices.present? &&
|
50
|
-
(
|
51
|
-
choices[:paths]&.any? { |path| missing_elements.none? { |element| element[:path] == path } } ||
|
52
|
-
choices[:extension_ids]&.any? { |extension_id| missing_extensions.none? { |extension| extension[:id] == extension_id} } ||
|
53
|
-
choices[:slice_names]&.any? { |slice_name| missing_slices.none? { |slice| slice[:name] == slice_name} }
|
54
|
-
)
|
55
|
-
end
|
56
|
-
|
57
|
-
def missing_must_support_strings
|
58
|
-
missing_elements.map { |element_definition| missing_element_string(element_definition) } +
|
59
|
-
missing_slices.map { |slice_definition| slice_definition[:name] } +
|
60
|
-
missing_extensions.map { |extension_definition| extension_definition[:id] }
|
61
|
-
end
|
62
|
-
|
63
|
-
def missing_element_string(element_definition)
|
64
|
-
if element_definition[:fixed_value].present?
|
65
|
-
"#{element_definition[:path]}:#{element_definition[:fixed_value]}"
|
66
|
-
else
|
67
|
-
element_definition[:path]
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
def exclude_uscdi_only_test?
|
72
|
-
config.options[:exclude_uscdi_only_test] == true
|
73
|
-
end
|
74
|
-
|
75
|
-
def must_support_extensions
|
76
|
-
if exclude_uscdi_only_test?
|
77
|
-
metadata.must_supports[:extensions].reject{ |extension| extension[:uscdi_only] }
|
78
|
-
else
|
79
|
-
metadata.must_supports[:extensions]
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
def missing_extensions(resources = [])
|
84
|
-
@missing_extensions ||=
|
85
|
-
must_support_extensions.select do |extension_definition|
|
86
|
-
resources.none? do |resource|
|
87
|
-
resource.extension.any? { |extension| extension.url == extension_definition[:url] }
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
def must_support_elements
|
93
|
-
if exclude_uscdi_only_test?
|
94
|
-
metadata.must_supports[:elements].reject{ |element| element[:uscdi_only] }
|
95
|
-
else
|
96
|
-
metadata.must_supports[:elements]
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def missing_elements(resources = [])
|
101
|
-
@missing_elements ||=
|
102
|
-
must_support_elements.select do |element_definition|
|
103
|
-
resources.none? do |resource|
|
104
|
-
path = element_definition[:path] #.delete_suffix('[x]')
|
105
|
-
value_found = find_a_value_at(resource, path) do |value|
|
106
|
-
value_without_extensions =
|
107
|
-
value.respond_to?(:to_hash) ? value.to_hash.reject { |key, _| key == 'extension' } : value
|
108
|
-
|
109
|
-
(value_without_extensions.present? || value_without_extensions == false) &&
|
110
|
-
(element_definition[:fixed_value].blank? || value == element_definition[:fixed_value])
|
111
|
-
|
112
|
-
end
|
113
|
-
|
114
|
-
# Note that false.present? => false, which is why we need to add this extra check
|
115
|
-
value_found.present? || value_found == false
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
@missing_elements
|
120
|
-
end
|
121
|
-
|
122
|
-
def must_support_slices
|
123
|
-
if exclude_uscdi_only_test?
|
124
|
-
metadata.must_supports[:slices].reject{ |slice| slice[:uscdi_only] }
|
125
|
-
else
|
126
|
-
metadata.must_supports[:slices]
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
def missing_slices(resources = [])
|
131
|
-
@missing_slices ||=
|
132
|
-
must_support_slices.select do |slice|
|
133
|
-
resources.none? do |resource|
|
134
|
-
path = slice[:path] # .delete_suffix('[x]')
|
135
|
-
find_slice(resource, path, slice[:discriminator]).present?
|
136
|
-
end
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def find_slice(resource, path, discriminator)
|
141
|
-
find_a_value_at(resource, path) do |element|
|
142
|
-
case discriminator[:type]
|
143
|
-
when 'patternCodeableConcept'
|
144
|
-
coding_path = discriminator[:path].present? ? "#{discriminator[:path]}.coding" : 'coding'
|
145
|
-
find_a_value_at(element, coding_path) do |coding|
|
146
|
-
coding.code == discriminator[:code] && coding.system == discriminator[:system]
|
147
|
-
end
|
148
|
-
when 'patternCoding'
|
149
|
-
coding_path = discriminator[:path].present? ? discriminator[:path] : ''
|
150
|
-
find_a_value_at(element, coding_path) do |coding|
|
151
|
-
coding.code == discriminator[:code] && coding.system == discriminator[:system]
|
152
|
-
end
|
153
|
-
when 'patternIdentifier'
|
154
|
-
find_a_value_at(element, discriminator[:path]) { |identifier| identifier.system == discriminator[:system] }
|
155
|
-
when 'value'
|
156
|
-
values = discriminator[:values].map { |value| value.merge(path: value[:path].split('.')) }
|
157
|
-
find_slice_by_values(element, values)
|
158
|
-
when 'type'
|
159
|
-
case discriminator[:code]
|
160
|
-
when 'Date'
|
161
|
-
begin
|
162
|
-
Date.parse(element)
|
163
|
-
rescue ArgumentError
|
164
|
-
false
|
165
|
-
end
|
166
|
-
when 'DateTime'
|
167
|
-
begin
|
168
|
-
DateTime.parse(element)
|
169
|
-
rescue ArgumentError
|
170
|
-
false
|
171
|
-
end
|
172
|
-
when 'String'
|
173
|
-
element.is_a? String
|
174
|
-
else
|
175
|
-
element.is_a? FHIR.const_get(discriminator[:code])
|
176
|
-
end
|
177
|
-
when 'requiredBinding'
|
178
|
-
coding_path = discriminator[:path].present? ? "#{discriminator[:path]}.coding" : 'coding'
|
179
|
-
find_a_value_at(element, coding_path) {|coding| discriminator[:values].include?(coding.code) }
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
def find_slice_by_values(element, value_definitions)
|
185
|
-
path_prefixes = value_definitions.map { |value_definition| value_definition[:path].first }.uniq
|
186
|
-
Array.wrap(element).find do |el|
|
187
|
-
path_prefixes.all? do |path_prefix|
|
188
|
-
value_definitions_for_path =
|
189
|
-
value_definitions
|
190
|
-
.select { |value_definition| value_definition[:path].first == path_prefix }
|
191
|
-
.each { |value_definition| value_definition[:path].shift }
|
192
|
-
|
193
|
-
find_a_value_at(el, path_prefix) do |el_found|
|
194
|
-
child_element_value_definitions, current_element_value_definitions =
|
195
|
-
value_definitions_for_path.partition { |value_definition| value_definition[:path].present? }
|
196
|
-
|
197
|
-
current_element_values_match =
|
198
|
-
current_element_value_definitions
|
199
|
-
.all? { |value_definition| value_definition[:value] == el_found }
|
200
|
-
|
201
|
-
child_element_values_match =
|
202
|
-
child_element_value_definitions.present? ?
|
203
|
-
find_slice_by_values(el_found, child_element_value_definitions) : true
|
204
|
-
|
205
|
-
current_element_values_match && child_element_values_match
|
206
|
-
end
|
207
|
-
end
|
208
|
-
end
|
17
|
+
skip { assert_must_support_elements_present(resources, nil, metadata:) }
|
209
18
|
end
|
210
19
|
end
|
211
20
|
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
Req Set,ID,URL,Requirement,Conformance,Actors,Sub-Requirement(s),Conditionality,Not Tested Reason,Not Tested Details
|
2
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,1,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#privacy-considerations-1,A conformant Plan-Net service SHALL NOT require a directory mobile application to send consumer identifying information in order to query content.,SHALL NOT,Server,,,Not Verifiable,
|
3
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,2,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#privacy-considerations-1,A directory mobile application SHALL NOT send consumer identifiable information when querying a Plan-Net service.,SHALL NOT,Client,,,Not Verifiable,
|
4
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,3,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#health-plan-api-requirements,Health Plan API actors SHALL be capable of populating all Must Support data elements as part of the query results.,SHALL,Server,,,,
|
5
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,4,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#health-plan-api-requirements,"In situations where information on a particular Must Support data element is not present and the minimum cardinality is 0 , the Health Plan API actors SHALL NOT include the data elements in the resource instance returned as part of the query results.",SHALL NOT,Server,,,Not Verifiable,
|
6
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,5,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#health-plan-api-requirements,In situations where information on a particular data element is not present and the minimum cardinality is >0 SHALL send the reason for the missing information using values (such as nullFlavors) from the value set where they exist or use the dataAbsentReason extension.,SHALL,Server,,,Not Verifiable,
|
7
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,6,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#application-requirements,Application actors SHALL be capable of processing resource instances containing the Must Support data elements without generating an error or causing the application to fail.,SHALL,Client,,,Not Tested,Client testing currently out of scope
|
8
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,7,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#application-requirements,Application actors SHOULD be capable of displaying the data elements for human use or storing the information for other purposes.,SHOULD,Client,,,Not Tested,Client testing currently out of scope
|
9
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,8,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#application-requirements,"When querying Health Plan API actors, Application actors SHALL interpret missing Must Support data elements within resource instances as data not present in the Health Plan API actors system.",SHALL,Client,,,Not Tested,Client testing currently out of scope
|
10
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,9,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#application-requirements,Consumer App actors SHALL be able to process resource instances containing Must Support data elements asserting missing information.,SHALL,Client,,,Not Tested,Client testing currently out of scope
|
11
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,10,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support json source formats for all Plan-Net interactions.,SHALL,Server,,,,
|
12
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,11,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Implement the RESTful behavior according to the FHIR specification.,SHALL,Server,,,Not Verifiable,
|
13
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,12,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support all profiles defined in this Implementation Guide.,SHALL,Server,,,,
|
14
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,13,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Return the following response classes: (Status 401/4xx): unauthorized request,SHALL,Server,,,Not Verifiable,
|
15
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,14,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Return the following response classes: (Status 403): insufficient scope,SHALL,Server,,,Not Verifiable,
|
16
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,15,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Return the following response classes: (Status 400): invalid parameter,SHALL,Server,,,Not Verifiable,
|
17
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,16,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Return the following response classes: (Status 404): unknown resource,SHALL,Server,,,Not Verifiable,
|
18
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,17,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Return the following response classes: (Status 410): deleted resource.,SHALL,Server,,,Not Verifiable,
|
19
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,18,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Identify the Plan-Net profiles supported as part of the FHIR meta.profile attribute for each instance.,SHALL,Server,,,Not Tested,Not intended by IG authors
|
20
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,19,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support the searchParameters on each profile individually,SHALL,Server,,,,
|
21
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,20,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support the searchParameters on each profile...in combination.,SHALL,Server,,,Not Tested,Caveat: partial because full scope prohibitively expensive
|
22
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,21,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support forward...chaining on all search parameters that specify the 'chain' property,SHALL,Server,,,,
|
23
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,22,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support...reverse chaining on all search parameters that specify the 'chain' property,SHALL,Server,,,,
|
24
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,23,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,Support xml source formats for all Plan-Net interactions.,SHOULD,Server,,,Not Tested,XML format not supported by Inferno
|
25
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,24,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/CapabilityStatement-plan-net.html#behavior,A server SHALL reject any unauthorized requests by returning an HTTP 401 unauthorized response code.,SHALL,Server,,,Not Verifiable,
|
26
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,25,https://hl7.org/fhir/us/davinci-pdex-plan-net/CapabilityStatement-plan-net.json,"For each resource type and profile, a Plan Net server SHALL support the read interaction",SHALL,Server,,,,
|
27
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,26,https://hl7.org/fhir/us/davinci-pdex-plan-net/CapabilityStatement-plan-net.json,"For each resource type and profile, a Plan Net server SHOULD support the vread interaction",SHOULD,Server,,,Not Tested,Low priority
|
28
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,27,http://hl7.org/fhir/us/davinci-pdex-plan-net/CapabilityStatement-plan-net.html#resource--details,[For each resource] A Server SHALL be capable of supporting the following _includes [list],SHALL,Server,,,,
|
29
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,28,http://hl7.org/fhir/us/davinci-pdex-plan-net/CapabilityStatement-plan-net.html#resource--details,[For each resource] A Server SHALL be capable of supporting the following _revincludes: [list],SHALL,Server,,,,
|
30
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,29,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/index.html#relation-to-us-core-and-other-igs,"The Network profile is based on USCore Organization, since there was no contradiction between the USCore profile and the Plan-Net requirements. However, the NPI and CLIA identifier types, which are Must-Support, are clearly intended for provider organizations only and are not expected to be populated for other organization types.",None,Server,,,,
|
31
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,30,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#client-detection-of-updates-directory-content,Each profile in this guide requires that the lastUpdate timestamp be provided as part of the profile's data content.,None,Server,,,Not Tested,
|
32
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,31,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#client-detection-of-updates-directory-content,Clients that cache query results can track additions or modifications to directory content through queries that filter content using the _lastUpdated search parameter.,None,Server,,,Not Verifiable,
|
33
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,32,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#representing-and-searching-provider-directory-data,"The Plan-Net design is based around the following types of searches….
|
34
|
+
- Search: General Search
|
35
|
+
- Example: Pharmacy
|
36
|
+
- Focal Resource and Field: HealthcareService.category, HealthcareService.specialty
|
37
|
+
- Qualifications of Search: Location, network",None,Server,,,Not Verifiable,
|
38
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,33,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#representing-and-searching-provider-directory-data,"The Plan-Net design is based around the following types of searches….
|
39
|
+
- Search: Provider by Name
|
40
|
+
- Example: Joe Smith
|
41
|
+
- Focal Resource and Field: Practitioner.name
|
42
|
+
- Qualifications of Search: Location, network, specialty, role/priviledges",None,Server,,,Not Verifiable,
|
43
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,34,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#representing-and-searching-provider-directory-data,"The Plan-Net design is based around the following types of searches….
|
44
|
+
- Search: Organization by Name
|
45
|
+
- Example: Montgomery Cardiology or CVS
|
46
|
+
- Focal Resource and Field: Organization.name
|
47
|
+
- Qualifications of Search: Location, network, specialty",None,Server,,,Not Verifiable,
|
48
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,35,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#representing-and-searching-provider-directory-data,"The Plan-Net design is based around the following types of searches….
|
49
|
+
- Search: Provider by Specialty
|
50
|
+
- Example: Cardiologist
|
51
|
+
- Focal Resource and Field: PractitionerRole.specialty
|
52
|
+
- Qualifications of Search: Location, network, name",None,Server,,,Not Verifiable,
|
53
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,36,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#representing-and-searching-provider-directory-data,"The Plan-Net design is based around the following types of searches….
|
54
|
+
- Search: Organization by specialty
|
55
|
+
- Example: Compounding Pharmacy
|
56
|
+
- Focal Resource and Field: OrganizationAffiliation.specialty
|
57
|
+
- Qualifications of Search: Location, network, name",None,Server,,,Not Verifiable,
|
58
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,37,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/implementation.html#searching-for-active-practictioners-and-organizations,"Sample query to search for currently active Practitioners (replace date in query with current date):
|
59
|
+
http://davinci-plan-net-ri.logicahealth.org/fhir/PractitionerRole?_include=PractitionerRole:date=ge2021-10-25
|
60
|
+
|
61
|
+
Sample query to search for currently active Organizations (replace date in query with current date):
|
62
|
+
http://davinci-plan-net-ri.logicahealth.org/fhir/OrganizationAffiliation?_include=OrganizationAffiliation:date=ge2021-10-25",None,Server,,,Not Verifiable,
|
63
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,38,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/StructureDefinition-plannet-Network.html#implementation-guidance,"When the contact is a department name, rather than a human (e.g., patient help line), include a blank family and given name, and provide the department name in contact.name.text.",None,Server,,,Not Verifiable,
|
64
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,39,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/StructureDefinition-plannet-Organization.html#implementation-guidance,"When the contact is a department name, rather than a human (e.g., patient help line), include a blank family and given name, and provide the department name in contact.name.text.",None,Server,,,Not Verifiable,
|
65
|
+
hl7.fhir.us.davinci-pdex-plan-net_1.1.0,40,http://hl7.org/fhir/us/davinci-pdex-plan-net/STU1.1/StructureDefinition-plannet-Practitioner.html#implementation-guidance,"When the value set for the coded concept in qualification is insufficient, the qualification can be provided in the text field of the codeableConcept.",None,Server,,,Not Verifiable,
|