fhir_client 1.6.3 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +34 -0
  3. data/.csslintrc +2 -0
  4. data/.eslintignore +1 -0
  5. data/.eslintrc +213 -0
  6. data/.rubocop.yml +1159 -0
  7. data/.travis.yml +8 -0
  8. data/Gemfile +5 -5
  9. data/Rakefile +14 -13
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/fhir_client.gemspec +34 -21
  13. data/lib/fhir_client.rb +13 -18
  14. data/lib/fhir_client/client.rb +533 -0
  15. data/lib/{client_exception.rb → fhir_client/client_exception.rb} +1 -3
  16. data/lib/{ext → fhir_client/ext}/bundle.rb +5 -7
  17. data/lib/{ext → fhir_client/ext}/model.rb +10 -2
  18. data/lib/fhir_client/ext/reference.rb +28 -0
  19. data/lib/{fhir_api_validation.json → fhir_client/fhir_api_validation.json} +0 -0
  20. data/lib/{model → fhir_client/model}/client_reply.rb +47 -51
  21. data/lib/{model → fhir_client/model}/tag.rb +6 -7
  22. data/lib/fhir_client/patch_format.rb +8 -0
  23. data/lib/{resource_address.rb → fhir_client/resource_address.rb} +135 -139
  24. data/lib/fhir_client/resource_format.rb +11 -0
  25. data/lib/{sections → fhir_client/sections}/crud.rb +28 -30
  26. data/lib/{sections → fhir_client/sections}/feed.rb +1 -4
  27. data/lib/{sections → fhir_client/sections}/history.rb +14 -15
  28. data/lib/{sections → fhir_client/sections}/operations.rb +22 -28
  29. data/lib/fhir_client/sections/search.rb +52 -0
  30. data/lib/{sections → fhir_client/sections}/tags.rb +12 -12
  31. data/lib/{sections → fhir_client/sections}/transactions.rb +17 -20
  32. data/lib/{sections → fhir_client/sections}/validate.rb +12 -15
  33. data/lib/{tasks → fhir_client/tasks}/tasks.rake +19 -18
  34. data/lib/fhir_client/version.rb +5 -0
  35. metadata +127 -83
  36. data/lib/client_interface.rb +0 -533
  37. data/lib/ext/reference.rb +0 -11
  38. data/lib/patch_format.rb +0 -10
  39. data/lib/resource_format.rb +0 -13
  40. data/lib/sections/search.rb +0 -53
  41. data/test/fixtures/bundle-example.xml +0 -79
  42. data/test/fixtures/parameters-example.json +0 -18
  43. data/test/fixtures/parameters-example.xml +0 -17
  44. data/test/test_helper.rb +0 -8
  45. data/test/unit/basic_test.rb +0 -17
  46. data/test/unit/bundle_test.rb +0 -21
  47. data/test/unit/parameters_test.rb +0 -44
@@ -0,0 +1,11 @@
1
+ module FHIR
2
+ module Formats
3
+ class ResourceFormat
4
+ RESOURCE_XML = 'application/fhir+xml'.freeze
5
+ RESOURCE_JSON = 'application/fhir+json'.freeze
6
+
7
+ RESOURCE_XML_DSTU2 = 'application/xml+fhir'.freeze
8
+ RESOURCE_JSON_DSTU2 = 'application/json+fhir'.freeze
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,10 @@
1
1
  module FHIR
2
2
  module Sections
3
3
  module Crud
4
-
5
4
  #
6
5
  # Read the current state of a resource.
7
6
  #
8
- def read(klass, id, format=@default_format, summary=nil, options = {})
7
+ def read(klass, id, format = @default_format, summary = nil, options = {})
9
8
  options = { resource: klass, id: id, format: format }.merge(options)
10
9
  options[:summary] = summary if summary
11
10
  reply = get resource_url(options), fhir_headers(options)
@@ -17,7 +16,7 @@ module FHIR
17
16
  #
18
17
  # Read a resource bundle (an XML ATOM feed)
19
18
  #
20
- def read_feed(klass, format=@default_format)
19
+ def read_feed(klass, format = @default_format)
21
20
  options = { resource: klass, format: format }
22
21
  reply = get resource_url(options), fhir_headers(options)
23
22
  reply.resource = parse_reply(klass, format, reply)
@@ -28,8 +27,8 @@ module FHIR
28
27
  #
29
28
  # Read the state of a specific version of the resource
30
29
  #
31
- def vread(klass, id, version_id, format=@default_format)
32
- options = { resource: klass, id: id, format: format, history: {id: version_id} }
30
+ def vread(klass, id, version_id, format = @default_format)
31
+ options = { resource: klass, id: id, format: format, history: { id: version_id } }
33
32
  reply = get resource_url(options), fhir_headers(options)
34
33
  reply.resource = parse_reply(klass, format, reply)
35
34
  reply.resource_class = klass
@@ -49,22 +48,22 @@ module FHIR
49
48
  #
50
49
  # Update an existing resource by its id or create it if it is a new resource, not present on the server
51
50
  #
52
- def update(resource, id, format=@default_format)
51
+ def update(resource, id, format = @default_format)
53
52
  base_update(resource, id, nil, format)
54
53
  end
55
54
 
56
55
  #
57
56
  # Update an existing resource by its id or create it if it is a new resource, not present on the server
58
57
  #
59
- def conditional_update(resource, id, searchParams, format=@default_format)
58
+ def conditional_update(resource, id, search_params, format = @default_format)
60
59
  options = {
61
- :search => {
62
- :flag => false,
63
- :compartment => nil,
64
- :parameters => {}
60
+ search: {
61
+ flag: false,
62
+ compartment: nil,
63
+ parameters: {}
65
64
  }
66
65
  }
67
- searchParams.each do |key,value|
66
+ search_params.each do |key, value|
68
67
  options[:search][:parameters][key] = value
69
68
  end
70
69
  base_update(resource, id, options, format)
@@ -87,13 +86,13 @@ module FHIR
87
86
  #
88
87
  # Partial update using a patchset (PATCH)
89
88
  #
90
- def partial_update(klass, id, patchset, options={}, format=@default_format)
89
+ def partial_update(klass, id, patchset, options = {}, format = @default_format)
91
90
  options = { resource: klass, id: id, format: format }.merge options
92
91
 
93
- if (format == FHIR::Formats::ResourceFormat::RESOURCE_XML)
92
+ if format == FHIR::Formats::ResourceFormat::RESOURCE_XML
94
93
  options[:format] = FHIR::Formats::PatchFormat::PATCH_XML
95
94
  options[:Accept] = format
96
- elsif (format == FHIR::Formats::ResourceFormat::RESOURCE_JSON)
95
+ elsif format == FHIR::Formats::ResourceFormat::RESOURCE_JSON
97
96
  options[:format] = FHIR::Formats::PatchFormat::PATCH_JSON
98
97
  options[:Accept] = format
99
98
  end
@@ -107,7 +106,7 @@ module FHIR
107
106
  #
108
107
  # Delete the resource with the given ID.
109
108
  #
110
- def destroy(klass, id=nil, options={})
109
+ def destroy(klass, id = nil, options = {})
111
110
  options = { resource: klass, id: id, format: nil }.merge options
112
111
  reply = delete resource_url(options), fhir_headers(options)
113
112
  reply.resource_class = klass
@@ -118,17 +117,17 @@ module FHIR
118
117
  # Create a new resource with a server assigned id. Return the newly created
119
118
  # resource with the id the server assigned.
120
119
  #
121
- def create(resource, format=@default_format)
122
- base_create(resource, nil ,format)
120
+ def create(resource, format = @default_format)
121
+ base_create(resource, nil, format)
123
122
  end
124
123
 
125
124
  #
126
125
  # Conditionally create a new resource with a server assigned id.
127
126
  #
128
- def conditional_create(resource, ifNoneExistParameters, format=@default_format)
127
+ def conditional_create(resource, if_none_exist_parameters, format = @default_format)
129
128
  query = ''
130
- ifNoneExistParameters.each do |key,value|
131
- query += "#{key.to_s}=#{value.to_s}&"
129
+ if_none_exist_parameters.each do |key, value|
130
+ query += "#{key}=#{value}&"
132
131
  end
133
132
  query = query[0..-2] # strip off the trailing ampersand
134
133
  options = {}
@@ -145,16 +144,16 @@ module FHIR
145
144
  options[:resource] = resource.class
146
145
  options[:format] = format
147
146
  reply = post resource_url(options), resource, fhir_headers(options)
148
- if [200,201].include? reply.code
147
+ if [200, 201].include? reply.code
149
148
  type = reply.response[:headers][:content_type]
150
149
  if !type.nil?
151
- if type.include?('xml') && !reply.body.empty?
152
- reply.resource = resource.class.from_xml(reply.body)
153
- elsif type.include?('json') && !reply.body.empty?
154
- reply.resource = resource.class.from_fhir_json(reply.body)
155
- else
156
- reply.resource = resource # just send back the submitted resource
157
- end
150
+ reply.resource = if type.include?('xml') && !reply.body.empty?
151
+ resource.class.from_xml(reply.body)
152
+ elsif type.include?('json') && !reply.body.empty?
153
+ resource.class.from_fhir_json(reply.body)
154
+ else
155
+ resource # just send back the submitted resource
156
+ end
158
157
  else
159
158
  resource.id = FHIR::ResourceAddress.pull_out_id(resource.class.name.demodulize, reply.response[:headers]['location'])
160
159
  reply.resource = resource # don't know the content type, so return the resource provided
@@ -167,7 +166,6 @@ module FHIR
167
166
  reply.resource_class = resource.class
168
167
  reply
169
168
  end
170
-
171
169
  end
172
170
  end
173
171
  end
@@ -1,13 +1,12 @@
1
1
  module FHIR
2
2
  module Sections
3
3
  module Feed
4
-
5
4
  FORWARD = :next_link
6
5
  BACKWARD = :previous_link
7
6
  FIRST = :first_link
8
7
  LAST = :last_link
9
8
 
10
- def next_page(current, page=FORWARD)
9
+ def next_page(current, page = FORWARD)
11
10
  bundle = current.resource
12
11
  link = bundle.method(page).call
13
12
  return nil unless link
@@ -16,8 +15,6 @@ module FHIR
16
15
  reply.resource_class = current.resource_class
17
16
  reply
18
17
  end
19
-
20
-
21
18
  end
22
19
  end
23
20
  end
@@ -15,13 +15,13 @@ module FHIR
15
15
  # Retrieve the update history for a resource with given id since last update time.
16
16
  # Last update may be null TODO - ensure this is the case.
17
17
  #
18
- # @param lastUpdate
18
+ # @param last_update
19
19
  # @param resourceClass
20
20
  # @param id
21
21
  # @return
22
22
  #
23
- # public <T extends Resource> AtomFeed history(Calendar lastUpdate, Class<T> resourceClass, String id);
24
- # public <T extends Resource> AtomFeed history(DateAndTime lastUpdate, Class<T> resourceClass, String id);
23
+ # public <T extends Resource> AtomFeed history(Calendar last_update, Class<T> resourceClass, String id);
24
+ # public <T extends Resource> AtomFeed history(DateAndTime last_update, Class<T> resourceClass, String id);
25
25
 
26
26
  def history(options)
27
27
  reply = get resource_url(options), fhir_headers(options).except(:history)
@@ -36,43 +36,42 @@ module FHIR
36
36
  #
37
37
  # @param resourceClass
38
38
  # @param id
39
- # @param lastUpdate
39
+ # @param last_update
40
40
  # @return
41
41
  #
42
- def resource_instance_history_as_of(klass, id, lastUpdate)
43
- history(resource: klass, id: id, history:{since: lastUpdate})
42
+ def resource_instance_history_as_of(klass, id, last_update)
43
+ history(resource: klass, id: id, history: { since: last_update })
44
44
  end
45
45
 
46
46
  def resource_instance_history(klass, id)
47
- history(resource: klass, id: id, history:{})
47
+ history(resource: klass, id: id, history: {})
48
48
  end
49
49
 
50
50
  def resource_history(klass)
51
- history(resource: klass, history:{})
51
+ history(resource: klass, history: {})
52
52
  end
53
53
 
54
- def resource_history_as_of(klass, lastUpdate)
55
- history(resource: klass, history:{since: lastUpdate})
54
+ def resource_history_as_of(klass, last_update)
55
+ history(resource: klass, history: { since: last_update })
56
56
  end
57
57
 
58
58
  #
59
59
  # Retrieve the update history for all resource types since the start of server records.
60
60
  #
61
61
  def all_history
62
- history(history:{})
62
+ history(history: {})
63
63
  end
64
64
 
65
65
  #
66
66
  # Retrieve the update history for all resource types since a specific last update date/time.
67
67
  #
68
68
  # Note:
69
- # @param lastUpdate
69
+ # @param last_update
70
70
  # @return
71
71
  #
72
- def all_history_as_of(lastUpdate)
73
- history(history:{since: lastUpdate})
72
+ def all_history_as_of(last_update)
73
+ history(history: { since: last_update })
74
74
  end
75
-
76
75
  end
77
76
  end
78
77
  end
@@ -1,7 +1,6 @@
1
1
  module FHIR
2
2
  module Sections
3
3
  module Operations
4
-
5
4
  # DSTU 2 Operations: http://hl7.org/implement/standards/FHIR-Develop/operations.html
6
5
 
7
6
  # Concept Translation [base]/ConceptMap/$translate | [base]/ConceptMap/[id]/$translate
@@ -11,34 +10,32 @@ module FHIR
11
10
  # Fetch Patient Record [base]/Patient/$everything | [base]/Patient/[id]/$everything
12
11
  # http://hl7.org/implement/standards/FHIR-Develop/patient-operations.html#everything
13
12
  # Fetches resources for a given patient record, scoped by a start and end time, and returns a Bundle of results
14
- def fetch_patient_record(id=nil, startTime=nil, endTime=nil, method='GET', format=@default_format)
15
- fetch_record(id,startTime,endTime,method,FHIR::Patient,format)
13
+ def fetch_patient_record(id = nil, startTime = nil, endTime = nil, method = 'GET', format = @default_format)
14
+ fetch_record(id, [startTime, endTime], method, FHIR::Patient, format)
16
15
  end
17
16
 
18
- def fetch_encounter_record(id=nil, method='GET', format=@default_format)
19
- fetch_record(id,nil,nil,method,FHIR::Encounter,format)
17
+ def fetch_encounter_record(id = nil, method = 'GET', format = @default_format)
18
+ fetch_record(id, [nil, nil], method, FHIR::Encounter, format)
20
19
  end
21
20
 
22
- def fetch_record(id=nil, startTime=nil, endTime=nil, method='GET', klass=FHIR::Patient, format=@default_format)
21
+ def fetch_record(id = nil, time = [nil, nil], method = 'GET', klass = FHIR::Patient, format = @default_format)
23
22
  options = { resource: klass, format: format, operation: { name: :fetch_patient_record, method: method } }
24
- options.deep_merge!({id: id}) if !id.nil?
23
+ options.deep_merge!(id: id) unless id.nil?
25
24
  options[:operation][:parameters] = {} if options[:operation][:parameters].nil?
26
- options[:operation][:parameters].merge!({start: { type: 'Date', value: startTime}}) if !startTime.nil?
27
- options[:operation][:parameters].merge!({end: { type: 'Date', value:endTime}}) if !endTime.nil?
25
+ options[:operation][:parameters][:start] = { type: 'Date', value: time.first } unless time.first.nil?
26
+ options[:operation][:parameters][:end] = { type: 'Date', value: time.last } unless time.last.nil?
28
27
 
29
- if options[:operation][:method]=='GET'
28
+ if options[:operation][:method] == 'GET'
30
29
  reply = get resource_url(options), fhir_headers(options)
31
30
  else
32
31
  # create Parameters body
33
- body = nil
34
- if(options[:operation] && options[:operation][:parameters])
32
+ if options[:operation] && options[:operation][:parameters]
35
33
  p = FHIR::Parameters.new
36
- options[:operation][:parameters].each do |key,value|
34
+ options[:operation][:parameters].each do |key, value|
37
35
  parameter = FHIR::Parameters::Parameter.new.from_hash(name: key.to_s)
38
36
  parameter.method("value#{value[:type]}=").call(value[:value])
39
37
  p.parameter << parameter
40
38
  end
41
- body = p.to_xml
42
39
  end
43
40
  reply = post resource_url(options), p, fhir_headers(options)
44
41
  end
@@ -55,7 +52,7 @@ module FHIR
55
52
  # Value Set Expansion [base]/ValueSet/$expand | [base]/ValueSet/[id]/$expand
56
53
  # http://hl7.org/implement/standards/FHIR-Develop/valueset-operations.html#expand
57
54
  # The definition of a value set is used to create a simple collection of codes suitable for use for data entry or validation.
58
- def value_set_expansion(params={}, format=@default_format)
55
+ def value_set_expansion(params = {}, format = @default_format)
59
56
  options = { resource: FHIR::ValueSet, operation: { name: :value_set_expansion } }
60
57
  options.deep_merge!(params)
61
58
  terminology_operation(options, format)
@@ -64,51 +61,49 @@ module FHIR
64
61
  # Value Set based Validation [base]/ValueSet/$validate | [base]/ValueSet/[id]/$validate
65
62
  # http://hl7.org/implement/standards/FHIR-Develop/valueset-operations.html#validate
66
63
  # Validate that a coded value is in the set of codes allowed by a value set.
67
- def value_set_code_validation(params={}, format=@default_format)
68
- options = { resource: FHIR::ValueSet, operation: { name: :value_set_based_validation } }
64
+ def value_set_code_validation(params = {}, format = @default_format)
65
+ options = { resource: FHIR::ValueSet, operation: { name: :value_set_based_validation } }
69
66
  options.deep_merge!(params)
70
67
  terminology_operation(options, format)
71
68
  end
72
69
 
73
70
  # Concept Look Up [base]/CodeSystem/$lookup
74
- def code_system_lookup(params={}, format=@default_format)
71
+ def code_system_lookup(params = {}, format = @default_format)
75
72
  options = { resource: FHIR::CodeSystem, operation: { name: :code_system_lookup } }
76
73
  options.deep_merge!(params)
77
74
  terminology_operation(options, format)
78
75
  end
79
76
 
80
77
  # ConceptMap Translation
81
- def concept_map_translate(params={}, format=@default_format)
78
+ def concept_map_translate(params = {}, format = @default_format)
82
79
  options = { resource: FHIR::ConceptMap, operation: { name: :concept_map_translate } }
83
80
  options.deep_merge!(params)
84
81
  terminology_operation(options, format)
85
82
  end
86
83
 
87
84
  # ConceptMap Closure Table Maintenance
88
- def closure_table_maintenance(params={}, format=@default_format)
85
+ def closure_table_maintenance(params = {}, format = @default_format)
89
86
  options = { operation: { name: :closure_table_maintenance } }
90
87
  options.deep_merge!(params)
91
- terminology_operation(options, format)
88
+ terminology_operation(options, format)
92
89
  end
93
90
 
94
- def terminology_operation(params={}, format=@default_format)
91
+ def terminology_operation(params = {}, format = @default_format)
95
92
  options = { format: format }
96
93
  # params = [id, code, system, version, display, coding, codeableConcept, date, abstract]
97
94
  options.deep_merge!(params)
98
95
 
99
- if options[:operation][:method]=='GET'
96
+ if options[:operation][:method] == 'GET'
100
97
  reply = get resource_url(options), fhir_headers(options)
101
98
  else
102
99
  # create Parameters body
103
- body = nil
104
- if(options[:operation] && options[:operation][:parameters])
100
+ if options[:operation] && options[:operation][:parameters]
105
101
  p = FHIR::Parameters.new
106
- options[:operation][:parameters].each do |key,value|
102
+ options[:operation][:parameters].each do |key, value|
107
103
  parameter = FHIR::Parameters::Parameter.new.from_hash(name: key.to_s)
108
104
  parameter.method("value#{value[:type]}=").call(value[:value])
109
105
  p.parameter << parameter
110
106
  end
111
- body = p.to_xml
112
107
  end
113
108
  reply = post resource_url(options), p, fhir_headers(options)
114
109
  end
@@ -119,7 +114,6 @@ module FHIR
119
114
  end
120
115
 
121
116
  # Batch Mode Validation [base]/ValueSet/$batch
122
-
123
117
  end
124
118
  end
125
119
  end
@@ -0,0 +1,52 @@
1
+ module FHIR
2
+ module Sections
3
+ module Search
4
+ #
5
+ # Search a set of resources of a given type.
6
+ #
7
+ # @param klass The type of resource to be searched.
8
+ # @param options A hash of options used to construct the search query.
9
+ # @return FHIR::ClientReply
10
+ #
11
+ def search(klass, options = {}, format = @default_format)
12
+ options[:resource] = klass
13
+ options[:format] = format
14
+
15
+ reply = if options[:search] && options[:search][:flag]
16
+ post resource_url(options), nil, fhir_headers(options)
17
+ else
18
+ get resource_url(options), fhir_headers(options)
19
+ end
20
+ # reply = get resource_url(options), fhir_headers(options)
21
+ reply.resource = parse_reply(klass, format, reply)
22
+ reply.resource_class = klass
23
+ reply
24
+ end
25
+
26
+ def search_existing(klass, id, options = {}, format = @default_format)
27
+ options.merge!(resource: klass, id: id, format: format)
28
+ # if options[:search][:flag]
29
+ reply = if options[:search] && options[:search][:flag]
30
+ post resource_url(options), nil, fhir_headers(options)
31
+ else
32
+ get resource_url(options), fhir_headers(options)
33
+ end
34
+ reply.resource = parse_reply(klass, format, reply)
35
+ reply.resource_class = klass
36
+ reply
37
+ end
38
+
39
+ def search_all(options = {}, format = @default_format)
40
+ options[:format] = format
41
+ reply = if options[:search] && options[:search][:flag]
42
+ post resource_url(options), nil, fhir_headers(options)
43
+ else
44
+ get resource_url(options), fhir_headers(options)
45
+ end
46
+ reply.resource = parse_reply(nil, format, reply)
47
+ reply.resource_class = nil
48
+ reply
49
+ end
50
+ end
51
+ end
52
+ end
@@ -2,50 +2,50 @@ module FHIR
2
2
  module Sections
3
3
  module Tags
4
4
  #
5
- # Get a list of all tags on server
6
- #
5
+ # Get a list of all tags on server
6
+ #
7
7
  # GET [base]/_tags
8
8
  #
9
9
  # public List<AtomCategory> getAllTags();
10
10
 
11
11
  #
12
- # Get a list of all tags used for the nominated resource type
13
- #
12
+ # Get a list of all tags used for the nominated resource type
13
+ #
14
14
  # GET [base]/[type]/_tags
15
15
  #
16
16
  # public <T extends Resource> List<AtomCategory> getAllTagsForResourceType(Class<T> resourceClass);
17
17
 
18
18
  #
19
- # Get a list of all tags affixed to the nominated resource. This duplicates the HTTP header entries
20
- #
19
+ # Get a list of all tags affixed to the nominated resource. This duplicates the HTTP header entries
20
+ #
21
21
  # GET [base]/[type]/[id]/_tags
22
22
  #
23
23
  # public <T extends Resource> List<AtomCategory> getTagsForResource(Class<T> resource, String id);
24
24
 
25
25
  #
26
26
  # Get a list of all tags affixed to the nominated version of the resource. This duplicates the HTTP header entries
27
- #
27
+ #
28
28
  # GET [base]/[type]/[id]/_history/[vid]/_tags
29
29
  #
30
30
  # public <T extends Resource> List<AtomCategory> getTagsForResourceVersion(Class<T> resource, String id, String versionId);
31
31
 
32
32
  #
33
33
  # Remove all tags in the provided list from the list of tags for the nominated resource
34
- #
34
+ #
35
35
  # DELETE [base]/[type]/[id]/_tags
36
36
  #
37
37
  # //public <T extends Resource> boolean deleteTagsForResource(Class<T> resourceClass, String id);
38
38
 
39
39
  #
40
40
  # Remove tags in the provided list from the list of tags for the nominated version of the resource
41
- #
41
+ #
42
42
  # DELETE [base]/[type]/[id]/_history/[vid]/_tags
43
43
  #
44
44
  # public <T extends Resource> List<AtomCategory> deleteTags(List<AtomCategory> tags, Class<T> resourceClass, String id, String version);
45
45
 
46
46
  #
47
47
  # Affix tags in the list to the nominated resource
48
- #
48
+ #
49
49
  # POST [base]/[type]/[id]/_tags
50
50
  # @return
51
51
  #
@@ -53,9 +53,9 @@ module FHIR
53
53
 
54
54
  #
55
55
  # Affix tags in the list to the nominated version of the resource
56
- #
56
+ #
57
57
  # POST [base]/[type]/[id]/_history/[vid]/_tags
58
- #
58
+ #
59
59
  # @return
60
60
  #
61
61
  # public <T extends Resource> List<AtomCategory> createTags(List<AtomCategory> tags, Class<T> resourceClass, String id, String version);