health-data-standards 3.4.6 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. data/Gemfile +2 -2
  2. data/README.md +4 -0
  3. data/lib/health-data-standards.rb +1 -0
  4. data/lib/health-data-standards/export/cat_1.rb +4 -4
  5. data/lib/health-data-standards/export/helper/scooped_view_helper.rb +16 -16
  6. data/lib/health-data-standards/export/qrda/hqmf-qrda-oids.json +6 -0
  7. data/lib/health-data-standards/export/view_helper.rb +8 -1
  8. data/lib/health-data-standards/import/bulk_record_importer.rb +45 -13
  9. data/lib/health-data-standards/import/bundle/importer.rb +2 -4
  10. data/lib/health-data-standards/import/cda/provider_importer.rb +2 -2
  11. data/lib/health-data-standards/import/green_c32/section_importer.rb +2 -2
  12. data/lib/health-data-standards/import/provider_import_utils.rb +2 -2
  13. data/lib/health-data-standards/models/cda_identifier.rb +1 -0
  14. data/lib/health-data-standards/models/cqm/bundle.rb +4 -1
  15. data/lib/health-data-standards/models/cqm/measure.rb +40 -25
  16. data/lib/health-data-standards/models/cqm/patient_cache.rb +61 -60
  17. data/lib/health-data-standards/models/encounter.rb +4 -12
  18. data/lib/health-data-standards/models/entry.rb +4 -8
  19. data/lib/health-data-standards/models/facility.rb +1 -0
  20. data/lib/health-data-standards/models/fulfillment_history.rb +6 -18
  21. data/lib/health-data-standards/models/guarantor.rb +1 -0
  22. data/lib/health-data-standards/models/lab_result.rb +2 -6
  23. data/lib/health-data-standards/models/medical_equipment.rb +2 -7
  24. data/lib/health-data-standards/models/medication.rb +11 -31
  25. data/lib/health-data-standards/models/metadata/link_info.rb +1 -0
  26. data/lib/health-data-standards/models/order_information.rb +5 -13
  27. data/lib/health-data-standards/models/organization.rb +1 -0
  28. data/lib/health-data-standards/models/procedure.rb +1 -4
  29. data/lib/health-data-standards/models/provider.rb +2 -1
  30. data/lib/health-data-standards/models/provider_performance.rb +1 -0
  31. data/lib/health-data-standards/models/qrda/legal_authenticator.rb +1 -0
  32. data/lib/health-data-standards/models/qrda/organization.rb +2 -0
  33. data/lib/health-data-standards/models/record.rb +7 -7
  34. data/lib/health-data-standards/models/result_value.rb +1 -0
  35. data/lib/health-data-standards/models/svs/concept.rb +1 -0
  36. data/lib/health-data-standards/models/svs/value_set.rb +1 -0
  37. data/lib/health-data-standards/models/telecom.rb +1 -0
  38. data/lib/health-data-standards/models/transfer.rb +1 -0
  39. data/lib/health-data-standards/tasks/bundle.rake +3 -3
  40. data/lib/health-data-standards/util/vs_api.rb +2 -2
  41. data/lib/hqmf-generator/attribute.xml.erb +9 -11
  42. data/lib/hqmf-generator/characteristic_criteria.xml.erb +5 -5
  43. data/lib/hqmf-generator/code.xml.erb +6 -2
  44. data/lib/hqmf-generator/condition_criteria.xml.erb +4 -5
  45. data/lib/hqmf-generator/derivation.xml.erb +6 -6
  46. data/lib/hqmf-generator/description.xml.erb +1 -1
  47. data/lib/hqmf-generator/document.xml.erb +46 -11
  48. data/lib/hqmf-generator/encounter_criteria.xml.erb +4 -5
  49. data/lib/hqmf-generator/field.xml.erb +13 -1
  50. data/lib/hqmf-generator/grouper_criteria.xml.erb +17 -0
  51. data/lib/hqmf-generator/hqmf-generator.rb +75 -8
  52. data/lib/hqmf-generator/local_variable.xml.erb +1 -0
  53. data/lib/hqmf-generator/measure_observation_definition.xml.erb +25 -0
  54. data/lib/hqmf-generator/observation_criteria.xml.erb +4 -5
  55. data/lib/hqmf-generator/population_criteria.xml.erb +2 -3
  56. data/lib/hqmf-generator/precondition.xml.erb +2 -2
  57. data/lib/hqmf-generator/precondition_cv.xml.erb +8 -0
  58. data/lib/hqmf-generator/procedure_criteria.xml.erb +4 -5
  59. data/lib/hqmf-generator/reference.xml.erb +2 -2
  60. data/lib/hqmf-generator/source.xml.erb +2 -2
  61. data/lib/hqmf-generator/specific_occurrence.xml.erb +4 -5
  62. data/lib/hqmf-generator/subset.xml.erb +16 -3
  63. data/lib/hqmf-generator/substance_criteria.xml.erb +4 -5
  64. data/lib/hqmf-generator/supply_criteria.xml.erb +4 -5
  65. data/lib/hqmf-generator/temporal_relationship.xml.erb +1 -1
  66. data/lib/hqmf-generator/value.xml.erb +35 -9
  67. data/lib/hqmf-generator/variable_criteria.xml.erb +2 -3
  68. data/lib/hqmf-model/attribute.rb +36 -8
  69. data/lib/hqmf-model/data_criteria.json +38 -204
  70. data/lib/hqmf-model/data_criteria.rb +40 -16
  71. data/lib/hqmf-model/document.rb +61 -2
  72. data/lib/hqmf-model/population_criteria.rb +11 -7
  73. data/lib/hqmf-model/precondition.rb +1 -1
  74. data/lib/hqmf-model/types.rb +91 -8
  75. data/lib/hqmf-parser/1.0/attribute.rb +55 -2
  76. data/lib/hqmf-parser/1.0/document.rb +10 -23
  77. data/lib/hqmf-parser/1.0/population_criteria.rb +2 -2
  78. data/lib/hqmf-parser/1.0/range.rb +0 -1
  79. data/lib/hqmf-parser/2.0/data_criteria.rb +90 -21
  80. data/lib/hqmf-parser/2.0/document.rb +122 -7
  81. data/lib/hqmf-parser/2.0/population_criteria.rb +18 -6
  82. data/lib/hqmf-parser/2.0/precondition.rb +4 -1
  83. data/lib/hqmf-parser/2.0/types.rb +36 -15
  84. data/lib/hqmf-parser/converter/pass1/document_converter.rb +4 -56
  85. data/lib/hqmf-parser/converter/pass1/population_criteria_converter.rb +24 -8
  86. data/lib/hqmf-parser/converter/pass1/precondition_extractor.rb +15 -2
  87. data/lib/hqmf-parser/converter/pass2/comparison_converter.rb +1 -1
  88. data/lib/hqmf-parser/parser.rb +64 -41
  89. data/templates/cat1/_2.16.840.1.113883.10.20.22.4.85.cat1.erb +0 -1
  90. data/templates/cat1/_address.cat1.erb +9 -0
  91. data/templates/cat1/_author.cat1.erb +28 -0
  92. data/templates/cat1/_id.cat1.erb +1 -0
  93. data/templates/cat1/_organization.cat1.erb +8 -0
  94. data/templates/cat1/_patient_data.cat1.erb +0 -3
  95. data/templates/cat1/_telecom.cat1.erb +1 -0
  96. data/templates/cat1/show.cat1.erb +96 -58
  97. metadata +115 -66
  98. checksums.yaml +0 -7
@@ -0,0 +1 @@
1
+ <localVariableName value="<%=name%>"/>
@@ -0,0 +1,25 @@
1
+ <definition typeCode="INST">
2
+ <measureObservationDefinition classCode="OBS" moodCode="DEF">
3
+ <typeId root="2.16.840.1.113883.3.100.1" extension="<%= observation.hqmf_id%>"/>
4
+ <code code="AGGREGATE" codeSystem="2.16.840.1.113883.5.4"> </code>
5
+ <value xsi:type="PQ">
6
+ <expression value="<%= expression_for_observation(doc,observation) %>"/>
7
+ </value>
8
+ <methodCode>
9
+ <item code="<%= observation.aggregator %>" codeSystem="2.16.840.1.113883.5.84" />
10
+ </methodCode>
11
+ <%- if observation.preconditions.present? && observation.preconditions.length > 0 -%>
12
+ <%- observation.preconditions.each do |precondition| -%>
13
+ <%= xml_for_precondition_cv(precondition) %>
14
+ <%- end -%>
15
+ <%- end -%>
16
+ <precondition typeCode="PRCN">
17
+ <join moodCode="DEF" classCode="OBS">
18
+ <templateId>
19
+ <item root="c75181d0-73eb-11de-8a39-0800200c9a66" extension="<%= msrpopl.hqmf_id %>"/>
20
+ </templateId>
21
+ <value/>
22
+ </join>
23
+ </precondition>
24
+ </measureObservationDefinition>
25
+ </definition>
@@ -1,9 +1,8 @@
1
1
  <entry typeCode="DRIV">
2
+ <%= xml_for_local_variable(criteria) %>
2
3
  <observationCriteria moodCode="EVN" classCode="OBS"<%= " actionNegationInd='true'" if criteria.negation %>>
3
4
  <%= xml_for_template(criteria, is_source_data_criteria) %>
4
- <id>
5
- <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
- </id>
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
7
6
  <%= xml_for_code(criteria) %>
8
7
  <%= xml_for_description(criteria) %>
9
8
  <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
@@ -13,9 +12,9 @@
13
12
  <%= xml_for_value(criteria.value) %>
14
13
  <%- end -%>
15
14
  <definition>
16
- <observationReference moodCode="EVN" classCode="OBS">
15
+ <criteriaReference moodCode="EVN" classCode="OBS">
17
16
  <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
18
- </observationReference>
17
+ </criteriaReference>
19
18
  </definition>
20
19
  <%= xml_for_temporal_references(criteria) %>
21
20
  <%= xml_for_fields(criteria) %>
@@ -1,13 +1,12 @@
1
1
  <component typeCode="COMP">
2
- <<%= population_element_prefix(criteria_id) %>Criteria classCode="OBS" moodCode="EVN">
2
+ <<%= population_element_prefix(criteria_id) %>Criteria classCode="OBS" moodCode="EVN" isCriterionInd="true">
3
3
  <id root="c75181d0-73eb-11de-8a39-0800200c9a66"
4
4
  extension="<%= population_criteria.hqmf_id %>"/>
5
5
  <code codeSystem="2.16.840.1.113883.5.1063"
6
6
  codeSystemName="HL7 Observation Value"
7
7
  code="<%= population_criteria.type %>">
8
- <displayName value="<%= population_criteria.title %>"/>
8
+ <displayName value="<%=ERB::Util::h population_criteria.title %>"/>
9
9
  </code>
10
- <isCriterionInd value="true"/>
11
10
  <%- if population_criteria.preconditions.present? && population_criteria.preconditions.length > 0 -%>
12
11
  <%- population_criteria.preconditions.each do |precondition| -%>
13
12
  <%= xml_for_precondition(precondition) %>
@@ -7,8 +7,8 @@
7
7
  <%- end -%>
8
8
  </<%= precondition.conjunction_code_with_negation %>>
9
9
  <%- else -%>
10
- <<%= reference_element_name(precondition.reference.id) %>Reference moodCode="EVN" classCode="<%= reference_type_name(precondition.reference.id) %>">
10
+ <criteriaReference moodCode="EVN" classCode="<%= reference_type_name(precondition.reference.id) %>">
11
11
  <id root="2.16.840.1.113883.3.100.1" extension="<%= precondition.reference.id %>"/>
12
- </<%= reference_element_name(precondition.reference.id) %>Reference>
12
+ </criteriaReference>
13
13
  <%- end -%>
14
14
  </precondition>
@@ -0,0 +1,8 @@
1
+ <precondition typeCode="PRCN">
2
+ <join moodCode="DEF" classCode="<%= reference_type_name(precondition.reference.id) %>">
3
+ <templateId>
4
+ <item root="2.16.840.1.113883.3.100.1" extension="<%= precondition.reference.id %>" identifierName="<%= reference_type_name(precondition.reference.id) %>"/>
5
+ </templateId>
6
+ <value/>
7
+ </join>
8
+ </precondition>
@@ -1,18 +1,17 @@
1
1
  <entry typeCode="DRIV">
2
+ <%= xml_for_local_variable(criteria) %>
2
3
  <procedureCriteria moodCode="EVN" classCode="PROC"<%= " actionNegationInd='true'" if criteria.negation %>>
3
4
  <%= xml_for_template(criteria, is_source_data_criteria) %>
4
- <id>
5
- <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
- </id>
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
7
6
  <%= xml_for_code(criteria) %>
8
7
  <%= xml_for_description(criteria) %>
9
8
  <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
10
9
  <%= xml_for_effective_time(criteria) %>
11
10
  <%= xml_for_reason(criteria) %>
12
11
  <definition>
13
- <procedureReference moodCode="EVN" classCode="PROC">
12
+ <criteriaReference moodCode="EVN" classCode="PROC">
14
13
  <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
15
- </procedureReference>
14
+ </criteriaReference>
16
15
  </definition>
17
16
  <%= xml_for_temporal_references(criteria) %>
18
17
  <%= xml_for_fields(criteria) %>
@@ -1,3 +1,3 @@
1
- <<%= reference_element_name(reference.id) %>Reference moodCode="EVN" classCode="<%= reference_type_name(reference.id) %>">
1
+ <criteriaReference moodCode="EVN" classCode="<%= reference_type_name(reference.id) %>">
2
2
  <id root="2.16.840.1.113883.3.100.1" extension="<%= reference.id %>"/>
3
- </<%= reference_element_name(reference.id) %>Reference>
3
+ </criteriaReference>
@@ -1,6 +1,6 @@
1
1
  <outboundRelationship typeCode="SUBJ">
2
2
  <subsetCode code="SOURCE"/>
3
- <observationReference classCode="OBS" moodCode="EVN">
3
+ <criteriaReference classCode="OBS" moodCode="EVN">
4
4
  <id root="2.16.840.1.113883.3.100.1" extension="<%= source_criteria_id %>"/>
5
- </observationReference>
5
+ </criteriaReference>
6
6
  </outboundRelationship>
@@ -1,7 +1,6 @@
1
- <outboundRelationship typeCode="SUBJ">
1
+ <outboundRelationship typeCode="OCCR">
2
2
  <localVariableName controlInformationRoot="<%= type %>" controlInformationExtension="<%= id %>"/>
3
- <subsetCode code="SPECIFIC"/>
4
- <observationReference classCode="OBS" moodCode="EVN">
3
+ <criteriaReference classCode="OBS" moodCode="EVN">
5
4
  <id root="2.16.840.1.113883.3.100.1" extension="<%= source_criteria_id %>"/>
6
- </observationReference>
7
- </outboundRelationship>
5
+ </criteriaReference>
6
+ </outboundRelationship>
@@ -1,8 +1,21 @@
1
1
  <excerpt typeCode="XCRPT">
2
2
  <subsetCode code="<%= subset.type %>"/>
3
3
  <<%= element_name_prefix(criteria) %>Criteria moodCode="EVN" classCode="<%= reference_type_name(criteria.id) %>">
4
- <%- if subset.value -%>
5
- <%= xml_for_value(subset.value, 'repeatNumber') %>
4
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
5
+ <%- if subset && subset.value -%>
6
+ <%- if subset.type == 'COUNT' -%>
7
+ <repeatNumber <%= "lowClosed=\"true\"" if subset.value.low && subset.value.low.inclusive? %>
8
+ <%= "highClosed=\"true\"" if subset.value.high && subset.value.high.inclusive? %>>
9
+ <%- if subset.value.low -%>
10
+ <low value="<%= subset.value.low.value %>"/>
11
+ <%- end -%>
12
+ <%- if subset.value.high -%>
13
+ <high value="<%= subset.value.high.value %>"/>
14
+ <%- end -%>
15
+ </repeatNumber>
16
+ <%- else -%>
17
+ <%= xml_for_value(subset.value, 'value') %>
18
+ <%- end -%>
6
19
  <%- end -%>
7
20
  </<%= element_name_prefix(criteria) %>Criteria>
8
- </excerpt>
21
+ </excerpt>
@@ -1,9 +1,8 @@
1
1
  <entry typeCode="DRIV">
2
+ <%= xml_for_local_variable(criteria) %>
2
3
  <substanceAdministrationCriteria moodCode="EVN" classCode="SBADM"<%= " actionNegationInd='true'" if criteria.negation %>>
3
4
  <%= xml_for_template(criteria, is_source_data_criteria) %>
4
- <id>
5
- <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
- </id>
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
7
6
  <%= xml_for_description(criteria) %>
8
7
  <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
9
8
  <%= xml_for_effective_time(criteria) %>
@@ -14,9 +13,9 @@
14
13
  </role>
15
14
  </participation>
16
15
  <definition>
17
- <substanceAdministrationReference moodCode="EVN" classCode="SBADM">
16
+ <criteriaReference moodCode="EVN" classCode="SBADM">
18
17
  <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
19
- </substanceAdministrationReference>
18
+ </criteriaReference>
20
19
  </definition>
21
20
  <%= xml_for_temporal_references(criteria) %>
22
21
  <%= xml_for_fields(criteria) %>
@@ -1,9 +1,8 @@
1
1
  <entry typeCode="DRIV">
2
+ <%= xml_for_local_variable(criteria) %>
2
3
  <supplyCriteria moodCode="EVN" classCode="SPLY"<%= " actionNegationInd='true'" if criteria.negation %>>
3
4
  <%= xml_for_template(criteria, is_source_data_criteria) %>
4
- <id>
5
- <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
- </id>
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
7
6
  <%= xml_for_description(criteria) %>
8
7
  <%= "<statusCode code=\"#{criteria.status}\"/>" if criteria.status %>
9
8
  <%= xml_for_effective_time(criteria) %>
@@ -14,9 +13,9 @@
14
13
  </role>
15
14
  </participation>
16
15
  <definition>
17
- <supplyReference moodCode="EVN" classCode="SPLY">
16
+ <criteriaReference moodCode="EVN" classCode="SPLY">
18
17
  <id root="2.16.840.1.113883.3.100.1" extension="<%= section_name(criteria) %>"/>
19
- </supplyReference>
18
+ </criteriaReference>
20
19
  </definition>
21
20
  <%= xml_for_temporal_references(criteria) %>
22
21
  <%= xml_for_fields(criteria) %>
@@ -1,6 +1,6 @@
1
1
  <temporallyRelatedInformation typeCode="<%= relationship.type %>">
2
2
  <%- if relationship.range -%>
3
- <%= xml_for_value(relationship.range, 'pauseQuantity') %>
3
+ <%= xml_for_value(relationship.range, 'pauseQuantity', false) %>
4
4
  <%- end -%>
5
5
  <%= xml_for_reference(relationship.reference) %>
6
6
  </temporallyRelatedInformation>
@@ -1,15 +1,35 @@
1
1
  <%- if value.class==HQMF::Range -%>
2
- <<%= name %> xsi:type="<%= value.type %>">
3
- <%= xml_for_value(value.low, 'low', false) if value.low -%>
4
- <%= xml_for_value(value.high, 'high', false) if value.high -%>
2
+ <<%= name %> <%= "xsi:type=\"#{value.type}\"" if include_type %> <%= "highClosed=\"true\"" if value.high && value.high.inclusive? && name != 'pauseQuantity' %> <%= "lowClosed=\"true\"" if value.low && value.low.inclusive? && name != 'pauseQuantity' %>>
3
+ <%- # WARNING: Hacky Fixes Above And Below That Must Be Looked At Again! -%>
4
+ <%- if name == 'pauseQuantity' -%>
5
+ <uncertainRange <%= "lowClosed=\"true\"" if value.low && value.low.inclusive? %> <%= "highClosed=\"true\"" if value.high && value.high.inclusive? %>>
6
+ <%= xml_for_value(value.low, 'low') if value.low -%>
7
+ <%= xml_for_value(value.high, 'high') if value.high -%>
8
+ </uncertainRange>
9
+ <%- else -%>
10
+ <%= xml_for_value(value.low, 'low', false) if value.low -%>
11
+ <%= xml_for_value(value.high, 'high', false) if value.high -%>
12
+ <%- end -%>
5
13
  </<%= name %>>
6
14
  <%- elsif value.class==HQMF::Coded -%>
7
- <%- if value.code_list_id -%>
8
- <<%= name %> xsi:type="<%= value.type %>" valueSet="<%= value.code_list_id %>">
15
+ <%- if value.null_flavor -%>
16
+ <<%= name %> nullFlavor="<%= value.null_flavor %>">
17
+ <%- if value.original_text -%>
18
+ <originalText value="<%= value.original_text %>"/>
19
+ <%- end -%>
9
20
  <%- else -%>
10
- <<%= name %> xsi:type="<%= value.type %>" codeSystem="<%= value.system %>" code="<%= value.code %>">
21
+ <%- if value.code_list_id -%>
22
+ <<%= name %> <%= "xsi:type=\"#{value.type}\"" if include_type %> valueSet="<%= value.code_list_id %>">
23
+ <%- else -%>
24
+ <<%= name %> <%= "xsi:type=\"#{value.type}\"" if include_type %> codeSystem="<%= value.system %>" code="<%= value.code %>">
25
+ <%- end -%>
26
+ <%- if value.title -%>
27
+ <displayName value="<%=ERB::Util::h value.title %>"/>
28
+ <%- end -%>
29
+ <%- if value.original_text -%>
30
+ <originalText value="<%= value.original_text %>"/>
31
+ <%- end -%>
11
32
  <%- end -%>
12
- <displayName value="<%= value.title %>"/>
13
33
  </<%= name %>>
14
34
  <%- elsif value.class==HQMF::Value -%>
15
35
  <%- if value.derived? -%>
@@ -19,6 +39,12 @@
19
39
  <%- else -%>
20
40
  <<%= name %> <%= "xsi:type=\"#{value.type}\"" if include_type %> value="<%= value.value %>"<%= " unit=\"#{value.unit}\"" if value.unit %>/>
21
41
  <%- end -%>
42
+ <%- elsif value.class==HQMF::Identifier -%>
43
+ <<%= name %> xsi:type="II" root="<%= value.root %>"<%= " extension=\"#{value.extension}\"" if value.extension %>/>
44
+ <%- elsif value.class==HQMF::ED -%>
45
+ <<%= name %> xsi:type="ED" mediaType="<%= value.media_type || 'text/plain' %>"<%= " value=\"#{ERB::Util::h value.value}\"" if value.value %>/>
46
+ <%- elsif value.class==HQMF::GenericValueContainer -%>
47
+ <<%= name %> <%="xsi:type=\"#{value.type}\"" if value.type %> value="<%=ERB::Util::h value.value %>"/>
22
48
  <%- elsif value.class==HQMF::AnyValue -%>
23
- <<%= name %> xsi:type="ANY" nullFlavor="NI"/>
24
- <%- end -%>
49
+ <<%= name %> xsi:type="ANY" flavorId="ANY.NONNULL"/>
50
+ <%- end -%>
@@ -1,9 +1,8 @@
1
1
  <entry typeCode="DRIV">
2
+ <%= xml_for_local_variable(criteria) %>
2
3
  <observationCriteria moodCode="EVN" classCode="OBS">
3
4
  <%= xml_for_template(criteria, is_source_data_criteria) %>
4
- <id>
5
- <item root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
6
- </id>
5
+ <id root="2.16.840.1.113883.3.100.1" extension="<%= criteria.id %>"/>
7
6
  <%= xml_for_description(criteria) %>
8
7
  <%= xml_for_code(criteria) %>
9
8
  <%= xml_for_effective_time(criteria) %>
@@ -1,35 +1,63 @@
1
1
  module HQMF
2
-
3
2
  class Attribute
4
3
  include HQMF::Conversion::Utilities
5
- attr_reader :id,:code,:value,:unit,:name
4
+ attr_reader :id,:code,:value,:unit,:name,:id_obj,:code_obj,:value_obj
6
5
  # @param [String] id
7
6
  # @param [String] code
8
7
  # @param [String] value
9
8
  # @param [String] unit
10
9
  # @param [String] name
11
- def initialize(id,code,value,unit,name)
10
+ # @param [HQMF::Identifier] id_obj
11
+ # @param [HQMF::Coded] code_obj
12
+ # @param [Object] value_obj
13
+ def initialize(id,code,value,unit,name,id_obj=nil,code_obj=nil,value_obj=nil)
12
14
  @id = id
13
15
  @code = code
14
16
  @value = value
15
17
  @unit = unit
16
18
  @name = name
19
+ # enhanced model
20
+ @id_obj = id_obj
21
+ @code_obj = code_obj
22
+ @value_obj = value_obj
17
23
  end
18
-
24
+
19
25
  def self.from_json(json)
26
+ json = json.with_indifferent_access
27
+
20
28
  id = json["id"] if json["id"]
21
29
  code = json["code"] if json["code"]
22
30
  value = json["value"] if json["value"]
23
31
  unit = json["unit"] if json["unit"]
24
32
  name = json["name"] if json["name"]
25
-
26
- HQMF::Attribute.new(id,code,value,unit,name)
33
+ # enhanced model
34
+ id_obj = HQMF::Identifier::from_json(json["id_obj"]) if json["id_obj"]
35
+ code_obj = HQMF::Coded::from_json(json["code_obj"]) if json["code_obj"]
36
+ value_obj = nil
37
+ if (json["value_obj"])
38
+ json_value = json["value_obj"].with_indifferent_access
39
+ case json_value["type"]
40
+ when 'II'
41
+ value_obj = HQMF::Identifier::from_json(json_value)
42
+ when 'CD'
43
+ value_obj = HQMF::Coded::from_json(json_value)
44
+ when 'ED'
45
+ value_obj = HQMF::ED::from_json(json_value)
46
+ else
47
+ value_obj = json_value["value"].nil? ? HQMF::AnyValue::from_json(json_value) : HQMF::GenericValueContainer::from_json(json_value)
48
+ end
49
+ end
50
+
51
+ HQMF::Attribute.new(id,code,value,unit,name,id_obj,code_obj,value_obj)
27
52
  end
28
-
53
+
29
54
  def to_json
30
55
  json = build_hash(self, [:id,:code,:value,:unit,:name])
56
+ json[:id_obj] = @id_obj.to_json if @id_obj
57
+ json[:code_obj] = @code_obj.to_json if @code_obj
58
+ json[:value_obj] = @value_obj.to_json if @value_obj
31
59
  json
32
60
  end
33
-
61
+
34
62
  end
35
63
  end
@@ -7,19 +7,51 @@
7
7
  "sub_category":"",
8
8
  "hard_status":false,
9
9
  "patient_api_function":"",
10
- "standard_category":"",
11
- "qds_data_type":"",
10
+ "not_supported":false},
11
+ "satisfies_all":{
12
+ "title":"satisfies all data criteria",
13
+ "category":"derived",
14
+ "definition":"satisfies_all",
15
+ "status":"",
16
+ "sub_category":"",
17
+ "hard_status":false,
18
+ "patient_api_function":"",
19
+ "not_supported":false},
20
+ "satisfies_any":{
21
+ "title":"satisfies any data criteria",
22
+ "category":"derived",
23
+ "definition":"satisfies_any",
24
+ "status":"",
25
+ "sub_category":"",
26
+ "hard_status":false,
27
+ "patient_api_function":"",
12
28
  "not_supported":false},
13
29
  "variable":{
14
30
  "title":"variable data criteria",
15
- "category":"variable",
31
+ "category":"derived",
16
32
  "definition":"variable",
17
33
  "status":"",
18
34
  "sub_category":"",
19
35
  "hard_status":false,
20
36
  "patient_api_function":"",
21
- "standard_category":"",
22
- "qds_data_type":"",
37
+ "not_supported":false},
38
+ "variable_performed":{
39
+ "title":"variable data criteria",
40
+ "category":"derived",
41
+ "definition":"variable",
42
+ "status":"performed",
43
+ "sub_category":"",
44
+ "hard_status":false,
45
+ "patient_api_function":"",
46
+ "not_supported":false},
47
+ "variable_active":{
48
+ "title":"variable data criteria",
49
+ "category":"derived",
50
+ "definition":"variable",
51
+ "status":"active",
52
+ "sub_category":"",
53
+ "hard_status":false,
54
+ "patient_api_function":"",
23
55
  "not_supported":false},
24
56
  "MeasurePeriod":{
25
57
  "title":"the measurement period",
@@ -29,8 +61,6 @@
29
61
  "sub_category":"",
30
62
  "hard_status":false,
31
63
  "patient_api_function":"",
32
- "standard_category":"",
33
- "qds_data_type":"",
34
64
  "not_supported":false},
35
65
  "patient_characteristic":{
36
66
  "title":"patient characteristic",
@@ -40,8 +70,6 @@
40
70
  "sub_category":"",
41
71
  "hard_status":false,
42
72
  "patient_api_function":"allProblems",
43
- "standard_category":"individual_characteristic",
44
- "qds_data_type":"individual_characteristic",
45
73
  "not_supported":false},
46
74
  "patient_characteristic_birthdate":{
47
75
  "title":"patient characteristic, birthdate",
@@ -52,8 +80,6 @@
52
80
  "hard_status":false,
53
81
  "patient_api_function":"",
54
82
  "property":"birthtime",
55
- "standard_category":"individual_characteristic",
56
- "qds_data_type":"individual_characteristic",
57
83
  "not_supported":false},
58
84
  "patient_characteristic_age":{
59
85
  "title":"patient characteristic, age",
@@ -64,8 +90,6 @@
64
90
  "hard_status":false,
65
91
  "patient_api_function":"",
66
92
  "property":"age",
67
- "standard_category":"individual_characteristic",
68
- "qds_data_type":"individual_characteristic",
69
93
  "not_supported":false},
70
94
  "patient_characteristic_marital_status":{
71
95
  "title":"patient characteristic, marital status",
@@ -76,8 +100,6 @@
76
100
  "hard_status":false,
77
101
  "patient_api_function":"",
78
102
  "property":"maritalStatus",
79
- "standard_category":"individual_characteristic",
80
- "qds_data_type":"individual_characteristic",
81
103
  "not_supported":false},
82
104
  "patient_characteristic_languages":{
83
105
  "title":"patient characteristic, languages",
@@ -88,8 +110,6 @@
88
110
  "hard_status":false,
89
111
  "patient_api_function":"",
90
112
  "property":"languages",
91
- "standard_category":"individual_characteristic",
92
- "qds_data_type":"individual_characteristic",
93
113
  "not_supported":false},
94
114
  "patient_characteristic_clinical_trial_participant":{
95
115
  "title":"patient characteristic, clinical trial participant",
@@ -100,8 +120,6 @@
100
120
  "hard_status":false,
101
121
  "patient_api_function":"",
102
122
  "property":"clinicalTrialParticipant",
103
- "standard_category":"individual_characteristic",
104
- "qds_data_type":"individual_characteristic",
105
123
  "not_supported":false},
106
124
  "patient_characteristic_gender":{
107
125
  "title":"patient characteristic, gender",
@@ -112,8 +130,6 @@
112
130
  "hard_status":false,
113
131
  "patient_api_function":"",
114
132
  "property":"gender",
115
- "standard_category":"individual_characteristic",
116
- "qds_data_type":"individual_characteristic",
117
133
  "not_supported":false},
118
134
  "patient_characteristic_ethnicity":{
119
135
  "title":"patient characteristic, ethnicity",
@@ -124,8 +140,6 @@
124
140
  "hard_status":false,
125
141
  "patient_api_function":"",
126
142
  "property":"ethnicity",
127
- "standard_category":"individual_characteristic",
128
- "qds_data_type":"individual_characteristic",
129
143
  "not_supported":false},
130
144
  "patient_characteristic_expired":{
131
145
  "title":"patient characteristic, expired",
@@ -136,8 +150,6 @@
136
150
  "hard_status":false,
137
151
  "patient_api_function":"",
138
152
  "property":"expired",
139
- "standard_category":"individual_characteristic",
140
- "qds_data_type":"individual_characteristic",
141
153
  "not_supported":false},
142
154
  "patient_characteristic_payer":{
143
155
  "title":"patient characteristic, payer",
@@ -148,8 +160,6 @@
148
160
  "hard_status":false,
149
161
  "patient_api_function":"",
150
162
  "property":"payer",
151
- "standard_category":"individual_characteristic",
152
- "qds_data_type":"individual_characteristic",
153
163
  "not_supported":false},
154
164
  "patient_characteristic_race":{
155
165
  "title":"patient characteristic, race",
@@ -160,8 +170,6 @@
160
170
  "hard_status":false,
161
171
  "patient_api_function":"",
162
172
  "property":"race",
163
- "standard_category":"individual_characteristic",
164
- "qds_data_type":"individual_characteristic",
165
173
  "not_supported":false},
166
174
  "encounter":{
167
175
  "title":"encounter",
@@ -171,8 +179,6 @@
171
179
  "sub_category":"",
172
180
  "hard_status":false,
173
181
  "patient_api_function":"encounters",
174
- "standard_category":"encounter",
175
- "qds_data_type":"encounter",
176
182
  "not_supported":false},
177
183
  "encounter_active":{
178
184
  "title":"encounter, active",
@@ -182,8 +188,6 @@
182
188
  "sub_category":"",
183
189
  "hard_status":true,
184
190
  "patient_api_function":"encounters",
185
- "standard_category":"encounter",
186
- "qds_data_type":"encounter",
187
191
  "not_supported":false},
188
192
  "encounter_performed":{
189
193
  "title":"encounter, performed",
@@ -193,8 +197,6 @@
193
197
  "sub_category":"",
194
198
  "hard_status":false,
195
199
  "patient_api_function":"encounters",
196
- "standard_category":"encounter",
197
- "qds_data_type":"encounter",
198
200
  "not_supported":false},
199
201
  "encounter_ordered":{
200
202
  "title":"encounter, order",
@@ -204,8 +206,6 @@
204
206
  "sub_category":"",
205
207
  "hard_status":true,
206
208
  "patient_api_function":"encounters",
207
- "standard_category":"encounter",
208
- "qds_data_type":"encounter",
209
209
  "not_supported":false},
210
210
  "encounter_recommended":{
211
211
  "title":"encounter, recommended",
@@ -215,8 +215,6 @@
215
215
  "sub_category":"",
216
216
  "hard_status":true,
217
217
  "patient_api_function":"encounters",
218
- "standard_category":"encounter",
219
- "qds_data_type":"encounter",
220
218
  "not_supported":false},
221
219
  "procedure":{
222
220
  "title":"procedure",
@@ -226,8 +224,6 @@
226
224
  "sub_category":"",
227
225
  "hard_status":false,
228
226
  "patient_api_function":"allProcedures",
229
- "standard_category":"procedure",
230
- "qds_data_type":"procedure_performed",
231
227
  "not_supported":false},
232
228
  "procedure_performed":{
233
229
  "title":"procedure, performed",
@@ -237,8 +233,6 @@
237
233
  "sub_category":"",
238
234
  "hard_status":false,
239
235
  "patient_api_function":"allProcedures",
240
- "standard_category":"procedure",
241
- "qds_data_type":"procedure_performed",
242
236
  "not_supported":false},
243
237
  "procedure_ordered":{
244
238
  "title":"procedure, order",
@@ -248,8 +242,6 @@
248
242
  "sub_category":"",
249
243
  "hard_status":true,
250
244
  "patient_api_function":"allProcedures",
251
- "standard_category":"procedure",
252
- "qds_data_type":"procedure_performed",
253
245
  "not_supported":false},
254
246
  "procedure_result":{
255
247
  "title":"procedure, result",
@@ -259,8 +251,6 @@
259
251
  "sub_category":"result",
260
252
  "hard_status":false,
261
253
  "patient_api_function":"procedureResults",
262
- "standard_category":"procedure",
263
- "qds_data_type":"procedure_result",
264
254
  "not_supported":false},
265
255
  "procedure_adverse_event":{
266
256
  "title":"procedure, adverse event",
@@ -270,8 +260,6 @@
270
260
  "sub_category":"adverse_event",
271
261
  "hard_status":false,
272
262
  "patient_api_function":"allergies",
273
- "standard_category":"procedure",
274
- "qds_data_type":"procedure_adverse_event",
275
263
  "not_supported":false},
276
264
  "procedure_intolerance":{
277
265
  "title":"procedure, intolerance",
@@ -281,8 +269,6 @@
281
269
  "sub_category":"intolerance",
282
270
  "hard_status":false,
283
271
  "patient_api_function":"allergies",
284
- "standard_category":"procedure",
285
- "qds_data_type":"procedure_intolerance",
286
272
  "not_supported":false},
287
273
  "procedure_recommended":{
288
274
  "title":"procedure, recommended",
@@ -292,8 +278,6 @@
292
278
  "sub_category":"",
293
279
  "hard_status":true,
294
280
  "patient_api_function":"allProcedures",
295
- "standard_category":"procedure",
296
- "qds_data_type":"procedure_performed",
297
281
  "not_supported":false},
298
282
  "diagnosis":{
299
283
  "title":"diagnosis",
@@ -303,8 +287,6 @@
303
287
  "sub_category":"",
304
288
  "hard_status":false,
305
289
  "patient_api_function":"allProblems",
306
- "standard_category":"diagnosis_condition_problem",
307
- "qds_data_type":"diagnosis_active",
308
290
  "not_supported":false},
309
291
  "diagnosis_active":{
310
292
  "title":"diagnosis, active",
@@ -314,8 +296,6 @@
314
296
  "sub_category":"",
315
297
  "hard_status":false,
316
298
  "patient_api_function":"allProblems",
317
- "standard_category":"diagnosis_condition_problem",
318
- "qds_data_type":"diagnosis_active",
319
299
  "not_supported":false},
320
300
  "diagnosis_resolved":{
321
301
  "title":"diagnosis, resolved",
@@ -325,8 +305,6 @@
325
305
  "sub_category":"",
326
306
  "hard_status":true,
327
307
  "patient_api_function":"allProblems",
328
- "standard_category":"diagnosis_condition_problem",
329
- "qds_data_type":"diagnosis_resolved",
330
308
  "not_supported":false},
331
309
  "diagnosis_family_history":{
332
310
  "title":"diagnosis, family history",
@@ -336,8 +314,6 @@
336
314
  "sub_category":"family_history",
337
315
  "hard_status":true,
338
316
  "patient_api_function":"allProblems",
339
- "standard_category":"diagnosis_condition_problem",
340
- "qds_data_type":"diagnosis_active",
341
317
  "not_supported":false},
342
318
  "diagnosis_inactive":{
343
319
  "title":"diagnosis, inactive",
@@ -347,8 +323,6 @@
347
323
  "sub_category":"",
348
324
  "hard_status":true,
349
325
  "patient_api_function":"allProblems",
350
- "standard_category":"diagnosis_condition_problem",
351
- "qds_data_type":"diagnosis_inactive",
352
326
  "not_supported":false},
353
327
  "diagnosis_risk_of":{
354
328
  "title":"diagnosis, risk of",
@@ -358,8 +332,6 @@
358
332
  "sub_category":"risk_of",
359
333
  "hard_status":false,
360
334
  "patient_api_function":"allProblems",
361
- "standard_category":"diagnosis_condition_problem",
362
- "qds_data_type":"diagnosis_active",
363
335
  "not_supported":true},
364
336
  "diagnostic_study":{
365
337
  "title":"diagnostic study",
@@ -369,8 +341,6 @@
369
341
  "sub_category":"",
370
342
  "hard_status":false,
371
343
  "patient_api_function":"allProcedures",
372
- "standard_category":"diagnostic_study",
373
- "qds_data_type":"diagnostic_study_performed",
374
344
  "not_supported":false},
375
345
  "diagnostic_study_performed":{
376
346
  "title":"diagnostic study, performed",
@@ -380,8 +350,6 @@
380
350
  "sub_category":"",
381
351
  "hard_status":false,
382
352
  "patient_api_function":"allProcedures",
383
- "standard_category":"diagnostic_study",
384
- "qds_data_type":"diagnostic_study_performed",
385
353
  "not_supported":false},
386
354
  "diagnostic_study_result":{
387
355
  "title":"diagnostic study, result",
@@ -391,8 +359,6 @@
391
359
  "sub_category":"result",
392
360
  "hard_status":false,
393
361
  "patient_api_function":"procedureResults",
394
- "standard_category":"diagnostic_study",
395
- "qds_data_type":"diagnostic_study_result",
396
362
  "not_supported":false},
397
363
  "diagnostic_study_adverse_event":{
398
364
  "title":"diagnostic study, adverse event",
@@ -402,8 +368,6 @@
402
368
  "sub_category":"adverse_event",
403
369
  "hard_status":false,
404
370
  "patient_api_function":"allergies",
405
- "standard_category":"allergy",
406
- "qds_data_type":"allergy",
407
371
  "not_supported":false},
408
372
  "diagnostic_study_intolerance":{
409
373
  "title":"diagnostic study, intolerance",
@@ -413,8 +377,6 @@
413
377
  "sub_category":"intolerance",
414
378
  "hard_status":false,
415
379
  "patient_api_function":"allergies",
416
- "standard_category":"allergy",
417
- "qds_data_type":"allergy",
418
380
  "not_supported":false},
419
381
  "diagnostic_study_ordered":{
420
382
  "title":"diagnostic study, order",
@@ -424,8 +386,6 @@
424
386
  "sub_category":"",
425
387
  "hard_status":true,
426
388
  "patient_api_function":"allProcedures",
427
- "standard_category":"diagnostic_study",
428
- "qds_data_type":"diagnostic_study_performed",
429
389
  "not_supported":false},
430
390
  "medication":{
431
391
  "title":"medication",
@@ -435,8 +395,6 @@
435
395
  "sub_category":"",
436
396
  "hard_status":false,
437
397
  "patient_api_function":"allMedications",
438
- "standard_category":"medication",
439
- "qds_data_type":"medication_active",
440
398
  "not_supported":false},
441
399
  "medication_dispensed":{
442
400
  "title":"medication, dispensed",
@@ -446,8 +404,6 @@
446
404
  "sub_category":"",
447
405
  "hard_status":true,
448
406
  "patient_api_function":"allMedications",
449
- "standard_category":"medication",
450
- "qds_data_type":"medication_dispensed",
451
407
  "not_supported":false},
452
408
  "medication_ordered":{
453
409
  "title":"medication, order",
@@ -457,8 +413,6 @@
457
413
  "sub_category":"",
458
414
  "hard_status":true,
459
415
  "patient_api_function":"allMedications",
460
- "standard_category":"medication",
461
- "qds_data_type":"medication_order",
462
416
  "not_supported":false},
463
417
  "medication_active":{
464
418
  "title":"medication, active",
@@ -468,8 +422,6 @@
468
422
  "sub_category":"",
469
423
  "hard_status":false,
470
424
  "patient_api_function":"allMedications",
471
- "standard_category":"medication",
472
- "qds_data_type":"medication_active",
473
425
  "not_supported":false},
474
426
  "medication_administered":{
475
427
  "title":"medication, administered",
@@ -479,8 +431,6 @@
479
431
  "sub_category":"",
480
432
  "hard_status":true,
481
433
  "patient_api_function":"allMedications",
482
- "standard_category":"medication",
483
- "qds_data_type":"medication_administered",
484
434
  "not_supported":false},
485
435
  "medication_discharge": {
486
436
  "title":"medication, discharge",
@@ -490,8 +440,6 @@
490
440
  "sub_category":"discharge",
491
441
  "hard_status":true,
492
442
  "patient_api_function":"allMedications",
493
- "standard_category":"medication",
494
- "qds_data_type":"medication_discharge",
495
443
  "not_supported":false},
496
444
  "medication_adverse_effects":{
497
445
  "title":"medication, adverse effects",
@@ -501,8 +449,6 @@
501
449
  "sub_category":"adverse_effects",
502
450
  "hard_status":false,
503
451
  "patient_api_function":"allergies",
504
- "standard_category":"allergy",
505
- "qds_data_type":"allergy",
506
452
  "not_supported":false},
507
453
  "medication_allergy":{
508
454
  "title":"medication, allergy",
@@ -512,8 +458,6 @@
512
458
  "sub_category":"allergy",
513
459
  "hard_status":false,
514
460
  "patient_api_function":"allergies",
515
- "standard_category":"allergy",
516
- "qds_data_type":"allergy",
517
461
  "not_supported":false},
518
462
  "medication_intolerance":{
519
463
  "title":"medication, intolerance",
@@ -523,8 +467,6 @@
523
467
  "sub_category":"intolerance",
524
468
  "hard_status":false,
525
469
  "patient_api_function":"allergies",
526
- "standard_category":"allergy",
527
- "qds_data_type":"allergy",
528
470
  "not_supported":false},
529
471
  "physical_exam":{
530
472
  "title":"physical exam, finding",
@@ -534,8 +476,6 @@
534
476
  "sub_category":"",
535
477
  "hard_status":false,
536
478
  "patient_api_function":"procedureResults",
537
- "standard_category":"physical_exam",
538
- "qds_data_type":"physical_exam",
539
479
  "not_supported":false},
540
480
  "physical_exam_ordered":{
541
481
  "title":"physical exam, order",
@@ -545,8 +485,6 @@
545
485
  "sub_category":"",
546
486
  "hard_status":true,
547
487
  "patient_api_function":"procedureResults",
548
- "standard_category":"physical_exam",
549
- "qds_data_type":"physical_exam",
550
488
  "not_supported":false},
551
489
  "physical_exam_performed":{
552
490
  "title":"physical exam, performed",
@@ -556,8 +494,6 @@
556
494
  "sub_category":"",
557
495
  "hard_status":false,
558
496
  "patient_api_function":"procedureResults",
559
- "standard_category":"physical_exam",
560
- "qds_data_type":"physical_exam",
561
497
  "not_supported":false},
562
498
  "physical_exam_recommended":{
563
499
  "title":"physical exam, recommended",
@@ -567,8 +503,6 @@
567
503
  "sub_category":"",
568
504
  "hard_status":true,
569
505
  "patient_api_function":"procedureResults",
570
- "standard_category":"physical_exam",
571
- "qds_data_type":"physical_exam",
572
506
  "not_supported":false},
573
507
  "laboratory_test":{
574
508
  "title":"laboratory test, result",
@@ -578,8 +512,6 @@
578
512
  "sub_category":"",
579
513
  "hard_status":false,
580
514
  "patient_api_function":"laboratoryTests",
581
- "standard_category":"laboratory_test",
582
- "qds_data_type":"laboratory_test",
583
515
  "not_supported":false},
584
516
  "laboratory_test_performed":{
585
517
  "title":"laboratory test, performed",
@@ -589,8 +521,6 @@
589
521
  "sub_category":"",
590
522
  "hard_status":false,
591
523
  "patient_api_function":"laboratoryTests",
592
- "standard_category":"laboratory_test",
593
- "qds_data_type":"laboratory_test",
594
524
  "not_supported":false},
595
525
  "laboratory_test_adverse_event":{
596
526
  "title":"laboratory test, adverse event",
@@ -600,8 +530,6 @@
600
530
  "sub_category":"adverse_event",
601
531
  "hard_status":false,
602
532
  "patient_api_function":"allergies",
603
- "standard_category":"allergy",
604
- "qds_data_type":"allergy",
605
533
  "not_supported":false},
606
534
  "laboratory_test_intolerance":{
607
535
  "title":"laboratory test, intolerance",
@@ -611,8 +539,6 @@
611
539
  "sub_category":"intolerance",
612
540
  "hard_status":false,
613
541
  "patient_api_function":"allergies",
614
- "standard_category":"allergy",
615
- "qds_data_type":"allergy",
616
542
  "not_supported":false},
617
543
  "laboratory_test_ordered":{
618
544
  "title":"laboratory test, order",
@@ -622,8 +548,6 @@
622
548
  "sub_category":"",
623
549
  "hard_status":true,
624
550
  "patient_api_function":"laboratoryTests",
625
- "standard_category":"laboratory_test",
626
- "qds_data_type":"laboratory_test",
627
551
  "not_supported":false},
628
552
  "laboratory_test_recommended":{
629
553
  "title":"laboratory test, recommended",
@@ -633,8 +557,6 @@
633
557
  "sub_category":"",
634
558
  "hard_status":true,
635
559
  "patient_api_function":"laboratoryTests",
636
- "standard_category":"laboratory_test",
637
- "qds_data_type":"laboratory_test",
638
560
  "not_supported":false},
639
561
  "care_goal":{
640
562
  "title":"care goal",
@@ -644,8 +566,6 @@
644
566
  "sub_category":"",
645
567
  "hard_status":false,
646
568
  "patient_api_function":"careGoals",
647
- "standard_category":"care_goal",
648
- "qds_data_type":"care_goal",
649
569
  "not_supported":false},
650
570
  "communication_from_patient_to_provider":{
651
571
  "title":"communication, from patient to provider",
@@ -655,8 +575,6 @@
655
575
  "sub_category":"from_patient_to_provider",
656
576
  "hard_status":false,
657
577
  "patient_api_function":"procedures",
658
- "standard_category":"communication",
659
- "qds_data_type":"communication",
660
578
  "not_supported":false},
661
579
  "communication_from_provider_to_patient":{
662
580
  "title":"communication, from provider to patient",
@@ -666,8 +584,6 @@
666
584
  "sub_category":"from_provider_to_patient",
667
585
  "hard_status":false,
668
586
  "patient_api_function":"procedures",
669
- "standard_category":"communication",
670
- "qds_data_type":"communication",
671
587
  "not_supported":false},
672
588
  "communication_from_provider_to_provider":{
673
589
  "title":"communication, from provider to provider",
@@ -677,8 +593,6 @@
677
593
  "sub_category":"from_provider_to_provider",
678
594
  "hard_status":false,
679
595
  "patient_api_function":"procedures",
680
- "standard_category":"communication",
681
- "qds_data_type":"communication",
682
596
  "not_supported":false},
683
597
  "device":{
684
598
  "title":"device",
@@ -688,8 +602,6 @@
688
602
  "sub_category":"",
689
603
  "hard_status":false,
690
604
  "patient_api_function":"allDevices",
691
- "standard_category":"device",
692
- "qds_data_type":"device_applied",
693
605
  "not_supported":false},
694
606
  "device_applied":{
695
607
  "title":"device, applied",
@@ -699,8 +611,6 @@
699
611
  "sub_category":"",
700
612
  "hard_status":true,
701
613
  "patient_api_function":"allDevices",
702
- "standard_category":"device",
703
- "qds_data_type":"device_applied",
704
614
  "not_supported":false},
705
615
  "device_adverse_event":{
706
616
  "title":"device, adverse event",
@@ -710,8 +620,6 @@
710
620
  "sub_category":"adverse_event",
711
621
  "hard_status":false,
712
622
  "patient_api_function":"allergies",
713
- "standard_category":"allergy",
714
- "qds_data_type":"allergy",
715
623
  "not_supported":false},
716
624
  "device_allergy":{
717
625
  "title":"device, allergy",
@@ -721,8 +629,6 @@
721
629
  "sub_category":"allergy",
722
630
  "hard_status":false,
723
631
  "patient_api_function":"allergies",
724
- "standard_category":"allergy",
725
- "qds_data_type":"allergy",
726
632
  "not_supported":false},
727
633
  "device_intolerance":{
728
634
  "title":"device, intolerance",
@@ -732,8 +638,6 @@
732
638
  "sub_category":"intolerance",
733
639
  "hard_status":false,
734
640
  "patient_api_function":"allergies",
735
- "standard_category":"allergy",
736
- "qds_data_type":"allergy",
737
641
  "not_supported":false},
738
642
  "device_ordered":{
739
643
  "title":"device, order",
@@ -743,8 +647,6 @@
743
647
  "sub_category":"",
744
648
  "hard_status":true,
745
649
  "patient_api_function":"allDevices",
746
- "standard_category":"device",
747
- "qds_data_type":"device_applied",
748
650
  "not_supported":false},
749
651
  "device_recommended":{
750
652
  "title":"device, recommended",
@@ -754,8 +656,6 @@
754
656
  "sub_category":"",
755
657
  "hard_status":true,
756
658
  "patient_api_function":"allDevices",
757
- "standard_category":"device",
758
- "qds_data_type":"device_applied",
759
659
  "not_supported":false},
760
660
  "substance":{
761
661
  "title":"substance",
@@ -765,8 +665,6 @@
765
665
  "sub_category":"",
766
666
  "hard_status":false,
767
667
  "patient_api_function":"allMedications",
768
- "standard_category":"medication",
769
- "qds_data_type":"medication_administered",
770
668
  "not_supported":false},
771
669
  "substance_administered":{
772
670
  "title":"substance, administered",
@@ -776,8 +674,6 @@
776
674
  "sub_category":"",
777
675
  "hard_status":true,
778
676
  "patient_api_function":"allMedications",
779
- "standard_category":"medication",
780
- "qds_data_type":"medication_administered",
781
677
  "not_supported":false},
782
678
  "substance_ordered":{
783
679
  "title":"substance, order",
@@ -787,8 +683,6 @@
787
683
  "sub_category":"",
788
684
  "hard_status":true,
789
685
  "patient_api_function":"allMedications",
790
- "standard_category":"medication",
791
- "qds_data_type":"medication_order",
792
686
  "not_supported":false},
793
687
  "substance_adverse_event":{
794
688
  "title":"substance, adverse event",
@@ -798,8 +692,6 @@
798
692
  "sub_category":"adverse_event",
799
693
  "hard_status":false,
800
694
  "patient_api_function":"allergies",
801
- "standard_category":"allergy",
802
- "qds_data_type":"allergy",
803
695
  "not_supported":false},
804
696
  "substance_intolerance":{
805
697
  "title":"substance, intolerance",
@@ -809,8 +701,6 @@
809
701
  "sub_category":"intolerance",
810
702
  "hard_status":false,
811
703
  "patient_api_function":"allergies",
812
- "standard_category":"allergy",
813
- "qds_data_type":"allergy",
814
704
  "not_supported":false},
815
705
  "substance_allergy":{
816
706
  "title":"substance, allergy",
@@ -820,8 +710,6 @@
820
710
  "sub_category":"allergy",
821
711
  "hard_status":false,
822
712
  "patient_api_function":"allergies",
823
- "standard_category":"allergy",
824
- "qds_data_type":"allergy",
825
713
  "not_supported":false},
826
714
  "substance_recommended":{
827
715
  "title":"substance, recommended",
@@ -831,8 +719,6 @@
831
719
  "sub_category":"",
832
720
  "hard_status":true,
833
721
  "patient_api_function":"allMedications",
834
- "standard_category":"medication",
835
- "qds_data_type":"medication_order",
836
722
  "not_supported":false},
837
723
  "intervention":{
838
724
  "title":"intervention",
@@ -842,8 +728,6 @@
842
728
  "sub_category":"",
843
729
  "hard_status":false,
844
730
  "patient_api_function":"allProcedures",
845
- "standard_category":"procedure",
846
- "qds_data_type":"procedure_performed",
847
731
  "not_supported":false},
848
732
  "intervention_adverse_event":{
849
733
  "title":"intervention, adverse event",
@@ -853,8 +737,6 @@
853
737
  "sub_category":"adverse_event",
854
738
  "hard_status":false,
855
739
  "patient_api_function":"allergies",
856
- "standard_category":"allergy",
857
- "qds_data_type":"allergy",
858
740
  "not_supported":false},
859
741
  "intervention_intolerance":{
860
742
  "title":"intervention, intolerance",
@@ -864,8 +746,6 @@
864
746
  "sub_category":"intolerance",
865
747
  "hard_status":false,
866
748
  "patient_api_function":"allergies",
867
- "standard_category":"allergy",
868
- "qds_data_type":"allergy",
869
749
  "not_supported":false},
870
750
  "intervention_ordered":{
871
751
  "title":"intervention, order",
@@ -875,8 +755,6 @@
875
755
  "sub_category":"",
876
756
  "hard_status":true,
877
757
  "patient_api_function":"allProcedures",
878
- "standard_category":"procedure",
879
- "qds_data_type":"procedure_performed",
880
758
  "not_supported":false},
881
759
  "intervention_performed":{
882
760
  "title":"intervention, performed",
@@ -886,8 +764,6 @@
886
764
  "sub_category":"",
887
765
  "hard_status":false,
888
766
  "patient_api_function":"allProcedures",
889
- "standard_category":"procedure",
890
- "qds_data_type":"procedure_performed",
891
767
  "not_supported":false},
892
768
  "intervention_result":{
893
769
  "title":"intervention, result",
@@ -897,8 +773,6 @@
897
773
  "sub_category":"result",
898
774
  "hard_status":false,
899
775
  "patient_api_function":"procedureResults",
900
- "standard_category":"procedure",
901
- "qds_data_type":"procedure_result",
902
776
  "not_supported":false},
903
777
  "intervention_recommended":{
904
778
  "title":"intervention, recommended",
@@ -908,8 +782,6 @@
908
782
  "sub_category":"",
909
783
  "hard_status":true,
910
784
  "patient_api_function":"allProcedures",
911
- "standard_category":"procedure",
912
- "qds_data_type":"procedure_performed",
913
785
  "not_supported":false},
914
786
  "symptom":{
915
787
  "title":"symptom",
@@ -919,8 +791,6 @@
919
791
  "sub_category":"",
920
792
  "hard_status":false,
921
793
  "patient_api_function":"allProblems",
922
- "standard_category":"symptom",
923
- "qds_data_type":"symptom",
924
794
  "not_supported":false},
925
795
  "symptom_active":{
926
796
  "title":"symptom, active",
@@ -930,8 +800,6 @@
930
800
  "sub_category":"",
931
801
  "hard_status":false,
932
802
  "patient_api_function":"allProblems",
933
- "standard_category":"symptom",
934
- "qds_data_type":"symptom",
935
803
  "not_supported":false},
936
804
  "symptom_assessed":{
937
805
  "title":"symptom, assessed",
@@ -941,8 +809,6 @@
941
809
  "sub_category":"",
942
810
  "hard_status":true,
943
811
  "patient_api_function":"allProblems",
944
- "standard_category":"symptom",
945
- "qds_data_type":"symptom",
946
812
  "not_supported":false},
947
813
  "symptom_inactive":{
948
814
  "title":"symptom, inactive",
@@ -952,8 +818,6 @@
952
818
  "sub_category":"",
953
819
  "hard_status":true,
954
820
  "patient_api_function":"allProblems",
955
- "standard_category":"symptom",
956
- "qds_data_type":"symptom",
957
821
  "not_supported":false},
958
822
  "symptom_resolved":{
959
823
  "title":"symptom, resolved",
@@ -963,8 +827,6 @@
963
827
  "sub_category":"",
964
828
  "hard_status":true,
965
829
  "patient_api_function":"allProblems",
966
- "standard_category":"symptom",
967
- "qds_data_type":"symptom",
968
830
  "not_supported":false},
969
831
  "functional_status":{
970
832
  "title":"functional status",
@@ -974,8 +836,6 @@
974
836
  "sub_category":"",
975
837
  "hard_status":false,
976
838
  "patient_api_function":"procedureResults",
977
- "standard_category":"procedure",
978
- "qds_data_type":"procedure_result",
979
839
  "not_supported":false},
980
840
  "functional_status_performed":{
981
841
  "title":"functional status, performed",
@@ -985,8 +845,6 @@
985
845
  "sub_category":"",
986
846
  "hard_status":false,
987
847
  "patient_api_function":"procedureResults",
988
- "standard_category":"procedure",
989
- "qds_data_type":"procedure_result",
990
848
  "not_supported":false},
991
849
  "functional_status_ordered":{
992
850
  "title":"functional status, order",
@@ -996,8 +854,6 @@
996
854
  "sub_category":"",
997
855
  "hard_status":true,
998
856
  "patient_api_function":"procedureResults",
999
- "standard_category":"procedure",
1000
- "qds_data_type":"procedure_result",
1001
857
  "not_supported":false},
1002
858
  "functional_status_recommended":{
1003
859
  "title":"functional status, recommended",
@@ -1007,8 +863,6 @@
1007
863
  "sub_category":"",
1008
864
  "hard_status":true,
1009
865
  "patient_api_function":"procedureResults",
1010
- "standard_category":"procedure",
1011
- "qds_data_type":"procedure_result",
1012
866
  "not_supported":false},
1013
867
  "functional_status_result":{
1014
868
  "title":"functional status, result",
@@ -1018,8 +872,6 @@
1018
872
  "sub_category":"result",
1019
873
  "hard_status":false,
1020
874
  "patient_api_function":"procedureResults",
1021
- "standard_category":"procedure",
1022
- "qds_data_type":"procedure_result",
1023
875
  "not_supported":false},
1024
876
  "risk_category_assessment":{
1025
877
  "title":"risk category / assessment",
@@ -1029,8 +881,6 @@
1029
881
  "sub_category":"",
1030
882
  "hard_status":false,
1031
883
  "patient_api_function":"procedures",
1032
- "standard_category":"risk_category_assessment",
1033
- "qds_data_type":"risk_category_assessment",
1034
884
  "not_supported":false},
1035
885
  "provider_care_experience":{
1036
886
  "title":"provider care experience",
@@ -1040,8 +890,6 @@
1040
890
  "sub_category":"",
1041
891
  "hard_status":false,
1042
892
  "patient_api_function":"",
1043
- "standard_category":"",
1044
- "qds_data_type":"",
1045
893
  "not_supported":true},
1046
894
  "patient_care_experience":{
1047
895
  "title":"patient care experience",
@@ -1051,8 +899,6 @@
1051
899
  "sub_category":"",
1052
900
  "hard_status":false,
1053
901
  "patient_api_function":"",
1054
- "standard_category":"",
1055
- "qds_data_type":"",
1056
902
  "not_supported":true},
1057
903
  "preference_provider":{
1058
904
  "title":"provider preference",
@@ -1062,8 +908,6 @@
1062
908
  "sub_category":"provider",
1063
909
  "hard_status":false,
1064
910
  "patient_api_function":"",
1065
- "standard_category":"",
1066
- "qds_data_type":"",
1067
911
  "not_supported":true},
1068
912
  "preference_patient":{
1069
913
  "title":"patient preference",
@@ -1073,8 +917,6 @@
1073
917
  "sub_category":"patient",
1074
918
  "hard_status":false,
1075
919
  "patient_api_function":"",
1076
- "standard_category":"",
1077
- "qds_data_type":"",
1078
920
  "not_supported":true},
1079
921
  "system_characteristic":{
1080
922
  "title":"system characteristic",
@@ -1084,8 +926,6 @@
1084
926
  "sub_category":"",
1085
927
  "hard_status":false,
1086
928
  "patient_api_function":"",
1087
- "standard_category":"",
1088
- "qds_data_type":"",
1089
929
  "not_supported":true},
1090
930
  "provider_characteristic":{
1091
931
  "title":"provider characteristic",
@@ -1095,8 +935,6 @@
1095
935
  "sub_category":"",
1096
936
  "hard_status":false,
1097
937
  "patient_api_function":"",
1098
- "standard_category":"",
1099
- "qds_data_type":"",
1100
938
  "not_supported":true},
1101
939
  "transfer_from":{
1102
940
  "title":"transfer, from",
@@ -1106,8 +944,6 @@
1106
944
  "sub_category":"from",
1107
945
  "hard_status":false,
1108
946
  "patient_api_function":"encounters",
1109
- "standard_category":"",
1110
- "qds_data_type":"",
1111
947
  "not_supported":false},
1112
948
  "transfer_to":{
1113
949
  "title":"transfer, to",
@@ -1117,7 +953,5 @@
1117
953
  "sub_category":"to",
1118
954
  "hard_status":false,
1119
955
  "patient_api_function":"encounters",
1120
- "standard_category":"",
1121
- "qds_data_type":"",
1122
956
  "not_supported":false}
1123
- }
957
+ }