onc_certification_g10_test_kit 2.3.0 → 3.0.0
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/inferno/terminology/expected_manifest.yml +242 -29
- data/lib/inferno/terminology/fhir_package_manager.rb +27 -0
- data/lib/inferno/terminology/loader.rb +22 -1
- data/lib/inferno/terminology/tasks/create_value_set_validators.rb +1 -1
- data/lib/inferno/terminology/tasks/download_fhir_terminology.rb +5 -0
- data/lib/inferno/terminology/value_set.rb +51 -5
- data/lib/onc_certification_g10_test_kit/base_token_refresh_group.rb +5 -4
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu1.rb +5 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu2.rb +2 -0
- data/lib/onc_certification_g10_test_kit/bulk_data_group_export_validation.rb +206 -28
- data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +25 -40
- data/lib/onc_certification_g10_test_kit/encounter_context_test.rb +30 -0
- data/lib/onc_certification_g10_test_kit/feature.rb +5 -8
- data/lib/onc_certification_g10_test_kit/limited_scope_grant_test.rb +18 -5
- data/lib/onc_certification_g10_test_kit/profile_selector.rb +175 -0
- data/lib/onc_certification_g10_test_kit/restricted_resource_type_access_group.rb +54 -4
- data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +93 -0
- data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +50 -5
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +94 -0
- data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +94 -0
- data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +197 -13
- data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +310 -0
- data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +211 -0
- data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +135 -9
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +16 -4
- data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +130 -0
- data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +134 -67
- data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +166 -11
- data/lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb +119 -135
- data/lib/onc_certification_g10_test_kit/version.rb +1 -1
- data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +19 -0
- data/lib/onc_certification_g10_test_kit/well_known_capabilities_test.rb +7 -1
- data/lib/onc_certification_g10_test_kit.rb +115 -74
- metadata +19 -11
- data/lib/onc_certification_g10_test_kit/profile_guesser.rb +0 -72
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adbba68d88b3af6ac68f713093db688cf40e238e00435cfc25f1dd7a533dcdb5
|
4
|
+
data.tar.gz: 78d90d908e7c9dac8bb0e78072aa75014db120d11fc9daf09bd247118a0bc6bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bfe60790522993322888d224c41556f61010a800f378f14a0a4597d70c198d887f68b9e97819cfb5696988a26ad07de386e8c2af92e1ca34bd541ff918fb575
|
7
|
+
data.tar.gz: 90f2b6a0cfed1eaaf46519e68faec2937f210f5504f3d4cd1ad72070fd4a031db5e0cc5b136fe9bf895005483dcac673ff282b2b8c7cdb647447ff49df7d4c7e
|
@@ -97,6 +97,7 @@
|
|
97
97
|
:code_systems:
|
98
98
|
- http://nucc.org/provider-taxonomy
|
99
99
|
- http://snomed.info/sct
|
100
|
+
- urn:oid:2.16.840.1.113883.6.101
|
100
101
|
- :url: http://hl7.org/fhir/ValueSet/condition-clinical
|
101
102
|
:file: hl7_org_fhir_ValueSet_condition-clinical.msgpack
|
102
103
|
:count: 6
|
@@ -111,11 +112,12 @@
|
|
111
112
|
- http://terminology.hl7.org/CodeSystem/condition-ver-status
|
112
113
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-condition-category
|
113
114
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-condition-category.msgpack
|
114
|
-
:count:
|
115
|
+
:count: 4
|
115
116
|
:type: bloom
|
116
117
|
:code_systems:
|
117
118
|
- http://terminology.hl7.org/CodeSystem/condition-category
|
118
119
|
- http://hl7.org/fhir/us/core/CodeSystem/condition-category
|
120
|
+
- http://snomed.info/sct
|
119
121
|
- :url: http://hl7.org/fhir/ValueSet/condition-severity
|
120
122
|
:file: hl7_org_fhir_ValueSet_condition-severity.msgpack
|
121
123
|
:count: 3
|
@@ -124,7 +126,7 @@
|
|
124
126
|
- http://snomed.info/sct
|
125
127
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-condition-code
|
126
128
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-condition-code.msgpack
|
127
|
-
:count:
|
129
|
+
:count: 297482
|
128
130
|
:type: bloom
|
129
131
|
:code_systems:
|
130
132
|
- http://snomed.info/sct
|
@@ -174,7 +176,7 @@
|
|
174
176
|
- http://loinc.org
|
175
177
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-diagnosticreport-report-and-note-codes
|
176
178
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-diagnosticreport-report-and-note-codes.msgpack
|
177
|
-
:count:
|
179
|
+
:count: 24810
|
178
180
|
:type: bloom
|
179
181
|
:code_systems:
|
180
182
|
- http://loinc.org
|
@@ -219,7 +221,11 @@
|
|
219
221
|
:file: hl7_org_fhir_ValueSet_security-labels.msgpack
|
220
222
|
:count: 200
|
221
223
|
:type: bloom
|
222
|
-
:code_systems:
|
224
|
+
:code_systems:
|
225
|
+
- http://terminology.hl7.org/CodeSystem/v3-Confidentiality
|
226
|
+
- http://terminology.hl7.org/CodeSystem/v3-ActCode
|
227
|
+
- http://terminology.hl7.org/CodeSystem/v3-ObservationValue
|
228
|
+
- http://terminology.hl7.org/CodeSystem/v3-ActReason
|
223
229
|
- :url: http://hl7.org/fhir/ValueSet/mimetypes
|
224
230
|
:file: hl7_org_fhir_ValueSet_mimetypes.msgpack
|
225
231
|
:count: 2382
|
@@ -381,7 +387,7 @@
|
|
381
387
|
- http://hl7.org/fhir/address-type
|
382
388
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state
|
383
389
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-usps-state.msgpack
|
384
|
-
:count:
|
390
|
+
:count: 62
|
385
391
|
:type: bloom
|
386
392
|
:code_systems:
|
387
393
|
- https://www.usps.com/
|
@@ -556,7 +562,7 @@
|
|
556
562
|
- http://terminology.hl7.org/CodeSystem/v2-0131
|
557
563
|
- :url: http://hl7.org/fhir/us/core/ValueSet/simple-language
|
558
564
|
:file: hl7_org_fhir_us_core_ValueSet_simple-language.msgpack
|
559
|
-
:count:
|
565
|
+
:count: 8239
|
560
566
|
:type: bloom
|
561
567
|
:code_systems:
|
562
568
|
- urn:ietf:bcp:47
|
@@ -568,48 +574,53 @@
|
|
568
574
|
- http://hl7.org/fhir/link-type
|
569
575
|
- :url: http://hl7.org/fhir/us/core/ValueSet/omb-race-category
|
570
576
|
:file: hl7_org_fhir_us_core_ValueSet_omb-race-category.msgpack
|
571
|
-
:count:
|
577
|
+
:count: 8
|
572
578
|
:type: bloom
|
573
579
|
:code_systems:
|
574
580
|
- urn:oid:2.16.840.1.113883.6.238
|
575
581
|
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
576
582
|
- :url: http://hl7.org/fhir/us/core/ValueSet/detailed-race
|
577
583
|
:file: hl7_org_fhir_us_core_ValueSet_detailed-race.msgpack
|
578
|
-
:count:
|
584
|
+
:count: 919
|
579
585
|
:type: bloom
|
580
586
|
:code_systems:
|
581
587
|
- urn:oid:2.16.840.1.113883.6.238
|
588
|
+
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
582
589
|
- :url: http://hl7.org/fhir/us/core/ValueSet/omb-ethnicity-category
|
583
590
|
:file: hl7_org_fhir_us_core_ValueSet_omb-ethnicity-category.msgpack
|
584
|
-
:count:
|
591
|
+
:count: 4
|
585
592
|
:type: bloom
|
586
593
|
:code_systems:
|
587
594
|
- urn:oid:2.16.840.1.113883.6.238
|
595
|
+
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
588
596
|
- :url: http://hl7.org/fhir/us/core/ValueSet/detailed-ethnicity
|
589
597
|
:file: hl7_org_fhir_us_core_ValueSet_detailed-ethnicity.msgpack
|
590
|
-
:count:
|
598
|
+
:count: 44
|
591
599
|
:type: bloom
|
592
600
|
:code_systems:
|
593
601
|
- urn:oid:2.16.840.1.113883.6.238
|
602
|
+
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
594
603
|
- :url: http://hl7.org/fhir/us/core/ValueSet/birthsex
|
595
604
|
:file: hl7_org_fhir_us_core_ValueSet_birthsex.msgpack
|
596
|
-
:count:
|
605
|
+
:count: 5
|
597
606
|
:type: bloom
|
598
607
|
:code_systems:
|
599
608
|
- http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
|
600
609
|
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
601
610
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-provider-role
|
602
611
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-provider-role.msgpack
|
603
|
-
:count:
|
612
|
+
:count: 862
|
604
613
|
:type: bloom
|
605
614
|
:code_systems:
|
606
615
|
- http://nucc.org/provider-taxonomy
|
616
|
+
- urn:oid:2.16.840.1.113883.6.101
|
607
617
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-provider-specialty
|
608
618
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-provider-specialty.msgpack
|
609
619
|
:count: 862
|
610
620
|
:type: bloom
|
611
621
|
:code_systems:
|
612
622
|
- http://nucc.org/provider-taxonomy
|
623
|
+
- urn:oid:2.16.840.1.113883.6.101
|
613
624
|
- :url: http://hl7.org/fhir/ValueSet/event-status
|
614
625
|
:file: hl7_org_fhir_ValueSet_event-status.msgpack
|
615
626
|
:count: 8
|
@@ -618,13 +629,17 @@
|
|
618
629
|
- http://hl7.org/fhir/event-status
|
619
630
|
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-procedure-code
|
620
631
|
:file: hl7_org_fhir_us_core_ValueSet_us-core-procedure-code.msgpack
|
621
|
-
:count:
|
632
|
+
:count: 556515
|
622
633
|
:type: bloom
|
623
634
|
:code_systems:
|
624
635
|
- http://www.ama-assn.org/go/cpt
|
625
636
|
- http://snomed.info/sct
|
626
|
-
-
|
637
|
+
- http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets
|
627
638
|
- http://www.cms.gov/Medicare/Coding/ICD10
|
639
|
+
- http://www.ada.org/cdt
|
640
|
+
- http://loinc.org
|
641
|
+
- urn:oid:2.16.840.1.113883.6.285
|
642
|
+
- http://ada.org/cdt
|
628
643
|
- urn:oid:2.16.840.1.113883.6.13
|
629
644
|
- :url: http://hl7.org/fhir/ValueSet/device-action
|
630
645
|
:file: hl7_org_fhir_ValueSet_device-action.msgpack
|
@@ -666,9 +681,157 @@
|
|
666
681
|
:type: bloom
|
667
682
|
:code_systems:
|
668
683
|
- http://hl7.org/fhir/provenance-entity-role
|
684
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8
|
685
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113762_1_4_1186_8.msgpack
|
686
|
+
:count: 766
|
687
|
+
:type: bloom
|
688
|
+
:code_systems:
|
689
|
+
- http://www.nlm.nih.gov/research/umls/rxnorm
|
690
|
+
- http://snomed.info/sct
|
691
|
+
- :url: http://hl7.org/fhir/ValueSet/narrative-status
|
692
|
+
:file: hl7_org_fhir_ValueSet_narrative-status.msgpack
|
693
|
+
:count: 4
|
694
|
+
:type: bloom
|
695
|
+
:code_systems:
|
696
|
+
- http://hl7.org/fhir/narrative-status
|
697
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
|
698
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113762_1_4_1099_30.msgpack
|
699
|
+
:count: 590
|
700
|
+
:type: bloom
|
701
|
+
:code_systems:
|
702
|
+
- http://snomed.info/sct
|
703
|
+
- http://terminology.hl7.org/CodeSystem/v3-ParticipationFunction
|
704
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.6
|
705
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113762_1_4_1010_6.msgpack
|
706
|
+
:count: 196
|
707
|
+
:type: bloom
|
708
|
+
:code_systems:
|
709
|
+
- http://hl7.org/fhir/sid/cvx
|
710
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4
|
711
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113762_1_4_1010_4.msgpack
|
712
|
+
:count: 1000
|
713
|
+
:type: bloom
|
714
|
+
:code_systems:
|
715
|
+
- http://www.nlm.nih.gov/research/umls/rxnorm
|
716
|
+
- :url: http://hl7.org/fhir/ValueSet/medicationrequest-category
|
717
|
+
:file: hl7_org_fhir_ValueSet_medicationrequest-category.msgpack
|
718
|
+
:count: 4
|
719
|
+
:type: bloom
|
720
|
+
:code_systems:
|
721
|
+
- http://terminology.hl7.org/CodeSystem/medicationrequest-category
|
722
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-vital-signs
|
723
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-vital-signs.msgpack
|
724
|
+
:count: 19
|
725
|
+
:type: bloom
|
726
|
+
:code_systems:
|
727
|
+
- http://loinc.org
|
728
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.38
|
729
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113883_11_20_9_38.msgpack
|
730
|
+
:count: 8
|
731
|
+
:type: bloom
|
732
|
+
:code_systems:
|
733
|
+
- http://snomed.info/sct
|
734
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
|
735
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_114222_4_11_1066.msgpack
|
736
|
+
:count: 856
|
737
|
+
:type: bloom
|
738
|
+
:code_systems:
|
739
|
+
- http://nucc.org/provider-taxonomy
|
740
|
+
- urn:oid:2.16.840.1.113883.6.101
|
741
|
+
- :url: http://hl7.org/fhir/ValueSet/resource-types
|
742
|
+
:file: hl7_org_fhir_ValueSet_resource-types.msgpack
|
743
|
+
:count: 148
|
744
|
+
:type: bloom
|
745
|
+
:code_systems:
|
746
|
+
- http://hl7.org/fhir/resource-types
|
747
|
+
- :url: http://hl7.org/fhir/ValueSet/condition-category
|
748
|
+
:file: hl7_org_fhir_ValueSet_condition-category.msgpack
|
749
|
+
:count: 2
|
750
|
+
:type: bloom
|
751
|
+
:code_systems:
|
752
|
+
- http://terminology.hl7.org/CodeSystem/condition-category
|
753
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-problem-or-health-concern
|
754
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-problem-or-health-concern.msgpack
|
755
|
+
:count: 2
|
756
|
+
:type: bloom
|
757
|
+
:code_systems:
|
758
|
+
- http://terminology.hl7.org/CodeSystem/condition-category
|
759
|
+
- http://hl7.org/fhir/us/core/CodeSystem/condition-category
|
760
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-goal-description
|
761
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-goal-description.msgpack
|
762
|
+
:count: 760133
|
763
|
+
:type: bloom
|
764
|
+
:code_systems:
|
765
|
+
- http://snomed.info/sct
|
766
|
+
- http://loinc.org
|
767
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-common-sdoh-assessments
|
768
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-common-sdoh-assessments.msgpack
|
769
|
+
:count: 47
|
770
|
+
:type: bloom
|
771
|
+
:code_systems:
|
772
|
+
- http://loinc.org
|
773
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-sexual-orientation
|
774
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-sexual-orientation.msgpack
|
775
|
+
:count: 6
|
776
|
+
:type: bloom
|
777
|
+
:code_systems:
|
778
|
+
- http://snomed.info/sct
|
779
|
+
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
780
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-survey-codes
|
781
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-survey-codes.msgpack
|
782
|
+
:count: 11120
|
783
|
+
:type: bloom
|
784
|
+
:code_systems:
|
785
|
+
- http://loinc.org
|
786
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-clinical-test-codes
|
787
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-clinical-test-codes.msgpack
|
788
|
+
:count: 461
|
789
|
+
:type: bloom
|
790
|
+
:code_systems:
|
791
|
+
- http://loinc.org
|
792
|
+
- :url: http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.32
|
793
|
+
:file: cts_nlm_nih_gov_fhir_ValueSet_2_16_840_1_113762_1_4_1021_32.msgpack
|
794
|
+
:count: 7
|
795
|
+
:type: bloom
|
796
|
+
:code_systems:
|
797
|
+
- http://snomed.info/sct
|
798
|
+
- http://terminology.hl7.org/CodeSystem/v3-NullFlavor
|
799
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-tags
|
800
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-tags.msgpack
|
801
|
+
:count: 1
|
802
|
+
:type: bloom
|
803
|
+
:code_systems:
|
804
|
+
- http://hl7.org/fhir/us/core/CodeSystem/us-core-tags
|
805
|
+
- :url: http://hl7.org/fhir/ValueSet/questionnaire-answers-status
|
806
|
+
:file: hl7_org_fhir_ValueSet_questionnaire-answers-status.msgpack
|
807
|
+
:count: 5
|
808
|
+
:type: bloom
|
809
|
+
:code_systems:
|
810
|
+
- http://hl7.org/fhir/questionnaire-answers-status
|
811
|
+
- urn:oid:2.16.840.1.113883.6.101
|
812
|
+
- :url: http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype
|
813
|
+
:file: hl7_org_fhir_ValueSet_relatedperson-relationshiptype.msgpack
|
814
|
+
:count: 117
|
815
|
+
:type: bloom
|
816
|
+
:code_systems:
|
817
|
+
- http://terminology.hl7.org/CodeSystem/v2-0131
|
818
|
+
- http://terminology.hl7.org/CodeSystem/v3-RoleCode
|
819
|
+
- :url: http://hl7.org/fhir/ValueSet/request-intent
|
820
|
+
:file: hl7_org_fhir_ValueSet_request-intent.msgpack
|
821
|
+
:count: 9
|
822
|
+
:type: bloom
|
823
|
+
:code_systems:
|
824
|
+
- http://hl7.org/fhir/request-intent
|
825
|
+
- :url: http://hl7.org/fhir/us/core/ValueSet/us-core-servicerequest-category
|
826
|
+
:file: hl7_org_fhir_us_core_ValueSet_us-core-servicerequest-category.msgpack
|
827
|
+
:count: 8
|
828
|
+
:type: bloom
|
829
|
+
:code_systems:
|
830
|
+
- http://hl7.org/fhir/us/core/CodeSystem/us-core-tags
|
831
|
+
- http://snomed.info/sct
|
669
832
|
- :url: urn:ietf:bcp:47
|
670
833
|
:file: urn_ietf_bcp_47.msgpack
|
671
|
-
:count:
|
834
|
+
:count: 8562
|
672
835
|
:type: bloom
|
673
836
|
:code_systems: urn:ietf:bcp:47
|
674
837
|
- :url: http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical
|
@@ -746,6 +909,11 @@
|
|
746
909
|
:count: 862
|
747
910
|
:type: bloom
|
748
911
|
:code_systems: http://nucc.org/provider-taxonomy
|
912
|
+
- :url: urn:oid:2.16.840.1.113883.6.101
|
913
|
+
:file: urn_oid_2_16_840_1_113883_6_101.msgpack
|
914
|
+
:count: 970
|
915
|
+
:type: bloom
|
916
|
+
:code_systems: urn:oid:2.16.840.1.113883.6.101
|
749
917
|
- :url: http://terminology.hl7.org/CodeSystem/condition-clinical
|
750
918
|
:file: terminology_hl7_org_CodeSystem_condition-clinical.msgpack
|
751
919
|
:count: 6
|
@@ -831,6 +999,26 @@
|
|
831
999
|
:count: 4
|
832
1000
|
:type: bloom
|
833
1001
|
:code_systems: http://hl7.org/fhir/document-relationship-type
|
1002
|
+
- :url: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
|
1003
|
+
:file: terminology_hl7_org_CodeSystem_v3-Confidentiality.msgpack
|
1004
|
+
:count: 20
|
1005
|
+
:type: bloom
|
1006
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/v3-Confidentiality
|
1007
|
+
- :url: http://terminology.hl7.org/CodeSystem/v3-ActCode
|
1008
|
+
:file: terminology_hl7_org_CodeSystem_v3-ActCode.msgpack
|
1009
|
+
:count: 1116
|
1010
|
+
:type: bloom
|
1011
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ActCode
|
1012
|
+
- :url: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
|
1013
|
+
:file: terminology_hl7_org_CodeSystem_v3-ObservationValue.msgpack
|
1014
|
+
:count: 250
|
1015
|
+
:type: bloom
|
1016
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ObservationValue
|
1017
|
+
- :url: http://terminology.hl7.org/CodeSystem/v3-ActReason
|
1018
|
+
:file: terminology_hl7_org_CodeSystem_v3-ActReason.msgpack
|
1019
|
+
:count: 280
|
1020
|
+
:type: bloom
|
1021
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ActReason
|
834
1022
|
- :url: urn:ietf:bcp:13
|
835
1023
|
:file: urn_ietf_bcp_13.msgpack
|
836
1024
|
:count: 2382
|
@@ -856,11 +1044,6 @@
|
|
856
1044
|
:count: 9
|
857
1045
|
:type: bloom
|
858
1046
|
:code_systems: http://hl7.org/fhir/encounter-status
|
859
|
-
- :url: http://terminology.hl7.org/CodeSystem/v3-ActCode
|
860
|
-
:file: terminology_hl7_org_CodeSystem_v3-ActCode.msgpack
|
861
|
-
:count: 1116
|
862
|
-
:type: bloom
|
863
|
-
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ActCode
|
864
1047
|
- :url: http://www.ama-assn.org/go/cpt
|
865
1048
|
:file: www_ama-assn_org_go_cpt.msgpack
|
866
1049
|
:count: 14654
|
@@ -963,7 +1146,7 @@
|
|
963
1146
|
:code_systems: http://hl7.org/fhir/address-type
|
964
1147
|
- :url: https://www.usps.com/
|
965
1148
|
:file: www_usps_com_.msgpack
|
966
|
-
:count:
|
1149
|
+
:count: 62
|
967
1150
|
:type: bloom
|
968
1151
|
:code_systems: https://www.usps.com/
|
969
1152
|
- :url: http://hl7.org/fhir/days-of-week
|
@@ -1076,26 +1259,36 @@
|
|
1076
1259
|
:count: 3
|
1077
1260
|
:type: bloom
|
1078
1261
|
:code_systems: http://terminology.hl7.org/CodeSystem/v3-AdministrativeGender
|
1079
|
-
- :url:
|
1080
|
-
:file:
|
1262
|
+
- :url: http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets
|
1263
|
+
:file: www_cms_gov_Medicare_Coding_HCPCSReleaseCodeSets.msgpack
|
1081
1264
|
:count: 7783
|
1082
1265
|
:type: bloom
|
1083
|
-
:code_systems:
|
1266
|
+
:code_systems: http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets
|
1084
1267
|
- :url: http://www.cms.gov/Medicare/Coding/ICD10
|
1085
1268
|
:file: www_cms_gov_Medicare_Coding_ICD10.msgpack
|
1086
1269
|
:count: 190673
|
1087
1270
|
:type: bloom
|
1088
1271
|
:code_systems: http://www.cms.gov/Medicare/Coding/ICD10
|
1272
|
+
- :url: http://www.ada.org/cdt
|
1273
|
+
:file: www_ada_org_cdt.msgpack
|
1274
|
+
:count: 867
|
1275
|
+
:type: bloom
|
1276
|
+
:code_systems: http://www.ada.org/cdt
|
1277
|
+
- :url: urn:oid:2.16.840.1.113883.6.285
|
1278
|
+
:file: urn_oid_2_16_840_1_113883_6_285.msgpack
|
1279
|
+
:count: 7783
|
1280
|
+
:type: bloom
|
1281
|
+
:code_systems: urn:oid:2.16.840.1.113883.6.285
|
1282
|
+
- :url: http://ada.org/cdt
|
1283
|
+
:file: ada_org_cdt.msgpack
|
1284
|
+
:count: 867
|
1285
|
+
:type: bloom
|
1286
|
+
:code_systems: http://ada.org/cdt
|
1089
1287
|
- :url: urn:oid:2.16.840.1.113883.6.13
|
1090
1288
|
:file: urn_oid_2_16_840_1_113883_6_13.msgpack
|
1091
1289
|
:count: 867
|
1092
1290
|
:type: bloom
|
1093
1291
|
:code_systems: urn:oid:2.16.840.1.113883.6.13
|
1094
|
-
- :url: http://terminology.hl7.org/CodeSystem/v3-ActReason
|
1095
|
-
:file: terminology_hl7_org_CodeSystem_v3-ActReason.msgpack
|
1096
|
-
:count: 280
|
1097
|
-
:type: bloom
|
1098
|
-
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ActReason
|
1099
1292
|
- :url: http://terminology.hl7.org/CodeSystem/v3-DocumentCompletion
|
1100
1293
|
:file: terminology_hl7_org_CodeSystem_v3-DocumentCompletion.msgpack
|
1101
1294
|
:count: 9
|
@@ -1121,3 +1314,23 @@
|
|
1121
1314
|
:count: 5
|
1122
1315
|
:type: bloom
|
1123
1316
|
:code_systems: http://hl7.org/fhir/provenance-entity-role
|
1317
|
+
- :url: http://terminology.hl7.org/CodeSystem/v3-ParticipationFunction
|
1318
|
+
:file: terminology_hl7_org_CodeSystem_v3-ParticipationFunction.msgpack
|
1319
|
+
:count: 49
|
1320
|
+
:type: bloom
|
1321
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/v3-ParticipationFunction
|
1322
|
+
- :url: http://terminology.hl7.org/CodeSystem/medicationrequest-category
|
1323
|
+
:file: terminology_hl7_org_CodeSystem_medicationrequest-category.msgpack
|
1324
|
+
:count: 4
|
1325
|
+
:type: bloom
|
1326
|
+
:code_systems: http://terminology.hl7.org/CodeSystem/medicationrequest-category
|
1327
|
+
- :url: http://hl7.org/fhir/us/core/CodeSystem/us-core-tags
|
1328
|
+
:file: hl7_org_fhir_us_core_CodeSystem_us-core-tags.msgpack
|
1329
|
+
:count: 1
|
1330
|
+
:type: bloom
|
1331
|
+
:code_systems: http://hl7.org/fhir/us/core/CodeSystem/us-core-tags
|
1332
|
+
- :url: http://hl7.org/fhir/questionnaire-answers-status
|
1333
|
+
:file: hl7_org_fhir_questionnaire-answers-status.msgpack
|
1334
|
+
:count: 5
|
1335
|
+
:type: bloom
|
1336
|
+
:code_systems: http://hl7.org/fhir/questionnaire-answers-status
|
@@ -10,6 +10,31 @@ module Inferno
|
|
10
10
|
module FHIRPackageManager
|
11
11
|
class << self
|
12
12
|
REGISTRY_SERVER_URL = 'https://packages.fhir.org'.freeze
|
13
|
+
REQUIRED_VSAC_VALUE_SET_URLS = [
|
14
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.8',
|
15
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30',
|
16
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.6',
|
17
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.4',
|
18
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.11.20.9.38',
|
19
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066',
|
20
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.10267',
|
21
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.27',
|
22
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.88.12.80.17',
|
23
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1010.5',
|
24
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.32',
|
25
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.836',
|
26
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.1.11.14914',
|
27
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.837',
|
28
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.877',
|
29
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1',
|
30
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.1',
|
31
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.88.12.80.17',
|
32
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.102',
|
33
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1021.103',
|
34
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1186.2',
|
35
|
+
'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.2074.1.1.3'
|
36
|
+
].freeze
|
37
|
+
|
13
38
|
# Get the FHIR Package from the registry.
|
14
39
|
#
|
15
40
|
# e.g. get_package('hl7.fhir.us.core#3.1.1')
|
@@ -49,6 +74,8 @@ module Inferno
|
|
49
74
|
resource = JSON.parse(entry.read) if file_name.end_with? '.json'
|
50
75
|
next unless resource&.[]('url')
|
51
76
|
|
77
|
+
next if package.start_with?('us.nlm.vsac') && !REQUIRED_VSAC_VALUE_SET_URLS.include?(resource['url'])
|
78
|
+
|
52
79
|
encoded_name = "#{encode_name(resource['url'])}.json"
|
53
80
|
encoded_file_name = File.join(path, encoded_name)
|
54
81
|
if File.exist?(encoded_file_name) && !resource['url'] == JSON.parse(File.read(encoded_file_name))['url']
|
@@ -49,6 +49,18 @@ module Inferno
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
def add_alternative_code_system_names(code_systems)
|
53
|
+
code_systems << 'urn:oid:2.16.840.1.113883.6.285' if code_systems.include? 'http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets'
|
54
|
+
code_systems << 'urn:oid:2.16.840.1.113883.6.13' if code_systems.include? 'http://ada.org/cdt'
|
55
|
+
if code_systems.include? 'http://www.ada.org/cdt'
|
56
|
+
code_systems << 'http://ada.org/cdt'
|
57
|
+
code_systems << 'urn:oid:2.16.840.1.113883.6.13'
|
58
|
+
end
|
59
|
+
code_systems << 'urn:oid:2.16.840.1.113883.6.101' if code_systems.include? 'http://nucc.org/provider-taxonomy'
|
60
|
+
code_systems << 'urn:oid:2.16.840.1.113883.6.101' if code_systems.include? 'http://hl7.org/fhir/questionnaire-answers-status'
|
61
|
+
code_systems.uniq!
|
62
|
+
end
|
63
|
+
|
52
64
|
# Creates the valueset validators, based on the passed in parameters and
|
53
65
|
# the value_sets_repo
|
54
66
|
#
|
@@ -86,13 +98,17 @@ module Inferno
|
|
86
98
|
begin
|
87
99
|
# Save the validator to file, and get the "new" count of number of codes
|
88
100
|
new_count = save_to_file(vs.value_set, filename, type)
|
101
|
+
code_systems = vs.all_included_code_systems
|
102
|
+
Inferno.logger.debug " #{new_count} codes"
|
103
|
+
next if new_count.zero?
|
89
104
|
|
105
|
+
add_alternative_code_system_names(code_systems)
|
90
106
|
{
|
91
107
|
url: vs_url,
|
92
108
|
file: name_by_type(File.basename(filename), type),
|
93
109
|
count: new_count,
|
94
110
|
type: type.to_s,
|
95
|
-
code_systems:
|
111
|
+
code_systems: code_systems
|
96
112
|
}
|
97
113
|
rescue UnknownCodeSystemException,
|
98
114
|
FilterOperationException,
|
@@ -190,6 +206,11 @@ module Inferno
|
|
190
206
|
|
191
207
|
# Chooses which filetype to save the validator as, based on the type variable passed in
|
192
208
|
def save_to_file(codeset, filename, type)
|
209
|
+
if codeset.blank?
|
210
|
+
Inferno.logger.debug "Unable to save #{filename} because it contains no codes"
|
211
|
+
return 0
|
212
|
+
end
|
213
|
+
|
193
214
|
case type
|
194
215
|
when :bloom
|
195
216
|
save_bloom_to_file(codeset, name_by_type(filename, type))
|
@@ -17,7 +17,7 @@ module Inferno
|
|
17
17
|
|
18
18
|
def run
|
19
19
|
Loader.register_umls_db db_for_version
|
20
|
-
Loader.load_value_sets_from_directory(
|
20
|
+
Loader.load_value_sets_from_directory(PACKAGE_DIR, true)
|
21
21
|
Loader.create_validators(
|
22
22
|
type: type,
|
23
23
|
minimum_binding_strength: minimum_binding_strength,
|
@@ -16,6 +16,11 @@ module Inferno
|
|
16
16
|
|
17
17
|
def download_us_core
|
18
18
|
FHIRPackageManager.get_package('hl7.fhir.us.core#3.1.1', PACKAGE_DIR, ['ValueSet', 'CodeSystem'])
|
19
|
+
FHIRPackageManager.get_package('hl7.fhir.us.core#4.0.0', PACKAGE_DIR, ['ValueSet', 'CodeSystem'])
|
20
|
+
FHIRPackageManager.get_package('hl7.fhir.us.core#5.0.1', PACKAGE_DIR, ['ValueSet', 'CodeSystem'])
|
21
|
+
FHIRPackageManager.get_package(
|
22
|
+
'us.nlm.vsac#0.7.0', File.join(PACKAGE_DIR, 'vsac'), ['ValueSet', 'CodeSystem']
|
23
|
+
)
|
19
24
|
end
|
20
25
|
|
21
26
|
def download_fhir_expansions
|
@@ -64,6 +64,10 @@ module Inferno
|
|
64
64
|
abbreviation: 'NCI_UCUM',
|
65
65
|
name: 'Unified Code for Units of Measure (UCUM)'
|
66
66
|
}.freeze,
|
67
|
+
'urn:oid:2.16.840.1.113883.6.101' => {
|
68
|
+
abbreviation: 'NUCCHCPT',
|
69
|
+
name: 'National Uniform Claim Committee - Health Care Provider Taxonomy (NUCCHCPT)'
|
70
|
+
},
|
67
71
|
'http://nucc.org/provider-taxonomy' => {
|
68
72
|
abbreviation: 'NUCCHCPT',
|
69
73
|
name: 'National Uniform Claim Committee - Health Care Provider Taxonomy (NUCCHCPT)'
|
@@ -72,6 +76,10 @@ module Inferno
|
|
72
76
|
abbreviation: 'CPT',
|
73
77
|
name: 'Current Procedural Terminology (CPT)'
|
74
78
|
}.freeze,
|
79
|
+
'http://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets' => {
|
80
|
+
abbreviation: 'HCPCS',
|
81
|
+
name: 'Healthcare Common Procedure Coding System (HCPCS)'
|
82
|
+
}.freeze,
|
75
83
|
'urn:oid:2.16.840.1.113883.6.285' => {
|
76
84
|
abbreviation: 'HCPCS',
|
77
85
|
name: 'Healthcare Common Procedure Coding System (HCPCS)'
|
@@ -79,7 +87,15 @@ module Inferno
|
|
79
87
|
'urn:oid:2.16.840.1.113883.6.13' => {
|
80
88
|
abbreviation: 'CDT',
|
81
89
|
name: 'Code on Dental Procedures and Nomenclature (CDT)'
|
82
|
-
}.freeze
|
90
|
+
}.freeze,
|
91
|
+
'http://ada.org/cdt' => {
|
92
|
+
abbreviation: 'CDT',
|
93
|
+
name: 'Code on Dental Procedures and Nomenclature (CDT)'
|
94
|
+
},
|
95
|
+
'http://www.ada.org/cdt' => {
|
96
|
+
abbreviation: 'CDT',
|
97
|
+
name: 'Code on Dental Procedures and Nomenclature (CDT)'
|
98
|
+
}
|
83
99
|
}.freeze
|
84
100
|
|
85
101
|
CODE_SYS = {
|
@@ -88,7 +104,19 @@ module Inferno
|
|
88
104
|
'http://ihe.net/fhir/ValueSet/IHE.FormatCode.codesystem' =>
|
89
105
|
-> { value_sets_repo.find('http://hl7.org/fhir/ValueSet/formatcodes').value_set },
|
90
106
|
'https://www.usps.com/' =>
|
91
|
-
|
107
|
+
lambda do
|
108
|
+
codes = [
|
109
|
+
'AL', 'AK', 'AS', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FM',
|
110
|
+
'FL', 'GA', 'GU', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA',
|
111
|
+
'ME', 'MH', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NE', 'NV',
|
112
|
+
'NH', 'NJ', 'NM', 'NY', 'NC', 'ND', 'MP', 'OH', 'OK', 'OR', 'PW',
|
113
|
+
'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VT', 'VI', 'VA',
|
114
|
+
'WA', 'WV', 'WI', 'WY', 'AE', 'AP', 'AA'
|
115
|
+
]
|
116
|
+
codes.each_with_object(Set.new) do |code, set|
|
117
|
+
set.add(system: 'https://www.usps.com/', code: code)
|
118
|
+
end
|
119
|
+
end
|
92
120
|
}.freeze
|
93
121
|
|
94
122
|
# https://www.nlm.nih.gov/research/umls/knowledge_sources/metathesaurus/release/attribute_names.html
|
@@ -104,7 +132,9 @@ module Inferno
|
|
104
132
|
end
|
105
133
|
|
106
134
|
def umls_abbreviation(system)
|
107
|
-
|
135
|
+
if system != 'http://nucc.org/provider-taxonomy' && system != 'urn:oid:2.16.840.1.113883.6.101'
|
136
|
+
return SAB.dig(system, :abbreviation)
|
137
|
+
end
|
108
138
|
|
109
139
|
@nucc_system ||= # rubocop:disable Naming/MemoizedInstanceVariableName
|
110
140
|
if @db.execute("SELECT COUNT(*) FROM mrconso WHERE SAB = 'NUCCPT'").flatten.first.positive?
|
@@ -166,10 +196,23 @@ module Inferno
|
|
166
196
|
@value_set.length
|
167
197
|
end
|
168
198
|
|
199
|
+
def all_included_code_systems
|
200
|
+
(included_code_systems + code_systems_in_codings).uniq
|
201
|
+
end
|
202
|
+
|
169
203
|
def included_code_systems
|
170
204
|
@value_set_model.compose.include.map(&:system).compact.uniq
|
171
205
|
end
|
172
206
|
|
207
|
+
def code_systems_in_codings
|
208
|
+
return [] if value_set.blank?
|
209
|
+
|
210
|
+
value_set
|
211
|
+
.map { |coding| coding[:system] }
|
212
|
+
.compact
|
213
|
+
.uniq
|
214
|
+
end
|
215
|
+
|
173
216
|
TOO_COSTLY_URL = 'http://hl7.org/fhir/StructureDefinition/valueset-toocostly'.freeze
|
174
217
|
def too_costly?
|
175
218
|
@value_set_model&.expansion&.extension&.find { |vs| vs.url == TOO_COSTLY_URL }&.value
|
@@ -318,9 +361,9 @@ module Inferno
|
|
318
361
|
|
319
362
|
unless vscs.valueSet.empty?
|
320
363
|
# If no concepts or filtered systems were present and already created the intersection_set
|
321
|
-
im_val_set = import_value_set(vscs.valueSet.first)
|
364
|
+
im_val_set = import_value_set(vscs.valueSet.first).value_set
|
322
365
|
vscs.valueSet.drop(1).each do |im_val|
|
323
|
-
im_val_set = im_val_set.intersection(im_val)
|
366
|
+
im_val_set = im_val_set.intersection(import_value_set(im_val).value_set)
|
324
367
|
end
|
325
368
|
intersection_set = intersection_set.nil? ? im_val_set : intersection_set.intersection(im_val_set)
|
326
369
|
end
|
@@ -405,6 +448,9 @@ module Inferno
|
|
405
448
|
raise FilterOperationException, filter&.op
|
406
449
|
end
|
407
450
|
filtered_set
|
451
|
+
rescue UnknownCodeSystemException => e
|
452
|
+
Inferno.logger.debug e.message
|
453
|
+
filtered_set.presence || Set.new
|
408
454
|
end
|
409
455
|
|
410
456
|
# Imports the ValueSet with the provided URL from the known local ValueSet Authority
|