Skip to content

Commit

Permalink
FI-2168: 2023 SVAP update (#459)
Browse files Browse the repository at this point in the history
* add us core 6 resources

* update terminology code for us core 6

* add additional VS from vsac

* update expected terminology manifest

* add us core 6 to g10 options

* update suite to include us core 6

* add us core 6 single patient api group

* update smart scopes test

* update preset for us core 6

* add us core validator urls to .env.development

* update restricted and unrestricted access groups for us core 6

* add temporary short id for us core 6 single patient group

* update bulk data tests for us core 6

* update smart capabilities check for us core 6

* update bulk data tests for us core 6

* update resource lists

* include specimen search tests

* note locations which need narrative updates

* fix uscdi version

* fix clinical result profile in bulk data

* fix linting errors

* update descriptions

* add us core 6 to readme

* update wording for us core 6

* handle error so missing short id map doesn't prevent inferno from starting

* update short ids

* make single patient api titles/short titles consistent

* fix linting error

* update to 2023AA umls release

* add final umls 2023 fixes

* use rc version

* bump core

* use dynamic server url in preset

* add 2023 prop file for terminology

* bump us core

* bump core

* fix short ids

* add required profiles for us core 6
  • Loading branch information
Jammjammjamm authored Nov 8, 2023
1 parent 3701251 commit e6bb966
Show file tree
Hide file tree
Showing 43 changed files with 2,129 additions and 252 deletions.
4 changes: 4 additions & 0 deletions .env.development
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
G10_VALIDATOR_URL=http://localhost/validatorapi
V311_VALIDATOR_URL=http://localhost/validatorapi
V400_VALIDATOR_URL=http://localhost/validatorapi
V501_VALIDATOR_URL=http://localhost/validatorapi
V610_VALIDATOR_URL=http://localhost/validatorapi
VALIDATOR_URL=http://localhost/validatorapi
REDIS_URL=redis://localhost:6379/0
INFERNO_HOST=http://localhost:4567
50 changes: 25 additions & 25 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
PATH
remote: .
specs:
onc_certification_g10_test_kit (3.8.1)
onc_certification_g10_test_kit (4.0.0.rc1)
bloomer (~> 1.0.0)
colorize (~> 0.8.1)
inferno_core (= 0.4.18)
inferno_core (~> 0.4.20)
json-jwt (~> 1.15.3)
mime-types (~> 3.4.0)
ndjson (~> 1.0.0)
rubyzip (~> 2.3.2)
smart_app_launch_test_kit (= 0.3.0)
tls_test_kit (= 0.2.0)
us_core_test_kit (= 0.6.0)
us_core_test_kit (= 0.6.1)

GEM
remote: https://rubygems.org/
Expand Down Expand Up @@ -160,8 +160,8 @@ GEM
i18n (1.14.1)
concurrent-ruby (~> 1.0)
ice_nine (0.11.2)
inferno_core (0.4.18)
activesupport (~> 6.1)
inferno_core (0.4.22)
activesupport (~> 6.1.7.5)
base62-rb (= 0.3.1)
blueprinter (= 0.25.2)
dotenv (~> 2.7)
Expand All @@ -178,7 +178,7 @@ GEM
oj (= 3.11.0)
pry
pry-byebug
puma (~> 5.3)
puma (~> 5.6.7)
rake (~> 13.0)
sequel (~> 5.42.0)
sidekiq (~> 6.5.6)
Expand All @@ -200,9 +200,9 @@ GEM
method_source (1.0.0)
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
mini_portile2 (2.8.4)
minitest (5.19.0)
mime-types-data (3.2023.1003)
mini_portile2 (2.8.5)
minitest (5.20.0)
msgpack (1.7.2)
multi_json (1.15.0)
multi_xml (0.6.0)
Expand All @@ -215,14 +215,14 @@ GEM
ndjson (1.0.0)
netrc (0.11.0)
nio4r (2.5.9)
nokogiri (1.15.3)
nokogiri (1.15.4)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
nokogiri (1.15.3-arm64-darwin)
nokogiri (1.15.4-arm64-darwin)
racc (~> 1.4)
nokogiri (1.15.3-x86_64-darwin)
nokogiri (1.15.4-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.15.3-x86_64-linux)
nokogiri (1.15.4-x86_64-linux)
racc (~> 1.4)
oauth2 (1.4.11)
faraday (>= 0.17.3, < 3.0)
Expand All @@ -245,10 +245,10 @@ GEM
public_suffix (5.0.3)
puma (5.6.7)
nio4r (~> 2.0)
racc (1.7.1)
racc (1.7.3)
rack (2.2.8)
rainbow (3.1.1)
rake (13.0.6)
rake (13.1.0)
redis (4.8.1)
regexp_parser (2.6.1)
reline (0.3.1)
Expand All @@ -259,7 +259,7 @@ GEM
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rexml (3.2.6)
rouge (4.1.3)
rouge (4.2.0)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
Expand Down Expand Up @@ -294,26 +294,26 @@ GEM
rubyzip (>= 1.3.0)
rubyzip (2.3.2)
sequel (5.42.0)
sidekiq (6.5.9)
sidekiq (6.5.12)
connection_pool (>= 2.2.5, < 3)
rack (~> 2.0)
redis (>= 4.5.0, < 5)
smart_app_launch_test_kit (0.3.0)
inferno_core (>= 0.4.2)
jwt (~> 2.2)
tls_test_kit (~> 0.2.0)
sqlite3 (1.6.5)
sqlite3 (1.6.8)
mini_portile2 (~> 2.8.0)
sqlite3 (1.6.5-arm64-darwin)
sqlite3 (1.6.5-x86_64-darwin)
sqlite3 (1.6.5-x86_64-linux)
sqlite3 (1.6.8-arm64-darwin)
sqlite3 (1.6.8-x86_64-darwin)
sqlite3 (1.6.8-x86_64-linux)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
thor (1.2.2)
tilt (2.2.0)
tilt (2.3.0)
tls_test_kit (0.2.0)
inferno_core (>= 0.4.1)
tty-color (0.6.0)
Expand All @@ -330,16 +330,16 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
unicode_utils (1.4.0)
us_core_test_kit (0.6.0)
us_core_test_kit (0.6.1)
inferno_core (>= 0.4.2)
tls_test_kit (~> 0.2.0)
webmock (3.18.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
zeitwerk (2.6.11)
zeitwerk (2.6.12)

PLATFORMS
arm64-darwin-21
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ series of HTTP requests that mimic a real world client to ensure that the API
supports an approved version of each of the required standards:

* Health Level 7 (HL7®) Fast Healthcare Interoperability Resources (FHIR®) (v4.0.1)
* US Core Implementation Guide (v3.1.1, v4.0.0, or v5.0.1)
* US Core Implementation Guide (v3.1.1, v4.0.0, v5.0.1, or v6.1.0)
* SMART Application Launch Framework Implementation Guide Release (v1.0.0, or
v2.0.0)
* HL7 FHIR Bulk Data Access (Flat FHIR) (v1.0.1, or v2.0.0)
Expand Down
2 changes: 1 addition & 1 deletion Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Inferno.logger.formatter = proc do |_severity, _datetime, _progname, message|
"#{message}\n"
end

default_version = '2022'
default_version = '2023'

namespace :terminology do |_argv|
desc 'download and execute UMLS terminology data'
Expand Down
2 changes: 1 addition & 1 deletion bin/create_umls.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if [ -n "$1" ]
then
version="$1"
else
version="2022"
version="2023"
fi

echo "Version: ${version}"
Expand Down
2 changes: 1 addition & 1 deletion bin/prepare_terminology.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ if [ -n "$1" ]
then
version="$1"
else
version="2022"
version="2023"
fi

temp_folder="tmp/terminology/${version}"
Expand Down
6 changes: 3 additions & 3 deletions bin/run_terminology.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ if [ -f /.dockerenv ]; then
fi
fi

./bin/prepare_terminology.sh 2022
./bin/prepare_terminology.sh 2023
bundle exec rake terminology:create_vs_validators["preferred"]
echo "$?"

if [ -n "$CLEANUP" ]
then
echo 'Deleting 2022 build files'
bundle exec rake terminology:cleanup_precursors["2022"]
echo 'Deleting 2023 build files'
bundle exec rake terminology:cleanup_precursors["2023"]
fi
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"type": "text",
"title": "Standalone FHIR Endpoint",
"description": "URL of the FHIR endpoint used by standalone applications",
"value": "https://inferno.healthit.gov/reference-server/r4"
"value": "<%= ENV.fetch('INFERNO_HOST', 'https://inferno.healthit.gov') %>/reference-server/r4"
},
{
"name": "standalone_client_id",
Expand Down Expand Up @@ -62,6 +62,19 @@
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read patient/ServiceRequest.read patient/RelatedPerson.read patient/QuestionnaireResponse.read patient/Media.read"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_1"
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read patient/ServiceRequest.read patient/RelatedPerson.read patient/QuestionnaireResponse.read patient/Media.read patient/Coverage.read patient/MedicationDispense.read patient/Specimen.read"
},
{
"options": [
{
Expand Down Expand Up @@ -100,6 +113,19 @@
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Patient.rs patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs patient/PractitionerRole.rs patient/ServiceRequest.rs patient/RelatedPerson.rs patient/QuestionnaireResponse.rs patient/Media.rs"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_2"
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Patient.rs patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs patient/PractitionerRole.rs patient/ServiceRequest.rs patient/RelatedPerson.rs patient/QuestionnaireResponse.rs patient/Media.rs patient/Coverage.rs patient/MedicationDispense.rs patient/Specimen.rs"
}
]
},
Expand Down Expand Up @@ -163,6 +189,19 @@
],
"value": "launch openid fhirUser offline_access user/Medication.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Patient.read user/Practitioner.read user/Procedure.read user/Provenance.read user/PractitionerRole.read user/ServiceRequest.read user/RelatedPerson.read user/QuestionnaireResponse.read user/Media.read"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_1"
}
],
"value": "launch openid fhirUser offline_access user/Medication.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Patient.read user/Practitioner.read user/Procedure.read user/Provenance.read user/PractitionerRole.read user/ServiceRequest.read user/RelatedPerson.read user/QuestionnaireResponse.read user/Media.read user/Coverage.read user/MedicationDispense.read user/ServiceRequest.read user/RelatedPerson.read user/Specimen.read"
},
{
"options": [
{
Expand Down Expand Up @@ -201,6 +240,19 @@
}
],
"value": "launch openid fhirUser offline_access user/Medication.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Patient.rs user/Practitioner.rs user/Procedure.rs user/Provenance.rs user/PractitionerRole.rs user/ServiceRequest.rs user/RelatedPerson.rs user/QuestionnaireResponse.rs user/Media.rs"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_2"
}
],
"value": "launch openid fhirUser offline_access user/Medication.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Patient.rs user/Practitioner.rs user/Procedure.rs user/Provenance.rs user/PractitionerRole.rs user/ServiceRequest.rs user/RelatedPerson.rs user/QuestionnaireResponse.rs user/Media.rs user/Coverage.rs user/MedicationDispense.rs user/ServiceRequest.rs user/RelatedPerson.rs user/Specimen.rs"
}
]
},
Expand Down Expand Up @@ -230,7 +282,7 @@
"type": "text",
"title": "Backend Services Token Endpoint",
"description": "The OAuth 2.0 Token Endpoint used by the Backend Services specification\n to provide bearer tokens.",
"value": "https://inferno.healthit.gov/reference-server/oauth/token"
"value": "<%= ENV.fetch('INFERNO_HOST', 'https://inferno.healthit.gov') %>/reference-server/oauth/token"
},
{
"name": "bulk_client_id",
Expand Down Expand Up @@ -290,7 +342,7 @@
"type": "text",
"title": "Bulk Data FHIR URL",
"description": "The URL of the Bulk FHIR server.",
"value": "https://inferno.healthit.gov/reference-server/r4"
"value": "<%= ENV.fetch('INFERNO_HOST', 'https://inferno.healthit.gov') %>/reference-server/r4"
},
{
"name": "group_id",
Expand Down Expand Up @@ -381,6 +433,19 @@
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read patient/ServiceRequest.read patient/RelatedPerson.read patient/QuestionnaireResponse.read patient/Media.read"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_1"
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Patient.read patient/Practitioner.read patient/Procedure.read patient/Provenance.read patient/PractitionerRole.read patient/ServiceRequest.read patient/RelatedPerson.read patient/QuestionnaireResponse.read patient/Media.read patient/Coverage.read patient/MedicationDispense.read patient/Specimen.read"
},
{
"options": [
{
Expand Down Expand Up @@ -419,6 +484,19 @@
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Patient.rs patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs patient/PractitionerRole.rs patient/ServiceRequest.rs patient/RelatedPerson.rs patient/QuestionnaireResponse.rs patient/Media.rs"
},
{
"options": [
{
"name": "us_core_version",
"value": "us_core_6"
},
{
"name": "smart_app_launch_version",
"value": "smart_app_launch_2"
}
],
"value": "launch/patient openid fhirUser offline_access patient/Medication.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Patient.rs patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs patient/PractitionerRole.rs patient/ServiceRequest.rs patient/RelatedPerson.rs patient/QuestionnaireResponse.rs patient/Media.rs"
}
]
},
Expand Down
Loading

0 comments on commit e6bb966

Please # to comment.