health-data-standards 3.7.0 → 4.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/health-data-standards.rb +3 -0
- data/lib/health-data-standards/export/helper/html_view_helper.rb +12 -12
- data/lib/health-data-standards/import/bulk_record_importer.rb +4 -4
- data/lib/health-data-standards/import/cda/encounter_importer.rb +2 -2
- data/lib/health-data-standards/models/admission_source.rb +11 -0
- data/lib/health-data-standards/models/adverse_event.rb +6 -0
- data/lib/health-data-standards/models/allergy.rb +2 -1
- data/lib/health-data-standards/models/assessment.rb +1 -0
- data/lib/health-data-standards/models/care_goal.rb +0 -1
- data/lib/health-data-standards/models/component.rb +14 -0
- data/lib/health-data-standards/models/encounter.rb +10 -13
- data/lib/health-data-standards/models/entry.rb +1 -1
- data/lib/health-data-standards/models/facility.rb +3 -2
- data/lib/health-data-standards/models/lab_result.rb +10 -4
- data/lib/health-data-standards/models/medication.rb +3 -0
- data/lib/health-data-standards/models/procedure.rb +7 -2
- data/lib/health-data-standards/models/record.rb +6 -2
- data/lib/health-data-standards/models/transfer.rb +0 -5
- data/lib/health-data-standards/util/hqmf_template_helper.rb +3 -2
- data/lib/health-data-standards/util/hqmfr2_template_oid_map.json +8 -0
- data/lib/health-data-standards/util/hqmfr2cql_template_oid_map.json +390 -0
- data/lib/health-data-standards/util/vs_api.rb +3 -3
- data/lib/hqmf-model/data_criteria.json +19 -1
- data/lib/hqmf-model/data_criteria.rb +31 -7
- data/lib/hqmf-model/document.rb +11 -2
- data/lib/hqmf-model/types.rb +31 -5
- data/lib/hqmf-parser.rb +7 -0
- data/lib/hqmf-parser/2.0/data_criteria.rb +4 -1
- data/lib/hqmf-parser/2.0/data_criteria_helpers/dc_base_extract.rb +1 -1
- data/lib/hqmf-parser/2.0/document.rb +4 -4
- data/lib/hqmf-parser/2.0/document_helpers/doc_population_helper.rb +0 -2
- data/lib/hqmf-parser/2.0/population_criteria.rb +2 -2
- data/lib/hqmf-parser/2.0/value_set_helper.rb +4 -1
- data/lib/hqmf-parser/cql/data_criteria.rb +57 -0
- data/lib/hqmf-parser/cql/data_criteria_helpers/dc_definition_from_template_or_type_extract.rb +79 -0
- data/lib/hqmf-parser/cql/data_criteria_helpers/dc_post_processing.rb +43 -0
- data/lib/hqmf-parser/cql/document.rb +78 -0
- data/lib/hqmf-parser/cql/document_helpers/doc_population_helper.rb +124 -0
- data/lib/hqmf-parser/cql/value_set_helper.rb +103 -0
- data/lib/hqmf-parser/parser.rb +24 -1
- metadata +11 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4c0614b648a5d2d1326f343bf970d7df12483c3
|
4
|
+
data.tar.gz: f780aa9e0615261edf2dd984dd4a37d0acb6bed6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0022c55d49a80f85bcf53f7b5bda28075ce2331ad16e7db89fc0eb2ef1a5ae67368ef3c98480292c10ad99d3500f72bbb52f7423f387b6c5fee3cf41433899e
|
7
|
+
data.tar.gz: 395455bb02a984b04f87c9ce24eab9c3c7c3929664045eed618566dd28204f21fb853e358503a16a52ba941558f585773bfa6caaf0f1a66e6922e318e3797262
|
@@ -70,7 +70,9 @@ require_relative 'health-data-standards/models/telecom'
|
|
70
70
|
require_relative 'health-data-standards/models/transfer'
|
71
71
|
require_relative 'health-data-standards/models/svs/value_set'
|
72
72
|
require_relative 'health-data-standards/models/svs/concept'
|
73
|
+
require_relative 'health-data-standards/models/admission_source'
|
73
74
|
require_relative 'health-data-standards/models/facility'
|
75
|
+
require_relative 'health-data-standards/models/component'
|
74
76
|
require_relative 'health-data-standards/models/metadata/base'
|
75
77
|
require_relative 'health-data-standards/models/metadata/author'
|
76
78
|
require_relative 'health-data-standards/models/metadata/change_info'
|
@@ -81,6 +83,7 @@ require_relative 'health-data-standards/models/patient_preference'
|
|
81
83
|
require_relative 'health-data-standards/models/care_goal'
|
82
84
|
require_relative 'health-data-standards/models/encounter_principal_diagnosis'
|
83
85
|
require_relative 'health-data-standards/models/assessment'
|
86
|
+
require_relative 'health-data-standards/models/adverse_event'
|
84
87
|
|
85
88
|
require_relative 'health-data-standards/models/qrda/id'
|
86
89
|
require_relative 'health-data-standards/models/qrda/device'
|
@@ -6,9 +6,9 @@ module HealthDataStandards
|
|
6
6
|
|
7
7
|
def decode_hqmf_section(section, oid)
|
8
8
|
if oid
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
definition = HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid)
|
10
|
+
definition ||= HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid, 'r2')
|
11
|
+
definition['definition'].pluralize.to_sym
|
12
12
|
else
|
13
13
|
section
|
14
14
|
end
|
@@ -16,9 +16,9 @@ module HealthDataStandards
|
|
16
16
|
|
17
17
|
def decode_hqmf_status(status, oid)
|
18
18
|
if oid
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
definition = HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid)
|
20
|
+
definition ||= HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid, 'r2')
|
21
|
+
definition['status']
|
22
22
|
else
|
23
23
|
status
|
24
24
|
end
|
@@ -26,14 +26,14 @@ module HealthDataStandards
|
|
26
26
|
|
27
27
|
def decode_hqmf_description(description, oid)
|
28
28
|
if oid
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
definition = HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid)
|
30
|
+
definition ||= HealthDataStandards::Util::HQMFTemplateHelper.definition_for_template_id(oid, 'r2')
|
31
|
+
definition_text = definition['definition']
|
32
|
+
status_text = definition['status']
|
33
33
|
unless status.blank?
|
34
|
-
|
34
|
+
"#{definition_text.titleize}, #{status_text.titleize}".to_sym
|
35
35
|
else
|
36
|
-
|
36
|
+
"#{definition_text.titleize}".to_sym
|
37
37
|
end
|
38
38
|
else
|
39
39
|
description
|
@@ -7,7 +7,7 @@ module HealthDataStandards
|
|
7
7
|
failed_dir ||= File.join(source_dir, '../', 'failed_imports')
|
8
8
|
files = Dir.glob(File.join(source_dir, '*.*'))
|
9
9
|
files.each do |file|
|
10
|
-
|
10
|
+
self.import_file(file,File.new(file).read,failed_dir)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
@@ -27,7 +27,7 @@ module HealthDataStandards
|
|
27
27
|
end
|
28
28
|
next if entry.directory?
|
29
29
|
data = zipfile.read(entry.name)
|
30
|
-
|
30
|
+
status = self.import_file(entry.name,data,failed_dir)
|
31
31
|
raise StandardError, status[:message] if status.is_a?(Hash) && status[:status] === 'error'
|
32
32
|
end
|
33
33
|
end
|
@@ -61,9 +61,9 @@ module HealthDataStandards
|
|
61
61
|
begin
|
62
62
|
ext = File.extname(name)
|
63
63
|
if ext == ".json"
|
64
|
-
|
64
|
+
self.import_json(data)
|
65
65
|
else
|
66
|
-
|
66
|
+
self.import(data)
|
67
67
|
end
|
68
68
|
rescue
|
69
69
|
FileUtils.mkdir_p(File.dirname(File.join(failed_dir,name)))
|
@@ -42,7 +42,7 @@ module HealthDataStandards
|
|
42
42
|
facility.telecoms = participant_element.xpath("./cda:telecom").try(:map) {|te| import_telecom(te)}
|
43
43
|
facility.code = extract_code(participant_element, './cda:code')
|
44
44
|
extract_dates(participant_element.parent, facility, "time")
|
45
|
-
encounter.facility = facility
|
45
|
+
encounter.facility = facility.as_json()
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
@@ -88,4 +88,4 @@ module HealthDataStandards
|
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
91
|
-
end
|
91
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AdmissionSource
|
2
|
+
include Mongoid::Document
|
3
|
+
include Mongoid::Attributes::Dynamic
|
4
|
+
|
5
|
+
embedded_in :encounter, class_name: "Encounter", inverse_of: nil
|
6
|
+
|
7
|
+
field :code, type: String
|
8
|
+
field :code_system, type: String
|
9
|
+
field :title, type: String
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class Component
|
2
|
+
include Mongoid::Document
|
3
|
+
include Mongoid::Attributes::Dynamic
|
4
|
+
|
5
|
+
field :type, type: String
|
6
|
+
field :code, type: Hash # Hash of HQMF::Coded
|
7
|
+
field :result, type: Hash # Hash of HQMF::Value
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
class ResultComponent < Component
|
12
|
+
field :range, type: Hash # Hash of HQMF::Range
|
13
|
+
|
14
|
+
end
|
@@ -3,14 +3,15 @@ class Encounter < Entry
|
|
3
3
|
field :dischargeDisposition, as: :discharge_disposition, type: Hash
|
4
4
|
field :admitTime, as: :admit_time, type: Integer
|
5
5
|
field :dischargeTime, as: :discharge_time, type: Integer
|
6
|
+
field :diagnosis, type: Hash # This is a Hash to align with the 'Collection' object
|
7
|
+
field :facility, type: Hash
|
6
8
|
|
7
9
|
embeds_one :principalDiagnosis, class_name: "EncounterPrincipalDiagnosis"
|
8
|
-
embeds_one :diagnosis, class_name: "EncounterPrincipalDiagnosis"
|
9
10
|
|
10
11
|
embeds_one :transferTo, class_name: "Transfer"
|
11
12
|
embeds_one :transferFrom, class_name: "Transfer"
|
12
13
|
|
13
|
-
embeds_one :
|
14
|
+
embeds_one :admission_source, class_name: "AdmissionSource"
|
14
15
|
embeds_one :reason, class_name: "Entry"
|
15
16
|
|
16
17
|
belongs_to :performer, class_name: "Provider"
|
@@ -21,23 +22,19 @@ class Encounter < Entry
|
|
21
22
|
alias :transfer_from= :transferFrom=
|
22
23
|
alias :principal_diagnosis :principalDiagnosis
|
23
24
|
alias :principal_diagnosis= :principalDiagnosis=
|
25
|
+
alias :admissionSource :admission_source
|
26
|
+
alias :admissionSource= :admission_source=
|
24
27
|
|
25
28
|
def shift_dates(date_diff)
|
26
29
|
super
|
27
30
|
if self.facility
|
28
|
-
|
31
|
+
# Facility is now stored as a Hash; shift its dates by updating its start_time and end_time values.
|
32
|
+
self.facility['start_time'] += date_diff if self.facility['start_time']
|
33
|
+
self.facility['end_time'] += date_diff if self.facility['end_time']
|
29
34
|
end
|
30
|
-
|
31
|
-
if self.transferTo
|
32
|
-
self.transferTo.shift_dates(date_diff)
|
33
|
-
end
|
34
|
-
|
35
|
-
if self.transferFrom
|
36
|
-
self.transferFrom.shift_dates(date_diff)
|
37
|
-
end
|
38
|
-
|
35
|
+
|
39
36
|
self.admitTime = (self.admitTime.nil?) ? nil : self.admitTime + date_diff
|
40
37
|
self.dischargeTime = (self.dischargeTime.nil?) ? nil : self.dischargeTime + date_diff
|
41
38
|
end
|
42
39
|
|
43
|
-
end
|
40
|
+
end
|
@@ -11,8 +11,9 @@ class Facility
|
|
11
11
|
embeds_many :addresses, as: :locatable
|
12
12
|
embeds_many :telecoms, as: :contactable
|
13
13
|
|
14
|
-
|
14
|
+
def shift_dates(date_diff)
|
15
15
|
self.start_time = (self.start_time.nil?) ? nil : self.start_time + date_diff
|
16
16
|
self.end_time = (self.end_time.nil?) ? nil : self.end_time + date_diff
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
|
+
end
|
@@ -1,13 +1,19 @@
|
|
1
1
|
class LabResult < Entry
|
2
|
+
# NOT used for QDM 5.0 referenceRange
|
2
3
|
field :referenceRange, as: :reference_range, type: String
|
4
|
+
# used for QDM 5.0 referenceRange
|
3
5
|
field :referenceRangeHigh, as: :reference_range_high, type: String
|
6
|
+
# used for QDM 5.0 referenceRange
|
4
7
|
field :referenceRangeLow, as: :reference_range_low, type: String
|
5
|
-
field :interpretation,
|
6
|
-
field :reaction,
|
7
|
-
field :method,
|
8
|
+
field :interpretation, type: Hash
|
9
|
+
field :reaction, type: Hash
|
10
|
+
field :method, type: Hash
|
8
11
|
# The resulting status of a procedure as defined in the QDM documentation. This is different
|
9
12
|
# than the status associated with the `Entry` object, which relates to the data criteria
|
10
13
|
# status as defined in health-data-standards/lib/hqmf-model/data_criteria.json.
|
11
|
-
field :qdm_status,
|
14
|
+
field :qdm_status, type: Hash
|
15
|
+
field :components, type: Hash
|
12
16
|
|
17
|
+
# QDM 5.0 addition to Laboratory Test, Performed
|
18
|
+
field :result_date_time, type: Integer
|
13
19
|
end
|
@@ -1,7 +1,10 @@
|
|
1
1
|
class Medication < Entry
|
2
2
|
field :administrationTiming, as: :administration_timing, type: Hash
|
3
3
|
field :freeTextSig, type: String
|
4
|
+
# QDM 5.0 disambiguates dose to be dosage and suppy. 'dose' here represents the QDM 5.0 'dosage'.
|
5
|
+
# Bonnie displays this as 'dosage'.
|
4
6
|
field :dose, type: Hash
|
7
|
+
field :supply, type: Hash
|
5
8
|
field :typeOfMedication, as: :type_of_medication, type: Hash
|
6
9
|
field :statusOfMedication, as: :status_of_medication, type: Hash
|
7
10
|
embeds_many :fulfillmentHistory, class_name: 'FulfillmentHistory'
|
@@ -13,9 +13,14 @@ class Procedure < Entry
|
|
13
13
|
field :qdm_status, type: Hash
|
14
14
|
|
15
15
|
field :radiation_dose, type: Hash
|
16
|
-
field :radiation_duration, type: Hash
|
16
|
+
field :radiation_duration, type: Hash
|
17
17
|
|
18
|
-
|
18
|
+
# QDM 5.0 addition to Diagnostic Study, Performed
|
19
|
+
field :result_date_time, type: Integer
|
20
|
+
# Component attribute is for Diagnostic, Performed which is classified as a procedure
|
21
|
+
field :components, type: Hash
|
22
|
+
|
23
|
+
field :facility, type: Hash
|
19
24
|
|
20
25
|
belongs_to :performer, class_name: "Provider"
|
21
26
|
|
@@ -26,7 +26,7 @@ class Record
|
|
26
26
|
index medical_record_number: 1
|
27
27
|
index test_id: 1
|
28
28
|
index bundle_id: 1
|
29
|
-
embeds_many :allergies
|
29
|
+
embeds_many :allergies # used for QDM 5.0 allergy/intollerance
|
30
30
|
embeds_many :care_goals, class_name: "Entry" # This can be any number of different entry types
|
31
31
|
embeds_many :conditions
|
32
32
|
embeds_many :encounters
|
@@ -40,6 +40,10 @@ class Record
|
|
40
40
|
embeds_many :socialhistories, class_name: "Entry"
|
41
41
|
embeds_many :care_experiences
|
42
42
|
embeds_many :assessments
|
43
|
+
# TODO: (LDY 9/29/16) Will the below work? These are not defined in the JSON in the HQMF stuff because we're not parsing HQMF.
|
44
|
+
# also, allergy_intolerance would translate to allergies_intolerances. If this is done automatically, it won't be done correclty.
|
45
|
+
# Does it make sense to do a `class_name` thing like above?
|
46
|
+
embeds_many :adverse_events
|
43
47
|
|
44
48
|
alias :social_history :socialhistories
|
45
49
|
alias :social_history= :socialhistories=
|
@@ -52,7 +56,7 @@ class Record
|
|
52
56
|
|
53
57
|
Sections = [:allergies, :care_goals, :conditions, :encounters, :immunizations, :medical_equipment,
|
54
58
|
:medications, :procedures, :results, :communications, :family_history, :social_history, :vital_signs, :support, :advance_directives,
|
55
|
-
:insurance_providers, :functional_statuses, :care_experiences, :assessments]
|
59
|
+
:insurance_providers, :functional_statuses, :care_experiences, :assessments, :adverse_events]
|
56
60
|
|
57
61
|
embeds_many :provider_performances
|
58
62
|
embeds_many :addresses, as: :locatable
|
@@ -11,7 +11,8 @@ module HealthDataStandards
|
|
11
11
|
if @id_map.blank?
|
12
12
|
@id_map = {
|
13
13
|
'r1' => JSON.parse(File.read(File.expand_path('../hqmf_template_oid_map.json', __FILE__))),
|
14
|
-
'r2' => JSON.parse(File.read(File.expand_path('../hqmfr2_template_oid_map.json', __FILE__)))
|
14
|
+
'r2' => JSON.parse(File.read(File.expand_path('../hqmfr2_template_oid_map.json', __FILE__))),
|
15
|
+
'r2cql' => JSON.parse(File.read(File.expand_path('../hqmfr2cql_template_oid_map.json', __FILE__)))
|
15
16
|
}
|
16
17
|
end
|
17
18
|
@id_map[version]
|
@@ -23,7 +24,7 @@ module HealthDataStandards
|
|
23
24
|
kv_pair = template_id_map(version).find {|k, v| v['definition'] == definition &&
|
24
25
|
v['status'] == status &&
|
25
26
|
v['negation'] == negation}
|
26
|
-
when "r2"
|
27
|
+
when "r2", "r2cql"
|
27
28
|
kv_pair = template_id_map(version).find {|k, v| v['definition'] == definition &&
|
28
29
|
v['status'] == status}
|
29
30
|
end
|
@@ -378,5 +378,13 @@
|
|
378
378
|
"2.16.840.1.113883.10.20.28.3.118":{
|
379
379
|
"definition":"assessment",
|
380
380
|
"status":"recommended",
|
381
|
+
"negation":false},
|
382
|
+
"2.16.840.1.113883.10.20.28.3.120": {
|
383
|
+
"definition":"adverse_event",
|
384
|
+
"status":"",
|
385
|
+
"negation":false},
|
386
|
+
"2.16.840.1.113883.10.20.28.3.119": {
|
387
|
+
"definition":"allergy_intolerance",
|
388
|
+
"status":"",
|
381
389
|
"negation":false}
|
382
390
|
}
|
@@ -0,0 +1,390 @@
|
|
1
|
+
{
|
2
|
+
"2.16.840.1.113883.10.20.28.4.53":{
|
3
|
+
"definition":"patient_characteristic",
|
4
|
+
"status":"",
|
5
|
+
"negation":false},
|
6
|
+
"2.16.840.1.113883.10.20.28.4.54":{
|
7
|
+
"definition":"patient_characteristic_birthdate",
|
8
|
+
"status":"",
|
9
|
+
"negation":false},
|
10
|
+
"2.16.840.1.113883.10.20.28.4.6":{
|
11
|
+
"definition":"patient_characteristic",
|
12
|
+
"status":"clinical_trial_participant",
|
13
|
+
"negation":false},
|
14
|
+
"2.16.840.1.113883.10.20.28.4.55":{
|
15
|
+
"definition":"patient_characteristic_gender",
|
16
|
+
"status":"",
|
17
|
+
"negation":false},
|
18
|
+
"2.16.840.1.113883.10.20.28.4.56":{
|
19
|
+
"definition":"patient_characteristic_ethnicity",
|
20
|
+
"status":"",
|
21
|
+
"negation":false},
|
22
|
+
"2.16.840.1.113883.10.20.28.4.57":{
|
23
|
+
"definition":"patient_characteristic_expired",
|
24
|
+
"status":"",
|
25
|
+
"negation":false},
|
26
|
+
"2.16.840.1.113883.10.20.28.4.58":{
|
27
|
+
"definition":"patient_characteristic_payer",
|
28
|
+
"status":"",
|
29
|
+
"negation":false},
|
30
|
+
"2.16.840.1.113883.10.20.28.4.59":{
|
31
|
+
"definition":"patient_characteristic_race",
|
32
|
+
"status":"",
|
33
|
+
"negation":false},
|
34
|
+
"2.16.840.1.113883.3.560.1.4":{
|
35
|
+
"definition":"encounter",
|
36
|
+
"status":"",
|
37
|
+
"negation":false},
|
38
|
+
"2.16.840.1.113883.10.20.28.4.26":{
|
39
|
+
"definition":"encounter",
|
40
|
+
"status":"active",
|
41
|
+
"negation":false},
|
42
|
+
"2.16.840.1.113883.10.20.28.4.5":{
|
43
|
+
"definition":"encounter",
|
44
|
+
"status":"performed",
|
45
|
+
"negation":false},
|
46
|
+
"2.16.840.1.113883.10.20.28.4.27":{
|
47
|
+
"definition":"encounter",
|
48
|
+
"status":"ordered",
|
49
|
+
"negation":false},
|
50
|
+
"2.16.840.1.113883.10.20.28.4.28":{
|
51
|
+
"definition":"encounter",
|
52
|
+
"status":"recommended",
|
53
|
+
"negation":false},
|
54
|
+
"2.16.840.1.113883.10.20.28.4.67":{
|
55
|
+
"definition":"procedure",
|
56
|
+
"status":"performed",
|
57
|
+
"negation":false},
|
58
|
+
"2.16.840.1.113883.10.20.28.4.66":{
|
59
|
+
"definition":"procedure",
|
60
|
+
"status":"ordered",
|
61
|
+
"negation":false},
|
62
|
+
"2.16.840.1.113883.10.20.28.4.69":{
|
63
|
+
"definition":"procedure_result",
|
64
|
+
"status":"",
|
65
|
+
"negation":false},
|
66
|
+
"2.16.840.1.113883.10.20.28.4.64":{
|
67
|
+
"definition":"procedure_adverse_event",
|
68
|
+
"status":"",
|
69
|
+
"negation":false},
|
70
|
+
"2.16.840.1.113883.10.20.28.4.65":{
|
71
|
+
"definition":"procedure_intolerance",
|
72
|
+
"status":"",
|
73
|
+
"negation":false},
|
74
|
+
"2.16.840.1.113883.10.20.28.4.68":{
|
75
|
+
"definition":"procedure",
|
76
|
+
"status":"recommended",
|
77
|
+
"negation":false},
|
78
|
+
"2.16.840.1.113883.10.20.28.4.1":{
|
79
|
+
"definition":"diagnosis",
|
80
|
+
"status":"active",
|
81
|
+
"negation":false},
|
82
|
+
"2.16.840.1.113883.10.20.28.4.19":{
|
83
|
+
"definition":"diagnosis",
|
84
|
+
"status":"resolved",
|
85
|
+
"negation":false},
|
86
|
+
"2.16.840.1.113883.10.20.28.4.17":{
|
87
|
+
"definition":"diagnosis",
|
88
|
+
"status":"family_history",
|
89
|
+
"negation":false},
|
90
|
+
"2.16.840.1.113883.10.20.28.4.18":{
|
91
|
+
"definition":"diagnosis",
|
92
|
+
"status":"inactive",
|
93
|
+
"negation":false},
|
94
|
+
"2.16.840.1.113883.10.20.28.4.110":{
|
95
|
+
"definition":"diagnosis",
|
96
|
+
"status":"",
|
97
|
+
"negation":false},
|
98
|
+
"2.16.840.1.113883.10.20.28.4.111":{
|
99
|
+
"definition":"family_history",
|
100
|
+
"status":"",
|
101
|
+
"negation":false},
|
102
|
+
"2.16.840.1.113883.10.20.28.4.23":{
|
103
|
+
"definition":"diagnostic_study",
|
104
|
+
"status":"performed",
|
105
|
+
"negation":false},
|
106
|
+
"2.16.840.1.113883.10.20.28.4.25":{
|
107
|
+
"definition":"diagnostic_study_result",
|
108
|
+
"status":"",
|
109
|
+
"negation":false},
|
110
|
+
"2.16.840.1.113883.10.20.28.4.20":{
|
111
|
+
"definition":"diagnostic_study_adverse_event",
|
112
|
+
"status":"",
|
113
|
+
"negation":false},
|
114
|
+
"2.16.840.1.113883.10.20.28.4.21":{
|
115
|
+
"definition":"diagnostic_study_intolerance",
|
116
|
+
"status":"",
|
117
|
+
"negation":false},
|
118
|
+
"2.16.840.1.113883.10.20.28.4.22":{
|
119
|
+
"definition":"diagnostic_study",
|
120
|
+
"status":"ordered",
|
121
|
+
"negation":false},
|
122
|
+
"2.16.840.1.113883.10.20.28.4.23":{
|
123
|
+
"definition":"diagnostic_study",
|
124
|
+
"status":"performed",
|
125
|
+
"negation":true},
|
126
|
+
"2.16.840.1.113883.10.20.28.4.24":{
|
127
|
+
"definition":"diagnostic_study",
|
128
|
+
"status":"recommended",
|
129
|
+
"negation":true},
|
130
|
+
"2.16.840.1.113883.10.20.28.4.49":{
|
131
|
+
"definition":"medication",
|
132
|
+
"status":"dispensed",
|
133
|
+
"negation":false},
|
134
|
+
"2.16.840.1.113883.10.20.28.4.51":{
|
135
|
+
"definition":"medication",
|
136
|
+
"status":"ordered",
|
137
|
+
"negation":false},
|
138
|
+
"2.16.840.1.113883.10.20.28.4.48":{
|
139
|
+
"definition":"medication",
|
140
|
+
"status":"discharge",
|
141
|
+
"negation":false},
|
142
|
+
"2.16.840.1.113883.10.20.28.4.44":{
|
143
|
+
"definition":"medication",
|
144
|
+
"status":"active",
|
145
|
+
"negation":false},
|
146
|
+
"2.16.840.1.113883.10.20.28.4.45":{
|
147
|
+
"definition":"medication",
|
148
|
+
"status":"administered",
|
149
|
+
"negation":false},
|
150
|
+
"2.16.840.1.113883.10.20.28.4.46":{
|
151
|
+
"definition":"medication_adverse_effects",
|
152
|
+
"status":"",
|
153
|
+
"negation":false},
|
154
|
+
"2.16.840.1.113883.10.20.28.4.47":{
|
155
|
+
"definition":"medication_allergy",
|
156
|
+
"status":"",
|
157
|
+
"negation":false},
|
158
|
+
"2.16.840.1.113883.10.20.28.4.50":{
|
159
|
+
"definition":"medication_intolerance",
|
160
|
+
"status":"",
|
161
|
+
"negation":false},
|
162
|
+
"2.16.840.1.113883.10.20.28.4.112":{
|
163
|
+
"definition":"immunization",
|
164
|
+
"status":"administered",
|
165
|
+
"negation":false},
|
166
|
+
"2.16.840.1.113883.10.20.28.4.113":{
|
167
|
+
"definition":"immunization",
|
168
|
+
"status":"order",
|
169
|
+
"negation":false},
|
170
|
+
"2.16.840.1.113883.10.20.28.4.114":{
|
171
|
+
"definition":"immunization",
|
172
|
+
"status":"allergy",
|
173
|
+
"negation":false},
|
174
|
+
"2.16.840.1.113883.10.20.28.4.115":{
|
175
|
+
"definition":"immunization",
|
176
|
+
"status":"intolerance",
|
177
|
+
"negation":false},
|
178
|
+
"2.16.840.1.113883.10.20.28.4.60":{
|
179
|
+
"definition":"physical_exam",
|
180
|
+
"status":"",
|
181
|
+
"negation":false},
|
182
|
+
"2.16.840.1.113883.10.20.28.4.61":{
|
183
|
+
"definition":"physical_exam",
|
184
|
+
"status":"ordered",
|
185
|
+
"negation":false},
|
186
|
+
"2.16.840.1.113883.10.20.28.4.62":{
|
187
|
+
"definition":"physical_exam",
|
188
|
+
"status":"performed",
|
189
|
+
"negation":false},
|
190
|
+
"22.16.840.1.113883.10.20.28.4.63":{
|
191
|
+
"definition":"physical_exam",
|
192
|
+
"status":"recommended",
|
193
|
+
"negation":false},
|
194
|
+
"2.16.840.1.113883.10.20.28.4.4":{
|
195
|
+
"definition":"laboratory_test",
|
196
|
+
"status":"",
|
197
|
+
"negation":false},
|
198
|
+
"2.16.840.1.113883.10.20.28.4.42":{
|
199
|
+
"definition":"laboratory_test",
|
200
|
+
"status":"performed",
|
201
|
+
"negation":false},
|
202
|
+
"2.16.840.1.113883.10.20.28.4.39":{
|
203
|
+
"definition":"laboratory_test_adverse_event",
|
204
|
+
"status":"",
|
205
|
+
"negation":false},
|
206
|
+
"2.16.840.1.113883.10.20.28.4.40":{
|
207
|
+
"definition":"laboratory_test_intolerance",
|
208
|
+
"status":"",
|
209
|
+
"negation":false},
|
210
|
+
"2.16.840.1.113883.10.20.28.4.41":{
|
211
|
+
"definition":"laboratory_test",
|
212
|
+
"status":"ordered",
|
213
|
+
"negation":false},
|
214
|
+
"2.16.840.1.113883.10.20.28.4.43":{
|
215
|
+
"definition":"laboratory_test",
|
216
|
+
"status":"recommended",
|
217
|
+
"negation":false},
|
218
|
+
"2.16.840.1.113883.10.20.28.4.7":{
|
219
|
+
"definition":"care_goal",
|
220
|
+
"status":"",
|
221
|
+
"negation":false},
|
222
|
+
"2.16.840.1.113883.10.20.28.4.8":{
|
223
|
+
"definition":"communication_from_patient_to_provider",
|
224
|
+
"status":"",
|
225
|
+
"negation":false},
|
226
|
+
"2.16.840.1.113883.10.20.28.4.9":{
|
227
|
+
"definition":"communication_from_provider_to_patient",
|
228
|
+
"status":"",
|
229
|
+
"negation":false},
|
230
|
+
"2.16.840.1.113883.10.20.28.4.10":{
|
231
|
+
"definition":"communication_from_provider_to_provider",
|
232
|
+
"status":"",
|
233
|
+
"negation":false},
|
234
|
+
"2.16.840.1.113883.10.20.28.4.13":{
|
235
|
+
"definition":"device",
|
236
|
+
"status":"applied",
|
237
|
+
"negation":false},
|
238
|
+
"2.16.840.1.113883.10.20.28.4.11":{
|
239
|
+
"definition":"device_adverse_event",
|
240
|
+
"status":"",
|
241
|
+
"negation":false},
|
242
|
+
"2.16.840.1.113883.10.20.28.4.12":{
|
243
|
+
"definition":"device_allergy",
|
244
|
+
"status":"",
|
245
|
+
"negation":false},
|
246
|
+
"2.16.840.1.113883.10.20.28.4.14":{
|
247
|
+
"definition":"device_intolerance",
|
248
|
+
"status":"",
|
249
|
+
"negation":false},
|
250
|
+
"2.16.840.1.113883.10.20.28.4.15":{
|
251
|
+
"definition":"device",
|
252
|
+
"status":"ordered",
|
253
|
+
"negation":false},
|
254
|
+
"2.16.840.1.113883.10.20.28.4.16":{
|
255
|
+
"definition":"device",
|
256
|
+
"status":"recommended",
|
257
|
+
"negation":false},
|
258
|
+
"2.16.840.1.113883.10.20.28.4.73":{
|
259
|
+
"definition":"substance",
|
260
|
+
"status":"administered",
|
261
|
+
"negation":false},
|
262
|
+
"2.16.840.1.113883.10.20.28.4.77":{
|
263
|
+
"definition":"substance",
|
264
|
+
"status":"ordered",
|
265
|
+
"negation":false},
|
266
|
+
"2.16.840.1.113883.10.20.28.4.46.74":{
|
267
|
+
"definition":"substance_adverse_event",
|
268
|
+
"status":"",
|
269
|
+
"negation":false},
|
270
|
+
"2.16.840.1.113883.10.20.28.4.76":{
|
271
|
+
"definition":"substance_intolerance",
|
272
|
+
"status":"",
|
273
|
+
"negation":false},
|
274
|
+
"2.16.840.1.113883.10.20.28.4.75":{
|
275
|
+
"definition":"substance_allergy",
|
276
|
+
"status":"",
|
277
|
+
"negation":false},
|
278
|
+
"2.16.840.1.113883.10.20.28.4.78":{
|
279
|
+
"definition":"substance",
|
280
|
+
"status":"recommended",
|
281
|
+
"negation":false},
|
282
|
+
"2.16.840.1.113883.10.20.28.4.33":{
|
283
|
+
"definition":"intervention_adverse_event",
|
284
|
+
"status":"",
|
285
|
+
"negation":false},
|
286
|
+
"2.16.840.1.113883.10.20.28.4.34":{
|
287
|
+
"definition":"intervention_intolerance",
|
288
|
+
"status":"",
|
289
|
+
"negation":false},
|
290
|
+
"2.16.840.1.113883.10.20.28.4.35":{
|
291
|
+
"definition":"intervention",
|
292
|
+
"status":"ordered",
|
293
|
+
"negation":false},
|
294
|
+
"2.16.840.1.113883.10.20.28.4.36":{
|
295
|
+
"definition":"intervention",
|
296
|
+
"status":"performed",
|
297
|
+
"negation":false},
|
298
|
+
"2.16.840.1.113883.10.20.28.4.38":{
|
299
|
+
"definition":"intervention_result",
|
300
|
+
"status":"",
|
301
|
+
"negation":false},
|
302
|
+
"2.16.840.1.113883.10.20.28.4.37":{
|
303
|
+
"definition":"intervention",
|
304
|
+
"status":"recommended",
|
305
|
+
"negation":false},
|
306
|
+
"2.16.840.1.113883.10.20.28.4.79":{
|
307
|
+
"definition":"symptom",
|
308
|
+
"status":"active",
|
309
|
+
"negation":false},
|
310
|
+
"2.16.840.1.113883.10.20.28.4.80":{
|
311
|
+
"definition":"symptom",
|
312
|
+
"status":"assessed",
|
313
|
+
"negation":false},
|
314
|
+
"2.16.840.1.113883.10.20.28.4.81":{
|
315
|
+
"definition":"symptom",
|
316
|
+
"status":"inactive",
|
317
|
+
"negation":false},
|
318
|
+
"2.16.840.1.113883.10.20.28.4.82":{
|
319
|
+
"definition":"symptom",
|
320
|
+
"status":"resolved",
|
321
|
+
"negation":false},
|
322
|
+
"2.16.840.1.113883.10.20.28.4.116":{
|
323
|
+
"definition":"symptom",
|
324
|
+
"status":"",
|
325
|
+
"negation":false},
|
326
|
+
"2.16.840.1.113883.10.20.28.4.30":{
|
327
|
+
"definition":"functional_status",
|
328
|
+
"status":"performed",
|
329
|
+
"negation":false},
|
330
|
+
"2.16.840.1.113883.10.20.28.4.29":{
|
331
|
+
"definition":"functional_status",
|
332
|
+
"status":"ordered",
|
333
|
+
"negation":false},
|
334
|
+
"2.16.840.1.113883.10.20.28.4.31":{
|
335
|
+
"definition":"functional_status",
|
336
|
+
"status":"recommended",
|
337
|
+
"negation":false},
|
338
|
+
"2.16.840.1.113883.10.20.28.4.32":{
|
339
|
+
"definition":"functional_status_result",
|
340
|
+
"status":"",
|
341
|
+
"negation":false},
|
342
|
+
"2.16.840.1.113883.10.20.28.4.72":{
|
343
|
+
"definition":"risk_category_assessment",
|
344
|
+
"status":"",
|
345
|
+
"negation":false},
|
346
|
+
"2.16.840.1.113883.10.20.28.4.70":{
|
347
|
+
"definition":"provider_care_experience",
|
348
|
+
"status":"",
|
349
|
+
"negation":false},
|
350
|
+
"2.16.840.1.113883.10.20.28.4.52":{
|
351
|
+
"definition":"patient_care_experience",
|
352
|
+
"status":"",
|
353
|
+
"negation":false},
|
354
|
+
"2.16.840.1.113883.10.20.28.4.87":{
|
355
|
+
"definition":"preference_provider",
|
356
|
+
"status":"",
|
357
|
+
"negation":false},
|
358
|
+
"2.16.840.1.113883.10.20.28.4.86":{
|
359
|
+
"definition":"preference_patient",
|
360
|
+
"status":"",
|
361
|
+
"negation":false},
|
362
|
+
"2.16.840.1.113883.10.20.28.4.71":{
|
363
|
+
"definition":"provider_characteristic",
|
364
|
+
"status":"",
|
365
|
+
"negation":false},
|
366
|
+
"2.16.840.1.113883.10.20.28.4.84":{
|
367
|
+
"definition":"transfer_from",
|
368
|
+
"status":"",
|
369
|
+
"negation":false},
|
370
|
+
"2.16.840.1.113883.10.20.28.4.85":{
|
371
|
+
"definition":"transfer_to",
|
372
|
+
"status":"",
|
373
|
+
"negation":false},
|
374
|
+
"2.16.840.1.113883.10.20.28.4.117":{
|
375
|
+
"definition":"assessment",
|
376
|
+
"status":"performed",
|
377
|
+
"negation":false},
|
378
|
+
"2.16.840.1.113883.10.20.28.4.118":{
|
379
|
+
"definition":"assessment",
|
380
|
+
"status":"recommended",
|
381
|
+
"negation":false},
|
382
|
+
"2.16.840.1.113883.10.20.28.4.120": {
|
383
|
+
"definition":"adverse_event",
|
384
|
+
"status":"",
|
385
|
+
"negation":false},
|
386
|
+
"2.16.840.1.113883.10.20.28.4.119": {
|
387
|
+
"definition":"allergy_intolerance",
|
388
|
+
"status":"",
|
389
|
+
"negation":false}
|
390
|
+
}
|