onc_certification_g10_test_kit 2.3.0 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|