fhir_models 1.8.2 → 1.8.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,76 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-02-25 13:02:53 -0500 using RuboCop version 0.47.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 37
10
+ Metrics/AbcSize:
11
+ Max: 423
12
+
13
+ # Offense count: 10
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ Metrics/BlockLength:
16
+ Max: 96
17
+
18
+ # Offense count: 1
19
+ # Configuration parameters: CountBlocks.
20
+ Metrics/BlockNesting:
21
+ Max: 4
22
+
23
+ # Offense count: 5
24
+ # Configuration parameters: CountComments.
25
+ Metrics/ClassLength:
26
+ Max: 499
27
+
28
+ # Offense count: 26
29
+ Metrics/CyclomaticComplexity:
30
+ Max: 69
31
+
32
+ # Offense count: 40
33
+ # Configuration parameters: CountComments.
34
+ Metrics/MethodLength:
35
+ Max: 105
36
+
37
+ # Offense count: 1
38
+ # Configuration parameters: CountComments.
39
+ Metrics/ModuleLength:
40
+ Max: 120
41
+
42
+
43
+ # Offense count: 25
44
+ Metrics/PerceivedComplexity:
45
+ Max: 72
46
+
47
+ # Offense count: 16
48
+ Style/ClassVars:
49
+ Exclude:
50
+ - 'lib/fhir_models/bootstrap/definitions.rb'
51
+ - 'lib/fhir_models/fluentpath/parse.rb'
52
+
53
+ # Offense count: 14
54
+ Style/Documentation:
55
+ Exclude:
56
+ - 'spec/**/*'
57
+ - 'test/**/*'
58
+ - 'lib/fhir_models/bootstrap/definitions.rb'
59
+ - 'lib/fhir_models/bootstrap/field.rb'
60
+ - 'lib/fhir_models/bootstrap/generator.rb'
61
+ - 'lib/fhir_models/bootstrap/hashable.rb'
62
+ - 'lib/fhir_models/bootstrap/json.rb'
63
+ - 'lib/fhir_models/bootstrap/model.rb'
64
+ - 'lib/fhir_models/bootstrap/preprocess.rb'
65
+ - 'lib/fhir_models/bootstrap/template.rb'
66
+ - 'lib/fhir_models/bootstrap/xml.rb'
67
+ - 'lib/fhir_models/fhir.rb'
68
+ - 'lib/fhir_models/fhir_ext/structure_definition.rb'
69
+ - 'lib/fhir_models/fhir_ext/structure_definition_finding.rb'
70
+ - 'lib/fhir_models/fluentpath/expression.rb'
71
+ - 'lib/fhir_models/fluentpath/parse.rb'
72
+
73
+ # Offense count: 1
74
+ Style/MethodMissing:
75
+ Exclude:
76
+ - 'lib/fhir_models/bootstrap/model.rb'
@@ -1,10 +1,13 @@
1
1
  language: ruby
2
+ env:
3
+ - TESTMEMORY=0 GCDELAY=2.0
2
4
  rvm:
3
5
  - "2.1.10"
4
- - "2.2.5"
5
- - "2.3.1"
6
+ - "2.2.6"
7
+ - "2.3.3"
8
+ - "2.4.0"
6
9
  script:
7
- - bundle exec rake test
10
+ - bundle exec rake
8
11
  - bundle exec codeclimate-test-reporter
9
12
  notifications:
10
13
  email:
@@ -14,3 +17,6 @@ notifications:
14
17
  addons:
15
18
  code_climate:
16
19
  repo_token: 0230b3379581b30743b7b4355d7394e427648e604d19a2aba987956201eee290
20
+ before_install:
21
+ - gem update --system
22
+ - gem update bundler
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
-
2
+ ruby RUBY_VERSION
3
3
  # Specify your gem's dependencies in fhir_models.gemspec
4
4
  gemspec
@@ -0,0 +1,50 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ # Note: The cmd option is now required due to the increasing number of ways
19
+ # rspec may be run, below are examples of the most common uses.
20
+ # * bundler: 'bundle exec rspec'
21
+ # * bundler binstubs: 'bin/rspec'
22
+ # * spring: 'bin/rspec' (This will use spring if running and you have
23
+ # installed the spring binstubs per the docs)
24
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
25
+ # * 'just' rspec: 'rspec'
26
+
27
+ guard :rspec, cmd: 'bundle exec rspec' do
28
+ require 'guard/rspec/dsl'
29
+ dsl = Guard::RSpec::Dsl.new(self)
30
+
31
+ # Feel free to open issues for suggestions and improvements
32
+
33
+ # RSpec files
34
+ rspec = dsl.rspec
35
+ watch(rspec.spec_helper) { rspec.spec_dir }
36
+ watch(rspec.spec_support) { rspec.spec_dir }
37
+ watch(rspec.spec_files)
38
+
39
+ # Ruby files
40
+ ruby = dsl.ruby
41
+ dsl.watch_spec_files_for(ruby.lib_files)
42
+ end
43
+
44
+ guard :test do
45
+ watch(%r{^test/.+_test\.rb$})
46
+ watch('test/test_helper.rb') { 'test' }
47
+
48
+ # Non-rails
49
+ watch(%r{^lib/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
50
+ end
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rake/testtask'
3
+ require 'rspec/core/rake_task'
3
4
  require 'rubocop/rake_task'
4
5
 
5
6
  Dir['lib/fhir_models/tasks/**/*.rake'].each do |file|
@@ -14,13 +15,11 @@ Rake::TestTask.new(:test) do |t|
14
15
  t.warning = false
15
16
  end
16
17
 
18
+ RSpec::Core::RakeTask.new
19
+
17
20
  desc 'Run rubocop'
18
21
  task :rubocop do
19
22
  RuboCop::RakeTask.new
20
23
  end
21
24
 
22
- task test: [:rubocop] do
23
- system('open coverage/index.html')
24
- end
25
-
26
- task default: [:test]
25
+ task default: %i[rubocop spec test]
@@ -7,8 +7,8 @@ require 'fhir_models'
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
11
- # Pry.start
10
+ require 'pry'
11
+ Pry.start
12
12
 
13
- require 'irb'
14
- IRB.start
13
+ # require 'irb'
14
+ # IRB.start
@@ -25,12 +25,15 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'bcp47', '>= 0.3'
26
26
  spec.add_dependency 'mime-types', '>= 1.16', '< 3'
27
27
 
28
- spec.add_development_dependency 'bundler', '~> 1.13'
29
- spec.add_development_dependency 'rake', '~> 10.0'
28
+ spec.add_development_dependency 'bundler'
29
+ spec.add_development_dependency 'rake'
30
30
  spec.add_development_dependency 'pry'
31
31
  spec.add_development_dependency 'test-unit'
32
+ spec.add_development_dependency 'rspec'
32
33
  spec.add_development_dependency 'simplecov'
33
34
  spec.add_development_dependency 'nokogiri-diff'
34
- spec.add_development_dependency 'rubocop', '~> 0.43.0'
35
+ spec.add_development_dependency 'rubocop'
35
36
  spec.add_development_dependency 'codeclimate-test-reporter'
37
+ spec.add_development_dependency 'guard-rspec'
38
+ spec.add_development_dependency 'guard-test'
36
39
  end
@@ -1,6 +1,7 @@
1
1
  root = File.expand_path '..', File.dirname(File.absolute_path(__FILE__))
2
2
 
3
- require File.join(root, 'lib', 'fhir_models', 'version.rb')
3
+ require File.join(root, 'lib', 'fhir_models', 'version')
4
+ require File.join(root, 'lib', 'fhir_models', 'deprecate')
4
5
 
5
6
  # Need to require Hashable first
6
7
  require File.join(root, 'lib', 'fhir_models', 'bootstrap', 'hashable.rb')
@@ -1,6 +1,7 @@
1
1
  require 'tempfile'
2
2
  module FHIR
3
3
  class Definitions
4
+ extend FHIR::Deprecate
4
5
  @@defns = File.expand_path '../definitions', File.dirname(File.absolute_path(__FILE__))
5
6
  @@types = nil
6
7
  @@resources = nil
@@ -10,125 +11,127 @@ module FHIR
10
11
  @@valuesets = nil
11
12
  @@search_params = nil
12
13
 
14
+ @@cache = {}
15
+
13
16
  # ----------------------------------------------------------------
14
17
  # Types
15
18
  # ----------------------------------------------------------------
16
19
 
17
- def self.load_types
18
- if @@types.nil?
20
+ def self.types
21
+ @@types ||= begin
19
22
  # load the types
20
23
  filename = File.join(@@defns, 'structures', 'profiles-types.json')
21
24
  raw = File.open(filename, 'r:UTF-8', &:read)
22
- @@types = JSON.parse(raw)['entry'].map { |e| e['resource'] }
25
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
23
26
  end
24
27
  end
28
+ deprecate :load_types, :types
29
+ private_class_method :types
25
30
 
26
- def self.get_primitive_types
27
- load_types
31
+ def self.primitive_types
28
32
  # primitive data types start with a lowercase letter
29
- @@types.select { |t| t['id'][0] == t['id'][0].downcase }
33
+ @primitive_types ||= types.select { |t| t['id'].start_with?(*('a'..'z').to_a) }
30
34
  end
35
+ deprecate :get_primitive_types, :primitive_types
31
36
 
32
- def self.get_complex_types
33
- load_types
37
+ def self.complex_types
34
38
  # complex data types start with an uppercase letter
35
39
  # and we'll filter out profiles on types (for example, Age is a profile on Quantity)
36
- @@types.select { |t| (t['id'][0] == t['id'][0].upcase) && (t['id'] == t['snapshot']['element'].first['path']) }
40
+ @complex_types ||= types.select { |t| t['id'].start_with?(*('A'..'Z').to_a) && (t['id'] == t['snapshot']['element'].first['path']) }
37
41
  end
42
+ deprecate :get_complex_types, :complex_types
38
43
 
39
- def self.get_type_definition(type_name)
44
+ def self.type_definition(type_name)
40
45
  return nil if type_name.nil?
41
- load_types
42
- d = @@types.find { |x| x['xmlId'] == type_name || x['name'] == type_name || x['url'] == type_name }
43
- d = FHIR::StructureDefinition.new(d) unless d.nil?
44
- d
46
+ return @@cache[type_name] if @@cache[type_name]
47
+ definition = types.find { |x| x['xmlId'] == type_name || x['name'] == type_name || x['url'] == type_name }
48
+ @@cache[type_name] = FHIR::StructureDefinition.new(definition) if definition
49
+ @@cache[type_name]
45
50
  end
51
+ deprecate :get_type_definition, :type_definition
46
52
 
47
53
  # ----------------------------------------------------------------
48
54
  # Resources, Profiles, Extensions
49
55
  # ----------------------------------------------------------------
50
56
 
51
- def self.load_resources
52
- if @@resources.nil?
57
+ def self.resources
58
+ @@resources ||= begin
53
59
  # load the resources
54
60
  filename = File.join(@@defns, 'structures', 'profiles-resources.json')
55
61
  raw = File.open(filename, 'r:UTF-8', &:read)
56
- @@resources = JSON.parse(raw)['entry'].map { |e| e['resource'] }
62
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
57
63
  end
58
64
  end
65
+ deprecate :load_resources, :resources
66
+ private_class_method :resources
59
67
 
60
- def self.get_resource_definitions
61
- load_resources
62
- @@resources
68
+ def self.resource_definitions
69
+ resources.select { |r| r['kind'] == 'resource' }
63
70
  end
71
+ deprecate :get_resource_definitions, :resource_definitions
64
72
 
65
- def self.get_resource_definition(resource_name)
73
+ def self.resource_definition(resource_name)
66
74
  return nil if resource_name.nil?
67
- load_resources
68
- d = @@resources.find { |x| x['xmlId'] == resource_name || x['name'] == resource_name || x['url'] == resource_name }
69
- d = FHIR::StructureDefinition.new(d) unless d.nil?
70
- d
75
+ return @@cache[resource_name] if @@cache[resource_name]
76
+ definition = resources.find { |x| x['xmlId'] == resource_name || x['name'] == resource_name || x['url'] == resource_name }
77
+ @@cache[resource_name] = FHIR::StructureDefinition.new(definition) if definition
78
+ @@cache[resource_name]
71
79
  end
80
+ deprecate :get_resource_definition, :resource_definition
72
81
 
73
- def self.load_profiles
74
- if @@profiles.nil?
82
+ def self.profiles
83
+ @@profiles ||= begin
75
84
  # load the built-in profiles
76
85
  filename = File.join(@@defns, 'structures', 'profiles-others.json')
77
86
  raw = File.open(filename, 'r:UTF-8', &:read)
78
- @@profiles = JSON.parse(raw)['entry'].map { |e| e['resource'] }
87
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
79
88
  end
80
89
  end
90
+ deprecate :load_profiles, :profiles
91
+ private_class_method :profiles
81
92
 
82
- def self.load_extensions
83
- if @@extensions.nil?
93
+ def self.extensions
94
+ @@extensions ||= begin
84
95
  # load the built-in extensions
85
96
  filename = File.join(@@defns, 'structures', 'extension-definitions.json')
86
97
  raw = File.open(filename, 'r:UTF-8', &:read)
87
- @@extensions = JSON.parse(raw)['entry'].map { |e| e['resource'] }
98
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
88
99
  end
89
100
  end
101
+ deprecate :load_extensions, :extensions
102
+ private_class_method :extensions
90
103
 
91
- def self.get_extension_definition(extension_name)
104
+ def self.extension_definition(extension_name)
92
105
  return nil if extension_name.nil?
93
- load_extensions
94
- d = @@extensions.find { |x| x['xmlId'] == extension_name || x['name'] == extension_name || x['url'] == extension_name }
95
- d = FHIR::StructureDefinition.new(d) unless d.nil?
96
- d
106
+ extension = extensions.find { |x| x['xmlId'] == extension_name || x['name'] == extension_name || x['url'] == extension_name }
107
+ return nil if extension.nil?
108
+ FHIR::StructureDefinition.new(extension)
97
109
  end
110
+ deprecate :get_extension_definition, :extension_definition
98
111
 
99
112
  # Get the basetype (String) for a given profile or extension.
100
- def self.get_basetype(uri)
113
+ def self.basetype(uri)
101
114
  return nil if uri.nil?
102
- load_profiles
103
- load_extensions
104
-
105
- defn = @@profiles.select { |x| x['url'] == uri }.first
106
- defn = @@extensions.select { |x| x['url'] == uri }.first if defn.nil?
107
-
108
- basetype = nil
109
- basetype = defn['baseType'] unless defn.nil?
110
- basetype
115
+ defn = profiles.detect { |x| x['url'] == uri } || extensions.detect { |x| x['url'] == uri }
116
+ return nil if defn.nil?
117
+ defn['baseType']
111
118
  end
119
+ deprecate :get_basetype, :basetype
112
120
 
113
121
  # Get the StructureDefinition for a given profile.
114
- def self.get_profile(uri)
122
+ def self.profile(uri)
115
123
  return nil if uri.nil?
116
- load_profiles
117
- load_extensions
118
-
119
- defn = @@profiles.select { |x| x['url'] == uri }.first
120
- defn = @@extensions.select { |x| x['url'] == uri }.first if defn.nil?
121
-
122
- profile = nil
123
- profile = FHIR::StructureDefinition.new(defn) unless defn.nil?
124
- profile
124
+ defn = profiles.detect { |x| x['url'] == uri } || extensions.detect { |x| x['url'] == uri }
125
+ return nil if defn.nil?
126
+ FHIR::StructureDefinition.new(defn)
125
127
  end
128
+ deprecate :get_profile, :profile
126
129
 
127
- def self.get_profiles_for_resource(resource_name)
130
+ def self.profiles_for_resource(resource_name)
128
131
  return nil if resource_name.nil?
129
- load_profiles
130
- @@profiles.select { |x| x['baseType'] == resource_name }.map { |x| FHIR::StructureDefinition.new(x) }
132
+ profiles.select { |x| x['baseType'] == resource_name }.map { |x| FHIR::StructureDefinition.new(x) }
131
133
  end
134
+ deprecate :get_profiles_for_resource, :profile_for_resource
132
135
 
133
136
  # Get a dynamically generated class for a given profile.
134
137
  def self.get_profile_class(uri)
@@ -171,66 +174,69 @@ module FHIR
171
174
  # ValueSet Code Expansions
172
175
  # ----------------------------------------------------------------
173
176
 
174
- def self.load_expansions
175
- if @@expansions.nil?
177
+ def self.expansions
178
+ @@expansions ||= begin
176
179
  # load the expansions
177
180
  filename = File.join(@@defns, 'valuesets', 'expansions.json')
178
181
  raw = File.open(filename, 'r:UTF-8', &:read)
179
- @@expansions = JSON.parse(raw)['entry'].map { |e| e['resource'] }
182
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
180
183
  end
181
- if @@valuesets.nil?
184
+ end
185
+ deprecate :load_expansions, :expansions
186
+
187
+ def self.valuesets
188
+ @@valuesets ||= begin
182
189
  # load the valuesets
183
190
  filename = File.join(@@defns, 'valuesets', 'valuesets.json')
184
191
  raw = File.open(filename, 'r:UTF-8', &:read)
185
- @@valuesets = JSON.parse(raw)['entry'].map { |e| e['resource'] }
192
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
186
193
  end
187
194
  end
188
195
 
189
196
  # Get codes (Array of Strings) for a given expansion.
190
197
  def self.get_codes(uri)
191
198
  return nil if uri.nil?
192
- load_expansions
193
- codes = nil
194
- valueset = @@expansions.select { |x| x['url'] == uri }.first
199
+ return @@cache[uri] if @@cache[uri]
200
+ valueset = expansions.select { |x| x['url'] == uri }.first
195
201
  unless valueset.nil?
196
- codes = {}
202
+ @@cache[uri] = {}
197
203
  if !valueset['expansion'].nil? && !valueset['expansion']['contains'].nil?
198
204
  keys = valueset['expansion']['contains'].map { |x| x['system'] }.uniq
199
- keys.each { |x| codes[x] = [] }
200
- valueset['expansion']['contains'].each { |x| codes[x['system']] << x['code'] }
205
+ keys.each { |x| @@cache[uri][x] = [] }
206
+ valueset['expansion']['contains'].each { |x| @@cache[uri][x['system']] << x['code'] }
201
207
  end
202
208
  if !valueset['compose'].nil? && !valueset['compose']['include'].nil?
203
209
  included_systems = valueset['compose']['include'].map { |x| x['system'] }.uniq
204
- included_systems.each { |x| codes[x] = [] unless codes.keys.include?(x) }
205
- systems = @@valuesets.select { |x| x['resourceType'] == 'CodeSystem' && included_systems.include?(x['url']) }
210
+ included_systems.each { |x| @@cache[uri][x] = [] unless @@cache[uri].keys.include?(x) }
211
+ systems = valuesets.select { |x| x['resourceType'] == 'CodeSystem' && included_systems.include?(x['url']) }
206
212
  systems.each do |x|
207
- x['concept'].each { |y| codes[x['url']] << y['code'] } if x['concept']
213
+ x['concept'].each { |y| @@cache[uri][x['url']] << y['code'] } if x['concept']
208
214
  end
209
215
  end
210
216
  end
211
- codes
217
+ @@cache[uri]
212
218
  end
213
219
 
214
220
  # Get the "display" (human-readable title) for a given code in a code system (uri)
215
221
  # If one can't be found, return nil
216
222
  def self.get_display(uri, code)
217
223
  return nil if uri.nil? || code.nil?
218
- load_expansions
219
- valuesets = @@expansions.select { |x| x['compose']['include'].detect {|i| i['system'] == uri } }
220
- valuesets += @@valuesets.select { |x| x['url'] == uri }
224
+ valuesets_and_expansions = expansions.select { |ex| ex['compose']['include'].detect { |i| i['system'] == uri } }
225
+ valuesets_and_expansions += valuesets.select { |vs| vs['url'] == uri }
221
226
  code_hash = nil
222
- valuesets.each do |valueset|
223
- if !valueset['expansion'].nil? && !valueset['expansion']['contains'].nil?
224
- code_hash = valueset['expansion']['contains'].select { |x| x['system'] == uri && x['code'] == code}.first
225
- elsif !valueset['compose'].nil? && !valueset['compose']['include'].nil?
226
- included_systems = valueset['compose']['include'].map { |x| x['system'] }.uniq
227
- systems = @@valuesets.select { |x| x['resourceType'] == 'CodeSystem' && included_systems.include?(x['url']) }
228
- systems.each do |x|
229
- code_hash = x['concept'].select { |con| con['url'] == uri && con['code'] == code }.first if x['concept']
227
+ valuesets_and_expansions.each do |valueset|
228
+ if valueset['expansion'] && valueset['expansion']['contains']
229
+ # This currently only matches 'expansions', not 'valuesets'
230
+ code_hash = valueset['expansion']['contains'].detect { |contained| contained['system'] == uri && contained['code'] == code }
231
+ elsif valueset['compose'] && valueset['compose']['include']
232
+ # This seems to only match 'valuesets'
233
+ valueset['compose']['include'].each do |code_system|
234
+ code_hash = code_system['concept'].detect { |con| con['code'] == code } if code_system['concept']
230
235
  break if code_hash
231
236
  end
232
237
  elsif valueset['concept']
233
- code_hash = valueset['concept'].select { |v| v['code'] == code }.first
238
+ # This currently only matches 'valuesets', not 'expansions'
239
+ code_hash = valueset['concept'].detect { |vs| vs['code'] == code }
234
240
  end
235
241
  break if code_hash
236
242
  end
@@ -241,21 +247,21 @@ module FHIR
241
247
  # Search Params
242
248
  # ----------------------------------------------------------------
243
249
 
244
- def self.load_search_params
245
- if @@search_params.nil?
250
+ def self.search_params
251
+ @@search_params ||= begin
246
252
  # load the search parameters
247
253
  filename = File.join(@@defns, 'structures', 'search-parameters.json')
248
254
  raw = File.open(filename, 'r:UTF-8', &:read)
249
- @@search_params = JSON.parse(raw)['entry'].map { |e| e['resource'] }
255
+ JSON.parse(raw)['entry'].map { |e| e['resource'] }
250
256
  end
251
257
  end
258
+ deprecate :load_search_params, :search_params
259
+ private_class_method :search_params
252
260
 
253
- def self.get_search_parameters(type_name)
261
+ def self.search_parameters(type_name)
254
262
  return nil if type_name.nil?
255
- load_search_params
256
- @@search_params.select { |p| p['base'].include?(type_name) && p['xpath'] && !p['xpath'].include?('extension') }.map { |p| p['code'] }
263
+ search_params.select { |p| p['base'].include?(type_name) && p['xpath'] && !p['xpath'].include?('extension') }.map { |p| p['code'] }
257
264
  end
258
-
259
- private_class_method :load_types, :load_extensions, :load_expansions, :load_profiles, :load_resources, :load_search_params
265
+ deprecate :get_search_parameters, :search_parameters
260
266
  end
261
267
  end